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]

Reply via email to