1 21 22 package org.apache.derbyTesting.functionTests.harness; 23 24 import java.util.StringTokenizer ; 25 26 30 public class JavaVersionHolder 31 { 32 33 private String majorVersion; 34 private String minorVersion; 35 private int major; 36 private int minor; 37 38 public JavaVersionHolder(String javaVersion) 39 throws java.lang.NumberFormatException 40 { 41 int i = javaVersion.indexOf('.'); 43 int j = javaVersion.indexOf('.', i+1); 44 majorVersion = javaVersion.substring(0, i); 45 try 46 { 47 Integer imajor = new Integer (majorVersion); 48 major = imajor.intValue(); 49 if (j != -1) 50 { 51 minorVersion = javaVersion.substring(i+1, j); 52 Integer iminor = new Integer (minorVersion); 53 minor = iminor.intValue(); 54 } 55 else 56 { 57 minorVersion = javaVersion.substring(i+1); 58 Integer iminor = new Integer (minorVersion); 59 minor = iminor.intValue(); 60 } 61 } 62 catch (NumberFormatException nfe) 63 { 64 if (javaVersion.startsWith("HP")) 67 { 68 StringTokenizer st = new StringTokenizer (javaVersion,"."); 70 String tmp = st.nextToken(); 71 majorVersion = st.nextToken(); 72 if (majorVersion.equals("01")) 73 majorVersion = "1"; 74 else if (majorVersion.equals("02")) 75 majorVersion = "2"; 76 minorVersion = st.nextToken(); 77 if (minorVersion.startsWith("1")) 78 minorVersion = "1"; 79 else if (minorVersion.startsWith("2")) 80 minorVersion = "2"; 81 try 84 { 85 Integer imajor = new Integer (majorVersion); 86 major = imajor.intValue(); 87 Integer iminor = new Integer (minorVersion); 88 minor = iminor.intValue(); 89 } 90 catch (NumberFormatException nfe2) 91 { 92 System.out.println("Could not parse version: " + nfe2); 93 } 96 } 97 else 98 { 99 System.out.println("NumberFormatException thrown trying to parse the version. " + javaVersion); 100 System.out.println("The test harness only handles the HP special case."); 101 } 102 103 } 104 } 105 106 public String getMajorVersion() 107 { 108 return majorVersion; 109 } 110 111 public String getMinorVersion() 112 { 113 return minorVersion; 114 } 115 116 public int getMajorNumber() 117 { 118 return major; 119 } 120 121 public int getMinorNumber() 122 { 123 return minor; 124 } 125 126 131 public boolean atLeast( int baseMajor, int baseMinor ) 132 { 133 if ( major < baseMajor ) { return false; } 134 if ( major > baseMajor ) { return true; } 135 136 138 return ( minor >= baseMinor ); 139 } 140 141 } 142 | Popular Tags |