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

          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
          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.

            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