Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-2958

Roster failure in Sakai 2.1 if users have been removed from Administration site tool

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: CLOSED
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.0
    • Fix Version/s: 2.1.2
    • Component/s: zz Roster [DO NOT USE]
    • Labels:
      None

      Description

      We have created a course site and assigned two user to it: "profesor" (instructor role) and "alumno" (student role). Then we have joined these two to the course site using Site->Revise->Add participants. After, we have removed the user "alumno" from user administration tool as admin user (attention: "alumno" is still joined to the course). Now, if you click in roster tool inside the course site, the following exception is launched:

      ERROR: El Servlet.service() para servlet sakai.site.roster lanzó una excepción (2005-11-25 12:22:58,093 http-7070-Processor24_org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/sakai-roster-tool].[sakai.site.roster])
      javax.faces.el.EvaluationException: javax.faces.el.EvaluationException: Error getting property 'roles' from bean of type org.sakaiproject.tool.roster.RosterTool: java.lang.Error: org.sakaiproject.exception.IdUnusedException id=alumno
      at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:206)
      at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:154)
      at javax.faces.component.UIData.getValue(UIData.java:527)
      at javax.faces.component.UIData.getDataModel(UIData.java:856)
      at javax.faces.component.UIData.setRowIndex(UIData.java:379)
      at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:65)
      at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:683)
      at javax.faces.component.UIData.encodeBegin(UIData.java:681)
      at javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:591)
      at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:543)
      at com.sun.faces.taglib.html_basic.DataTableTag.doEndTag(DataTableTag.java:491)
      at org.apache.jsp.roster.main_jsp._jspx_meth_h_dataTable_0(org.apache.jsp.roster.main_jsp:631)
      at org.apache.jsp.roster.main_jsp._jspx_meth_h_form_0(org.apache.jsp.roster.main_jsp:310)
      at org.apache.jsp.roster.main_jsp._jspx_meth_sakai_view_content_0(org.apache.jsp.roster.main_jsp:262)
      at org.apache.jsp.roster.main_jsp._jspx_meth_sakai_view_container_0(org.apache.jsp.roster.main_jsp:236)
      at org.apache.jsp.roster.main_jsp._jspx_meth_f_view_0(org.apache.jsp.roster.main_jsp:204)
      at org.apache.jsp.roster.main_jsp._jspService(org.apache.jsp.roster.main_jsp:151)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
      at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
      at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
      at org.sakaiproject.jsf.app.SakaiViewHandler.renderView(SakaiViewHandler.java:139)
      at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
      at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:504)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
      at org.sakaiproject.jsf.util.JsfTool.dispatch(JsfTool.java:223)
      at org.sakaiproject.jsf.util.JsfTool.doGet(JsfTool.java:243)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
      at org.sakaiproject.component.kernel.tool.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:329)
      at org.sakaiproject.portal.charon.CharonPortal.forwardTool(CharonPortal.java:1053)
      at org.sakaiproject.portal.charon.CharonPortal.doTool(CharonPortal.java:1010)
      at org.sakaiproject.portal.charon.CharonPortal.doGet(CharonPortal.java:297)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:535)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
      at java.lang.Thread.run(Thread.java:534)
      Caused by: javax.faces.el.EvaluationException: Error getting property 'roles' from bean of type org.sakaiproject.tool.roster.RosterTool: java.lang.Error: org.sakaiproject.exception.IdUnusedException id=alumno
      at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:89)
      at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:167)
      at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:151)
      at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:243)
      at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:173)
      ... 77 more
      Caused by: java.lang.Error: org.sakaiproject.exception.IdUnusedException id=alumno
      at org.sakaiproject.component.common.agent.AgentGroupManagerUserDirectoryProxy.getAgentByEnterpriseId(AgentGroupManagerUserDirectoryProxy.java:190)
      at org.sakaiproject.component.app.profile.ProfileManagerImpl.getAgentUuidByEnterpriseId(ProfileManagerImpl.java:243)
      at org.sakaiproject.component.app.roster.RosterManagerImpl.getNonFERPAMembers(RosterManagerImpl.java:298)
      at org.sakaiproject.component.app.roster.RosterManagerImpl.getParticipantByRole(RosterManagerImpl.java:159)
      at org.sakaiproject.component.app.roster.RosterManagerImpl.getRoles(RosterManagerImpl.java:119)
      at org.sakaiproject.tool.roster.RosterTool.getRoles(RosterTool.java:371)
      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:324)
      at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:79)
      ... 81 more
      Caused by: org.sakaiproject.exception.IdUnusedException id=alumno
      at org.sakaiproject.component.legacy.user.BaseUserDirectoryService.getUser(BaseUserDirectoryService.java:432)
      at org.sakaiproject.component.common.agent.AgentGroupManagerUserDirectoryProxy.getAgentByEnterpriseId(AgentGroupManagerUserDirectoryProxy.java:185)
      ... 91 more

      However, if you remove the user after having unjoined it from the course site, no error occurs.

        Gliffy Diagrams

          Zeplin

            Attachments

              Activity

                People

                Assignee:
                rshastri@iupui.edu Rashmi Shastri (Inactive)
                Reporter:
                darolmar@abierta.upv.es David Roldán Martínez
                Votes:
                1 Vote for this issue
                Watchers:
                1 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    Git Integration