aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-model/src/main/java/org/openecomp/sdc/be/model/utils/GroupUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-model/src/main/java/org/openecomp/sdc/be/model/utils/GroupUtils.java')
-rw-r--r--catalog-model/src/main/java/org/openecomp/sdc/be/model/utils/GroupUtils.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/utils/GroupUtils.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/utils/GroupUtils.java
index 33fd869b9a..7b396cbdda 100644
--- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/utils/GroupUtils.java
+++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/utils/GroupUtils.java
@@ -20,11 +20,66 @@
package org.openecomp.sdc.be.model.utils;
+import org.openecomp.sdc.be.datatypes.enums.PromoteVersionEnum;
+import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaElementLifecycleOperation;
import org.openecomp.sdc.common.api.Constants;
+import org.springframework.util.StringUtils;
public class GroupUtils {
public static boolean isVfModule(String type) {
return type.equals(Constants.DEFAULT_GROUP_VF_MODULE);
}
+
+ /**
+ * The version of the group/poloces is an integer. In order to support BC, we might get a version in a float format.
+ *
+ * @param promoteVersion
+ * @return
+ */
+
+ public static String updateVersion(PromoteVersionEnum promoteVersion, String currentVesion) {
+ if(StringUtils.isEmpty(currentVesion)){
+ return "0.0";
+ }
+ String newVersion = currentVesion;
+ switch (promoteVersion){
+ case MINOR:
+ newVersion = GroupUtils.increaseMainorVersion(currentVesion);
+ break;
+ case MAJOR:
+ newVersion = GroupUtils.increaseMajorVersion(currentVesion);
+ break;
+ default:
+ break;
+ }
+ return newVersion;
+ }
+
+ private static String increaseMajorVersion(String version) {
+
+ String[] versionParts = version.split(ToscaElementLifecycleOperation.VERSION_DELIMITER_REGEXP);
+ Integer majorVersion = Integer.parseInt(versionParts[0]);
+
+
+ Integer mainorVersion = versionParts.length > 1?Integer.parseInt(versionParts[1]):0;
+
+ if(mainorVersion > 0 || majorVersion == 0){
+ majorVersion++;
+ }
+ return String.valueOf(majorVersion);
+
+ }
+
+ private static String increaseMainorVersion(String version) {
+
+ String[] versionParts = version.split(ToscaElementLifecycleOperation.VERSION_DELIMITER_REGEXP);
+
+ Integer mainorVersion = versionParts.length > 1?Integer.parseInt(versionParts[1]):0;
+
+ mainorVersion++;
+
+ return versionParts[0] + ToscaElementLifecycleOperation.VERSION_DELIMITER + String.valueOf(mainorVersion);
+
+ }
}