aboutsummaryrefslogtreecommitdiffstats
path: root/policy-endpoints
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 /policy-endpoints
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>
Diffstat (limited to 'policy-endpoints')
-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"));
- }
-}