aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/InterfacesOperationsConverter.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/tosca/InterfacesOperationsConverter.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/tosca/InterfacesOperationsConverter.java64
1 files changed, 34 insertions, 30 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/InterfacesOperationsConverter.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/InterfacesOperationsConverter.java
index ce5038771b..54e61da41a 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/InterfacesOperationsConverter.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/InterfacesOperationsConverter.java
@@ -36,6 +36,7 @@ import org.apache.commons.collections.MapUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
+import org.openecomp.sdc.be.datatypes.elements.ArtifactDataDefinition;
import org.openecomp.sdc.be.datatypes.elements.InputDataDefinition;
import org.openecomp.sdc.be.datatypes.elements.OperationDataDefinition;
import org.openecomp.sdc.be.datatypes.elements.OperationInputDefinition;
@@ -151,12 +152,13 @@ public class InterfacesOperationsConverter {
return toscaResourceName.substring(toscaResourceName.lastIndexOf(DOT) + 1);
}
- private static boolean isArtifactPresent(final OperationDataDefinition operationDataDefinition) {
- return operationDataDefinition.getImplementation() != null && operationDataDefinition.getImplementation().getArtifactName() != null;
+ private boolean isArtifactPresent(final OperationDataDefinition operationDataDefinition) {
+ return operationDataDefinition.getImplementation() != null
+ && StringUtils.isNotEmpty(operationDataDefinition.getImplementation().getArtifactName());
}
private static String getInputValue(final OperationInputDefinition input) {
- String inputValue = input.getValue() == null ? input.getToscaDefaultValue(): input.getValue();
+ String inputValue = input.getValue() == null ? input.getToscaDefaultValue() : input.getValue();
if (inputValue != null && inputValue.contains(ToscaFunctions.GET_OPERATION_OUTPUT.getFunctionName())) {
Gson gson = new Gson();
Map<String, List<String>> consumptionValue = gson.fromJson(inputValue, Map.class);
@@ -223,18 +225,18 @@ public class InterfacesOperationsConverter {
}
private Map<String, Object> getInterfacesMap(Component component, Map<String, DataTypeDefinition> dataTypes, boolean isAssociatedComponent) {
- return getInterfacesMap(component, null, component.getInterfaces(), dataTypes, isAssociatedComponent, false);
+ return getInterfacesMap(component, null, component.getInterfaces(), dataTypes, isAssociatedComponent);
}
public Map<String, Object> getInterfacesMap(final Component component, final ComponentInstance componentInstance,
final Map<String, InterfaceDefinition> interfaces, final Map<String, DataTypeDefinition> dataTypes,
- final boolean isAssociatedComponent, final boolean isServiceProxyInterface) {
+ final boolean isAssociatedComponent) {
if (MapUtils.isEmpty(interfaces)) {
return null;
}
final Map<String, Object> toscaInterfaceDefinitions = new HashMap<>();
for (InterfaceDefinition interfaceDefinition : interfaces.values()) {
- handleInterfaceOperations(component, componentInstance, dataTypes, isAssociatedComponent, isServiceProxyInterface,
+ handleInterfaceOperations(component, componentInstance, dataTypes, isAssociatedComponent,
toscaInterfaceDefinitions, interfaceDefinition);
}
return toscaInterfaceDefinitions;
@@ -242,13 +244,13 @@ public class InterfacesOperationsConverter {
public Map<String, Object> getInterfacesMapFromComponentInstance(final Component component, final ComponentInstance componentInstance,
final Map<String, DataTypeDefinition> dataTypes,
- final boolean isAssociatedComponent, final boolean isServiceProxyInterface) {
+ final boolean isAssociatedComponent) {
final Map<String, Object> toscaInterfaceDefinitions = new HashMap<>();
final ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
for (final Map.Entry<String, Object> interfaceEntry : componentInstance.getInterfaces().entrySet()) {
final InterfaceDefinition interfaceDefinition = objectMapper.convertValue(interfaceEntry.getValue(), InterfaceDefinition.class);
- handleInterfaceOperations(component, componentInstance, dataTypes, isAssociatedComponent, isServiceProxyInterface,
+ handleInterfaceOperations(component, componentInstance, dataTypes, isAssociatedComponent,
toscaInterfaceDefinitions, interfaceDefinition);
}
return toscaInterfaceDefinitions;
@@ -256,7 +258,7 @@ public class InterfacesOperationsConverter {
private void handleInterfaceOperations(final Component component, final ComponentInstance componentInstance,
final Map<String, DataTypeDefinition> dataTypes, final boolean isAssociatedComponent,
- final boolean isServiceProxyInterface, final Map<String, Object> toscaInterfaceDefinitions,
+ final Map<String, Object> toscaInterfaceDefinitions,
final InterfaceDefinition interfaceDefinition) {
final String interfaceType;
if (componentInstance != null && LOCAL_INTERFACE_TYPE.equals(interfaceDefinition.getType())) {
@@ -280,7 +282,7 @@ public class InterfacesOperationsConverter {
}
toscaInterfaceDefinition.setOperations(toscaOperationMap);
final Map<String, Object> interfaceInputMap = createInterfaceInputMap(interfaceDefinition, dataTypes);
- if (!interfaceInputMap.isEmpty()) {
+ if (MapUtils.isNotEmpty(interfaceInputMap)) {
toscaInterfaceDefinition.setInputs(interfaceInputMap);
}
final Map<String, Object> interfaceDefinitionAsMap = getObjectAsMap(toscaInterfaceDefinition);
@@ -298,29 +300,31 @@ public class InterfacesOperationsConverter {
final OperationDataDefinition operationDataDefinition,
final ToscaLifecycleOperationDefinition toscaOperation,
final Map<String, DataTypeDefinition> dataTypes) {
- if (operationDataDefinition.getImplementation() == null) {
+ final ArtifactDataDefinition implementation = operationDataDefinition.getImplementation();
+ if (implementation == null) {
return;
}
- final String operationArtifactPath;
- final ToscaInterfaceOperationImplementation toscaInterfaceOperationImplementation = new ToscaInterfaceOperationImplementation();
- toscaInterfaceOperationImplementation.setPrimary(new ToscaArtifactDefinition());
- final ToscaArtifactDefinition toscaArtifactDefinition = toscaInterfaceOperationImplementation.getPrimary();
- if (isArtifactPresent(operationDataDefinition) && StringUtils.isNotEmpty(operationDataDefinition.getImplementation().getArtifactName())) {
- operationArtifactPath = OperationArtifactUtil
- .createOperationArtifactPath(component, componentInstance, operationDataDefinition, isAssociatedComponent);
- toscaArtifactDefinition.setFile(operationArtifactPath);
- toscaArtifactDefinition.setArtifact_version(!operationDataDefinition.getImplementation().getArtifactVersion()
- .equals(NumberUtils.INTEGER_ZERO.toString()) ? operationDataDefinition.getImplementation().getArtifactVersion() : null);
- toscaArtifactDefinition.setType(operationDataDefinition.getImplementation().getArtifactType());
- final Map<String, ToscaPropertyAssignment> propertiesMap = handleImplementationProperties(operationDataDefinition, dataTypes);
- if (!propertiesMap.isEmpty()) {
- toscaArtifactDefinition.setProperties(propertiesMap);
+
+ if (isArtifactPresent(operationDataDefinition)) {
+ final String operationArtifactPath =
+ OperationArtifactUtil.createOperationArtifactPath(component, componentInstance, operationDataDefinition, isAssociatedComponent);
+ if (implementation.getArtifactType() != null) {
+ final ToscaArtifactDefinition toscaArtifactDefinition = new ToscaArtifactDefinition();
+ toscaArtifactDefinition.setFile(operationArtifactPath);
+ final String artifactVersion = implementation.getArtifactVersion();
+ toscaArtifactDefinition.setArtifact_version(!artifactVersion.equals(NumberUtils.INTEGER_ZERO.toString()) ? artifactVersion : null);
+ toscaArtifactDefinition.setType(implementation.getArtifactType());
+ final Map<String, ToscaPropertyAssignment> propertiesMap = handleImplementationProperties(operationDataDefinition, dataTypes);
+ if (MapUtils.isNotEmpty(propertiesMap)) {
+ toscaArtifactDefinition.setProperties(propertiesMap);
+ }
+ final ToscaInterfaceOperationImplementation toscaInterfaceOperationImplementation = new ToscaInterfaceOperationImplementation();
+ toscaInterfaceOperationImplementation.setPrimary(toscaArtifactDefinition);
+ toscaOperation.setImplementation(toscaInterfaceOperationImplementation);
+ } else {
+ toscaOperation.setImplementation(
+ StringUtils.isBlank(operationArtifactPath) || "null".equals(operationArtifactPath) ? null : operationArtifactPath);
}
- toscaOperation.setImplementation(
- toscaArtifactDefinition.getType() != null ? toscaInterfaceOperationImplementation : operationArtifactPath);
- } else {
- toscaArtifactDefinition.setFile(operationDataDefinition.getImplementation().getArtifactName());
- toscaOperation.setImplementation(toscaInterfaceOperationImplementation);
}
}