Refactor OLM timers management
[transportpce.git] / olm / src / main / resources / OSGI-INF / blueprint / olm-blueprint.xml
index 0babd70bbebafa5a4b72d5e923c19cc413e71d0b..10ef220e0edf39425c85d9ed9ca3c5504ff2b4d1 100644 (file)
@@ -9,13 +9,24 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
       xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
+      xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
       odl:use-default-for-reference-types="true">
 
+    <cm:property-placeholder persistent-id="org.opendaylight.transportpce.olm" update-strategy="reload">
+        <cm:default-properties>
+            <cm:property name="timer1" value="120000" />
+            <cm:property name="timer2" value="20000" />
+            <!--The following values are used to speed-up tests with simulators without convergence times-->
+            <!--cm:property name="timer1" value="3000" /-->
+            <!--cm:property name="timer2" value="2000" /-->
+        </cm:default-properties>
+    </cm:property-placeholder>
+
+
   <reference id="dataBroker"
-        interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
-        odl:type="default" />
-  <reference id="rpcProviderRegistry"
-        interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry" />
+        interface="org.opendaylight.mdsal.binding.api.DataBroker"/>
+  <reference id="rpcProviderService"
+        interface="org.opendaylight.mdsal.binding.api.RpcProviderService" />
   <reference id="openRoadmInterfaces"
         interface="org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces" />
   <reference id="crossConnect"
@@ -24,6 +35,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         interface="org.opendaylight.transportpce.common.device.DeviceTransactionManager" />
   <reference id="portMapping"
         interface="org.opendaylight.transportpce.common.mapping.PortMapping" />
+  <reference id="mappingUtils" interface="org.opendaylight.transportpce.common.mapping.MappingUtils" />
 
   <bean id="olmPowerServiceImpl"
         class="org.opendaylight.transportpce.olm.service.OlmPowerServiceImpl"
@@ -32,23 +44,26 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <argument ref="powerMgmt" />
     <argument ref="deviceTransactionManager" />
     <argument ref="portMapping" />
+    <argument ref="mappingUtils" />
+    <argument ref="openRoadmInterfaces" />
   </bean>
 
-  <bean id="powerMgmt" class="org.opendaylight.transportpce.olm.power.PowerMgmt" >
+  <bean id="powerMgmt" class="org.opendaylight.transportpce.olm.power.PowerMgmtImpl" >
     <argument ref="dataBroker" />
     <argument ref="openRoadmInterfaces" />
     <argument ref="crossConnect" />
     <argument ref="deviceTransactionManager" />
+    <argument value="${timer1}"/>
+    <argument value="${timer2}"/>
   </bean>
 
   <bean id="provider"
         class="org.opendaylight.transportpce.olm.OlmProvider"
         init-method="init" destroy-method="close">
-    <argument ref="rpcProviderRegistry" />
+    <argument ref="rpcProviderService" />
     <argument ref="olmPowerServiceImpl" />
   </bean>
 
   <service ref="olmPowerServiceImpl"
         interface="org.opendaylight.transportpce.olm.service.OlmPowerService"/>
-
 </blueprint>