Exemplo n.º 1
0
def addJarToClassPath(pathToJar):
    jarURL = File(pathToJar).toURL()
    systemClassLoader = javaClassLoader.getSystemClassLoader()
    parametersArray = jarray.array([javaURL], javaClass)
    method = URLClassLoader.getDeclaredMethod('addURL', parametersArray)
    method.setAccessible(1)
    invokeParameters = jarray.array([jarURL], javaObject)
    method.invoke(systemClassLoader, invokeParameters)
Exemplo n.º 2
0
def importJar(jarFile):
    if not os.path.exists(jarFile):
        raise IOError("Can't import " + jarFile)
    from java.net import URL, URLClassLoader
    from java.lang import ClassLoader
    from java.io import File
    m = URLClassLoader.getDeclaredMethod("addURL", [URL])
    m.accessible = 1
    m.invoke(ClassLoader.getSystemClassLoader(), [File(jarFile).toURL()])
Exemplo n.º 3
0
 def test_assignable_varargs(self):
     "array.array objects can be used in the varargs position"
     # modified from test case in http://bugs.jython.org/issue2423;
     from java.lang import Class
     from java.net import URL, URLClassLoader
     params = jarray.array([URL], Class)
     # URLClassLoader.addURL is protected, so workaround via reflection
     method = URLClassLoader.getDeclaredMethod('addURL', params)
     # and verify we got the right method after all
     self.assertEqual(method.name, "addURL")
Exemplo n.º 4
0
    def test_assignable_varargs(self):
        "array.array objects can be used in the varargs position"
        # modified from test case in http://bugs.jython.org/issue2423;
        from java.lang import Class
        from java.net import URL, URLClassLoader

        params = jarray.array([URL], Class)
        # URLClassLoader.addURL is protected, so workaround via reflection
        method = URLClassLoader.getDeclaredMethod("addURL", params)
        # and verify we got the right method after all
        self.assertEqual(method.name, "addURL")
Exemplo n.º 5
0
def import_jar(jarfile):
    from java.net import URL, URLClassLoader
    from java.lang import ClassLoader
    from java.io import File

    if __debug__:
        print 'importing {0}'.format(jarvile)

    method = URLClassLoader.getDeclaredMethod("addURL", [URL])
    method.accessible = 1
    method.invoke(ClassLoader.getSystemClassLoader(), [File(jarFile).toURL()])
Exemplo n.º 6
0
def _jython_set_classpath(jars):
    '''
    import a jar at runtime (needed for JDBC [Class.forName])

    adapted by Bastian Bowe from
    http://stackoverflow.com/questions/3015059/jython-classpath-sys-path-and-jdbc-drivers
    '''
    from java.net import URL, URLClassLoader
    from java.lang import ClassLoader
    from java.io import File
    m = URLClassLoader.getDeclaredMethod("addURL", [URL])
    m.accessible = 1
    urls = [File(i).toURL() for i in jars]
    m.invoke(ClassLoader.getSystemClassLoader(), urls)
Exemplo n.º 7
0
def _jython_set_classpath(jars):
    '''
    import a jar at runtime (needed for JDBC [Class.forName])

    adapted by Bastian Bowe from
    http://stackoverflow.com/questions/3015059/jython-classpath-sys-path-and-jdbc-drivers
    '''
    from java.net import URL, URLClassLoader
    from java.lang import ClassLoader
    from java.io import File
    m = URLClassLoader.getDeclaredMethod("addURL", [URL])
    m.accessible = 1
    urls = [File(i).toURL() for i in jars]
    m.invoke(ClassLoader.getSystemClassLoader(), urls)
Exemplo n.º 8
0
def importJar(jarFile):
    '''
    import a jar at runtime (needed for JDBC [Class.forName])

    adapted from http://forum.java.sun.com/thread.jspa?threadID=300557
    Author: SG Langer Jan 2007 translated the above Java to Jython
    Author: [email protected] simplified and updated for jython-2.5.3b3

    >>> importJar('mysql-connector-java-5.1.29-bin.jar')
    >>> import java.lang.Class
    >>> java.lang.Class.forName('com.mysql.jdbc.Driver')
    <type 'com.mysql.jdbc.Driver'>
    '''
    from java.net import URL, URLClassLoader
    from java.lang import ClassLoader
    from java.io import File
    m = URLClassLoader.getDeclaredMethod("addURL", [URL])
    m.accessible = 1
    m.invoke(ClassLoader.getSystemClassLoader(), [File(jarFile).toURL()])
def addFile(jarFile):
    '''
    http://stackoverflow.com/questions/3015059/jython-classpath-sys-path-and-jdbc-drivers
    import a jar at runtime (needed for JDBC [Class.forName])

    adapted from http://forum.java.sun.com/thread.jspa?threadID=300557
    Author: SG Langer Jan 2007 translated the above Java to Jython
    Author: [email protected] simplified and updated for jython-2.5.3b3

    >>> importJar('jars/jtds-1.2.5.jar')
    >>> import java.lang.Class
    >>> java.lang.Class.forName('net.sourceforge.jtds.jdbc.Driver')
    <type 'net.sourceforge.jtds.jdbc.Driver'>
    '''
    from java.net import URL, URLClassLoader
    from java.lang import ClassLoader
    from java.io import File
    m = URLClassLoader.getDeclaredMethod("addURL", [URL])
    m.accessible = 1
    m.invoke(ClassLoader.getSystemClassLoader(), [File(jarFile).toURL()])
    return 
Exemplo n.º 10
0
 def importJar(jarFile):
     '''
     import a jar at runtime (needed for JDBC [Class.forName])
 
     adapted from http://forum.java.sun.com/thread.jspa?threadID=300557
     Author: SG Langer Jan 2007 translated the above Java to Jython
     Author: [email protected] simplified and updated for jython-2.5.3b3
 
     >>> importJar('jars/jtds-1.2.5.jar')
     >>> import java.lang.Class
     >>> java.lang.Class.forName('net.sourceforge.jtds.jdbc.Driver')
     <type 'net.sourceforge.jtds.jdbc.Driver'>
     '''
     from java.net  import URL, URLClassLoader
     from java.lang import ClassLoader
     from java.io   import File
     
     print "## Inside importJar <%s>" % jarFile
     
     m = URLClassLoader.getDeclaredMethod("addURL", [URL])
     m.accessible = 1
     m.invoke(ClassLoader.getSystemClassLoader(), [File(jarFile).toURL()])
Exemplo n.º 11
0
 def import_support_jar(self):
     addURL = URLClassLoader.getDeclaredMethod('addURL', [URL])
     addURL.accessible = True
     addURL.invoke(URLClassLoader.getSystemClassLoader(), [File(os.path.abspath(self.supportjar)).toURL()])
Exemplo n.º 12
0
 def add_url_with_url_classloader(self, classloader, url):
     method = URLClassLoader.getDeclaredMethod("addURL", [URL])
     method.setAccessible(1)
     method.invoke(classloader, [url])
     return url
Exemplo n.º 13
0
    import processing
except ImportError:
    # Import framework libs
    libsdir = os.path.abspath(
        os.path.join(os.path.dirname(__file__), 'java_libs'))

    libs = [os.path.join(libsdir, lib) for lib in os.listdir(libsdir)]

    # Import user libraries
    for root, dirnames, filenames in os.walk('libraries'):
        for libfile in fnmatch.filter(filenames, '*.jar'):
            libs.append(os.path.join(root, libfile))

    for lib in libs:
        sys.path.append(lib)
        m = URLClassLoader.getDeclaredMethod("addURL", [URL])
        m.accessible = 1
        m.invoke(ClassLoader.getSystemClassLoader(), [File(lib).toURL()])

# Python imports
import __builtin__

# Java imports
from java.lang import Class
from java.lang.reflect import Modifier
from javax.swing import JFrame
from processing.core import PApplet


class Sketch(PApplet):
    """
Exemplo n.º 14
0
    import processing
except ImportError:
    # Import framework libs
    libsdir = os.path.abspath(os.path.join(os.path.dirname(__file__),
                                           'java_libs'))

    libs = [os.path.join(libsdir, lib) for lib in os.listdir(libsdir)]

    # Import user libraries
    for root, dirnames, filenames in os.walk('libraries'):
        for libfile in fnmatch.filter(filenames, '*.jar'):
            libs.append(os.path.join(root, libfile))

    for lib in libs:
        sys.path.append(lib)
        m = URLClassLoader.getDeclaredMethod("addURL", [URL])
        m.accessible = 1
        m.invoke(ClassLoader.getSystemClassLoader(), [File(lib).toURL()])

# Python imports
import __builtin__

# Java imports
from java.lang import Class
from java.lang.reflect import Modifier
from javax.swing import JFrame
from processing.core import PApplet


class Sketch(PApplet):
    """