package es.tid.pce.computingEngine.algorithms; /** * * @author b.mvas */ import es.tid.pce.pcep.constructs.EndPoint; import es.tid.pce.pcep.constructs.EndPointAndRestrictions; import es.tid.pce.pcep.constructs.P2MPEndpoints; import es.tid.pce.pcep.constructs.P2PEndpoints; import es.tid.pce.pcep.objects.EndPoints; import es.tid.pce.pcep.objects.EndPointsIPv4; import es.tid.pce.pcep.objects.GeneralizedEndPoints; import es.tid.pce.pcep.objects.ObjectParameters; public class GraphEndPoints { private GraphEndPoint source; private GraphEndPoint destination; public GraphEndPoints (EndPoints EP){ source = new GraphEndPoint() ; destination = new GraphEndPoint(); // Object source_router_id_addr = null; // Object dest_router_id_addr = null; if (EP.getOT()==ObjectParameters.PCEP_OBJECT_TYPE_ENDPOINTS_IPV4){ EndPointsIPv4 ep =(EndPointsIPv4) EP; source.setVertex(ep.getSourceIP()); destination.setVertex(ep.getDestIP()); }else if (EP.getOT()==ObjectParameters.PCEP_OBJECT_TYPE_ENDPOINTS_IPV6){ //FIXME complete this part } if (EP.getOT()==ObjectParameters.PCEP_OBJECT_TYPE_GENERALIZED_ENDPOINTS){ GeneralizedEndPoints gep =(GeneralizedEndPoints) EP; if(gep.getGeneralizedEndPointsType()==ObjectParameters.PCEP_GENERALIZED_END_POINTS_TYPE_P2P){ P2PEndpoints p2pep = gep.getP2PEndpoints(); EndPoint sourceep = p2pep.getSourceEndPoint(); EndPoint destep = p2pep.getDestinationEndPoint(); source.setVertex(sourceep.getEndPointDataPathTLV().switchID); destination.setVertex(destep.getEndPointDataPathTLV().switchID); } else if(gep.getGeneralizedEndPointsType()==ObjectParameters.PCEP_GENERALIZED_END_POINTS_TYPE_P2MP_NEW_LEAVES){ P2MPEndpoints p2mpep = gep.getP2MPEndpoints(); EndPointAndRestrictions epandrest = p2mpep.getEndPointAndRestrictions(); EndPoint sourceep = epandrest.getEndPoint(); source.setVertex(sourceep.getEndPointIPv4TLV().IPv4address); int cont=0; while (cont<=p2mpep.getEndPointAndRestrictionsList().size()){ epandrest = p2mpep.getEndPointAndRestrictionsList().get(cont); EndPoint destep = epandrest.getEndPoint(); source.setVertex(sourceep.getEndPointIPv4TLV().IPv4address); destination.setVertex(destep.getEndPointIPv4TLV().IPv4address); } } } } /* * GETTERS AND SETTERS */ public GraphEndPoint getSource() { return source; } public void setSource(GraphEndPoint source) { this.source = source; } public GraphEndPoint getDestination() { return destination; } public void setDestination(GraphEndPoint destination) { this.destination = destination; } }