Hello Mike,

We are currently in the process to overhaul the address book demo. We merged it with an older variant based on Faclets and added a DB back-end instead of the former file based implementation. I still have a list of about 20 issues we still have to fix.

But I didn't notice the missing resource up to now. This should be fixed now. Although the validator is very simplistic and the error message is pretty cryptic. You have to enter something like "+111 111 1111".

Thanks and best regards,
Arvid

Mike Kienenberger wrote:
Just going through the Tobago addressbook demo.

Grabbed it from svn, and then ran this command:

C:\workspaces\myfaces\addressbook-1.0.10>mvn jetty:run-exploded

I created a new address, and put in a phone number in this format
111-111-1111 and I got the following error (which is probably
unrelated to the actual data input).

Looks like the root cause is:

java.util.MissingResourceException: Can't find resource for bundle
java.util.PropertyResourceBundle, key validator_phone

=========================

HTTP ERROR: 500

Exception while invoking expression #{controller.validatePhoneNumber}

RequestURI=/tobago-example-addressbook/faces/editor.jsp
Caused by:

javax.faces.el.EvaluationException: Exception while invoking
expression #{controller.validatePhoneNumber}
at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:156) at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:181)
    at javax.faces.component.UIInput.validateValue(UIInput.java:313)
    at javax.faces.component.UIInput.validate(UIInput.java:354)
    at javax.faces.component.UIInput.processValidators(UIInput.java:184)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at org.apache.myfaces.tobago.component.UITabGroup.processValidators(UITabGroup.java:172) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at org.apache.myfaces.tobago.component.UIForm.processValidators(UIForm.java:71) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:149) at org.apache.myfaces.tobago.component.UIViewRoot.processValidators(UIViewRoot.java:175) at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074) at org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter.doFilter(TobagoMultipartFormdataFilter.java:130) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
    at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Caused by: java.util.MissingResourceException: Can't find resource for
bundle java.util.PropertyResourceBundle, key validator_phone
    at java.util.ResourceBundle.getObject(ResourceBundle.java:325)
    at java.util.ResourceBundle.getString(ResourceBundle.java:285)
at org.apache.myfaces.tobago.example.addressbook.web.MessageUtils.getLocalizedString(MessageUtils.java:34) at org.apache.myfaces.tobago.example.addressbook.web.MessageUtils.createErrorMessage(MessageUtils.java:53) at org.apache.myfaces.tobago.example.addressbook.web.Controller.validatePhoneNumber(Controller.java:195)
    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.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
    ... 40 more

Caused by:

java.util.MissingResourceException: Can't find resource for bundle
java.util.PropertyResourceBundle, key validator_phone
    at java.util.ResourceBundle.getObject(ResourceBundle.java:325)
    at java.util.ResourceBundle.getString(ResourceBundle.java:285)
at org.apache.myfaces.tobago.example.addressbook.web.MessageUtils.getLocalizedString(MessageUtils.java:34) at org.apache.myfaces.tobago.example.addressbook.web.MessageUtils.createErrorMessage(MessageUtils.java:53) at org.apache.myfaces.tobago.example.addressbook.web.Controller.validatePhoneNumber(Controller.java:195)
    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.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132) at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:181)
    at javax.faces.component.UIInput.validateValue(UIInput.java:313)
    at javax.faces.component.UIInput.validate(UIInput.java:354)
    at javax.faces.component.UIInput.processValidators(UIInput.java:184)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at org.apache.myfaces.tobago.component.UITabGroup.processValidators(UITabGroup.java:172) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at org.apache.myfaces.tobago.component.UIForm.processValidators(UIForm.java:71) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:627) at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:149) at org.apache.myfaces.tobago.component.UIViewRoot.processValidators(UIViewRoot.java:175) at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074) at org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter.doFilter(TobagoMultipartFormdataFilter.java:130) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
    at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

Powered by Jetty://

Reply via email to