By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,818 Members | 1,282 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,818 IT Pros & Developers. It's quick & easy.

Calling Jython code from Java

P: n/a
I have a java class thats trying to call something in python. This
works fine when i do a jythonc on the python script.
When i call another python script from the __init__ of my called
python script, things go bad.i get this message
AttributeError: class 'configuration' has no attribute
'configuration'
when calling the constructor.
This is my python script thats called by the java class
testconfig.py
=============
import configuration
import java.lang

class testconfig(java.lang.Object):

def __init__(self):
"""@sig public testconfig()"""
self._cfg = configuration.configuration("/sources/jmxproto")

def getValue(self, whatVar):
pass

and the other script is configuration.py
class configuration:

def __init__(self, runtimeDir=None):
"""@sig public configuration(java.lang.String dir)"""
""" Some code in here """

When i call testconfig.py, i get the error mentioned above. Any clues?

Thanks
Raja
Jul 18 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Raja wrote:
I have a java class thats trying to call something in python. This
works fine when i do a jythonc on the python script.
[snip]

class testconfig(java.lang.Object):

def __init__(self):
"""@sig public testconfig()"""
self._cfg = configuration.configuration("/sources/jmxproto")
[snip]
class configuration:

def __init__(self, runtimeDir=None):
"""@sig public configuration(java.lang.String dir)"""
""" Some code in here """

When i call testconfig.py, i get the error mentioned above. Any clues?


In Python, you just use the class name to create instances.

So I think that perhaps:

self._cfg = configuration.configuration("/sources/jmxproto")

Should be:

self._cfg = configuration("/sources/jmxproto")

IIRC the "@sig" declaration only comes into play when attempting to use
the class from *Java* code. That's why there is no "configuration"
attribute.

Regards,
Derek.

Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.