Directory Studio
  1. Directory Studio
  2. DIRSTUDIO-833

NPE in ACI Item Editor when adding AttributeType permission

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-M4 (2.0.0.v20130125)
    • Component/s: studio-acieditor
    • Labels:
      None
    • Environment:
      Windows 7, Java 1.6, Latest Nightly Build & M3

      Description

      Attempting to add Prescriptive ACI that uses an Attribute Type as a protected item. After selecting attribute, there is a NPE when the Attribute Type is checked.

      In addition, if the prescriptiveACI attribute has been set via an LDIF import, editing the value that contains the AttributeType entry will also generate a NPE.

      Log Information for adding an attribute type as a protected item:

      !ENTRY org.eclipse.jface 4 2 2012-09-28 10:45:36.016
      !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
      !STACK 0
      java.lang.NullPointerException
      at org.apache.directory.shared.ldap.aci.AntlrACIItemParser.attributeTypeSet(AntlrACIItemParser.java:1775)
      at org.apache.directory.shared.ldap.aci.AntlrACIItemParser.attributeType(AntlrACIItemParser.java:1338)
      at org.apache.directory.shared.ldap.aci.AntlrACIItemParser.protectedItem(AntlrACIItemParser.java:1237)
      at org.apache.directory.shared.ldap.aci.AntlrACIItemParser.protectedItems(AntlrACIItemParser.java:803)
      at org.apache.directory.shared.ldap.aci.AntlrACIItemParser.itemFirst(AntlrACIItemParser.java:619)
      at org.apache.directory.shared.ldap.aci.AntlrACIItemParser.itemOrUserFirst(AntlrACIItemParser.java:559)
      at org.apache.directory.shared.ldap.aci.AntlrACIItemParser.aci_itemOrUserFirst(AntlrACIItemParser.java:475)
      at org.apache.directory.shared.ldap.aci.AntlrACIItemParser.mainACIItemComponent(AntlrACIItemParser.java:369)
      at org.apache.directory.shared.ldap.aci.AntlrACIItemParser.theACIItem(AntlrACIItemParser.java:285)
      at org.apache.directory.shared.ldap.aci.AntlrACIItemParser.wrapperEntryPoint(AntlrACIItemParser.java:215)
      at org.apache.directory.shared.ldap.aci.ACIItemParser.parse(ACIItemParser.java:126)
      at org.apache.directory.studio.aciitemeditor.model.ProtectedItemWrapper.getProtectedItem(ProtectedItemWrapper.java:177)
      at org.apache.directory.studio.aciitemeditor.widgets.ACIItemProtectedItemsComposite$ProtectedItemsLabelProvider.getImage(ACIItemProtectedItemsComposite.java:337)
      at org.eclipse.jface.viewers.WrappedViewerLabelProvider.getImage(WrappedViewerLabelProvider.java:117)
      at org.eclipse.jface.viewers.WrappedViewerLabelProvider.update(WrappedViewerLabelProvider.java:165)
      at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:152)
      at org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(AbstractTableViewer.java:399)
      at org.eclipse.jface.viewers.CheckboxTableViewer.doUpdateItem(CheckboxTableViewer.java:168)
      at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:485)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
      at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
      at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)

      ACI entry trying to be set... straight from the advanced manual.

      prescriptiveACI: {
      identificationTag "allUserACI",
      precedence 10,
      authenticationLevel none,
      itemOrUserFirst userFirst:
      {
      userClasses

      { allUsers }

      ,
      userPermissions
      {
      {
      protectedItems

      { entry, allUserAttributeTypesAndValues }

      ,
      grantsAndDenials

      { grantFilterMatch, grantRead, grantReturnDN, grantCompare, grantBrowse, grantDiscloseOnError }

      },
      {
      protectedItems { attributeType

      { userPassword }

      },
      grantsAndDenials

      { denyFilterMatch, denyCompare, denyRead }

      }
      }
      }
      }

        Issue Links

          Activity

          CG Monroe created issue -
          Hide
          Emmanuel Lecharny added a comment -

          Hmmm... Seems like the SchemaManager is null here :

          attributeType = schemaManager.lookupAttributeTypeRegistry( oid );

          We have to protect the parser from such an enventuality.

          Thanks for the report.

          Show
          Emmanuel Lecharny added a comment - Hmmm... Seems like the SchemaManager is null here : attributeType = schemaManager.lookupAttributeTypeRegistry( oid ); We have to protect the parser from such an enventuality. Thanks for the report.
          Show
          Pierre-Arnaud Marcelot added a comment - Fixed at commits 1391514 & 1397019. http://svn.apache.org/viewvc?rev=1391514&view=rev http://svn.apache.org/viewvc?rev=1397019&view=rev
          Pierre-Arnaud Marcelot made changes -
          Field Original Value New Value
          Status Open [ 1 ] Resolved [ 5 ]
          Assignee Pierre-Arnaud Marcelot [ pamarcelot ]
          Fix Version/s 2.0.0-M4 [ 12320241 ]
          Fix Version/s 2.0.0 [ 12314306 ]
          Resolution Fixed [ 1 ]
          Pierre-Arnaud Marcelot made changes -
          Link This issue is duplicated by DIRSTUDIO-834 [ DIRSTUDIO-834 ]
          Pierre-Arnaud Marcelot made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Resolved Resolved
          12d 21h 33m 1 Pierre-Arnaud Marcelot 11/Oct/12 12:27
          Resolved Resolved Closed Closed
          222d 1m 1 Pierre-Arnaud Marcelot 21/May/13 12:29

            People

            • Assignee:
              Pierre-Arnaud Marcelot
              Reporter:
              CG Monroe
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development