@@ -0,0 +1,1448 @@
+package net.floodlightcontroller.nfvtest.nfvutils;%0A%0Apublic class FlowTuple %7B%0A%09public final static int TCP = 1;%0A%09public final static int UDP = 2;%0A%09public final static int OTHER = 3;%0A%09%0A%09private final int srcIp;%0A%09private final int dstIp;%0A%09private final int type;%0A%09private final int srcPort;%0A%09private final int dstPort;%0A%09%0A%09public FlowTuple(int srcIp, int dstIp, int type, int srcPort, int dstPort)%7B%0A%09%09this.srcIp = srcIp;%0A%09%09this.dstIp = dstIp;%0A%09%09this.type = type;%0A%09%09this.srcPort = srcPort;%0A%09%09this.dstPort = dstPort;%0A%09%7D%0A%09%0A%09@Override%0A%09public int hashCode() %7B%0A%09%09final int prime = 5807;%0A%09%09int result = prime;%0A%09%09result = result+this.srcIp;%0A%09%09result = result+this.dstIp;%0A%09%09result = result+this.type;%0A%09%09result = result+this.srcPort;%0A%09%09result = result+this.dstPort;%0A%09%09return result;%09%0A%09%7D%0A%09%0A%09@Override%0A    public boolean equals(Object obj) %7B%0A%09%09if (this == obj)%0A            return true;%0A        if (!super.equals(obj))%0A            return false;%0A        if (!(obj instanceof FlowTuple))%0A            return false;%0A        FlowTuple other = (FlowTuple)obj;%0A        %0A        if(other.srcIp != this.srcIp)%7B%0A        %09return false;%0A        %7D%0A        if(other.dstIp != this.dstIp)%7B%0A        %09return false;%0A        %7D%0A        if(other.type != this.type)%7B%0A        %09return false;%0A        %7D%0A        if(other.srcPort != this.srcPort)%7B%0A        %09return false;%0A        %7D%0A        if(other.dstPort != this.dstPort)%7B%0A        %09return false;%0A        %7D%0A        return true;%0A        %0A%09%7D%0A%7D%0A

add FlowTuple