Return-Path: Delivered-To: apmail-jakarta-bsf-dev-archive@www.apache.org Received: (qmail 1367 invoked from network); 26 Apr 2004 17:57:30 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 26 Apr 2004 17:57:30 -0000 Received: (qmail 43073 invoked by uid 500); 26 Apr 2004 17:57:21 -0000 Delivered-To: apmail-jakarta-bsf-dev-archive@jakarta.apache.org Received: (qmail 43049 invoked by uid 500); 26 Apr 2004 17:57:21 -0000 Mailing-List: contact bsf-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Bean Scripting Framework developers" Reply-To: "Bean Scripting Framework developers" Delivered-To: mailing list bsf-dev@jakarta.apache.org Received: (qmail 43035 invoked by uid 500); 26 Apr 2004 17:57:20 -0000 Received: (qmail 43032 invoked from network); 26 Apr 2004 17:57:20 -0000 Received: from unknown (HELO minotaur.apache.org) (209.237.227.194) by daedalus.apache.org with SMTP; 26 Apr 2004 17:57:20 -0000 Received: (qmail 1354 invoked by uid 1230); 26 Apr 2004 17:57:29 -0000 Date: 26 Apr 2004 17:57:29 -0000 Message-ID: <20040426175729.1353.qmail@minotaur.apache.org> From: orlikowski@apache.org To: jakarta-bsf-cvs@apache.org Subject: cvs commit: jakarta-bsf/src/org/apache/bsf/engines/jython JythonEngine.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N orlikowski 2004/04/26 10:57:29 Modified: src/org/apache/bsf/engines/jython JythonEngine.java Log: Revision Changes Path 1.6 +29 -20 jakarta-bsf/src/org/apache/bsf/engines/jython/JythonEngine.java Index: JythonEngine.java =================================================================== RCS file: /home/cvs/jakarta-bsf/src/org/apache/bsf/engines/jython/JythonEngine.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- JythonEngine.java 26 Apr 2004 17:42:33 -0000 1.5 +++ JythonEngine.java 26 Apr 2004 17:57:29 -0000 1.6 @@ -81,26 +81,35 @@ * call the named method of the given object. */ public Object call (Object object, String method, Object[] args) - throws BSFException { - - PyObject[] pyargs = Py.EmptyObjects; - if (args != null) { - pyargs = new PyObject[args.length]; - for (int i = 0; i < pyargs.length; i++) - pyargs[i] = Py.java2py(args[i]); - } - - if (object != null) { - PyObject o = Py.java2py(object); - return unwrap(o.invoke(method, pyargs)); - } - PyObject m = interp.get(method); - if (m == null) - m = interp.eval(method); - if (m != null) { - return unwrap(m.__call__(pyargs)); - } - return null; + throws BSFException { + + try { + PyObject[] pyargs = Py.EmptyObjects; + + if (args != null) { + pyargs = new PyObject[args.length]; + for (int i = 0; i < pyargs.length; i++) + pyargs[i] = Py.java2py(args[i]); + } + + if (object != null) { + PyObject o = Py.java2py(object); + return unwrap(o.invoke(method, pyargs)); + } + + PyObject m = interp.get(method); + + if (m == null) + m = interp.eval(method); + if (m != null) { + return unwrap(m.__call__(pyargs)); + } + + return null; + } catch (PyException e) { + throw new BSFException (BSFException.REASON_EXECUTION_ERROR, + "exception from Jython:\n" + e, e); + } } /** --------------------------------------------------------------------- To unsubscribe, e-mail: bsf-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: bsf-dev-help@jakarta.apache.org