summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/components/utils/InterfaceOperationUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/utils/InterfaceOperationUtils.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/utils/InterfaceOperationUtils.java105
1 files changed, 40 insertions, 65 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/utils/InterfaceOperationUtils.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/utils/InterfaceOperationUtils.java
index 17c4b04d0f..edbad79e14 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/utils/InterfaceOperationUtils.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/utils/InterfaceOperationUtils.java
@@ -13,9 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.be.components.utils;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.openecomp.sdc.be.datatypes.elements.InterfaceDataDefinition;
@@ -27,90 +34,63 @@ import org.openecomp.sdc.be.model.Component;
import org.openecomp.sdc.be.model.InputDefinition;
import org.openecomp.sdc.be.model.InterfaceDefinition;
import org.openecomp.sdc.be.model.Operation;
-import org.openecomp.sdc.tosca.datatypes.ToscaFunctions;
import org.openecomp.sdc.be.tosca.InterfacesOperationsConverter;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.stream.Collectors;
+import org.openecomp.sdc.tosca.datatypes.ToscaFunctions;
public class InterfaceOperationUtils {
private InterfaceOperationUtils() {
}
- public static Optional<InterfaceDefinition> getInterfaceDefinitionFromComponentByInterfaceType(Component component,
- String interfaceType) {
+ public static Optional<InterfaceDefinition> getInterfaceDefinitionFromComponentByInterfaceType(Component component, String interfaceType) {
if (MapUtils.isEmpty(component.getInterfaces())) {
return Optional.empty();
}
return component.getInterfaces().values().stream()
- .filter(interfaceDefinition -> interfaceDefinition.getType() != null && interfaceDefinition
- .getType()
- .equals(interfaceType))
- .findAny();
+ .filter(interfaceDefinition -> interfaceDefinition.getType() != null && interfaceDefinition.getType().equals(interfaceType)).findAny();
}
- public static Optional<InterfaceDefinition> getInterfaceDefinitionFromComponentByInterfaceId(Component component,
- String interfaceId) {
+ public static Optional<InterfaceDefinition> getInterfaceDefinitionFromComponentByInterfaceId(Component component, String interfaceId) {
if (MapUtils.isEmpty(component.getInterfaces())) {
return Optional.empty();
}
return component.getInterfaces().values().stream()
- .filter(interfaceDefinition -> interfaceDefinition.getUniqueId() != null && interfaceDefinition
- .getUniqueId()
- .equals(interfaceId))
- .findAny();
+ .filter(interfaceDefinition -> interfaceDefinition.getUniqueId() != null && interfaceDefinition.getUniqueId().equals(interfaceId))
+ .findAny();
}
- public static Optional<Map.Entry<String, Operation>> getOperationFromInterfaceDefinition(
- InterfaceDefinition interfaceDefinition, String operationId) {
+ public static Optional<Map.Entry<String, Operation>> getOperationFromInterfaceDefinition(InterfaceDefinition interfaceDefinition,
+ String operationId) {
if (MapUtils.isEmpty(interfaceDefinition.getOperationsMap())) {
return Optional.empty();
}
- return interfaceDefinition.getOperationsMap().entrySet().stream()
- .filter(entry -> entry.getValue().getUniqueId().equals(operationId)).findAny();
+ return interfaceDefinition.getOperationsMap().entrySet().stream().filter(entry -> entry.getValue().getUniqueId().equals(operationId))
+ .findAny();
}
- public static Optional<InterfaceDefinition> getInterfaceDefinitionFromOperationId(List<InterfaceDefinition> interfaces,
- String operationId) {
+ public static Optional<InterfaceDefinition> getInterfaceDefinitionFromOperationId(List<InterfaceDefinition> interfaces, String operationId) {
if (CollectionUtils.isEmpty(interfaces)) {
return Optional.empty();
}
- return interfaces.stream()
- .filter(interfaceDefinition -> interfaceDefinition.getOperationsMap().containsKey(operationId))
- .findAny();
+ return interfaces.stream().filter(interfaceDefinition -> interfaceDefinition.getOperationsMap().containsKey(operationId)).findAny();
}
- public static boolean isOperationInputMappedToComponentInput(OperationInputDefinition input,
- List<InputDefinition> inputs) {
+ public static boolean isOperationInputMappedToComponentInput(OperationInputDefinition input, List<InputDefinition> inputs) {
if (CollectionUtils.isEmpty(inputs)) {
return false;
}
-
boolean matchedInput = inputs.stream().anyMatch(inp -> inp.getUniqueId().equals(input.getInputId()));
if (!matchedInput && input.getInputId().contains(".")) {
- return inputs.stream()
- .anyMatch(inp -> inp.getUniqueId()
- .equals(input.getInputId().substring(0, input.getInputId().lastIndexOf('.'))));
+ return inputs.stream().anyMatch(inp -> inp.getUniqueId().equals(input.getInputId().substring(0, input.getInputId().lastIndexOf('.'))));
}
return matchedInput;
}
- public static boolean isOperationInputMappedToOtherOperationOutput(String outputName,
- List<OperationOutputDefinition>
- otherOperationOutputs) {
+ public static boolean isOperationInputMappedToOtherOperationOutput(String outputName, List<OperationOutputDefinition> otherOperationOutputs) {
if (CollectionUtils.isEmpty(otherOperationOutputs)) {
return false;
}
- return otherOperationOutputs.stream()
- .anyMatch(output -> output.getName().equals(outputName));
-
+ return otherOperationOutputs.stream().anyMatch(output -> output.getName().equals(outputName));
}
public static Map<String, List<String>> createMappedInputPropertyDefaultValue(String propertyName) {
@@ -124,13 +104,11 @@ public class InterfaceOperationUtils {
return getPropertyMap;
}
- public static Map<String, List<String>> createMappedCapabilityPropertyDefaultValue(String capabilityName,
- String propertyName) {
+ public static Map<String, List<String>> createMappedCapabilityPropertyDefaultValue(String capabilityName, String propertyName) {
Map<String, List<String>> getPropertyMap = new HashMap<>();
List<String> values = new ArrayList<>();
values.add(InterfacesOperationsConverter.SELF);
values.add(capabilityName);
-
if (Objects.nonNull(propertyName) && !propertyName.isEmpty()) {
values.addAll(Arrays.asList(propertyName.split("\\.")));
}
@@ -140,18 +118,17 @@ public class InterfaceOperationUtils {
/**
* Get the list of outputs of other operations of all the interfaces in the component.
+ *
* @param currentOperationIdentifier Fully qualified operation name e.g. org.test.interfaces.node.lifecycle.Abc.stop
- * @param componentInterfaces VF or service interfaces
+ * @param componentInterfaces VF or service interfaces
*/
-
- public static ListDataDefinition<OperationOutputDefinition> getOtherOperationOutputsOfComponent(
- String currentOperationIdentifier, Map<String, ? extends InterfaceDataDefinition> componentInterfaces) {
+ public static ListDataDefinition<OperationOutputDefinition> getOtherOperationOutputsOfComponent(String currentOperationIdentifier,
+ Map<String, ? extends InterfaceDataDefinition> componentInterfaces) {
ListDataDefinition<OperationOutputDefinition> componentOutputs = new ListDataDefinition<>();
if (MapUtils.isEmpty(componentInterfaces)) {
return componentOutputs;
}
- for (Map.Entry<String, ? extends InterfaceDataDefinition> interfaceDefinitionEntry :
- componentInterfaces.entrySet()) {
+ for (Map.Entry<String, ? extends InterfaceDataDefinition> interfaceDefinitionEntry : componentInterfaces.entrySet()) {
String interfaceName = interfaceDefinitionEntry.getKey();
final Map<String, OperationDataDefinition> operations = interfaceDefinitionEntry.getValue().getOperations();
if (MapUtils.isEmpty(operations)) {
@@ -170,13 +147,16 @@ public class InterfaceOperationUtils {
/**
* Create the value for operation input mapped to an operation output.
+ *
* @param propertyName the mapped other operation output full name
* @return input map for tosca
*/
public static Map<String, List<String>> createMappedOutputDefaultValue(String componentName, String propertyName) {
Map<String, List<String>> getOperationOutputMap = new HashMap<>();
//For operation input mapped to other operation output parameter, the mapped property value
+
// should be of the format <interface name>.<operation name>.<output parameter name>
+
// Operation name and output param name should not contain "."
List<String> defaultMappedOperationOutputValue = new ArrayList<>();
String[] tokens = propertyName.split("\\.");
@@ -184,26 +164,21 @@ public class InterfaceOperationUtils {
defaultMappedOperationOutputValue.add(componentName);
String outputPropertyName = tokens[tokens.length - 1];
String operationName = tokens[tokens.length - 2];
- String mappedPropertyInterfaceType =
- propertyName.substring(0, propertyName.indexOf(operationName + '.' + outputPropertyName) - 1);
- defaultMappedOperationOutputValue.addAll(Arrays.asList(mappedPropertyInterfaceType, operationName,
- outputPropertyName));
- getOperationOutputMap.put(ToscaFunctions.GET_OPERATION_OUTPUT.getFunctionName(),
- defaultMappedOperationOutputValue);
+ String mappedPropertyInterfaceType = propertyName.substring(0, propertyName.indexOf(operationName + '.' + outputPropertyName) - 1);
+ defaultMappedOperationOutputValue.addAll(Arrays.asList(mappedPropertyInterfaceType, operationName, outputPropertyName));
+ getOperationOutputMap.put(ToscaFunctions.GET_OPERATION_OUTPUT.getFunctionName(), defaultMappedOperationOutputValue);
}
return getOperationOutputMap;
}
public static String getOperationOutputName(String fullOutputIdentifier) {
- return fullOutputIdentifier.contains(".")
- ? fullOutputIdentifier.substring(fullOutputIdentifier.lastIndexOf('.') + 1)
- : fullOutputIdentifier;
+ return fullOutputIdentifier.contains(".") ? fullOutputIdentifier.substring(fullOutputIdentifier.lastIndexOf('.') + 1) : fullOutputIdentifier;
}
public static boolean isArtifactInUse(Component component, String operationId, String artifactUniqueId) {
return MapUtils.emptyIfNull(component.getInterfaces()).values().stream()
- .filter(o -> MapUtils.isNotEmpty(o.getOperations()) && !o.getOperations().containsKey(operationId))
- .flatMap(o -> o.getOperations().values().stream()).collect(Collectors.toList()).stream()
- .anyMatch(op -> op.getImplementation().getUniqueId().equals(artifactUniqueId));
+ .filter(o -> MapUtils.isNotEmpty(o.getOperations()) && !o.getOperations().containsKey(operationId))
+ .flatMap(o -> o.getOperations().values().stream()).collect(Collectors.toList()).stream()
+ .anyMatch(op -> op.getImplementation().getUniqueId().equals(artifactUniqueId));
}
}