X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fbinding%2Fimpl%2FForwardedBindingDataBroker.java;h=bba1747e7c4b8b1ebda8ce4f64764d796c3f8f3c;hp=ef66d80ed445b1e323dc5c2ad770236e42eb64a8;hb=0dcdc14a4ff38b39fed0d07658941a09a4c043fd;hpb=b55b98c40f0dd78c192ab872aea283832460a335 diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/ForwardedBindingDataBroker.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/ForwardedBindingDataBroker.java index ef66d80ed4..bba1747e7c 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/ForwardedBindingDataBroker.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/ForwardedBindingDataBroker.java @@ -8,13 +8,18 @@ package org.opendaylight.controller.md.sal.binding.impl; +import com.google.common.collect.ClassToInstanceMap; +import com.google.common.collect.ImmutableSet; +import java.util.Set; import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.binding.impl.BindingDOMAdapterBuilder.Factory; import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener; import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; +import org.opendaylight.controller.md.sal.dom.api.DOMService; import org.opendaylight.controller.sal.core.api.model.SchemaService; /** @@ -29,6 +34,21 @@ import org.opendaylight.controller.sal.core.api.model.SchemaService; */ public class ForwardedBindingDataBroker extends AbstractForwardedDataBroker implements DataBroker { + + static final Factory BUILDER_FACTORY = new BindingDOMAdapterBuilder.Factory() { + + @Override + public BindingDOMAdapterBuilder newBuilder() { + return new Builder(); + } + + }; + + public ForwardedBindingDataBroker(final DOMDataBroker domDataBroker, final BindingToNormalizedNodeCodec codec) { + super(domDataBroker, codec); + } + + @Deprecated public ForwardedBindingDataBroker(final DOMDataBroker domDataBroker, final BindingToNormalizedNodeCodec codec, final SchemaService schemaService) { super(domDataBroker, codec,schemaService); } @@ -53,4 +73,22 @@ public class ForwardedBindingDataBroker extends AbstractForwardedDataBroker impl public BindingTransactionChain createTransactionChain(final TransactionChainListener listener) { return new BindingTranslatedTransactionChain(getDelegate(), getCodec(), listener); } + + private static class Builder extends BindingDOMAdapterBuilder { + + @Override + public Set> getRequiredDelegates() { + return ImmutableSet.of(DOMDataBroker.class); + } + + @Override + protected DataBroker createInstance(BindingToNormalizedNodeCodec codec, + ClassToInstanceMap delegates) { + DOMDataBroker domDataBroker = delegates.getInstance(DOMDataBroker.class); + return new ForwardedBindingDataBroker(domDataBroker, codec); + } + + + + } }