* @file Path.java
*
* @brief Describe a path as a sequence of Edge such that from
- * each of its Tail Node there is an link to the next Head Node in the sequence
+ * each of its Head Node there is an link to the next Tail Node in the sequence
*
*/
package org.opendaylight.controller.sal.core;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
/**
* Describe a path as a sequence of Edge such that from
- * each of its Tail Node there is an link to the next Head Node in the
+ * each of its Head Node there is an link to the next Tail Node in the
* sequence
*
*/
/**
* Construct an object representing a path, the constructor will
* check if the passed list of edges is such that for every
- * consecutive edges the tailnode of the first edge coincide with
- * the head node of the subsequent in order for connectivity to be there.
+ * consecutive edges the head node of the first edge coincide with
+ * the tail node of the subsequent in order for connectivity to be there.
*
* @param edges Edges of the path
*
*/
public Path(List<Edge> edges) throws ConstructionException {
- // Lets check if the list of edges is such that the tail node
- // of an edge is also the head node of the subsequent one
+ // Lets check if the list of edges is such that the head node
+ // of an edge is also the tail node of the subsequent one
boolean sequential = true;
if (edges.size() >= 2) {
for (int i = 0; i < edges.size() - 1; i++) {
@Override
public int hashCode() {
- return HashCodeBuilder.reflectionHashCode(this);
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((edges == null) ? 0 : edges.hashCode());
+ return result;
}
@Override
public boolean equals(Object obj) {
- return EqualsBuilder.reflectionEquals(this, obj);
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ Path other = (Path) obj;
+ if (edges == null) {
+ if (other.edges != null)
+ return false;
+ } else if (!edges.equals(other.edges))
+ return false;
+ return true;
}
@Override