X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsamples%2Fclustering-test-app%2Fprovider%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fclustering%2Fit%2Fprovider%2FCarProvider.java;h=bec65aa561a3357daf980b58a6f6ebbda36f8db5;hb=HEAD;hp=bd06589f3e371a416eedf9ed6cb771376882cd03;hpb=60bb47b5ce43a0bdbd297130d1321bb1fb5f7ba3;p=controller.git diff --git a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/CarProvider.java b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/CarProvider.java index bd06589f3e..bec65aa561 100644 --- a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/CarProvider.java +++ b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/CarProvider.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.clustering.it.provider; import com.google.common.base.Stopwatch; -import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; @@ -32,8 +31,7 @@ import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMDataBroker; -import org.opendaylight.mdsal.dom.api.DOMDataTreeCommitCohortRegistration; -import org.opendaylight.mdsal.dom.api.DOMDataTreeCommitCohortRegistry; +import org.opendaylight.mdsal.dom.api.DOMDataBroker.CommitCohortExtension; import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.mdsal.eos.binding.api.Entity; import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipListener; @@ -76,10 +74,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controll import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.sal.clustering.it.car.rev140818.UnregisterOwnershipOutputBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.sal.clustering.it.car.rev140818.cars.CarEntry; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.sal.clustering.it.car.rev140818.cars.CarEntryBuilder; -import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.binding.Rpc; import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; @@ -104,7 +101,7 @@ public final class CarProvider { private static final String ENTITY_TYPE = "cars"; private static final InstanceIdentifier CARS_IID = InstanceIdentifier.builder(Cars.class).build(); - private static final DataTreeIdentifier CARS_DTID = DataTreeIdentifier.create( + private static final DataTreeIdentifier CARS_DTID = DataTreeIdentifier.of( LogicalDatastoreType.CONFIGURATION, CARS_IID); private final DataBroker dataProvider; @@ -113,21 +110,17 @@ public final class CarProvider { private final AtomicLong succcessCounter = new AtomicLong(); private final AtomicLong failureCounter = new AtomicLong(); - private final EntityOwnershipListener ownershipListener = - ownershipChange -> LOG.info("ownershipChanged: {}", ownershipChange); + private final EntityOwnershipListener ownershipListener = (entity, change, inJeopardy) -> + LOG.info("ownershipChanged: entity={} change={} inJeopardy={}", entity, change, inJeopardy); private final AtomicBoolean registeredListener = new AtomicBoolean(); - - private final Set> carsDclRegistrations = ConcurrentHashMap.newKeySet(); - + private final AtomicReference commitCohortReg = new AtomicReference<>(); + private final Set> carsDclRegistrations = ConcurrentHashMap.newKeySet(); private final Set regs = new HashSet<>(); - private final Set> carsDtclRegistrations = - ConcurrentHashMap.newKeySet(); + private final Set carsDtclRegistrations = ConcurrentHashMap.newKeySet(); private volatile Thread testThread; private volatile boolean stopThread; - private final AtomicReference> commitCohortReg = - new AtomicReference<>(); @Inject @Activate @@ -137,16 +130,15 @@ public final class CarProvider { this.dataProvider = dataProvider; this.ownershipService = ownershipService; this.domDataBroker = domDataBroker; - regs.add(rpcProviderService.registerRpcImplementations(ImmutableClassToInstanceMap.>builder() - .put(StressTest.class, this::stressTest) - .put(StopStressTest.class, this::stopStressTest) - .put(RegisterOwnership.class, this::registerOwnership) - .put(UnregisterOwnership.class, this::unregisterOwnership) - .put(RegisterLoggingDtcl.class, this::registerLoggingDtcl) - .put(UnregisterLoggingDtcls.class, this::unregisterLoggingDtcls) - .put(RegisterCommitCohort.class, this::registerCommitCohort) - .put(UnregisterCommitCohort.class, this::unregisterCommitCohort) - .build())); + regs.add(rpcProviderService.registerRpcImplementations( + (StressTest) this::stressTest, + (StopStressTest) this::stopStressTest, + (RegisterOwnership) this::registerOwnership, + (UnregisterOwnership) this::unregisterOwnership, + (RegisterLoggingDtcl) this::registerLoggingDtcl, + (UnregisterLoggingDtcls) this::unregisterLoggingDtcls, + (RegisterCommitCohort) this::registerCommitCohort, + (UnregisterCommitCohort) this::unregisterCommitCohort)); } @PreDestroy @@ -297,10 +289,8 @@ public final class CarProvider { private ListenableFuture> registerLoggingDtcl( final RegisterLoggingDtclInput input) { LOG.info("Registering a new CarDataTreeChangeListener"); - final ListenerRegistration carsDtclRegistration = - dataProvider.registerDataTreeChangeListener(CARS_DTID, new CarDataTreeChangeListener()); - - carsDtclRegistrations.add(carsDtclRegistration); + final var reg = dataProvider.registerTreeChangeListener(CARS_DTID, new CarDataTreeChangeListener()); + carsDtclRegistrations.add(reg); return RpcResultBuilder.success(new RegisterLoggingDtclOutputBuilder().build()).buildFuture(); } @@ -309,7 +299,7 @@ public final class CarProvider { LOG.info("Unregistering the CarDataTreeChangeListener(s)"); synchronized (carsDtclRegistrations) { int numListeners = 0; - for (ListenerRegistration carsDtclRegistration : carsDtclRegistrations) { + for (var carsDtclRegistration : carsDtclRegistrations) { carsDtclRegistration.close(); numListeners++; } @@ -328,7 +318,7 @@ public final class CarProvider { } private void closeCommitCohortRegistration() { - final DOMDataTreeCommitCohortRegistration reg = commitCohortReg.getAndSet(null); + final var reg = commitCohortReg.getAndSet(null); if (reg != null) { reg.close(); LOG.info("Unregistered commit cohort"); @@ -341,9 +331,7 @@ public final class CarProvider { return RpcResultBuilder.success(new RegisterCommitCohortOutputBuilder().build()).buildFuture(); } - final DOMDataTreeCommitCohortRegistry commitCohortRegistry = domDataBroker.getExtensions().getInstance( - DOMDataTreeCommitCohortRegistry.class); - + final var commitCohortRegistry = domDataBroker.extension(CommitCohortExtension.class); if (commitCohortRegistry == null) { // Shouldn't happen return RpcResultBuilder.failed().withError(ErrorType.APPLICATION, @@ -358,7 +346,7 @@ public final class CarProvider { // to address all list entries, the second path argument is wild-carded by specifying just the CarEntry.QNAME. final YangInstanceIdentifier carEntryPath = YangInstanceIdentifier.builder( YangInstanceIdentifier.of(Cars.QNAME)).node(CarEntry.QNAME).node(CarEntry.QNAME).build(); - commitCohortReg.set(commitCohortRegistry.registerCommitCohort(new DOMDataTreeIdentifier( + commitCohortReg.set(commitCohortRegistry.registerCommitCohort(DOMDataTreeIdentifier.of( LogicalDatastoreType.CONFIGURATION, carEntryPath), new CarEntryDataTreeCommitCohort())); LOG.info("Registered commit cohort");