You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2012/09/28 17:11:08 UTC

[jira] [Commented] (DIRSTUDIO-833) NPE in ACI Item Editor when adding AttributeType permission

    [ https://issues.apache.org/jira/browse/DIRSTUDIO-833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465656#comment-13465656 ] 

Emmanuel Lecharny commented on DIRSTUDIO-833:
---------------------------------------------

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.
                
> NPE in ACI Item Editor when adding AttributeType permission
> -----------------------------------------------------------
>
>                 Key: DIRSTUDIO-833
>                 URL: https://issues.apache.org/jira/browse/DIRSTUDIO-833
>             Project: Directory Studio
>          Issue Type: Bug
>          Components: studio-acieditor
>    Affects Versions: 2.0.0-M4
>         Environment: Windows 7, Java 1.6, Latest Nightly Build & M3
>            Reporter: CG Monroe
>
> 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
>           } 
>         } 
>       } 
>     } 
>   }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira