From f79a7dc9a57456061885b3028208427983cc686d Mon Sep 17 00:00:00 2001 From: Oleksandr Zharov Date: Thu, 28 Sep 2023 13:23:52 +0200 Subject: [PATCH] Do not use RpcService in dsbenchmark Migrated usage of RpcService to Rpc for dsbenchmark. JIRA: CONTROLLER-2085 Change-Id: If0b4e4f14e94a583f518cdd5281ff779076aaabe Signed-off-by: Oleksandr Zharov --- .../dsbenchmark/DsbenchmarkProvider.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/DsbenchmarkProvider.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/DsbenchmarkProvider.java index 436838c3e5..4d5058557c 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/DsbenchmarkProvider.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/DsbenchmarkProvider.java @@ -9,6 +9,7 @@ package org.opendaylight.dsbenchmark; import static java.util.Objects.requireNonNull; +import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import java.util.Collections; @@ -35,10 +36,11 @@ import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMDataBroker; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.CleanupStore; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.CleanupStoreInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.CleanupStoreOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.CleanupStoreOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.DsbenchmarkService; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTest; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestOutputBuilder; @@ -49,6 +51,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchm import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestStatusBuilder; 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.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.common.Uint32; @@ -63,7 +66,7 @@ import org.slf4j.LoggerFactory; @Singleton @Component(service = { }) @RequireServiceComponentRuntime -public final class DsbenchmarkProvider implements DsbenchmarkService, AutoCloseable { +public final class DsbenchmarkProvider implements AutoCloseable { private static final Logger LOG = LoggerFactory.getLogger(DsbenchmarkProvider.class); private static final InstanceIdentifier TEST_EXEC_IID = InstanceIdentifier.create(TestExec.class); private static final InstanceIdentifier TEST_STATUS_IID = InstanceIdentifier.create(TestStatus.class); @@ -95,7 +98,10 @@ public final class DsbenchmarkProvider implements DsbenchmarkService, AutoClosea LOG.warn("Working around Bugs 8829 and 6793 by ignoring exception from setTestOperData", e); } - rpcReg = rpcService.registerRpcImplementation(DsbenchmarkService.class, this); + rpcReg = rpcService.registerRpcImplementations(ImmutableClassToInstanceMap.>builder() + .put(StartTest.class, this::startTest) + .put(CleanupStore.class, this::cleanupStore) + .build()); LOG.info("DsbenchmarkProvider initiated"); } @@ -107,16 +113,14 @@ public final class DsbenchmarkProvider implements DsbenchmarkService, AutoClosea LOG.info("DsbenchmarkProvider closed"); } - @Override - public ListenableFuture> cleanupStore(final CleanupStoreInput input) { + private ListenableFuture> cleanupStore(final CleanupStoreInput input) { cleanupTestStore(); LOG.debug("Data Store cleaned up"); return Futures.immediateFuture(RpcResultBuilder.success(new CleanupStoreOutputBuilder().build()).build()); } - @Override @SuppressWarnings("checkstyle:illegalCatch") - public ListenableFuture> startTest(final StartTestInput input) { + private ListenableFuture> startTest(final StartTestInput input) { LOG.info("Starting the data store benchmark test, input: {}", input); // Check if there is a test in progress -- 2.36.6