diff options
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.java | 55 |
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); + + } } |