| // Copyright 2012 Citrix Systems, Inc. Licensed under the |
| // Apache License, Version 2.0 (the "License"); you may not use this |
| // file except in compliance with the License. Citrix Systems, Inc. |
| // reserves all rights not expressly granted by the License. |
| // You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| // |
| // Automatically generated by addcopyright.py at 04/03/2012 |
| package com.cloud.maint; |
| |
| public class Version { |
| /** |
| * Compares two version strings and see which one is higher version. |
| * @param ver1 |
| * @param ver2 |
| * @return positive if ver1 is higher. negative if ver1 is lower; zero if the same. |
| */ |
| public static int compare(String ver1, String ver2) { |
| String[] tokens1 = ver1.split("[.]"); |
| String[] tokens2 = ver2.split("[.]"); |
| // assert(tokens1.length <= tokens2.length); |
| |
| int compareLength = Math.min(tokens1.length, tokens2.length); |
| for (int i = 0; i < compareLength; i++) { |
| long version1 = Long.parseLong(tokens1[i]); |
| long version2 = Long.parseLong(tokens2[i]); |
| if (version1 != version2) { |
| return version1 < version2 ? -1 : 1; |
| } |
| } |
| |
| if (tokens1.length > tokens2.length) { |
| return 1; |
| } else if (tokens1.length < tokens2.length) { |
| return -1; |
| } |
| |
| return 0; |
| } |
| |
| public static String trimToPatch(String version) { |
| String[] tokens = version.split("[.]"); |
| return tokens[0] + "." + tokens[1]+ "." + tokens[2]; |
| } |
| |
| public static void main(String[] args) { |
| System.out.println("Result is " + compare(args[0], args[1])); |
| } |
| |
| } |