BUG-50 : adjusted EndpointsObject. 36/2436/3
authorDana Kutenicsova <dkutenic@cisco.com>
Wed, 6 Nov 2013 12:28:07 +0000 (13:28 +0100)
committerDana Kutenicsova <dkutenic@cisco.com>
Wed, 6 Nov 2013 13:00:50 +0000 (14:00 +0100)
Change-Id: I25e0c2fb0fa27af28f901438c7e098b7e58d3ace
Signed-off-by: Dana Kutenicsova <dkutenic@cisco.com>
pcep/api/src/main/yang/pcep-types.yang
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/Activator.java
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/object/PCEPEndPointsObjectParser.java
pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPObjectParserTest.java
pcep/topology-api/src/main/yang/network-topology-pcep.yang
pcep/topology-provider/src/main/java/org/opendaylight/bgpcep/pcep/topology/provider/ServerSessionManager.java

index 4c57ab6bdb8923b44381e404b3b9133711a46599..f61584f9d444dc04297a52fa153bae051dd3c473 100644 (file)
@@ -524,8 +524,10 @@ module pcep-types {
                description "END-POINTS Object";
                reference "https://tools.ietf.org/html/rfc5440#section-7.6";
 
-               uses object;
-               uses endpoints;
+               container endpoints-obj {
+                       uses object;
+                       uses endpoints;
+               }
        }
 
        grouping bandwidth-object {
@@ -1037,9 +1039,7 @@ module pcep-types {
                                        container p2p {
                                                when "../rp/p2mp = false";
 
-                                               container endpoints {
-                                                       uses endpoints-object;
-                                               }
+                                               uses endpoints-object;
 
                                                container reported-route {
                                                        uses reported-route-object;
@@ -1246,9 +1246,7 @@ module pcep-types {
 
                                uses lsp-object;
 
-                               container endpoints {
-                                       uses endpoints-object;
-                               }
+                               uses endpoints-object;
 
                                container ero {
                                        uses explicit-route-object;
index b9fddfb122848d8151f998c8f363cd0582fdcb9c..01c5ae6a8d94048e18e1de9f110f83eb2c0fd5a2 100644 (file)
@@ -82,7 +82,6 @@ import org.opendaylight.protocol.pcep.spi.XROSubobjectHandlerRegistry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.BandwidthObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ClasstypeObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.CloseMessage;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.EndpointsObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ExcludeRouteObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ExplicitRouteObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.GcObject;
@@ -105,6 +104,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ReportedRouteObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.SvecObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.close.object.CClose;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.endpoints.object.EndpointsObj;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.explicit.route.object.subobjects.subobject.type.PathKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.lsp.db.version.tlv.LspDbVersion;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.lsp.error.code.tlv.LspErrorCode;
@@ -278,7 +278,7 @@ public final class Activator implements PCEPExtensionProviderActivator {
                context.registerObjectSerializer(Open.class, new PCEPOpenObjectParser(tlvReg));
                context.registerObjectSerializer(Rp.class, new PCEPRequestParameterObjectParser(tlvReg));
                context.registerObjectSerializer(NoPathObject.class, new PCEPNoPathObjectParser(tlvReg));
-               context.registerObjectSerializer(EndpointsObject.class, new PCEPEndPointsObjectParser(tlvReg));
+               context.registerObjectSerializer(EndpointsObj.class, new PCEPEndPointsObjectParser(tlvReg));
                context.registerObjectSerializer(BandwidthObject.class, new PCEPBandwidthObjectParser(tlvReg));
                context.registerObjectSerializer(MetricObject.class, new PCEPMetricObjectParser(tlvReg));
                context.registerObjectSerializer(ExplicitRouteObject.class, new PCEPExplicitRouteObjectParser(eroSubReg));
index ddc0e632fef7a72509317565f138ebeff45d6e4a..95dd74a0abf01d7245fcfa8722c551b5afe15aa6 100644 (file)
@@ -14,7 +14,6 @@ import org.opendaylight.protocol.pcep.PCEPDocumentedException;
 import org.opendaylight.protocol.pcep.PCEPErrors;
 import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry;
 import org.opendaylight.protocol.util.ByteArray;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.EndpointsObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ObjectHeader;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Tlv;
@@ -23,12 +22,13 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.endpoints.address.family.Ipv4Builder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.endpoints.address.family.Ipv6;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.endpoints.address.family.Ipv6Builder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcinitiate.message.pcinitiate.message.requests.EndpointsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.endpoints.object.EndpointsObj;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.endpoints.object.EndpointsObjBuilder;
 
 /**
- * Parser for IPv4 {@link EndpointsObject}
+ * Parser for IPv4 {@link EndpointsObj}
  */
-public class PCEPEndPointsObjectParser extends AbstractObjectWithTlvsParser<EndpointsBuilder> {
+public class PCEPEndPointsObjectParser extends AbstractObjectWithTlvsParser<EndpointsObjBuilder> {
 
        public static final int CLASS = 4;
        public static final int TYPE = 1;
@@ -56,7 +56,7 @@ public class PCEPEndPointsObjectParser extends AbstractObjectWithTlvsParser<Endp
        }
 
        @Override
-       public EndpointsObject parseObject(final ObjectHeader header, final byte[] bytes) throws PCEPDeserializerException,
+       public EndpointsObj parseObject(final ObjectHeader header, final byte[] bytes) throws PCEPDeserializerException,
                        PCEPDocumentedException {
                if (bytes == null) {
                        throw new IllegalArgumentException("Array of bytes is mandatory");
@@ -66,7 +66,7 @@ public class PCEPEndPointsObjectParser extends AbstractObjectWithTlvsParser<Endp
                        throw new PCEPDocumentedException("Processed flag not set", PCEPErrors.P_FLAG_NOT_SET);
                }
 
-               final EndpointsBuilder builder = new EndpointsBuilder();
+               final EndpointsObjBuilder builder = new EndpointsObjBuilder();
                builder.setIgnore(header.isIgnore());
                builder.setProcessingRule(header.isProcessingRule());
 
@@ -87,17 +87,17 @@ public class PCEPEndPointsObjectParser extends AbstractObjectWithTlvsParser<Endp
        }
 
        @Override
-       public void addTlv(final EndpointsBuilder builder, final Tlv tlv) {
+       public void addTlv(final EndpointsObjBuilder builder, final Tlv tlv) {
                // No tlvs defined
        }
 
        @Override
        public byte[] serializeObject(final Object object) {
-               if (!(object instanceof EndpointsObject)) {
+               if (!(object instanceof EndpointsObj)) {
                        throw new IllegalArgumentException("Wrong instance of PCEPObject. Passed " + object.getClass() + ". Needed EndpointsObject.");
                }
 
-               final EndpointsObject ePObj = (EndpointsObject) object;
+               final EndpointsObj ePObj = (EndpointsObj) object;
 
                final AddressFamily afi = ePObj.getAddressFamily();
 
index d6e3564f74d2ceb85af21a69807633b9e813c03e..7259859469ffa5c18ac82b2f46d8af7e566aa861 100644 (file)
@@ -62,6 +62,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.close.object.CCloseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.endpoints.address.family.Ipv4Builder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.endpoints.address.family.Ipv6Builder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.endpoints.object.EndpointsObjBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.exclude.route.object.Subobjects;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.exclude.route.object.SubobjectsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.lsp.attributes.ClassTypeBuilder;
@@ -82,7 +83,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.path.key.object.PathKeysBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcep.error.object.ErrorObjectBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcep.error.object.error.object.TlvsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcinitiate.message.pcinitiate.message.requests.EndpointsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcrep.message.pcrep.message.replies.result.failure.NoPathBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcrep.message.pcrep.message.replies.result.failure.no.path.tlvs.NoPathVectorBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcreq.message.pcreq.message.SvecBuilder;
@@ -304,7 +304,7 @@ public class PCEPObjectParserTest {
                final PCEPEndPointsObjectParser parser = new PCEPEndPointsObjectParser(this.tlvRegistry);
                final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPEndPointsObject1IPv4.bin");
 
-               final EndpointsBuilder builder = new EndpointsBuilder();
+               final EndpointsObjBuilder builder = new EndpointsObjBuilder();
                builder.setProcessingRule(true);
                builder.setIgnore(false);
                builder.setAddressFamily(new Ipv4Builder().setSourceIpv4Address(Ipv4Util.addressForBytes(srcIPBytes)).setDestinationIpv4Address(
@@ -324,7 +324,7 @@ public class PCEPObjectParserTest {
                final PCEPEndPointsObjectParser parser = new PCEPEndPointsObjectParser(this.tlvRegistry);
                final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPEndPointsObject2IPv6.bin");
 
-               final EndpointsBuilder builder = new EndpointsBuilder();
+               final EndpointsObjBuilder builder = new EndpointsObjBuilder();
                builder.setProcessingRule(true);
                builder.setIgnore(false);
                builder.setAddressFamily(new Ipv6Builder().setSourceIpv6Address(Ipv6Util.addressForBytes(srcIPBytes)).setDestinationIpv6Address(
index fbeb3cacf64dadaf601ac980351990f7463f1a1e..b96b40fc2eca16ecc0edce213e2264703da1ce4c 100644 (file)
@@ -130,9 +130,7 @@ module network-topology-pcep {
                 default true;
             }
 
-            container endpoints {
-                uses pcep:endpoints-object;
-            }
+                       uses pcep:endpoints-object;
 
             uses pcep:path-definition;
         }
index 7fd43de770899b3354c8265ba700f01368ed2b8a..acadfd3c026334c584603a44a9bd9ee07dae06b1 100644 (file)
@@ -32,6 +32,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.mes
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.message.rev131007.PcerrBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.message.rev131007.PcinitiateBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.message.rev131007.PcupdBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.EndpointsObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Message;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.MessageHeader;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.PcrptMessage;
@@ -411,7 +412,7 @@ final class ServerSessionManager implements SessionListenerFactory<PCEPSessionLi
                }
 
                // Build the request
-               final RequestsBuilder rb = new RequestsBuilder(input.getArguments());
+               final RequestsBuilder rb = new RequestsBuilder((EndpointsObject)input.getArguments());
                rb.setSrp(new SrpBuilder().setOperationId(l.nextRequest()).setProcessingRule(Boolean.TRUE).build());
                rb.setLsp(
                                new LspBuilder().setAdministrative(input.getArguments().isAdministrative()).setDelegate(Boolean.TRUE).setTlvs(