Uploaded image for project: 'Directory Studio'
  1. Directory Studio
  2. DIRSTUDIO-833

NPE in ACI Item Editor when adding AttributeType permission

    Details

    • Type: Bug
    • Status: Closed
    • Priority: 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
          pamarcelot 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
          elecharny 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
          elecharny 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:
              pamarcelot Pierre-Arnaud Marcelot
              Reporter:
              monroe CG Monroe
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development