webtier@glassfish.java.net

Possible bug in Meta data handling

From: <webtier_at_javadesktop.org>
Date: Sun, 27 Sep 2009 05:23:02 PDT

Hello,
I am not sure, if it is a bug of JSF or a problem of Jetty using a bad temporary directory for unpacking War-archives. The code called when f:metadata is available tries to compile a pattern using the path and fails if this path contains bad parameters.

I am using Jetty to evaluate JSF 2. I deployed the sample application from a 2.0 snapshot and got the following exception.

Best Regards
Sebastian Hennebrueder

 
   Dangling meta character '+' near index 48
/private/var/folders/0a/0ajcnh+hGzuwRCjcXfj0QU+++TI/-Tmp-/Jetty_0_0_0_0_8080_ajax.request.war____22hbzl/webapp/
                                                ^

Caused by:

java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 48
/private/var/folders/0a/0ajcnh+hGzuwRCjcXfj0QU+++TI/-Tmp-/Jetty_0_0_0_0_8080_ajax.request.war____22hbzl/webapp/
                                                ^
        at java.util.regex.Pattern.error(Pattern.java:1713)
        at java.util.regex.Pattern.sequence(Pattern.java:1878)
        at java.util.regex.Pattern.expr(Pattern.java:1752)
        at java.util.regex.Pattern.compile(Pattern.java:1460)
        at java.util.regex.Pattern.(Pattern.java:1133)
        at java.util.regex.Pattern.compile(Pattern.java:823)
        at java.lang.String.replaceFirst(String.java:2146)
        at com.sun.faces.facelets.impl.DefaultFaceletFactory.createMetadataFacelet(DefaultFaceletFactory.java:335)
        at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:216)
        at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:149)
        at com.sun.faces.application.view.ViewMetadataImpl.createMetadataView(ViewMetadataImpl.java:102)
        at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:239)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
        at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:110)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
[Message sent by forum member 'laliluna' (i_at_laliluna.de)]

http://forums.java.net/jive/thread.jspa?messageID=365938