X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Fconfiguration%2FApplicationConfigParser.java;h=400a681e9e12caf3e78a296c8d4df536c8874e72;hb=9d0abfec77a4a040a3e5c86fe4f5a24a4847ebb9;hp=487c3a994cf50d990c2afb6be28dda519b0e0275;hpb=3bdae60a11a5f154500b4e7c5de4090326af1f98;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfigParser.java b/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfigParser.java index 487c3a99..400a681e 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfigParser.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfigParser.java @@ -20,23 +20,43 @@ package org.oransc.policyagent.configuration; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import java.util.Vector; + import org.oransc.policyagent.exceptions.ServiceException; -public class ApplicationConfigParser { +class ApplicationConfigParser { private static final String CONFIG = "config"; + private static Gson gson = new GsonBuilder() // + .serializeNulls() // + .create(); // + + private Vector ricConfig; public ApplicationConfigParser() { } - String example; - public void parse(JsonObject root) throws ServiceException { JsonObject config = root.getAsJsonObject(CONFIG); - example = getAsString(config, "exampleProperty"); + ricConfig = parseRics(config); + } + + public Vector getRicConfigs() { + return this.ricConfig; + } + + private Vector parseRics(JsonObject config) throws ServiceException { + Vector result = new Vector(); + for (JsonElement ricElem : getAsJsonArray(config, "ric")) { + result.add(gson.fromJson(ricElem.getAsJsonObject(), ImmutableRicConfig.class)); + } + return result; } private static JsonElement get(JsonObject obj, String memberName) throws ServiceException { @@ -47,12 +67,8 @@ public class ApplicationConfigParser { return elem; } - private static String getAsString(JsonObject obj, String memberName) throws ServiceException { - return get(obj, memberName).getAsString(); - } - - private static JsonObject getAsJson(JsonObject obj, String memberName) throws ServiceException { - return get(obj, memberName).getAsJsonObject(); + private JsonArray getAsJsonArray(JsonObject obj, String memberName) throws ServiceException { + return get(obj, memberName).getAsJsonArray(); } }