diff options
author | talig <talig@amdocs.com> | 2017-12-25 15:05:31 +0200 |
---|---|---|
committer | Vitaly Emporopulo <Vitaliy.Emporopulo@amdocs.com> | 2017-12-25 14:24:44 +0000 |
commit | 05c625fb9c3673d6c60511958f7e051257247c2b (patch) | |
tree | 28df153c7f9bdfd5b5682a6ff4cbeced23f30d3c /openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main | |
parent | 22f1220c2dda43e3dcbadd70180db521a7984d1d (diff) |
Refactor list revisions api
Remove zusammen-api dependency in versioning-api, enhance version zusammen dao impl UT.
Issue-ID: SDC-779
Change-Id: Ic792462eac52f1f5129f92ce80d3deb641c90916
Signed-off-by: talig <talig@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main')
-rw-r--r-- | openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/VersionZusammenDaoImpl.java | 33 |
1 files changed, 29 insertions, 4 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/VersionZusammenDaoImpl.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/VersionZusammenDaoImpl.java index 195973bf5c..32c17dbfce 100644 --- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/VersionZusammenDaoImpl.java +++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/main/java/org/openecomp/sdc/versioning/dao/impl/zusammen/VersionZusammenDaoImpl.java @@ -7,6 +7,7 @@ import com.amdocs.zusammen.datatypes.item.ItemVersion; import com.amdocs.zusammen.datatypes.item.ItemVersionData; import com.amdocs.zusammen.datatypes.item.ItemVersionStatus; import com.amdocs.zusammen.datatypes.item.SynchronizationStatus; +import com.amdocs.zusammen.datatypes.itemversion.ItemVersionRevisions; import org.openecomp.core.zusammen.api.ZusammenAdaptor; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCategory; @@ -18,6 +19,7 @@ import org.openecomp.sdc.versioning.dao.types.SynchronizationState; import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdc.versioning.dao.types.VersionState; +import java.util.ArrayList; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -110,18 +112,27 @@ public class VersionZusammenDaoImpl implements VersionDao { @Override public void revert(String itemId, Version version, String revisionId) { - zusammenAdaptor.revert(createSessionContext(), itemId, version.getId(), revisionId); + zusammenAdaptor.revert(createSessionContext(), new Id(itemId), new Id(version.getId()), + new Id(revisionId)); } @Override public List<Revision> listRevisions(String itemId, Version version) { - return zusammenAdaptor.listRevisions(createSessionContext(), itemId, version.getId()); + ItemVersionRevisions itemVersionRevisions = zusammenAdaptor + .listRevisions(createSessionContext(), new Id(itemId), new Id(version.getId())); + + return itemVersionRevisions == null || itemVersionRevisions.getItemVersionRevisions() == null || + itemVersionRevisions.getItemVersionRevisions().isEmpty() + ? new ArrayList<>() + : itemVersionRevisions.getItemVersionRevisions().stream() + .map(this::convertRevision) + .sorted(this::compareRevisionsTime) + .collect(Collectors.toList()); } private void updateVersionStatus(SessionContext context, Id itemId, Id versionId, VersionState versionState, ItemVersion itemVersion) { - if (versionState.getSynchronizationState() != SynchronizationState.UpToDate || - versionState.isDirty()) { + if (versionState.getSynchronizationState() != SynchronizationState.UpToDate) { String versionStatus = zusammenAdaptor.getPublicVersion(context, itemId, versionId) .getData().getInfo().getProperty(ZusammenProperty.STATUS); itemVersion.getData().getInfo().addProperty(ZusammenProperty.STATUS, versionStatus); @@ -162,4 +173,18 @@ public class VersionZusammenDaoImpl implements VersionDao { .withMessage("Version state is unknown").build()); } } + + private Revision convertRevision( + com.amdocs.zusammen.datatypes.itemversion.Revision zusammenRevision) { + Revision revision = new Revision(); + revision.setId(zusammenRevision.getRevisionId().getValue()); + revision.setTime(zusammenRevision.getTime()); + revision.setUser(zusammenRevision.getUser()); + revision.setMessage(zusammenRevision.getMessage()); + return revision; + } + + private int compareRevisionsTime(Revision revision1, Revision revision2) { + return revision1.getTime().before(revision2.getTime()) ? 1 : -1; + } } |