aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-versioning-lib
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-versioning-lib')
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImpl.java52
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/test/java/org/openecomp/sdc/versioning/dao/impl/zusammen/ItemZusammenDaoImplTest.java30
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()