You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2009/09/23 16:01:44 UTC

svn commit: r818107 - in /commons/sandbox/runtime/trunk/src: ant/org/apache/commons/runtime/SystemIdTask.java main/java/org/apache/commons/runtime/SystemId.java

Author: mturk
Date: Wed Sep 23 14:01:44 2009
New Revision: 818107

URL: http://svn.apache.org/viewvc?rev=818107&view=rev
Log:
Add getDataModel to SystemId

Modified:
    commons/sandbox/runtime/trunk/src/ant/org/apache/commons/runtime/SystemIdTask.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/SystemId.java

Modified: commons/sandbox/runtime/trunk/src/ant/org/apache/commons/runtime/SystemIdTask.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/ant/org/apache/commons/runtime/SystemIdTask.java?rev=818107&r1=818106&r2=818107&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/ant/org/apache/commons/runtime/SystemIdTask.java (original)
+++ commons/sandbox/runtime/trunk/src/ant/org/apache/commons/runtime/SystemIdTask.java Wed Sep 23 14:01:44 2009
@@ -39,7 +39,8 @@
     /* Copy of the {@code SystemId.getSysname} method.
      * Make sure those methods are in sync!
      */
-    private static String getSysname() {
+    private static String getSysname()
+    {
         String name = props.getProperty("os.name");
         String platform = "unknown";
 
@@ -63,22 +64,41 @@
         return platform;
     }
 
-    /* Copy of the {@code SystemId.getProcessor} method.
+    /* Copy of the {@code SystemId.getDataModel} method.
      * Make sure those methods are in sync!
      */
-    private static String getProcessor()
+    private static String getDataModel()
     {
-        String cpu;
-        String name = props.getProperty("os.name");
-        String arch = props.getProperty("os.arch");
         String data = props.getProperty("sun.arch.data.model");
 
         if (data == null) {
             data = props.getProperty("com.ibm.vm.bitmode");
         }
         if (data == null) {
-            data = "32";
+            String arch = props.getProperty("os.arch");
+            if (arch.indexOf("64") < 0) {
+                /* TODO: Investigate other JVM's property for
+                 * figuring the data model (32 or 64)
+                 */
+                data = "32";
+            }
+            else {
+                data = "64";
+            }
         }
+        return data;
+    }
+
+    /* Copy of the {@code SystemId.getProcessor} method.
+     * Make sure those methods are in sync!
+     */
+    private static String getProcessor()
+    {
+        String cpu;
+        String name = props.getProperty("os.name");
+        String arch = props.getProperty("os.arch");
+        String data = getDataModel();
+
         if (arch.endsWith("86")) {
             cpu = "x86";
             if (name.startsWith("Mac OS")) {
@@ -86,12 +106,26 @@
                     cpu = "x86_64";
             }
         }
-        else if (arch.startsWith("PA_RISC"))
-            cpu = "parisc" + data;
+        else if (arch.startsWith("PA_RISC")) {
+            if (data.equals("64"))
+                cpu = "parisc64";
+            else
+                cpu = "parisc";
+        }
         else if (arch.startsWith("IA64"))
             cpu = "ia64";
-        else if (arch.startsWith("sparc"))
-            cpu = "sparc" + data;
+        else if (arch.startsWith("sparc")) {
+            if (data.equals("64"))
+                cpu = "sparc64";
+            else
+                cpu = "sparc";
+        }
+        else if (arch.startsWith("ppc")) {
+            if (data.equals("64"))
+                cpu = "ppc64";
+            else
+                cpu = "ppc";
+        }
         else if (arch.equals("amd64"))
             cpu = "x86_64";
         else
@@ -140,6 +174,7 @@
         getProject().setNewProperty(prefix + ".so",  getSoExtension());
         getProject().setNewProperty(prefix + ".cpu", getProcessor());
         getProject().setNewProperty(prefix + ".os",  getSysname());
+        getProject().setNewProperty(prefix + ".data.model", getDataModel());
     }
 
 }

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/SystemId.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/SystemId.java?rev=818107&r1=818106&r2=818107&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/SystemId.java (original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/SystemId.java Wed Sep 23 14:01:44 2009
@@ -47,7 +47,8 @@
      * @return {@code String} representing the operating system
      * this {@code JVM} is running on.
      */
-    public static String getSysname() {
+    public static String getSysname()
+    {
         String name = props.getProperty("os.name");
         String platform = "unknown";
 
@@ -72,23 +73,44 @@
     }
 
     /**
-     * Name of the operating system proccessor.
+     * Data model of the operating system proccessor.
      * @return {@code String} representing the processor
-     * this {@code JVM} is running on.
+     * data model {@code (32 or 64 bit)}.
      */
-    public static String getProcessor()
+    public static String getDataModel()
     {
-        String cpu;
-        String name = props.getProperty("os.name");
-        String arch = props.getProperty("os.arch");
         String data = props.getProperty("sun.arch.data.model");
 
         if (data == null) {
             data = props.getProperty("com.ibm.vm.bitmode");
         }
         if (data == null) {
-            data = "32";
+            String arch = props.getProperty("os.arch");
+            if (arch.indexOf("64") < 0) {
+                /* TODO: Investigate other JVM's property for
+                 * figuring the data model (32 or 64)
+                 */
+                data = "32";
+            }
+            else {
+                data = "64";
+            }
         }
+        return data;
+    }
+
+    /**
+     * Name of the operating system proccessor.
+     * @return {@code String} representing the processor
+     * this {@code JVM} is running on.
+     */
+    public static String getProcessor()
+    {
+        String cpu;
+        String name = props.getProperty("os.name");
+        String arch = props.getProperty("os.arch");
+        String data = getDataModel();
+
         if (arch.endsWith("86")) {
             cpu = "x86";
             if (name.startsWith("Mac OS")) {
@@ -96,12 +118,26 @@
                     cpu = "x86_64";
             }
         }
-        else if (arch.startsWith("PA_RISC"))
-            cpu = "parisc" + data;
+        else if (arch.startsWith("PA_RISC")) {
+            if (data.equals("64"))
+                cpu = "parisc64";
+            else
+                cpu = "parisc";
+        }
         else if (arch.startsWith("IA64"))
             cpu = "ia64";
-        else if (arch.startsWith("sparc"))
-            cpu = "sparc" + data;
+        else if (arch.startsWith("sparc")) {
+            if (data.equals("64"))
+                cpu = "sparc64";
+            else
+                cpu = "sparc";
+        }
+        else if (arch.startsWith("ppc")) {
+            if (data.equals("64"))
+                cpu = "ppc64";
+            else
+                cpu = "ppc";
+        }
         else if (arch.equals("amd64"))
             cpu = "x86_64";
         else
@@ -187,8 +223,6 @@
         else {
             ext = "so";
         }
-        /* TODO: Check if this matches the System.mapLibraryName()
-         */
         return ext;
     }