You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Ivan (JIRA)" <ji...@apache.org> on 2011/07/16 15:29:59 UTC

[jira] [Created] (GERONIMO-6079) NPE in MyFacesWebAppContext.doStart() if jsf web application is packaged into an EAR

NPE in MyFacesWebAppContext.doStart() if jsf web application is packaged into an EAR
------------------------------------------------------------------------------------

                 Key: GERONIMO-6079
                 URL: https://issues.apache.org/jira/browse/GERONIMO-6079
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: myfaces
    Affects Versions: 3.0
            Reporter: Ivan
            Assignee: Ivan
             Fix For: 3.0


Hi, Dev:

 I packaged a web app with jsf features into an EAR, and deployed it, but got an NPE when starting MyFacesWebAppContext gbean. This is related with code line in MyFacesModuleBuilderExtension

AbstractName myFacesWebAppContextName = moduleContext.getNaming().createChildName(moduleName, "myFacesWebAppContext", "MyFacesWebAppContext");

In an EAR,  ModuleContext abstract name is  like:
org.apache.geronimo.daytrader/daytrader/3.0.0.0/car?j2eeType=J2EEApplication,name=org.apache.geronimo.daytrader/daytrader/3.0.0.0/car
The result won't contain "WebModule"

But in an WAR is like
 com.apache.geronimo.samples/jsf/3.0.0.0/car?J2EEApplication=null,WebModule=com.apache.geronimo.samples/jsf/3.0.0.0/car # contaning WebModule
The result contains "WebModule"

After constructing  MyFacesWebAppContext GBean, and start it as below, 

public String getWebModuleName(){
        return abName.getNameProperty(NameFactory.WEB_MODULE); # NameFactory.WEB_MODULE value is "WebModule"
    }

    @Override
    public void doStart() throws Exception {
        MYFACES_WEBAPP_CONTEXTS.put(getWebModuleName(), this);
    }

 trying to find a WebModule string in its abstract name, but if jsf web app is in an ear, its abstractname doesn't contain WebModule, coz of its parent  is an EAR, whose abstract name doesn't include WebModule. This code only work when jsf web app is standalone. 

What i think is change MyFacesWebAppContext mapping way or change myfaceswebappcontext abstractname generation way,not sure which is better.

Appreciate if somebody can shadow some lights on it.

-- 
viola

Apache Geronimo


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Closed] (GERONIMO-6079) NPE in MyFacesWebAppContext.doStart() if jsf web application is packaged into an EAR

Posted by "viola.lu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-6079?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

viola.lu closed GERONIMO-6079.
------------------------------

    Resolution: Fixed

it's fixed.close it.

> NPE in MyFacesWebAppContext.doStart() if jsf web application is packaged into an EAR
> ------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-6079
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-6079
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: myfaces
>    Affects Versions: 3.0
>            Reporter: Ivan
>            Assignee: Ivan
>             Fix For: 3.0
>
>
> Hi, Dev:
>  I packaged a web app with jsf features into an EAR, and deployed it, but got an NPE when starting MyFacesWebAppContext gbean. This is related with code line in MyFacesModuleBuilderExtension
> AbstractName myFacesWebAppContextName = moduleContext.getNaming().createChildName(moduleName, "myFacesWebAppContext", "MyFacesWebAppContext");
> In an EAR,  ModuleContext abstract name is  like:
> org.apache.geronimo.daytrader/daytrader/3.0.0.0/car?j2eeType=J2EEApplication,name=org.apache.geronimo.daytrader/daytrader/3.0.0.0/car
> The result won't contain "WebModule"
> But in an WAR is like
>  com.apache.geronimo.samples/jsf/3.0.0.0/car?J2EEApplication=null,WebModule=com.apache.geronimo.samples/jsf/3.0.0.0/car # contaning WebModule
> The result contains "WebModule"
> After constructing  MyFacesWebAppContext GBean, and start it as below, 
> public String getWebModuleName(){
>         return abName.getNameProperty(NameFactory.WEB_MODULE); # NameFactory.WEB_MODULE value is "WebModule"
>     }
>     @Override
>     public void doStart() throws Exception {
>         MYFACES_WEBAPP_CONTEXTS.put(getWebModuleName(), this);
>     }
>  trying to find a WebModule string in its abstract name, but if jsf web app is in an ear, its abstractname doesn't contain WebModule, coz of its parent  is an EAR, whose abstract name doesn't include WebModule. This code only work when jsf web app is standalone. 
> What i think is change MyFacesWebAppContext mapping way or change myfaceswebappcontext abstractname generation way,not sure which is better.
> Appreciate if somebody can shadow some lights on it.
> -- 
> viola
> Apache Geronimo

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (GERONIMO-6079) NPE in MyFacesWebAppContext.doStart() if jsf web application is packaged into an EAR

Posted by "Ivan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-6079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13066447#comment-13066447 ] 

Ivan commented on GERONIMO-6079:
--------------------------------

Commit changes to trunk at r1147443.

> NPE in MyFacesWebAppContext.doStart() if jsf web application is packaged into an EAR
> ------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-6079
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-6079
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: myfaces
>    Affects Versions: 3.0
>            Reporter: Ivan
>            Assignee: Ivan
>             Fix For: 3.0
>
>
> Hi, Dev:
>  I packaged a web app with jsf features into an EAR, and deployed it, but got an NPE when starting MyFacesWebAppContext gbean. This is related with code line in MyFacesModuleBuilderExtension
> AbstractName myFacesWebAppContextName = moduleContext.getNaming().createChildName(moduleName, "myFacesWebAppContext", "MyFacesWebAppContext");
> In an EAR,  ModuleContext abstract name is  like:
> org.apache.geronimo.daytrader/daytrader/3.0.0.0/car?j2eeType=J2EEApplication,name=org.apache.geronimo.daytrader/daytrader/3.0.0.0/car
> The result won't contain "WebModule"
> But in an WAR is like
>  com.apache.geronimo.samples/jsf/3.0.0.0/car?J2EEApplication=null,WebModule=com.apache.geronimo.samples/jsf/3.0.0.0/car # contaning WebModule
> The result contains "WebModule"
> After constructing  MyFacesWebAppContext GBean, and start it as below, 
> public String getWebModuleName(){
>         return abName.getNameProperty(NameFactory.WEB_MODULE); # NameFactory.WEB_MODULE value is "WebModule"
>     }
>     @Override
>     public void doStart() throws Exception {
>         MYFACES_WEBAPP_CONTEXTS.put(getWebModuleName(), this);
>     }
>  trying to find a WebModule string in its abstract name, but if jsf web app is in an ear, its abstractname doesn't contain WebModule, coz of its parent  is an EAR, whose abstract name doesn't include WebModule. This code only work when jsf web app is standalone. 
> What i think is change MyFacesWebAppContext mapping way or change myfaceswebappcontext abstractname generation way,not sure which is better.
> Appreciate if somebody can shadow some lights on it.
> -- 
> viola
> Apache Geronimo

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira