[jira] Created: (MYFACES-1896) FacesConfigurator version check incorrect

View: New views
5 Messages — Rating Filter:   Alert me  

[jira] Created: (MYFACES-1896) FacesConfigurator version check incorrect

by My Faces - Dev mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

FacesConfigurator version check incorrect
-----------------------------------------

                 Key: MYFACES-1896
                 URL: https://issues.apache.org/jira/browse/MYFACES-1896
             Project: MyFaces Core
          Issue Type: Bug
    Affects Versions: 1.2.2
            Reporter: Hilbert Schraal


The FacesConfigurator does some checks on whether there are multiple versions of Tomahawk and MyFaces in the classpath. This check is incorrect, in the sense that it can, and will, log incorrect error messages.

This problem occurs when using the jar from the tomahawk-facelets project (http://code.google.com/p/tomahawk-facelets), of which I'm one of the maintainers. The current release is called tomahawk-facelets-1.1.6.2.jar, which gives the following error:

ERROR FacesConfigurator?:404 - You are using the MyFaces?-package : tomahawk in different versions; first (and probably used) version is : 1.1.6, currently encountered version is : facelets-taglib. This will cause undesired behaviour. Please clean out your class-path. The first encountered version is loaded from : file:/G:/Development/IdeaProjects/blokart/out/exploded/blokartWeb/WEB-INF/lib/tomahawk-1.1.6.jar. The currently encountered version is loaded from : jar:file:/G:/Development/IdeaProjects/blokart/out/exploded/blokartWeb/WEB-INF/lib/tomahawk-facelets-taglib.jar!/META-INF/MANIFEST.MF

However, this jar just contains taglibs and some supporting class files. So the error is logged without a valid reason.

I've looked at the code in the FacesConfigurator and have seen that the checks can be improved, e.g. using the following regular expression for getting the version number of Tomahawk: tomahawk-(\d\.\d\.\d)

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


[jira] Commented: (MYFACES-1896) FacesConfigurator version check incorrect

by My Faces - Dev mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/MYFACES-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620473#action_12620473 ]

Leonardo Uribe commented on MYFACES-1896:
-----------------------------------------

In the latest code of tomahawk, facelets support is available (thanks to myfaces-builder-plugin), so this problem does not appear anymore.

At first view, the bug should be on org.apache.myfaces.config.FacesConfigurator method checkJar. But this is used only for log info, so the error does not affect the working of the library.

> FacesConfigurator version check incorrect
> -----------------------------------------
>
>                 Key: MYFACES-1896
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1896
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.2.2
>            Reporter: Hilbert Schraal
>
> The FacesConfigurator does some checks on whether there are multiple versions of Tomahawk and MyFaces in the classpath. This check is incorrect, in the sense that it can, and will, log incorrect error messages.
> This problem occurs when using the jar from the tomahawk-facelets project (http://code.google.com/p/tomahawk-facelets), of which I'm one of the maintainers. The current release is called tomahawk-facelets-1.1.6.2.jar, which gives the following error:
> ERROR FacesConfigurator?:404 - You are using the MyFaces?-package : tomahawk in different versions; first (and probably used) version is : 1.1.6, currently encountered version is : facelets-taglib. This will cause undesired behaviour. Please clean out your class-path. The first encountered version is loaded from : file:/G:/Development/IdeaProjects/blokart/out/exploded/blokartWeb/WEB-INF/lib/tomahawk-1.1.6.jar. The currently encountered version is loaded from : jar:file:/G:/Development/IdeaProjects/blokart/out/exploded/blokartWeb/WEB-INF/lib/tomahawk-facelets-taglib.jar!/META-INF/MANIFEST.MF
> However, this jar just contains taglibs and some supporting class files. So the error is logged without a valid reason.
> I've looked at the code in the FacesConfigurator and have seen that the checks can be improved, e.g. using the following regular expression for getting the version number of Tomahawk: tomahawk-(\d\.\d\.\d)

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


[jira] Updated: (MYFACES-1896) FacesConfigurator version check incorrect

by My Faces - Dev mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ https://issues.apache.org/jira/browse/MYFACES-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon-Pierre Béliveau updated MYFACES-1896:
-------------------------------------------

    Status: Patch Available  (was: Open)

> FacesConfigurator version check incorrect
> -----------------------------------------
>
>                 Key: MYFACES-1896
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1896
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.2.2
>            Reporter: Hilbert Schraal
>         Attachments: MYFACES-1896.patch
>
>
> The FacesConfigurator does some checks on whether there are multiple versions of Tomahawk and MyFaces in the classpath. This check is incorrect, in the sense that it can, and will, log incorrect error messages.
> This problem occurs when using the jar from the tomahawk-facelets project (http://code.google.com/p/tomahawk-facelets), of which I'm one of the maintainers. The current release is called tomahawk-facelets-1.1.6.2.jar, which gives the following error:
> ERROR FacesConfigurator?:404 - You are using the MyFaces?-package : tomahawk in different versions; first (and probably used) version is : 1.1.6, currently encountered version is : facelets-taglib. This will cause undesired behaviour. Please clean out your class-path. The first encountered version is loaded from : file:/G:/Development/IdeaProjects/blokart/out/exploded/blokartWeb/WEB-INF/lib/tomahawk-1.1.6.jar. The currently encountered version is loaded from : jar:file:/G:/Development/IdeaProjects/blokart/out/exploded/blokartWeb/WEB-INF/lib/tomahawk-facelets-taglib.jar!/META-INF/MANIFEST.MF
> However, this jar just contains taglibs and some supporting class files. So the error is logged without a valid reason.
> I've looked at the code in the FacesConfigurator and have seen that the checks can be improved, e.g. using the following regular expression for getting the version number of Tomahawk: tomahawk-(\d\.\d\.\d)

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


[jira] Commented: (MYFACES-1896) FacesConfigurator version check incorrect

by My Faces - Dev mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/MYFACES-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12678298#action_12678298 ]

Wolfgang Klaus commented on MYFACES-1896:
-----------------------------------------

When applying the patch please extend the regular expression because when runnig MyFaces in Borland Enterprise Server the beginning of the Jar-URL is not "jar:" it is "besjar:"  and "file:" is missing.

The following Regex will also match this:
public static final String REGEX_LIBRARY = "(bes)?jar:((file:)+.*/(.+)-" +
            "(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?)?)?(-SNAPSHOT)?" +
            "\\.jar)!/META-INF/MANIFEST.MF";

If this patch wouldn't be applied I can give you a patch for the old checkjar method.


> FacesConfigurator version check incorrect
> -----------------------------------------
>
>                 Key: MYFACES-1896
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1896
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.2.2
>            Reporter: Hilbert Schraal
>         Attachments: MYFACES-1896-v2.patch, MYFACES-1896.patch
>
>
> The FacesConfigurator does some checks on whether there are multiple versions of Tomahawk and MyFaces in the classpath. This check is incorrect, in the sense that it can, and will, log incorrect error messages.
> This problem occurs when using the jar from the tomahawk-facelets project (http://code.google.com/p/tomahawk-facelets), of which I'm one of the maintainers. The current release is called tomahawk-facelets-1.1.6.2.jar, which gives the following error:
> ERROR FacesConfigurator?:404 - You are using the MyFaces?-package : tomahawk in different versions; first (and probably used) version is : 1.1.6, currently encountered version is : facelets-taglib. This will cause undesired behaviour. Please clean out your class-path. The first encountered version is loaded from : file:/G:/Development/IdeaProjects/blokart/out/exploded/blokartWeb/WEB-INF/lib/tomahawk-1.1.6.jar. The currently encountered version is loaded from : jar:file:/G:/Development/IdeaProjects/blokart/out/exploded/blokartWeb/WEB-INF/lib/tomahawk-facelets-taglib.jar!/META-INF/MANIFEST.MF
> However, this jar just contains taglibs and some supporting class files. So the error is logged without a valid reason.
> I've looked at the code in the FacesConfigurator and have seen that the checks can be improved, e.g. using the following regular expression for getting the version number of Tomahawk: tomahawk-(\d\.\d\.\d)

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


[jira] Updated: (MYFACES-1896) FacesConfigurator version check incorrect

by My Faces - Dev mailing list :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ https://issues.apache.org/jira/browse/MYFACES-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leonardo Uribe updated MYFACES-1896:
------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.2.8-SNAPSHOT
         Assignee: Leonardo Uribe
           Status: Resolved  (was: Patch Available)

I have checked the code proposed and committed a variation of this patch. The regex committed is this:

    public static final String REGEX_LIBRARY = "((jar)?(besjar)?(wsjar)?(zip)?)?:(file:.*/(.+)-" +
            "(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?)?)?(-SNAPSHOT)?" +
            "\\.jar)!/META-INF/MANIFEST.MF";

some additional constants were added, and the testing code was moved to a test class.

> FacesConfigurator version check incorrect
> -----------------------------------------
>
>                 Key: MYFACES-1896
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1896
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.2.2
>            Reporter: Hilbert Schraal
>            Assignee: Leonardo Uribe
>             Fix For: 1.2.8-SNAPSHOT
>
>         Attachments: MYFACES-1896-v2.patch, MYFACES-1896.patch
>
>
> The FacesConfigurator does some checks on whether there are multiple versions of Tomahawk and MyFaces in the classpath. This check is incorrect, in the sense that it can, and will, log incorrect error messages.
> This problem occurs when using the jar from the tomahawk-facelets project (http://code.google.com/p/tomahawk-facelets), of which I'm one of the maintainers. The current release is called tomahawk-facelets-1.1.6.2.jar, which gives the following error:
> ERROR FacesConfigurator?:404 - You are using the MyFaces?-package : tomahawk in different versions; first (and probably used) version is : 1.1.6, currently encountered version is : facelets-taglib. This will cause undesired behaviour. Please clean out your class-path. The first encountered version is loaded from : file:/G:/Development/IdeaProjects/blokart/out/exploded/blokartWeb/WEB-INF/lib/tomahawk-1.1.6.jar. The currently encountered version is loaded from : jar:file:/G:/Development/IdeaProjects/blokart/out/exploded/blokartWeb/WEB-INF/lib/tomahawk-facelets-taglib.jar!/META-INF/MANIFEST.MF
> However, this jar just contains taglibs and some supporting class files. So the error is logged without a valid reason.
> I've looked at the code in the FacesConfigurator and have seen that the checks can be improved, e.g. using the following regular expression for getting the version number of Tomahawk: tomahawk-(\d\.\d\.\d)

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