From 161df8a94bb3b0c34ed16fd4fdba078bd1eeef9a Mon Sep 17 00:00:00 2001 From: Patrick Brady Date: Wed, 13 Dec 2017 11:14:21 -0800 Subject: Second part of onap rename This is the second commit of the rename. The folder structure is renamed for appc-adapters and appc-config in this commit. Change-Id: Iaa2b8c937ff1ca1b5d1178128961fb115ee65d9b Signed-off-by: Patrick Brady Issue-ID: APPC-13 --- .../sdnc/config/params/ParamsHandlerActivator.java | 70 ---- .../sdnc/config/params/ParamsHandlerConstant.java | 55 --- .../sdnc/config/params/data/Parameter.java | 126 ------- .../config/params/data/PropertyDefinition.java | 56 --- .../sdnc/config/params/data/RequestKey.java | 51 --- .../sdnc/config/params/data/ResponseKey.java | 57 --- .../params/parser/PropertyDefinitionNode.java | 251 ------------- .../params/transformer/ArtificatTransformer.java | 87 ----- .../transformer/tosca/ArtifactProcessor.java | 68 ---- .../tosca/ArtifactProcessorFactory.java | 43 --- .../transformer/tosca/ArtifactProcessorImpl.java | 401 --------------------- .../exceptions/ArtifactProcessorException.java | 48 --- 12 files changed, 1313 deletions(-) delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/ParamsHandlerActivator.java delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/ParamsHandlerConstant.java delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/Parameter.java delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/PropertyDefinition.java delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/RequestKey.java delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/ResponseKey.java delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/parser/PropertyDefinitionNode.java delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/ArtificatTransformer.java delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessor.java delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessorFactory.java delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessorImpl.java delete mode 100644 appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/exceptions/ArtifactProcessorException.java (limited to 'appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config') diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/ParamsHandlerActivator.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/ParamsHandlerActivator.java deleted file mode 100644 index dd4515cca..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/ParamsHandlerActivator.java +++ /dev/null @@ -1,70 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params; - -import java.util.LinkedList; -import java.util.List; - -import org.openecomp.sdnc.config.params.parser.PropertyDefinitionNode; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceRegistration; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; - -public class ParamsHandlerActivator implements BundleActivator{ - - private List registrations = new LinkedList(); - - - private static final EELFLogger log = EELFManager.getInstance().getLogger(ParamsHandlerActivator.class); - - @Override - public void start(BundleContext ctx) throws Exception - { - - try { - PropertyDefinitionNode propertyDefinitionNode = new PropertyDefinitionNode(); - log.info("Registering service "+ propertyDefinitionNode.getClass().getName()); - registrations.add(ctx.registerService(propertyDefinitionNode.getClass().getName(), propertyDefinitionNode, null)); - log.info("Registering service sccessful for "+ propertyDefinitionNode.getClass().getName()); - } catch (Exception e) { - e.printStackTrace(); - } - - } - @Override - public void stop(BundleContext arg0) throws Exception - { - for (ServiceRegistration registration: registrations) - { - registration.unregister(); - registration = null; - } - - } - -} diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/ParamsHandlerConstant.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/ParamsHandlerConstant.java deleted file mode 100644 index 65b93d738..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/ParamsHandlerConstant.java +++ /dev/null @@ -1,55 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params; - -public class ParamsHandlerConstant { - - public static String STRING_ENCODING = "utf-8"; - public static String Y = "Y"; - public static String N = "N"; - public static String DATA_TYPE_TEXT = "TEXT"; - public static String DATA_TYPE_JSON = "JSON"; - public static String DATA_TYPE_XML = "XML"; - public static String DATA_TYPE_SQL = "SQL"; - - - public static String INPUT_PARAM_PD_CONTENT = "pdContent"; - public static String INPUT_PARAM_SYSTEM_NAME = "systemName"; - public static String INPUT_PARAM_JSON_DATA = "jsonData"; - public static String INPUT_PARAM_MERGE__JSON_DATA = "mergeJsonData"; - - - public static String INPUT_PARAM_REQUEST_DATA = "requestData"; - public static String INPUT_PARAM_RESPONSE_PRIFIX = "responsePrefix"; - public static String OUTPUT_PARAM_CONFIGURATION_PARAMETER = "configuration-parameters"; - - - - public static String OUTPUT_PARAM_STATUS = "status"; - public static String OUTPUT_PARAM_ERROR_MESSAGE = "error-message"; - public static String OUTPUT_STATUS_SUCCESS = "success"; - public static String OUTPUT_STATUS_FAILURE = "failure"; - -} diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/Parameter.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/Parameter.java deleted file mode 100644 index aaa457645..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/Parameter.java +++ /dev/null @@ -1,126 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params.data; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class Parameter { - private String name; - private String description; - private String type; - private boolean required; - private String source; - - @JsonProperty("rule-type") - private String ruleType; - - @JsonProperty("default") - private String defaultValue; - - @JsonProperty("request-keys") - private List requestKeys; - - @JsonProperty("response-keys") - private List responseKeys; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public boolean isRequired() { - return required; - } - - public void setRequired(boolean required) { - this.required = required; - } - - public String getSource() { - return source; - } - - public void setSource(String source) { - this.source = source; - } - - public String getRuleType() { - return ruleType; - } - - public void setRuleType(String ruleType) { - this.ruleType = ruleType; - } - - public String getDefaultValue() { - return defaultValue; - } - - public void setDefaultValue(String defaultValue) { - this.defaultValue = defaultValue; - } - - public List getRequestKeys() { - return requestKeys; - } - - public void setRequestKeys(List requestKeys) { - this.requestKeys = requestKeys; - } - - public List getResponseKeys() { - return responseKeys; - } - - public void setResponseKeys(List responseKeys) { - this.responseKeys = responseKeys; - } - - - - - -} diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/PropertyDefinition.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/PropertyDefinition.java deleted file mode 100644 index d33fd9589..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/PropertyDefinition.java +++ /dev/null @@ -1,56 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params.data; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class PropertyDefinition { - public String kind = "Property Definition"; - public String version = "V1"; - - @JsonProperty("vnf-parameter-list") - public List parameters; - public String getKind() { - return kind; - } - public void setKind(String kind) { - this.kind = kind; - } - public String getVersion() { - return version; - } - public void setVersion(String version) { - this.version = version; - } - public List getParameters() { - return parameters; - } - public void setParameters(List parameters) { - this.parameters = parameters; - } - -} diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/RequestKey.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/RequestKey.java deleted file mode 100644 index 0589afcc3..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/RequestKey.java +++ /dev/null @@ -1,51 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params.data; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class RequestKey{ - @JsonProperty("key-name") - private String keyName; - @JsonProperty("key-value") - private String keyValue; - - public String getKeyName() { - return keyName; - } - public void setKeyName(String keyName) { - this.keyName = keyName; - } - public String getKeyValue() { - return keyValue; - } - public void setKeyValue(String keyValue) { - this.keyValue = keyValue; - } - - - - -} diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/ResponseKey.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/ResponseKey.java deleted file mode 100644 index 5277699e1..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/data/ResponseKey.java +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params.data; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class ResponseKey{ - @JsonProperty("unique-key-name") - private String uniqueKeyName; - @JsonProperty("unique-key-value") - private String uniqueKeyValue; - @JsonProperty("field-key-name") - private String fieldKeyName; - - public String getUniqueKeyName() { - return uniqueKeyName; - } - public void setUniqueKeyName(String uniqueKeyName) { - this.uniqueKeyName = uniqueKeyName; - } - public String getUniqueKeyValue() { - return uniqueKeyValue; - } - public void setUniqueKeyValue(String uniqueKeyValue) { - this.uniqueKeyValue = uniqueKeyValue; - } - public String getFieldKeyName() { - return fieldKeyName; - } - public void setFieldKeyName(String fieldKeyName) { - this.fieldKeyName = fieldKeyName; - } - - -} diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/parser/PropertyDefinitionNode.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/parser/PropertyDefinitionNode.java deleted file mode 100644 index 4916c46a8..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/parser/PropertyDefinitionNode.java +++ /dev/null @@ -1,251 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params.parser; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang3.StringUtils; -import org.openecomp.sdnc.config.params.ParamsHandlerConstant; -import org.openecomp.sdnc.config.params.data.Parameter; -import org.openecomp.sdnc.config.params.data.PropertyDefinition; -import org.onap.ccsdk.sli.core.sli.SvcLogicContext; -import org.onap.ccsdk.sli.core.sli.SvcLogicException; -import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin; - -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.ObjectMapper; -import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; - -public class PropertyDefinitionNode implements SvcLogicJavaPlugin{ - - - private static final EELFLogger log = EELFManager.getInstance().getLogger(PropertyDefinitionNode.class); - - public void processMissingParamKeys(Map inParams, SvcLogicContext ctx) throws SvcLogicException { - log.info("Received processParamKeys call with params : " + inParams); - String responsePrefix = inParams.get(ParamsHandlerConstant.INPUT_PARAM_RESPONSE_PRIFIX); - try{ - responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : ""; - - String requestParamJson = inParams.get(ParamsHandlerConstant.INPUT_PARAM_JSON_DATA); - String pdContent = inParams.get(ParamsHandlerConstant.INPUT_PARAM_PD_CONTENT); - - if(StringUtils.isBlank(pdContent)){ - throw new Exception("Request Param (pdContent) is Missing .."); - } - - if(StringUtils.isBlank(requestParamJson)){ - throw new Exception("Request Param (jsonData) is Missing .."); - } - - PropertyDefinition propertyDefinition = parsePDContent(pdContent); - if(propertyDefinition != null){ - requestParamJson = mergeMissingRequestParamFromPD(propertyDefinition, requestParamJson); - ctx.setAttribute(responsePrefix + ParamsHandlerConstant.OUTPUT_PARAM_CONFIGURATION_PARAMETER, requestParamJson); - } - - ctx.setAttribute(responsePrefix + ParamsHandlerConstant.OUTPUT_PARAM_STATUS, ParamsHandlerConstant.OUTPUT_STATUS_SUCCESS); - } catch (Exception e) { - ctx.setAttribute(responsePrefix + ParamsHandlerConstant.OUTPUT_PARAM_STATUS, ParamsHandlerConstant.OUTPUT_STATUS_FAILURE); - ctx.setAttribute(responsePrefix + ParamsHandlerConstant.OUTPUT_PARAM_ERROR_MESSAGE,e.getMessage()); - log.error("Failed in merging data to template " + e.getMessage()); - throw new SvcLogicException(e.getMessage()); - } - } - - public void processExternalSystemParamKeys(Map inParams, SvcLogicContext ctx) throws SvcLogicException { - log.info("Received processExternalSystemParamKeys call with params : " + inParams); - String responsePrefix = inParams.get(ParamsHandlerConstant.INPUT_PARAM_RESPONSE_PRIFIX); - try{ - responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : ""; - - String requestParamJson = inParams.get(ParamsHandlerConstant.INPUT_PARAM_JSON_DATA); - String pdContent = inParams.get(ParamsHandlerConstant.INPUT_PARAM_PD_CONTENT); - String systemName = inParams.get(ParamsHandlerConstant.INPUT_PARAM_SYSTEM_NAME); - - - if(StringUtils.isBlank(pdContent)){ - throw new Exception("Request Param (pdContent) is Missing .."); - } - - if(StringUtils.isBlank(requestParamJson)){ - throw new Exception("Request Param (jsonData) is Missing .."); - } - - if(StringUtils.isBlank(systemName)){ - throw new Exception("Request Param (systemName) is Missing .."); - } - - PropertyDefinition propertyDefinition = parsePDContent(pdContent); - if(propertyDefinition != null){ - getSystemRequestParamInfoFromPD(propertyDefinition, requestParamJson, systemName, ctx); - } - - ctx.setAttribute(responsePrefix + ParamsHandlerConstant.OUTPUT_PARAM_STATUS, ParamsHandlerConstant.OUTPUT_STATUS_SUCCESS); - } catch (Exception e) { - ctx.setAttribute(responsePrefix + ParamsHandlerConstant.OUTPUT_PARAM_STATUS, ParamsHandlerConstant.OUTPUT_STATUS_FAILURE); - ctx.setAttribute(responsePrefix + ParamsHandlerConstant.OUTPUT_PARAM_ERROR_MESSAGE,e.getMessage()); - log.error("Failed in merging data to template " + e.getMessage()); - throw new SvcLogicException(e.getMessage()); - } - } - - - public void mergeJsonData(Map inParams, SvcLogicContext ctx) throws SvcLogicException { - log.info("Received mergeJsonData call with params : " + inParams); - String responsePrefix = inParams.get(ParamsHandlerConstant.INPUT_PARAM_RESPONSE_PRIFIX); - try{ - responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix+".") : ""; - - String requestParamJson = inParams.get(ParamsHandlerConstant.INPUT_PARAM_JSON_DATA); - String mergeJsonData = inParams.get(ParamsHandlerConstant.INPUT_PARAM_MERGE__JSON_DATA); - - if(StringUtils.isBlank(requestParamJson)){ - throw new Exception("Request Param (jsonData) is Missing .."); - } - - if(StringUtils.isBlank(mergeJsonData)){ - throw new Exception("Request Param (mergeJsonData) is Missing .."); - } - - requestParamJson = mergeJson(requestParamJson, mergeJsonData); - ctx.setAttribute(responsePrefix + ParamsHandlerConstant.OUTPUT_PARAM_CONFIGURATION_PARAMETER, requestParamJson); - ctx.setAttribute(responsePrefix + ParamsHandlerConstant.OUTPUT_PARAM_STATUS, ParamsHandlerConstant.OUTPUT_STATUS_SUCCESS); - } catch (Exception e) { - ctx.setAttribute(responsePrefix + ParamsHandlerConstant.OUTPUT_PARAM_STATUS, ParamsHandlerConstant.OUTPUT_STATUS_FAILURE); - ctx.setAttribute(responsePrefix + ParamsHandlerConstant.OUTPUT_PARAM_ERROR_MESSAGE,e.getMessage()); - log.error("Failed in merging data to template " + e.getMessage()); - throw new SvcLogicException(e.getMessage()); - } - } - - - /* */ - - private PropertyDefinition parsePDContent(String pdContent) throws JsonParseException, JsonMappingException, IOException{ - PropertyDefinition propertyDefinition = null; - if(StringUtils.isNotBlank(pdContent)){ - ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); - propertyDefinition = mapper.readValue(pdContent, PropertyDefinition.class); - } - return propertyDefinition; - } - - - private String mergeMissingRequestParamFromPD(PropertyDefinition propertyDefinition, String requestParamJson) throws Exception{ - - if(propertyDefinition == null){ - throw new Exception("PropertyDefinition is Missing .."); - } - - if(StringUtils.isBlank(requestParamJson)){ - throw new Exception("Request Param is Missing .."); - } - - ObjectMapper mapper = new ObjectMapper(); - Map requestParamMap = mapper.readValue(requestParamJson, HashMap.class); - if(requestParamMap != null){ - List parameters = propertyDefinition.getParameters(); - for (Parameter parameter : parameters) { - if(parameter != null){ - - log.info("Checking Key " + parameter.getName() + ":: Source :" +parameter.getSource()); - // Add Only non external system keys,If it is not present in request Params - if( !requestParamMap.containsKey(parameter.getName()) - && StringUtils.isBlank(parameter.getSource()) - ){ - log.info("Adding New Key " + parameter.getName()); - requestParamMap.put(parameter.getName(), parameter.getDefaultValue()); - } - } - } - requestParamJson = mapper.writeValueAsString(requestParamMap); - log.info("Processed Request Param " + requestParamJson); - } - - return requestParamJson; - } - - private void getSystemRequestParamInfoFromPD(PropertyDefinition propertyDefinition, String requestParamJson, String systemName, SvcLogicContext ctx) throws Exception{ - - if(propertyDefinition == null){ - throw new Exception("PropertyDefinition is Missing .."); - } - - if(StringUtils.isBlank(requestParamJson)){ - throw new Exception("Request Param is Missing .."); - } - - ObjectMapper mapper = new ObjectMapper(); - Map requestParamMap = mapper.readValue(requestParamJson, HashMap.class); - if(requestParamMap != null){ - List parameters = propertyDefinition.getParameters(); - - List externalSystemKeys = new ArrayList(); - for (Parameter parameter : parameters) { - if(parameter != null){ - if( !requestParamMap.containsKey(parameter.getName()) && StringUtils.isNotBlank(parameter.getSource()) && !StringUtils.equalsIgnoreCase(parameter.getSource(),"Manual") ){ - log.info("Adding New System Key " + parameter.getName() + ":"+ mapper.writeValueAsString(parameter)); - externalSystemKeys.add(parameter.getName()); - ctx.setAttribute(systemName +"."+parameter.getName(), mapper.writeValueAsString(parameter)); - } - } - } - - String systemKeys = systemName+".keys"; - ctx.setAttribute(systemKeys, mapper.writeValueAsString(externalSystemKeys)); - } - } - - - private String mergeJson(String requestParamJson, String systemParamJson) throws Exception { - ObjectMapper mapper = new ObjectMapper(); - Map requestParamMap = mapper.readValue(requestParamJson, HashMap.class); - if(requestParamMap != null){ - Map systemParamMap = mapper.readValue(systemParamJson, HashMap.class); - if(systemParamMap != null){ - for (String systemParamKey : systemParamMap.keySet()) { - log.trace("Megging System Key Values " + systemParamKey); - requestParamMap.put( systemParamKey , systemParamMap.get(systemParamKey)); - } - } - requestParamJson = mapper.writeValueAsString(requestParamMap); - log.info("Processed Request Param " + requestParamJson); - } - - return requestParamJson; - } - - - - -} diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/ArtificatTransformer.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/ArtificatTransformer.java deleted file mode 100644 index 8498b6375..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/ArtificatTransformer.java +++ /dev/null @@ -1,87 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params.transformer; - -import java.io.IOException; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; -import org.openecomp.sdnc.config.params.data.Parameter; -import org.openecomp.sdnc.config.params.data.PropertyDefinition; - -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; - -public class ArtificatTransformer { - - - public String convertPDToYaml(PropertyDefinition propertyDefinition) throws JsonParseException, JsonMappingException, IOException{ - String yamlContent = null; - if(propertyDefinition != null){ - ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); - mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); - yamlContent = mapper.writeValueAsString(propertyDefinition); - } - return yamlContent; - } - - public String transformYamlToJson(String yaml) throws JsonParseException, JsonMappingException, IOException { - ObjectMapper yamlReader = new ObjectMapper(new YAMLFactory()); - Object obj = yamlReader.readValue(yaml, Object.class); - ObjectMapper jsonWriter = new ObjectMapper(); - jsonWriter.enable(SerializationFeature.INDENT_OUTPUT); - return jsonWriter.writeValueAsString(obj); - } - - public PropertyDefinition convertYAMLToPD(String pdContent) throws JsonParseException, JsonMappingException, IOException{ - PropertyDefinition propertyDefinition = null; - if(StringUtils.isNotBlank(pdContent)){ - ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); - propertyDefinition = mapper.readValue(pdContent, PropertyDefinition.class); - } - return propertyDefinition; - } - - public String convertYAMLToParams(String pdContent) throws JsonParseException, JsonMappingException, IOException{ - String paramJson = null; - if(StringUtils.isNotBlank(pdContent)){ - paramJson = convertPdToParams(convertYAMLToPD(pdContent)); - } - return paramJson; - } - - public String convertPdToParams(PropertyDefinition propertyDefinition) throws JsonParseException, JsonMappingException, IOException{ - String paramJson = null; - if(propertyDefinition != null && propertyDefinition.getParameters() != null){ - List parameters = propertyDefinition.getParameters(); - - } - return paramJson; - } - -} diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessor.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessor.java deleted file mode 100644 index cb4f1e0f7..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessor.java +++ /dev/null @@ -1,68 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params.transformer.tosca; - -import org.openecomp.sdnc.config.params.data.PropertyDefinition; -import org.openecomp.sdnc.config.params.transformer.tosca.exceptions.ArtifactProcessorException; - -import java.io.OutputStream; - -public interface ArtifactProcessor -{ - /** - * Generates Tosca artifact from PropertyDefinition object. - * - * @param artifact - * PropertyDefinition object which is to be converted to Tosca. - * @param stream - * Stream to which the generated Tosca is to be written. - * @throws ArtifactProcessorException - * If the Tosca Generation failed - */ - void generateArtifact(PropertyDefinition artifact, OutputStream stream) throws ArtifactProcessorException; - - /** - * Generates Tosca artifact from PropertyDefinition string. - * - * @param artifact - * PropertyDefinition string which is to be converted to Tosca. - * @param stream - * Stream to which the generated Tosca is to be written. - * @throws ArtifactProcessorException - * If the Tosca Generation failed - */ - void generateArtifact(String artifact, OutputStream stream) throws ArtifactProcessorException; - - /** - * Generates the PropertyDefinition object from a Tosca artifact. - * - * @param toscaArtifact - * Tosca artifact which is to be converted. - * @return PropertyDefinition object generated from Tosca - * @throws ArtifactProcessorException - * If the PropertyDefinition Generation failed - */ - PropertyDefinition readArtifact(String toscaArtifact) throws ArtifactProcessorException; -} diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessorFactory.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessorFactory.java deleted file mode 100644 index 9ec80c9a4..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessorFactory.java +++ /dev/null @@ -1,43 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params.transformer.tosca; - -/** - * Created by pranavdi on 3/29/2017. - */ -public class ArtifactProcessorFactory -{ - private static class InstanceHolder - { - private static ArtifactProcessorImpl instance = new ArtifactProcessorImpl(); - } - - private ArtifactProcessorFactory(){} - - public static ArtifactProcessor getArtifactProcessor() - { - return InstanceHolder.instance; - } -} diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessorImpl.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessorImpl.java deleted file mode 100644 index e3dd5dc41..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/ArtifactProcessorImpl.java +++ /dev/null @@ -1,401 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params.transformer.tosca; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; -import org.apache.commons.lang.StringUtils; - -import org.openecomp.sdc.tosca.datatypes.model.*; -import org.openecomp.sdc.tosca.services.YamlUtil; -import org.openecomp.sdnc.config.params.data.Parameter; -import org.openecomp.sdnc.config.params.data.PropertyDefinition; -import org.openecomp.sdnc.config.params.data.RequestKey; -import org.openecomp.sdnc.config.params.data.ResponseKey; -import org.openecomp.sdnc.config.params.transformer.tosca.exceptions.ArtifactProcessorException; -import org.slf4j.MDC; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import static com.att.eelf.configuration.Configuration.MDC_SERVICE_NAME; - -public class ArtifactProcessorImpl implements ArtifactProcessor -{ - private static final String DERIVEDFROM = "org.openecomp.genericvnf"; - private static final EELFLogger Log = EELFManager.getInstance().getLogger(ArtifactProcessorImpl.class); - private static final String EQUALSENCODING = "="; - private static final String COLONENCODING = ":"; - private static final String COMMAENCODING = ","; - private static final String GREATERTHANENCODING = ">"; - private static final String LESSTHANENCODING = "<"; - - @Override - public void generateArtifact(PropertyDefinition artifact, OutputStream stream) throws ArtifactProcessorException - { - MDC.clear(); - MDC.put(MDC_SERVICE_NAME,"ArtifactGenerator"); - Log.info("Entered into generateArtifact"); - if(!StringUtils.isBlank(artifact.getKind())) { - logArtifact(artifact); - ServiceTemplate serviceTemplate = new ServiceTemplate(); - - addNodeType(artifact, serviceTemplate); - - TopologyTemplate topologyTemplate = new TopologyTemplate(); - serviceTemplate.setTopology_template(topologyTemplate); - addNodeTemplate(artifact, serviceTemplate); - - String tosca = new YamlUtil().objectToYaml(serviceTemplate); - OutputStreamWriter writer = new OutputStreamWriter(stream); - try { - writer.write(tosca); - writer.flush(); - } catch (IOException e) { - Log.error("Error writing to outputstream", e); - throw new ArtifactProcessorException(e); - } finally { - try { - writer.close(); - } catch (IOException e) { - Log.error("Error while closing outputstream writer", e); - } - MDC.clear(); - } - } - else - { - Log.error("Kind in PropertyDefinition is blank or null"); - throw new ArtifactProcessorException("Kind in PropertyDefinition is blank or null"); - } - } - - @Override - public void generateArtifact(String artifact, OutputStream stream) throws ArtifactProcessorException - { - ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); - try { - PropertyDefinition pd = mapper.readValue(artifact, PropertyDefinition.class); - generateArtifact(pd, stream); - } - catch (IOException e) - { - Log.error("Error parsing property definition content = "+ artifact,e); - throw new ArtifactProcessorException(e); - } - } - - @Override - public PropertyDefinition readArtifact(String toscaArtifact) throws ArtifactProcessorException{ - Log.info("Entered into readArtifact."); - Log.info("Received ToscaArtifact:\n" + toscaArtifact); - - PropertyDefinition propertyDefinitionObj = new PropertyDefinition(); - ServiceTemplate serviceTemplate = new YamlUtil().yamlToObject(toscaArtifact, ServiceTemplate.class); - - //mapping parameters - Map nodeTypeMap = serviceTemplate.getNode_types(); - Map nodeTemplateMap = serviceTemplate.getTopology_template().getNode_templates(); - - String nodeTemplateName = nodeTemplateMap.keySet().toArray(new String[0])[0]; - NodeTemplate nodeTemplate = nodeTemplateMap.get(nodeTemplateName); - Map nodeTemplateProperties = nodeTemplate.getProperties(); - - String kind = nodeTypeMap.keySet().toArray(new String[0])[0]; - NodeType nodeType = nodeTypeMap.get(kind); - String version = nodeType.getVersion(); - Log.info("ReadArtifact for "+ kind + " with version "+version); - propertyDefinitionObj.setKind(kind); - propertyDefinitionObj.setVersion(version); - - List parameterList = new LinkedList<>(); - - Map propertyDefinitionFromTOSCA = nodeType.getProperties(); - if(null != propertyDefinitionFromTOSCA){ - for (String propertyName : propertyDefinitionFromTOSCA.keySet()) { - org.openecomp.sdc.tosca.datatypes.model.PropertyDefinition propertyDefinition = propertyDefinitionFromTOSCA.get(propertyName); - - Parameter parameter = new Parameter(); - parameter.setName(propertyName); - - if (propertyDefinition.get_default() != null) { - parameter.setDefaultValue(propertyDefinition.get_default().toString()); - } - parameter.setDescription(propertyDefinition.getDescription()); - if (null != propertyDefinition.getRequired()) { - parameter.setRequired(propertyDefinition.getRequired()); - } else { - parameter.setRequired(false); - } - - if (StringUtils.isNotEmpty(propertyDefinition.getType())) { - parameter.setType(propertyDefinition.getType()); - } - - String propertValueExpr = (String) nodeTemplateProperties.get(propertyName); - String[] stringTokens = parsePropertyValueExpression(propertValueExpr); - String ruleType = stringTokens[0].substring(stringTokens[0].indexOf('=')+1,stringTokens[0].length()).replaceAll(">","").trim(); - String responseExpression = stringTokens[1].substring(stringTokens[1].indexOf('=')+1,stringTokens[1].length()); - String source = stringTokens[2].substring(stringTokens[2].indexOf('=')+1,stringTokens[2].length()).replaceAll(">","").trim(); - String requestExpression = stringTokens[3].substring(stringTokens[3].indexOf('=')+1,stringTokens[3].length()); - - List requestKeys = readRequestKeys(requestExpression); - List responseKeys = readResponseKeys(responseExpression); - - parameter.setRuleType(ruleType); - parameter.setSource(source); - parameter.setRequestKeys(requestKeys); - parameter.setResponseKeys(responseKeys); - - parameterList.add(parameter); - - } - } - propertyDefinitionObj.setParameters(parameterList); - Log.info("Exiting from readArtifact. "); - return propertyDefinitionObj; - } - - private List readResponseKeys(String responseExpression) throws ArtifactProcessorException { - Log.info("Entered into readResponseKeys."); - List responseKeyList = null; - String expression; - expression = responseExpression.replaceAll("<", "").replaceAll(">", "").trim(); - if (StringUtils.isNotEmpty(expression)) { - responseKeyList = new ArrayList<>(); - - String[] responseKeys = expression.split(","); - for (String responseKeyStr : responseKeys) { - ResponseKey responseKey = new ResponseKey(); - try { - responseKey.setUniqueKeyName(responseKeyStr.split(":")[0].replaceAll(LESSTHANENCODING, "<").replaceAll(GREATERTHANENCODING, ">").replaceAll(COLONENCODING, ":").replaceAll(COMMAENCODING, ",").replaceAll(EQUALSENCODING,"=").trim()); - responseKey.setUniqueKeyValue(responseKeyStr.split(":")[1].replaceAll(LESSTHANENCODING, "<").replaceAll(GREATERTHANENCODING, ">").replaceAll(COLONENCODING, ":").replaceAll(COMMAENCODING, ",").replaceAll(EQUALSENCODING,"=").trim()); - responseKey.setFieldKeyName(responseKeyStr.split(":")[2].replaceAll(LESSTHANENCODING, "<").replaceAll(GREATERTHANENCODING, ">").replaceAll(COLONENCODING, ":").replaceAll(COMMAENCODING, ",").replaceAll(EQUALSENCODING,"=").trim()); - } catch (ArrayIndexOutOfBoundsException e) { - Log.error("Invalid response attribute found :" + responseKeyStr + "due to "+e); - throw new ArtifactProcessorException("Invalid response attribute found :" + responseKeyStr); - } - responseKeyList.add(responseKey); - } - } - Log.info("Exiting from readResponseKeys."); - return responseKeyList; - } - - private List readRequestKeys(String requestExpression) { - Log.info("Entered into readRequestKeys."); - List requestKeyList = null; - String expression; - expression = requestExpression.replaceAll("<","").replaceAll(">","").trim(); - if(StringUtils.isNotEmpty(expression)){ - requestKeyList = new ArrayList<>(); - String[] requestKeys = expression.split(","); - for(String responseKeyStr :requestKeys){ - RequestKey requestKey = new RequestKey(); - requestKey.setKeyName(responseKeyStr.split(":")[0].replaceAll(LESSTHANENCODING, "<").replaceAll(GREATERTHANENCODING, ">").replaceAll(COLONENCODING,":").replaceAll(COMMAENCODING,",").replaceAll(EQUALSENCODING,"=").trim()); - requestKey.setKeyValue(responseKeyStr.split(":")[1].replaceAll(LESSTHANENCODING, "<").replaceAll(GREATERTHANENCODING, ">").replaceAll(COLONENCODING,":").replaceAll(COMMAENCODING,",").replaceAll(EQUALSENCODING,"=").trim()); - requestKeyList.add(requestKey); - } - } - Log.info("Exiting from readRequestKeys."); - return requestKeyList; - } - - private String[] parsePropertyValueExpression(String propertValueExpr) throws ArtifactProcessorException{ - Log.info("Entered into parsePropertyValueExpression."); - String nodeRegex = "<(.*?)>"; - Pattern pattern = Pattern.compile(nodeRegex, Pattern.CASE_INSENSITIVE); - Matcher matcher = pattern.matcher(propertValueExpr); - List stringTokens = new ArrayList<>(); - while(matcher.find()){ - stringTokens.add(matcher.group(0)); - } - String[] propertiesArr = new String[stringTokens.size()]; - propertiesArr = stringTokens.toArray(propertiesArr); - if(propertiesArr.length!=4){ - throw new ArtifactProcessorException("Invalid input found " + propertValueExpr); - } - Log.info("Exiting from parsePropertyValueExpression."); - return propertiesArr; - } - - private void addNodeType(PropertyDefinition artifact, ServiceTemplate toscaTemplate) throws ArtifactProcessorException { - //Add basic fields for the node - NodeType toscaNodeType = new NodeType(); - toscaNodeType.setDerived_from(DERIVEDFROM); - toscaNodeType.setVersion(artifact.getVersion()); - toscaNodeType.setDescription(""); - if(artifact.getParameters()!=null) { - Map toscaPropertyMap = new HashMap<>(); - toscaNodeType.setProperties(toscaPropertyMap); - - //Add properties from parameters of PD - for (Parameter pdParameter : artifact.getParameters()) { - addProperty(toscaNodeType, pdParameter); - } - } - - // This is where it adds node in node Map and adds the map in tosca template - Map toscaNodeMap = new HashMap<>(); - toscaNodeMap.put(artifact.getKind(),toscaNodeType); - toscaTemplate.setNode_types(toscaNodeMap); - } - - private void addProperty(NodeType toscaNodeType, Parameter pdParameter) throws ArtifactProcessorException { - if(!StringUtils.isBlank(pdParameter.getName())&& !pdParameter.getName().matches(".*\\s+.*")) { - Log.info("Adding parameter " + pdParameter.getName() + " in node type"); - org.openecomp.sdc.tosca.datatypes.model.PropertyDefinition toscaProperty = new org.openecomp.sdc.tosca.datatypes.model.PropertyDefinition(); - - toscaProperty.setType(StringUtils.isBlank(pdParameter.getType()) ? "string" : pdParameter.getType()); - toscaProperty.set_default(pdParameter.getDefaultValue()); - - toscaProperty.setDescription(pdParameter.getDescription()); - toscaProperty.setRequired(pdParameter.isRequired()); - - toscaNodeType.getProperties().put(pdParameter.getName(), toscaProperty); - } - else - { - String message ="Parameter name is empty,null or contains whitespace"; - Log.error(message); - throw new ArtifactProcessorException(message); - } - } - - private void addNodeTemplate(PropertyDefinition artifact, ServiceTemplate toscaTemplate) - { - NodeTemplate nodeTemplate = new NodeTemplate(); - nodeTemplate.setType(artifact.getKind()); - Map templateProperties = new HashMap<>(); - //Add properties from parameters of PD - if(artifact.getParameters()!=null) { - for (Parameter pdParameter : artifact.getParameters()) { - addTemplateProperty(templateProperties, pdParameter); - } - nodeTemplate.setProperties(templateProperties); - } - Map nodeTemplateMap = new HashMap<>(); - nodeTemplateMap.put(artifact.getKind()+"_Template",nodeTemplate); - toscaTemplate.getTopology_template().setNode_templates(nodeTemplateMap); - } - - private void addTemplateProperty(Map templateProperties, Parameter pdParameter) - { - Log.info("Adding parameter "+ pdParameter.getName() + " in node templates"); - String responseKeys = buildResponseKeyExpression(pdParameter.getResponseKeys()); - String requestKeys = buildRequestKeyExpression(pdParameter.getRequestKeys()); - String ruleType = buildRuleType(pdParameter.getRuleType()); - String source = buildSourceSystem(pdParameter.getSource()); - String properties = ruleType + " " + responseKeys + " " + source + " " + requestKeys; - templateProperties.put(pdParameter.getName(),properties); - } - - protected String buildResponseKeyExpression(List responseKeys) - { - StringBuilder propertyBuilder = new StringBuilder(); - propertyBuilder.append(" itr = responseKeys.iterator(); - while (itr.hasNext()) { - ResponseKey res = itr.next(); - if(res!=null) - propertyBuilder.append(encode(res.getUniqueKeyName()) + ":" + encode(res.getUniqueKeyValue()) + ":" + encode(res.getFieldKeyName())); - if (itr.hasNext()) - propertyBuilder.append(" , "); - } - } - propertyBuilder.append(">"); - return propertyBuilder.toString(); - } - - protected String buildRequestKeyExpression(List requestKeys) - { - StringBuilder propertyBuilder = new StringBuilder(); - propertyBuilder.append(" itr = requestKeys.iterator(); - while (itr.hasNext()) { - RequestKey res = itr.next(); - if(res!=null) - propertyBuilder.append(encode(res.getKeyName()) + ":" + encode(res.getKeyValue())); - if (itr.hasNext()) - propertyBuilder.append(" , "); - } - } - propertyBuilder.append(">"); - return propertyBuilder.toString(); - } - - protected String buildRuleType(String classType) - { - StringBuilder propertyBuilder = new StringBuilder(); - String encodedClassType = StringUtils.isBlank(encode(classType))?"":encode(classType); - propertyBuilder.append("<"); - propertyBuilder.append("rule-type = "+encodedClassType); - propertyBuilder.append(">"); - return propertyBuilder.toString(); - } - - protected String buildSourceSystem(String source) - { - StringBuilder sourceBuilder = new StringBuilder(); - sourceBuilder.append(""); - return sourceBuilder.toString(); - } - - protected String encode(String string) - { - String encodedString = null; - if(string!=null) { - encodedString = string.trim().replaceAll("<", "<").replaceAll(">", ">").replaceAll(":",":").replaceAll(",",",").replaceAll("=","="); - } - return encodedString; - } - - private void logArtifact(PropertyDefinition artifact) - { - ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); - String stringArtifact=null; - try - { - stringArtifact = mapper.writeValueAsString(artifact); - Log.info("Received PropertyDefinition:\n" + stringArtifact); - } - catch (JsonProcessingException e) - { - Log.error("Exception while logging artifact:",e); - } - - } -} diff --git a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/exceptions/ArtifactProcessorException.java b/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/exceptions/ArtifactProcessorException.java deleted file mode 100644 index e788fbf88..000000000 --- a/appc-config/appc-config-params/provider/src/main/java/org/openecomp/sdnc/config/params/transformer/tosca/exceptions/ArtifactProcessorException.java +++ /dev/null @@ -1,48 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.config.params.transformer.tosca.exceptions; - -/** - * Created by pranavdi on 3/17/2017. - */ -public class ArtifactProcessorException extends Exception -{ - public ArtifactProcessorException() {} - - public ArtifactProcessorException(String message) - { - super(message); - } - - public ArtifactProcessorException(Throwable cause) - { - super(cause); - } - - public ArtifactProcessorException(String message, Throwable cause) - { - super(message,cause); - } -} -- cgit 1.2.3-korg