Fix NPE when sending a PCInitiate message 00/5000/1
authorRobert Varga <rovarga@cisco.com>
Wed, 29 Jan 2014 13:23:40 +0000 (14:23 +0100)
committerRobert Varga <rovarga@cisco.com>
Wed, 29 Jan 2014 13:33:25 +0000 (14:33 +0100)
Change-Id: I4c167b5465d200a5293bb6c0b7530b116a0cbf6c
Signed-off-by: Robert Varga <rovarga@cisco.com>
pcep/ietf-stateful07/src/main/java/org/opendaylight/protocol/pcep/ietf/stateful07/PCEPLspObjectParser.java
pcep/topology-provider/src/main/java/org/opendaylight/bgpcep/pcep/topology/provider/Stateful07TopologySessionListener.java

index 67beab9fc5547d8b3490d24d7dde899ea5b51372..ff3b0e5dd4078aa4ba28ba1869d8dd8df89f5e32 100644 (file)
@@ -28,6 +28,8 @@ 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.ObjectHeader;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Tlv;
 
+import com.google.common.base.Preconditions;
+
 /**
  * Parser for {@link Lsp}
  */
@@ -106,6 +108,7 @@ public class PCEPLspObjectParser extends AbstractObjectWithTlvsParser<TlvsBuilde
                final byte[] tlvs = serializeTlvs(specObj.getTlvs());
                final byte[] retBytes = new byte[TLVS_OFFSET + tlvs.length + getPadding(TLVS_OFFSET + tlvs.length, PADDED_TO)];
 
+               Preconditions.checkArgument(specObj.getPlspId() != null, "PLSP-ID not present");
                final int lspID = specObj.getPlspId().getValue().intValue();
                retBytes[0] = (byte) (lspID >> 12);
                retBytes[1] = (byte) (lspID >> 4);
index 0c47d8350492e1e99f9b227c2e3f6f7b5078d9de..d175a02800ce3dba5ee407d9d4578587c1d0cdde 100644 (file)
@@ -182,7 +182,7 @@ final class Stateful07TopologySessionListener extends AbstractTopologySessionLis
                final RequestsBuilder rb = new RequestsBuilder();
                rb.fieldsFrom(input.getArguments());
                rb.setSrp(new SrpBuilder().setOperationId(nextRequest()).setProcessingRule(Boolean.TRUE).build());
-               rb.setLsp(new LspBuilder().setAdministrative(input.getArguments().isAdministrative()).setDelegate(Boolean.TRUE).setTlvs(
+               rb.setLsp(new LspBuilder().setAdministrative(input.getArguments().isAdministrative()).setDelegate(Boolean.TRUE).setPlspId(new PlspId(0L)).setTlvs(
                                new TlvsBuilder().setSymbolicPathName(
                                                new SymbolicPathNameBuilder().setPathName(new SymbolicPathName(input.getName().getBytes(Charsets.UTF_8))).build()).build()).build());