diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-versioning-lib')
2 files changed, 48 insertions, 34 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImpl.java index 6ac18d9ff9..e2e7b1cc1e 100644 --- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImpl.java +++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImpl.java @@ -21,9 +21,13 @@ package org.openecomp.sdc.versioning.dao.impl.zusammen; import com.amdocs.zusammen.datatypes.Id; import com.amdocs.zusammen.datatypes.item.Info; +import java.util.Arrays; import java.util.Collection; import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; +import lombok.AllArgsConstructor; +import lombok.Getter; import org.openecomp.core.zusammen.api.ZusammenAdaptor; import org.openecomp.core.zusammen.api.ZusammenUtil; import org.openecomp.sdc.versioning.dao.ItemDao; @@ -33,7 +37,7 @@ import org.openecomp.sdc.versioning.types.ItemStatus; public class ItemZusammenDaoImpl implements ItemDao { - private ZusammenAdaptor zusammenAdaptor; + private final ZusammenAdaptor zusammenAdaptor; public ItemZusammenDaoImpl(ZusammenAdaptor zusammenAdaptor) { this.zusammenAdaptor = zusammenAdaptor; @@ -74,7 +78,7 @@ public class ItemZusammenDaoImpl implements ItemDao { item.setId(zusammenItem.getId().getValue()); item.setName(zusammenItem.getInfo().getName()); item.setDescription(zusammenItem.getInfo().getDescription()); - zusammenItem.getInfo().getProperties().entrySet().forEach(property -> addPropertyToItem(property.getKey(), property.getValue(), item)); + zusammenItem.getInfo().getProperties().forEach((key, value) -> addPropertyToItem(key, value, item)); item.setCreationTime(zusammenItem.getCreationTime()); item.setModificationTime(zusammenItem.getModificationTime()); if (item.getStatus() == null) { @@ -85,17 +89,23 @@ public class ItemZusammenDaoImpl implements ItemDao { } private void addPropertyToItem(String propertyKey, Object propertyValue, Item item) { - switch (propertyKey) { - case InfoPropertyName.ITEM_TYPE: + final ItemInfoProperty itemInfoProperty = ItemInfoProperty.findByName(propertyKey).orElse(null); + if (itemInfoProperty == null) { + item.addProperty(propertyKey, propertyValue); + return; + } + + switch (itemInfoProperty) { + case ITEM_TYPE: item.setType((String) propertyValue); break; - case InfoPropertyName.ITEM_OWNER: + case ITEM_OWNER: item.setOwner((String) propertyValue); break; - case InfoPropertyName.ITEM_STATUS: + case ITEM_STATUS: item.setStatus(ItemStatus.valueOf((String) propertyValue)); break; - case InfoPropertyName.ITEM_VERSIONS_STATUSES: + case ITEM_VERSIONS_STATUSES: for (Map.Entry<String, Number> statusCounter : ((Map<String, Number>) propertyValue).entrySet()) { item.getVersionStatusCounters().put(VersionStatus.valueOf(statusCounter.getKey()), statusCounter.getValue().intValue()); } @@ -109,25 +119,29 @@ public class ItemZusammenDaoImpl implements ItemDao { Info info = new Info(); info.setName(item.getName()); info.setDescription(item.getDescription()); - info.addProperty(InfoPropertyName.ITEM_TYPE, item.getType()); - info.addProperty(InfoPropertyName.ITEM_OWNER, item.getOwner()); + info.addProperty(ItemInfoProperty.ITEM_TYPE.getName(), item.getType()); + info.addProperty(ItemInfoProperty.ITEM_OWNER.getName(), item.getOwner()); if (item.getStatus() != null) { - info.addProperty(InfoPropertyName.ITEM_STATUS, item.getStatus()); + info.addProperty(ItemInfoProperty.ITEM_STATUS.getName(), item.getStatus()); } - info.addProperty(InfoPropertyName.ITEM_VERSIONS_STATUSES, item.getVersionStatusCounters()); - item.getProperties().entrySet().forEach(property -> info.addProperty(property.getKey(), property.getValue())); + info.addProperty(ItemInfoProperty.ITEM_VERSIONS_STATUSES.getName(), item.getVersionStatusCounters()); + item.getProperties().forEach(info::addProperty); return info; } - private static final class InfoPropertyName { + @AllArgsConstructor + @Getter + public enum ItemInfoProperty { + ITEM_TYPE("item_type"), + ITEM_VERSIONS_STATUSES("item_versions_statuses"), + ITEM_OWNER("Owner"), + ITEM_STATUS("status"); - private static final String ITEM_TYPE = "item_type"; - private static final String ITEM_VERSIONS_STATUSES = "item_versions_statuses"; - private static final String ITEM_OWNER = "Owner"; - private static final String ITEM_STATUS = "status"; + private final String name; - private InfoPropertyName() { - throw new IllegalStateException("Constants class"); + public static Optional<ItemInfoProperty> findByName(final String name) { + return Arrays.stream(values()).filter(itemInfoProperty -> itemInfoProperty.getName().equals(name)).findFirst(); } + } } diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/test/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImplTest.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/test/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImplTest.java index a4584d6041..2749185213 100644 --- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/test/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImplTest.java +++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/test/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImplTest.java @@ -20,6 +20,8 @@ import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.verify; +import static org.openecomp.sdc.versioning.dao.impl.zusammen.ItemZusammenDaoImpl.ItemInfoProperty.ITEM_TYPE; +import static org.openecomp.sdc.versioning.dao.impl.zusammen.ItemZusammenDaoImpl.ItemInfoProperty.ITEM_VERSIONS_STATUSES; import static org.openecomp.sdc.versioning.dao.impl.zusammen.TestUtil.createZusammenContext; import com.amdocs.zusammen.datatypes.Id; @@ -49,8 +51,6 @@ import org.openecomp.sdc.versioning.types.ItemStatus; public class ItemZusammenDaoImplTest { private static final String USER = "user1"; - private static final String ITEM_TYPE = "item_type"; - private static final String ITEM_VERSIONS_STATUSES = "item_versions_statuses"; private static final String APP_PROP_1 = "app_prop1"; private static final String APP_PROP_2 = "app_prop2"; private static final String tenant = "dox"; @@ -69,7 +69,7 @@ public class ItemZusammenDaoImplTest { @Test public void testListWhenNone() throws Exception { doReturn(new ArrayList<>()).when(zusammenAdaptorMock) - .listItems(eq(createZusammenContext(USER))); + .listItems(createZusammenContext(USER)); Collection<Item> items = itemDao.list(); @@ -91,10 +91,10 @@ public class ItemZusammenDaoImplTest { createItem("2", "vlm1", "vlm 1", "vlm", new Date(), new Date(), vlm1versionStatuses), createItem("3", "vsp2", "vsp 2", "vsp", new Date(), new Date(), vsp2versionStatuses)) .collect(Collectors.toList()); - doReturn(returnedItems).when(zusammenAdaptorMock).listItems(eq(createZusammenContext(USER))); + doReturn(returnedItems).when(zusammenAdaptorMock).listItems(createZusammenContext(USER)); Collection<Item> items = itemDao.list(); - assertEquals(items.size(), 3); + assertEquals(3, items.size()); Iterator<Item> itemIterator = items.iterator(); assertItemEquals(itemIterator.next(), returnedItems.get(0)); @@ -125,13 +125,13 @@ public class ItemZusammenDaoImplTest { createItem("1", "vsp1", "vsp 1", "vsp", new Date(System.currentTimeMillis() - 100), new Date(), versionStatuses); doReturn(toBeReturned).when(zusammenAdaptorMock) - .getItem(eq(createZusammenContext(USER)), eq(new Id(inputItem.getId()))); + .getItem(createZusammenContext(USER), new Id(inputItem.getId())); Item item = itemDao.get(inputItem); Assert.assertNotNull(item); assertItemEquals(item, toBeReturned); - assertEquals(item.getStatus(), ItemStatus.ACTIVE); + assertEquals(ItemStatus.ACTIVE, item.getStatus()); } @@ -153,8 +153,8 @@ public class ItemZusammenDaoImplTest { Info capturedInfo = capturedZusammenInfo.getValue(); assertEquals(capturedInfo.getName(), inputItem.getName()); assertEquals(capturedInfo.getDescription(), inputItem.getDescription()); - assertEquals(capturedInfo.getProperty(ITEM_TYPE), inputItem.getType()); - assertEquals(capturedInfo.getProperty(ITEM_VERSIONS_STATUSES), + assertEquals(capturedInfo.getProperty(ITEM_TYPE.getName()), inputItem.getType()); + assertEquals(capturedInfo.getProperty(ITEM_VERSIONS_STATUSES.getName()), inputItem.getVersionStatusCounters()); assertEquals(item.getId(), itemId); @@ -186,8 +186,8 @@ public class ItemZusammenDaoImplTest { Info capturedInfo = capturedZusammenInfo.getValue(); assertEquals(capturedInfo.getName(), item.getName()); assertEquals(capturedInfo.getDescription(), item.getDescription()); - assertEquals(capturedInfo.getProperty(ITEM_TYPE), item.getType()); - assertEquals(capturedInfo.getProperty(ITEM_VERSIONS_STATUSES), + assertEquals(capturedInfo.getProperty(ITEM_TYPE.getName()), item.getType()); + assertEquals(capturedInfo.getProperty(ITEM_VERSIONS_STATUSES.getName()), item.getVersionStatusCounters()); } @@ -201,8 +201,8 @@ public class ItemZusammenDaoImplTest { Info info = new Info(); info.setName(name); info.setDescription(description); - info.addProperty(ITEM_TYPE, type); - info.addProperty(ITEM_VERSIONS_STATUSES, versionStatusCounters); + info.addProperty(ITEM_TYPE.getName(), type); + info.addProperty(ITEM_VERSIONS_STATUSES.getName(), versionStatusCounters); info.addProperty(APP_PROP_1, "app_prop1_value"); info.addProperty(APP_PROP_2, 8); item.setInfo(info); @@ -215,14 +215,14 @@ public class ItemZusammenDaoImplTest { assertEquals(item.getId(), zusammenItem.getId().getValue()); assertEquals(item.getName(), zusammenItem.getInfo().getName()); assertEquals(item.getDescription(), zusammenItem.getInfo().getDescription()); - assertEquals(item.getType(), zusammenItem.getInfo().getProperty(ITEM_TYPE)); + assertEquals(item.getType(), zusammenItem.getInfo().getProperty(ITEM_TYPE.getName())); assertEquals(item.getProperties().get(APP_PROP_1), zusammenItem.getInfo().getProperty(APP_PROP_1)); assertEquals(item.getProperties().get(APP_PROP_2), zusammenItem.getInfo().getProperty(APP_PROP_2)); Map<String, Number> zusammenStatusesMap = - zusammenItem.getInfo().getProperty(ITEM_VERSIONS_STATUSES); + zusammenItem.getInfo().getProperty(ITEM_VERSIONS_STATUSES.getName()); Map<VersionStatus, Integer> statusesMap = item.getVersionStatusCounters(); zusammenStatusesMap.entrySet() |