Turn CrossConnectImpl into a component 51/104351/4
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 9 Feb 2023 16:54:04 +0000 (17:54 +0100)
committerGilles Thouenon <gilles.thouenon@orange.com>
Tue, 14 Feb 2023 15:14:39 +0000 (15:14 +0000)
This is a simple component, which instantiates three different objects.
Split it out of blueprint.

Change-Id: Id95c123fb641ea55483e49ff3465b35e0a4078c1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl.java
common/src/main/resources/OSGI-INF/blueprint/common-blueprint.xml

index 32de8abd1b60977cc569e85cc578a2c616d54239..7babab074d3c96113583b1117ca1cc19d3612f79 100644 (file)
@@ -21,9 +21,13 @@ import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfa
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.OpticalControlMode;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.otn.renderer.nodes.Nodes;
 import org.opendaylight.yangtools.yang.common.Decimal64;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.OpticalControlMode;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.otn.renderer.nodes.Nodes;
 import org.opendaylight.yangtools.yang.common.Decimal64;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Component
 public class CrossConnectImpl implements CrossConnect {
 
     private static final Logger LOG = LoggerFactory.getLogger(CrossConnectImpl.class);
 public class CrossConnectImpl implements CrossConnect {
 
     private static final Logger LOG = LoggerFactory.getLogger(CrossConnectImpl.class);
@@ -34,6 +38,16 @@ public class CrossConnectImpl implements CrossConnect {
     private CrossConnectImpl221 crossConnectImpl221;
     private CrossConnectImpl710 crossConnectImpl710;
 
     private CrossConnectImpl221 crossConnectImpl221;
     private CrossConnectImpl710 crossConnectImpl710;
 
+    @Activate
+    public CrossConnectImpl(@Reference DeviceTransactionManager deviceTransactionManager,
+                            @Reference MappingUtils mappingUtils) {
+        this(deviceTransactionManager, mappingUtils,
+            new CrossConnectImpl121(deviceTransactionManager),
+            new CrossConnectImpl221(deviceTransactionManager),
+            new CrossConnectImpl710(deviceTransactionManager));
+    }
+
+    // TODO: DeviceTransactionManager is not used here
     public CrossConnectImpl(DeviceTransactionManager deviceTransactionManager, MappingUtils mappingUtils,
                             CrossConnectImpl121 crossConnectImpl121,
                             CrossConnectImpl221 crossConnectImpl221,
     public CrossConnectImpl(DeviceTransactionManager deviceTransactionManager, MappingUtils mappingUtils,
                             CrossConnectImpl121 crossConnectImpl121,
                             CrossConnectImpl221 crossConnectImpl221,
index c30db42143ca492891d238e3785de3655c580b85..5f59db573ab9e0504e70e9839fc7a14b2e065abf 100644 (file)
@@ -59,30 +59,8 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <argument ref="portMapping710" />
     </bean>
 
         <argument ref="portMapping710" />
     </bean>
 
-    <bean id="crossConnect121" class="org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121" >
-        <argument ref="deviceTransactionManager" />
-    </bean>
-
-    <bean id="crossConnect221" class="org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221" >
-        <argument ref="deviceTransactionManager" />
-    </bean>
-
-    <bean id="crossConnect710" class="org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl710" >
-        <argument ref="deviceTransactionManager" />
-    </bean>
-
-    <bean id="crossConnectImpl" class="org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl" >
-        <argument ref="deviceTransactionManager" />
-        <argument ref="mappingUtils" />
-        <argument ref="crossConnect121" />
-        <argument ref="crossConnect221" />
-        <argument ref="crossConnect710" />
-    </bean>
-
     <service ref="openRoadmInterfaces" interface="org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces" />
 
     <service ref="portMapping" interface="org.opendaylight.transportpce.common.mapping.PortMapping" />
 
     <service ref="openRoadmInterfaces" interface="org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces" />
 
     <service ref="portMapping" interface="org.opendaylight.transportpce.common.mapping.PortMapping" />
 
-    <service ref="crossConnectImpl" interface="org.opendaylight.transportpce.common.crossconnect.CrossConnect" />
-
 </blueprint>
 </blueprint>