Fix for the ONOS-4836
Change-Id: Iedf597bb79f27ca7834e85fc445ebd5736c852a7
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/FilteringObjectiveCodec.java b/core/common/src/main/java/org/onosproject/codec/impl/FilteringObjectiveCodec.java
index 673e4c8..c5b7462 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/FilteringObjectiveCodec.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/FilteringObjectiveCodec.java
@@ -53,10 +53,6 @@
" member is required in FilteringObjective";
private static final String NOT_NULL_MESSAGE =
"FilteringObjective cannot be null";
- private static final String INVALID_TYPE_MESSAGE =
- "The requested type {} is not defined in FilteringObjective.";
- private static final String INVALID_OP_MESSAGE =
- "The requested operation {} is not defined for FilteringObjective.";
public static final String REST_APP_ID = "org.onosproject.rest";
@@ -136,8 +132,8 @@
builder.deny();
break;
default:
- log.warn(INVALID_TYPE_MESSAGE, typeStr);
- return null;
+ throw new IllegalArgumentException("The requested type " + typeStr +
+ " is not defined for FilteringObjective.");
}
// decode key
@@ -176,8 +172,8 @@
filteringObjective = builder.remove();
break;
default:
- log.warn(INVALID_OP_MESSAGE, opStr);
- return null;
+ throw new IllegalArgumentException("The requested operation " + opStr +
+ " is not defined for FilteringObjective.");
}
return filteringObjective;
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/ForwardingObjectiveCodec.java b/core/common/src/main/java/org/onosproject/codec/impl/ForwardingObjectiveCodec.java
index 864756a..ad198c9 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/ForwardingObjectiveCodec.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/ForwardingObjectiveCodec.java
@@ -50,10 +50,6 @@
" member is required in ForwardingObjective";
private static final String NOT_NULL_MESSAGE =
"ForwardingObjective cannot be null";
- private static final String INVALID_FLAG_MESSAGE =
- "The requested flag {} is not defined in ForwardingObjective.";
- private static final String INVALID_OP_MESSAGE =
- "The requested operation {} is not defined for FilteringObjective.";
public static final String REST_APP_ID = "org.onosproject.rest";
@@ -130,8 +126,8 @@
builder.withFlag(ForwardingObjective.Flag.VERSATILE);
break;
default:
- log.warn(INVALID_FLAG_MESSAGE, flagStr);
- return null;
+ throw new IllegalArgumentException("The requested flag " + flagStr +
+ " is not defined for FilteringObjective.");
}
// decode selector
@@ -156,7 +152,7 @@
// decode operation
String opStr = nullIsIllegal(json.get(OPERATION), OPERATION + MISSING_MEMBER_MESSAGE).asText();
- ForwardingObjective forwardingObjective;
+ ForwardingObjective forwardingObjective = null;
switch (opStr) {
case "ADD":
@@ -166,8 +162,8 @@
forwardingObjective = builder.remove();
break;
default:
- log.warn(INVALID_OP_MESSAGE, opStr);
- return null;
+ throw new IllegalArgumentException("The requested operation " + opStr +
+ " is not defined for FilteringObjective.");
}
return forwardingObjective;
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/NextObjectiveCodec.java b/core/common/src/main/java/org/onosproject/codec/impl/NextObjectiveCodec.java
index a58ad3f..6b2ad899 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/NextObjectiveCodec.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/NextObjectiveCodec.java
@@ -53,10 +53,6 @@
" member is required in NextObjective";
private static final String NOT_NULL_MESSAGE =
"NextObjective cannot be null";
- private static final String INVALID_TYPE_MESSAGE =
- "The requested flag {} is not defined in NextObjective.";
- private static final String INVALID_OP_MESSAGE =
- "The requested operation {} is not defined for NextObjective.";
public static final String REST_APP_ID = "org.onosproject.rest";
@@ -142,8 +138,8 @@
builder.withType(NextObjective.Type.SIMPLE);
break;
default:
- log.warn(INVALID_TYPE_MESSAGE, typeStr);
- return null;
+ throw new IllegalArgumentException("The requested type " + typeStr +
+ " is not defined for FilteringObjective.");
}
// decode treatments
@@ -175,8 +171,8 @@
nextObjective = builder.remove();
break;
default:
- log.warn(INVALID_OP_MESSAGE, opStr);
- return null;
+ throw new IllegalArgumentException("The requested operation " + opStr +
+ " is not defined for FilteringObjective.");
}
return nextObjective;
diff --git a/web/api/src/main/resources/definitions/NextObjective.json b/web/api/src/main/resources/definitions/NextObjective.json
index adbcfc7..d5ab7d7 100644
--- a/web/api/src/main/resources/definitions/NextObjective.json
+++ b/web/api/src/main/resources/definitions/NextObjective.json
@@ -3,6 +3,7 @@
"title": "nextObjective",
"required": [
"type",
+ "id",
"priority",
"timeout",
"isPermanent",
@@ -16,6 +17,11 @@
"type": "string",
"example": "HASHED"
},
+ "id": {
+ "type": "integer",
+ "format": "int64",
+ "example": 1
+ },
"priority": {
"type": "integer",
"format": "int64",
@@ -308,4 +314,4 @@
}
}
}
-}
\ No newline at end of file
+}