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/04/25 15:05:55 UTC

svn commit: r768523 - in /commons/sandbox/runtime/trunk/src/main: java/org/apache/commons/runtime/ native/os/darwin/ native/os/hpux/ native/os/linux/ native/os/solaris/ native/os/win32/

Author: mturk
Date: Sat Apr 25 13:05:55 2009
New Revision: 768523

URL: http://svn.apache.org/viewvc?rev=768523&view=rev
Log:
Add supported method

Modified:
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Native.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Platform.java
    commons/sandbox/runtime/trunk/src/main/native/os/darwin/platform.c
    commons/sandbox/runtime/trunk/src/main/native/os/hpux/platform.c
    commons/sandbox/runtime/trunk/src/main/native/os/linux/platform.c
    commons/sandbox/runtime/trunk/src/main/native/os/solaris/platform.c
    commons/sandbox/runtime/trunk/src/main/native/os/win32/platform.c

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Native.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Native.java?rev=768523&r1=768522&r2=768523&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Native.java (original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Native.java Sat Apr 25 13:05:55 2009
@@ -16,6 +16,8 @@
 
 package org.apache.commons.runtime;
 
+import org.apache.commons.runtime.exception.*;
+
 /**
  * Native library management.
  *
@@ -48,6 +50,12 @@
         throws Throwable
     {
         if (!initialized) {
+            if (!Platform.supported()) {
+                throw new UnsupportedOperatingSystemException(
+                    "Apache Commons Runtime does not support this " +
+                    "operating system"
+                );
+            }
             initialized = init0();
         }
         return initialized;

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Platform.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Platform.java?rev=768523&r1=768522&r2=768523&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Platform.java (original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Platform.java Sat Apr 25 13:05:55 2009
@@ -30,6 +30,13 @@
         // No class instance
     }
 
+    /**
+     * Check the platform validity.
+     * The caller should throw the {@code UnsupportedOperatingSystemException}
+     * if this call returns {@code false}.
+     */
+    public static native boolean supported();
+
     /*
      * Get Platform integer property value.
      */

Modified: commons/sandbox/runtime/trunk/src/main/native/os/darwin/platform.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/darwin/platform.c?rev=768523&r1=768522&r2=768523&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/darwin/platform.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/darwin/platform.c Sat Apr 25 13:05:55 2009
@@ -44,3 +44,12 @@
 
     (*_E)->SetIntArrayRegion(_E, p, 0, 16, &ia[0]);
 }
+
+ACR_JNI_EXPORT_DECLARE(jboolean, Platform, supported)(ACR_JNISTDARGS)
+{
+    UNREFERENCED_STDARGS;
+
+    /* TODO: Find a minimum kernel version supported.
+     */
+    return JNI_TRUE;
+}

Modified: commons/sandbox/runtime/trunk/src/main/native/os/hpux/platform.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/hpux/platform.c?rev=768523&r1=768522&r2=768523&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/hpux/platform.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/hpux/platform.c Sat Apr 25 13:05:55 2009
@@ -44,3 +44,12 @@
 
     (*_E)->SetIntArrayRegion(_E, p, 0, 16, &ia[0]);
 }
+
+ACR_JNI_EXPORT_DECLARE(jboolean, Platform, supported)(ACR_JNISTDARGS)
+{
+    UNREFERENCED_STDARGS;
+
+    /* TODO: Find a minimum kernel version supported.
+     */
+    return JNI_TRUE;
+}

Modified: commons/sandbox/runtime/trunk/src/main/native/os/linux/platform.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/linux/platform.c?rev=768523&r1=768522&r2=768523&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/linux/platform.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/linux/platform.c Sat Apr 25 13:05:55 2009
@@ -44,3 +44,12 @@
 
     (*_E)->SetIntArrayRegion(_E, p, 0, 16, &ia[0]);
 }
+
+ACR_JNI_EXPORT_DECLARE(jboolean, Platform, supported)(ACR_JNISTDARGS)
+{
+    UNREFERENCED_STDARGS;
+
+    /* TODO: Find a minimum kernel version supported.
+     */
+    return JNI_TRUE;
+}

Modified: commons/sandbox/runtime/trunk/src/main/native/os/solaris/platform.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/solaris/platform.c?rev=768523&r1=768522&r2=768523&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/solaris/platform.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/solaris/platform.c Sat Apr 25 13:05:55 2009
@@ -44,3 +44,12 @@
 
     (*_E)->SetIntArrayRegion(_E, p, 0, 16, &ia[0]);
 }
+
+ACR_JNI_EXPORT_DECLARE(jboolean, Platform, supported)(ACR_JNISTDARGS)
+{
+    UNREFERENCED_STDARGS;
+
+    /* TODO: Find a minimum kernel version supported.
+     */
+    return JNI_TRUE;
+}

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/platform.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/platform.c?rev=768523&r1=768522&r2=768523&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/platform.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/platform.c Sat Apr 25 13:05:55 2009
@@ -42,5 +42,17 @@
     ia[6]  =   248;
     ia[7]  =   32760;
 
-    (*_E)->SetIntArrayRegion(_E, p, 0, 16, &ia[0]);
+    (*_E)->SetIntArrayRegion(_E, p, 0, 8, &ia[0]);
+}
+
+ACR_JNI_EXPORT_DECLARE(jboolean, Platform, supported)(ACR_JNISTDARGS)
+{
+    UNREFERENCED_STDARGS;
+    if (acr_osver->dwMajorVersion < 5)
+        return JNI_FALSE;
+    if (acr_osver->dwMajorVersion == 5 &&
+        acr_osver->dwMinorVersion < 1)
+        return JNI_FALSE;
+
+    return JNI_TRUE;
 }