[ONOS-5945] Initial implementation of MapReferral message type

1. Add skeleton code of LispMapReferral message type
2. Refactor LispLocatorRecord and LispMapRecord

Change-Id: Icbe6243e5892a0bfb784ba3c0daa22ab73c7e977
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispEncapsulatedControlTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispEncapsulatedControlTest.java
index 2a1b278..9d1448d 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispEncapsulatedControlTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispEncapsulatedControlTest.java
@@ -205,7 +205,7 @@
 
         return builder1
                 .withRecordTtl(100)
-                .withAuthoritative(true)
+                .withIsAuthoritative(true)
                 .withMapVersionNumber((short) 1)
                 .withMaskLength((byte) 0x01)
                 .withAction(LispMapReplyAction.NativelyForward)
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecordTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorTest.java
similarity index 77%
rename from protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecordTest.java
rename to protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorTest.java
index 0410178..053b1e9 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecordTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorTest.java
@@ -24,30 +24,33 @@
 import org.onosproject.lisp.msg.exceptions.LispParseError;
 import org.onosproject.lisp.msg.exceptions.LispReaderException;
 import org.onosproject.lisp.msg.exceptions.LispWriterException;
-import org.onosproject.lisp.msg.protocols.DefaultLispLocatorRecord.DefaultLocatorRecordBuilder;
-import org.onosproject.lisp.msg.protocols.LispLocatorRecord.LocatorRecordBuilder;
-import org.onosproject.lisp.msg.protocols.DefaultLispLocatorRecord.LocatorRecordWriter;
-import org.onosproject.lisp.msg.protocols.DefaultLispLocatorRecord.LocatorRecordReader;
+import org.onosproject.lisp.msg.protocols.DefaultLispLocator.DefaultLocatorBuilder;
+import org.onosproject.lisp.msg.protocols.DefaultLispLocator.LocatorReader;
+import org.onosproject.lisp.msg.protocols.DefaultLispLocator.LocatorWriter;
+import org.onosproject.lisp.msg.protocols.LispLocator.LocatorBuilder;
 import org.onosproject.lisp.msg.types.LispIpv4Address;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
 
 /**
- * Unit tests for DefaultLispLocatorRecord class.
+ * Unit tests for DefaultLispLocator class.
  */
-public final class DefaultLispLocatorRecordTest {
+public final class DefaultLispLocatorTest {
 
-    private LispLocatorRecord record1;
-    private LispLocatorRecord sameAsRecord1;
-    private LispLocatorRecord record2;
+    private static final String IP_ADDRESS_1 = "192.168.1.1";
+    private static final String IP_ADDRESS_2 = "192.168.1.2";
+
+    private LispLocator record1;
+    private LispLocator sameAsRecord1;
+    private LispLocator record2;
 
     @Before
     public void setup() {
 
-        LocatorRecordBuilder builder1 = new DefaultLocatorRecordBuilder();
+        LispLocator.LocatorBuilder builder1 = new DefaultLocatorBuilder();
 
-        LispIpv4Address ipv4Locator1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
+        LispIpv4Address ipv4Locator1 = new LispIpv4Address(IpAddress.valueOf(IP_ADDRESS_1));
 
         record1 = builder1
                         .withPriority((byte) 0x01)
@@ -60,7 +63,7 @@
                         .withLocatorAfi(ipv4Locator1)
                         .build();
 
-        LocatorRecordBuilder builder2 = new DefaultLocatorRecordBuilder();
+        LocatorBuilder builder2 = new DefaultLocatorBuilder();
 
         sameAsRecord1 = builder2
                         .withPriority((byte) 0x01)
@@ -73,9 +76,9 @@
                         .withLocatorAfi(ipv4Locator1)
                         .build();
 
-        LocatorRecordBuilder builder3 = new DefaultLocatorRecordBuilder();
+        LispLocator.LocatorBuilder builder3 = new DefaultLocatorBuilder();
 
-        LispIpv4Address ipv4Locator2 = new LispIpv4Address(IpAddress.valueOf("192.168.1.2"));
+        LispIpv4Address ipv4Locator2 = new LispIpv4Address(IpAddress.valueOf(IP_ADDRESS_2));
 
         record2 = builder3
                         .withPriority((byte) 0x02)
@@ -98,9 +101,9 @@
 
     @Test
     public void testConstruction() {
-        DefaultLispLocatorRecord record = (DefaultLispLocatorRecord) record1;
+        DefaultLispLocator record = (DefaultLispLocator) record1;
 
-        LispIpv4Address ipv4Locator = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
+        LispIpv4Address ipv4Locator = new LispIpv4Address(IpAddress.valueOf(IP_ADDRESS_1));
 
         assertThat(record.getPriority(), is((byte) 0x01));
         assertThat(record.getWeight(), is((byte) 0x01));
@@ -116,11 +119,11 @@
     public void testSerialization() throws LispReaderException, LispWriterException, LispParseError {
         ByteBuf byteBuf = Unpooled.buffer();
 
-        LocatorRecordWriter writer = new LocatorRecordWriter();
+        LocatorWriter writer = new LocatorWriter();
         writer.writeTo(byteBuf, record1);
 
-        LocatorRecordReader reader = new LocatorRecordReader();
-        LispLocatorRecord deserialized = reader.readFrom(byteBuf);
+        LocatorReader reader = new LocatorReader();
+        LispLocator deserialized = reader.readFrom(byteBuf);
 
         new EqualsTester()
                 .addEqualityGroup(record1, deserialized).testEquals();
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapNotifyTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapNotifyTest.java
index 4b7fe12..620496d 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapNotifyTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapNotifyTest.java
@@ -43,6 +43,8 @@
  */
 public final class DefaultLispMapNotifyTest {
 
+    private static final String IP_ADDRESS = "192.168.1.1";
+
     private LispMapNotify notify1;
     private LispMapNotify sameAsNotify1;
     private LispMapNotify notify2;
@@ -85,11 +87,11 @@
     private LispMapRecord getMapRecord() {
         MapRecordBuilder builder1 = new DefaultMapRecordBuilder();
 
-        LispIpv4Address ipv4Locator1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
+        LispIpv4Address ipv4Locator1 = new LispIpv4Address(IpAddress.valueOf(IP_ADDRESS));
 
         return builder1
                 .withRecordTtl(100)
-                .withAuthoritative(true)
+                .withIsAuthoritative(true)
                 .withMapVersionNumber((short) 1)
                 .withMaskLength((byte) 0x01)
                 .withAction(LispMapReplyAction.NativelyForward)
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRecordTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRecordTest.java
index 4c266e5..69bf495 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRecordTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRecordTest.java
@@ -37,6 +37,9 @@
  */
 public final class DefaultLispMapRecordTest {
 
+    private static final String IP_ADDRESS_1 = "192.168.1.1";
+    private static final String IP_ADDRESS_2 = "192.168.1.2";
+
     private LispMapRecord record1;
     private LispMapRecord sameAsRecord1;
     private LispMapRecord record2;
@@ -46,11 +49,11 @@
 
         MapRecordBuilder builder1 = new DefaultMapRecordBuilder();
 
-        LispIpv4Address ipv4Locator1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
+        LispIpv4Address ipv4Locator1 = new LispIpv4Address(IpAddress.valueOf(IP_ADDRESS_1));
 
         record1 = builder1
                         .withRecordTtl(100)
-                        .withAuthoritative(true)
+                        .withIsAuthoritative(true)
                         .withMapVersionNumber((short) 1)
                         .withMaskLength((byte) 0x01)
                         .withAction(LispMapReplyAction.NativelyForward)
@@ -61,7 +64,7 @@
 
         sameAsRecord1 = builder2
                         .withRecordTtl(100)
-                        .withAuthoritative(true)
+                        .withIsAuthoritative(true)
                         .withMapVersionNumber((short) 1)
                         .withMaskLength((byte) 0x01)
                         .withAction(LispMapReplyAction.NativelyForward)
@@ -70,11 +73,11 @@
 
         MapRecordBuilder builder3 = new DefaultMapRecordBuilder();
 
-        LispIpv4Address ipv4Locator2 = new LispIpv4Address(IpAddress.valueOf("192.168.1.2"));
+        LispIpv4Address ipv4Locator2 = new LispIpv4Address(IpAddress.valueOf(IP_ADDRESS_2));
 
         record2 = builder3
                         .withRecordTtl(200)
-                        .withAuthoritative(false)
+                        .withIsAuthoritative(false)
                         .withMapVersionNumber((short) 2)
                         .withMaskLength((byte) 0x02)
                         .withAction(LispMapReplyAction.Drop)
@@ -93,7 +96,7 @@
     public void testConstruction() {
         DefaultLispMapRecord record = (DefaultLispMapRecord) record1;
 
-        LispIpv4Address ipv4Locator = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
+        LispIpv4Address ipv4Locator = new LispIpv4Address(IpAddress.valueOf(IP_ADDRESS_1));
 
         assertThat(record.getRecordTtl(), is(100));
         assertThat(record.isAuthoritative(), is(true));
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRegisterTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRegisterTest.java
index 4e9529d..80d7d25 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRegisterTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRegisterTest.java
@@ -43,6 +43,8 @@
  */
 public final class DefaultLispMapRegisterTest {
 
+    private static final String IP_ADDRESS = "192.168.1.1";
+
     private LispMapRegister register1;
     private LispMapRegister sameAsRegister1;
     private LispMapRegister register2;
@@ -91,11 +93,11 @@
     private LispMapRecord getMapRecord() {
         MapRecordBuilder builder1 = new DefaultMapRecordBuilder();
 
-        LispIpv4Address ipv4Locator1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
+        LispIpv4Address ipv4Locator1 = new LispIpv4Address(IpAddress.valueOf(IP_ADDRESS));
 
         return builder1
                 .withRecordTtl(100)
-                .withAuthoritative(true)
+                .withIsAuthoritative(true)
                 .withMapVersionNumber((short) 1)
                 .withMaskLength((byte) 0x01)
                 .withAction(LispMapReplyAction.NativelyForward)
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapReplyTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapReplyTest.java
index dea2492..1f80c97 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapReplyTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapReplyTest.java
@@ -43,6 +43,8 @@
  */
 public final class DefaultLispMapReplyTest {
 
+    private static final String IP_ADDRESS = "192.168.1.1";
+
     private LispMapReply reply1;
     private LispMapReply sameAsReply1;
     private LispMapReply reply2;
@@ -87,11 +89,11 @@
     private LispMapRecord getMapRecord() {
         MapRecordBuilder builder1 = new DefaultMapRecordBuilder();
 
-        LispIpv4Address ipv4Locator1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
+        LispIpv4Address ipv4Locator1 = new LispIpv4Address(IpAddress.valueOf(IP_ADDRESS));
 
         return builder1
                 .withRecordTtl(100)
-                .withAuthoritative(true)
+                .withIsAuthoritative(true)
                 .withMapVersionNumber((short) 1)
                 .withMaskLength((byte) 0x01)
                 .withAction(LispMapReplyAction.NativelyForward)
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRequestTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRequestTest.java
index 1b88aa6..ee52c5b 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRequestTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapRequestTest.java
@@ -42,6 +42,14 @@
  */
 public final class DefaultLispMapRequestTest {
 
+    private static final String EID_IP_ADDRESS_1 = "192.168.1.1";
+    private static final String EID_IP_ADDRESS_2 = "192.168.1.1";
+
+    private static final String RLOC_IP_ADDRESS_1_1 = "10.1.1.1";
+    private static final String RLOC_IP_ADDRESS_1_2 = "10.1.1.2";
+    private static final String RLOC_IP_ADDRESS_2_1 = "20.1.1.1";
+    private static final String RLOC_IP_ADDRESS_2_2 = "20.1.1.2";
+
     private LispMapRequest request1;
     private LispMapRequest sameAsRequest1;
     private LispMapRequest request2;
@@ -51,10 +59,10 @@
 
         RequestBuilder builder1 = new DefaultRequestBuilder();
 
-        LispIpv4Address ipv4Eid1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
+        LispIpv4Address ipv4Eid1 = new LispIpv4Address(IpAddress.valueOf(EID_IP_ADDRESS_1));
 
-        LispIpv4Address ipv4Rloc1 = new LispIpv4Address(IpAddress.valueOf("10.1.1.1"));
-        LispIpv4Address ipv4Rloc2 = new LispIpv4Address(IpAddress.valueOf("10.1.1.2"));
+        LispIpv4Address ipv4Rloc1 = new LispIpv4Address(IpAddress.valueOf(RLOC_IP_ADDRESS_1_1));
+        LispIpv4Address ipv4Rloc2 = new LispIpv4Address(IpAddress.valueOf(RLOC_IP_ADDRESS_1_2));
 
         List<LispAfiAddress> rlocs1 = ImmutableList.of(ipv4Rloc1, ipv4Rloc2);
         List<LispEidRecord> records1 = ImmutableList.of(getEidRecord(), getEidRecord());
@@ -92,10 +100,10 @@
 
         RequestBuilder builder3 = new DefaultRequestBuilder();
 
-        LispIpv4Address ipv4Eid2 = new LispIpv4Address(IpAddress.valueOf("192.168.1.2"));
+        LispIpv4Address ipv4Eid2 = new LispIpv4Address(IpAddress.valueOf(EID_IP_ADDRESS_2));
 
-        LispIpv4Address ipv4Rloc3 = new LispIpv4Address(IpAddress.valueOf("20.1.1.1"));
-        LispIpv4Address ipv4Rloc4 = new LispIpv4Address(IpAddress.valueOf("20.1.1.2"));
+        LispIpv4Address ipv4Rloc3 = new LispIpv4Address(IpAddress.valueOf(RLOC_IP_ADDRESS_2_1));
+        LispIpv4Address ipv4Rloc4 = new LispIpv4Address(IpAddress.valueOf(RLOC_IP_ADDRESS_2_2));
 
         List<LispAfiAddress> rlocs2 = ImmutableList.of(ipv4Rloc3, ipv4Rloc4);
 
@@ -114,7 +122,7 @@
     }
 
     private LispEidRecord getEidRecord() {
-        LispIpv4Address eid = new LispIpv4Address(IpAddress.valueOf("20.1.1.1"));
+        LispIpv4Address eid = new LispIpv4Address(IpAddress.valueOf(RLOC_IP_ADDRESS_2_1));
         return new LispEidRecord((byte) 24, eid);
     }