From bdeb28f273da2494d7eeabbb5329222dfd168e3b Mon Sep 17 00:00:00 2001 From: aribeiro Date: Wed, 24 Jun 2020 08:34:22 +0100 Subject: Add support for substitution_filter business logic Tosca simple YAML profile allows for substitution_filter to be specified for a topology template to provide processing instructions to the orchestrator. Issue-ID: SDC-3147 Signed-off-by: aribeiro Change-Id: Ia94b8c447d3157e614f9d1524ad4520b3980ba4d --- .../tosca/datatypes/model/SubstitutionMapping.java | 40 +++++---------- .../model/extension/SubstitutionFilter.java | 57 ---------------------- .../model/extension/SubstitutionMappingExt.java | 52 -------------------- .../sdc/tosca/services/ToscaExtensionYamlUtil.java | 13 ++--- 4 files changed, 15 insertions(+), 147 deletions(-) delete mode 100644 common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/extension/SubstitutionFilter.java delete mode 100644 common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/extension/SubstitutionMappingExt.java (limited to 'common/onap-tosca-datatype/src/main') diff --git a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/SubstitutionMapping.java b/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/SubstitutionMapping.java index 3669ae1df4..a8d0718c4e 100644 --- a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/SubstitutionMapping.java +++ b/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/SubstitutionMapping.java @@ -7,9 +7,9 @@ * 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. @@ -22,33 +22,17 @@ package org.onap.sdc.tosca.datatypes.model; import java.util.List; import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; +@Getter +@Setter +@EqualsAndHashCode public class SubstitutionMapping { - private String node_type; - private Map> capabilities; - private Map> requirements; - public String getNode_type() { - return node_type; - } - - public void setNode_type(String node_type) { - this.node_type = node_type; - } - - public Map> getRequirements() { - return requirements; - } - - public void setRequirements(Map> requirements) { - this.requirements = requirements; - } - - public Map> getCapabilities() { - return capabilities; - } - - public void setCapabilities(Map> capabilities) { - this.capabilities = capabilities; - } + private String node_type; + private Map> capabilities; + private Map> requirements; + private NodeFilter substitution_filter; } diff --git a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/extension/SubstitutionFilter.java b/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/extension/SubstitutionFilter.java deleted file mode 100644 index 8f3aa20a48..0000000000 --- a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/extension/SubstitutionFilter.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright © 2016-2018 European Support Limited - * - * 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. - */ - -package org.onap.sdc.tosca.datatypes.model.extension; - - -import java.util.List; - -import java.util.Map; -import org.onap.sdc.tosca.datatypes.model.Constraint; -import org.onap.sdc.tosca.services.DataModelNormalizeUtil; - -public class SubstitutionFilter { - - private List>> properties; - - public List>> getProperties() { - return properties; - } - - public void setProperties(List>> properties) { - this.properties = DataModelNormalizeUtil.getNormalizePropertiesFilter(properties); - } - - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (!(o instanceof SubstitutionFilter)) { - return false; - } - - SubstitutionFilter that = (SubstitutionFilter) o; - - return getProperties() != null ? getProperties().equals(that.getProperties()) : that.getProperties() == null; - } - - @Override - public int hashCode() { - return getProperties() != null ? getProperties().hashCode() : 0; - } -} diff --git a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/extension/SubstitutionMappingExt.java b/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/extension/SubstitutionMappingExt.java deleted file mode 100644 index d60931d180..0000000000 --- a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/extension/SubstitutionMappingExt.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright © 2016-2018 European Support Limited - * - * 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. - */ - -package org.onap.sdc.tosca.datatypes.model.extension; - -import org.onap.sdc.tosca.datatypes.model.SubstitutionMapping; - -public class SubstitutionMappingExt extends SubstitutionMapping { - - private SubstitutionFilter substitution_filter; - - public SubstitutionFilter getSubstitution_filter() { - return substitution_filter; - } - - public void setSubstitution_filter(SubstitutionFilter substitution_filter) { - this.substitution_filter = substitution_filter; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (!(o instanceof SubstitutionMappingExt)) { - return false; - } - - SubstitutionMappingExt that = (SubstitutionMappingExt) o; - - return getSubstitution_filter() != null ? getSubstitution_filter().equals(that.getSubstitution_filter()) - : that.getSubstitution_filter() == null; - } - - @Override - public int hashCode() { - return getSubstitution_filter() != null ? getSubstitution_filter().hashCode() : 0; - } -} diff --git a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/services/ToscaExtensionYamlUtil.java b/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/services/ToscaExtensionYamlUtil.java index a6c079ade0..45499d15f4 100644 --- a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/services/ToscaExtensionYamlUtil.java +++ b/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/services/ToscaExtensionYamlUtil.java @@ -37,8 +37,6 @@ public class ToscaExtensionYamlUtil extends YamlUtil { "org.onap.sdc.tosca.datatypes.model.extension.RequirementAssignmentExt"; public static final String TOSCA_MODEL_SUBSTITUTION_MAPPING = "org.onap.sdc.tosca.datatypes.model.SubstitutionMapping"; - public static final String TOSCA_MODEL_EXT_SUBSTITUTION_MAPPING = - "org.onap.sdc.tosca.datatypes.model.extension.SubstitutionMappingExt"; @Override public Constructor getConstructor(Class typClass) { @@ -62,9 +60,6 @@ public class ToscaExtensionYamlUtil extends YamlUtil { if (type.equals(Class.forName(TOSCA_MODEL_REQUIREMENT_ASSIGNMENT))) { classType = Class.forName(TOSCA_MODEL_EXT_REQUIREMENT_ASSIGNMENT); } - if (type.equals(Class.forName(TOSCA_MODEL_SUBSTITUTION_MAPPING))) { - classType = Class.forName(TOSCA_MODEL_EXT_SUBSTITUTION_MAPPING); - } } catch (ClassNotFoundException ex) { throw new ToscaRuntimeException(ex); } @@ -85,6 +80,7 @@ public class ToscaExtensionYamlUtil extends YamlUtil { protected Object constructJavaBean2ndStep(MappingNode node, Object object) { Class type = node.getType(); try { + final Class substitutionMappingClass = Class.forName(TOSCA_MODEL_SUBSTITUTION_MAPPING); if (type.equals(Class.forName(TOSCA_MODEL_PARAMETER_DEFINITION))) { Class extendHeatClass = Class.forName(TOSCA_MODEL_EXT_PARAMETER_DEFINITION); Object extendHeatObject = extendHeatClass.newInstance(); @@ -95,11 +91,8 @@ public class ToscaExtensionYamlUtil extends YamlUtil { Object extendHeatObject = extendHeatClass.newInstance(); // create JavaBean return super.constructJavaBean2ndStep(node, extendHeatObject); - } else if (type.equals(Class.forName(TOSCA_MODEL_SUBSTITUTION_MAPPING))) { - Class extendHeatClass = Class.forName(TOSCA_MODEL_EXT_SUBSTITUTION_MAPPING); - Object extendHeatObject = extendHeatClass.newInstance(); - // create JavaBean - return super.constructJavaBean2ndStep(node, extendHeatObject); + } else if (type.equals(substitutionMappingClass)) { + return super.constructJavaBean2ndStep(node, substitutionMappingClass.newInstance()); } else { // create JavaBean return super.constructJavaBean2ndStep(node, object); -- cgit 1.2.3-korg