PCEP protocol message update

Change-Id: Icdea6c105553cd3dec1cacea6e2951f9e422b676
diff --git a/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepLabelObjectVer1.java b/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepLabelObjectVer1.java
index 0c76894..a66d7ce 100644
--- a/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepLabelObjectVer1.java
+++ b/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepLabelObjectVer1.java
@@ -38,19 +38,19 @@
 public class PcepLabelObjectVer1 implements PcepLabelObject {
 
     /*
-     *   ref : draft-zhao-pce-pcep-extension-for-pce-controller-01 , section : 7.4.
+     *   ref : draft-zhao-pce-pcep-extension-for-pce-controller-03, section : 7.3.
 
-        0                   1                   2                   3
-           0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       | Reserved                      | Flags                       |O|
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                            Label                              |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                                                               |
-       //                        Optional TLV                          //
-       |                                                               |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+    0                   1                   2                   3
+    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+   |          Reserved            |              Flags           |O|
+   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+   |                 Label                 |     Reserved          |
+   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+   |                                                               |
+   //                        Optional TLV                         //
+   |                                                               |
+   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                      The LABEL Object format
      */
     protected static final Logger log = LoggerFactory.getLogger(PcepLspObjectVer1.class);
@@ -65,6 +65,7 @@
     public static final short LABEL_OBJ_MINIMUM_LENGTH = 12;
 
     public static final int OFLAG_SET = 1;
+    public static final int SHIFT_LABEL = 12;
     public static final int OFLAG_RESET = 0;
     public static final int MINIMUM_COMMON_HEADER_LENGTH = 4;
 
@@ -72,45 +73,45 @@
             PcepObjectHeader.REQ_OBJ_OPTIONAL_PROCESS, PcepObjectHeader.RSP_OBJ_PROCESSED, LABEL_OBJ_MINIMUM_LENGTH);
 
     private PcepObjectHeader labelObjHeader;
-    private boolean bOFlag;
+    private boolean oBit;
     private int label;
     // Optional TLV
-    private LinkedList<PcepValueType> llOptionalTlv;
+    private LinkedList<PcepValueType> optionalTlv;
 
     /**
      * Constructor to initialize parameters for PCEP label object.
      *
      * @param labelObjHeader label object header
-     * @param bOFlag O flag
+     * @param oBit O flag
      * @param label label
-     * @param llOptionalTlv list of optional tlvs
+     * @param optionalTlv list of optional tlvs
      */
-    public PcepLabelObjectVer1(PcepObjectHeader labelObjHeader, boolean bOFlag, int label,
-            LinkedList<PcepValueType> llOptionalTlv) {
+    public PcepLabelObjectVer1(PcepObjectHeader labelObjHeader, boolean oBit, int label,
+            LinkedList<PcepValueType> optionalTlv) {
         this.labelObjHeader = labelObjHeader;
-        this.bOFlag = bOFlag;
+        this.oBit = oBit;
         this.label = label;
-        this.llOptionalTlv = llOptionalTlv;
+        this.optionalTlv = optionalTlv;
     }
 
     @Override
     public LinkedList<PcepValueType> getOptionalTlv() {
-        return this.llOptionalTlv;
+        return this.optionalTlv;
     }
 
     @Override
-    public void setOptionalTlv(LinkedList<PcepValueType> llOptionalTlv) {
-        this.llOptionalTlv = llOptionalTlv;
+    public void setOptionalTlv(LinkedList<PcepValueType> optionalTlv) {
+        this.optionalTlv = optionalTlv;
     }
 
     @Override
     public boolean getOFlag() {
-        return this.bOFlag;
+        return this.oBit;
     }
 
     @Override
     public void setOFlag(boolean value) {
-        this.bOFlag = value;
+        this.oBit = value;
     }
 
     @Override
@@ -134,23 +135,24 @@
 
         PcepObjectHeader labelObjHeader;
 
-        boolean bOFlag;
+        boolean oBit;
         int label;
 
         // Optional TLV
-        LinkedList<PcepValueType> llOptionalTlv = new LinkedList<>();
+        LinkedList<PcepValueType> optionalTlv = new LinkedList<>();
         labelObjHeader = PcepObjectHeader.read(cb);
 
         //take only LspObject buffer.
         ChannelBuffer tempCb = cb.readBytes(labelObjHeader.getObjLen() - OBJECT_HEADER_LENGTH);
 
         int iTemp = tempCb.readInt();
-        bOFlag = (iTemp & (byte) 0x01) == 1;
-        label = tempCb.readInt();
+        oBit = (iTemp & (byte) OFLAG_SET) == OFLAG_SET;
+        iTemp = tempCb.readInt();
+        label = (int) iTemp >> SHIFT_LABEL;
 
         // parse optional TLV
-        llOptionalTlv = parseOptionalTlv(tempCb);
-        return new PcepLabelObjectVer1(labelObjHeader, bOFlag, label, llOptionalTlv);
+        optionalTlv = parseOptionalTlv(tempCb);
+        return new PcepLabelObjectVer1(labelObjHeader, oBit, label, optionalTlv);
     }
 
     @Override
@@ -166,9 +168,11 @@
 
         byte oFlag;
 
-        oFlag = (byte) ((bOFlag) ? OFLAG_SET : OFLAG_RESET);
+        oFlag = (byte) ((oBit) ? OFLAG_SET : OFLAG_RESET);
         cb.writeInt(oFlag);
-        cb.writeInt(label);
+        int temp = label;
+        temp = (int) label << SHIFT_LABEL;
+        cb.writeInt(temp);
 
         // Add optional TLV
         packOptionalTlv(cb);
@@ -245,7 +249,7 @@
      */
     protected int packOptionalTlv(ChannelBuffer cb) {
 
-        ListIterator<PcepValueType> listIterator = llOptionalTlv.listIterator();
+        ListIterator<PcepValueType> listIterator = optionalTlv.listIterator();
 
         while (listIterator.hasNext()) {
             PcepValueType tlv = listIterator.next();
@@ -269,10 +273,10 @@
         private boolean bIsLabelSet = false;
 
         private PcepObjectHeader labelObjHeader;
-        private boolean bOFlag;
+        private boolean oBit;
         private int label;
 
-        LinkedList<PcepValueType> llOptionalTlv = new LinkedList<>();
+        LinkedList<PcepValueType> optionalTlv = new LinkedList<>();
 
         private boolean bIsPFlagSet = false;
         private boolean bPFlag;
@@ -283,7 +287,7 @@
         @Override
         public PcepLabelObject build() throws PcepParseException {
             PcepObjectHeader labelObjHeader = this.bIsHeaderSet ? this.labelObjHeader : DEFAULT_LABEL_OBJECT_HEADER;
-            boolean bOFlag = this.bIsOFlagSet ? this.bOFlag : DEFAULT_OFLAG;
+            boolean oBit = this.bIsOFlagSet ? this.oBit : DEFAULT_OFLAG;
 
             if (!this.bIsLabelSet) {
                 throw new PcepParseException(" Label NOT Set while building PcepLabelObject.");
@@ -294,7 +298,7 @@
             if (bIsIFlagSet) {
                 labelObjHeader.setIFlag(bIFlag);
             }
-            return new PcepLabelObjectVer1(labelObjHeader, bOFlag, this.label, this.llOptionalTlv);
+            return new PcepLabelObjectVer1(labelObjHeader, oBit, this.label, this.optionalTlv);
         }
 
         @Override
@@ -311,12 +315,12 @@
 
         @Override
         public boolean getOFlag() {
-            return this.bOFlag;
+            return this.oBit;
         }
 
         @Override
         public Builder setOFlag(boolean value) {
-            this.bOFlag = value;
+            this.oBit = value;
             this.bIsOFlagSet = true;
             return this;
         }
@@ -335,12 +339,12 @@
 
         @Override
         public LinkedList<PcepValueType> getOptionalTlv() {
-            return this.llOptionalTlv;
+            return this.optionalTlv;
         }
 
         @Override
-        public Builder setOptionalTlv(LinkedList<PcepValueType> llOptionalTlv) {
-            this.llOptionalTlv = llOptionalTlv;
+        public Builder setOptionalTlv(LinkedList<PcepValueType> optionalTlv) {
+            this.optionalTlv = optionalTlv;
             return this;
         }
 
@@ -362,9 +366,9 @@
     @Override
     public String toString() {
         return MoreObjects.toStringHelper(getClass())
-                .add("OFlag", bOFlag)
+                .add("oBit", oBit)
                 .add("label", label)
-                .add("OptionalTlvList", llOptionalTlv)
+                .add("optionalTlv", optionalTlv)
                 .toString();
     }
 }