[Deploying Sakai] forgot password issue

Bharathi Cheekatla bharathi at sankhya.net
Wed Jan 26 22:29:55 PST 2011


hi,
i have added on more field PF Index No. in forgot password page and i need to validate the field for server side validation. but when i click on forgot password page the following error occurs.


Fatal internal error handling request:
Target exception of class java.lang.ClassCastException
Successive lines until stack trace show causes progressing to exception site:
java.lang.String cannot be cast to [Ljava.lang.Object;
java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.Object;
                at org.sakaiproject.tool.resetpass.FormProducer.fillComponents(FormProducer.java:82)
                at uk.org.ponder.rsf.view.support.ViewCollector.fillComponents(ViewCollector.java:56)
                at uk.org.ponder.rsf.view.support.LayoutCollector.fillComponents(LayoutCollector.java:68)
                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:597)
                at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
                at $Proxy143.fillComponents(Unknown Source)
                at uk.org.ponder.rsf.view.support.ViewGenerator.generateView(ViewGenerator.java:53)
                at uk.org.ponder.rsf.processor.support.RSFRenderHandler$1.run(RSFRenderHandler.java:79)
                at uk.org.ponder.rsf.processor.support.RequestInvoker$1.run(RequestInvoker.java:46)
                at uk.org.ponder.util.CollectingRunnableInvoker$1.run(CollectingRunnableInvoker.java:25)
                at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper.invokeRunnable(BasicScopedAlterationWrapper.java:59)
                at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$FastClassByCGLIB$$84f89202.invoke(<generated>)
                at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
                at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
                at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerByCGLIB$$715b903c.invokeRunnable(<generated>)
                at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$FastClassByCGLIB$$84f89202.invoke(<generated>)
                at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
                at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
                at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerByCGLIB$$715b903c.invokeRunnable(<generated>)
                at uk.org.ponder.util.CollectingRunnableInvoker$1.run(CollectingRunnableInvoker.java:29)
                at uk.org.ponder.util.CollectingRunnableInvoker.invokeWrappers(CollectingRunnableInvoker.java:22)
                at uk.org.ponder.util.CollectingRunnableInvoker.invokeRunnable(CollectingRunnableInvoker.java:14)
                at uk.org.ponder.rsf.processor.support.RequestInvoker.invokeRunnable(RequestInvoker.java:39)
                at uk.org.ponder.rsf.processor.support.RSFRenderHandler.handle(RSFRenderHandler.java:75)
                at uk.org.ponder.rsf.processor.support.RSFRenderHandler$$FastClassByCGLIB$$5bda3a3d.invoke(<generated>)
                at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
                at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
                at uk.org.ponder.rsf.processor.support.RSFRenderHandler$$EnhancerByCGLIB$$5de8c3b7.handle(<generated>)
                at uk.org.ponder.rsf.processor.support.RenderHandlerBracketer.handle(RenderHandlerBracketer.java:82)
                at uk.org.ponder.rsf.processor.support.RenderHandlerBracketer$$FastClassByCGLIB$$3055fa0f.invoke(<generated>)
                at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
                at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
                at uk.org.ponder.rsf.processor.support.RenderHandlerBracketer$$EnhancerByCGLIB$$2b7e4b09.handle(<generated>)
                at uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handleGet(RootHandlerBeanBase.java:97)
                at uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handle(RootHandlerBeanBase.java:79)
                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:597)
                at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:23)
                at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:17)
                at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:77)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.createBean(RSACBeanLocatorImpl.java:553)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.access$000(RSACBeanLocatorImpl.java:75)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl$1.run(RSACBeanLocatorImpl.java:449)
                at uk.org.ponder.rsac.RSACErrorBridge.invokeRunnable(RSACErrorBridge.java:38)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.createBean(RSACBeanLocatorImpl.java:447)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.getLocalBean(RSACBeanLocatorImpl.java:348)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.getBean(RSACBeanLocatorImpl.java:379)
                at uk.org.ponder.rsac.support.PerRequestInfo$1.locateBean(PerRequestInfo.java:49)
                at uk.ac.cam.caret.sakai.rsf.servlet.ReasonableSakaiServlet.service(ReasonableSakaiServlet.java:65)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
                at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
                at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
                at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
                at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
                at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:500)
                at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1329)
                at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:204)
                at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
                at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:833)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
                at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:650)
                at com.rsmart.sakai.kernel.request.BrandRequestFilter.doFilter(BrandRequestFilter.java:79)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
                at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:843)
                at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:679)
                at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1293)
                at java.lang.Thread.run(Thread.java:662)




The error is in FormProducer class and the code is

public void fillComponents(UIContainer tofill, ViewParameters viewParms,
                                                ComponentChecker comp) {
                                // TODO Auto-generated method stub


                                if (tml!=null) {
                                                if (tml.size() > 0) {

                                                for (int i = 0; i < tml.size(); i ++ ) {
                                                                UIBranchContainer errorRow = UIBranchContainer.make(tofill,"error-row:");
                                                                if (tml.messageAt(i).args != null ) {
                                                                                UIVerbatim.make(errorRow, "error", messageLocator.getMessage(tml.messageAt(i).acquireMessageCode(), (String[])tml.messageAt(i).args[0]));
                                                                } else {
                                                                                UIVerbatim.make(errorRow, "error", messageLocator.getMessage(tml.messageAt(i).acquireMessageCode()));
                                                                }

                                                }
                                    }
                                }
                                // Get the instructions from the tool placement.
                                Placement placement = toolManager.getCurrentPlacement();
                                if (placement != null) {
                                                String instuctions = placement.getConfig().getProperty("instructions");
                                                if (instuctions != null && instuctions.length() > 0) {
                                                                UIVerbatim.make(tofill, "instructions", instuctions);
                                                }
                                } else {
                                                String[] args = new String[1];
                                                args[0]=serverConfigurationService.getString("ui.service", "Sakai Based Service");
                                                UIVerbatim.make(tofill,"main",messageLocator.getMessage("mainText", args));
                                }
                                UIForm form = UIForm.make(tofill,"form");
                                UIInput.make(form,"input","#{userBean.pfindexno}");
                                //UIInput.make(form,"input","#{userBean.dob}");
                                UIInput.make(form,"input","#{userBean.email}");
                                //UIInput.make(form,"input","#{userBean.bankcode}");
                                UICommand.make(form,"submit",UIMessage.make("postForm"),"#{formHandler.processAction}");
                }


                  public List<NavigationCase> reportNavigationCases() {
                                    List<NavigationCase> togo = new ArrayList<NavigationCase>(); // Always navigate back to this view.
                                    togo.add(new NavigationCase(null, new SimpleViewParameters(VIEW_ID)));
                                    togo.add(new NavigationCase("Success", new SimpleViewParameters(ConfirmProducer.VIEW_ID)));
                                    return togo;
                  }


pls help me
SANKHYA'S Email DISCLAIMER: Information contained in this E-MAIL and any attachments are confidential being proprietary to SANKHYA INFOTECH LIMITED is 'privileged' and 'confidential'. If you are not an intended or authorised recipient of this E-MAIL or have received it in error, You are notified that any use, copying or dissemination of the information contained in this E-MAIL in any manner whatsoever is strictly prohibited. Please delete it immediately and notify the sender by E-MAIL. In such a case reading, reproducing, printing or further dissemination of this E-MAIL is strictly prohibited and may be unlawful. SANKHYA INFOTECH LIMITED does not REPRESENT or WARRANT that an attachment hereto is free from computer viruses or other defects. The opinions expressed in this E-MAIL and any ATTACHMENTS may be those of the author and are not necessarily those of SANKHYA INFOTECH LIMITED.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/production/attachments/20110127/06eea1b6/attachment-0001.html 


More information about the production mailing list