From: Robert Varga Date: Wed, 11 Jul 2018 13:22:08 +0000 (+0200) Subject: Add DOMExtensibleService.getExtensions() implementations X-Git-Tag: release/fluorine~46 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=048d61c7408875c1483d912c5837ae36fd689304 Add DOMExtensibleService.getExtensions() implementations This adds implementations so we can switchover the base interface and require getExtensions() to be implemented. Also take advantage of the improvement introduced in getExtensions() return type. Change-Id: I67f05782d311b895088e248119e77832a8892724 Signed-off-by: Robert Varga --- diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/MockSchemaService.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/MockSchemaService.java index cd89c4ed6c..6662e2d224 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/MockSchemaService.java +++ b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/MockSchemaService.java @@ -7,7 +7,11 @@ */ package org.opendaylight.controller.sal.binding.test.util; +import com.google.common.collect.ClassToInstanceMap; +import com.google.common.collect.ImmutableClassToInstanceMap; +import java.util.Map; import org.opendaylight.mdsal.dom.api.DOMSchemaService; +import org.opendaylight.mdsal.dom.api.DOMSchemaServiceExtension; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.util.ListenerRegistry; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -41,6 +45,17 @@ public final class MockSchemaService implements DOMSchemaService, SchemaContextP return schemaContext; } + @Override + @Deprecated + public Map, DOMSchemaServiceExtension> getSupportedExtensions() { + return ImmutableClassToInstanceMap.of(); + } + + @Override + public ClassToInstanceMap getExtensions() { + return ImmutableClassToInstanceMap.of(); + } + public synchronized void changeSchema(final SchemaContext newContext) { schemaContext = newContext; for (ListenerRegistration listener : listeners) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBroker.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBroker.java index c2c604e1f7..119ac79c7e 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBroker.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBroker.java @@ -103,10 +103,16 @@ public abstract class AbstractDOMBroker extends AbstractDOMTransactionFactory, DOMDataBrokerExtension> getSupportedExtensions() { return extensions; } + @Override + public ClassToInstanceMap getExtensions() { + return extensions; + } + @Override public DOMTransactionChain createTransactionChain(final TransactionChainListener listener) { checkNotClosed(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/compat/LegacyDOMDataBrokerAdapter.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/compat/LegacyDOMDataBrokerAdapter.java index 4555b87b62..b01a21d622 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/compat/LegacyDOMDataBrokerAdapter.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/compat/LegacyDOMDataBrokerAdapter.java @@ -84,9 +84,8 @@ public class LegacyDOMDataBrokerAdapter extends ForwardingObject implements DOMD public LegacyDOMDataBrokerAdapter(AbstractDOMBroker delegate) { this.delegate = delegate; - Map, - org.opendaylight.mdsal.dom.api.DOMDataBrokerExtension> delegateExtensions = - delegate.getSupportedExtensions(); + ClassToInstanceMap delegateExtensions = + delegate.getExtensions(); Builder extBuilder = ImmutableClassToInstanceMap.builder(); final org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService delegateTreeChangeService = diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/sharding/DistributedShardedDOMDataTree.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/sharding/DistributedShardedDOMDataTree.java index e61fc52e21..0348e7a2af 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/sharding/DistributedShardedDOMDataTree.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/sharding/DistributedShardedDOMDataTree.java @@ -21,6 +21,7 @@ import akka.util.Timeout; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Throwables; +import com.google.common.collect.ClassToInstanceMap; import com.google.common.collect.ForwardingObject; import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.common.util.concurrent.FutureCallback; @@ -288,10 +289,16 @@ public class DistributedShardedDOMDataTree implements DOMDataTreeService, DOMDat } @Override + @Deprecated public Map, DOMDataTreeServiceExtension> getSupportedExtensions() { return ImmutableClassToInstanceMap.of(); } + @Override + public ClassToInstanceMap getExtensions() { + return ImmutableClassToInstanceMap.of(); + } + @Nonnull @Override public DOMDataTreeProducer createProducer(@Nonnull final Collection subtrees) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java index bf551bb205..7b3634f055 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java @@ -21,6 +21,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import com.google.common.base.Throwables; +import com.google.common.collect.ClassToInstanceMap; import com.google.common.collect.ImmutableMap; import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.FutureCallback; @@ -33,7 +34,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; -import java.util.Map; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; import java.util.concurrent.SynchronousQueue; @@ -584,12 +584,11 @@ public class ConcurrentDOMDataBrokerTest { LogicalDatastoreType.OPERATIONAL, mockOperStore, LogicalDatastoreType.CONFIGURATION, mockConfigStore), futureExecutor)) { - Map, DOMDataBrokerExtension> supportedExtensions = - dataBroker.getSupportedExtensions(); - assertNotNull(supportedExtensions.get(DOMDataTreeChangeService.class)); + ClassToInstanceMap supportedExtensions = dataBroker.getExtensions(); + assertNotNull(supportedExtensions.getInstance(DOMDataTreeChangeService.class)); - DOMDataTreeCommitCohortRegistry cohortRegistry = - (DOMDataTreeCommitCohortRegistry) supportedExtensions.get(DOMDataTreeCommitCohortRegistry.class); + DOMDataTreeCommitCohortRegistry cohortRegistry = supportedExtensions.getInstance( + DOMDataTreeCommitCohortRegistry.class); assertNotNull(cohortRegistry); DOMDataTreeCommitCohort mockCohort = mock(DOMDataTreeCommitCohort.class);