Description: Refactoring for jnr-posix and jnr-constants
Author: tony mancill <tmancill@debian.org>

--- a/src/org/python/core/PySystemState.java
+++ b/src/org/python/core/PySystemState.java
@@ -27,7 +27,7 @@
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
 
-import org.jruby.ext.posix.util.Platform;
+import jnr.posix.util.Platform;
 import org.python.Version;
 import org.python.core.adapter.ClassicPyObjectAdapter;
 import org.python.core.adapter.ExtensiblePyObjectAdapter;
--- a/src/org/python/core/Py.java
+++ b/src/org/python/core/Py.java
@@ -21,8 +21,8 @@
 import java.util.Set;
 
 import org.python.antlr.base.mod;
-import com.kenai.constantine.Constant;
-import com.kenai.constantine.platform.Errno;
+import jnr.constants.Constant;
+import jnr.constants.platform.Errno;
 import java.util.ArrayList;
 import java.util.List;
 import org.python.core.adapter.ClassicPyObjectAdapter;
@@ -109,13 +109,13 @@
     }
 
     public static PyException OSError(Constant errno) {
-        int value = errno.value();
+        int value = errno.intValue();
         PyObject args = new PyTuple(Py.newInteger(value), PosixModule.strerror(value));
         return new PyException(Py.OSError, args);
     }
 
     public static PyException OSError(Constant errno, PyObject filename) {
-        int value = errno.value();
+        int value = errno.intValue();
         // Pass to strerror because constantine currently lacks Errno descriptions on
         // Windows, and strerror falls back to Linux's
         PyObject args = new PyTuple(Py.newInteger(value), PosixModule.strerror(value), filename);
@@ -183,13 +183,13 @@
     }
 
     public static PyException IOError(Constant errno) {
-        int value = errno.value();
+        int value = errno.intValue();
         PyObject args = new PyTuple(Py.newInteger(value), PosixModule.strerror(value));
         return new PyException(Py.IOError, args);
     }
 
     public static PyException IOError(Constant errno, PyObject filename) {
-        int value = errno.value();
+        int value = errno.intValue();
         PyObject args = new PyTuple(Py.newInteger(value), PosixModule.strerror(value), filename);
         return new PyException(Py.IOError, args);
     }
@@ -208,7 +208,7 @@
             message = ioe.getClass().getName();
         }
         if (ioe instanceof FileNotFoundException) {
-            PyTuple args = new PyTuple(Py.newInteger(Errno.ENOENT.value()),
+            PyTuple args = new PyTuple(Py.newInteger(Errno.ENOENT.intValue()),
                                        Py.newString("File not found - " + message));
             return new PyException(err, args);
         }
--- a/src/org/python/core/io/FileIO.java
+++ b/src/org/python/core/io/FileIO.java
@@ -12,8 +12,8 @@
 import java.nio.channels.Channels;
 import java.nio.channels.FileChannel;
 
-import com.kenai.constantine.platform.Errno;
-import org.jruby.ext.posix.util.Platform;
+import jnr.constants.platform.Errno;
+import jnr.posix.util.Platform;
 import org.python.core.Py;
 import org.python.core.PyString;
 import org.python.core.util.RelativeFile;
--- a/src/org/python/core/io/ServerSocketIO.java
+++ b/src/org/python/core/io/ServerSocketIO.java
@@ -4,7 +4,7 @@
 import java.nio.ByteBuffer;
 import java.nio.channels.ServerSocketChannel;
 
-import com.kenai.constantine.platform.Errno;
+import jnr.constants.platform.Errno;
 import org.python.core.Py;
 
 /**
--- a/src/org/python/core/util/PlatformUtil.java
+++ b/src/org/python/core/util/PlatformUtil.java
@@ -1,7 +1,7 @@
 /* Copyright (c) 2009 Jython project */
 package org.python.core.util;
 
-import org.jruby.ext.posix.util.Platform;
+import jnr.posix.util.Platform;
 
 /**
  * Methods for testing the platform/operating system that we are on.
--- a/src/org/python/modules/_py_compile.java
+++ b/src/org/python/modules/_py_compile.java
@@ -3,7 +3,7 @@
 
 import java.io.File;
 
-import com.kenai.constantine.platform.Errno;
+import jnr.constants.platform.Errno;
 import org.python.core.Py;
 import org.python.core.PyList;
 import org.python.core.PyString;
--- a/src/org/python/core/io/IOBase.java
+++ b/src/org/python/core/io/IOBase.java
@@ -1,7 +1,7 @@
 /* Copyright (c) 2007 Jython Developers */
 package org.python.core.io;
 
-import com.kenai.constantine.platform.Errno;
+import jnr.constants.platform.Errno;
 import java.io.InputStream;
 import java.io.OutputStream;
 
--- a/src/org/python/modules/errno.java
+++ b/src/org/python/modules/errno.java
@@ -1,10 +1,10 @@
 /* Copyright (c) Jython Developers */
 package org.python.modules;
 
-import com.kenai.constantine.Constant;
-import com.kenai.constantine.ConstantSet;
-import com.kenai.constantine.platform.Errno;
-import org.jruby.ext.posix.util.Platform;
+import jnr.constants.Constant;
+import jnr.constants.ConstantSet;
+import jnr.constants.platform.Errno;
+import jnr.posix.util.Platform;
 import org.python.core.ClassDictInit;
 import org.python.core.Py;
 import org.python.core.PyDictionary;
@@ -16,7 +16,7 @@
  * The Python errno module.
  *
  * Errno constants can be accessed from Java code via
- * {@link com.kenai.constantine.platform.Errno}, e.g. Errno.ENOENT.
+ * {@link jnr.constants.platform.Errno}, e.g. Errno.ENOENT.
  */
 public class errno implements ClassDictInit {
 
@@ -69,20 +69,20 @@
             String errnoName = errno.name();
             if ((constant = winErrnos.getConstant(errnoName)) != null
                 || (constant = lastErrors.getConstant("WSA" + errnoName)) != null) {
-                addCode(dict, errnoName, constant.value(), constant.toString());
+                addCode(dict, errnoName, constant.intValue(), constant.toString());
             }
         }
         // Then provide the WSA names
         for (Constant lastError : lastErrors) {
             if (lastError.name().startsWith("WSA")) {
-                addCode(dict, lastError.name(), lastError.value(), lastError.toString());
+                addCode(dict, lastError.name(), lastError.intValue(), lastError.toString());
             }
         }
     }
 
     private static void initPosix(PyObject dict) {
         for (Constant constant : ConstantSet.getConstantSet("Errno")) {
-            addCode(dict, constant.name(), constant.value(), constant.toString());
+            addCode(dict, constant.name(), constant.intValue(), constant.toString());
         }
     }
 
--- a/src/org/python/modules/posix/PosixModule.java
+++ b/src/org/python/modules/posix/PosixModule.java
@@ -1,8 +1,8 @@
 /* Copyright (c) Jython Developers */
 package org.python.modules.posix;
 
-import com.kenai.constantine.Constant;
-import com.kenai.constantine.platform.Errno;
+import jnr.constants.Constant;
+import jnr.constants.platform.Errno;
 
 import java.io.File;
 import java.io.FileDescriptor;
@@ -17,10 +17,10 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import org.jruby.ext.posix.FileStat;
-import org.jruby.ext.posix.POSIX;
-import org.jruby.ext.posix.POSIXFactory;
-import org.jruby.ext.posix.util.Platform;
+import jnr.posix.FileStat;
+import jnr.posix.POSIX;
+import jnr.posix.POSIXFactory;
+import jnr.posix.util.Platform;
 
 import org.python.core.ClassDictInit;
 import org.python.core.Py;
@@ -688,8 +688,8 @@
         }
         if (errno.name() == errno.toString()) {
             // Fake constant or just lacks a description, fallback to Linux's
-            // XXX: have constantine handle this fallback
-            errno = Enum.valueOf(com.kenai.constantine.platform.linux.Errno.class,
+            // XXX: have jnr.constants handle this fallback
+            errno = Enum.valueOf(jnr.constants.platform.linux.Errno.class,
                                  errno.name());
         }
         return new PyString(errno.toString());
--- a/src/org/python/modules/posix/PythonPOSIXHandler.java
+++ b/src/org/python/modules/posix/PythonPOSIXHandler.java
@@ -1,14 +1,14 @@
 /* Copyright (c) Jython Developers */
 package org.python.modules.posix;
 
-import com.kenai.constantine.platform.Errno;
+import jnr.constants.platform.Errno;
 
 import java.io.File;
 import java.io.InputStream;
 import java.io.PrintStream;
 
-import org.jruby.ext.posix.POSIX;
-import org.jruby.ext.posix.POSIXHandler;
+import jnr.posix.POSIX;
+import jnr.posix.POSIXHandler;
 
 import org.python.core.imp;
 import org.python.core.Options;
@@ -24,6 +24,12 @@
         // XXX: extraData (filename) could have been unicode!
         // http://bugs.jython.org/issue1825
         throw Py.OSError(error, Py.newString(extraData));
+    }
+
+    public void error(Errno error, String methodName, String extraData) {
+        // XXX: extraData (filename) could have been unicode!
+        // http://bugs.jython.org/issue1825
+        throw Py.OSError(error, Py.newString(extraData));
     }
 
     public void unimplementedError(String methodName) {
--- a/src/org/python/util/JLineConsole.java
+++ b/src/org/python/util/JLineConsole.java
@@ -13,7 +13,7 @@
 import java.util.Arrays;
 import java.util.List;
 
-import com.kenai.constantine.platform.Errno;
+import jnr.constants.platform.Errno;
 
 import jline.ConsoleReader;
 import jline.Terminal;
--- a/src/org/python/modules/posix/PyStatResult.java
+++ b/src/org/python/modules/posix/PyStatResult.java
@@ -1,7 +1,7 @@
 /* Copyright (c) Jython Developers */
 package org.python.modules.posix;
 
-import org.jruby.ext.posix.FileStat;
+import jnr.posix.FileStat;
 
 import org.python.core.ArgParser;
 import org.python.core.Py;
--- a/tests/java/org/python/core/PySystemStateTest.java
+++ b/tests/java/org/python/core/PySystemStateTest.java
@@ -7,7 +7,7 @@
 
 import junit.framework.TestCase;
 
-import org.jruby.ext.posix.util.Platform;
+import jnr.posix.util.Platform;
 
 public class PySystemStateTest extends TestCase {
 
