public Builder addArtifacts(String name, TArtifactDefinition artifact) { if (name == null || name.isEmpty()) { return this; } return addArtifacts(Collections.singletonMap(name, artifact)); }
public Builder addAttributes(String name, TAttributeDefinition attribute) { if (name == null || name.isEmpty()) { return this; } return addAttributes(Collections.singletonMap(name, attribute)); }
public Builder addCapabilities(String name, TCapabilityDefinition capability) { if (name == null || name.isEmpty()) { return this; } return addCapabilities(Collections.singletonMap(name, capability)); }
@Nullable public TNodeType buildNodeType(Object object, Parameter<TNodeType> parameter) { if (Objects.isNull(object) || !validate(TNodeType.class, object, parameter)) return null; @SuppressWarnings("unchecked") Map<String, Object> map = (Map<String, Object>) object; return buildEntityType(object, new Parameter<TNodeType.Builder>(parameter.getContext()) .setBuilder(new TNodeType.Builder()) .setClazz(TNodeType.class)) .setRequirements(buildList(map, "requirements", this::buildMapRequirementDefinition, parameter)) .setCapabilities(buildMap(map, "capabilities", this::buildCapabilityDefinition, parameter)) .setInterfaces(buildMap(map.get("interfaces"), new Parameter<TInterfaceDefinition>(parameter.getContext()).addContext("interfaces") .setValue("TNodeType") .setBuilderOO(this::buildInterfaceDefinition) )) .setArtifacts(buildMap(map, "artifacts", this::buildArtifactDefinition, parameter)) .build(); }
public Map<String, TNodeType> convert(org.eclipse.winery.model.tosca.TNodeType node) { if (Objects.isNull(node)) return null; TNodeTypeImplementation impl = getNodeTypeImplementation(new QName(node.getTargetNamespace(), node.getName())); return Collections.singletonMap( node.getIdFromIdOrNameField(), convert(node, new TNodeType.Builder(), org.eclipse.winery.model.tosca.TNodeType.class) .setRequirements(convert(node.getRequirementDefinitions())) .setCapabilities(convert(node.getCapabilityDefinitions())) .setArtifacts(convert(impl)) .setInterfaces(convert(node.getInterfaces(), impl)) .build() ); }
public Builder addInterfaces(String name, TInterfaceDefinition interfaceDefinition) { if (name == null || name.isEmpty()) { return this; } return addInterfaces(Collections.singletonMap(name, interfaceDefinition)); }