diff options
Diffstat (limited to 'src/main/java')
9 files changed, 51 insertions, 245 deletions
diff --git a/src/main/java/org/onap/clamp/clds/client/DcaeReqDelegate.java b/src/main/java/org/onap/clamp/clds/client/DcaeReqDelegate.java deleted file mode 100644 index 8abc395d1..000000000 --- a/src/main/java/org/onap/clamp/clds/client/DcaeReqDelegate.java +++ /dev/null @@ -1,64 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2017 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.client; - -import org.camunda.bpm.engine.delegate.DelegateExecution; -import org.camunda.bpm.engine.delegate.JavaDelegate; -import org.onap.clamp.clds.client.req.DcaeReq; -import org.onap.clamp.clds.model.prop.ModelProperties; -import org.onap.clamp.clds.model.refprop.RefProp; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; - -/** - * Send control loop model to dcae proxy. - */ -public class DcaeReqDelegate implements JavaDelegate { - protected static final EELFLogger logger = EELFManager.getInstance().getLogger(DcaeReqDelegate.class); - protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger(); - - @Autowired - private RefProp refProp; - - @Value("${org.onap.clamp.config.dcae.url:http://localhost:9000/closedloop-dcae-services}") - private String cldsDcaeUrl; - - /** - * Perform activity. Send to dcae proxy. - * - * @param execution - */ - @Override - public void execute(DelegateExecution execution) throws Exception { - ModelProperties prop = ModelProperties.create(execution); - String dcaeReq = DcaeReq.format(refProp, prop); - if (dcaeReq != null) { - execution.setVariable("dcaeReq", dcaeReq.getBytes()); - } - execution.setVariable("dcaeUrl", cldsDcaeUrl + "/" + prop.getControlName()); - } -} diff --git a/src/main/java/org/onap/clamp/clds/client/DcaeReqDeleteDelegate.java b/src/main/java/org/onap/clamp/clds/client/DcaeReqDeleteDelegate.java deleted file mode 100644 index 29a906787..000000000 --- a/src/main/java/org/onap/clamp/clds/client/DcaeReqDeleteDelegate.java +++ /dev/null @@ -1,55 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2017 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.client; - -import org.camunda.bpm.engine.delegate.DelegateExecution; -import org.camunda.bpm.engine.delegate.JavaDelegate; -import org.onap.clamp.clds.model.prop.ModelProperties; -import org.onap.clamp.clds.model.refprop.RefProp; -import org.springframework.beans.factory.annotation.Autowired; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; - -/** - * Send control loop model to dcae proxy. - */ -public class DcaeReqDeleteDelegate implements JavaDelegate { - protected static final EELFLogger logger = EELFManager.getInstance().getLogger(DcaeReqDeleteDelegate.class); - protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger(); - - @Autowired - private RefProp refProp; - - /** - * Perform activity. Send to dcae proxy. - * - * @param execution - */ - @Override - public void execute(DelegateExecution execution) throws Exception { - ModelProperties prop = ModelProperties.create(execution); - execution.setVariable("dcaeUrl", System.getProperty("CLDS_DCAE_URL") + "/" + prop.getControlName()); - } -} diff --git a/src/main/java/org/onap/clamp/clds/client/PolicyClient.java b/src/main/java/org/onap/clamp/clds/client/PolicyClient.java index 2bd680af2..391e39556 100644 --- a/src/main/java/org/onap/clamp/clds/client/PolicyClient.java +++ b/src/main/java/org/onap/clamp/clds/client/PolicyClient.java @@ -204,7 +204,6 @@ public class PolicyClient { * @param prop * The ModelProperties * @return The response message of Policy - * @throws Exception */ protected String send(PolicyParameters policyParameters, ModelProperties prop, String policyNamePrefix) { // Verify whether it is triggered by Validation Test button from UI @@ -336,6 +335,7 @@ public class PolicyClient { logger.info("Policy versions.size()=" + versions.size()); return versions; + } /** diff --git a/src/main/java/org/onap/clamp/clds/client/SdcCatalogServices.java b/src/main/java/org/onap/clamp/clds/client/SdcCatalogServices.java index 5b9c5d36d..e3d10c756 100644 --- a/src/main/java/org/onap/clamp/clds/client/SdcCatalogServices.java +++ b/src/main/java/org/onap/clamp/clds/client/SdcCatalogServices.java @@ -779,7 +779,9 @@ public class SdcCatalogServices { * @return
*/
public String getCldsServicesOrResourcesBasedOnURL(String url, boolean alarmConditions) {
+ Date startTime = new Date();
try {
+ LoggingUtils.setTargetContext("SDC", "getCldsServicesOrResourcesBasedOnURL");
String urlReworked = removeUnwantedBracesFromString(url);
URL urlObj = new URL(urlReworked);
@@ -792,7 +794,7 @@ public class SdcCatalogServices { conn.setRequestMethod("GET");
int responseCode = conn.getResponseCode();
- logger.info("responseCode=" + responseCode);
+ logger.info("Sdc resource url - " + urlReworked + " , responseCode=" + responseCode);
StringBuilder response;
try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()))) {
response = new StringBuilder();
@@ -806,10 +808,16 @@ public class SdcCatalogServices { }
}
}
+ LoggingUtils.setResponseContext("0", "Get sdc resources success", this.getClass().getName());
return response.toString();
} catch (IOException e) {
+ LoggingUtils.setResponseContext("900", "Get sdc resources failed", this.getClass().getName());
+ LoggingUtils.setErrorContext("900", "Get sdc resources error");
logger.error("Exception occurred during query to SDC", e);
return "";
+ } finally {
+ LoggingUtils.setTimeContext(startTime, new Date());
+ metricsLogger.info("getCldsServicesOrResourcesBasedOnURL completed");
}
}
@@ -1069,14 +1077,22 @@ public class SdcCatalogServices { }
}
+ /**
+ * Method to create vfc and kpi nodes inside vf node
+ *
+ * @param mapper
+ * @param cldsVfDataList
+ * @return
+ */
private ObjectNode createVfcObjectNodeByVfUuid(ObjectMapper mapper, List<CldsVfData> cldsVfDataList) {
ObjectNode vfUuidObjectNode = mapper.createObjectNode();
if (cldsVfDataList != null && !cldsVfDataList.isEmpty()) {
for (CldsVfData currCldsVfData : cldsVfDataList) {
if (currCldsVfData != null) {
- ObjectNode vfcObjectNode = mapper.createObjectNode();
+ ObjectNode vfObjectNode = mapper.createObjectNode();
ObjectNode vfcUuidNode = mapper.createObjectNode();
+ ObjectNode kpiObjectNode = mapper.createObjectNode();
if (currCldsVfData.getCldsVfcs() != null && !currCldsVfData.getCldsVfcs().isEmpty()) {
for (CldsVfcData currCldsVfcData : currCldsVfData.getCldsVfcs()) {
vfcUuidNode.put(currCldsVfcData.getVfcInvariantResourceUUID(),
@@ -1085,8 +1101,17 @@ public class SdcCatalogServices { } else {
vfcUuidNode.put("", "");
}
- vfcObjectNode.putPOJO("vfc", vfcUuidNode);
- vfUuidObjectNode.putPOJO(currCldsVfData.getVfInvariantResourceUUID(), vfcObjectNode);
+ if (currCldsVfData.getCldsKPIList() != null && !currCldsVfData.getCldsKPIList().isEmpty()) {
+ for (CldsVfKPIData currCldsVfKPIData : currCldsVfData.getCldsKPIList()) {
+ kpiObjectNode.put(currCldsVfKPIData.getThresholdValue(),
+ currCldsVfKPIData.getThresholdValue());
+ }
+ } else {
+ kpiObjectNode.put("", "");
+ }
+ vfObjectNode.putPOJO("vfc", vfcUuidNode);
+ vfObjectNode.putPOJO("kpi", kpiObjectNode);
+ vfUuidObjectNode.putPOJO(currCldsVfData.getVfInvariantResourceUUID(), vfObjectNode);
}
}
} else {
diff --git a/src/main/java/org/onap/clamp/clds/client/req/DcaeReq.java b/src/main/java/org/onap/clamp/clds/client/req/DcaeReq.java deleted file mode 100644 index a97e9d488..000000000 --- a/src/main/java/org/onap/clamp/clds/client/req/DcaeReq.java +++ /dev/null @@ -1,97 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2017 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.client.req; - -import java.io.IOException; -import java.util.List; - -import org.onap.clamp.clds.model.prop.Global; -import org.onap.clamp.clds.model.prop.ModelProperties; -import org.onap.clamp.clds.model.prop.StringMatch; -import org.onap.clamp.clds.model.refprop.RefProp; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.node.ObjectNode; - -/** - * Construct a DCAE request given CLDS objects. - */ -public class DcaeReq { - protected static final EELFLogger logger = EELFManager.getInstance().getLogger(DcaeReq.class); - protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger(); - - /** - * Format DCAE request. - * - * @param refProp - * @param prop - * @return - * @throws IOException - * @throws JsonMappingException - * @throws JsonParseException - */ - public static String format(RefProp refProp, ModelProperties prop) throws IOException { - Global globalProp = prop.getGlobal(); - - StringMatch smProp = prop.getType(StringMatch.class); - prop.setCurrentModelElementId(smProp.getId()); - - ObjectNode rootNode = (ObjectNode) refProp.getJsonTemplate("dcae.template"); - - // "properties":{ - ObjectNode properties = rootNode.with("properties"); - // "service_name": - properties.put("service_name", globalProp.getService()); - // "service_ids":[ - List<String> serviceIds = refProp.decodeToList("dcae.decode.service_ids", globalProp.getService()); - JsonUtil.addArrayField(properties, "service_ids", serviceIds); - // "vnf_ids":[ - JsonUtil.addArrayField(properties, "vnf_ids", globalProp.getResourceVf()); - // "location_ids":[ - JsonUtil.addArrayField(properties, "location_ids", globalProp.getLocation()); - - // "template":{ - ObjectNode template = rootNode.with("template"); - // "string_matching":{ - ObjectNode stringMatching = template.with("string_matching"); - // "dcae":{ - ObjectNode dcae = stringMatching.with("dcae"); - - dcae.put("inputTopic", smProp.getTopicSubscribes()); - dcae.put("outputTopic", smProp.getTopicPublishes()); - dcae.put("closedLoopControlName", prop.getControlName()); - dcae.put("policyName", prop.getCurrentPolicyScopeAndPolicyName()); - - // "serviceConfigurations":[ - StringMatchPolicyReq.appendServiceConfigurations(refProp, globalProp.getService(), dcae, smProp, prop); - - String dcaeReq = rootNode.toString(); - logger.info("dcaeReq=" + dcaeReq); - return dcaeReq; - } - -} diff --git a/src/main/java/org/onap/clamp/clds/config/CldsConfiguration.java b/src/main/java/org/onap/clamp/clds/config/CldsConfiguration.java index c00deea66..a6baa969e 100644 --- a/src/main/java/org/onap/clamp/clds/config/CldsConfiguration.java +++ b/src/main/java/org/onap/clamp/clds/config/CldsConfiguration.java @@ -35,8 +35,6 @@ import javax.xml.transform.TransformerConfigurationException; import org.onap.clamp.clds.client.CldsEventDelegate; import org.onap.clamp.clds.client.DcaeDispatcherServices; import org.onap.clamp.clds.client.DcaeInventoryServices; -import org.onap.clamp.clds.client.DcaeReqDelegate; -import org.onap.clamp.clds.client.DcaeReqDeleteDelegate; import org.onap.clamp.clds.client.HolmesPolicyDelegate; import org.onap.clamp.clds.client.HolmesPolicyDeleteDelegate; import org.onap.clamp.clds.client.OperationalPolicyDelegate; @@ -115,21 +113,11 @@ public class CldsConfiguration { return new CldsEventDelegate(); } - @Bean(name = "dcaeReqDelegate") - public DcaeReqDelegate getDcaeReqDelegate() { - return new DcaeReqDelegate(); - } - @Bean(name = "sdcSendReqDelegate") public SdcSendReqDelegate getSdcSendReqDelegate() { return new SdcSendReqDelegate(); } - @Bean(name = "dcaeReqDeleteDelegate") - public DcaeReqDeleteDelegate getDcaeReqDeleteDelegate() { - return new DcaeReqDeleteDelegate(); - } - @Bean(name = "operationalPolicyDelegate") public OperationalPolicyDelegate getOperationalPolicyDelegate() { return new OperationalPolicyDelegate(); diff --git a/src/main/java/org/onap/clamp/clds/config/CldsSecurityConfigUsers.java b/src/main/java/org/onap/clamp/clds/config/CldsSecurityConfigUsers.java index 09078f07d..db99dbaf4 100644 --- a/src/main/java/org/onap/clamp/clds/config/CldsSecurityConfigUsers.java +++ b/src/main/java/org/onap/clamp/clds/config/CldsSecurityConfigUsers.java @@ -87,7 +87,6 @@ public class CldsSecurityConfigUsers extends WebSecurityConfigurerAdapter { * the application.properties). * * @param auth - * @throws Exception */ @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) { @@ -115,11 +114,14 @@ public class CldsSecurityConfigUsers extends WebSecurityConfigurerAdapter { * CldsUser. * * @return The array of CldsUser - * @throws IOException - * @throws Exception */ - private CldsUser[] loadUsers() throws IOException { - logger.info("Load from clds-users.properties"); - return CldsUserJsonDecoder.decodeJson(appContext.getResource(cldsUsersFile).getInputStream()); + private CldsUser[] loadUsers() { + try { + logger.info("Load from clds-users.properties"); + return CldsUserJsonDecoder.decodeJson(appContext.getResource(cldsUsersFile).getInputStream()); + } catch (IOException e) { + logger.error("Unable to decode the User Json file", e); + throw new CldsUsersException("Load from clds-users.properties", e); + } } } diff --git a/src/main/java/org/onap/clamp/clds/dao/CldsDao.java b/src/main/java/org/onap/clamp/clds/dao/CldsDao.java index b64978346..6aa5f9127 100644 --- a/src/main/java/org/onap/clamp/clds/dao/CldsDao.java +++ b/src/main/java/org/onap/clamp/clds/dao/CldsDao.java @@ -46,6 +46,7 @@ import org.onap.clamp.clds.model.CldsModelInstance; import org.onap.clamp.clds.model.CldsServiceData; import org.onap.clamp.clds.model.CldsTemplate; import org.onap.clamp.clds.model.ValueItem; +import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; @@ -463,10 +464,14 @@ public class CldsDao { public CldsServiceData getCldsServiceCache(String invariantUUID) { CldsServiceData cldsServiceData = null; List<CldsServiceData> cldsServiceDataList = new ArrayList<>(); - String getCldsServiceSQL = "SELECT * , TIMESTAMPDIFF(SECOND, timestamp, CURRENT_TIMESTAMP()) FROM clds_service_cache where invariant_service_id = ? "; - cldsServiceData = jdbcTemplateObject.queryForObject(getCldsServiceSQL, new Object[] { invariantUUID }, - new CldsServiceDataMapper()); - logger.info("value of cldsServiceDataList: {}", cldsServiceDataList); + try { + String getCldsServiceSQL = "SELECT * , TIMESTAMPDIFF(SECOND, timestamp, CURRENT_TIMESTAMP()) FROM clds_service_cache where invariant_service_id = ? "; + cldsServiceData = jdbcTemplateObject.queryForObject(getCldsServiceSQL, new Object[] { invariantUUID }, + new CldsServiceDataMapper()); + logger.info("value of cldsServiceDataList: {}", cldsServiceDataList); + } catch (EmptyResultDataAccessException e) { + logger.info("cache row not found for invariantUUID: {}", invariantUUID); + } return cldsServiceData; } 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 0d62be55b..19e3caa39 100644 --- a/src/main/java/org/onap/clamp/clds/service/CldsService.java +++ b/src/main/java/org/onap/clamp/clds/service/CldsService.java @@ -702,13 +702,15 @@ public class CldsService extends SecureServiceBase { // filter out VFs the user is not authorized for cldsServiceData.filterVfs(this); + // format retrieved data into properties json + String sdcProperties = sdcCatalogServices.createPropertiesObjectByUUID(getGlobalCldsString(), cldsServiceData); + // audit log LoggingUtils.setTimeContext(startTime, new Date()); LoggingUtils.setResponseContext("0", "Get sdc properties by uuid success", this.getClass().getName()); auditLogger.info("GET sdc properties by uuid completed"); - // format retrieved data into properties json - return sdcCatalogServices.createPropertiesObjectByUUID(getGlobalCldsString(), cldsServiceData); + return sdcProperties; } /** |