Changed zeromq-routingtable module to remoterpc-routingtable based on codereview... 55/3655/4
authorBasheeruddin Ahmed <syedbahm@cisco.com>
Mon, 16 Dec 2013 23:58:38 +0000 (15:58 -0800)
committerBasheeruddin Ahmed <syedbahm@cisco.com>
Tue, 17 Dec 2013 00:04:12 +0000 (16:04 -0800)
Change-Id: Idbdeca125c81c382a4ec0eec479c614b5ecf891a
Signed-off-by: Basheeruddin Ahmed <syedbahm@cisco.com>
20 files changed:
opendaylight/distribution/opendaylight/pom.xml
opendaylight/distribution/opendaylight/src/main/resources/configuration/logback.xml
opendaylight/md-sal/pom.xml
opendaylight/md-sal/remoterpc-routingtable/implementation/pom.xml [moved from opendaylight/md-sal/zeromq-routingtable/implementation/pom.xml with 98% similarity]
opendaylight/md-sal/remoterpc-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/api/RouteChangeListener.java [moved from opendaylight/md-sal/zeromq-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/api/RouteChangeListener.java with 100% similarity]
opendaylight/md-sal/remoterpc-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/api/RoutingTable.java [moved from opendaylight/md-sal/zeromq-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/api/RoutingTable.java with 100% similarity]
opendaylight/md-sal/remoterpc-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/api/RoutingTableException.java [moved from opendaylight/md-sal/zeromq-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/api/RoutingTableException.java with 100% similarity]
opendaylight/md-sal/remoterpc-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/api/SystemException.java [moved from opendaylight/md-sal/zeromq-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/api/SystemException.java with 100% similarity]
opendaylight/md-sal/remoterpc-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/impl/Activator.java [moved from opendaylight/md-sal/zeromq-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/impl/Activator.java with 100% similarity]
opendaylight/md-sal/remoterpc-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/impl/RoutingTableImpl.java [moved from opendaylight/md-sal/zeromq-routingtable/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/impl/RoutingTableImpl.java with 95% similarity]
opendaylight/md-sal/remoterpc-routingtable/implementation/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/impl/RoutingTableImplTest.java [moved from opendaylight/md-sal/zeromq-routingtable/implementation/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/impl/RoutingTableImplTest.java with 100% similarity]
opendaylight/md-sal/remoterpc-routingtable/integrationtest/pom.xml [moved from opendaylight/md-sal/zeromq-routingtable/integrationtest/pom.xml with 98% similarity]
opendaylight/md-sal/remoterpc-routingtable/integrationtest/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/impl/ZeroMQRoutingTableTestIT.java [moved from opendaylight/md-sal/zeromq-routingtable/integrationtest/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/impl/ZeroMQRoutingTableTestIT.java with 99% similarity]
opendaylight/md-sal/remoterpc-routingtable/integrationtest/src/test/resources/logback.xml [moved from opendaylight/md-sal/zeromq-routingtable/integrationtest/src/test/resources/logback.xml with 100% similarity]
opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/pom.xml [new file with mode: 0644]
opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/src/main/java/org/opendaylight/controller/tests/zmqroutingtable/rest/RouteIdentifierImpl.java [new file with mode: 0644]
opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/src/main/java/org/opendaylight/controller/tests/zmqroutingtable/rest/Router.java [new file with mode: 0644]
opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/src/main/resources/WEB-INF/web.xml [new file with mode: 0644]
opendaylight/md-sal/sal-remoterpc-connector/implementation/pom.xml
opendaylight/md-sal/sal-remoterpc-connector/integrationtest/test-nb/pom.xml

index 35e160e..b0f7ad8 100644 (file)
         <dependency>
               <groupId>org.opendaylight.controller</groupId>
               <artifactId>
-                  zeromq-routingtable.implementation
+                  remoterpc-routingtable.implementation
               </artifactId>
               <version>0.4.1-SNAPSHOT</version>
         </dependency>
index 2815422..84d1c91 100644 (file)
@@ -61,7 +61,7 @@
   <logger name="org.opendaylight.controller.sal.implementation" level="INFO"/>
   <logger name="org.opendaylight.controller.sal.implementation.internal.Inventory" level="INFO"/>
   <logger name="org.opendaylight.controller.sal.implementation.internal.Topology" level="INFO"/>
-     <!-- zeromq router and zeromq routing table -->
+     <!-- remoterpc router and remoterpc routing table -->
   <logger name="org.opendaylight.controller.sal.connector.remoterpc" level="INFO" />
   <!-- Functional Modules -->
   <logger name="org.opendaylight.controller.arphandler" level="INFO"/>
index 4f2b255..0d6523b 100644 (file)
@@ -43,7 +43,7 @@
         <module>sal-rest-connector</module>
         <module>sal-netconf-connector</module>
 
-        <module>zeromq-routingtable/implementation</module>
+        <module>remoterpc-routingtable/implementation</module>
         <module>sal-remoterpc-connector/implementation</module>
         <!-- Clustered Data Store -->
         <module>clustered-data-store/implementation</module>
@@ -15,7 +15,7 @@
         <tag>HEAD</tag>
     </scm>
 
-    <artifactId>zeromq-routingtable.implementation</artifactId>
+    <artifactId>remoterpc-routingtable.implementation</artifactId>
     <version>0.4.1-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
@@ -30,6 +30,7 @@ import javax.transaction.RollbackException;
 import java.util.Collections;
 import java.util.EnumSet;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentMap;
 
@@ -254,6 +255,23 @@ public class RoutingTableImpl<I, R> implements RoutingTable<I, R>, ICacheUpdateA
         return this.routingTableCache;
     }
 
+    /**
+     * This is used from integration test NP rest API to check out the result of the
+     * cache population
+     * <Note> For testing purpose only-- use it wisely</Note>
+     * @return
+     */
+    public String dumpRoutingTableCache(){
+       Set<Map.Entry<I, R>> cacheEntrySet = this.routingTableCache.entrySet();
+       StringBuilder sb = new StringBuilder();
+       for(Map.Entry<I,R> entry:cacheEntrySet){
+           sb.append("Key:").append(entry.getKey()).append("---->Value:")
+                   .append((entry.getValue() != null)?entry.getValue():"null")
+                   .append("\n");
+       }
+       return sb.toString();
+    }
+
     /**
      * Invoked when a new entry is available in the cache, the key is only
      * provided, the value will come as an entryUpdate invocation
     <tag>HEAD</tag>
   </scm>
 
-  <artifactId>zeromq-routingtable.integrationtest</artifactId>
+  <artifactId>remoterpc-routingtable.integrationtest</artifactId>
   <version>0.4.1-SNAPSHOT</version>
 
   <dependencies>
     <dependency>
         <groupId>org.opendaylight.controller</groupId>
-        <artifactId>zeromq-routingtable.implementation</artifactId>
+        <artifactId>remoterpc-routingtable.implementation</artifactId>
         <version>0.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
@@ -120,7 +120,7 @@ public class
                         .versionAsInProject(),
                 mavenBundle(ODL, "sal-connector-api")
                         .versionAsInProject(),
-                mavenBundle(ODL, "zeromq-routingtable.implementation")
+                mavenBundle(ODL, "remoterpc-routingtable.implementation")
                         .versionAsInProject(),
 
                 mavenBundle("org.jboss.spec.javax.transaction",
diff --git a/opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/pom.xml b/opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/pom.xml
new file mode 100644 (file)
index 0000000..35b2a4b
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>sal-remoterpc-connector-test-parent</artifactId>
+    <groupId>org.opendaylight.controller.tests</groupId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>remoterpc-routingtable-nb-it</artifactId>
+  <packaging>bundle</packaging>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>${bundle.plugin.version}</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Export-Package>
+             org.opendaylight.controller.tests.zmqroutingtable.rest
+            </Export-Package>
+            <Import-Package>
+              com.sun.jersey.spi.container.servlet,
+              org.codehaus.jackson.annotate,
+              javax.ws.rs,
+              javax.ws.rs.core,
+              javax.xml.bind,
+              javax.xml.bind.annotation,
+              org.slf4j,
+              org.apache.catalina.filters,
+              org.codehaus.jackson.jaxrs,
+              org.opendaylight.controller.sal.utils,
+              org.opendaylight.yangtools.yang.common,
+              org.opendaylight.controller.sal.connector.api,
+              org.opendaylight.controller.sal.connector.remoterpc.api,
+              org.opendaylight.controller.sal.connector.remoterpc.impl,
+              org.osgi.framework,
+              com.google.common.base,
+              org.opendaylight.yangtools.yang.data.api,
+              !org.codehaus.enunciate.jaxrs
+
+            </Import-Package>
+            <Web-ContextPath>/controller/nb/v2/zmqnbrt</Web-ContextPath>
+            <Jaxrs-Resources>,${classes;ANNOTATION;javax.ws.rs.Path}</Jaxrs-Resources>
+          </instructions>
+          <manifestLocation>${project.basedir}/src/main/resources/META-INF</manifestLocation>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>containermanager</artifactId>
+      <version>0.5.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>commons.northbound</artifactId>
+      <version>0.4.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>sal</artifactId>
+      <version>0.5.1-SNAPSHOT</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>5.0.0</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+    </dependency>
+      <dependency>
+          <groupId>org.opendaylight.controller</groupId>
+          <artifactId>remoterpc-routingtable.implementation</artifactId>
+          <version>0.4.1-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+          <groupId>com.google.guava</groupId>
+          <artifactId>guava</artifactId>
+      </dependency>
+  </dependencies>
+
+ </project>
diff --git a/opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/src/main/java/org/opendaylight/controller/tests/zmqroutingtable/rest/RouteIdentifierImpl.java b/opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/src/main/java/org/opendaylight/controller/tests/zmqroutingtable/rest/RouteIdentifierImpl.java
new file mode 100644 (file)
index 0000000..6b7ee26
--- /dev/null
@@ -0,0 +1,69 @@
+package org.opendaylight.controller.tests.zmqroutingtable.rest;
+
+import org.opendaylight.controller.sal.connector.api.RpcRouter;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
+
+import java.io.Serializable;
+import java.net.URI;
+
+/**
+ * @author: syedbahm
+ * Date: 12/10/13
+ */
+public class RouteIdentifierImpl implements RpcRouter.RouteIdentifier, Serializable {
+
+    private final URI namespace;
+    private final QName QNAME;
+    private final QName instance;
+
+    public RouteIdentifierImpl() {
+        namespace = URI.create("http://cisco.com/example");
+        QNAME = new QName(namespace, "global");
+        instance = new QName(URI.create("127.0.0.1"), "local");
+    }
+
+    public RouteIdentifierImpl(String url,String instanceIP){
+        namespace = URI.create(url);
+        QNAME = new QName(namespace,"global");
+        instance =  new QName(URI.create(instanceIP), "local");
+    }
+
+
+    @Override
+    public QName getContext() {
+        return QNAME;
+    }
+
+    @Override
+    public QName getType() {
+        return QNAME;
+    }
+
+    @Override
+    public org.opendaylight.yangtools.yang.data.api.InstanceIdentifier getRoute() {
+        return InstanceIdentifier.of(instance);
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        RouteIdentifierImpl that = (RouteIdentifierImpl) o;
+
+        if (!QNAME.equals(that.QNAME)) return false;
+        if (!instance.equals(that.instance)) return false;
+        if (!namespace.equals(that.namespace)) return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int result = namespace.hashCode();
+        result = 31 * result + QNAME.hashCode();
+        result = 31 * result + instance.hashCode();
+        return result;
+    }
+}
\ No newline at end of file
diff --git a/opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/src/main/java/org/opendaylight/controller/tests/zmqroutingtable/rest/Router.java b/opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/src/main/java/org/opendaylight/controller/tests/zmqroutingtable/rest/Router.java
new file mode 100644 (file)
index 0000000..c426927
--- /dev/null
@@ -0,0 +1,157 @@
+package org.opendaylight.controller.tests.zmqroutingtable.rest;
+
+import org.opendaylight.controller.sal.connector.remoterpc.api.RoutingTable;
+import org.opendaylight.controller.sal.connector.remoterpc.api.RoutingTableException;
+import org.opendaylight.controller.sal.connector.remoterpc.api.SystemException;
+import org.opendaylight.controller.sal.connector.remoterpc.impl.RoutingTableImpl;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleReference;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import java.io.Serializable;
+import java.net.URI;
+
+@Path("router")
+public class Router implements Serializable {
+  private Logger _logger = LoggerFactory.getLogger(Router.class);
+  private final URI namespace = URI.create("http://cisco.com/example");
+  private final QName QNAME = new QName(namespace, "heartbeat");
+
+
+  @GET
+  @Path("/hello")
+  @Produces(MediaType.TEXT_PLAIN)
+  public String hello() {
+    return "Hello";
+  }
+
+
+
+
+    @GET
+    @Path("/rtadd")
+    @Produces(MediaType.TEXT_PLAIN)
+    public String addToRoutingTable(@QueryParam("nsp") String namespace,@QueryParam("inst") String instance,@QueryParam("port") String port) {
+        _logger.info("Invoking adding an entry in routing table");
+
+        BundleContext ctx = getBundleContext();
+        ServiceReference routingTableServiceReference = ctx.getServiceReference(RoutingTable.class);
+        if (routingTableServiceReference == null) {
+            _logger.debug("Could not get routing table impl reference");
+            return "Could not get routingtable referen ";
+        }
+        RoutingTableImpl routingTable = (RoutingTableImpl) ctx.getService(routingTableServiceReference);
+        if (routingTable == null) {
+            _logger.info("Could not get routing table service");
+            return "Could not get routing table service";
+        }
+
+
+        RouteIdentifierImpl rii = new RouteIdentifierImpl(namespace,instance);
+        try {
+            routingTable.addGlobalRoute(rii, instance+":"+ port);
+        } catch (RoutingTableException e) {
+            _logger.error("error in adding routing identifier" + e.getMessage());
+
+        } catch (SystemException e) {
+            _logger.error("error in adding routing identifier" + e.getMessage());
+        }
+
+        StringBuilder stringBuilder = new StringBuilder();
+        stringBuilder.append("Result of adding route:").append("\n")
+                     .append(routingTable.dumpRoutingTableCache());
+        return stringBuilder.toString();
+    }
+
+  @GET
+  @Path("/rtdelete")
+  @Produces(MediaType.TEXT_PLAIN)
+  public String invokeDeleteRoutingTable(@QueryParam("nsp") String namespace,@QueryParam("inst") String instance) {
+    _logger.info("Invoking delete an entry in routing table");
+
+    BundleContext ctx = getBundleContext();
+    ServiceReference routingTableServiceReference = ctx.getServiceReference(RoutingTable.class);
+    if (routingTableServiceReference == null) {
+      _logger.debug("Could not get routing table impl reference");
+      return "Could not get routingtable referen ";
+    }
+    RoutingTableImpl routingTable = (RoutingTableImpl) ctx.getService(routingTableServiceReference);
+    if (routingTable == null) {
+      _logger.info("Could not get routing table service");
+      return "Could not get routing table service";
+    }
+
+
+    RouteIdentifierImpl rii = new RouteIdentifierImpl(namespace,instance);
+    try {
+      routingTable.removeGlobalRoute(rii);
+    } catch (RoutingTableException e) {
+      _logger.error("error in adding routing identifier" + e.getMessage());
+
+    } catch (SystemException e) {
+      _logger.error("error in adding routing identifier" + e.getMessage());
+    }
+
+
+    StringBuilder stringBuilder = new StringBuilder();
+    stringBuilder.append("Result of deleting route:").append("\n")
+              .append(routingTable.dumpRoutingTableCache());
+
+    return stringBuilder.toString();
+  }
+
+    @GET
+    @Path("/routingtable")
+    @Produces(MediaType.TEXT_PLAIN)
+    public String invokeGetRoutingTable() {
+        _logger.info("Invoking getting of routing table");
+
+        BundleContext ctx = getBundleContext();
+        ServiceReference routingTableServiceReference = ctx.getServiceReference(RoutingTable.class);
+        if (routingTableServiceReference == null) {
+            _logger.debug("Could not get routing table impl reference");
+            return "Could not get routingtable referen ";
+        }
+        RoutingTableImpl routingTable = (RoutingTableImpl) ctx.getService(routingTableServiceReference);
+        if (routingTable == null) {
+            _logger.info("Could not get routing table service");
+            return "Could not get routing table service";
+        }
+
+
+        StringBuilder stringBuilder = new StringBuilder();
+        stringBuilder.append("Result of getting routetable:").append("\n")
+                .append(routingTable.dumpRoutingTableCache());
+
+        return stringBuilder.toString();
+    }
+
+
+
+  private BundleContext getBundleContext() {
+    ClassLoader tlcl = Thread.currentThread().getContextClassLoader();
+    Bundle bundle = null;
+
+    if (tlcl instanceof BundleReference) {
+      bundle = ((BundleReference) tlcl).getBundle();
+    } else {
+      _logger.info("Unable to determine the bundle context based on " +
+          "thread context classloader.");
+      bundle = FrameworkUtil.getBundle(this.getClass());
+    }
+    return (bundle == null ? null : bundle.getBundleContext());
+  }
+
+
+
+}
diff --git a/opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/src/main/resources/WEB-INF/web.xml b/opendaylight/md-sal/remoterpc-routingtable/integrationtest/test-nb/src/main/resources/WEB-INF/web.xml
new file mode 100644 (file)
index 0000000..2a0f3f3
--- /dev/null
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+        version="3.0">
+  <servlet>
+    <servlet-name>JAXRSZmqRT</servlet-name>
+    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+    <init-param>
+      <param-name>javax.ws.rs.Application</param-name>
+      <param-value>org.opendaylight.controller.northbound.commons.NorthboundApplication</param-value>
+    </init-param>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
+
+  <servlet-mapping>
+    <servlet-name>JAXRSZmqRT</servlet-name>
+    <url-pattern>/*</url-pattern>
+  </servlet-mapping>
+
+
+
+        <security-constraint>
+          <web-resource-collection>
+            <web-resource-name>NB api</web-resource-name>
+            <url-pattern>/*</url-pattern>
+            <http-method>POST</http-method>
+            <http-method>GET</http-method>
+            <http-method>PUT</http-method>
+            <http-method>PATCH</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+          </web-resource-collection>
+          <auth-constraint>
+            <role-name>System-Admin</role-name>
+            <role-name>Network-Admin</role-name>
+            <role-name>Network-Operator</role-name>
+            <role-name>Container-User</role-name>
+          </auth-constraint>
+        </security-constraint>
+
+        <security-role>
+                <role-name>System-Admin</role-name>
+        </security-role>
+        <security-role>
+                <role-name>Network-Admin</role-name>
+        </security-role>
+        <security-role>
+                <role-name>Network-Operator</role-name>
+        </security-role>
+        <security-role>
+                <role-name>Container-User</role-name>
+        </security-role>
+
+        <login-config>
+                <auth-method>BASIC</auth-method>
+                <realm-name>opendaylight</realm-name>
+        </login-config>
+</web-app>
index b8e0938..c973498 100644 (file)
@@ -37,7 +37,7 @@
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
-      <artifactId>zeromq-routingtable.implementation</artifactId>
+      <artifactId>remoterpc-routingtable.implementation</artifactId>
       <!-- TODO: fix the version. Why is it not MD Sal project version?-->
       <version>0.4.1-SNAPSHOT</version>
     </dependency>
index dd7e36c..dc2fdbf 100644 (file)
@@ -97,7 +97,7 @@
     </dependency>
       <dependency>
           <groupId>org.opendaylight.controller</groupId>
-          <artifactId>zeromq-routingtable.implementation</artifactId>
+          <artifactId>remoterpc-routingtable.implementation</artifactId>
           <version>0.4.1-SNAPSHOT</version>
       </dependency>
       <dependency>