diff --git a/api/src/main/java/org/gatein/management/api/model/ModelValue.java b/api/src/main/java/org/gatein/management/api/model/ModelValue.java index e7b775ca..bde87f2d 100644 --- a/api/src/main/java/org/gatein/management/api/model/ModelValue.java +++ b/api/src/main/java/org/gatein/management/api/model/ModelValue.java @@ -56,6 +56,10 @@ public enum ModelValueType String toJsonString(boolean pretty); + ModelValue fromJsonString(String json); + + T fromJsonString(String json, Class valueType); + void toJsonStream(OutputStream outputStream, boolean pretty) throws IOException; ModelValue fromJsonStream(InputStream inputStream) throws IOException; diff --git a/core/src/main/java/org/gatein/management/core/api/model/DmrModelValue.java b/core/src/main/java/org/gatein/management/core/api/model/DmrModelValue.java index 69429be1..4f717c48 100644 --- a/core/src/main/java/org/gatein/management/core/api/model/DmrModelValue.java +++ b/core/src/main/java/org/gatein/management/core/api/model/DmrModelValue.java @@ -144,6 +144,18 @@ private void toJson(PrintWriter writer, boolean pretty) writer.flush(); } + @Override + public ModelValue fromJsonString(String json) + { + return readFromJsonString(json); + } + + @Override + public T fromJsonString(String json, Class valueType) + { + return readFromJsonString(json, valueType); + } + @Override public ModelValue fromJsonStream(InputStream inputStream) throws IOException { @@ -173,6 +185,16 @@ public static T readFromJsonStream(InputStream inputStrea return valueType.cast(readFromJsonStream(inputStream)); } + public static ModelValue readFromJsonString(String json) + { + return asValue(ModelNode.fromJSONString(json)); + } + + public static T readFromJsonString(String json, Class valueType) + { + return valueType.cast(readFromJsonString(json)); + } + public static Model newModel() { return new DmrModel(new ModelNode());