@Transactional
public class CommissioningProvider {
public static final String AUTOMATION_COMPOSITION_NODE_TYPE = "org.onap.policy.clamp.acm.AutomationComposition";
- private static final String INSTANCE_TEXT = "_Instance";
+ private static final String HYPHEN = "-";
private final ServiceTemplateProvider serviceTemplateProvider;
private final AutomationCompositionProvider acProvider;
Map<String, ToscaNodeTemplate> toscaNodeTemplates = new HashMap<>();
serviceTemplate.getToscaTopologyTemplate().getNodeTemplates().forEach((key, nodeTemplate) -> {
- if (!nodeTemplate.getName().contains(INSTANCE_TEXT)) {
+ if (!nodeTemplate.getName().contains(HYPHEN)) {
toscaNodeTemplates.put(key, nodeTemplate);
}
});
*/
private boolean verifyIfInstancePropertiesExists() {
return acProvider.getAllNodeTemplates().stream()
- .anyMatch(nodeTemplate -> nodeTemplate.getKey().getName().contains(INSTANCE_TEXT));
+ .anyMatch(nodeTemplate -> nodeTemplate.getKey().getName().contains(HYPHEN));
}
}
private static final String PARTICIPANT_TYPE_PROPERTY_KEY = "participantType";
private static final String AC_ELEMENT_NAME = "name";
private static final String AC_ELEMENT_VERSION = "version";
- private static final String INSTANCE_TEXT = "_Instance";
+ private static final String HYPHEN = "-";
private static final Gson GSON = new Gson();
public InstancePropertiesResponse createInstanceProperties(ToscaServiceTemplate serviceTemplate)
throws PfModelException {
- String instanceName = generateSequentialInstanceName();
+ String instanceName = serviceTemplate.getName();
AutomationComposition automationComposition = new AutomationComposition();
Map<UUID, AutomationCompositionElement> automationCompositionElements = new HashMap<>();
nodeTemplates.forEach((key, template) -> {
ToscaNodeTemplate newNodeTemplate = new ToscaNodeTemplate();
- String name = key + instanceName;
+ String name = key + "-" + instanceName;
String version = template.getVersion();
- String description = template.getDescription() + instanceName;
+ String description = template.getDescription() + " " + instanceName;
newNodeTemplate.setName(name);
newNodeTemplate.setVersion(version);
newNodeTemplate.setDescription(description);
automationCompositionElements.put(automationCompositionElement.getId(), automationCompositionElement);
}
- automationComposition.setName("PMSH" + instanceName);
+ automationComposition.setName(instanceName);
automationComposition.setVersion(template.getVersion());
- automationComposition.setDescription("PMSH automation composition " + instanceName);
+ automationComposition.setDescription("Automation composition " + instanceName);
automationComposition.setState(AutomationCompositionState.UNINITIALISED);
automationComposition.setOrderedState(AutomationCompositionOrderedState.UNINITIALISED);
}
return toscaDefinitionsNames.stream().reduce("", (s1, s2) -> {
- if (s2.contains(INSTANCE_TEXT)) {
- String[] instances = s2.split(INSTANCE_TEXT);
+ if (s2.contains(HYPHEN)) {
+ String[] instances = s2.split(HYPHEN);
- return INSTANCE_TEXT + instances[1];
+ return HYPHEN + instances[1];
}
return s1;
});
}
- /**
- * Generates Instance Name in sequential order and return it to append to the Node Template Name.
- *
- * @return instanceName
- */
- private String generateSequentialInstanceName() {
- List<ToscaNodeTemplate> nodeTemplates = automationCompositionProvider.getAllNodeTemplates();
-
- int instanceNumber = nodeTemplates.stream().map(ToscaNodeTemplate::getName)
- .filter(name -> name.contains(INSTANCE_TEXT)).map(n -> {
- String[] defNameArr = n.split(INSTANCE_TEXT);
-
- return Integer.parseInt(defNameArr[1]);
- }).reduce(0, Math::max);
-
- return INSTANCE_TEXT + (instanceNumber + 1);
- }
-
/**
* Retrieves automation composition Definition.
*