[Opensource] Struts1.1 and validation

Eddie Lewis ELewis at copyright.com.au
Sun Nov 16 15:25:19 PST 2003


You are correct here Michael. I thought that the state was not even getting
invoked, however it seems that the exception is raised in the state itself.
i have localised the line where it falls over

First, Here is the stack trace

java.lang.ClassCastException at
com.jcorporate.expresso.core.controller.ControllerResponse.getDefaultForm(Co
ntrollerResponse.java:2332) at
com.jcorporate.expresso.core.controller.ControllerResponse.getFormCache(Cont
rollerResponse.java:521) at
com.cal.cp.controller.CPLoginCont.runPromptLoginState(CPLoginCont.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at
com.jcorporate.expresso.core.controller.Controller.newState(Controller.java:
1368) at
com.jcorporate.expresso.core.controller.Controller.execute(Controller.java:1
804) at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
sor.java:484) at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619) at java.lang.Thread.run(Thread.java:536)
com.jcorporate.expresso.core.controller.ControllerException: Nested
exception message:null at
com.jcorporate.expresso.core.controller.Controller.newState(Controller.java:
1404) at
com.jcorporate.expresso.core.controller.Controller.execute(Controller.java:1
804) at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
sor.java:484) at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619) at java.lang.Thread.run(Thread.java:536) 

here is where it falls over in our promptLogin state

    // Fill in the Login field with values in following priority:
form-cache, cookie
    Input loginName = new Input();
    loginName.setName("LoginName");
    String ln = StringUtil.notNull(request.getParameter("LoginName"));
    if (ln.equals("")) {
      // if LoginName is empty then perform this check otherwise use it
System.out.println("15");      
      ln = StringUtil.notNull(response.getFormCache("LoginName")); // ERROR
HERE
System.out.println("16");      
      if (ln.equals("")) {
          ln = request.getUser();
      }
      if (ln.equals("NONE")) {
          ln = "";
      }
      if (ln.equalsIgnoreCase("admin")) {
          ln = "";
      }
    }
    
we are creating the inputs for login and password, the ouput only shows "15"
and doesnt get to "16".

Thanks for your help
Eddie Lewis


-----Original Message-----
From: Michael Rimov [mailto:rimovm at centercomp.com]
Sent: Saturday, 15 November 2003 10:07 AM
To: opensource at jcorporate.com
Subject: Re: [Opensource] Struts1.1 and validation


At 10:12 PM 11/13/2003, you wrote:

>I am trying to incorporate struts 1.1 validation into expresso
>
>
>I have my config file specified as
>
>default = DefaultForm which extends ActionForm
>
><action path="/Login" type="com.cal.controller.LoginCont" name="default" 
>scope="request" validate="false">
>      <forward name="promptLogin" path="/jsp/generic_detail_page.jsp"/>
>
>For struts validation -
>i create my own validation bean and need to reference it in my config.xml
as
>
><action path="/Login" type="com.cal.controller.LoginCont" name="loginForm" 
>scope="request" validate="true">
>     <forward name="promptLogin" path="/jsp/generic_detail_page.jsp"/>
>loginForm = LoginForm which extends ValidationForm
>
>when i do this - on calling the state (promptLogin) i get a 
>classCastException as LoginForm is not of type DefaultForm.


Eddie,

I need a stack trace there.  I use other forms in several 5.3 projects, so 
you shouldn't be getting that class cast exception.  My guess its that the 
'validate' flag is triggering some code somewhere in Expresso.

We'll get this worked out!
                                                         -Mike


_______________________________________________
Opensource mailing list
Opensource at jcorporate.com
http://mail.jcorporate.com/mailman/listinfo/opensource
Archives: http://mail.jcorporate.com/pipermail/opensource/
This electronic mail message and any attachments are confidential. If you are not the intended recipient please do not use the information, advise us immediately and destroy this message. Opinions and information in this message are those of the sender and not necessarily those of CAL. Unless expressly permitted by the sender, you may not copy, disclose or use the contents in any way.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.jcorporate.com/pipermail/opensource/attachments/20031117/c5c87591/attachment-0002.htm


More information about the Opensource mailing list