From: Alessandro Boch Date: Tue, 25 Feb 2014 23:51:11 +0000 (+0000) Subject: Merge "Add reverse() method in Edge and Path classes" X-Git-Tag: autorelease-tag-v20140601202136_82eb3f9~377 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=2c146f582dee58e36dc22505b4c6bedb4641342f;hp=6623a8370580d5210be559299e165c96d4097fe2 Merge "Add reverse() method in Edge and Path classes" --- diff --git a/opendaylight/commons/opendaylight/pom.xml b/opendaylight/commons/opendaylight/pom.xml index 43e254c88d..acda40035f 100644 --- a/opendaylight/commons/opendaylight/pom.xml +++ b/opendaylight/commons/opendaylight/pom.xml @@ -84,7 +84,7 @@ 0.5.2-SNAPSHOT 0.7.1-SNAPSHOT 0.1.2-SNAPSHOT - 0.7.1-SNAPSHOT + 0.8.1-SNAPSHOT 0.0.3-SNAPSHOT 0.1.2-SNAPSHOT 0.0.3-SNAPSHOT diff --git a/opendaylight/md-sal/pom.xml b/opendaylight/md-sal/pom.xml index 562db98301..6cc06ba705 100644 --- a/opendaylight/md-sal/pom.xml +++ b/opendaylight/md-sal/pom.xml @@ -120,7 +120,7 @@ ${user.name}-private-view java 3.0.0 - 0.7.1-SNAPSHOT + 0.8.1-SNAPSHOT diff --git a/opendaylight/sal/api/pom.xml b/opendaylight/sal/api/pom.xml index 16868f5517..326755309d 100644 --- a/opendaylight/sal/api/pom.xml +++ b/opendaylight/sal/api/pom.xml @@ -15,7 +15,7 @@ sal - 0.7.1-SNAPSHOT + 0.8.1-SNAPSHOT bundle diff --git a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Edge.java b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Edge.java index 7f398db6f1..0dffee9c47 100644 --- a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Edge.java +++ b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Edge.java @@ -85,6 +85,19 @@ public class Edge implements Serializable { } } + /** + * Create the reversed edge + * @return The reversed edge. + */ + public Edge reverse() { + Edge re; + try { + re = new Edge(this.headNodeConnector, this.tailNodeConnector); + } catch (ConstructionException e) { + re = null; + } + return re; + } /** * getter of edge * diff --git a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Path.java b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Path.java index 31b3ec6a5a..ba2394131d 100644 --- a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Path.java +++ b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Path.java @@ -17,6 +17,8 @@ package org.opendaylight.controller.sal.core; import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; import java.util.LinkedList; import java.util.List; @@ -81,6 +83,39 @@ public class Path implements Serializable { this.edges = edges; } + /** + * Create the reversed path + * @return The reversed path + */ + public Path reverse() { + int j = edges.size(); // size always > 0 + Edge[] aEdges = new Edge[j]; + for (Edge e : edges) { + j--; + aEdges[j] = e.reverse(); + } + Path rp; + try { + rp = new Path(Arrays.asList(aEdges)); + } catch (ConstructionException ce) { + rp = null; + } + return rp; + } + + /** + * Return the list of nodes of this path, the first node is the start node + * @return the list of nodes + */ + public List getNodes() { + List nl = new ArrayList(); + nl.add(this.getStartNode()); + for (Edge e : edges) { + nl.add(e.getHeadNodeConnector().getNode()); + } + return nl; + } + /** * Copy Construct for a path *