diff options
author | ayalaben <ayala.benzvi@amdocs.com> | 2018-03-15 15:59:25 +0200 |
---|---|---|
committer | ayalaben <ayala.benzvi@amdocs.com> | 2018-03-19 10:45:48 +0200 |
commit | 705fc2b672d5802696074be94b446a89d228b94d (patch) | |
tree | 135b0d30b36eaf0180314d68531186648ac29882 /openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main | |
parent | 3c24190cca30ee77c8c81d1738d7d5cbf454d647 (diff) |
Archive Item
Change-Id: Idd5eedc3b0ca9e3cc72f7de9fd432cdbbf77631d
Issue-ID: SDC-1086
Signed-off-by: ayalaben <ayala.benzvi@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main')
2 files changed, 40 insertions, 5 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 5a212afc8e..665bf06b91 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 @@ -7,6 +7,7 @@ import org.openecomp.core.zusammen.api.ZusammenUtil; import org.openecomp.sdc.versioning.dao.ItemDao; import org.openecomp.sdc.versioning.dao.types.VersionStatus; import org.openecomp.sdc.versioning.types.Item; +import org.openecomp.sdc.versioning.types.ItemStatus; import java.util.Collection; import java.util.Map; @@ -67,6 +68,12 @@ public class ItemZusammenDaoImpl implements ItemDao { item.setCreationTime(zusammenItem.getCreationTime()); item.setModificationTime(zusammenItem.getModificationTime()); + + if(item.getStatus() == null){ + item.setStatus(ItemStatus.ACTIVE); + update(item); + } + return item; } @@ -78,6 +85,9 @@ public class ItemZusammenDaoImpl implements ItemDao { case InfoPropertyName.ITEM_OWNER: item.setOwner((String) propertyValue); break; + case InfoPropertyName.ITEM_STATUS: + item.setStatus(ItemStatus.valueOf((String)propertyValue)); + break; case InfoPropertyName.ITEM_VERSIONS_STATUSES: for (Map.Entry<String, Number> statusCounter : ((Map<String, Number>) propertyValue).entrySet()) { @@ -96,6 +106,9 @@ public class ItemZusammenDaoImpl implements ItemDao { info.setDescription(item.getDescription()); info.addProperty(InfoPropertyName.ITEM_TYPE, item.getType()); info.addProperty(InfoPropertyName.ITEM_OWNER,item.getOwner()); + if (item.getStatus() != null) { + info.addProperty(InfoPropertyName.ITEM_STATUS, item.getStatus()); + } info.addProperty(InfoPropertyName.ITEM_VERSIONS_STATUSES, item.getVersionStatusCounters()); item.getProperties().entrySet() .forEach(property -> info.addProperty(property.getKey(), property.getValue())); @@ -106,6 +119,7 @@ public class ItemZusammenDaoImpl implements ItemDao { 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 InfoPropertyName() { throw new IllegalStateException("Constants class"); diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/impl/ItemManagerImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/impl/ItemManagerImpl.java index dadf456ad4..3b7b018678 100644 --- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/impl/ItemManagerImpl.java +++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/impl/ItemManagerImpl.java @@ -19,10 +19,14 @@ package org.openecomp.sdc.versioning.impl; import java.util.Collection; import java.util.function.Predicate; import java.util.stream.Collectors; +import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.common.errors.ErrorCategory; +import org.openecomp.sdc.common.errors.ErrorCode; import org.openecomp.sdc.versioning.ItemManager; import org.openecomp.sdc.versioning.dao.ItemDao; import org.openecomp.sdc.versioning.dao.types.VersionStatus; import org.openecomp.sdc.versioning.types.Item; +import org.openecomp.sdc.versioning.types.ItemStatus; public class ItemManagerImpl implements ItemManager { @@ -72,17 +76,34 @@ public class ItemManagerImpl implements ItemManager { } @Override - public void updateName(String itemId, String name) { - Item item = get(itemId); - if (item == null) { - return; + public void archive(Item item) { + + if (item.getStatus() == ItemStatus.ARCHIVED) { + throw new CoreException(new ErrorCode.ErrorCodeBuilder() + .withCategory(ErrorCategory.APPLICATION) + .withMessage(String.format("Archive item failed, item %s is already Archived", item.getId())) + .build()); } - item.setName(name); + item.setStatus(ItemStatus.ARCHIVED); itemDao.update(item); } @Override + public void restore(Item item) { + + if (item.getStatus() == ItemStatus.ACTIVE) { + throw new CoreException(new ErrorCode.ErrorCodeBuilder() + .withCategory(ErrorCategory.APPLICATION) + .withMessage(String.format("Restore item failed, item %s is already Active", item.getId())) + .build()); + } + + item.setStatus(ItemStatus.ACTIVE); + itemDao.update(item); + } + + @Override public void update(Item item) { itemDao.update(item); } |