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.