Merge "Replace GroupingResolver with AugmentationGroupingResolver"
authorArunprakash D <d.arunprakash@ericsson.com>
Wed, 19 Dec 2018 08:53:56 +0000 (08:53 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Wed, 19 Dec 2018 08:53:56 +0000 (08:53 +0000)
16 files changed:
applications/arbitratorreconciliation/impl/pom.xml
applications/forwardingrules-manager/pom.xml
applications/of-switch-config-pusher/pom.xml
applications/of-switch-config-pusher/src/main/java/org/opendaylight/openflowplugin/openflow/ofswitch/config/DefaultConfigPusher.java
applications/of-switch-config-pusher/src/main/resources/OSGI-INF/blueprint/of-switch-config-pusher.xml
applications/reconciliation-framework/pom.xml
applications/reconciliation-framework/src/main/java/org/opendaylight/openflowplugin/applications/reconciliation/impl/ReconciliationManagerImpl.java
applications/reconciliation-framework/src/main/resources/OSGI-INF/blueprint/commands.xml
applications/reconciliation-framework/src/main/resources/OSGI-INF/blueprint/reconciliation-framework.xml [deleted file]
applications/topology-manager/pom.xml
applications/topology-manager/src/main/java/org/opendaylight/openflowplugin/applications/topology/manager/FlowCapableTopologyProvider.java
applications/topology-manager/src/main/java/org/opendaylight/openflowplugin/applications/topology/manager/NodeChangeListenerImpl.java
applications/topology-manager/src/main/java/org/opendaylight/openflowplugin/applications/topology/manager/OperationProcessor.java
applications/topology-manager/src/main/java/org/opendaylight/openflowplugin/applications/topology/manager/TerminationPointChangeListenerImpl.java
applications/topology-manager/src/main/resources/OSGI-INF/blueprint/topology-manager.xml [deleted file]
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenflowPluginDiagStatusProvider.java

index 2946b62d339b262ed68f0c4cd280d2988e8e0867..c83e37e2eb46cddeb1ab2fa894bc42e0b3191ed5 100644 (file)
             <plugin>
                 <groupId>org.apache.aries.blueprint</groupId>
                 <artifactId>blueprint-maven-plugin</artifactId>
+                <configuration>
+                    <scanPaths>
+                        <scanPath>org.opendaylight.openflowplugin.applications.arbitratorreconciliation</scanPath>
+                    </scanPaths>
+                </configuration>
             </plugin>
         </plugins>
     </build>
index c492a6397059bd6744ff02d7fa27102b96e50d7d..494ee56a8604c7bed606579eb29435f8df4abe7e 100644 (file)
       <plugin>
         <groupId>org.apache.aries.blueprint</groupId>
         <artifactId>blueprint-maven-plugin</artifactId>
+        <configuration>
+          <scanPaths>
+            <scanPath>org.opendaylight.openflowplugin.applications.frm</scanPath>
+          </scanPaths>
+        </configuration>
       </plugin>
     </plugins>
   </build>
index 73caa58f5c91684e21dfd752976349dd20bb5b03..c5928645948d1aaa4be19aaabac460adfdd86d9e 100644 (file)
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>javax.inject</groupId>
+            <artifactId>javax.inject</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.aries.blueprint</groupId>
+            <artifactId>blueprint-maven-plugin-annotation</artifactId>
+            <optional>true</optional>
+        </dependency>
     </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.aries.blueprint</groupId>
+                <artifactId>blueprint-maven-plugin</artifactId>
+                <configuration>
+                    <scanPaths>
+                        <scanPath>org.opendaylight.openflowplugin.openflow.ofswitch.config</scanPath>
+                    </scanPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
index 6a2bfe896409d54f9ab4d55d7622eb7d199780af..9ae9e180fac55690dc89843201a35557afb9bb58 100644 (file)
@@ -12,6 +12,11 @@ import com.google.common.base.Preconditions;
 import java.util.Collection;
 import java.util.concurrent.Future;
 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.ClusteredDataTreeChangeListener;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataObjectModification.ModificationType;
@@ -36,6 +41,7 @@ import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public class DefaultConfigPusher implements AutoCloseable, ClusteredDataTreeChangeListener<FlowCapableNode> {
     private static final Logger LOG = LoggerFactory.getLogger(DefaultConfigPusher.class);
     private static final long STARTUP_LOOP_TICK = 500L;
@@ -45,8 +51,9 @@ public class DefaultConfigPusher implements AutoCloseable, ClusteredDataTreeChan
     private final DeviceOwnershipService deviceOwnershipService;
     private ListenerRegistration<?> listenerRegistration;
 
-    public DefaultConfigPusher(NodeConfigService nodeConfigService, DataBroker dataBroker,
-            DeviceOwnershipService deviceOwnershipService) {
+    @Inject
+    public DefaultConfigPusher(NodeConfigService nodeConfigService, @Reference DataBroker dataBroker,
+            @Reference DeviceOwnershipService deviceOwnershipService) {
         this.nodeConfigService = nodeConfigService;
         this.dataBroker = dataBroker;
         this.deviceOwnershipService = Preconditions.checkNotNull(deviceOwnershipService,
@@ -54,6 +61,7 @@ public class DefaultConfigPusher implements AutoCloseable, ClusteredDataTreeChan
     }
 
     @SuppressWarnings("checkstyle:IllegalCatch")
+    @PostConstruct
     public void start() {
         try {
             final InstanceIdentifier<FlowCapableNode> path = InstanceIdentifier.create(Nodes.class).child(Node.class)
@@ -71,6 +79,7 @@ public class DefaultConfigPusher implements AutoCloseable, ClusteredDataTreeChan
     }
 
     @Override
+    @PreDestroy
     public void close() {
         if (listenerRegistration != null) {
             listenerRegistration.close();
index f303c62da2ea3e37ba47bb7c62fe9b3cd660056f..f56ddc8ed29b37f584c998299fe88451ee9d3040 100644 (file)
@@ -3,15 +3,6 @@
            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
            odl:use-default-for-reference-types="true">
 
-  <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"/>
-  <reference id="deviceOwnershipService" interface="org.opendaylight.openflowplugin.applications.deviceownershipservice.DeviceOwnershipService"/>
-
   <odl:rpc-service id="nodeConfigService" interface="org.opendaylight.yang.gen.v1.urn.opendaylight.module.config.rev141015.NodeConfigService"/>
 
-  <bean id="LLDPPacketPuntEnforcer" class="org.opendaylight.openflowplugin.openflow.ofswitch.config.DefaultConfigPusher"
-          init-method="start" destroy-method="close">
-    <argument ref="nodeConfigService"/>
-    <argument ref="dataBroker"/>
-    <argument ref="deviceOwnershipService"/>
-  </bean>
 </blueprint>
\ No newline at end of file
index 57bdc2d681ff8e302e34fc6423b152746f68413f..f0201b4a019da4f470cbb25e520b64de50034aab 100644 (file)
             <artifactId>org.apache.karaf.shell.console</artifactId>
             <scope>provided</scope>
         </dependency>
+        <dependency>
+            <groupId>javax.inject</groupId>
+            <artifactId>javax.inject</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.aries.blueprint</groupId>
+            <artifactId>blueprint-maven-plugin-annotation</artifactId>
+            <optional>true</optional>
+        </dependency>
     </dependencies>
 
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.aries.blueprint</groupId>
+                <artifactId>blueprint-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
     <scm>
         <connection>scm:git:ssh://git.opendaylight.org:29418/openflowplugin.git</connection>
         <developerConnection>scm:git:ssh://git.opendaylight.org:29418/openflowplugin.git</developerConnection>
index 2eb4d395dc2bd67fb9ed1af4243a367c9d93f478..fab79142df4a27ab8f977ed0c8d61f83d679f807 100644 (file)
@@ -21,6 +21,12 @@ import java.util.concurrent.ConcurrentSkipListMap;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 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.apache.aries.blueprint.annotation.service.Service;
 import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
 import org.opendaylight.openflowplugin.api.openflow.mastership.MastershipChangeException;
 import org.opendaylight.openflowplugin.api.openflow.mastership.MastershipChangeServiceManager;
@@ -32,6 +38,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
+@Service(classes = ReconciliationManager.class)
 public class ReconciliationManagerImpl implements ReconciliationManager, ReconciliationFrameworkEvent {
     private static final Logger LOG = LoggerFactory.getLogger(ReconciliationManagerImpl.class);
 
@@ -42,11 +50,13 @@ public class ReconciliationManagerImpl implements ReconciliationManager, Reconci
     private final Map<ResultState, Integer> resultStateMap = new ConcurrentHashMap<>();
     private final AtomicReference<ResultState> decidedResultState = new AtomicReference<>(ResultState.DONOTHING);
 
-    public ReconciliationManagerImpl(MastershipChangeServiceManager mastershipChangeServiceManager) {
+    @Inject
+    public ReconciliationManagerImpl(@Reference MastershipChangeServiceManager mastershipChangeServiceManager) {
         this.mastershipChangeServiceManager = Preconditions
                 .checkNotNull(mastershipChangeServiceManager, "MastershipChangeServiceManager can not be null!");
     }
 
+    @PostConstruct
     public void start() throws MastershipChangeException {
         mastershipChangeServiceManager.reconciliationFrameworkRegistration(this);
         LOG.info("ReconciliationManager has started successfully.");
@@ -88,6 +98,7 @@ public class ReconciliationManagerImpl implements ReconciliationManager, Reconci
     }
 
     @Override
+    @PreDestroy
     public void close() throws Exception {
     }
 
index 03aff8336e45922cd7276a228152704105217927..85dadeadea3c25b20fd4bfa9d06693e1de5a0079 100644 (file)
@@ -3,14 +3,11 @@
            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
            odl:use-default-for-reference-types="true">
 
-    <reference id="reconciliationManagerRef"
-               interface="org.opendaylight.openflowplugin.applications.reconciliation.ReconciliationManager"
-               availability="optional"/>
     <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
         <command>
             <action class="org.opendaylight.openflowplugin.applications.reconciliation.cli.GetRegisteredServices">
                 <property name="reconciliationManager"
-                          ref="reconciliationManagerRef"/>
+                          ref="reconciliationManagerImpl"/>
             </action>
         </command>
     </command-bundle>
diff --git a/applications/reconciliation-framework/src/main/resources/OSGI-INF/blueprint/reconciliation-framework.xml b/applications/reconciliation-framework/src/main/resources/OSGI-INF/blueprint/reconciliation-framework.xml
deleted file mode 100644 (file)
index f5ad65a..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
-           xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
-           odl:use-default-for-reference-types="true">
-
-  <reference id="mastershipChangeServiceManager"
-             interface="org.opendaylight.openflowplugin.api.openflow.mastership.MastershipChangeServiceManager"/>
-  <bean id="reconciliationManagerImpl"
-        class="org.opendaylight.openflowplugin.applications.reconciliation.impl.ReconciliationManagerImpl"
-        init-method="start"
-        destroy-method="close">
-    <argument ref="mastershipChangeServiceManager"/>
-  </bean>
-  <service ref="reconciliationManagerImpl"
-           interface="org.opendaylight.openflowplugin.applications.reconciliation.ReconciliationManager"
-           odl:type="default"/>
-
-</blueprint>
\ No newline at end of file
index 3d7fd49c3c87336e8705a1d908f9ca62161c0aca..bc2673c9adf9de3c6325bbb6e890798c7094310e 100644 (file)
       <artifactId>slf4j-log4j12</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>javax.inject</groupId>
+      <artifactId>javax.inject</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.aries.blueprint</groupId>
+      <artifactId>blueprint-maven-plugin-annotation</artifactId>
+      <optional>true</optional>
+    </dependency>
   </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.aries.blueprint</groupId>
+        <artifactId>blueprint-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
   <scm>
     <connection>scm:git:ssh://git.opendaylight.org:29418/openflowplugin.git</connection>
     <developerConnection>scm:git:ssh://git.opendaylight.org:29418/openflowplugin.git</developerConnection>
index 0249510756e19ad912078e8351a457a6f61fc88a..b17c1159d89048a26dc2956fe095d5038bd95c46 100644 (file)
@@ -12,6 +12,11 @@ import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.concurrent.ExecutionException;
 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.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
@@ -31,6 +36,7 @@ import org.opendaylight.yangtools.yang.binding.NotificationListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public class FlowCapableTopologyProvider implements ClusterSingletonService, AutoCloseable {
     private static final Logger LOG = LoggerFactory.getLogger(FlowCapableTopologyProvider.class);
     private static final String TOPOLOGY_PROVIDER = "ofp-topology-manager";
@@ -45,10 +51,12 @@ public class FlowCapableTopologyProvider implements ClusterSingletonService, Aut
     private ListenerRegistration<NotificationListener> listenerRegistration;
     private ClusterSingletonServiceRegistration singletonServiceRegistration;
 
-    public FlowCapableTopologyProvider(final DataBroker dataBroker,
-                                       final NotificationProviderService notificationService,
+    @Inject
+    public FlowCapableTopologyProvider(@Reference final DataBroker dataBroker,
+                                       @Reference final NotificationProviderService notificationService,
                                        final OperationProcessor processor,
-                                       final ClusterSingletonServiceProvider clusterSingletonServiceProvider) {
+                                       @Reference final ClusterSingletonServiceProvider
+                                               clusterSingletonServiceProvider) {
         this.dataBroker = dataBroker;
         this.notificationService = notificationService;
         this.processor = processor;
@@ -58,6 +66,7 @@ public class FlowCapableTopologyProvider implements ClusterSingletonService, Aut
     /**
      * Gets called on start of a bundle.
      */
+    @PostConstruct
     public void start() {
         final TopologyKey key = new TopologyKey(new TopologyId(TOPOLOGY_ID));
         this.topologyPathIID = InstanceIdentifier.create(NetworkTopology.class).child(Topology.class, key);
@@ -72,6 +81,7 @@ public class FlowCapableTopologyProvider implements ClusterSingletonService, Aut
     }
 
     @Override
+    @PreDestroy
     public void close() {
         this.transactionChainManager.close();
         if (this.listenerRegistration != null) {
index ce6b5c559f2721c3bea809e2af7dbc01188bf84a..596e671aa41fbacbf2aa5d70db9a755dbc3260c5 100644 (file)
@@ -9,6 +9,10 @@ package org.opendaylight.openflowplugin.applications.topology.manager;
 
 import java.util.Collection;
 import javax.annotation.Nonnull;
+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.DataTreeModification;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
@@ -24,10 +28,12 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public class NodeChangeListenerImpl extends DataTreeChangeListenerImpl<FlowCapableNode> {
     private static final Logger LOG = LoggerFactory.getLogger(NodeChangeListenerImpl.class);
 
-    public NodeChangeListenerImpl(final DataBroker dataBroker, final OperationProcessor operationProcessor) {
+    @Inject
+    public NodeChangeListenerImpl(@Reference final DataBroker dataBroker, final OperationProcessor operationProcessor) {
         // TODO: listener on FlowCapableNode. what if node id in Node.class is changed (it won't be caught by this
         // listener)
         super(operationProcessor, dataBroker,
@@ -54,6 +60,12 @@ public class NodeChangeListenerImpl extends DataTreeChangeListenerImpl<FlowCapab
         }
     }
 
+    @Override
+    @PreDestroy
+    public void close() throws Exception {
+        super.close();
+    }
+
     private void processRemovedNode(final DataTreeModification<FlowCapableNode> modification) {
         final InstanceIdentifier<FlowCapableNode> iiToNodeInInventory = modification.getRootPath().getRootIdentifier();
         final NodeId nodeId = provideTopologyNodeId(iiToNodeInInventory);
index d70a43479db326a94a5f56f6f731fdee5a4e42a2..8a9963f30ab7e06c66c147e4289444ea641d9f12 100644 (file)
@@ -9,11 +9,17 @@ package org.opendaylight.openflowplugin.applications.topology.manager;
 
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
+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.openflowplugin.common.txchain.TransactionChainManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public final class OperationProcessor implements AutoCloseable, Runnable {
     private static final Logger LOG = LoggerFactory.getLogger(OperationProcessor.class);
     private static final int MAX_TRANSACTION_OPERATIONS = 100;
@@ -25,7 +31,8 @@ public final class OperationProcessor implements AutoCloseable, Runnable {
     private TransactionChainManager transactionChainManager;
     private volatile boolean finishing = false;
 
-    public OperationProcessor(final DataBroker dataBroker) {
+    @Inject
+    public OperationProcessor(@Reference final DataBroker dataBroker) {
         transactionChainManager = new TransactionChainManager(dataBroker, TOPOLOGY_MANAGER);
         transactionChainManager.activateTransactionManager();
         transactionChainManager.initialSubmitWriteTransaction();
@@ -43,6 +50,7 @@ public final class OperationProcessor implements AutoCloseable, Runnable {
         }
     }
 
+    @PostConstruct
     public void start() {
         thread.start();
     }
@@ -90,6 +98,7 @@ public final class OperationProcessor implements AutoCloseable, Runnable {
     }
 
     @Override
+    @PreDestroy
     public void close() {
         thread.interrupt();
         try {
index 808e2c8110edb690c95f049ccfe140aac56b7c5b..e166bd6e83d8fb75d8b804cbfb163d4e1fd447c2 100644 (file)
@@ -11,6 +11,10 @@ import java.util.Collection;
 import java.util.Optional;
 import java.util.concurrent.ExecutionException;
 import javax.annotation.Nonnull;
+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.DataTreeModification;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
@@ -31,10 +35,12 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Singleton
 public class TerminationPointChangeListenerImpl extends DataTreeChangeListenerImpl<FlowCapableNodeConnector> {
     private static final Logger LOG = LoggerFactory.getLogger(TerminationPointChangeListenerImpl.class);
 
-    public TerminationPointChangeListenerImpl(final DataBroker dataBroker,
+    @Inject
+    public TerminationPointChangeListenerImpl(@Reference final DataBroker dataBroker,
                                               final OperationProcessor operationProcessor) {
         super(operationProcessor, dataBroker,
               InstanceIdentifier.builder(Nodes.class).child(Node.class).child(NodeConnector.class)
@@ -62,6 +68,12 @@ public class TerminationPointChangeListenerImpl extends DataTreeChangeListenerIm
         }
     }
 
+    @Override
+    @PreDestroy
+    public void close() throws Exception {
+        super.close();
+    }
+
     private void processRemovedTerminationPoints(final DataTreeModification<FlowCapableNodeConnector> modification) {
         final InstanceIdentifier<FlowCapableNodeConnector> removedNode = modification.getRootPath().getRootIdentifier();
         final TpId terminationPointId = provideTopologyTerminationPointId(removedNode);
diff --git a/applications/topology-manager/src/main/resources/OSGI-INF/blueprint/topology-manager.xml b/applications/topology-manager/src/main/resources/OSGI-INF/blueprint/topology-manager.xml
deleted file mode 100644 (file)
index 01e5d6b..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-           xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
-        odl:use-default-for-reference-types="true">
-
-  <reference id="dataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"/>
-  <reference id="notificationService" interface="org.opendaylight.controller.sal.binding.api.NotificationProviderService"/>
-  <reference id="clusterSingletonService" interface="org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider"/>
-
-  <bean id="operationProcessor" class="org.opendaylight.openflowplugin.applications.topology.manager.OperationProcessor"
-          init-method="start" destroy-method="close">
-    <argument ref="dataBroker"/>
-  </bean>
-
-  <bean id="termPointChangeListener" class="org.opendaylight.openflowplugin.applications.topology.manager.TerminationPointChangeListenerImpl"
-          destroy-method="close">
-    <argument ref="dataBroker"/>
-    <argument ref="operationProcessor"/>
-  </bean>
-
-  <bean id="nodeChangeListener" class="org.opendaylight.openflowplugin.applications.topology.manager.NodeChangeListenerImpl"
-          destroy-method="close">
-    <argument ref="dataBroker"/>
-    <argument ref="operationProcessor"/>
-  </bean>
-
-  <bean id="topologyProvider" class="org.opendaylight.openflowplugin.applications.topology.manager.FlowCapableTopologyProvider"
-          init-method="start" destroy-method="close">
-    <argument ref="dataBroker"/>
-    <argument ref="notificationService"/>
-    <argument ref="operationProcessor"/>
-    <argument ref="clusterSingletonService"/>
-  </bean>
-</blueprint>
index 7b1fd45798a0ae0410605984294f30c6d3ae8984..bdaafb2429839752d50834e6381f6492340305c2 100644 (file)
@@ -7,54 +7,29 @@
  */
 package org.opendaylight.openflowplugin.impl;
 
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.util.List;
 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.infrautils.diagstatus.DiagStatusService;
 import org.opendaylight.infrautils.diagstatus.ServiceDescriptor;
 import org.opendaylight.infrautils.diagstatus.ServiceState;
-import org.opendaylight.infrautils.diagstatus.ServiceStatusProvider;
-import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProvider;
-import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProviderList;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @Singleton
-@Service(classes = ServiceStatusProvider.class)
-public class OpenflowPluginDiagStatusProvider implements ServiceStatusProvider {
+public class OpenflowPluginDiagStatusProvider {
 
     private static final Logger LOG = LoggerFactory.getLogger(OpenflowPluginDiagStatusProvider.class);
     private static final String OPENFLOW_SERVICE_NAME = "OPENFLOW";
-    private static final int OF_PORT_11 = 6633;
-    private static final int OF_PORT_13 = 6653;
 
     private final DiagStatusService diagStatusService;
-    private InetAddress defaultInetAddres;
-    private InetAddress legacyInetAddress;
 
     @Inject
-    public OpenflowPluginDiagStatusProvider(final @Reference DiagStatusService diagStatusService,
-                                            final SwitchConnectionProviderList switchConnectionProviders) {
+    public OpenflowPluginDiagStatusProvider(final @Reference DiagStatusService diagStatusService) {
         this.diagStatusService = diagStatusService;
-        setSwitchConnectionInetAddress(switchConnectionProviders);
         diagStatusService.register(OPENFLOW_SERVICE_NAME);
     }
 
-    private void setSwitchConnectionInetAddress(final List<SwitchConnectionProvider> switchConnectionProviders) {
-        switchConnectionProviders.forEach(switchConnectionProvider -> {
-            if (switchConnectionProvider.getConfiguration().getPort() == OF_PORT_11) {
-                legacyInetAddress = switchConnectionProvider.getConfiguration().getAddress();
-            } else if (switchConnectionProvider.getConfiguration().getPort() == OF_PORT_13) {
-                defaultInetAddres = switchConnectionProvider.getConfiguration().getAddress();
-            }
-        });
-    }
-
     public void reportStatus(ServiceState serviceState) {
         LOG.debug("reporting status as {} for {}", serviceState, OPENFLOW_SERVICE_NAME);
         diagStatusService.report(new ServiceDescriptor(OPENFLOW_SERVICE_NAME, serviceState));
@@ -69,39 +44,4 @@ public class OpenflowPluginDiagStatusProvider implements ServiceStatusProvider {
         LOG.debug("reporting status as {} for {}", serviceState, OPENFLOW_SERVICE_NAME);
         diagStatusService.report(new ServiceDescriptor(OPENFLOW_SERVICE_NAME, serviceState, description));
     }
-
-    @Override
-    public ServiceDescriptor getServiceDescriptor() {
-        if (getApplicationNetworkState(OF_PORT_13, defaultInetAddres)
-                && getApplicationNetworkState(OF_PORT_11, legacyInetAddress)) {
-            return new ServiceDescriptor(OPENFLOW_SERVICE_NAME, ServiceState.OPERATIONAL,
-                    "OF::PORTS:: 6653 and 6633 are up.");
-        } else {
-            return new ServiceDescriptor(OPENFLOW_SERVICE_NAME, ServiceState.ERROR,
-                    "OF::PORTS:: 6653 and 6633 are not up yet");
-        }
-    }
-
-    private boolean getApplicationNetworkState(int port, InetAddress inetAddress) {
-        Socket socket = null;
-        try {
-            if (inetAddress == null) {
-                socket = new Socket("localhost", port);
-            } else {
-                socket = new Socket(inetAddress, port);
-            }
-            LOG.debug("Socket connection established");
-            return true;
-        } catch (IOException e) {
-            return false;
-        } finally {
-            try {
-                if (socket != null) {
-                    socket.close();
-                }
-            } catch (IOException ex) {
-                LOG.error("Failed to close socket : {}", socket, ex);
-            }
-        }
-    }
 }