aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2019-07-31 11:16:39 -0400
committerJim Hahn <jrh3@att.com>2019-07-31 11:16:39 -0400
commit0c7d117a4cb41913101cfce1e8667782fd6abf21 (patch)
treecd5c9cba9967a1f5186e2fc20c6f83af5fbe5dda
parent63d5702986d5dc63eb3d0ed2e3b57ce3b529966f (diff)
Remove ParameterUtils
Removed ParameterUtils. Also made RestServer.getServerProperties() protected so it can be overridden. Also fixed issue in TopicParameterGroupTest to prevent it from validating static fields. Change-Id: Icb4580f5802b9edca489a38896d61ad24aece449 Issue-ID: POLICY-1953 Signed-off-by: Jim Hahn <jrh3@att.com>
-rw-r--r--policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/server/RestServer.java2
-rw-r--r--policy-endpoints/src/main/java/org/onap/policy/common/endpoints/utils/ParameterUtils.java126
-rw-r--r--policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroupTest.java3
-rw-r--r--policy-endpoints/src/test/java/org/onap/policy/common/endpoints/utils/ParameterUtilsTest.java115
4 files changed, 3 insertions, 243 deletions
diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/server/RestServer.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/server/RestServer.java
index 1f7a921a..597375bf 100644
--- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/server/RestServer.java
+++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/server/RestServer.java
@@ -77,7 +77,7 @@ public class RestServer extends ServiceManagerContainer {
*
* @return the properties object
*/
- private Properties getServerProperties(RestServerParameters restServerParameters, String names) {
+ protected Properties getServerProperties(RestServerParameters restServerParameters, String names) {
final Properties props = new Properties();
props.setProperty(PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES, restServerParameters.getName());
diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/utils/ParameterUtils.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/utils/ParameterUtils.java
deleted file mode 100644
index 5e93cfa4..00000000
--- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/utils/ParameterUtils.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.endpoints.utils;
-
-import java.beans.IntrospectionException;
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-import java.util.Properties;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
-import org.onap.policy.common.endpoints.parameters.TopicParameterGroup;
-import org.onap.policy.common.endpoints.parameters.TopicParameters;
-import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * This is common utility class with utility methods for parameters.
- *
- * @author Ajith Sreekumar (ajith.sreekumar@est.tech)
- */
-public class ParameterUtils {
-
- /**
- * Logger.
- */
- private static final Logger logger = LoggerFactory.getLogger(ParameterUtils.class);
-
- /**
- * Private constructor used to prevent sub class instantiation.
- */
- private ParameterUtils() {
- // Prevent construction of this class
- }
-
- /**
- * Create topic properties object from the parameters.
- *
- * @param topicParameters the topic parameters read from config file
- * @return the topic properties object
- */
- public static Properties getTopicProperties(TopicParameterGroup topicParameters) {
- Properties topicProperties = new Properties();
- List<TopicParameters> topicSources = topicParameters.getTopicSources();
- List<TopicParameters> topicSinks = topicParameters.getTopicSinks();
-
- // for each topicCommInfrastructure, there could be multiple topics (specified as comma separated string)
- // for each such topics, there could be multiple servers (specified as comma separated string)
- for (TopicParameters source : topicSources) {
- updateTopicProperties(topicProperties, "source", source);
- }
- for (TopicParameters sink : topicSinks) {
- updateTopicProperties(topicProperties, "sink", sink);
- }
-
- return topicProperties;
- }
-
- /**
- * Common method to update topic properties object using the parameters passed.
- *
- * @param topicProperties the topic properties object which is to be updated
- * @param keyName either it is source or sink
- * @param topicParameters the topic parameters object
- */
- public static void updateTopicProperties(Properties topicProperties, String keyName,
- TopicParameters topicParameters) {
- String topicCommInfra = topicParameters.getTopicCommInfrastructure();
- String topicName = topicParameters.getTopic();
- List<String> servers = topicParameters.getServers();
-
- String propKey = topicCommInfra + "." + keyName + PolicyEndPointProperties.PROPERTY_TOPIC_TOPICS_SUFFIX;
- if (topicProperties.containsKey(propKey)) {
- topicProperties.setProperty(propKey, topicProperties.getProperty(propKey) + "," + topicName);
- } else {
- topicProperties.setProperty(propKey, topicName);
- }
- String propWithTopicKey = propKey + "." + topicName;
- topicProperties.setProperty(propWithTopicKey + PolicyEndPointProperties.PROPERTY_TOPIC_SERVERS_SUFFIX,
- String.join(",", servers));
-
- Field[] fields = BusTopicParams.class.getDeclaredFields();
- for (Field field : fields) {
- if (field.isSynthetic()) {
- continue;
- }
- try {
- Object parameter = new PropertyDescriptor(field.getName(), TopicParameters.class)
- .getReadMethod().invoke(topicParameters);
- if ((parameter instanceof String && StringUtils.isNotBlank(parameter.toString()))
- || (parameter instanceof Number && ((Number) parameter).longValue() > 0)) {
- topicProperties.setProperty(propWithTopicKey + "." + field.getName(), parameter.toString());
- }
- if (parameter instanceof Boolean && (Boolean) parameter) {
- topicProperties.setProperty(propWithTopicKey + "." + field.getName(),
- Boolean.toString((Boolean) parameter));
- }
- } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException
- | IntrospectionException e) {
- logger.error("Error while creating Properties object from TopicParameters for {}", field.getName(), e);
- }
- }
-
- }
-}
diff --git a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroupTest.java b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroupTest.java
index f1507365..98b3d84a 100644
--- a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroupTest.java
+++ b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroupTest.java
@@ -28,6 +28,7 @@ import static org.junit.Assert.assertTrue;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
@@ -127,7 +128,7 @@ public class TopicParameterGroupTest {
for (TopicParameters topicParameters : topicParametersList) {
Field[] fields = BusTopicParams.class.getDeclaredFields();
for (Field field : fields) {
- if (!field.isSynthetic()) {
+ if (!field.isSynthetic() && !Modifier.isStatic(field.getModifiers())) {
Object parameter = new PropertyDescriptor(field.getName(), TopicParameters.class).getReadMethod()
.invoke(topicParameters);
if ((parameter instanceof String && StringUtils.isBlank(parameter.toString()))
diff --git a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/utils/ParameterUtilsTest.java b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/utils/ParameterUtilsTest.java
deleted file mode 100644
index 54a14606..00000000
--- a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/utils/ParameterUtilsTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
-
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.endpoints.utils;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Properties;
-import org.junit.Test;
-import org.onap.policy.common.endpoints.parameters.CommonTestData;
-import org.onap.policy.common.endpoints.parameters.TopicParameterGroup;
-import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.StandardCoder;
-
-/**
- * Class to perform unit test of {@link ParameterUtils}.
- *
- * @author Ajith Sreekumar (ajith.sreekumar@est.tech)
- */
-public class ParameterUtilsTest {
- private static final String SOURCE_TOPICS_POLICY_PDP_PAP1 = ".source.topics.POLICY-PDP-PAP1.";
- private static final String SINK_TOPICS_POLICY_PDP_PAP1 = ".sink.topics.POLICY-PDP-PAP1.";
- private static final String SERVERS = ".servers";
- private static CommonTestData testData = new CommonTestData();
- private static final Coder coder = new StandardCoder();
-
- /**
- * Test getTopicProperties from TopicParameterGroup.
- */
- @Test
- public void testGetTopicProperties() {
- CommonTestData testData = new CommonTestData();
- final TopicParameterGroup topicParameterGroup =
- testData.toObject(testData.getTopicParameterGroupMap(false), TopicParameterGroup.class);
- Properties topicProperties = ParameterUtils.getTopicProperties(topicParameterGroup);
- assertEquals(CommonTestData.TOPIC_NAME,
- topicProperties.getProperty(CommonTestData.TOPIC_INFRA + ".source.topics"));
- assertEquals(CommonTestData.TOPIC_NAME,
- topicProperties.getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics"));
- assertEquals(CommonTestData.TOPIC_SERVER, topicProperties
- .getProperty(CommonTestData.TOPIC_INFRA + ".source.topics." + CommonTestData.TOPIC_NAME + SERVERS));
- assertEquals(CommonTestData.TOPIC_SERVER, topicProperties
- .getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics." + CommonTestData.TOPIC_NAME + SERVERS));
- }
-
- @Test
- public void testUpdateTopicProperties() {
- Properties topicProperties = new Properties();
- ParameterUtils.updateTopicProperties(topicProperties, "source", CommonTestData.TOPIC_PARAMS.get(0));
- assertEquals(CommonTestData.TOPIC_NAME,
- topicProperties.getProperty(CommonTestData.TOPIC_INFRA + ".source.topics"));
- assertEquals(CommonTestData.TOPIC_SERVER, topicProperties
- .getProperty(CommonTestData.TOPIC_INFRA + ".source.topics." + CommonTestData.TOPIC_NAME + SERVERS));
- ParameterUtils.updateTopicProperties(topicProperties, "sink", CommonTestData.TOPIC_PARAMS.get(0));
- assertEquals(CommonTestData.TOPIC_NAME,
- topicProperties.getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics"));
- assertEquals(CommonTestData.TOPIC_SERVER, topicProperties
- .getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics." + CommonTestData.TOPIC_NAME + SERVERS));
- }
-
- @Test
- public void testGetTopicProperties_all_props() throws Exception {
- String json = testData.getParameterGroupAsString(
- "src/test/resources/org/onap/policy/common/endpoints/parameters/TopicParameters_all_params.json");
- TopicParameterGroup topicParameterGroup = coder.decode(json, TopicParameterGroup.class);
- final GroupValidationResult result = topicParameterGroup.validate();
- assertNull(result.getResult());
- assertTrue(result.isValid());
- Properties topicProperties = ParameterUtils.getTopicProperties(topicParameterGroup);
- assertEquals("true", topicProperties.getProperty(
- CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "managed"));
- assertEquals("true", topicProperties.getProperty(
- CommonTestData.TOPIC_INFRA + SINK_TOPICS_POLICY_PDP_PAP1 + "managed"));
- assertEquals("123", topicProperties.getProperty(
- CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "port"));
- assertEquals("123", topicProperties.getProperty(
- CommonTestData.TOPIC_INFRA + SINK_TOPICS_POLICY_PDP_PAP1 + "port"));
- assertEquals("my-api-key", topicProperties.getProperty(
- CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "apiKey"));
- assertEquals("my-api-key", topicProperties.getProperty(
- CommonTestData.TOPIC_INFRA + SINK_TOPICS_POLICY_PDP_PAP1 + "apiKey"));
- assertEquals("my-effective-topic", topicProperties.getProperty(
- CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "effectiveTopic"));
- assertEquals("true", topicProperties.getProperty(
- CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "useHttps"));
- assertEquals("username", topicProperties.getProperty(
- CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "userName"));
- assertEquals("password", topicProperties.getProperty(
- CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "password"));
- assertEquals("true", topicProperties.getProperty(
- CommonTestData.TOPIC_INFRA + SOURCE_TOPICS_POLICY_PDP_PAP1 + "allowSelfSignedCerts"));
- }
-}