Move NodeUtils.java to ovsdb.utils 87/16487/2
authorFlavio Fernandes <ffernand@redhat.com>
Fri, 13 Mar 2015 14:51:39 +0000 (10:51 -0400)
committerFlavio Fernandes <ffernand@redhat.com>
Fri, 13 Mar 2015 18:03:55 +0000 (14:03 -0400)
Patch 2: implement code review comments.

Change-Id: I8c730fbb252d7462b43a4ffb28c3e06cf54aaee1
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
commons/parent/pom.xml
openstack/net-virt-providers/pom.xml
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/FlowCapableNodeDataChangeListener.java
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/NodeUtils.java [deleted file]
openstack/net-virt/pom.xml
openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/NodeCacheManagerImpl.java
utils/mdsal-node/pom.xml [new file with mode: 0644]
utils/mdsal-node/src/main/java/org/opendaylight/ovsdb/utils/mdsal/node/NodeUtils.java [moved from openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/NodeUtils.java with 96% similarity]
utils/mdsal-node/src/test/java/org/opendaylight/ovsdb/utils/mdsal/node/NodeUtilsTest.java [new file with mode: 0644]
utils/pom.xml

index 3fa43dc7b6a10182ce09f5f737487da2b6954d11..8f5fef458214cce7f1fccea3d612f263be5b76ea 100755 (executable)
@@ -42,11 +42,12 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <ovsdb.plugin.compatibility.layer.version>1.1.0-SNAPSHOT</ovsdb.plugin.compatibility.layer.version>
     <ovsdb.ovssfc.version>0.1.0-SNAPSHOT</ovsdb.ovssfc.version>
     <ovsdb.utils.config.version>1.1.0-SNAPSHOT</ovsdb.utils.config.version>
+    <ovsdb.utils.mdsal.node.version>1.1.0-SNAPSHOT</ovsdb.utils.mdsal.node.version>
+    <ovsdb.utils.mdsal.openflow.version>1.1.0-SNAPSHOT</ovsdb.utils.mdsal.openflow.version>
     <ovsdb.utils.servicehelper.version>1.1.0-SNAPSHOT</ovsdb.utils.servicehelper.version>
     <plugin.shell.version>1.1.0-SNAPSHOT</plugin.shell.version>
     <schema.hardwarevtep.version>1.1.0-SNAPSHOT</schema.hardwarevtep.version>
     <schema.openvswitch.version>1.1.0-SNAPSHOT</schema.openvswitch.version>
-    <utils.mdsal.openflow.version>1.1.0-SNAPSHOT</utils.mdsal.openflow.version>
     <!-- Skip Coverage and IT by default -->
     <skip.coverage>true</skip.coverage>
     <skip.distribution>false</skip.distribution>
@@ -350,10 +351,15 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <artifactId>utils.config</artifactId>
         <version>${ovsdb.utils.config.version}</version>
       </dependency>
+      <dependency>
+        <groupId>org.opendaylight.ovsdb</groupId>
+        <artifactId>utils.mdsal-node</artifactId>
+        <version>${ovsdb.utils.mdsal.node.version}</version>
+      </dependency>
       <dependency>
         <groupId>org.opendaylight.ovsdb</groupId>
         <artifactId>utils.mdsal-openflow</artifactId>
-        <version>${utils.mdsal.openflow.version}</version>
+        <version>${ovsdb.utils.mdsal.openflow.version}</version>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.ovsdb</groupId>
index ff16f2caa3c7483c5d0ebc25d9485aef0da38c5c..87625b43f329be869a4d2ec50bf317e0464f84bf 100644 (file)
@@ -94,6 +94,10 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <groupId>org.opendaylight.ovsdb</groupId>
       <artifactId>schema.openvswitch</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.opendaylight.ovsdb</groupId>
+      <artifactId>utils.mdsal-node</artifactId>
+    </dependency>
     <dependency>
       <groupId>org.opendaylight.ovsdb</groupId>
       <artifactId>utils.mdsal-openflow</artifactId>
@@ -147,7 +151,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
               org.osgi.framework,
               *
             </Import-Package>-->
-            <Embed-Dependency>utils.config,utils.mdsal-openflow;type=!pom;inline=false</Embed-Dependency>
+            <Embed-Dependency>utils.config,utils.mdsal-node,utils.mdsal-openflow;type=!pom;inline=false</Embed-Dependency>
             <Embed-Transitive>true</Embed-Transitive>
             <Bundle-Activator>org.opendaylight.ovsdb.openstack.netvirt.providers.Activator</Bundle-Activator>
           </instructions>
index 93aa0a35944375581ac3b632dfbafe7e9545421a..3193d9743636161c53dad2e18c412a976448a5f4 100644 (file)
@@ -18,7 +18,7 @@ import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;
 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-//import org.opendaylight.ovsdb.openstack.netvirt.NodeUtils;
+import org.opendaylight.ovsdb.utils.mdsal.node.NodeUtils;
 import org.opendaylight.ovsdb.openstack.netvirt.api.NetworkingProviderManager;
 import org.opendaylight.ovsdb.openstack.netvirt.api.NodeCacheManager;
 import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
diff --git a/openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/NodeUtils.java b/openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/NodeUtils.java
deleted file mode 100644 (file)
index 06444f7..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2015 Red Hat, Inc.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Sam Hague
- */
-package org.opendaylight.ovsdb.openstack.netvirt.providers.openflow13;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.opendaylight.controller.sal.core.ConstructionException;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-// TODO: Move this to org.opendaylight.ovsdb.utils
-
-public class NodeUtils {
-    protected static final Logger LOG = LoggerFactory.getLogger(NodeUtils.class);
-
-    public static String getId (String identifier) {
-        String id = identifier;
-
-        String[] pair = identifier.split("\\|");
-        if (pair[0].equals("OVS")) {
-            id = pair[1];
-        }
-        return id;
-    }
-
-    public static Node getOpenFlowNode (String identifier) {
-        NodeId nodeId = new NodeId(identifier);
-        NodeKey nodeKey = new NodeKey(nodeId);
-        Node node = new NodeBuilder()
-                .setId(nodeId)
-                .setKey(nodeKey)
-                .build();
-
-        return node;
-    }
-
-    public static Node getMdsalNode (org.opendaylight.controller.sal.core.Node salNode) {
-        String identifier = salNode.getNodeIDString();
-
-        NodeId nodeId = new NodeId("OVS" + "|" + identifier);
-        NodeKey nodeKey = new NodeKey(nodeId);
-        Node node = new NodeBuilder()
-                .setId(nodeId)
-                .setKey(nodeKey)
-                .build();
-
-        return node;
-    }
-
-    public static org.opendaylight.controller.sal.core.Node getSalNode (Node mdsalNode) {
-        String identifier = NodeUtils.getId(mdsalNode.getId().getValue());
-        org.opendaylight.controller.sal.core.Node node = null;
-
-        try {
-            node = new org.opendaylight.controller.sal.core.Node("OVS", identifier);
-        } catch (ConstructionException e) {
-            LOG.error("Failed to allocate sal Node", e);
-        }
-
-        return node;
-    }
-
-    public static List<org.opendaylight.controller.sal.core.Node> getSalNodes (List<Node> mdsalNodes) {
-        List<org.opendaylight.controller.sal.core.Node> nodes = new ArrayList<>();
-
-        for (Node mdsalNode : mdsalNodes) {
-            nodes.add(NodeUtils.getSalNode(mdsalNode));
-        }
-        return nodes;
-    }
-}
index 9f5f3d4352a091caa5656aa5faa543ab7d49efff..bbb5b67505e051fcf99b508795443bea6baf6c4f 100644 (file)
@@ -71,6 +71,10 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <groupId>org.opendaylight.ovsdb</groupId>
       <artifactId>utils.config</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.opendaylight.ovsdb</groupId>
+      <artifactId>utils.mdsal-node</artifactId>
+    </dependency>
     <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-core</artifactId>
@@ -90,7 +94,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <extensions>true</extensions>
         <configuration>
           <instructions>
-            <Embed-Dependency>utils.config;type=!pom;inline=false</Embed-Dependency>
+            <Embed-Dependency>utils.config,utils.mdsal-node;type=!pom;inline=false</Embed-Dependency>
             <Embed-Transitive>true</Embed-Transitive>
             <Export-Package>
                   org.opendaylight.ovsdb.openstack.netvirt.api
index 5ff6214cb479688de4a3e34350fd8674401854bd..2bfece62007ebafac59681db90b2a956948af15d 100644 (file)
@@ -15,6 +15,7 @@ import org.opendaylight.ovsdb.openstack.netvirt.AbstractHandler;
 import org.opendaylight.ovsdb.openstack.netvirt.NodeCacheManagerEvent;
 import org.opendaylight.ovsdb.openstack.netvirt.api.Action;
 import org.opendaylight.ovsdb.openstack.netvirt.api.NodeCacheManager;
+import org.opendaylight.ovsdb.utils.mdsal.node.NodeUtils;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -30,13 +31,11 @@ public class NodeCacheManagerImpl extends AbstractHandler
 
     @Override
     public void nodeAdded(String nodeIdentifier) {
-        logger.info("XXX >>>>> enqueue: Node added : {}", nodeIdentifier);
         logger.debug(">>>>> enqueue: Node added : {}", nodeIdentifier);
         enqueueEvent(new NodeCacheManagerEvent(nodeIdentifier, Action.ADD));
     }
     @Override
     public void nodeRemoved(String nodeIdentifier) {
-        logger.info("XXX >>>>> enqueue: Node removed : {}", nodeIdentifier);
         logger.debug(">>>>> enqueue: Node removed : {}", nodeIdentifier);
         enqueueEvent(new NodeCacheManagerEvent(nodeIdentifier, Action.DELETE));
     }
@@ -45,13 +44,13 @@ public class NodeCacheManagerImpl extends AbstractHandler
         return nodeCache;
     }
 
-    void doNodeAdded(Node node) {
+    private void _processNodeAdded(Node node) {
         nodeCache.add(node);
-        logger.info("XXXX added node {}. cache is now {}", node, nodeCache);
+        logger.info("XXXX added node {}. cache is now {}", node, nodeCache);  // TODO: debug, remove
     }
-    void doNodeRemoved(Node node) {
+    private void _processNodeRemoved(Node node) {
         nodeCache.remove(node);
-        logger.info("XXXX removed node {}. cache is now {}", node, nodeCache);
+        logger.info("XXXX removed node {}. cache is now {}", node, nodeCache);  // TODO: debug, remove
     }
 
     /**
@@ -70,10 +69,10 @@ public class NodeCacheManagerImpl extends AbstractHandler
         logger.debug(">>>>> dequeue: {}", ev);
         switch (ev.getAction()) {
             case ADD:
-                doNodeAdded(NodeUtils.getOpenFlowNode(ev.getNodeIdentifier()));
+                _processNodeAdded(NodeUtils.getOpenFlowNode(ev.getNodeIdentifier()));
                 break;
             case DELETE:
-                doNodeRemoved(NodeUtils.getOpenFlowNode(ev.getNodeIdentifier()));
+                _processNodeRemoved(NodeUtils.getOpenFlowNode(ev.getNodeIdentifier()));
                 break;
             case UPDATE:
                 break;
diff --git a/utils/mdsal-node/pom.xml b/utils/mdsal-node/pom.xml
new file mode 100644 (file)
index 0000000..2351f3a
--- /dev/null
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (C) 2014 Red Hat, Inc. and others. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v1.0 which accompanies this distribution,
+and is available at http://www.eclipse.org/legal/epl-v10.html
+-->
+<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>commons</artifactId>
+    <groupId>org.opendaylight.ovsdb</groupId>
+    <version>1.3.0-SNAPSHOT</version>
+    <relativePath>../../commons/parent/pom.xml</relativePath>
+  </parent>
+
+  <artifactId>utils.mdsal-node</artifactId>
+  <name>${project.artifactId}</name>
+  <version>1.1.0-SNAPSHOT</version>
+  <packaging>jar</packaging>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.dependencymanager</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>sal</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller.model</groupId>
+      <artifactId>model-inventory</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+</project>
similarity index 96%
rename from openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/NodeUtils.java
rename to utils/mdsal-node/src/main/java/org/opendaylight/ovsdb/utils/mdsal/node/NodeUtils.java
index a6e4ec0c2772ce5f5381226fd26b8569c3361b33..34062646093e1c3dd53a849be22ec5c7cc23e375 100644 (file)
@@ -7,8 +7,10 @@
  *
  * Authors : Sam Hague
  */
-package org.opendaylight.ovsdb.openstack.netvirt.impl;
+package org.opendaylight.ovsdb.utils.mdsal.node;
 
+import java.util.ArrayList;
+import java.util.List;
 import org.opendaylight.controller.sal.core.ConstructionException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
@@ -17,11 +19,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.N
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.ArrayList;
-import java.util.List;
-
-// TODO: Move this to org.opendaylight.ovsdb.utils
-
 public class NodeUtils {
     protected static final Logger LOG = LoggerFactory.getLogger(NodeUtils.class);
 
diff --git a/utils/mdsal-node/src/test/java/org/opendaylight/ovsdb/utils/mdsal/node/NodeUtilsTest.java b/utils/mdsal-node/src/test/java/org/opendaylight/ovsdb/utils/mdsal/node/NodeUtilsTest.java
new file mode 100644 (file)
index 0000000..30b1fdf
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ *  Copyright (C) 2015 Red Hat, Inc.
+ *
+ *  This program and the accompanying materials are made available under the
+ *  terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ *  and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ *  Authors : Sam Hague
+ */
+package org.opendaylight.ovsdb.utils.mdsal.node;
+
+import static org.junit.Assert.assertTrue;
+import org.junit.Test;
+
+public class NodeUtilsTest {
+
+    @Test
+    public void testCreateNode () {
+       // TODO
+        assertTrue(true);
+    }
+}
+
index 0546955005fa8adc43fc0813a125a4e70e8a4018..df4155521fa0b6fb24ab4b096109ef49ae062248 100644 (file)
@@ -28,6 +28,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   </prerequisites>
   <modules>
     <module>config</module>
+    <module>mdsal-node</module>
     <module>mdsal-openflow</module>
     <module>servicehelper</module>
   </modules>