Uploaded image for project: 'Grouper'
  1. Grouper
  2. GRP-908

lite ui can assign multiple values to a single valued attribute

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • 2.1.3
    • API
    • None

    Description

      Hi,
      I encountered a bug in the Lite UI : I have a single value attribute assigned to a group. When adding a value to that attribute I mistakenly clicked twice on the Submit button. Now when I try to access the group I get the following errors (see below, the last one is interesting). It seems it added a multi-value to a single-value attribute. Checking in the database I see two entried with the same ATTRIBUTE_ASSIGN_ID. I deleted the most recent one and everything is back to normal.

      Maybe there should be a check for this in the UI ?

      Thanks

      In GROUPER_ATTRIBUTE_ASSIGN_VALUE I had :
      Attribute_assign_id Context_id created_on ID LAST_UPDATED Value_string
      67c0ae97e0424f43a2e96a065825a205 9f0e9162665b4fab87b747cb2dcba6c6 1368631066975 75aa8896128c4652be69b4e09fdbbdb4 1368631066975 oui
      67c0ae97e0424f43a2e96a065825a205 32688cd4159b474d9be98512efa3999c 1368631062426 00337f511cd343829be2fe46298e3c32 1368631062426 oui

      In the UI :
      Error: Problem converting JSP to string: /WEB-INF/grouperUi/templates/simpleAttributeUpdate/simpleAttributeAssignments.jsp, Problem calling method assignFilter on edu.internet2.middleware.grouper.grouperUi.serviceLogic.SimpleAttributeUpdate

      In the logs :
      2013-05-15 11:19:46,514: [http-8080-6] ERROR GrouperUiRestServlet.doGet(247) - - Problem calling reflection from URL: edu.internet2.middleware.grouper.grouperUi.serviceLogic.SimpleAttributeUpdate.assignFilter

      java.lang.RuntimeException: Problem converting JSP to string: /WEB-INF/grouperUi/templates/simpleAttributeUpdate/simpleAttributeAssignments.jsp,
      Problem calling method assignFilter on edu.internet2.middleware.grouper.grouperUi.serviceLogic.SimpleAttributeUpdate
      at edu.internet2.middleware.grouper.ui.util.GrouperUiUtils.convertJspToString(GrouperUiUtils.java:1511)
      at edu.internet2.middleware.grouper.grouperUi.beans.json.GuiScreenAction.newInnerHtmlFromJsp(GuiScreenAction.java:465)
      at edu.internet2.middleware.grouper.grouperUi.serviceLogic.SimpleAttributeUpdate.assignFilter(SimpleAttributeUpdate.java:2554)
      at sun.reflect.GeneratedMethodAccessor693.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at edu.internet2.middleware.grouper.util.GrouperUtil.invokeMethod(GrouperUtil.java:3895)
      at edu.internet2.middleware.grouper.util.GrouperUtil.callMethod(GrouperUtil.java:3846)
      at edu.internet2.middleware.grouper.j2ee.GrouperUiRestServlet.doGet(GrouperUiRestServlet.java:217)
      at edu.internet2.middleware.grouper.j2ee.GrouperUiRestServlet.doPost(GrouperUiRestServlet.java:133)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
      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 edu.internet2.middleware.grouper.ui.GrouperUiFilter.doFilter(GrouperUiFilter.java:849)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:209)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at uk.ac.bris.is.grouper.ui.PreCASFilter.doFilter(PreCASFilter.java:128)
      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:219)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: org.apache.jasper.JasperException: javax.el.ELException: Error reading 'attributeAssignValues' on type edu.internet2.middleware.grouper.attr.value.AttributeAssignValueDelegate
      at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
      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.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
      at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
      at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
      at edu.internet2.middleware.grouper.ui.util.GrouperUiUtils.convertJspToString(GrouperUiUtils.java:1509)
      ... 33 more
      Caused by: javax.el.ELException: Error reading 'attributeAssignValues' on type edu.internet2.middleware.grouper.attr.value.AttributeAssignValueDelegate
      at javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
      at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
      at org.apache.el.parser.AstValue.getValue(AstValue.java:123)
      at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
      at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:938)
      at org.apache.jsp.WEB_002dINF.grouperUi.templates.simpleAttributeUpdate.simpleAttributeAssignments_jsp._jspx_meth_c_005fforEach_005f1(simpleAttributeAssignments_jsp.java:731)
      at org.apache.jsp.WEB_002dINF.grouperUi.templates.simpleAttributeUpdate.simpleAttributeAssignments_jsp._jspx_meth_c_005fforEach_005f0(simpleAttributeAssignments_jsp.java:414)
      at org.apache.jsp.WEB_002dINF.grouperUi.templates.simpleAttributeUpdate.simpleAttributeAssignments_jsp._jspx_meth_c_005fotherwise_005f0(simpleAttributeAssignments_jsp.java:273)
      at org.apache.jsp.WEB_002dINF.grouperUi.templates.simpleAttributeUpdate.simpleAttributeAssignments_jsp._jspx_meth_c_005fchoose_005f0(simpleAttributeAssignments_jsp.java:181)
      at org.apache.jsp.WEB_002dINF.grouperUi.templates.simpleAttributeUpdate.simpleAttributeAssignments_jsp._jspService(simpleAttributeAssignments_jsp.java:124)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
      ... 42 more
      Caused by: java.lang.RuntimeException: Attribute is not multi-valued, but has multiple results! etc:acad:deptAfficherGAL, AttributeAssignValueDelegate[
      attributeAssign=AttributeAssign[id=67c0ae97e0424f43a2e96a065825a205,action=assign,attributeDefName=etc:acad:deptAfficherGAL,
      group=Group[name=acad:0349:Autres:0349-conf,uuid=e872617d153445b48cdf286046a5bc06]]], size: 2
      at edu.internet2.middleware.grouper.attr.value.AttributeAssignValueDelegate.internal_retrieveValues(AttributeAssignValueDelegate.java:159)
      at edu.internet2.middleware.grouper.attr.value.AttributeAssignValueDelegate.internal_retrieveValues(AttributeAssignValueDelegate.java:115)
      at edu.internet2.middleware.grouper.attr.value.AttributeAssignValueDelegate.retrieveValues(AttributeAssignValueDelegate.java:97)
      at edu.internet2.middleware.grouper.attr.value.AttributeAssignValueDelegate.getAttributeAssignValues(AttributeAssignValueDelegate.java:105)
      at sun.reflect.GeneratedMethodAccessor561.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at javax.el.BeanELResolver.getValue(BeanELResolver.java:83)
      ... 54 more

      Sébastien Gagné, | Analyste en informatique
      Université de Montréal,

      Pavillon Roger-Gaudry, local X-100-11

      Attachments

        Activity

          People

            chris.hyzer@at.internet2.edu Chris Hyzer (upenn.edu)
            chris.hyzer@at.internet2.edu Chris Hyzer (upenn.edu)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: