You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pivot.apache.org by "Sandro Martini (JIRA)" <ji...@apache.org> on 2014/08/29 12:05:53 UTC
[jira] [Comment Edited] (PIVOT-917) Pivot cannot find inner classes
in the CLASSPATH when invoked from Jython
[ https://issues.apache.org/jira/browse/PIVOT-917?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14115070#comment-14115070 ]
Sandro Martini edited comment on PIVOT-917 at 8/29/14 10:04 AM:
----------------------------------------------------------------
There is nothing that we can do (at the moment) to make Pivot work in this way with JYthon (too much things need to be changed, but unless a strong users interest and some help we can't proceed); so closing the issue.
Note that with the proposed workaround at least in Groovy all works.
Be free to reopen if needed.
was (Author: smartini):
There is nothing taht we can do (at the moment) to make Pivot work in this way with JYthon (too much things need to be changed, but unless a strong users interest and some help we can't proceed); so closing the issue.
Note that with the proposed workaround at least inGroovy all works.
Be free to reopen if needed.
> Pivot cannot find inner classes in the CLASSPATH when invoked from Jython
> -------------------------------------------------------------------------
>
> Key: PIVOT-917
> URL: https://issues.apache.org/jira/browse/PIVOT-917
> Project: Pivot
> Issue Type: Improvement
> Components: pivot-on-apache-extras
> Affects Versions: 2.0.3
> Reporter: Jose V Nunez
> Assignee: Sandro Martini
> Labels: jython
> Fix For: 2.1
>
> Attachments: HelloBXML.py, run_HelloBXML.sh
>
>
> The following is similar to the simple Hello world BXML from the PIVOT website (http://pivot.apache.org/tutorials/hello-bxml.html, file hello.bxml content is identical):
> {code}
> #!/usr/bin/env jython
> from org.apache.pivot.beans import BXMLSerializer
> from org.apache.pivot.collections import Map
> from org.apache.pivot.wtk import Application
> from org.apache.pivot.wtk import Display
> from org.apache.pivot.wtk import Window
> from org.apache.pivot.wtk import DesktopApplicationContext
> from java.lang import Runnable, Exception as Ex
> from javax.swing import SwingUtilities
> import sys,subprocess,os,re, traceback
> class HelloBXML(Application):
> def __init__(self):
> self.window = None
> self.bxmlSerializer = BXMLSerializer()
> def startup(self, display, properties):
> self.window = self.bxmlSerializer.readObject(HelloBXML, "hello.bxml")
> self.window.open(display)
> def shutdown(self, optional):
> if self.window != null:
> window.close()
> return False;
> def suspend(self):
> pass
> def resume(self):
> pass
> class Task(Runnable):
> def __init__(self, argv):
> self.argv = argv
> def run(self):
> DesktopApplicationContext.main(HelloBXML, self.argv)
> if __name__ == "__main__":
> try:
> SwingUtilities.invokeAndWait(Task(sys.argv[1:]))
> except:
> traceback.print_exc(file=sys.stderr)
> sys.exit(192)
> {code}
> Exception stack trace:
> {code}
> # Script file: ~/HelloBXML.py
> java.lang.ClassNotFoundException: org.python.proxies.__main__$HelloBXML$1
> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:186)
> at org.apache.pivot.wtk.DesktopApplicationContext.main(DesktopApplicationContext.java:606)
> at org.apache.pivot.wtk.DesktopApplicationContext.main(DesktopApplicationContext.java:881)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186)
> at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204)
> at org.python.core.PyObject.__call__(PyObject.java:404)
> at org.python.core.PyObject.__call__(PyObject.java:408)
> at org.python.pycode._pyx0.run$9(/home/jnunezzu/HelloBXML.py:39)
> at org.python.pycode._pyx0.call_function(/home/jnunezzu/HelloBXML.py)
> at org.python.core.PyTableCode.call(PyTableCode.java:165)
> at org.python.core.PyBaseCode.call(PyBaseCode.java:301)
> at org.python.core.PyBaseCode.call(PyBaseCode.java:194)
> at org.python.core.PyFunction.__call__(PyFunction.java:387)
> at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:220)
> at org.python.core.PyMethod.__call__(PyMethod.java:211)
> at org.python.core.PyMethod.__call__(PyMethod.java:201)
> at org.python.core.PyMethod.__call__(PyMethod.java:196)
> at org.python.core.PyObject._jcallexc(PyObject.java:3502)
> at org.python.core.PyObject._jcall(PyObject.java:3534)
> at org.python.proxies.__main__$Task$2.run(Unknown Source)
> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
> at java.awt.EventQueue.access$000(EventQueue.java:101)
> at java.awt.EventQueue$3.run(EventQueue.java:666)
> at java.awt.EventQueue$3.run(EventQueue.java:664)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
> at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
> at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
> at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
> {code}
> I tested this with the following configuration:
> {code}
> Jython 2.5.3 (2.5:c56500f08d34+, Aug 13 2012, 14:48:36)
> [Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0
> Type "help", "copyright", "credits" or "license" for more information.
> java -version
> java version "1.7.0"
> Java(TM) SE Runtime Environment (build 1.7.0-b147)
> Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)
> uname -a
> Linux XXXX 2.6.18-348.3.1.el5 #1 SMP Tue Mar 5 13:19:32 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
> echo $CLASSPATH
> /home/jose/src/apache-pivot-2.0.3/lib/hello.bxml:/home/jose/src/apache-pivot-2.0.3/lib/pivot-wtk-terra-2.0.3.jar:/home/jose/src/apache-pivot-2.0.3/lib/pivot-wtk-2.0.3.jar:/home/jose/src/apache-pivot-2.0.3/lib/pivot-web-server-2.0.3.jar:/home/jose/src/apache-pivot-2.0.3/lib/pivot-web-2.0.3.jar:/home/jose/src/apache-pivot-2.0.3/lib/pivot-core-2.0.3.jar:/home/jose/src/apache-pivot-2.0.3/lib/pivot-charts-2.0.3.jar::.
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)