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=86f4e592777a3c84ab55657b9e89ca625301d16f;hb=35e7ea7bb7a6e2890542f3535aa09b11b2f079a1;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..86f4e592 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 { @@ -55,4 +75,8 @@ public class ApplicationConfigParser { return get(obj, memberName).getAsJsonObject(); } + private JsonArray getAsJsonArray(JsonObject obj, String memberName) throws ServiceException { + return get(obj, memberName).getAsJsonArray(); + } + }