How is "classLoader" obtained? Is it set to Thread.currentThread().getContextClassLoader()?
Quoting Jerry Jalenak <[EMAIL PROTECTED]>: > Hi Guys - > > I know this is a little off topic, but the groovy mailing list doesn't seem > to be very active, and I need to track down an answer on this. What I'm > trying to do is call a groovy script from a java class (an Action) and pass > over the current Http Request object. Here's the calling Java code : > > <snip> > > GroovyClassLoader groovyClassLoader = new > GroovyClassLoader(classLoader); > Class groovyClass = > groovyClassLoader.parseClass(form.getValidationScript()); > > GroovyObject groovyObject = (GroovyObject) > groovyClass.newInstance(); > Object[] args = {_request}; > validated = ((Boolean) groovyObject.invokeMethod("run", > args)).booleanValue(); > > </snip> > > And here's the (very basic) groovy script : > > <snip> > > import javax.servlet.http.HttpServletRequest; > public class Validate { > public Boolean run(HttpServletRequest request) { > println("queryString is " + > request.getQueryString()); > return new Boolean(true); > } > } > > </snip> > > When I run this I'm getting the following error : > > java.lang.NoClassDefFoundError: > org/apache/coyote/tomcat5/CoyoteRequestFacade > > gjdk.org.apache.coyote.tomcat5.CoyoteRequestFacade_GroovyReflector.invoke(Co > yoteRequestFacade_GroovyReflector.java) > groovy.lang.MetaMethod.invoke(MetaMethod.java:110) > groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1020) > groovy.lang.MetaClass.invokeMethod(MetaClass.java:314) > org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:139) > > org.codehaus.groovy.runtime.InvokerHelper.invokeNoArgumentsMethod(InvokerHel > per.java:102) > Validate.run(script1087827061572.groovy:4) > gjdk.Validate_GroovyReflector.invoke(Validate_GroovyReflector.java) > groovy.lang.MetaMethod.invoke(MetaMethod.java:110) > groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1020) > groovy.lang.MetaClass.invokeMethod(MetaClass.java:314) > > gjdk.groovy.lang.MetaClass_GroovyReflector.invoke(MetaClass_GroovyReflector. > java) > groovy.lang.MetaMethod.invoke(MetaMethod.java:110) > groovy.lang.MetaClass.doMethodInvoke(MetaClass.java:1020) > groovy.lang.MetaClass.invokeMethod(MetaClass.java:314) > org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:139) > > org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:10 > 6) > Validate.invokeMethod(script1087827061572.groovy) > org.appframework.controller.Controller.process(Controller.java:213) > org.appframework.controller.Controller.doGet(Controller.java:104) > javax.servlet.http.HttpServlet.service(HttpServlet.java:697) > javax.servlet.http.HttpServlet.service(HttpServlet.java:810) > > For some reason groovy is looking for the CoyoteRequestFacade, not the > normal javax.servlet.http.HttpServletRequest. So, for all of you groovy > guru's out there, how can I do this? > > Thanks! > > Jerry Jalenak > Development Manager, Web Publishing > LabOne, Inc. > 10101 Renner Blvd. > Lenexa, KS 66219 > (913) 577-1496 > > [EMAIL PROTECTED] -- Kris Schneider <mailto:[EMAIL PROTECTED]> D.O.Tech <http://www.dotech.com/> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]