diff options
Diffstat (limited to 'common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/MapDataDefinition.java')
-rw-r--r-- | common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/MapDataDefinition.java | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/MapDataDefinition.java b/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/MapDataDefinition.java index 4c5e17c87a..9801e3b83f 100644 --- a/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/MapDataDefinition.java +++ b/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/MapDataDefinition.java @@ -17,18 +17,18 @@ * limitations under the License. * ============LICENSE_END========================================================= */ + package org.openecomp.sdc.be.datatypes.elements; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition; + import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; -import lombok.NoArgsConstructor; -import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition; -@NoArgsConstructor public class MapDataDefinition<T extends ToscaDataDefinition> extends ToscaDataDefinition { protected Map<String, T> mapToscaDataDefinition; @@ -36,6 +36,7 @@ public class MapDataDefinition<T extends ToscaDataDefinition> extends ToscaDataD public MapDataDefinition(MapDataDefinition<T> cdt) { super(); mapToscaDataDefinition = cdt.mapToscaDataDefinition; + } @JsonCreator @@ -44,6 +45,10 @@ public class MapDataDefinition<T extends ToscaDataDefinition> extends ToscaDataD this.mapToscaDataDefinition = mapToscaDataDefinition; } + public MapDataDefinition() { + super(); + } + @JsonValue public Map<String, T> getMapToscaDataDefinition() { return mapToscaDataDefinition; @@ -77,11 +82,14 @@ public class MapDataDefinition<T extends ToscaDataDefinition> extends ToscaDataD } } + public String findKeyByItemUidMatch(String uid) { if (null == mapToscaDataDefinition || uid == null) { return null; } - Map.Entry<String, T> entry = mapToscaDataDefinition.entrySet().stream().filter(e -> e.getValue().findUidMatch(uid)).findAny().orElse(null); + Map.Entry<String, T> entry = mapToscaDataDefinition.entrySet().stream().filter(e -> + e.getValue().findUidMatch(uid)) + .findAny().orElse(null); if (null == entry) { return null; } @@ -91,9 +99,12 @@ public class MapDataDefinition<T extends ToscaDataDefinition> extends ToscaDataD @Override public <T extends ToscaDataDefinition> T removeByOwnerId(Set<String> ownerIdList) { if (mapToscaDataDefinition != null) { - Map<String, T> collect = (Map<String, T>) mapToscaDataDefinition.entrySet().stream() - .filter(e -> ownerIdList.contains(e.getValue().getOwnerId())).collect(Collectors.toMap(Map.Entry::getKey, (Map.Entry::getValue))); + Map<String, T> collect = (Map<String, T>) mapToscaDataDefinition.entrySet() + .stream() + .filter(e -> ownerIdList.contains(e.getValue().getOwnerId())).collect(Collectors.toMap(Map.Entry::getKey, (Map.Entry::getValue))); + MapDataDefinition collectMap = new MapDataDefinition<>(collect); + mapToscaDataDefinition.entrySet().removeIf(e -> ownerIdList.contains(e.getValue().getOwnerId())); return (T) collectMap; } @@ -102,6 +113,7 @@ public class MapDataDefinition<T extends ToscaDataDefinition> extends ToscaDataD @Override public <T extends ToscaDataDefinition> T updateIfExist(T other, boolean allowDefaultValueOverride) { + Map<String, T> map = ((MapDataDefinition) other).getMapToscaDataDefinition(); if (map != null) { map.entrySet().forEach(e -> { |