/** * Clone so that !original.equals(clone). * This is done by changing the name of the clone. */ public static TNodeTemplate cloneNotEqual(TNodeTemplate nodeTemplate) { TNodeTemplate cloned = BackendUtils.clone(nodeTemplate); // name used in equals -> make unique to avoid equals bugs caused by cloning cloned.setName(cloned.getId() + idCounter++); return cloned; }
TNodeTemplate duplicatedNode = BackendUtils.clone(currentNode); duplicatedNode.setId(Util.makeNCName(currentNode.getId() + "-" + targetLabel)); duplicatedNode.setName(Util.makeNCName(currentNode.getName() + "-" + targetLabel)); topologyTemplate.getNodeTemplateOrRelationshipTemplate().add(duplicatedNode); topologyTemplateCopy.getNodeTemplateOrRelationshipTemplate().add(duplicatedNode);
nodeTemplate.setName(nodeType.getName()); nodeTemplate.setType(new QName(nodeType.getTargetNamespace(), nodeType.getName()));
/** * @param nodeTemplate which should be cloned * @return copy of nodeTemplate */ public static TNodeTemplate clone(TNodeTemplate nodeTemplate) { TNodeTemplate nodeTemplateClone = new TNodeTemplate(); nodeTemplateClone.setType(nodeTemplate.getType()); nodeTemplateClone.setId(nodeTemplate.getId()); nodeTemplateClone.setDeploymentArtifacts(nodeTemplate.getDeploymentArtifacts()); // returns 1 if null -> !original.equals(cloned) nodeTemplateClone.setMaxInstances(nodeTemplate.getMaxInstances()); nodeTemplateClone.setMinInstances(nodeTemplate.getMinInstances()); nodeTemplateClone.setName(nodeTemplate.getName()); nodeTemplateClone.setPolicies(nodeTemplate.getPolicies()); nodeTemplateClone.setRequirements(nodeTemplate.getRequirements()); nodeTemplateClone.setCapabilities(nodeTemplate.getCapabilities()); nodeTemplateClone.setProperties(nodeTemplate.getProperties()); nodeTemplateClone.setPropertyConstraints(nodeTemplate.getPropertyConstraints()); nodeTemplateClone.setX(nodeTemplate.getX()); nodeTemplateClone.setY(nodeTemplate.getY()); if (ModelUtilities.getTargetLabel(nodeTemplate).isPresent()) { ModelUtilities.setTargetLabel(nodeTemplateClone, ModelUtilities.getTargetLabel(nodeTemplate).get()); } return nodeTemplateClone; }