From 7acf8a9e1fa50b6500ac9d1931eb1d16f7889f2b Mon Sep 17 00:00:00 2001 From: gobinath Date: Fri, 23 Nov 2018 15:34:45 +0530 Subject: [PATCH] OPNFLWPLUG-1046 : Migrate OFP from XML to annotation based blueprint Change-Id: Ib688df616d3f89b61663b78e6d2156cc50b4521d Signed-off-by: gobinath --- applications/forwardingrules-manager/pom.xml | 14 +++++++ .../frm/impl/ForwardingRulesManagerImpl.java | 22 ++++++++--- .../impl/FrmReconciliationServiceImpl.java | 7 ++++ .../OpenflowServiceRecoveryHandlerImpl.java | 5 ++- .../blueprint/forwardingrules-manager.xml | 38 +------------------ 5 files changed, 42 insertions(+), 44 deletions(-) diff --git a/applications/forwardingrules-manager/pom.xml b/applications/forwardingrules-manager/pom.xml index 96911c92a8..c492a63970 100644 --- a/applications/forwardingrules-manager/pom.xml +++ b/applications/forwardingrules-manager/pom.xml @@ -93,8 +93,22 @@ arbitratorreconciliation-api ${project.version} + + org.apache.aries.blueprint + blueprint-maven-plugin-annotation + true + + + + + org.apache.aries.blueprint + blueprint-maven-plugin + + + + scm:git:ssh://git.opendaylight.org:29418/openflowplugin.git scm:git:ssh://git.opendaylight.org:29418/openflowplugin.git diff --git a/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/ForwardingRulesManagerImpl.java b/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/ForwardingRulesManagerImpl.java index 6deef293c3..361b6e9715 100644 --- a/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/ForwardingRulesManagerImpl.java +++ b/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/ForwardingRulesManagerImpl.java @@ -16,6 +16,11 @@ import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.concurrent.atomic.AtomicLong; import javax.annotation.Nonnull; +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; +import javax.inject.Inject; +import javax.inject.Singleton; +import org.apache.aries.blueprint.annotation.service.Reference; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -61,6 +66,7 @@ import org.slf4j.LoggerFactory; * provide all RPC services. * */ +@Singleton public class ForwardingRulesManagerImpl implements ForwardingRulesManager { private static final Logger LOG = LoggerFactory.getLogger(ForwardingRulesManagerImpl.class); @@ -99,14 +105,16 @@ public class ForwardingRulesManagerImpl implements ForwardingRulesManager { private final OpenflowServiceRecoveryHandler openflowServiceRecoveryHandler; private final ServiceRecoveryRegistry serviceRecoveryRegistry; - public ForwardingRulesManagerImpl(final DataBroker dataBroker, final RpcProviderRegistry rpcRegistry, + @Inject + public ForwardingRulesManagerImpl(@Reference final DataBroker dataBroker, + @Reference final RpcProviderRegistry rpcRegistry, final ForwardingRulesManagerConfig config, - final MastershipChangeServiceManager mastershipChangeServiceManager, - final ClusterSingletonServiceProvider clusterSingletonService, - final ConfigurationService configurationService, - final ReconciliationManager reconciliationManager, + @Reference final MastershipChangeServiceManager mastershipChangeServiceManager, + @Reference final ClusterSingletonServiceProvider clusterSingletonService, + @Reference final ConfigurationService configurationService, + @Reference final ReconciliationManager reconciliationManager, final OpenflowServiceRecoveryHandler openflowServiceRecoveryHandler, - final ServiceRecoveryRegistry serviceRecoveryRegistry) { + @Reference final ServiceRecoveryRegistry serviceRecoveryRegistry) { disableReconciliation = config.isDisableReconciliation(); staleMarkingEnabled = config.isStaleMarkingEnabled(); reconciliationRetryCount = config.getReconciliationRetryCount(); @@ -141,6 +149,7 @@ public class ForwardingRulesManagerImpl implements ForwardingRulesManager { } @Override + @PostConstruct public void start() { nodeConfigurator = new NodeConfiguratorImpl(); this.devicesGroupRegistry = new DevicesGroupRegistry(); @@ -167,6 +176,7 @@ public class ForwardingRulesManagerImpl implements ForwardingRulesManager { } @Override + @PreDestroy public void close() throws Exception { configurationServiceRegistration.close(); diff --git a/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/FrmReconciliationServiceImpl.java b/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/FrmReconciliationServiceImpl.java index 0af6532e9d..29856894be 100644 --- a/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/FrmReconciliationServiceImpl.java +++ b/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/FrmReconciliationServiceImpl.java @@ -12,6 +12,10 @@ import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.SettableFuture; +import javax.inject.Inject; +import javax.inject.Singleton; + +import org.apache.aries.blueprint.annotation.service.Service; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes; @@ -29,12 +33,15 @@ import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@Singleton +@Service(classes = FrmReconciliationService.class) public class FrmReconciliationServiceImpl implements FrmReconciliationService { private static final Logger LOG = LoggerFactory.getLogger(FrmReconciliationServiceImpl.class); private final ForwardingRulesManagerImpl forwardingRulesManagerImpl; + @Inject public FrmReconciliationServiceImpl(ForwardingRulesManagerImpl forwardingRulesManagerImpl) { this.forwardingRulesManagerImpl = forwardingRulesManagerImpl; } diff --git a/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/recovery/impl/OpenflowServiceRecoveryHandlerImpl.java b/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/recovery/impl/OpenflowServiceRecoveryHandlerImpl.java index b9bd0f3083..c1053e90d7 100644 --- a/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/recovery/impl/OpenflowServiceRecoveryHandlerImpl.java +++ b/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/recovery/impl/OpenflowServiceRecoveryHandlerImpl.java @@ -9,6 +9,8 @@ package org.opendaylight.openflowplugin.applications.frm.recovery.impl; import javax.inject.Inject; import javax.inject.Singleton; +import org.apache.aries.blueprint.annotation.service.Reference; +import org.apache.aries.blueprint.annotation.service.Service; import org.opendaylight.openflowplugin.applications.frm.recovery.OpenflowServiceRecoveryHandler; import org.opendaylight.serviceutils.srm.RecoverableListener; import org.opendaylight.serviceutils.srm.ServiceRecoveryInterface; @@ -18,6 +20,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Singleton +@Service(classes = OpenflowServiceRecoveryHandler.class) public class OpenflowServiceRecoveryHandlerImpl implements ServiceRecoveryInterface, OpenflowServiceRecoveryHandler { @@ -26,7 +29,7 @@ public class OpenflowServiceRecoveryHandlerImpl implements ServiceRecoveryInterf private final ServiceRecoveryRegistry serviceRecoveryRegistry; @Inject - public OpenflowServiceRecoveryHandlerImpl(final ServiceRecoveryRegistry serviceRecoveryRegistry) { + public OpenflowServiceRecoveryHandlerImpl(@Reference final ServiceRecoveryRegistry serviceRecoveryRegistry) { LOG.info("Registering openflowplugin service recovery handlers"); this.serviceRecoveryRegistry = serviceRecoveryRegistry; serviceRecoveryRegistry.registerServiceRecoveryRegistry(buildServiceRegistryKey(), this); diff --git a/applications/forwardingrules-manager/src/main/resources/OSGI-INF/blueprint/forwardingrules-manager.xml b/applications/forwardingrules-manager/src/main/resources/OSGI-INF/blueprint/forwardingrules-manager.xml index a848eafd54..b69d74b2eb 100644 --- a/applications/forwardingrules-manager/src/main/resources/OSGI-INF/blueprint/forwardingrules-manager.xml +++ b/applications/forwardingrules-manager/src/main/resources/OSGI-INF/blueprint/forwardingrules-manager.xml @@ -4,43 +4,7 @@ xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0" odl:use-default-for-reference-types="true"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- 2.36.6