Do not generate 'isFoo()' methods
[mdsal.git] / binding / mdsal-binding-dom-adapter / src / main / java / org / opendaylight / mdsal / binding / dom / adapter / BindingDOMDataTreeProducerAdapter.java
index 6cf6d02a5c16f31b7e7c2c9a307ce2bb7090e3be..57a239ab2e8fa62ec0139770a0cc9caab3b4c4fb 100644 (file)
@@ -7,57 +7,41 @@
  */
 package org.opendaylight.mdsal.binding.dom.adapter;
 
-import com.google.common.base.Preconditions;
 import java.util.Collection;
+import org.opendaylight.mdsal.binding.api.CursorAwareWriteTransaction;
 import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
 import org.opendaylight.mdsal.binding.api.DataTreeProducer;
 import org.opendaylight.mdsal.binding.api.DataTreeProducerException;
-import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeCursorAwareTransaction;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeProducer;
-import org.opendaylight.mdsal.dom.api.DOMDataTreeProducerBusyException;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeProducerException;
-import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
 
-class BindingDOMDataTreeProducerAdapter implements DataTreeProducer {
-
-    private final DOMDataTreeProducer delegate;
-    private final BindingToNormalizedNodeCodec codec;
-
-    protected BindingDOMDataTreeProducerAdapter(final DOMDataTreeProducer delegate,
-            final BindingToNormalizedNodeCodec codec) {
-        super();
-        this.delegate = Preconditions.checkNotNull(delegate);
-        this.codec = codec;
+final class BindingDOMDataTreeProducerAdapter extends AbstractBindingAdapter<DOMDataTreeProducer>
+        implements DataTreeProducer {
+    BindingDOMDataTreeProducerAdapter(final AdapterContext adapterContext, final DOMDataTreeProducer delegate) {
+        super(adapterContext, delegate);
     }
 
     @Override
-    public WriteTransaction createTransaction(final boolean isolated) {
-        final DOMDataTreeWriteTransaction domTx = delegate.createTransaction(isolated);
-        return new BindingDOMWriteTransactionAdapter<DOMDataTreeWriteTransaction>(domTx, codec);
-    }
-
-    static DataTreeProducer create(final DOMDataTreeProducer domProducer,
-            final BindingToNormalizedNodeCodec codec) {
-        return new BindingDOMDataTreeProducerAdapter(domProducer, codec);
+    public CursorAwareWriteTransaction createTransaction(final boolean isolated) {
+        final DOMDataTreeCursorAwareTransaction domTx = getDelegate().createTransaction(isolated);
+        return new BindingDOMCursorAwareWriteTransactionAdapter<>(adapterContext(), domTx);
     }
 
     @Override
     public DataTreeProducer createProducer(final Collection<DataTreeIdentifier<?>> subtrees) {
-        final Collection<DOMDataTreeIdentifier> domSubtrees = codec.toDOMDataTreeIdentifiers(subtrees);
-        final DOMDataTreeProducer domChildProducer = delegate.createProducer(domSubtrees);
-        return BindingDOMDataTreeProducerAdapter.create(domChildProducer, codec);
+        final Collection<DOMDataTreeIdentifier> domSubtrees = currentSerializer().toDOMDataTreeIdentifiers(subtrees);
+        final DOMDataTreeProducer domChildProducer = getDelegate().createProducer(domSubtrees);
+        return new BindingDOMDataTreeProducerAdapter(adapterContext(), domChildProducer);
     }
 
     @Override
     public void close() throws DataTreeProducerException {
         try {
-            delegate.close();
-        } catch (final DOMDataTreeProducerBusyException e) {
-            throw new DataTreeProducerException(e.getMessage(), e);
+            getDelegate().close();
         } catch (final DOMDataTreeProducerException e) {
             throw new DataTreeProducerException(e.getMessage(), e);
         }
     }
-
 }