[gatein-issues] [JBoss JIRA] (GTNPORTAL-2897) Problem when changing owner type to "group" while adding a page in Page Management

Trong Tran (JIRA) jira-events at lists.jboss.org
Tue Apr 16 04:18:53 EDT 2013


     [ https://issues.jboss.org/browse/GTNPORTAL-2897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Trong Tran updated GTNPORTAL-2897:
----------------------------------

     Original Estimate: 1 hour
    Remaining Estimate: 1 hour

    
> Problem when changing owner type to "group" while adding a page in Page Management
> ----------------------------------------------------------------------------------
>
>                 Key: GTNPORTAL-2897
>                 URL: https://issues.jboss.org/browse/GTNPORTAL-2897
>             Project: GateIn Portal
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 3.5.3.Final
>            Reporter: Hela Zekri
>            Assignee: Hai Nguyen
>            Priority: Blocker
>              Labels: portal-s70
>   Original Estimate: 1 hour
>  Remaining Estimate: 1 hour
>
> *Please follow these steps :*
> * login as root
> * Go to Group --> Organization --> Users and Groups Manager
> * In User Management tab, edit user John, go to User Membership and delete all membership type "manager" in all groups.
> * Sign out and login as john
> * Import applications from "Application Registry Portlet" (Add a page to access this portlet). Then, add a page containing Page Management Portlet.
> * Go to this page and click "add page". Choose "group" as owner type. *The owner id will remain "classic" and an exception is thrown.*
> {noformat} 
> GRAVE: Error while handling request
> java.lang.NullPointerException
> 	at org.exoplatform.portal.webui.page.UIPageForm$ChangeOwnerTypeActionListener.execute(UIPageForm.java:321)
> 	at org.exoplatform.webui.event.Event.broadcast(Event.java:89)
> 	at org.exoplatform.webui.core.lifecycle.UIFormLifecycle.processDecode(UIFormLifecycle.java:59)
> 	at org.exoplatform.webui.core.lifecycle.UIFormLifecycle.processDecode(UIFormLifecycle.java:40)
> 	at org.exoplatform.webui.core.UIComponent.processDecode(UIComponent.java:124)
> 	at org.exoplatform.webui.form.UIFormTabPane.processDecode(UIFormTabPane.java:80)
> 	at org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processDecode(UIPortalApplicationLifecycle.java:59)
> 	at org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processDecode(UIPortalApplicationLifecycle.java:37)
> 	at org.exoplatform.webui.core.UIComponent.processDecode(UIComponent.java:124)
> 	at org.exoplatform.portal.webui.workspace.UIPortalApplication.processDecode(UIPortalApplication.java:537)
> 	at org.exoplatform.portal.application.PortalRequestHandler.processRequest(PortalRequestHandler.java:182)
> 	at org.exoplatform.portal.application.PortalRequestHandler.execute(PortalRequestHandler.java:161)
> 	at org.exoplatform.web.WebAppController.service(WebAppController.java:358)
> 	at org.exoplatform.portal.application.PortalController.onService(PortalController.java:125)
> 	at org.exoplatform.container.web.AbstractHttpServlet.service(AbstractHttpServlet.java:132)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:84)
> 	at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:54)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:114)
> 	at org.exoplatform.web.filter.ExtensibleFilter.doFilter(ExtensibleFilter.java:84)
> 	at org.exoplatform.web.filter.GenericFilter.doFilter(GenericFilter.java:78)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.web.CacheUserProfileFilter.doFilter(CacheUserProfileFilter.java:73)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.frameworks.jcr.web.ThreadLocalSessionProviderInitializedFilter.doFilter(ThreadLocalSessionProviderInitializedFilter.java:116)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.services.security.web.SetCurrentIdentityFilter.doFilter(SetCurrentIdentityFilter.java:88)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.portal.application.localization.LocalizationFilter.doFilter(LocalizationFilter.java:178)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.web.login.ClusteredSSOFilter.doFilter(ClusteredSSOFilter.java:73)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.container.web.PortalContainerFilter.doFilter(PortalContainerFilter.java:69)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:421)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> 	at java.lang.Thread.run(Thread.java:662)
> {noformat} 
> In fact, when user changes the owner type to "group", the expected behavior is that *all groups in which he has the role "manager" are returned in the next select Box.*  
> But in this case, user doesn't have any group in which he has "manager" as membership type. This behavior is not expected in the code, so the owner id keeps the value of "intranet" and a "NullPointerException" is thrown.
> This is due to this instruction in "ChangeOwnerTypeActionListener" of "UIPageForm" class :
> {code}
> String groupIdSelected = uiForm.groupIdSelectBox.getValue();
> {code}
> Indeed, when there isn't any group in which user has the memebership Type "manager", the value of "uiForm.groupIdSelectBox" is null, that's why the problem appears.
> *If user hasn't the role "manager" in any group, there are two possible solutions to fix the problem :*
> 1- Only the owner type "portal" appears.
> 2- In owner type, both "portal" and "group" appear. But if user chooses "group", a message appears to inform him that he hasn't the permissions to add a page in any group.
> (!) The memebership "manager" is set in "portal-configuration.xml" as value-param to UserACL component :
> {code:xml}
>       <value-param>
>         <name>navigation.creator.membership.type</name>
>         <description>specific membership type have full permission with group navigation</description>
>         <value>manager</value>
>       </value-param>
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the gatein-issues mailing list