E-Mail Validator is not working in sample applications
------------------------------------------------------

                 Key: SHALE-407
                 URL: https://issues.apache.org/struts/browse/SHALE-407
             Project: Shale
          Issue Type: Bug
          Components: Validator
    Affects Versions: 1.0.4
            Reporter: Bernhard Slominski


The E-Mail validator of the Jakarta Commons Validator project has a dependency 
on the Jakarta Oro project.
Even the E-Mail validaton is optional it should be at least included in 
"shale-clay-usecases-current" because the E-Mail validation is used there.
If the jakarta-oro-2.0.X.jar is missing and E-Mail validation is used an 
Exception occurs and a blank page is displayed.
This behavior occurs in the Clay Usescases e.g. for the page 
rolodex/hrolodex.html if you edit a contact with an E-Mail address and hit the 
save button, then a blank page occurs.
It would even be better to include the jakarta-oro-2.0.X.jar in other war files 
like "shale-clay-usecases-current" and "shale-blank-current" because the E-Mail 
validation is the most frequent usecase for the build-in validators. It is a 
bit difficult to track the problem down to the missing jar file, especially for 
people who use Shale the first time.

The Exception is:
10.02.2007 10:44:28 org.apache.catalina.core.ApplicationContext log
SCHWERWIEGEND: Error initializing commons validator for rule type "email" on 
component id "email".
java.lang.RuntimeException: Error initializing commons validator for rule type 
"email" on component id "email".
        at 
org.apache.shale.validator.CommonsValidator.validate(CommonsValidator.java:821)
        at 
javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:157)
        at javax.faces.component.UIInput.validateValue(UIInput.java:312)
        at javax.faces.component.UIInput.validate(UIInput.java:353)
        at javax.faces.component.UIInput.processValidators(UIInput.java:183)
        at javax.faces.component.UIForm.processValidators(UIForm.java:70)
        at 
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
        at 
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
        at 
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
        at 
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
        at 
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
        at 
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
        at 
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
        at 
javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:146)
        at 
org.apache.shale.view.faces.ShaleViewRoot.processValidators(ShaleViewRoot.java:86)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.processValidations(LifecycleImpl.java:262)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.apache.shale.application.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:267)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
        at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.reflect.InvocationTargetException
        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:585)
        at 
org.apache.shale.validator.CommonsValidator.validate(CommonsValidator.java:799)
        ... 34 more
Caused by: java.lang.NoClassDefFoundError: org/apache/oro/text/perl/Perl5Util
        at 
org.apache.commons.validator.EmailValidator.isValid(EmailValidator.java:90)
        at 
org.apache.commons.validator.GenericValidator.isEmail(GenericValidator.java:253)
 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to