diff options
Diffstat (limited to 'mso-catalog-db/src/main/java/org/onap/so/db/catalog/utils/MavenLikeVersioning.java')
-rw-r--r-- | mso-catalog-db/src/main/java/org/onap/so/db/catalog/utils/MavenLikeVersioning.java | 162 |
1 files changed, 82 insertions, 80 deletions
diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/utils/MavenLikeVersioning.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/utils/MavenLikeVersioning.java index 6951c4412d..a7610fec92 100644 --- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/utils/MavenLikeVersioning.java +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/utils/MavenLikeVersioning.java @@ -24,89 +24,91 @@ package org.onap.so.db.catalog.utils; import java.io.Serializable; /** - * This class is the base class for object that requires a Version in Catalog DB. - * The version is built on a string as ASDC provides a number like 1.2 or 2.0 ... - * This class supports also 1.2.3.4... (Maven like version) + * This class is the base class for object that requires a Version in Catalog DB. The version is built on a string as + * ASDC provides a number like 1.2 or 2.0 ... This class supports also 1.2.3.4... (Maven like version) * * */ public class MavenLikeVersioning implements Serializable { - protected String version; - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - /** - * This method is used to compare the current object version to a specified one - * It is assumed that the version is like the maven one, eg: 2.0.1.5.6 - * - * @param versionToCompare The version that will be used for comparison - * @return True if the current object is more recent than the specified version, False otherwise - * - */ - public boolean isMoreRecentThan (String versionToCompare) { - if (versionToCompare == null || versionToCompare.trim().isEmpty() || this.version == null || this.version.trim().isEmpty()) { - return false; - } - String[] currentVersionArray = this.version.split("\\."); - String[] specifiedVersionArray = versionToCompare.split("\\."); - - int smalestStringLength = Math.min(currentVersionArray.length, specifiedVersionArray.length); - - for (int currentVersionIndex = 0; currentVersionIndex < smalestStringLength; ++currentVersionIndex) { - - if (Integer.parseInt(currentVersionArray[currentVersionIndex]) < Integer - .parseInt(specifiedVersionArray[currentVersionIndex])) { - return false; - } else if (Integer.parseInt(currentVersionArray[currentVersionIndex]) > Integer - .parseInt(specifiedVersionArray[currentVersionIndex])) { - return true; - } - } - try { - // Even if versionToCompare has more digits, it means versionToCompare is more recent - return Integer.parseInt(currentVersionArray[smalestStringLength - 1]) != Integer - .parseInt(specifiedVersionArray[smalestStringLength - 1]) - || currentVersionArray.length > specifiedVersionArray.length; - } catch (NumberFormatException e) { - return false; - } - } - - /** - * This method is used to compare the current object version to a specified one - * It is assumed that the version is like the maven one, eg: 2.0.1.5.6 - * - * @param versionToCompare The version that will be used for comparison - * @return True if the current object is equal to the specified version, False otherwise - * - */ - public boolean isTheSameVersion (String versionToCompare) { - if (versionToCompare == null && this.version == null) { - return true; - } else if (versionToCompare == null || versionToCompare.trim().equals("") || this.version == null || this.version.trim().equals("")) { - return false; - } - String [] currentVersionArray = this.version.split("\\."); - String [] specifiedVersionArray = versionToCompare.split("\\."); - - if (currentVersionArray.length != specifiedVersionArray.length) { - return false; - } - - for (int currentVersionIndex=0;currentVersionIndex < currentVersionArray.length;++currentVersionIndex) { - - if (Integer.parseInt(currentVersionArray[currentVersionIndex]) != Integer.parseInt(specifiedVersionArray[currentVersionIndex])) { - return false; - } - } - - return true; - } + protected String version; + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + /** + * This method is used to compare the current object version to a specified one It is assumed that the version is + * like the maven one, eg: 2.0.1.5.6 + * + * @param versionToCompare The version that will be used for comparison + * @return True if the current object is more recent than the specified version, False otherwise + * + */ + public boolean isMoreRecentThan(String versionToCompare) { + if (versionToCompare == null || versionToCompare.trim().isEmpty() || this.version == null + || this.version.trim().isEmpty()) { + return false; + } + String[] currentVersionArray = this.version.split("\\."); + String[] specifiedVersionArray = versionToCompare.split("\\."); + + int smalestStringLength = Math.min(currentVersionArray.length, specifiedVersionArray.length); + + for (int currentVersionIndex = 0; currentVersionIndex < smalestStringLength; ++currentVersionIndex) { + + if (Integer.parseInt(currentVersionArray[currentVersionIndex]) < Integer + .parseInt(specifiedVersionArray[currentVersionIndex])) { + return false; + } else if (Integer.parseInt(currentVersionArray[currentVersionIndex]) > Integer + .parseInt(specifiedVersionArray[currentVersionIndex])) { + return true; + } + } + try { + // Even if versionToCompare has more digits, it means versionToCompare is more recent + return Integer.parseInt(currentVersionArray[smalestStringLength - 1]) != Integer + .parseInt(specifiedVersionArray[smalestStringLength - 1]) + || currentVersionArray.length > specifiedVersionArray.length; + } catch (NumberFormatException e) { + return false; + } + } + + /** + * This method is used to compare the current object version to a specified one It is assumed that the version is + * like the maven one, eg: 2.0.1.5.6 + * + * @param versionToCompare The version that will be used for comparison + * @return True if the current object is equal to the specified version, False otherwise + * + */ + public boolean isTheSameVersion(String versionToCompare) { + if (versionToCompare == null && this.version == null) { + return true; + } else if (versionToCompare == null || versionToCompare.trim().equals("") || this.version == null + || this.version.trim().equals("")) { + return false; + } + String[] currentVersionArray = this.version.split("\\."); + String[] specifiedVersionArray = versionToCompare.split("\\."); + + if (currentVersionArray.length != specifiedVersionArray.length) { + return false; + } + + for (int currentVersionIndex = 0; currentVersionIndex < currentVersionArray.length; ++currentVersionIndex) { + + if (Integer.parseInt(currentVersionArray[currentVersionIndex]) != Integer + .parseInt(specifiedVersionArray[currentVersionIndex])) { + return false; + } + } + + return true; + } } |