ONOS-4635:Fix Issue with add flows using flowobjective-forward REST API with incorrect priority

cherry-picked from https://gerrit.onosproject.org/#/c/9815/

Change-Id: I9637c6c0fa6906146fe6d60403c1b540b3e5531c
diff --git a/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultFilteringObjective.java b/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultFilteringObjective.java
index a05bba7..273dfb4 100644
--- a/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultFilteringObjective.java
+++ b/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultFilteringObjective.java
@@ -272,6 +272,8 @@
             checkNotNull(type, "Must have a type.");
             checkArgument(!conditions.isEmpty(), "Must have at least one condition.");
             checkNotNull(appId, "Must supply an application id");
+            checkArgument(priority <= MAX_PRIORITY && priority >= MIN_PRIORITY, "Priority " +
+                    "out of range");
 
             return new DefaultFilteringObjective(this);
         }
diff --git a/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java b/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java
index 84e38af..444ed95 100644
--- a/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java
+++ b/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java
@@ -284,6 +284,8 @@
                     "least a treatment and/or a nextId");
             checkNotNull(appId, "Must supply an application id");
             op = Operation.ADD;
+            checkArgument(priority <= MAX_PRIORITY && priority >= MIN_PRIORITY, "Priority " +
+                    "out of range");
             return new DefaultForwardingObjective(this);
         }
 
diff --git a/core/api/src/main/java/org/onosproject/net/flowobjective/Objective.java b/core/api/src/main/java/org/onosproject/net/flowobjective/Objective.java
index c675231..ddbbe2f 100644
--- a/core/api/src/main/java/org/onosproject/net/flowobjective/Objective.java
+++ b/core/api/src/main/java/org/onosproject/net/flowobjective/Objective.java
@@ -29,6 +29,8 @@
     boolean DEFAULT_PERMANENT = true;
     int DEFAULT_TIMEOUT = 0;
     int DEFAULT_PRIORITY = 32768;
+    int MIN_PRIORITY = 0;
+    int MAX_PRIORITY = 65535;
 
     /**
      * Type of operation.