FIX for ONOS-5260: METER AppID Display on GET, Precedence Range Issue

Change-Id: Ia82b8d70de0b5d824d808f9593ada64d3c1fbd09
diff --git a/core/api/src/main/java/org/onosproject/net/meter/Band.java b/core/api/src/main/java/org/onosproject/net/meter/Band.java
index 1942876..35a816f 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/Band.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/Band.java
@@ -20,6 +20,10 @@
  */
 public interface Band {
 
+    short MIN_PRECEDENCE = 0;
+    short MAX_PRECEDENCE = 255;
+    String ERR_MSG = "Precedence out of range";
+
     /**
      * Specifies the type of band.
      */
diff --git a/core/api/src/main/java/org/onosproject/net/meter/DefaultBand.java b/core/api/src/main/java/org/onosproject/net/meter/DefaultBand.java
index 236566cb..b0ce738 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/DefaultBand.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/DefaultBand.java
@@ -34,6 +34,9 @@
     public DefaultBand(Type type, long rate,
                        Long burstSize, Short prec) {
         this.type = type;
+        if (type == Type.REMARK) {
+            checkArgument(prec <= MAX_PRECEDENCE && prec >= MIN_PRECEDENCE, ERR_MSG);
+        }
         this.rate = rate;
         this.burstSize = burstSize;
         this.prec = prec;
diff --git a/core/api/src/test/java/org/onosproject/net/meter/DefaultMeterTest.java b/core/api/src/test/java/org/onosproject/net/meter/DefaultMeterTest.java
index e66e5a6..3dcb62f 100644
--- a/core/api/src/test/java/org/onosproject/net/meter/DefaultMeterTest.java
+++ b/core/api/src/test/java/org/onosproject/net/meter/DefaultMeterTest.java
@@ -35,6 +35,7 @@
     private Meter m1;
     private Meter sameAsm1;
     private Meter m2;
+    private Meter m3;
 
     @Before
     public void setup() {
@@ -44,6 +45,12 @@
                 .withRate(500)
                 .build();
 
+        Band band1 = DefaultBand.builder()
+                .ofType(Band.Type.REMARK)
+                .withRate(500)
+                .dropPrecedence((short) 1)
+                .build();
+
         m1 = DefaultMeter.builder()
                 .forDevice(did("1"))
                 .fromApp(APP_ID)
@@ -68,13 +75,23 @@
                 .withBands(Collections.singletonList(band))
                 .build();
 
+        m3 = DefaultMeter.builder()
+                .forDevice(did("3"))
+                .fromApp(APP_ID)
+                .withId(MeterId.meterId(3))
+                .withUnit(Meter.Unit.KB_PER_SEC)
+                .withBands(Collections.singletonList(band1))
+                .build();
+
+
     }
 
     @Test
     public void testEquality() {
         new EqualsTester()
                 .addEqualityGroup(m1, sameAsm1)
-                .addEqualityGroup(m2).testEquals();
+                .addEqualityGroup(m2)
+                .addEqualityGroup(m3).testEquals();
     }
 
     @Test