From 35c6bda8ced4143b4fc1731727ee9bbe76b34c96 Mon Sep 17 00:00:00 2001 From: "Determe, Sebastien (sd378r)" Date: Mon, 5 Mar 2018 16:03:25 +0100 Subject: Remove the clds-reference.properties Remove clds-reference.properties and merge it into application.properties Issue-ID: CLAMP-136 Change-Id: I8dc6deffdca47dc50d1473ccbe9a94dc91d7d5d9 Signed-off-by: Determe, Sebastien (sd378r) --- extra/docker/clamp/clamp.env | 2 +- .../clamp/clds/client/DcaeDispatcherServices.java | 4 +- .../clamp/clds/client/DcaeInventoryServices.java | 4 +- .../clamp/clds/client/HolmesPolicyDelegate.java | 4 +- .../clds/client/OperationalPolicyDelegate.java | 4 +- .../onap/clamp/clds/client/SdcSendReqDelegate.java | 4 +- .../onap/clamp/clds/client/TcaPolicyDelegate.java | 4 +- .../client/req/policy/OperationalPolicyReq.java | 12 +- .../clamp/clds/client/req/policy/PolicyClient.java | 4 +- .../clds/client/req/sdc/SdcCatalogServices.java | 4 +- .../clamp/clds/client/req/sdc/SdcRequests.java | 4 +- .../clds/client/req/tca/TcaRequestFormatter.java | 10 +- .../onap/clamp/clds/config/ClampProperties.java | 154 ++++++++++++++++ .../clamp/clds/config/CldsReferenceProperties.java | 173 ----------------- .../config/spring/CldsSecurityConfigUsers.java | 20 +- .../org/onap/clamp/clds/service/CldsService.java | 16 +- .../clamp/clds/service/CldsTemplateService.java | 4 +- src/main/resources/application.properties | 96 +++++++++- src/main/resources/clds/clds-reference.properties | 108 ----------- .../clamp/clds/it/OperationPolicyReqItCase.java | 4 +- .../org/onap/clamp/clds/it/PolicyClientItCase.java | 4 +- .../clamp/clds/it/SdcCatalogServicesItCase.java | 4 +- .../clamp/clds/it/TcaRequestFormatterItCase.java | 4 +- .../it/config/CldsReferencePropertiesItCase.java | 4 +- src/test/resources/application.properties | 204 +++++++++++++++++++++ src/test/resources/clds/clds-reference.properties | 109 ----------- src/test/resources/https/https-test.properties | 46 ----- 27 files changed, 503 insertions(+), 507 deletions(-) create mode 100644 src/main/java/org/onap/clamp/clds/config/ClampProperties.java delete mode 100644 src/main/java/org/onap/clamp/clds/config/CldsReferenceProperties.java delete mode 100644 src/main/resources/clds/clds-reference.properties create mode 100644 src/test/resources/application.properties delete mode 100644 src/test/resources/clds/clds-reference.properties diff --git a/extra/docker/clamp/clamp.env b/extra/docker/clamp/clamp.env index 7beb4fe1c..8c4375b88 100644 --- a/extra/docker/clamp/clamp.env +++ b/extra/docker/clamp/clamp.env @@ -1,2 +1,2 @@ ### Be careful, this must be in one line only ### -SPRING_APPLICATION_JSON={"spring.datasource.cldsdb.url":"jdbc:mariadb:sequential://db:3306/cldsdb4?autoReconnect=true&connectTimeout=10000&socketTimeout=10000&retriesAllDown=3","org.onap.clamp.config.files.cldsPolicyConfig":"classpath:/clds/clds-policy-config.properties","org.onap.clamp.config.files.cldsReference":"classpath:/clds/clds-reference.properties","org.onap.clamp.config.files.sdcController":"classpath:/clds/sdc-controllers-config.json"} \ No newline at end of file +SPRING_APPLICATION_JSON={"spring.datasource.cldsdb.url":"jdbc:mariadb:sequential://db:3306/cldsdb4?autoReconnect=true&connectTimeout=10000&socketTimeout=10000&retriesAllDown=3","org.onap.clamp.config.files.cldsPolicyConfig":"classpath:/clds/clds-policy-config.properties","org.onap.clamp.config.files.sdcController":"classpath:/clds/sdc-controllers-config.json"} \ No newline at end of file diff --git a/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java b/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java index f92405813..9226604a1 100644 --- a/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java +++ b/src/main/java/org/onap/clamp/clds/client/DcaeDispatcherServices.java @@ -31,7 +31,7 @@ import java.util.Date; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.exception.dcae.DcaeDeploymentException; import org.onap.clamp.clds.util.LoggingUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -47,7 +47,7 @@ public class DcaeDispatcherServices { protected static final EELFLogger logger = EELFManager.getInstance().getLogger(DcaeDispatcherServices.class); protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger(); @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; private static final String STATUS_URL_LOG = "Status URL extracted: "; private static final String DCAE_URL_PREFIX = "/dcae-deployments/"; private static final String DCAE_URL_PROPERTY_NAME = "dcae.dispatcher.url"; diff --git a/src/main/java/org/onap/clamp/clds/client/DcaeInventoryServices.java b/src/main/java/org/onap/clamp/clds/client/DcaeInventoryServices.java index 4a2f32e6e..c4abebdcd 100644 --- a/src/main/java/org/onap/clamp/clds/client/DcaeInventoryServices.java +++ b/src/main/java/org/onap/clamp/clds/client/DcaeInventoryServices.java @@ -41,7 +41,7 @@ import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.dao.CldsDao; import org.onap.clamp.clds.model.CldsEvent; import org.onap.clamp.clds.model.CldsModel; @@ -63,7 +63,7 @@ public class DcaeInventoryServices { protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger(); private static final String DCAE_INVENTORY_URL = "dcae.inventory.url"; @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; @Autowired private CldsDao cldsDao; diff --git a/src/main/java/org/onap/clamp/clds/client/HolmesPolicyDelegate.java b/src/main/java/org/onap/clamp/clds/client/HolmesPolicyDelegate.java index 4e165e141..37259cdfe 100644 --- a/src/main/java/org/onap/clamp/clds/client/HolmesPolicyDelegate.java +++ b/src/main/java/org/onap/clamp/clds/client/HolmesPolicyDelegate.java @@ -31,7 +31,7 @@ import java.util.UUID; import org.apache.camel.Exchange; import org.apache.camel.Handler; import org.onap.clamp.clds.client.req.policy.PolicyClient; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.model.properties.Holmes; import org.onap.clamp.clds.model.properties.ModelProperties; import org.springframework.beans.factory.annotation.Autowired; @@ -48,7 +48,7 @@ public class HolmesPolicyDelegate { @Autowired private PolicyClient policyClient; @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; /** * Perform activity. Send Holmes info to policy api. diff --git a/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDelegate.java b/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDelegate.java index ec83db9de..ae2880567 100644 --- a/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDelegate.java +++ b/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDelegate.java @@ -33,7 +33,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Handler; import org.onap.clamp.clds.client.req.policy.OperationalPolicyReq; import org.onap.clamp.clds.client.req.policy.PolicyClient; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.model.properties.ModelProperties; import org.onap.clamp.clds.model.properties.Policy; import org.onap.clamp.clds.model.properties.PolicyChain; @@ -61,7 +61,7 @@ public class OperationalPolicyDelegate { * Automatically injected by Spring, define in CldsConfiguration as a bean. */ @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; /** * Perform activity. Send Operational Policy info to policy api. diff --git a/src/main/java/org/onap/clamp/clds/client/SdcSendReqDelegate.java b/src/main/java/org/onap/clamp/clds/client/SdcSendReqDelegate.java index 438ea4727..64e19f922 100644 --- a/src/main/java/org/onap/clamp/clds/client/SdcSendReqDelegate.java +++ b/src/main/java/org/onap/clamp/clds/client/SdcSendReqDelegate.java @@ -35,7 +35,7 @@ import org.apache.camel.Handler; import org.apache.commons.codec.DecoderException; import org.onap.clamp.clds.client.req.sdc.SdcCatalogServices; import org.onap.clamp.clds.client.req.sdc.SdcRequests; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.model.DcaeEvent; import org.onap.clamp.clds.model.properties.Global; import org.onap.clamp.clds.model.properties.ModelProperties; @@ -55,7 +55,7 @@ public class SdcSendReqDelegate { @Autowired private SdcRequests sdcReq; @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; /** * Perform activity. Send to sdc proxy. diff --git a/src/main/java/org/onap/clamp/clds/client/TcaPolicyDelegate.java b/src/main/java/org/onap/clamp/clds/client/TcaPolicyDelegate.java index 55fe2c571..e16e8c35a 100644 --- a/src/main/java/org/onap/clamp/clds/client/TcaPolicyDelegate.java +++ b/src/main/java/org/onap/clamp/clds/client/TcaPolicyDelegate.java @@ -32,7 +32,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Handler; import org.onap.clamp.clds.client.req.policy.PolicyClient; import org.onap.clamp.clds.client.req.tca.TcaRequestFormatter; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.model.properties.ModelProperties; import org.onap.clamp.clds.model.properties.Tca; import org.springframework.beans.factory.annotation.Autowired; @@ -47,7 +47,7 @@ public class TcaPolicyDelegate { protected static final EELFLogger logger = EELFManager.getInstance().getLogger(TcaPolicyDelegate.class); protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger(); @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; @Autowired private PolicyClient policyClient; diff --git a/src/main/java/org/onap/clamp/clds/client/req/policy/OperationalPolicyReq.java b/src/main/java/org/onap/clamp/clds/client/req/policy/OperationalPolicyReq.java index 434da4b65..d3e8a5418 100644 --- a/src/main/java/org/onap/clamp/clds/client/req/policy/OperationalPolicyReq.java +++ b/src/main/java/org/onap/clamp/clds/client/req/policy/OperationalPolicyReq.java @@ -39,7 +39,7 @@ import java.util.Map; import javax.ws.rs.BadRequestException; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.model.properties.Global; import org.onap.clamp.clds.model.properties.ModelProperties; import org.onap.clamp.clds.model.properties.PolicyChain; @@ -80,7 +80,7 @@ public class OperationalPolicyReq { * @throws BuilderException * @throws UnsupportedEncodingException */ - public static Map> formatAttributes(CldsReferenceProperties refProp, ModelProperties prop, + public static Map> formatAttributes(ClampProperties refProp, ModelProperties prop, String modelElementId, PolicyChain policyChain) throws BuilderException, UnsupportedEncodingException { Global global = prop.getGlobal(); prop.setCurrentModelElementId(modelElementId); @@ -163,7 +163,7 @@ public class OperationalPolicyReq { * @throws BuilderException * @throws UnsupportedEncodingException */ - protected static String formatOpenLoopYaml(CldsReferenceProperties refProp, ModelProperties prop, String modelElementId, + protected static String formatOpenLoopYaml(ClampProperties refProp, ModelProperties prop, String modelElementId, PolicyChain policyChain) throws BuilderException, UnsupportedEncodingException { // get property objects Global global = prop.getGlobal(); @@ -193,7 +193,7 @@ public class OperationalPolicyReq { * @throws BuilderException * @throws UnsupportedEncodingException */ - protected static String formatYaml(CldsReferenceProperties refProp, ModelProperties prop, String modelElementId, + protected static String formatYaml(ClampProperties refProp, ModelProperties prop, String modelElementId, PolicyChain policyChain) throws BuilderException, UnsupportedEncodingException { // get property objects Global global = prop.getGlobal(); @@ -251,7 +251,7 @@ public class OperationalPolicyReq { * @throws BuilderException * @throws UnsupportedEncodingException */ - protected static String formateNodeBYaml(CldsReferenceProperties refProp, ModelProperties prop, String modelElementId, + protected static String formateNodeBYaml(ClampProperties refProp, ModelProperties prop, String modelElementId, PolicyChain policyChain) throws BuilderException, UnsupportedEncodingException { // get property objects Global global = prop.getGlobal(); @@ -329,7 +329,7 @@ public class OperationalPolicyReq { * @param inOrigList * @return */ - private static List addAOTSActorRecipe(CldsReferenceProperties refProp, String service, List inOrigList) { + private static List addAOTSActorRecipe(ClampProperties refProp, String service, List inOrigList) { List outList = new ArrayList<>(); try { PolicyItem policyItem = inOrigList.get(0); diff --git a/src/main/java/org/onap/clamp/clds/client/req/policy/PolicyClient.java b/src/main/java/org/onap/clamp/clds/client/req/policy/PolicyClient.java index 06eff4ef7..5160d04a8 100644 --- a/src/main/java/org/onap/clamp/clds/client/req/policy/PolicyClient.java +++ b/src/main/java/org/onap/clamp/clds/client/req/policy/PolicyClient.java @@ -37,7 +37,7 @@ import java.util.UUID; import javax.ws.rs.BadRequestException; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.exception.policy.PolicyClientException; import org.onap.clamp.clds.model.properties.ModelProperties; import org.onap.clamp.clds.util.LoggingUtils; @@ -76,7 +76,7 @@ public class PolicyClient { @Autowired protected ApplicationContext appContext; @Autowired - protected CldsReferenceProperties refProp; + protected ClampProperties refProp; /** * Perform BRMS policy type. diff --git a/src/main/java/org/onap/clamp/clds/client/req/sdc/SdcCatalogServices.java b/src/main/java/org/onap/clamp/clds/client/req/sdc/SdcCatalogServices.java index c01fe6a3c..5664653bf 100644 --- a/src/main/java/org/onap/clamp/clds/client/req/sdc/SdcCatalogServices.java +++ b/src/main/java/org/onap/clamp/clds/client/req/sdc/SdcCatalogServices.java @@ -58,7 +58,7 @@ import org.apache.commons.csv.CSVRecord; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpHeaders; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.exception.sdc.SdcCommunicationException; import org.onap.clamp.clds.model.CldsAlarmCondition; import org.onap.clamp.clds.model.CldsServiceData; @@ -93,7 +93,7 @@ public class SdcCatalogServices { private static final String SDC_INSTANCE_ID_CLAMP = "CLAMP-Tool"; private static final String RESOURCE_URL_PREFIX = "resources"; @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; /** * Return SDC id and pw as a HTTP Basic Auth string (for example: Basic diff --git a/src/main/java/org/onap/clamp/clds/client/req/sdc/SdcRequests.java b/src/main/java/org/onap/clamp/clds/client/req/sdc/SdcRequests.java index 214933d49..e34b7e907 100644 --- a/src/main/java/org/onap/clamp/clds/client/req/sdc/SdcRequests.java +++ b/src/main/java/org/onap/clamp/clds/client/req/sdc/SdcRequests.java @@ -41,7 +41,7 @@ import java.util.Map.Entry; import org.apache.commons.codec.DecoderException; import org.onap.clamp.clds.client.req.tca.TcaRequestFormatter; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.model.properties.Global; import org.onap.clamp.clds.model.properties.ModelProperties; import org.onap.clamp.clds.model.properties.Tca; @@ -61,7 +61,7 @@ public class SdcRequests { @Autowired private SdcCatalogServices sdcCatalogServices; @Autowired - protected CldsReferenceProperties refProp; + protected ClampProperties refProp; /** * Format the Blueprint from a Yaml diff --git a/src/main/java/org/onap/clamp/clds/client/req/tca/TcaRequestFormatter.java b/src/main/java/org/onap/clamp/clds/client/req/tca/TcaRequestFormatter.java index 73355a7a4..f51469159 100644 --- a/src/main/java/org/onap/clamp/clds/client/req/tca/TcaRequestFormatter.java +++ b/src/main/java/org/onap/clamp/clds/client/req/tca/TcaRequestFormatter.java @@ -32,7 +32,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import java.io.IOException; import java.util.Map; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.exception.TcaRequestFormatterException; import org.onap.clamp.clds.model.properties.ModelProperties; import org.onap.clamp.clds.model.properties.Tca; @@ -64,7 +64,7 @@ public class TcaRequestFormatter { * The Model Prop created from BPMN JSON and BPMN properties JSON * @return The Json string containing that should be sent to policy */ - public static String createPolicyJson(CldsReferenceProperties refProp, ModelProperties modelProperties) { + public static String createPolicyJson(ClampProperties refProp, ModelProperties modelProperties) { try { String service = modelProperties.getGlobal().getService(); Tca tca = modelProperties.getType(Tca.class); @@ -103,7 +103,7 @@ public class TcaRequestFormatter { * modelProperties.setCurrentModelElementId will be used * @return The Json node containing what should be sent to policy */ - public static JsonNode createPolicyContent(CldsReferenceProperties refProp, ModelProperties modelProperties, String service, + public static JsonNode createPolicyContent(ClampProperties refProp, ModelProperties modelProperties, String service, String policyName, Tca tca) { try { String serviceToUse = service; @@ -153,7 +153,7 @@ public class TcaRequestFormatter { * The Model Properties created from BPMN JSON and BPMN * properties JSON */ - private static void addThresholds(CldsReferenceProperties refProp, String service, ObjectNode appendToNode, TcaItem tcaItem, + private static void addThresholds(ClampProperties refProp, String service, ObjectNode appendToNode, TcaItem tcaItem, ModelProperties modelProperties) { ArrayNode tcaNodes = appendToNode.withArray("thresholds"); ObjectNode tcaNode; @@ -185,7 +185,7 @@ public class TcaRequestFormatter { * The yaml string received from the UI * @return The updated YAML as a string */ - public static String updatedBlueprintWithConfiguration(CldsReferenceProperties refProp, ModelProperties modelProperties, + public static String updatedBlueprintWithConfiguration(ClampProperties refProp, ModelProperties modelProperties, String yamlValue) { String jsonPolicy = ((ObjectNode) createPolicyContent(refProp, modelProperties, null, null, null)).toString(); logger.info("Yaml that will be updated:" + yamlValue); diff --git a/src/main/java/org/onap/clamp/clds/config/ClampProperties.java b/src/main/java/org/onap/clamp/clds/config/ClampProperties.java new file mode 100644 index 000000000..66f35acc6 --- /dev/null +++ b/src/main/java/org/onap/clamp/clds/config/ClampProperties.java @@ -0,0 +1,154 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP CLAMP + * ================================================================================ + * Copyright (C) 2017-2018 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. + * ============LICENSE_END============================================ + * =================================================================== + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ + +package org.onap.clamp.clds.config; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.IOException; +import java.net.URL; +import java.nio.charset.StandardCharsets; + +import org.apache.commons.io.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +/** + * Holds Clamp properties and add some functionalities. + */ +@Component +public class ClampProperties { + + @Autowired + private ApplicationContext appContext; + @Autowired + private Environment env; + public static final String CONFIG_PREFIX = "clamp.config."; + + /** + * get property value. + * + * @param key + * The first key + * @return The string with the value + */ + public String getStringValue(String key) { + return env.getProperty(CONFIG_PREFIX + key); + } + + /** + * get property value for a combo key (key1 + "." + key2). If not found just + * use key1. + * + * @param key1 + * The first key + * @param key2 + * The second key after a dot + * @return The string with the value + */ + public String getStringValue(String key1, String key2) { + String value = getStringValue(key1 + "." + key2); + if (value == null || value.length() == 0) { + value = getStringValue(key1); + } + return value; + } + + /** + * Return json as objects that can be updated. The value obtained from the + * clds-reference file will be used as a filename. + * + * @param key + * The key that will be used to access the clds-reference file + * @return A jsonNode + * @throws IOException + * In case of issues with the JSON parser + */ + public JsonNode getJsonTemplate(String key) throws IOException { + ObjectMapper objectMapper = new ObjectMapper(); + String fileReference = getStringValue(key); + return (fileReference != null) ? objectMapper.readValue(getFileContentFromPath(fileReference), JsonNode.class) + : null; + } + + /** + * Return json as objects that can be updated. First try with combo key + * (key1 + "." + key2), otherwise default to just key1. The value obtained + * from the clds-reference file will be used as a filename. + * + * @param key1 + * The first key + * @param key2 + * The second key after a dot + * @return A JsonNode + * @throws IOException + * In case of issues with the JSON parser + */ + public JsonNode getJsonTemplate(String key1, String key2) throws IOException { + ObjectMapper objectMapper = new ObjectMapper(); + String fileReference = getStringValue(key1, key2); + return (fileReference != null) ? objectMapper.readValue(getFileContentFromPath(fileReference), JsonNode.class) + : null; + } + + /** + * Return the file content. The value obtained from the clds-reference file + * will be used as a filename. + * + * @param key + * The key that will be used to access the clds-reference file + * @return File content in String + * @throws IOException + * In case of issues with the JSON parser + */ + public String getFileContent(String key) throws IOException { + String fileReference = getStringValue(key); + return (fileReference != null) ? getFileContentFromPath(fileReference) : null; + } + + /** + * Return the file content. First try with combo key (key1 + "." + key2), + * otherwise default to just key1. The value obtained from the + * clds-reference file will be used as a filename. + * + * @param key1 + * The first key + * @param key2 + * The second key after a dot + * @return File content in String + * @throws IOException + * In case of issues with the JSON parser + */ + public String getFileContent(String key1, String key2) throws IOException { + String fileReference = getStringValue(key1, key2); + return (fileReference != null) ? getFileContentFromPath(fileReference) : null; + } + + private String getFileContentFromPath(String filepath) throws IOException { + URL url = appContext.getResource(filepath).getURL(); + return IOUtils.toString(url, StandardCharsets.UTF_8); + } +} diff --git a/src/main/java/org/onap/clamp/clds/config/CldsReferenceProperties.java b/src/main/java/org/onap/clamp/clds/config/CldsReferenceProperties.java deleted file mode 100644 index b234b9329..000000000 --- a/src/main/java/org/onap/clamp/clds/config/CldsReferenceProperties.java +++ /dev/null @@ -1,173 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2017-2018 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. - * ============LICENSE_END============================================ - * =================================================================== - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ - -package org.onap.clamp.clds.config; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - -import java.io.IOException; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.util.Properties; - -import javax.annotation.PostConstruct; - -import org.apache.commons.io.IOUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.ApplicationContext; -import org.springframework.core.io.Resource; -import org.springframework.stereotype.Component; - -/** - * Holds reference properties. - */ -@Component -public class CldsReferenceProperties { - - @Autowired - private ApplicationContext appContext; - private Properties prop; - @Value("${org.onap.clamp.config.files.cldsReference:'classpath:/clds/clds-reference.properties'}") - private String cldsReferenceValuesFile; - - @PostConstruct - public void loadConfiguration() throws IOException { - prop = new Properties(); - Resource resource = appContext.getResource(cldsReferenceValuesFile); - prop.load(resource.getInputStream()); - } - - public CldsReferenceProperties(String referenceValuesFile) throws IOException { - cldsReferenceValuesFile = referenceValuesFile; - loadConfiguration(); - } - - public CldsReferenceProperties() { - } - - /** - * get property value. - * - * @param key - * The first key - * @return The string with the value - */ - public String getStringValue(String key) { - return prop.getProperty(key); - } - - /** - * get property value for a combo key (key1 + "." + key2). If not found just - * use key1. - * - * @param key1 - * The first key - * @param key2 - * The second key after a dot - * @return The string with the value - */ - public String getStringValue(String key1, String key2) { - String value = getStringValue(key1 + "." + key2); - if (value == null || value.length() == 0) { - value = getStringValue(key1); - } - return value; - } - - /** - * Return json as objects that can be updated. The value obtained from the - * clds-reference file will be used as a filename. - * - * @param key - * The key that will be used to access the clds-reference file - * @return A jsonNode - * @throws IOException - * In case of issues with the JSON parser - */ - public JsonNode getJsonTemplate(String key) throws IOException { - ObjectMapper objectMapper = new ObjectMapper(); - String fileReference = getStringValue(key); - return (fileReference != null) ? objectMapper.readValue(getFileContentFromPath(fileReference), JsonNode.class) - : null; - } - - /** - * Return json as objects that can be updated. First try with combo key - * (key1 + "." + key2), otherwise default to just key1. The value obtained - * from the clds-reference file will be used as a filename. - * - * @param key1 - * The first key - * @param key2 - * The second key after a dot - * @return A JsonNode - * @throws IOException - * In case of issues with the JSON parser - */ - public JsonNode getJsonTemplate(String key1, String key2) throws IOException { - ObjectMapper objectMapper = new ObjectMapper(); - String fileReference = getStringValue(key1, key2); - return (fileReference != null) ? objectMapper.readValue(getFileContentFromPath(fileReference), JsonNode.class) - : null; - } - - /** - * Return the file content. The value obtained from the clds-reference file - * will be used as a filename. - * - * @param key - * The key that will be used to access the clds-reference file - * @return File content in String - * @throws IOException - * In case of issues with the JSON parser - */ - public String getFileContent(String key) throws IOException { - String fileReference = getStringValue(key); - return (fileReference != null) ? getFileContentFromPath(fileReference) : null; - } - - /** - * Return the file content. First try with combo key (key1 + "." + key2), - * otherwise default to just key1. The value obtained from the - * clds-reference file will be used as a filename. - * - * @param key1 - * The first key - * @param key2 - * The second key after a dot - * @return File content in String - * @throws IOException - * In case of issues with the JSON parser - */ - public String getFileContent(String key1, String key2) throws IOException { - String fileReference = getStringValue(key1, key2); - return (fileReference != null) ? getFileContentFromPath(fileReference) : null; - } - - private String getFileContentFromPath(String filepath) throws IOException { - URL url = appContext.getResource(filepath).getURL(); - return IOUtils.toString(url, StandardCharsets.UTF_8); - } -} diff --git a/src/main/java/org/onap/clamp/clds/config/spring/CldsSecurityConfigUsers.java b/src/main/java/org/onap/clamp/clds/config/spring/CldsSecurityConfigUsers.java index 12dc36418..51bd69540 100644 --- a/src/main/java/org/onap/clamp/clds/config/spring/CldsSecurityConfigUsers.java +++ b/src/main/java/org/onap/clamp/clds/config/spring/CldsSecurityConfigUsers.java @@ -45,28 +45,22 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur * This class is used to enable the HTTP authentication to login. It requires a * specific JSON file containing the user definition * (classpath:etc/config/clds/clds-users.json). - * */ @Configuration @EnableWebSecurity @Profile("clamp-spring-authentication") public class CldsSecurityConfigUsers extends WebSecurityConfigurerAdapter { - protected static final EELFLogger logger = EELFManager.getInstance() - .getLogger(CldsSecurityConfigUsers.class); + protected static final EELFLogger logger = EELFManager.getInstance().getLogger(CldsSecurityConfigUsers.class); protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger(); - @Autowired - private ApplicationContext appContext; - + private ApplicationContext appContext; @Value("${org.onap.clamp.config.files.cldsUsers:'classpath:etc/config/clds/clds-users.json'}") - private String cldsUsersFile; - - @Value("${CLDS_PERMISSION_TYPE_CL:permission-type-cl}") - private String cldsPersmissionTypeCl; - + private String cldsUsersFile; + @Value("${clamp.config.security.permission.type.cl:permission-type-cl}") + private String cldsPersmissionTypeCl; @Value("${CLDS_PERMISSION_INSTANCE:dev}") - private String cldsPermissionInstance; + private String cldsPermissionInstance; /** * This method configures on which URL the authorization will be enabled. @@ -93,13 +87,11 @@ public class CldsSecurityConfigUsers extends WebSecurityConfigurerAdapter { public void configureGlobal(AuthenticationManagerBuilder auth) { try { CldsUser[] usersList = loadUsers(); - // no users defined if (null == usersList) { logger.warn("No users defined. Users should be defined under " + cldsUsersFile); return; } - for (CldsUser user : usersList) { auth.inMemoryAuthentication().withUser(user.getUser()).password(user.getPassword()) .roles(user.getPermissionsString()); diff --git a/src/main/java/org/onap/clamp/clds/service/CldsService.java b/src/main/java/org/onap/clamp/clds/service/CldsService.java index a9b1b771a..3b6bc3778 100644 --- a/src/main/java/org/onap/clamp/clds/service/CldsService.java +++ b/src/main/java/org/onap/clamp/clds/service/CldsService.java @@ -62,7 +62,7 @@ import org.onap.clamp.clds.camel.CamelProxy; import org.onap.clamp.clds.client.DcaeDispatcherServices; import org.onap.clamp.clds.client.DcaeInventoryServices; import org.onap.clamp.clds.client.req.sdc.SdcCatalogServices; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.dao.CldsDao; import org.onap.clamp.clds.exception.CldsConfigException; import org.onap.clamp.clds.exception.policy.PolicyClientException; @@ -105,17 +105,17 @@ public class CldsService extends SecureServiceBase { @Autowired private ApplicationContext appContext; private static final String RESOURCE_NAME = "clds-version.properties"; - @Value("${CLDS_PERMISSION_TYPE_CL:permission-type-cl}") + @Value("${clamp.config.security.permission.type.cl:permission-type-cl}") private String cldsPersmissionTypeCl; - @Value("${CLDS_PERMISSION_TYPE_CL_MANAGE:permission-type-cl-manage}") + @Value("${clamp.config.security.permission.type.cl.manage:permission-type-cl-manage}") private String cldsPermissionTypeClManage; - @Value("${CLDS_PERMISSION_TYPE_CL_EVENT:permission-type-cl-event}") + @Value("${clamp.config.security.permission.type.cl.event:permission-type-cl-event}") private String cldsPermissionTypeClEvent; - @Value("${CLDS_PERMISSION_TYPE_FILTER_VF:permission-type-filter-vf}") + @Value("${clamp.config.security.permission.type.filter.vf:permission-type-filter-vf}") private String cldsPermissionTypeFilterVf; - @Value("${CLDS_PERMISSION_TYPE_TEMPLATE:permission-type-template}") + @Value("${clamp.config.security.permission.type.template:permission-type-template}") private String cldsPermissionTypeTemplate; - @Value("${CLDS_PERMISSION_INSTANCE:dev}") + @Value("${clamp.config.security.permission.instance:dev}") private String cldsPermissionInstance; private SecureServicePermission permissionReadCl; private SecureServicePermission permissionUpdateCl; @@ -140,7 +140,7 @@ public class CldsService extends SecureServiceBase { @Autowired private XslTransformer cldsBpmnTransformer; @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; @Autowired private SdcCatalogServices sdcCatalogServices; @Autowired diff --git a/src/main/java/org/onap/clamp/clds/service/CldsTemplateService.java b/src/main/java/org/onap/clamp/clds/service/CldsTemplateService.java index e64f74bb2..1b03922d1 100644 --- a/src/main/java/org/onap/clamp/clds/service/CldsTemplateService.java +++ b/src/main/java/org/onap/clamp/clds/service/CldsTemplateService.java @@ -55,9 +55,9 @@ import org.springframework.stereotype.Component; @Path("/cldsTempate") public class CldsTemplateService extends SecureServiceBase { - @Value("${CLDS_PERMISSION_TYPE_TEMPLATE:permission-type-template}") + @Value("${clamp.config.security.permission.type.template:permission-type-template}") private String cldsPermissionTypeTemplate; - @Value("${CLDS_PERMISSION_INSTANCE:dev}") + @Value("${clamp.config.security.permission.instance:dev}") private String cldsPermissionInstance; private SecureServicePermission permissionReadTemplate; private SecureServicePermission permissionUpdateTemplate; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 2ac53e0b3..8c8b1968f 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -106,17 +106,99 @@ async.core.pool.size=10 async.max.pool.size=20 async.queue.capacity=500 -org.onap.clamp.config.files.cldsReference=classpath:/clds/clds-reference.properties org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties org.onap.clamp.config.files.sdcController=classpath:/clds/sdc-controllers-config.json +# Properties for Clamp +# DCAE request build properties +# +clamp.config.dcae.template=classpath:/clds/templates/dcae-template.json +clamp.config.dcae.decode.service_ids=classpath:/clds/templates/dcae-decode-service_ids.json +clamp.config.dcae.deployment.template=classpath:/clds/templates/dcae-deployment-template.json +# +# SDC request blueprint properties +# +clamp.config.sdc.template=classpath:/clds/templates/sdc-template.json +clamp.config.sdc.decode.service_ids=classpath:/clds/templates/sdc-decode-service_ids.json +# +# +# General Policy request properties +# +clamp.config.policy.onap.name=DCAE +clamp.config.policy.pdp.group=default +clamp.config.policy.ms.type=MicroService +clamp.config.policy.ms.policyNamePrefix=Config_MS_ +clamp.config.policy.op.type=BRMS_Param +clamp.config.policy.op.policyNamePrefix=Config_BRMS_Param_ + +# TCA MicroService Policy request build properties +# +clamp.config.tca.policyid.prefix=DCAE.Config_ +clamp.config.tca.policy.template=classpath:/clds/templates/tca-policy-template.json +clamp.config.tca.template=classpath:/clds/templates/tca-template.json +clamp.config.tca.thresholds.template=classpath:/clds/templates/tca-thresholds-template.json + +# +# +# Operational Policy request build properties +# +clamp.config.op.policyDescription=from clds +# default +clamp.config.op.templateName=ClosedLoopvUSP +clamp.config.op.operationTopic=APPC-CL +clamp.config.op.notificationTopic=POLICY-CL-MGT +clamp.config.op.controller=amsterdam +clamp.config.op.policy.appc=APPC +# by service: vSCP +clamp.config.op.templateName.vSCP=ClosedLoopTemplate +clamp.config.op.controller.vSCP=1607-f5fw +clamp.config.op.eNodeB.templateName=ClosedLoopControlName +clamp.config.op.eNodeB.operationTopic=com.onap.sdnr.RanCLRequest-v00 +clamp.config.op.eNodeB.notificationTopic=com.onap-policy.IST-ENODEB-CL +clamp.config.op.eNodeB.controller=amsterdam +clamp.config.op.eNodeB.recipe=classpath:/clds/templates/op-eNodeB-recipe.json +clamp.config.op.eNodeB.timeWindow=35 +clamp.config.op.eNodeB.limit=2 +clamp.config.op.eNodeB.period=10s +# +# Sdc service properties +clamp.config.sdc.catalog.url=http://sdc.api.simpledemo.onap.org:8080/sdc/v1/catalog/ +clamp.config.sdc.hostUrl=http://sdc.api.simpledemo.onap.org:8080 +clamp.config.sdc.serviceUrl=http://sdc.api.simpledemo.onap.org:8080/sdc/v1/catalog/services +clamp.config.sdc.serviceUsername=clamp +clamp.config.sdc.servicePassword=b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981 +clamp.config.sdc.artifactLabel=blueprintclampcockpit +clamp.config.sdc.sdcX-InstanceID=CLAMP +clamp.config.sdc.artifactType=DCAE_INVENTORY_BLUEPRINT +clamp.config.sdc.locationArtifactLabel=locationclampcockpit +clamp.config.sdc.locationArtifactType=DCAE_INVENTORY_JSON +clamp.config.sdc.InstanceID=X-ECOMP-InstanceID +clamp.config.sdc.header.requestId = X-ECOMP-RequestID +# +# +clamp.config.ui.location.default=classpath:/clds/templates/ui-location-default.json +clamp.config.ui.alarm.default=classpath:/clds/templates/ui-alarm-default.json +# +# if action.test.override is true, then any action will be marked as test=true (even if incoming action request had test=false); otherwise, test flag will be unchanged on the action request +clamp.config.action.test.override=false +# if action.insert.test.event is true, then insert event even if the action is set to test +clamp.config.action.insert.test.event=false +clamp.config.clds.service.cache.invalidate.after.seconds=120 + +#DCAE Inventory Url Properties +clamp.config.dcae.inventory.url=http://dcae.api.simpledemo.onap.org:8080 + +#DCAE Dispatcher Url Properties +clamp.config.dcae.dispatcher.url=http://dcae.api.simpledemo.onap.org:8080 +clamp.config.dcae.header.requestId = X-ECOMP-RequestID + #Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case ! -CLDS_PERMISSION_TYPE_CL=permission-type-cl -CLDS_PERMISSION_TYPE_CL_MANAGE=permission-type-cl-manage -CLDS_PERMISSION_TYPE_CL_EVENT=permission-type-cl-event -CLDS_PERMISSION_TYPE_FILTER_VF=permission-type-filter-vf -CLDS_PERMISSION_TYPE_TEMPLATE=permission-type-template +clamp.config.security.permission.type.cl=permission-type-cl +clamp.config.security.permission.type.cl.manage=permission-type-cl-manage +clamp.config.security.permission.type.cl.event=permission-type-cl-event +clamp.config.security.permission.type.filter.vf=permission-type-filter-vf +clamp.config.security.permission.type.template=permission-type-template #This one indicates the type of instances (dev|prod|perf...), this must be set accordingly in clds-users.properties -CLDS_PERMISSION_INSTANCE=dev \ No newline at end of file +clamp.config.security.permission.instance=dev \ No newline at end of file diff --git a/src/main/resources/clds/clds-reference.properties b/src/main/resources/clds/clds-reference.properties deleted file mode 100644 index 3716a29dc..000000000 --- a/src/main/resources/clds/clds-reference.properties +++ /dev/null @@ -1,108 +0,0 @@ -### -# ============LICENSE_START======================================================= -# ONAP CLAMP -# ================================================================================ -# Copyright (C) 2017-2018 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. -# ============LICENSE_END============================================ -# =================================================================== -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -### - -# -# Poperties for CLDS -# -# -# DCAE request build properties -# -dcae.template=classpath:/clds/templates/dcae-template.json -dcae.decode.service_ids=classpath:/clds/templates/dcae-decode-service_ids.json -dcae.deployment.template=classpath:/clds/templates/dcae-deployment-template.json -# -# SDC request blueprint properties -# -sdc.template=classpath:/clds/templates/sdc-template.json -sdc.decode.service_ids=classpath:/clds/templates/sdc-decode-service_ids.json -# -# -# General Policy request properties -# -policy.onap.name=DCAE -policy.pdp.group=default -policy.ms.type=MicroService -policy.ms.policyNamePrefix=Config_MS_ -policy.op.type=BRMS_Param -policy.op.policyNamePrefix=Config_BRMS_Param_ - -# TCA MicroService Policy request build properties -# -tca.policyid.prefix=DCAE.Config_ -tca.policy.template=classpath:/clds/templates/tca-policy-template.json -tca.template=classpath:/clds/templates/tca-template.json -tca.thresholds.template=classpath:/clds/templates/tca-thresholds-template.json - -# -# -# Operational Policy request build properties -# -op.policyDescription=from clds -# default -op.templateName=ClosedLoopvUSP -op.operationTopic=APPC-CL -op.notificationTopic=POLICY-CL-MGT -op.controller=amsterdam -op.policy.appc=APPC -# by service: vSCP -op.templateName.vSCP=ClosedLoopTemplate -op.controller.vSCP=1607-f5fw -op.eNodeB.templateName=ClosedLoopControlName -op.eNodeB.operationTopic=com.onap.sdnr.RanCLRequest-v00 -op.eNodeB.notificationTopic=com.onap-policy.IST-ENODEB-CL -op.eNodeB.controller=amsterdam -op.eNodeB.recipe=classpath:/clds/templates/op-eNodeB-recipe.json -op.eNodeB.timeWindow=35 -op.eNodeB.limit=2 -op.eNodeB.period=10s -# -# Sdc service properties -sdc.catalog.url=http://sdc.api.simpledemo.onap.org:8080/sdc/v1/catalog/ -sdc.hostUrl=http://sdc.api.simpledemo.onap.org:8080 -sdc.serviceUrl=http://sdc.api.simpledemo.onap.org:8080/sdc/v1/catalog/services -sdc.serviceUsername=clamp -sdc.servicePassword=b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981 -sdc.artifactLabel=blueprintclampcockpit -sdc.sdcX-InstanceID=CLAMP -sdc.artifactType=DCAE_INVENTORY_BLUEPRINT -sdc.locationArtifactLabel=locationclampcockpit -sdc.locationArtifactType=DCAE_INVENTORY_JSON -sdc.InstanceID=X-ECOMP-InstanceID -sdc.header.requestId = X-ECOMP-RequestID -# -# -ui.location.default=classpath:/clds/templates/ui-location-default.json -ui.alarm.default=classpath:/clds/templates/ui-alarm-default.json -# -# if action.test.override is true, then any action will be marked as test=true (even if incoming action request had test=false); otherwise, test flag will be unchanged on the action request -action.test.override=false -# if action.insert.test.event is true, then insert event even if the action is set to test -action.insert.test.event=false -clds.service.cache.invalidate.after.seconds=120 - -#DCAE Inventory Url Properties -dcae.inventory.url=http://dcae.api.simpledemo.onap.org:8080 - -#DCAE Dispatcher Url Properties -dcae.dispatcher.url=http://dcae.api.simpledemo.onap.org:8080 -dcae.header.requestId = X-ECOMP-RequestID diff --git a/src/test/java/org/onap/clamp/clds/it/OperationPolicyReqItCase.java b/src/test/java/org/onap/clamp/clds/it/OperationPolicyReqItCase.java index 04bc9594a..43f212cf3 100644 --- a/src/test/java/org/onap/clamp/clds/it/OperationPolicyReqItCase.java +++ b/src/test/java/org/onap/clamp/clds/it/OperationPolicyReqItCase.java @@ -36,7 +36,7 @@ import java.util.Map; import org.junit.Test; import org.junit.runner.RunWith; import org.onap.clamp.clds.client.req.policy.OperationalPolicyReq; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.model.CldsEvent; import org.onap.clamp.clds.model.properties.ModelProperties; import org.onap.clamp.clds.model.properties.Policy; @@ -53,7 +53,7 @@ import org.springframework.test.context.junit4.SpringRunner; public class OperationPolicyReqItCase { @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; @Test public void formatAttributesTest() throws IOException, BuilderException { diff --git a/src/test/java/org/onap/clamp/clds/it/PolicyClientItCase.java b/src/test/java/org/onap/clamp/clds/it/PolicyClientItCase.java index eb17c22c3..71cd9f6b8 100644 --- a/src/test/java/org/onap/clamp/clds/it/PolicyClientItCase.java +++ b/src/test/java/org/onap/clamp/clds/it/PolicyClientItCase.java @@ -36,7 +36,7 @@ import org.junit.runner.RunWith; import org.onap.clamp.clds.client.req.policy.OperationalPolicyReq; import org.onap.clamp.clds.client.req.policy.PolicyClient; import org.onap.clamp.clds.client.req.tca.TcaRequestFormatter; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.model.CldsEvent; import org.onap.clamp.clds.model.properties.ModelProperties; import org.onap.clamp.clds.model.properties.Policy; @@ -57,7 +57,7 @@ import org.springframework.test.context.junit4.SpringRunner; public class PolicyClientItCase { @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; @Autowired protected PolicyClient policyClient; String modelProp; diff --git a/src/test/java/org/onap/clamp/clds/it/SdcCatalogServicesItCase.java b/src/test/java/org/onap/clamp/clds/it/SdcCatalogServicesItCase.java index d873aa485..7655c5886 100644 --- a/src/test/java/org/onap/clamp/clds/it/SdcCatalogServicesItCase.java +++ b/src/test/java/org/onap/clamp/clds/it/SdcCatalogServicesItCase.java @@ -33,7 +33,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; import org.onap.clamp.clds.client.req.sdc.SdcCatalogServices; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.model.CldsAlarmCondition; import org.onap.clamp.clds.model.CldsServiceData; import org.onap.clamp.clds.model.sdc.SdcResource; @@ -51,7 +51,7 @@ import org.springframework.test.context.junit4.SpringRunner; public class SdcCatalogServicesItCase { @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; @Autowired private SdcCatalogServices sdcCatalogWired = new SdcCatalogServices(); diff --git a/src/test/java/org/onap/clamp/clds/it/TcaRequestFormatterItCase.java b/src/test/java/org/onap/clamp/clds/it/TcaRequestFormatterItCase.java index 24f127c3e..a46ecee1a 100644 --- a/src/test/java/org/onap/clamp/clds/it/TcaRequestFormatterItCase.java +++ b/src/test/java/org/onap/clamp/clds/it/TcaRequestFormatterItCase.java @@ -33,7 +33,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.onap.clamp.clds.client.req.tca.TcaRequestFormatter; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.onap.clamp.clds.model.CldsEvent; import org.onap.clamp.clds.model.properties.ModelProperties; import org.onap.clamp.clds.util.ResourceFileUtil; @@ -50,7 +50,7 @@ import org.springframework.test.context.junit4.SpringRunner; public class TcaRequestFormatterItCase { @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; private String modelProp; private String modelBpmn; private String modelName; diff --git a/src/test/java/org/onap/clamp/clds/it/config/CldsReferencePropertiesItCase.java b/src/test/java/org/onap/clamp/clds/it/config/CldsReferencePropertiesItCase.java index 484a13e60..43fc95981 100644 --- a/src/test/java/org/onap/clamp/clds/it/config/CldsReferencePropertiesItCase.java +++ b/src/test/java/org/onap/clamp/clds/it/config/CldsReferencePropertiesItCase.java @@ -33,7 +33,7 @@ import java.io.IOException; import org.junit.Test; import org.junit.runner.RunWith; -import org.onap.clamp.clds.config.CldsReferenceProperties; +import org.onap.clamp.clds.config.ClampProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @@ -46,7 +46,7 @@ import org.springframework.test.context.junit4.SpringRunner; public class CldsReferencePropertiesItCase { @Autowired - private CldsReferenceProperties refProp; + private ClampProperties refProp; /** * Test getting a value the properties in string. diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties new file mode 100644 index 000000000..a676e1057 --- /dev/null +++ b/src/test/resources/application.properties @@ -0,0 +1,204 @@ +### +# ============LICENSE_START======================================================= +# ONAP CLAMP +# ================================================================================ +# Copyright (C) 2017-2018 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. +# ============LICENSE_END============================================ +# =================================================================== +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +### + +info.build.artifact=@project.artifactId@ +info.build.name=@project.name@ +info.build.description=@project.description@ +info.build.version=@project.version@ + +### Set the port for HTTP or HTTPS protocol (Controlled by Spring framework, only one at a time). +### (See below for the parameter 'server.http.port' if you want to have both enabled) +### To have only HTTP, keep the lines server.ssl.* commented +### To have only HTTPS enabled, uncomment the server.ssl.* lines and specify a right keystore location +server.port=8080 +### Settings for HTTPS (this automatically enables the HTTPS on the port 'server.port') +#server.ssl.key-store=file:/tmp/mykey.jks +#server.ssl.key-store-password=pass +#server.ssl.key-password=pass + +### In order to be user friendly when HTTPS is enabled, +### you can add another HTTP port that will be automatically redirected to HTTPS +### by enabling this parameter (server.http.port) and set it to another port (80 or 8080, 8090, etc ...) +#server.http-to-https-redirection.port=8090 + +### HTTP Example: +###-------------- +### server.port=8080 + +### HTTPS Example: +### -------------- +### server.port=8443 +### server.ssl.key-store=file:/tmp/mykey.jks +### server.ssl.key-store-password=mypass +### server.ssl.key-password=mypass + +### HTTP (Redirected to HTTPS) and HTTPS Example: +### -------------------------------------------- +### server.port=8443 <-- The HTTPS port +### server.ssl.key-store=file:/tmp/mykey.jks +### server.ssl.key-store-password=mypass +### server.ssl.key-password=mypass +### server.http-to-https-redirection.port=8090 <-- The HTTP port + +server.contextPath=/ +#Modified engine-rest applicationpath +spring.profiles.active=clamp-default,clamp-spring-authentication + +#The max number of active threads in this pool +server.tomcat.max-threads=200 +#The minimum number of threads always kept alive +server.tomcat.min-Spare-Threads=25 +#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads +server.tomcat.max-idle-time=60000 + +#Servlet context parameters +server.context_parameters.p-name=value #context parameter with p-name as key and value as value. + +camel.springboot.consumer-template-cache-size=1000 +camel.springboot.producer-template-cache-size=1000 +camel.springboot.jmx-enabled=false +camel.defaultthreadpool.poolsize=10 +camel.defaultthreadpool.maxpoolsize=20 +camel.defaultthreadpool.maxqueuesize=1000 +camel.defaultthreadpool.keepaliveTime=60 +camel.defaultthreadpool.rejectpolicy=CallerRuns +#camel.springboot.xmlRoutes = false +camel.springboot.xmlRoutes=classpath:/clds/camel/*.xml +#camel.springboot.typeConversion = false + +#clds datasource connection details +spring.datasource.cldsdb.driverClassName=org.mariadb.jdbc.Driver +spring.datasource.cldsdb.url=jdbc:mariadb:sequential://localhost:${docker.mariadb.port.host}/cldsdb4?autoReconnect=true&connectTimeout=10000&socketTimeout=10000&retriesAllDown=3 +spring.datasource.cldsdb.username=clds +spring.datasource.cldsdb.password=4c90a0b48204383f4283448d23e0b885a47237b2a23588e7c4651604f51c1067 +spring.datasource.cldsdb.validationQuery=SELECT 1 +spring.datasource.cldsdb.validationQueryTimeout=20000 +spring.datasource.cldsdb.validationInterval=30000 +spring.datasource.cldsdb.testWhileIdle = true +spring.datasource.cldsdb.minIdle = 0 +spring.datasource.cldsdb.initialSize=0 +# Automatically test whether a connection provided is good or not +spring.datasource.cldsdb.testOnBorrow=true +spring.datasource.cldsdb.ignoreExceptionOnPreLoad=true + +#Async Executor default Parameters +async.core.pool.size=10 +async.max.pool.size=20 +async.queue.capacity=500 + +org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties +org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json +org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties +org.onap.clamp.config.files.sdcController=classpath:/clds/sdc-controllers-config.json + +# Properties for Clamp +# DCAE request build properties +# +clamp.config.dcae.template=classpath:/clds/templates/dcae-template.json +clamp.config.dcae.decode.service_ids=classpath:/clds/templates/dcae-decode-service_ids.json +clamp.config.dcae.deployment.template=classpath:/clds/templates/dcae-deployment-template.json +# +# SDC request blueprint properties +# +clamp.config.sdc.template=classpath:/clds/templates/sdc-template.json +clamp.config.sdc.decode.service_ids=classpath:/clds/templates/sdc-decode-service_ids.json +# +# +# General Policy request properties +# +clamp.config.policy.onap.name=DCAE +clamp.config.policy.pdp.group=default +clamp.config.policy.ms.type=MicroService +clamp.config.policy.ms.policyNamePrefix=Config_MS_ +clamp.config.policy.op.type=BRMS_Param +clamp.config.policy.op.policyNamePrefix=Config_BRMS_Param_ + +# TCA MicroService Policy request build properties +# +clamp.config.tca.policyid.prefix=DCAE.Config_ +clamp.config.tca.policy.template=classpath:/clds/templates/tca-policy-template.json +clamp.config.tca.template=classpath:/clds/templates/tca-template.json +clamp.config.tca.thresholds.template=classpath:/clds/templates/tca-thresholds-template.json + +# +# +# Operational Policy request build properties +# +clamp.config.op.policyDescription=from clds +# default +clamp.config.op.templateName=ClosedLoopvUSP +clamp.config.op.operationTopic=APPC-CL +clamp.config.op.notificationTopic=POLICY-CL-MGT +clamp.config.op.controller=amsterdam +clamp.config.op.policy.appc=APPC +# by service: vSCP +clamp.config.op.templateName.vSCP=ClosedLoopTemplate +clamp.config.op.controller.vSCP=1607-f5fw +clamp.config.op.eNodeB.templateName=ClosedLoopControlName +clamp.config.op.eNodeB.operationTopic=com.onap.sdnr.RanCLRequest-v00 +clamp.config.op.eNodeB.notificationTopic=com.onap-policy.IST-ENODEB-CL +clamp.config.op.eNodeB.controller=amsterdam +clamp.config.op.eNodeB.recipe=classpath:/clds/templates/op-eNodeB-recipe.json +clamp.config.op.eNodeB.timeWindow=35 +clamp.config.op.eNodeB.limit=2 +clamp.config.op.eNodeB.period=10s +# +# Sdc service properties +clamp.config.sdc.catalog.url=http://localhost:${docker.http-cache.port.host}/sdc/v1/catalog/ +clamp.config.sdc.hostUrl=http://localhost:${docker.http-cache.port.host} +clamp.config.sdc.serviceUrl=http://localhost:${docker.http-cache.port.host}/sdc/v1/catalog/services +clamp.config.sdc.serviceUsername=clamp +clamp.config.sdc.servicePassword=b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981 +clamp.config.sdc.artifactLabel=blueprintclampcockpit +clamp.config.sdc.sdcX-InstanceID=CLAMP +clamp.config.sdc.artifactType=DCAE_INVENTORY_BLUEPRINT +clamp.config.sdc.locationArtifactLabel=locationclampcockpit +clamp.config.sdc.locationArtifactType=DCAE_INVENTORY_JSON +clamp.config.sdc.InstanceID=X-ECOMP-InstanceID +clamp.config.sdc.header.requestId = X-ECOMP-RequestID +# +# +clamp.config.ui.location.default=classpath:/clds/templates/ui-location-default.json +clamp.config.ui.alarm.default=classpath:/clds/templates/ui-alarm-default.json +# +# if action.test.override is true, then any action will be marked as test=true (even if incoming action request had test=false); otherwise, test flag will be unchanged on the action request +clamp.config.action.test.override=false +# if action.insert.test.event is true, then insert event even if the action is set to test +clamp.config.action.insert.test.event=false +clamp.config.clds.service.cache.invalidate.after.seconds=120 + +#DCAE Inventory Url Properties +clamp.config.dcae.inventory.url=http://dcae.api.simpledemo.onap.org:8080 + +#DCAE Dispatcher Url Properties +clamp.config.dcae.dispatcher.url=http://dcae.api.simpledemo.onap.org:8080 +clamp.config.dcae.header.requestId = X-ECOMP-RequestID + +#Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case ! +clamp.config.security.permission.type.cl=permission-type-cl +clamp.config.security.permission.type.cl.manage=permission-type-cl-manage +clamp.config.security.permission.type.cl.event=permission-type-cl-event +clamp.config.security.permission.type.filter.vf=permission-type-filter-vf +clamp.config.security.permission.type.template=permission-type-template +#This one indicates the type of instances (dev|prod|perf...), this must be set accordingly in clds-users.properties +clamp.config.security.permission.instance=dev \ No newline at end of file diff --git a/src/test/resources/clds/clds-reference.properties b/src/test/resources/clds/clds-reference.properties deleted file mode 100644 index 56552781f..000000000 --- a/src/test/resources/clds/clds-reference.properties +++ /dev/null @@ -1,109 +0,0 @@ -### -# ============LICENSE_START======================================================= -# ONAP CLAMP -# ================================================================================ -# Copyright (C) 2017-2018 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. -# ============LICENSE_END============================================ -# =================================================================== -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -### - -# -# Poperties for CLDS -# -# -# DCAE request build properties -# -dcae.template=classpath:/clds/templates/dcae-template.json -dcae.decode.service_ids=classpath:/clds/templates/dcae-decode-service_ids.json -dcae.deployment.template=classpath:/clds/templates/dcae-deployment-template.json -# -# SDC request blueprint properties -# -sdc.template=classpath:/clds/templates/sdc-template.json -sdc.decode.service_ids=classpath:/clds/templates/sdc-decode-service_ids.json -# -# -# General Policy request properties -# -policy.onap.name=DCAE -policy.pdp.group=default -policy.ms.type=MicroService -policy.ms.policyNamePrefix=Config_MS_ -policy.op.type=BRMS_Param -policy.op.policyNamePrefix=Config_BRMS_Param_ - -# TCA MicroService Policy request build properties -# -tca.policyid.prefix=DCAE.Config_ -tca.policy.template=classpath:/clds/templates/tca-policy-template.json -tca.template=classpath:/clds/templates/tca-template.json -tca.thresholds.template=classpath:/clds/templates/tca-thresholds-template.json - -# -# -# Operational Policy request build properties -# -op.policyDescription=from clds -# default -op.templateName=ClosedLoopvUSP -op.operationTopic=APPC-CL -op.notificationTopic=POLICY-CL-MGT -op.controller=amsterdam -op.policy.appc=APPC -# by service: vSCP -op.templateName.vSCP=ClosedLoopTemplate -op.controller.vSCP=1607-f5fw -op.eNodeB.templateName=ClosedLoopControlName -op.eNodeB.operationTopic=com.onap.sdnr.RanCLRequest-v00 -op.eNodeB.notificationTopic=com.onap-policy.IST-ENODEB-CL -op.eNodeB.controller=amsterdam -op.eNodeB.recipe=classpath:/clds/templates/op-eNodeB-recipe.json -op.eNodeB.timeWindow=35 -op.eNodeB.limit=2 -op.eNodeB.period=10s -# -# Sdc service properties -sdc.catalog.url=http://localhost:${docker.http-cache.port.host}/sdc/v1/catalog/ -sdc.hostUrl=http://localhost:${docker.http-cache.port.host} -sdc.serviceUrl=http://localhost:${docker.http-cache.port.host}/sdc/v1/catalog/services -sdc.serviceUsername=clamp -sdc.servicePassword=b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981 -sdc.artifactLabel=blueprintclampcockpit -sdc.sdcX-InstanceID=CLAMP -sdc.artifactType=DCAE_INVENTORY_BLUEPRINT -sdc.locationArtifactLabel=locationclampcockpit -sdc.locationArtifactType=DCAE_INVENTORY_JSON -sdc.InstanceID=X-ECOMP-InstanceID -sdc.header.requestId=X-ECOMP-RequestID -# -# -ui.location.default=classpath:/clds/templates/ui-location-default.json -ui.alarm.default=classpath:/clds/templates/ui-alarm-default.json -# -# if action.test.override is true, then any action will be marked as test=true (even if incoming action request had test=false); otherwise, test flag will be unchanged on the action request -action.test.override=false -# if action.insert.test.event is true, then insert event even if the action is set to test -action.insert.test.event=false -clds.service.cache.invalidate.after.seconds=120 - -#DCAE Inventory Url Properties -dcae.inventory.url=http://dcae.api.simpledemo.onap.org:8080 - -#DCAE Dispatcher Url Properties -dcae.dispatcher.url=http://dcae.api.simpledemo.onap.org:8080 -dcae.header.requestId = X-ECOMP-RequestID - diff --git a/src/test/resources/https/https-test.properties b/src/test/resources/https/https-test.properties index 01b6ff1df..4db8addf1 100644 --- a/src/test/resources/https/https-test.properties +++ b/src/test/resources/https/https-test.properties @@ -21,11 +21,6 @@ # ECOMP is a trademark and service mark of AT&T Intellectual Property. ### -info.build.artifact=@project.artifactId@ -info.build.name=@project.name@ -info.build.description=@project.description@ -info.build.version=@project.version@ - ### Set the port for HTTP or HTTPS protocol (Controlled by Spring framework, only one at a time). ### (See below for the parameter 'server.http.port' if you want to have both enabled) ### To have only HTTP, keep the lines server.ssl.* commented @@ -64,28 +59,6 @@ server.contextPath=/ #Modified engine-rest applicationpath spring.profiles.active=clamp-default,clamp-spring-authentication -#The max number of active threads in this pool -server.tomcat.max-threads=200 -#The minimum number of threads always kept alive -server.tomcat.min-Spare-Threads=25 -#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads -server.tomcat.max-idle-time=60000 - -#Servlet context parameters -server.context_parameters.p-name=value #context parameter with p-name as key and value as value. - -camel.springboot.consumer-template-cache-size=1000 -camel.springboot.producer-template-cache-size=1000 -camel.springboot.jmx-enabled=false -camel.defaultthreadpool.poolsize=10 -camel.defaultthreadpool.maxpoolsize=20 -camel.defaultthreadpool.maxqueuesize=1000 -camel.defaultthreadpool.keepaliveTime=60 -camel.defaultthreadpool.rejectpolicy=CallerRuns -#camel.springboot.xmlRoutes = false -camel.springboot.xmlRoutes=classpath:/clds/camel/*.xml -#camel.springboot.typeConversion = false - #clds datasource connection details spring.datasource.cldsdb.driverClassName=org.mariadb.jdbc.Driver spring.datasource.cldsdb.url=jdbc:mariadb:sequential://localhost:${docker.mariadb.port.host}/cldsdb4?autoReconnect=true&retriesAllDown=2147483647&failoverLoopRetries=2147483647 @@ -100,22 +73,3 @@ spring.datasource.cldsdb.initialSize=0 # Automatically test whether a connection provided is good or not spring.datasource.cldsdb.testOnBorrow=true spring.datasource.cldsdb.ignoreExceptionOnPreLoad=true - -#Async Executor default Parameters -async.core.pool.size=10 -async.max.pool.size=20 -async.queue.capacity=500 - -org.onap.clamp.config.files.cldsReference=classpath:/clds/clds-reference.properties -org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties -org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json -org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties - -#Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case ! -CLDS_PERMISSION_TYPE_CL=permission-type-cl -CLDS_PERMISSION_TYPE_CL_MANAGE=permission-type-cl-manage -CLDS_PERMISSION_TYPE_CL_EVENT=permission-type-cl-event -CLDS_PERMISSION_TYPE_FILTER_VF=permission-type-filter-vf -CLDS_PERMISSION_TYPE_TEMPLATE=permission-type-template -#This one indicates the type of instances (dev|prod|perf...), this must be set accordingly in clds-users.properties -CLDS_PERMISSION_INSTANCE=dev \ No newline at end of file -- cgit 1.2.3-korg