From: elinuxhenrik Date: Wed, 12 Feb 2020 14:04:50 +0000 (+0100) Subject: Remove code smells X-Git-Tag: 2.0.0~157 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;ds=sidebyside;h=1722366b9678eb50753db8c020c230afe25cd1f8;hp=-c;p=nonrtric.git Remove code smells Removed code smells in Application, ApplicationConfig, ApplicationConfigParser, RicConfig, Ric, and Rics. Change-Id: I8006ee0050335aff92a3382f1998e0c2e1c8e6d3 Issue-ID: NONRTRIC-142 Signed-off-by: elinuxhenrik --- 1722366b9678eb50753db8c020c230afe25cd1f8 diff --git a/policy-agent/src/main/java/org/oransc/policyagent/Application.java b/policy-agent/src/main/java/org/oransc/policyagent/Application.java index 6d8cd99e..154ab1d2 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/Application.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/Application.java @@ -47,9 +47,6 @@ public class Application { */ @Bean public CommandLineRunner commandLineRunner(ApplicationContext ctx) { - return args -> { - - startupService.startup(); - }; + return args -> startupService.startup(); } } diff --git a/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfig.java b/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfig.java index a48e5918..1dd850be 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfig.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/configuration/ApplicationConfig.java @@ -20,19 +20,15 @@ package org.oransc.policyagent.configuration; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Properties; -import java.util.Vector; - import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; - import lombok.Getter; - import org.oransc.policyagent.exceptions.ServiceException; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; @@ -51,17 +47,13 @@ public class ApplicationConfig { @NotEmpty private String a1ControllerPassword; - private Collection observers = new Vector<>(); + private Collection observers = new ArrayList<>(); private Map ricConfigs = new HashMap<>(); @Getter private Properties dmaapPublisherConfig; @Getter private Properties dmaapConsumerConfig; - @Autowired - public ApplicationConfig() { - } - public String getLocalConfigurationFilePath() { return this.filepath; } @@ -110,7 +102,7 @@ public class ApplicationConfig { throw new ServiceException("Could not find ric: " + ricName); } - public static enum RicConfigUpdate { + public enum RicConfigUpdate { ADDED, CHANGED, REMOVED } @@ -135,7 +127,7 @@ public class ApplicationConfig { public void setConfiguration(@NotNull Collection ricConfigs, Properties dmaapPublisherConfig, Properties dmaapConsumerConfig) { - Collection notifications = new Vector<>(); + Collection notifications = new ArrayList<>(); synchronized (this) { this.dmaapPublisherConfig = dmaapPublisherConfig; this.dmaapConsumerConfig = dmaapConsumerConfig; 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 c21af839..578ff124 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,19 @@ 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.net.MalformedURLException; import java.net.URL; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; import java.util.Map.Entry; import java.util.Properties; import java.util.Set; -import java.util.Vector; - import javax.validation.constraints.NotNull; - import lombok.Getter; - import org.onap.dmaap.mr.test.clients.ProtocolTypeConstants; import org.oransc.policyagent.exceptions.ServiceException; import org.springframework.http.MediaType; @@ -45,12 +41,8 @@ public class ApplicationConfigParser { private static final String CONFIG = "config"; - private static Gson gson = new GsonBuilder() // - .serializeNulls() // - .create(); // - @Getter - private Vector ricConfigs; + private List ricConfigs; @Getter private Properties dmaapPublisherConfig = new Properties(); @Getter @@ -72,14 +64,30 @@ public class ApplicationConfigParser { } - private Vector parseRics(JsonObject config) throws ServiceException { - Vector result = new Vector(); + private List parseRics(JsonObject config) throws ServiceException { + List result = new ArrayList<>(); for (JsonElement ricElem : getAsJsonArray(config, "ric")) { - result.add(gson.fromJson(ricElem.getAsJsonObject(), ImmutableRicConfig.class)); + JsonObject ricAsJson = ricElem.getAsJsonObject(); + ImmutableRicConfig ricConfig = ImmutableRicConfig.builder() // + .name(ricAsJson.get("name").getAsString()) // + .baseUrl(ricAsJson.get("baseUrl").getAsString()) // + .managedElementIds(parseManagedElementIds(ricAsJson.get("managedElementIds").getAsJsonArray())) // + .build(); + result.add(ricConfig); } return result; } + private List parseManagedElementIds(JsonArray asJsonObject) { + Iterator iterator = asJsonObject.iterator(); + List managedElementIds = new ArrayList<>(); + while (iterator.hasNext()) { + managedElementIds.add(iterator.next().getAsString()); + + } + return managedElementIds; + } + private static JsonElement get(JsonObject obj, String memberName) throws ServiceException { JsonElement elem = obj.get(memberName); if (elem == null) { diff --git a/policy-agent/src/main/java/org/oransc/policyagent/configuration/RicConfig.java b/policy-agent/src/main/java/org/oransc/policyagent/configuration/RicConfig.java index d446f94c..69ba198e 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/configuration/RicConfig.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/configuration/RicConfig.java @@ -20,18 +20,15 @@ package org.oransc.policyagent.configuration; -import java.util.Vector; - -import org.immutables.gson.Gson; +import com.google.common.collect.ImmutableList; import org.immutables.value.Value; @Value.Immutable -@Gson.TypeAdapters public interface RicConfig { public String name(); public String baseUrl(); - public Vector managedElementIds(); + public ImmutableList managedElementIds(); } diff --git a/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java b/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java index e50a98ce..505fce9e 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java @@ -20,14 +20,14 @@ package org.oransc.policyagent.repository; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Vector; - import lombok.Getter; import lombok.Setter; - import org.oransc.policyagent.clients.A1Client.A1ProtocolType; import org.oransc.policyagent.configuration.RicConfig; @@ -36,6 +36,7 @@ import org.oransc.policyagent.configuration.RicConfig; */ public class Ric { private final RicConfig ricConfig; + private final List managedElementIds; private RicState state = RicState.UNDEFINED; private Map supportedPolicyTypes = new HashMap<>(); @@ -43,6 +44,7 @@ public class Ric { @Setter private A1ProtocolType protocolVersion = A1ProtocolType.UNKNOWN; + /** * Creates the Ric. Initial state is {@link RicState.NOT_INITIATED}. * @@ -50,6 +52,7 @@ public class Ric { */ public Ric(RicConfig ricConfig) { this.ricConfig = ricConfig; + this.managedElementIds = new ArrayList<>(ricConfig.managedElementIds()); } public String name() { @@ -74,7 +77,7 @@ public class Ric { * @return a vector containing the nodes managed by this Ric. */ public synchronized Collection getManagedElementIds() { - return new Vector<>(ricConfig.managedElementIds()); + return managedElementIds; } /** @@ -84,7 +87,7 @@ public class Ric { * @return true if the given node is managed by this Ric. */ public synchronized boolean isManaging(String managedElementId) { - return ricConfig.managedElementIds().contains(managedElementId); + return managedElementIds.contains(managedElementId); } /** @@ -93,8 +96,8 @@ public class Ric { * @param managedElementId the node to add. */ public synchronized void addManagedElement(String managedElementId) { - if (!ricConfig.managedElementIds().contains(managedElementId)) { - ricConfig.managedElementIds().add(managedElementId); + if (!managedElementIds.contains(managedElementId)) { + managedElementIds.add(managedElementId); } } @@ -104,7 +107,7 @@ public class Ric { * @param managedElementId the node to remove. */ public synchronized void removeManagedElement(String managedElementId) { - ricConfig.managedElementIds().remove(managedElementId); + managedElementIds.remove(managedElementId); } /** @@ -150,13 +153,13 @@ public class Ric { @Override public synchronized String toString() { return Ric.class.getSimpleName() + ": " + "name: " + name() + ", state: " + state + ", baseUrl: " - + ricConfig.baseUrl() + ", managedNodes: " + ricConfig.managedElementIds(); + + ricConfig.baseUrl() + ", managedNodes: " + managedElementIds; } /** * Represents the states possible for a Ric. */ - public static enum RicState { + public enum RicState { /** * The agent view of the agent may be inconsistent. */ diff --git a/policy-agent/src/main/java/org/oransc/policyagent/repository/Rics.java b/policy-agent/src/main/java/org/oransc/policyagent/repository/Rics.java index 6f3b3e84..c6d25618 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/repository/Rics.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/repository/Rics.java @@ -66,7 +66,7 @@ public class Rics { public synchronized Optional lookupRicForManagedElement(String managedElementId) { for (Ric ric : this.rics.values()) { - if (ric.getConfig().managedElementIds().contains(managedElementId)) { + if (ric.getManagedElementIds().contains(managedElementId)) { return Optional.of(ric); } }