You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mp...@apache.org on 2006/07/24 00:01:47 UTC

svn commit: r424834 - /incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAVersion.java

Author: mprudhom
Date: Sun Jul 23 15:01:46 2006
New Revision: 424834

URL: http://svn.apache.org/viewvc?rev=424834&view=rev
Log:
Cleaned up version parsing and made it more robust

Modified:
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAVersion.java

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAVersion.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAVersion.java?rev=424834&r1=424833&r2=424834&view=diff
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAVersion.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAVersion.java Sun Jul 23 15:01:46 2006
@@ -28,14 +28,12 @@
  */
 public class OpenJPAVersion {
 
-    public static final String VERSION_NUMBER = OpenJPAVersion.class
-        .getPackage().getImplementationVersion() == null ? "0.0.0" :
-        OpenJPAVersion.class.getPackage().getImplementationVersion();
+    public static final String VERSION_NUMBER;
     private static final long RELEASE_SECONDS = 1147454303;
 
     public static final Date RELEASE_DATE = new Date(RELEASE_SECONDS * 1000);
 
-    public static final String VERSION_ID = VERSION_NUMBER;
+    public static final String VERSION_ID;
     public static final String VENDOR_NAME = "OpenJPA";
     public static final int MAJOR_RELEASE;
     public static final int MINOR_RELEASE;
@@ -43,17 +41,40 @@
     public static final String RELEASE_STATUS;
 
     static {
+        Package pack = OpenJPAVersion.class.getPackage();
+        String vers = pack == null ? null : pack.getImplementationVersion();
+        if (vers == null || vers.length() == 0)
+            vers = "0.0.0";
 
-        java.util.StringTokenizer tok =
-            new java.util.StringTokenizer(VERSION_NUMBER,
-                ".ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
-        MAJOR_RELEASE =
-            tok.hasMoreTokens() ? Integer.parseInt(tok.nextToken()) : 0;
-        MINOR_RELEASE =
-            tok.hasMoreTokens() ? Integer.parseInt(tok.nextToken()) : 0;
-        PATCH_RELEASE =
-            tok.hasMoreTokens() ? Integer.parseInt(tok.nextToken()) : 0;
-        RELEASE_STATUS = tok.hasMoreTokens() ? tok.nextToken(".") : "";
+        VERSION_NUMBER = vers;
+        VERSION_ID = VERSION_NUMBER;
+
+        StringTokenizer tok = new StringTokenizer(VERSION_NUMBER, ".-");
+
+        int major, minor, patch;
+
+        try {
+            major = tok.hasMoreTokens() ? Integer.parseInt(tok.nextToken()) : 0;
+        } catch (Exception e) {
+            major = 0;
+        }
+
+        try {
+            minor = tok.hasMoreTokens() ? Integer.parseInt(tok.nextToken()) : 0;
+        } catch (Exception e) {
+            minor = 0;
+        }
+
+        try {
+            patch = tok.hasMoreTokens() ? Integer.parseInt(tok.nextToken()) : 0;
+        } catch (Exception e) {
+            patch = 0;
+        }
+
+        MAJOR_RELEASE = major;
+        MINOR_RELEASE = minor;
+        PATCH_RELEASE = patch;
+        RELEASE_STATUS = tok.hasMoreTokens() ? tok.nextToken("!") : "";
     }
 
     public static void main(String [] args) {