aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/main/java/org/openecomp/sdc/versioning/VersioningUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/main/java/org/openecomp/sdc/versioning/VersioningUtil.java')
-rw-r--r--openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/main/java/org/openecomp/sdc/versioning/VersioningUtil.java37
1 files changed, 29 insertions, 8 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/main/java/org/openecomp/sdc/versioning/VersioningUtil.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/main/java/org/openecomp/sdc/versioning/VersioningUtil.java
index d51f8c0a2b..c4479d7105 100644
--- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/main/java/org/openecomp/sdc/versioning/VersioningUtil.java
+++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/main/java/org/openecomp/sdc/versioning/VersioningUtil.java
@@ -23,6 +23,7 @@ package org.openecomp.sdc.versioning;
import org.openecomp.core.dao.BaseDao;
import org.openecomp.sdc.common.errors.CoreException;
import org.openecomp.sdc.versioning.dao.types.Version;
+import org.openecomp.sdc.versioning.dao.types.VersionStatus;
import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
import org.openecomp.sdc.versioning.errors.RequestedVersionInvalidErrorBuilder;
import org.openecomp.sdc.versioning.errors.VersionableSubEntityNotFoundErrorBuilder;
@@ -47,9 +48,13 @@ public class VersioningUtil {
* @param firstClassCitizenType the first class citizen type
*/
public static <T extends VersionableEntity> void validateEntityExistence(Object retrievedEntity,
- T inputEntity,
- String firstClassCitizenType) {
+ T inputEntity,
+ String firstClassCitizenType) {
if (retrievedEntity == null) {
+ //MdcDataErrorMessage.createErrorMessageAndUpdateMDC(LoggerServiceName
+ // .getServiceName(LoggerServiceName.Submit_Entity),
+ // LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.SUBMIT_ENTITY,
+ // ErrorLevel.ERROR.name(), null, LoggerErrorDescription.SUBMIT_ENTITY);
throw new CoreException(new VersionableSubEntityNotFoundErrorBuilder(
inputEntity.getEntityType(),
inputEntity.getId(),
@@ -84,6 +89,10 @@ public class VersioningUtil {
}
if (nonExistingIds.size() > 0) {
+ //MdcDataErrorMessage.createErrorMessageAndUpdateMDC
+ // (LoggerServiceName.getServiceName(LoggerServiceName.Submit_Entity),
+ // LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.SUBMIT_ENTITY,
+ // ErrorLevel.ERROR.name(), null, LoggerErrorDescription.SUBMIT_ENTITY);
if (nonExistingIds.size() == 1) {
throw new CoreException(new VersionableSubEntityNotFoundErrorBuilder(
entity.getEntityType(),
@@ -123,6 +132,10 @@ public class VersioningUtil {
if (nonExistingIds.size() > 0) {
if (nonExistingIds.size() == 1) {
+ //MdcDataErrorMessage.createErrorMessageAndUpdateMDC(LoggerServiceName
+ // .getServiceName(LoggerServiceName.Submit_Entity), LoggerConstants.TARGET_ENTITY_DB,
+ // LoggerTragetServiceName.ENTIT, ErrorLevel.ERROR.name(),
+ // null, LoggerErrorDescription.SUBMIT_ENTITY);
throw new CoreException(new VersionableSubEntityNotFoundErrorBuilder(
containedEntityType,
nonExistingIds.get(0),
@@ -130,6 +143,10 @@ public class VersioningUtil {
containingEntity.getId(),
containingEntity.getVersion()).build());
}
+ //MdcDataErrorMessage.createErrorMessageAndUpdateMDC(LoggerServiceName
+ // .getServiceName(LoggerServiceName.Submit_Entity),
+ // LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.SUBMIT_ENTITY,
+ // ErrorLevel.ERROR.name(), null, LoggerErrorDescription.SUBMIT_ENTITY);
throw new CoreException(new VersionableSubEntityNotFoundErrorBuilder(
containedEntityType,
nonExistingIds,
@@ -168,19 +185,23 @@ public class VersioningUtil {
}
/**
- * Resolve version version.
+ * Resolve version.
*
* @param requestedVersion the requested version
* @param versionInfo the version info
* @return the version
*/
- public static Version resolveVersion(Version requestedVersion, VersionInfo versionInfo) {
+ public static Version resolveVersion(Version requestedVersion, VersionInfo versionInfo,
+ String user) {
if (requestedVersion == null) {
requestedVersion = versionInfo.getActiveVersion();
- } else {
- if (!versionInfo.getViewableVersions().contains(requestedVersion)) {
- throw new CoreException(new RequestedVersionInvalidErrorBuilder().build());
- }
+ }
+ if (versionInfo.getActiveVersion().equals(requestedVersion)
+ && user.equals(versionInfo.getLockingUser())) {
+ requestedVersion.setStatus(VersionStatus.Locked);
+ }
+ if (!versionInfo.getViewableVersions().contains(requestedVersion)) {
+ throw new CoreException(new RequestedVersionInvalidErrorBuilder().build());
}
return requestedVersion;
}