package org.openecomp.sdc.be.datatypes.elements; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.stream.Collectors; import org.codehaus.jackson.annotate.JsonCreator; import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields; import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition; public class ListDataDefinition extends ToscaDataDefinition { protected List listToscaDataDefinition; public ListDataDefinition(ListDataDefinition cdt) { super(); listToscaDataDefinition = cdt.listToscaDataDefinition; } @JsonCreator public ListDataDefinition(List listToscaDataDefinition) { super(); this.listToscaDataDefinition = listToscaDataDefinition; } public ListDataDefinition() { super(); } public List getListToscaDataDefinition() { return listToscaDataDefinition; } public void add(T value) { if (listToscaDataDefinition == null) { listToscaDataDefinition = new ArrayList(); } listToscaDataDefinition.add(value); } public void delete(T value) { if (listToscaDataDefinition != null) { listToscaDataDefinition.remove(value); } } @Override public void setOwnerIdIfEmpty(String ownerId) { if (listToscaDataDefinition != null) { listToscaDataDefinition.forEach(e -> e.setOwnerIdIfEmpty(ownerId)); } } public Map listToMapByName() { Map mapByName = new HashMap<>(); listToscaDataDefinition.forEach(e -> mapByName.put((String)e.getToscaPresentationValue(JsonPresentationFields.NAME), e)); return mapByName; } }