You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2016/06/29 12:26:50 UTC

svn commit: r1750623 [1/2] - in /directory/studio/trunk: ./ features/apacheds.feature/ features/ldapbrowser.feature/ features/ldifeditor.feature/ features/nls.feature/ features/openldap.feature/ features/rcp.feature/ features/schemaeditor.feature/ plug...

Author: elecharny
Date: Wed Jun 29 12:26:50 2016
New Revision: 1750623

URL: http://svn.apache.org/viewvc?rev=1750623&view=rev
Log:
Fixed the copyright date to 2016

Removed:
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseEnum.java
Modified:
    directory/studio/trunk/NOTICE.txt
    directory/studio/trunk/features/apacheds.feature/feature.xml
    directory/studio/trunk/features/ldapbrowser.feature/feature.xml
    directory/studio/trunk/features/ldifeditor.feature/feature.xml
    directory/studio/trunk/features/nls.feature/feature.xml
    directory/studio/trunk/features/openldap.feature/feature.xml
    directory/studio/trunk/features/rcp.feature/feature.xml
    directory/studio/trunk/features/schemaeditor.feature/feature.xml
    directory/studio/trunk/plugins/apacheds.configuration/about.ini
    directory/studio/trunk/plugins/ldapbrowser.ui/about.ini
    directory/studio/trunk/plugins/ldifeditor/about.ini
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/antlr/Acl.g
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttribute.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeStyleEnum.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeVal.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclItem.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClause.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseAttributes.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseDn.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseFilter.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseStar.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhoClauseDn.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/OpenLdapAclWhatClauseWidget.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/composites/WhatClauseDnComposite.java
    directory/studio/trunk/plugins/openldap.acl.editor/src/test/java/org/apache/directory/studio/openldap/config/acl/model/OpenLdapAclParserTest.java
    directory/studio/trunk/plugins/rcp/about.ini
    directory/studio/trunk/plugins/rcp/plugin.properties
    directory/studio/trunk/plugins/rcp/plugin_de.properties
    directory/studio/trunk/plugins/rcp/plugin_fr.properties
    directory/studio/trunk/plugins/rcp/src/main/resources/about.ini
    directory/studio/trunk/plugins/schemaeditor/about.ini

Modified: directory/studio/trunk/NOTICE.txt
URL: http://svn.apache.org/viewvc/directory/studio/trunk/NOTICE.txt?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/NOTICE.txt (original)
+++ directory/studio/trunk/NOTICE.txt Wed Jun 29 12:26:50 2016
@@ -1,5 +1,5 @@
 Apache Directory Studio
-Copyright 2007-2014 The Apache Software Foundation
+Copyright 2007-2016 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).

Modified: directory/studio/trunk/features/apacheds.feature/feature.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/features/apacheds.feature/feature.xml?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/features/apacheds.feature/feature.xml (original)
+++ directory/studio/trunk/features/apacheds.feature/feature.xml Wed Jun 29 12:26:50 2016
@@ -12,7 +12,7 @@
    </description>
 
    <copyright>
-      Copyright © 2006-2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+      Copyright © 2006-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
    </copyright>
 
    <license url="http://www.apache.org/licenses/LICENSE-2.0.html">

Modified: directory/studio/trunk/features/ldapbrowser.feature/feature.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/features/ldapbrowser.feature/feature.xml?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/features/ldapbrowser.feature/feature.xml (original)
+++ directory/studio/trunk/features/ldapbrowser.feature/feature.xml Wed Jun 29 12:26:50 2016
@@ -12,7 +12,7 @@
    </description>
 
    <copyright>
-      Copyright © 2006-2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+      Copyright © 2006-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
    </copyright>
 
    <license url="http://www.apache.org/licenses/LICENSE-2.0.html">

Modified: directory/studio/trunk/features/ldifeditor.feature/feature.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/features/ldifeditor.feature/feature.xml?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/features/ldifeditor.feature/feature.xml (original)
+++ directory/studio/trunk/features/ldifeditor.feature/feature.xml Wed Jun 29 12:26:50 2016
@@ -12,7 +12,7 @@
    </description>
 
    <copyright>
-      Copyright © 2006-2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+      Copyright © 2006-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
    </copyright>
 
    <license url="http://www.apache.org/licenses/LICENSE-2.0.html">

Modified: directory/studio/trunk/features/nls.feature/feature.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/features/nls.feature/feature.xml?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/features/nls.feature/feature.xml (original)
+++ directory/studio/trunk/features/nls.feature/feature.xml Wed Jun 29 12:26:50 2016
@@ -11,7 +11,7 @@
    </description>
 
    <copyright>
-      Copyright © 2006-2015 The Apache Software Foundation, Licensed
+      Copyright © 2006-2016 The Apache Software Foundation, Licensed
 under the Apache License, Version 2.0.
    </copyright>
 

Modified: directory/studio/trunk/features/openldap.feature/feature.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/features/openldap.feature/feature.xml?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/features/openldap.feature/feature.xml (original)
+++ directory/studio/trunk/features/openldap.feature/feature.xml Wed Jun 29 12:26:50 2016
@@ -11,7 +11,7 @@
    </description>
 
    <copyright>
-      Copyright © 2006-2015 The Apache Software Foundation, Licensed
+      Copyright © 2006-2016 The Apache Software Foundation, Licensed
 under the Apache License, Version 2.0.
    </copyright>
 

Modified: directory/studio/trunk/features/rcp.feature/feature.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/features/rcp.feature/feature.xml?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/features/rcp.feature/feature.xml (original)
+++ directory/studio/trunk/features/rcp.feature/feature.xml Wed Jun 29 12:26:50 2016
@@ -12,7 +12,7 @@
    </description>
 
    <copyright>
-      Copyright © 2006-2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+      Copyright © 2006-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
    </copyright>
 
    <license url="http://www.apache.org/licenses/LICENSE-2.0.html">

Modified: directory/studio/trunk/features/schemaeditor.feature/feature.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/features/schemaeditor.feature/feature.xml?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/features/schemaeditor.feature/feature.xml (original)
+++ directory/studio/trunk/features/schemaeditor.feature/feature.xml Wed Jun 29 12:26:50 2016
@@ -12,7 +12,7 @@
    </description>
 
    <copyright>
-      Copyright © 2006-2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+      Copyright © 2006-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
    </copyright>
 
    <license url="http://www.apache.org/licenses/LICENSE-2.0.html">

Modified: directory/studio/trunk/plugins/apacheds.configuration/about.ini
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration/about.ini?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration/about.ini (original)
+++ directory/studio/trunk/plugins/apacheds.configuration/about.ini Wed Jun 29 12:26:50 2016
@@ -1,2 +1,2 @@
 featureImage=studio.png
-aboutText=Apache Directory Studio ApacheDS - ApacheDS (Apache Directory Server) specific tools: configuration editor for ApacheDS and a launchable ApacheDS.\n\nVersion: ${unqualifiedVersion}.${buildQualifier}\n\nCopyright \u00A9 2006-2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.\nVisit http://directory.apache.org/studio
+aboutText=Apache Directory Studio ApacheDS - ApacheDS (Apache Directory Server) specific tools: configuration editor for ApacheDS and a launchable ApacheDS.\n\nVersion: ${unqualifiedVersion}.${buildQualifier}\n\nCopyright \u00A9 2006-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.\nVisit http://directory.apache.org/studio

Modified: directory/studio/trunk/plugins/ldapbrowser.ui/about.ini
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.ui/about.ini?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.ui/about.ini (original)
+++ directory/studio/trunk/plugins/ldapbrowser.ui/about.ini Wed Jun 29 12:26:50 2016
@@ -1,2 +1,2 @@
 featureImage=studio.png
-aboutText=Apache Directory Studio LDAP Browser - Tools for browsing and editing LDAP servers.\n\nVersion: ${unqualifiedVersion}.${buildQualifier}\n\nCopyright \u00A9 2006-2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.\nVisit http://directory.apache.org/studio
+aboutText=Apache Directory Studio LDAP Browser - Tools for browsing and editing LDAP servers.\n\nVersion: ${unqualifiedVersion}.${buildQualifier}\n\nCopyright \u00A9 2006-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.\nVisit http://directory.apache.org/studio

Modified: directory/studio/trunk/plugins/ldifeditor/about.ini
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldifeditor/about.ini?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldifeditor/about.ini (original)
+++ directory/studio/trunk/plugins/ldifeditor/about.ini Wed Jun 29 12:26:50 2016
@@ -1,2 +1,2 @@
 featureImage=studio.png
-aboutText=Apache Directory Studio LDIF Editor - Editor for LDIF (LDAP Data Interchange Format) files.\n\nVersion: ${unqualifiedVersion}.${buildQualifier}\n\nCopyright \u00A9 2006-2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.\nVisit http://directory.apache.org/studio
+aboutText=Apache Directory Studio LDIF Editor - Editor for LDIF (LDAP Data Interchange Format) files.\n\nVersion: ${unqualifiedVersion}.${buildQualifier}\n\nCopyright \u00A9 2006-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.\nVisit http://directory.apache.org/studio

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/antlr/Acl.g
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/antlr/Acl.g?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/antlr/Acl.g (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/antlr/Acl.g Wed Jun 29 12:26:50 2016
@@ -25,6 +25,9 @@ package org.apache.directory.studio.open
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.directory.api.ldap.model.name.Dn;
+import org.apache.directory.api.ldap.model.exception.LdapInvalidDnException;
+
 import java.util.List;
 } 
     
@@ -95,6 +98,7 @@ tokens
     ID_subtree = "subtree";
     ID_to = "to";
     ID_users = "users";
+	ID_val = "val";
     ID_w = "w";
     ID_x = "x";
     ID_write = "write";
@@ -108,7 +112,9 @@ INTEGER : DIGIT | ( LDIGIT ( DIGIT )+ );
 
 DOUBLE_QUOTED_STRING : '"'! ( ~'"' )* '"'!;
         
-ATTR_IDENT : ('a'..'z' | '!' | '@' )  ('a'..'z' | DIGIT | '-' | ';' )*;
+//ATTR_IDENT : ('a'..'z' | '!' | '@' )  ('a'..'z' | DIGIT | '-' | ';' )*;
+
+IDENT : ('a'..'z') ('a'..'z' | DIGIT | '-')*;
 
 OPEN_CURLY : '{';
 
@@ -138,7 +144,7 @@ MINUS : '-';
 
 SLASH : '/';
 
-FILTER : '(' ( ( '&' ( SP )? (FILTER)+ ) | ( '|' (SP)? (FILTER)+ ) | ( '!' (SP)? FILTER ) | FILTER_VALUE ) ')';
+FILTER : '(' (SP)? ( ( '&' (SP)? (FILTER)+ ) | ( '|' (SP)? (FILTER)+ ) | ( '!' (SP)? FILTER ) | FILTER_VALUE ) (SP)? ')';
 
 protected FILTER_VALUE : (options{greedy=true;}: ~( ')' | '(' | '&' | '|' | '!' ) ( ~(')') )* ) ;
 
@@ -165,7 +171,6 @@ options
 // ----------------------------------------------------------------------------
 // parser initialization
 // ----------------------------------------------------------------------------
-
 {
     private static final Logger log = LoggerFactory.getLogger( AntlrAclParser.class );
     
@@ -177,275 +182,574 @@ options
     }
 }
 
+// ----------------------------------------------------------------------------
+// The entry rule :
+// <parse> ::= SP? <aclItem> SP? #
+// ----------------------------------------------------------------------------
 parse
     {
         log.debug( "entered parse()" );
+		System.out.println( "entered parse_init()" );
     }
     :
     ( SP )? aclItem ( SP )? EOF
     ;
     
+// ----------------------------------------------------------------------------
+// The initial ACI :
+// <acl> ::= ('access' SP)? SP? 'to' SP (<what>)? ( SP 'by' SP <who> )+
+// The <what> part hould be seen only once, it can be absent and then is
+// equivalent to '*'
+// the <who> part is seen at least once
+// ----------------------------------------------------------------------------
 aclItem
     {
         log.debug( "entered aclItem()" );
+		System.out.println( "entered aclItem()" );
 
         aclItem = new AclItem();
     }
     :
-    ( ID_access SP )? ID_to ( SP what )+ ( SP ID_by SP who )* 
+    ( ID_access SP)? (SP)? ID_to SP (what SP)? ( ID_by SP who )+
+	{
+		if ( aclItem.getWhatClause() == null )
+		{
+			// The 'what' is equivalent to '*'
+			aclItem.setWhatClause( new AclWhatClauseStar() );
+		}
+	}
     ;
 
+// ----------------------------------------------------------------------------
+// The <what> clause. 
+// <what> ::= 'dn' <what-dn> | <what-filter> | <what-attrs> | <what-star> | e
+// This is just a filtering clause
+// ----------------------------------------------------------------------------
 what
     {
         log.debug( "entered what()" );
+		System.out.println( "entered what()" );
     }
     :
-    ( what_star | what_dn | what_attrs | what_filter )
+    ( ID_dn what_dn | what_filter | what_attrs | what_star )
     ;
 
+// ----------------------------------------------------------------------------
+// The catch all 'what' clause. We store an instance of a
+// AclWhatClauseStar in the ACL
+//
+// <what-star> ::= '*'
+// ----------------------------------------------------------------------------
 what_star
-{
-    log.debug( "entered what_star()" );
-}
+	{
+    	log.debug( "entered what_star()" );
+		System.out.println( "entered what_star()" );
+	}
     :
     STAR
     {
-        if ( aclItem.getWhatClause().getStarClause() == null )
-        {
-            aclItem.getWhatClause().setStarClause( new AclWhatClauseStar() );
-        }
-        else
-        {
-            throw new RecognitionException( "A star (*) what clause already exists in the ACL." );
-        }
+        aclItem.setWhatClause( new AclWhatClauseStar() );
     };
 
+// ----------------------------------------------------------------------------
+// The <what-dn> clause. We have three flavors :
+// - the basic style which takes a regex parameter
+// - the scope style that takes a DN parameter
+// - a simple DN
+//
+// <what-dn> ::= <basic-dn-clause | <scope-dn-clause>| SP? '=' SP? DN
+// ----------------------------------------------------------------------------
 what_dn
-{
-    log.debug( "entered what_dn()" );
-    
-    AclWhatClauseDn whatClauseDn = new AclWhatClauseDn();
-    
-    if ( aclItem.getWhatClause().getDnClause() == null )
-    {
-        aclItem.getWhatClause().setDnClause( whatClauseDn );
-    }
-    else
-    {
-        throw new RecognitionException( "A DN what clause already exists in the ACL." );
-    }
-}
-    :
-    ID_dn ( DOT what_dn_type )? ( SP )? EQUAL ( SP )? token:DOUBLE_QUOTED_STRING
-    {
-        whatClauseDn.setPattern( token.getText() );
-    }
-    ;
-    
-what_dn_type
-{
-    log.debug( "entered what_dn_type()" );
-    
-    AclWhatClause whatClause = aclItem.getWhatClause();
-    AclWhatClauseDn whatClauseDn =  whatClause.getDnClause();
-    
-    if ( whatClauseDn == null )
-    {
-        // Throw an exception ?
-        return;
-    }
-}
-    :
-    ID_regex
-    {
-        whatClauseDn.setType( AclWhatClauseDnTypeEnum.REGEX );
-    }
-    |
-    ID_base
-    {
-        whatClauseDn.setType( AclWhatClauseDnTypeEnum.BASE );
-    }
-    |
-    ID_exact
-    {
-        whatClauseDn.setType( AclWhatClauseDnTypeEnum.EXACT );
-    }
-    |
-    ID_one
-    {
-        whatClauseDn.setType( AclWhatClauseDnTypeEnum.ONE );
-    }
-    |
-    ID_subtree
-    {
-        whatClauseDn.setType( AclWhatClauseDnTypeEnum.SUBTREE );
-    }
-    |
-    ID_children
-    {
-        whatClauseDn.setType( AclWhatClauseDnTypeEnum.CHILDREN );
-    }
+	{
+	    log.debug( "entered what_dn()" );
+		System.out.println( "entered what_dn()" );
+	}
+    :
+	basic_dn_style
+	|
+	scope_dn_clause
+	|
+	(SP)? EQUAL (SP)? 
+	( 
+		{
+			System.out.println( "what-dn default" );
+		}
+		quoted_token:DOUBLE_QUOTED_STRING 
+	    {
+			AclWhatClauseDn whatClauseDn = new AclWhatClauseDn();
+			String dnString = quoted_token.getText();
+
+			try
+			{
+				new Dn( dnString );
+			}
+			catch ( LdapInvalidDnException lide )
+			{
+				throw new  RecognitionException( "The DN is invalid : " + dnString );
+			}
+			
+			whatClauseDn.setPattern( dnString );
+			aclItem.setWhatClause( whatClauseDn );
+	    }
+		| 
+		string_token:STRING 
+	    {
+			AclWhatClauseDn whatClauseDn = new AclWhatClauseDn();
+			String dnString = string_token.getText();
+			
+			try
+			{
+				new Dn( dnString );
+			}
+			catch ( LdapInvalidDnException lide )
+			{
+				throw new  RecognitionException( "The DN is invalid" + dnString );
+			}
+			
+			whatClauseDn.setPattern( dnString );
+			aclItem.setWhatClause( whatClauseDn );
+	    }
+	)
     ;
+	
+// ----------------------------------------------------------------------------
+// The <basic-dn-style> clause.
+//
+// <basic-dn-clause> ::= <exact-basic-dn-style> | <regex-basic-dn-style>
+//
+// ----------------------------------------------------------------------------
+basic_dn_style
+	{
+	    log.debug( "entered basic_dn_style()" );
+		System.out.println( "entered basic_dn_style()" );
+	}
+	:
+	exact_basic_dn_style | regex_basic_dn_style
+	;
+	
+// ----------------------------------------------------------------------------
+// The <exact-basic-dn-style> clause.
+//
+// <exact-basic-dn-clause> ::= '.' 'exact' SP? '=' SP? DN
+//
+// ----------------------------------------------------------------------------
+exact_basic_dn_style
+	{
+	    log.debug( "entered exact_basic_dn_style()" );
+		System.out.println( "entered basic_dn_style()" );
+		AclWhatClauseDn whatClauseDn = new AclWhatClauseDn();
+		whatClauseDn.setType( AclWhatClauseDnTypeEnum.EXACT );
+	}
+	:
+	DOT
+	(
+		ID_exact (SP)? EQUAL (SP)? 
+		( 
+			quoted_token:DOUBLE_QUOTED_STRING 
+			{
+				String dnString = quoted_token.getText();
+
+				try
+				{
+					new Dn( dnString );
+				}
+				catch ( LdapInvalidDnException lide )
+				{
+					throw new  RecognitionException( "The DN is invalid" + dnString );
+				}
+				
+				whatClauseDn.setPattern( dnString );
+			}
+			| 
+			string_token:STRING 
+			{
+				String dnString = string_token.getText();
+				
+				try
+				{
+					new Dn( dnString );
+				}
+				catch ( LdapInvalidDnException lide )
+				{
+					throw new  RecognitionException( "The DN is invalid" + dnString );
+				}
+				
+				whatClauseDn.setPattern( dnString );
+			}
+		)
+	)
+	{
+		aclItem.setWhatClause( whatClauseDn );
+	}
+	;
 
-what_attrs
-{
-    log.debug( "entered what_attrs()" );
-    
-    if ( aclItem.getWhatClause().getAttributesClause() == null )
-    {
-        aclItem.getWhatClause().setAttributesClause( new AclWhatClauseAttributes() );
-    }
-    else
-    {
-        throw new RecognitionException( "A attributes what clause already exists in the ACL." );
-    }
-}
-    :
-    ( ID_attrs | ID_attr ) ( SP )? EQUAL ( SP )? what_attrs_attr_ident ( SEP what_attrs_attr_ident )* ( SP what_attrs_val )?
+// ----------------------------------------------------------------------------
+// The <regex-basic-dn-style> clause.
+//
+// <regex-basic-dn-clause> ::= '.' 'regex' SP? '=' SP? REGEXP
+//
+// ----------------------------------------------------------------------------
+regex_basic_dn_style
+	{
+	    log.debug( "entered regex_basic_dn_style()" );
+		System.out.println( "entered regex_basic_dn_style()" );
+		AclWhatClauseDn whatClauseDn = new AclWhatClauseDn();
+		whatClauseDn.setType( AclWhatClauseDnTypeEnum.REGEX );
+	}
+	:
+	DOT
+	(
+		ID_regex (SP)? EQUAL (SP)? 
+		{
+			System.out.println( "In '='" );
+		}
+		( 
+			quoted_token:DOUBLE_QUOTED_STRING 
+			{
+				whatClauseDn.setPattern( quoted_token.getText() );
+			}
+			| 
+			string_token:STRING 
+			{
+				whatClauseDn.setPattern( string_token.getText() );
+			}
+		)
+	)
+	{
+		aclItem.setWhatClause( whatClauseDn );
+	}
+	;
+
+// ----------------------------------------------------------------------------
+// The <scope-dn-clause> clause.
+//
+// <scope-dn-clause> ::= <scope-dn-style> SP? '=' SP? DN
+// ----------------------------------------------------------------------------
+scope_dn_clause 
+	{
+	    log.debug( "entered scope_dn_clause()" );
+		System.out.println( "entered scope_dn_clause()" );
+		AclWhatClauseDn whatClauseDn = new AclWhatClauseDn();
+	}
+	:
+	scope_dn_style[whatClauseDn]
+	(SP)? EQUAL (SP)? 
+	( 
+		quoted_token:DOUBLE_QUOTED_STRING 
+	    {
+	        whatClauseDn.setPattern( quoted_token.getText() );
+	    }
+		| 
+		string_token:STRING 
+	    {
+	        whatClauseDn.setPattern( string_token.getText() );
+	    }
+	)
+	{
+		aclItem.setWhatClause( whatClauseDn );
+	}
+	;
+
+// ----------------------------------------------------------------------------
+// <scope-dn-style>	::= '.' 'base' | '.' 'baseobject' | '.' 'one' | 
+//						'.' 'onelevel' | '.' 'sub' | '.' 'subtree' | 
+//						'.' 'children'
+// ----------------------------------------------------------------------------
+scope_dn_style [AclWhatClauseDn whatClauseDn]
+	{
+	    log.debug( "entered scope_dn_style()" );
+		System.out.println( "entered scope_dn_style()" );
+	}
+    :
+	DOT
+	(
+		ID_base
+	    {
+	        whatClauseDn.setType( AclWhatClauseDnTypeEnum.BASE );
+	    }
+	    |
+	    ID_base_object
+	    {
+	        whatClauseDn.setType( AclWhatClauseDnTypeEnum.BASE_OBJECT );
+	    }
+	    |
+	    ID_one
+	    {
+	        whatClauseDn.setType( AclWhatClauseDnTypeEnum.ONE );
+	    }
+	    |
+	    ID_one_level
+	    {
+	        whatClauseDn.setType( AclWhatClauseDnTypeEnum.ONE_LEVEL );
+	    }
+	    |
+	    ID_sub
+	    {
+	        whatClauseDn.setType( AclWhatClauseDnTypeEnum.SUB );
+	    }
+	    |
+	    ID_subtree
+	    {
+	        whatClauseDn.setType( AclWhatClauseDnTypeEnum.SUBTREE );
+	    }
+	    |
+	    ID_children
+	    {
+	        whatClauseDn.setType( AclWhatClauseDnTypeEnum.CHILDREN );
+	    }
+	)
     ;
 
-what_attrs_val
-{
-    log.debug( "entered what_attrs_val()" );
-    
-    AclWhatClause whatClause = aclItem.getWhatClause();
-    AclWhatClauseAttributes whatClauseAttributes =  whatClause.getAttributesClause();
+// ----------------------------------------------------------------------------
+// <what-filter> ::= 'filter' SP? '=' SP? <ldapFilter>
+// ----------------------------------------------------------------------------
+what_filter
+	{
+	    log.debug( "entered what_filter()" );
+	    System.out.println( "entered what_filter()" );
     
-    if ( whatClauseAttributes == null )
-    {
-        // Throw an exception ?
-        return;
-    }
-}
+	    AclWhatClauseFilter whatClauseFilter = new AclWhatClauseFilter();
+	}
     :
-    ID_val ( what_attrs_matchingRule )? ( what_attrs_style )? ( SP )? EQUAL ( SP )? token:DOUBLE_QUOTED_STRING 
+    ID_filter ( SP )? EQUAL ( SP )? token:FILTER
     {
-        whatClauseAttributes.setVal( true );
-        whatClauseAttributes.setValue( token.getText() );
-    }
-    ;
+		// TODO : check tah the filter is valid
+        whatClauseFilter.setFilter( token.getText() );
 
-what_attrs_matchingRule
-{
-    log.debug( "entered what_attrs_matchingRule()" );
-    
-    AclWhatClause whatClause = aclItem.getWhatClause();
-    AclWhatClauseAttributes whatClauseAttributes =  whatClause.getAttributesClause();
+        aclItem.setWhatClause( whatClauseFilter );
+    };
     
-    if ( whatClauseAttributes == null )
-    {
-        // Throw an exception ?
-        return;
-    }
-}
+
+// ----------------------------------------------------------------------------
+// <what-attrs> ::= ( 'attrs' | 'attr' ) SP? '=' SP? <what-attrs-list>
+// ----------------------------------------------------------------------------
+what_attrs
+	{
+	    log.debug( "entered what_attrs()" );
+	    System.out.println( "entered what_attrs()" );
+
+	    //AclWhatClauseAttributes whatClauseAttributes = new AclWhatClauseAttributess();
+	}
     :
-    SLASH ID_matchingRule
-    {
-        whatClauseAttributes.setMatchingRule( true );
-    }
+    ( ID_attrs | ID_attr ) ( SP )? EQUAL ( SP )? what_attrs_list
     ;
 
-what_attrs_style
-{
-    log.debug( "entered what_attrs_style()" );
-    
-    AclWhatClause whatClause = aclItem.getWhatClause();
-    AclWhatClauseAttributes whatClauseAttributes =  whatClause.getAttributesClause();
-    
-    if ( whatClauseAttributes == null )
-    {
-        // Throw an exception ?
-        return;
-    }
-}
-    :
+// ----------------------------------------------------------------------------
+// <what-attrs-list>	::= IDENT <attr-val>? | <what_attr> <attr-list>
+// ----------------------------------------------------------------------------
+what_attrs_list
+	{
+	    log.debug( "entered what_attrs_list()" );
+	    System.out.println( "entered what_attrs_list()" );
+		
+	}
+	:
+	(
+		attribute:IDENT ( (attr_val)? | SEP attr_list )
+		{
+			// We are not allowed to have more than one attribute 
+			// if we have a val
+		}
+		|
+		ID_entry
+		|
+		ID_children
+	)
+	;
+
+// ----------------------------------------------------------------------------
+// <attr_val>	::= SP 'val' <matching-rule>? <attr-val-style> SP? '=' SP? REGEX
+// ----------------------------------------------------------------------------
+attr_val
+	{
+	    log.debug( "entered what_attrs_list()" );
+	    System.out.println( "entered what_attrs_list()" );
+	}
+	:
+	SP ID_val (matching_rule)? (attr_val_style)? (SP)? EQUAL (SP)? REGEX
+	;
+
+// ----------------------------------------------------------------------------
+// <matching-rule>	::= '/' IDENT
+// ----------------------------------------------------------------------------
+matching_rule
+	{
+	    log.debug( "entered matching_rule()" );
+	    System.out.println( "entered matching_rule()" );
+	}
+	:
+	SLASH IDENT
+	;
+
+// ----------------------------------------------------------------------------
+// <matching-rule>	::= '/' IDENT
+// ----------------------------------------------------------------------------
+attr_val_style
+	{
+	    log.debug( "entered attr_val_style()" );
+	    System.out.println( "entered attr_val_style()" );
+	}
+	:
     DOT 
     (
         ID_exact
         {
-            whatClauseAttributes.setStyle( AclAttributeStyleEnum.EXACT );
+            //whatClauseAttributes.setStyle( AclAttributeStyleEnum.EXACT );
         }
         |
         ID_base
         {
-            whatClauseAttributes.setStyle( AclAttributeStyleEnum.BASE );
+            //whatClauseAttributes.setStyle( AclAttributeStyleEnum.BASE );
         }
         |
         ID_base_object
         {
-            whatClauseAttributes.setStyle( AclAttributeStyleEnum.BASE_OBJECT );
+            //whatClauseAttributes.setStyle( AclAttributeStyleEnum.BASE_OBJECT );
         }
         |
         ID_regex
         {
-            whatClauseAttributes.setStyle( AclAttributeStyleEnum.REGEX );
-        }
-        |
-        ID_one
-        {
-            whatClauseAttributes.setStyle( AclAttributeStyleEnum.ONE );
-        }
-        |
-        ID_one_level
-        {
-            whatClauseAttributes.setStyle( AclAttributeStyleEnum.ONE_LEVEL );
-        }
-        |
-        ID_sub
-        {
-            whatClauseAttributes.setStyle( AclAttributeStyleEnum.SUB );
-        }
-        |
-        ID_subtree
-        {
-            whatClauseAttributes.setStyle( AclAttributeStyleEnum.SUBTREE );
-        }
-        |
-        ID_children
-        {
-            whatClauseAttributes.setStyle( AclAttributeStyleEnum.CHILDREN );
+            //whatClauseAttributes.setStyle( AclAttributeStyleEnum.REGEX );
         }
     )
-    ;
-    
-what_attrs_attr_ident
-{
-    log.debug( "entered what_attrs_attr_ident()" );
-    
-    AclWhatClause whatClause = aclItem.getWhatClause();
-    AclWhatClauseAttributes whatClauseAttributes =  whatClause.getAttributesClause();
-    
-    if ( whatClauseAttributes == null )
-    {
+	;
+	
+// ----------------------------------------------------------------------------
+// <attr-list> 		::= ( IDENT | 'entry' | 'children' ) ( ',' <attr_list> )*
+// ----------------------------------------------------------------------------
+attr_list
+	{
+	    log.debug( "entered attr_list()" );
+	    System.out.println( "entered attr_list()" );
+	}
+	:
+	(IDENT | ID_entry | ID_children) ( SEP attr_list )*
+	;
+	
+//what_attrs_val
+//{
+//    log.debug( "entered what_attrs_val()" );
+//    
+//    AclWhatClause whatClause = aclItem.getWhatClause();
+//    AclWhatClauseAttributes whatClauseAttributes =  whatClause.getAttributesClause();
+//    
+//    if ( whatClauseAttributes == null )
+//    {
+//        // Throw an exception ?
+//        return;
+//    }
+//}
+//    :
+//    ID_val ( what_attrs_matchingRule )? ( what_attrs_style )? ( SP )? EQUAL ( SP )? token:DOUBLE_QUOTED_STRING 
+//    {
+//        whatClauseAttributes.setVal( true );
+//        whatClauseAttributes.setValue( token.getText() );
+//    }
+//    ;
+
+//what_attrs_matchingRule
+//{
+//    log.debug( "entered what_attrs_matchingRule()" );
+//    
+//    AclWhatClause whatClause = aclItem.getWhatClause();
+//    AclWhatClauseAttributes whatClauseAttributes =  whatClause.getAttributesClause();
+//    
+//    if ( whatClauseAttributes == null )
+//    {
+//        // Throw an exception ?
+//        return;
+//    }
+//}
+//    :
+//    SLASH ID_matchingRule
+//    {
+//        whatClauseAttributes.setMatchingRule( true );
+//    }
+//    ;
+
+//what_attrs_style
+//{
+//    log.debug( "entered what_attrs_style()" );
+//    
+//    AclWhatClause whatClause = aclItem.getWhatClause();
+//    AclWhatClauseAttributes whatClauseAttributes =  whatClause.getAttributesClause();
+//    
+//    if ( whatClauseAttributes == null )
+//    {
         // Throw an exception ?
-        return;
-    }
-}
-    :
-    token:ATTR_IDENT
-    {
-        whatClauseAttributes.addAttribute( token.getText() );
-    }
-    ;
-
-what_filter
-{
-    log.debug( "entered what_filter()" );
-    
-    if ( aclItem.getWhatClause().getFilterClause() != null )
-    {
-        throw new RecognitionException( "A filter what clause already exists in the ACL." );
-    }
-}
-    :
-    ID_filter ( SP )? EQUAL ( SP )? token:FILTER
-    {
-        AclWhatClauseFilter whatClauseFilter = new AclWhatClauseFilter();
-        whatClauseFilter.setFilter( token.getText() );
+//        return;
+//    }
+//}
+//    :
+//    DOT 
+//    (
+//        ID_exact
+//        {
+//            whatClauseAttributes.setStyle( AclAttributeStyleEnum.EXACT );
+//        }
+//        |
+//        ID_base
+//        {
+//            whatClauseAttributes.setStyle( AclAttributeStyleEnum.BASE );
+//        }
+//        |
+//        ID_base_object
+//        {
+//            whatClauseAttributes.setStyle( AclAttributeStyleEnum.BASE_OBJECT );
+//        }
+//        |
+//        ID_regex
+//        {
+//            whatClauseAttributes.setStyle( AclAttributeStyleEnum.REGEX );
+//        }
+//        |
+//        ID_one
+//        {
+//            whatClauseAttributes.setStyle( AclAttributeStyleEnum.ONE );
+//        }
+//        |
+//        ID_one_level
+//        {
+//            whatClauseAttributes.setStyle( AclAttributeStyleEnum.ONE_LEVEL );
+//        }
+//        |
+//        ID_sub
+//        {
+//            whatClauseAttributes.setStyle( AclAttributeStyleEnum.SUB );
+//        }
+//        |
+//        ID_subtree
+//        {
+//            whatClauseAttributes.setStyle( AclAttributeStyleEnum.SUBTREE );
+//        }
+//        |
+//        ID_children
+//        {
+//            whatClauseAttributes.setStyle( AclAttributeStyleEnum.CHILDREN );
+//        }
+//    )
+//    ;
+    
+//what_attrs_attr_ident
+//{
+//    log.debug( "entered what_attrs_attr_ident()" );
+//    
+//    AclWhatClause whatClause = aclItem.getWhatClause();
+//    AclWhatClauseAttributes whatClauseAttributes =  whatClause.getAttributesClause();
+//    
+//    if ( whatClauseAttributes == null )
+//    {
+//        // Throw an exception ?
+//        return;
+//    }
+//}
+//    :
+//    token:IDENT
+//    {
+//        whatClauseAttributes.addAttribute( token.getText() );
+//    }
+//    ;
 
-        aclItem.getWhatClause().setFilterClause( whatClauseFilter );
-    };
-    
 who
 {
     log.debug( "entered who()" );
@@ -502,7 +806,7 @@ who_dnattr
     aclItem.addWhoClause( whoClauseDnAttr ); 
 }
     :
-    ID_dnattr ( SP )? EQUAL ( SP )? token:ATTR_IDENT
+    ID_dnattr ( SP )? EQUAL ( SP )? token:IDENT
     {
         whoClauseDnAttr.setAttribute( token.getText() );
     };
@@ -515,7 +819,7 @@ who_group
     aclItem.addWhoClause( whoClauseGroup ); 
 }
     :
-    ID_group ( SLASH objectclass:ATTR_IDENT ( SLASH attrname:ATTR_IDENT )? )? ( DOT who_group_type )? EQUAL pattern:DOUBLE_QUOTED_STRING
+    ID_group ( SLASH objectclass:IDENT ( SLASH attrname:IDENT )? )? ( DOT who_group_type )? EQUAL pattern:DOUBLE_QUOTED_STRING
     {
         if ( objectclass != null )
         {

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttribute.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttribute.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttribute.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttribute.java Wed Jun 29 12:26:50 2016
@@ -28,7 +28,7 @@ import org.apache.directory.studio.openl
 
 /**
  * A class used to store the WhatClause attributes with a qualifier (either '!' or '@').
- * We store either an AttributeType, or an ObjectClass (prefixed with '@' or '¬'), or one
+ * We store either an AttributeType, or an ObjectClass (prefixed with '@' or '!'), or one
  * of the two special values : 'entry' and 'children'
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeStyleEnum.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeStyleEnum.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeStyleEnum.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeStyleEnum.java Wed Jun 29 12:26:50 2016
@@ -30,11 +30,6 @@ public enum AclAttributeStyleEnum
     BASE( "base" ),
     BASE_OBJECT( "baseobject" ),
     REGEX( "regex" ),
-    ONE( "one" ),
-    ONE_LEVEL( "onelevel" ),
-    SUB( "sub" ),
-    SUBTREE( "subtree" ),
-    CHILDREN( "children" ),
     NONE( "---" );
 
     /** The interned name */

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeVal.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeVal.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeVal.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeVal.java Wed Jun 29 12:26:50 2016
@@ -43,8 +43,8 @@ public class AclAttributeVal
     /** The MatchingRule flag */
     private boolean matchingRule;
     
-    /** The value */
-    private String value;
+    /** The regex */
+    private String regex;
 
     /**
      * @return the aclAttributes

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclItem.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclItem.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclItem.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclItem.java Wed Jun 29 12:26:50 2016
@@ -46,7 +46,6 @@ public class AclItem
      */
     public AclItem()
     {
-        whatClause = new AclWhatClause();
     }
 
 
@@ -175,6 +174,7 @@ public class AclItem
                 {
                     sb.append( " " );
                 }
+                
                 sb.append( "by " );
                 sb.append( whoClause.toString() );
             }

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClause.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClause.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClause.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClause.java Wed Jun 29 12:26:50 2016
@@ -26,12 +26,6 @@ package org.apache.directory.studio.open
  */
 public class AclWhatClause
 {
-    /** The star (*) clause */
-    private AclWhatClauseStar starClause;
-
-    /** The DN clause */
-    private AclWhatClauseDn dnClause;
-
     /** The filter clause */
     private AclWhatClauseFilter filterClause;
 
@@ -47,25 +41,11 @@ public class AclWhatClause
     public AclWhatClause( AclWhatClauseStar starClause, AclWhatClauseDn dnClause, AclWhatClauseFilter filterClause,
         AclWhatClauseAttributes attributesClause )
     {
-        this.starClause = starClause;
-        this.dnClause = dnClause;
         this.filterClause = filterClause;
         this.attributesClause = attributesClause;
     }
 
 
-    public AclWhatClause( AclWhatClauseStar starClause )
-    {
-        this.starClause = starClause;
-    }
-
-
-    public AclWhatClause( AclWhatClauseDn dnClause )
-    {
-        this.dnClause = dnClause;
-    }
-
-
     public AclWhatClause( AclWhatClauseFilter filterClause )
     {
         this.filterClause = filterClause;
@@ -88,15 +68,6 @@ public class AclWhatClause
 
 
     /**
-     * @return the dnClause
-     */
-    public AclWhatClauseDn getDnClause()
-    {
-        return dnClause;
-    }
-
-
-    /**
      * @return the filterClause
      */
     public AclWhatClauseFilter getFilterClause()
@@ -106,15 +77,6 @@ public class AclWhatClause
 
 
     /**
-     * @return the starClause
-     */
-    public AclWhatClauseStar getStarClause()
-    {
-        return starClause;
-    }
-
-
-    /**
      * @param attributesClause the attributesClause to set
      */
     public void setAttributesClause( AclWhatClauseAttributes attributesClause )
@@ -124,93 +86,10 @@ public class AclWhatClause
 
 
     /**
-     * @param dnClause the dnClause to set
-     */
-    public void setDnClause( AclWhatClauseDn dnClause )
-    {
-        this.dnClause = dnClause;
-    }
-
-
-    /**
      * @param filterClause the filterClause to set
      */
     public void setFilterClause( AclWhatClauseFilter filterClause )
     {
         this.filterClause = filterClause;
     }
-
-
-    /**
-     * @param starClause the starClause to set
-     */
-    public void setStarClause( AclWhatClauseStar starClause )
-    {
-        this.starClause = starClause;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public String toString()
-    {
-        StringBuilder sb = new StringBuilder();
-
-        boolean isFirst = true;
-
-        // Star (*) clause
-        if ( starClause != null )
-        {
-            isFirst = false;
-            sb.append( starClause.toString() );
-        }
-
-        // DN clause
-        if ( dnClause != null )
-        {
-            if ( isFirst )
-            {
-                isFirst = false;
-            }
-            else
-            {
-                sb.append( " " );
-            }
-
-            sb.append( dnClause.toString() );
-        }
-
-        // Filter clause
-        if ( filterClause != null )
-        {
-            if ( isFirst )
-            {
-                isFirst = false;
-            }
-            else
-            {
-                sb.append( " " );
-            }
-
-            sb.append( filterClause.toString() );
-        }
-
-        // Attributes clause
-        if ( attributesClause != null )
-        {
-            if ( isFirst )
-            {
-                isFirst = false;
-            }
-            else
-            {
-                sb.append( " " );
-            }
-
-            sb.append( attributesClause.toString() );
-        }
-
-        return sb.toString();
-    }
 }

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseAttributes.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseAttributes.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseAttributes.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseAttributes.java Wed Jun 29 12:26:50 2016
@@ -25,26 +25,25 @@ import java.util.Collection;
 import java.util.List;
 
 /**
- * The Acl what-attrs clause.
+ * The Acl what-attrs clause. We either have an attribute val clause, or an attribute list clause.  
  * 
  * <pre>
- * attrs ::= attrlist val-e
- * attrlist ::= attr attr-e
- * attr-e ::= ',' attr attr-e
- * attr :: attributeType | '!' objectClass | '@' objectClass | 'entry' | 'children'
- * val-e ::= 'val' matchingRule style '=' attrval | e
- * matchingRule ::= '/matchingRule' | e
- * style ::= '.exact' | '.base' | '.baseobject' | '.regex' | '.one' | '.onelevel' | '.sub' | '.subtree' | '.children'
- * attrval ::= STRING 
+ * <what-attrs>		::= ( 'attrs' | 'attr' ) SP '=' SP <attrs>
+ * <attrs>			::= IDENT SP 'val' <mr-e> <attr-val-style> SP? '=' SP? REGEX | <what-attr> <what-attr-list>
+ * <attr-val-style>	::= '.' <basic-style> | e
+ * <basic-style>	::= 'exact' | 'base' | 'baseobject' | 'regex'
+ * <mr-e>			::= '/' IDENT | e
+ * <what-attr-list>	::= ',' <what-attr> <what-attr-list> | e
+ * <what-attr> 		::= IDENT | '@' IDENT | '!' IDENT | 'entry' | 'children'
  * </pre>
+ * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class AclWhatClauseAttributes
+public class AclWhatClauseAttributes extends AclWhatClause 
 {
     /** The attributeVal element */
     private AclAttributeVal aclAttributeVal;
     
-    
     /**
      * Creates an instance of AclWhatClauseAttributes
      */

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseDn.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseDn.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseDn.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseDn.java Wed Jun 29 12:26:50 2016
@@ -21,13 +21,27 @@ package org.apache.directory.studio.open
 
 
 /**
- * The  Acl what-dn clause.
+ * The  Acl what-dn clause. It has a type and a pattern.
+ * The type is one of :
+ * <ul>
+ *   <li>base : AclWhatClauseDnTypeEnum.BASE</li>
+ *   <li>baseObject : AclWhatClauseDnTypeEnum.BASE_OBJECT</li>
+ *   <li>one : AclWhatClauseDnTypeEnum.ONE</li>
+ *   <li>oneLevel : AclWhatClauseDnTypeEnum.ONE_LEVEL</li>
+ *   <li>sub/subtree : AclWhatClauseDnTypeEnum.SUB</li>
+ *   <li>subtree : AclWhatClauseDnTypeEnum.SUBTREE</li>
+ *   <li>children : AclWhatClauseDnTypeEnum.CHILDREN</li>
+ *   <li>exact : AclWhatClauseDnTypeEnum.EXACT</li>
+ *   <li>regex : AclWhatClauseDnTypeEnum.REGEX</li>
+ * </ul>
+ * 
+ * The pattern can be a DN or a regexp, depending on the type.
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class AclWhatClauseDn
+public class AclWhatClauseDn extends AclWhatClause
 {
-    /** The type */
+    /** The type, default to BASE */
     private AclWhatClauseDnTypeEnum type;
 
     /** The pattern */

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseFilter.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseFilter.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseFilter.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseFilter.java Wed Jun 29 12:26:50 2016
@@ -21,10 +21,11 @@ package org.apache.directory.studio.open
 
 
 /**
+ * The Acl what-filter clause. It stores a Ldap Filter.
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class AclWhatClauseFilter
+public class AclWhatClauseFilter extends AclWhatClause
 {
     /** The filter */
     private String filter;

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseStar.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseStar.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseStar.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseStar.java Wed Jun 29 12:26:50 2016
@@ -24,7 +24,7 @@ package org.apache.directory.studio.open
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class AclWhatClauseStar
+public class AclWhatClauseStar extends AclWhatClause
 {
     /**
      * {@inheritDoc}

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhoClauseDn.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhoClauseDn.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhoClauseDn.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhoClauseDn.java Wed Jun 29 12:26:50 2016
@@ -20,13 +20,13 @@
 package org.apache.directory.studio.openldap.config.acl.model;
 
 /**
- * 
+ * The Acl
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
 public class AclWhoClauseDn extends AbstractAclWhoClause
 {
-    /** The type */
-    private AclWhoClauseDnTypeEnum type = AclWhoClauseDnTypeEnum.BASE;
+    /** The type, default to BASE */
+    private AclWhoClauseDnTypeEnum type;
 
     /** The modifier */
     private AclWhoClauseDnModifierEnum modifier;

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/OpenLdapAclWhatClauseWidget.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/OpenLdapAclWhatClauseWidget.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/OpenLdapAclWhatClauseWidget.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/OpenLdapAclWhatClauseWidget.java Wed Jun 29 12:26:50 2016
@@ -305,28 +305,20 @@ public class OpenLdapAclWhatClauseWidget
         if ( whatClause != null )
         {
             // DN clause
-            AclWhatClauseDn dnClause = whatClause.getDnClause();
-            
-            if ( dnClause != null )
-            {
+        	if ( whatClause instanceof AclWhatClauseDn )
+        	{
                 dnCheckbox.setSelection( true );
                 createDnComposite();
-            }
-
-            // Filter clause
-            AclWhatClauseFilter filterClause = whatClause.getFilterClause();
-            
-            if ( filterClause != null )
-            {
+        	}
+        	else if ( whatClause instanceof AclWhatClauseFilter )
+        	{
+        		// Filter clause
                 filterCheckbox.setSelection( true );
                 createFilterComposite();
             }
-
-            // Attributes clause
-            AclWhatClauseAttributes attributesClause = whatClause.getAttributesClause();
-            
-            if ( attributesClause != null )
-            {
+        	else if ( whatClause instanceof AclWhatClauseAttributes )
+        	{
+        		// Attributes clause
                 attributesCheckbox.setSelection( true );
                 createAttributesComposite();
             }

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/composites/WhatClauseDnComposite.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/composites/WhatClauseDnComposite.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/composites/WhatClauseDnComposite.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/composites/WhatClauseDnComposite.java Wed Jun 29 12:26:50 2016
@@ -53,7 +53,7 @@ public class WhatClauseDnComposite exten
     {
         public void widgetModified( WidgetModifyEvent event )
         {
-            context.getAclItem().getWhatClause().getDnClause().setPattern( entryWidget.getDn().toString() );
+            ((AclWhatClauseDn)context.getAclItem().getWhatClause()).setPattern( entryWidget.getDn().toString() );
         }
     };
 
@@ -61,11 +61,11 @@ public class WhatClauseDnComposite exten
     public WhatClauseDnComposite( OpenLdapAclValueWithContext context, Composite visualEditorComposite )
     {
         super( context, visualEditorComposite );
-        AclWhatClause aclWhatClause = context.getAclItem().getWhatClause();
+        AclWhatClause whatClause = context.getAclItem().getWhatClause();
         
-        if ( aclWhatClause.getDnClause() == null )
+        if ( whatClause == null )
         {
-            aclWhatClause.setDnClause( new AclWhatClauseDn() );
+            context.getAclItem().setWhatClause( new AclWhatClauseDn() );
         }
     }
 
@@ -120,11 +120,11 @@ public class WhatClauseDnComposite exten
     {
         if ( entryWidget != null )
         {
-            if ( context.getAclItem().getWhatClause().getDnClause() != null )
+            if ( context.getAclItem().getWhatClause() != null )
             {
                 try
                 {
-                    entryWidget.setInput( connection, new Dn( context.getAclItem().getWhatClause().getDnClause().getPattern() ) );
+                    entryWidget.setInput( connection, new Dn( ((AclWhatClauseDn)context.getAclItem().getWhatClause()).getPattern() ) );
                 }
                 catch ( LdapInvalidDnException e )
                 {

Modified: directory/studio/trunk/plugins/openldap.acl.editor/src/test/java/org/apache/directory/studio/openldap/config/acl/model/OpenLdapAclParserTest.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.acl.editor/src/test/java/org/apache/directory/studio/openldap/config/acl/model/OpenLdapAclParserTest.java?rev=1750623&r1=1750622&r2=1750623&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.acl.editor/src/test/java/org/apache/directory/studio/openldap/config/acl/model/OpenLdapAclParserTest.java (original)
+++ directory/studio/trunk/plugins/openldap.acl.editor/src/test/java/org/apache/directory/studio/openldap/config/acl/model/OpenLdapAclParserTest.java Wed Jun 29 12:26:50 2016
@@ -27,9 +27,12 @@ import static org.junit.Assert.assertNul
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.List;
 
+import antlr.RecognitionException;
+
 import org.apache.directory.studio.openldap.config.acl.model.AclAttribute;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -40,60 +43,81 @@ import org.junit.Test;
  */
 public class OpenLdapAclParserTest
 {
-    @Test
+    @Test( expected = ParseException.class )
     public void testEmpty() throws Exception
     {
-        try
-        {
-            OpenLdapAclParser parser = new OpenLdapAclParser();
-            parser.parse( "" );
+    	System.out.println( "\n--> testEmpty" );
+        OpenLdapAclParser parser = new OpenLdapAclParser();
+        parser.parse( "" );
 
-            fail();
-        }
-        catch ( Exception e )
-        {
-            // Should happen
-        }
+        fail();
     }
 
 
     @Test
-    public void testWhatStar() throws Exception
+    public void testImpliedWhatStarWithAccess() throws Exception
     {
+    	System.out.println( "\n--> testImpliedWhatStarWithAccess" );
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "access to * by *" );
+        AclItem aclItem = parser.parse( "access   to by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        assertNotNull( whatClause.getStarClause() );
+        assertTrue( whatClause instanceof AclWhatClauseStar );
+        
+        System.out.println( "<-- ACL:" + aclItem );
     }
 
 
     @Test
+    public void testWhatStarWithAccess() throws Exception
+    {
+    	System.out.println( "\n--> testWhatStarWithAccess" );
+        // Create parser
+        OpenLdapAclParser parser = new OpenLdapAclParser();
+
+        // Testing the ACL item
+        AclItem aclItem = parser.parse( "access   to * by *" );
+        assertNotNull( aclItem );
+
+        // Testing the 'what' clause
+        AclWhatClause whatClause = aclItem.getWhatClause();
+        assertNotNull( whatClause );
+        assertTrue( whatClause instanceof AclWhatClauseStar );
+        
+        System.out.println( "<-- ACL:" + aclItem );
+    }
+
+    
+    @Test
     public void testWhatStarWithoutAccess() throws Exception
     {
+    	System.out.println( "\n--> testWhatStarWithoutAccess" );
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "to * by *" );
+        AclItem aclItem = parser.parse( " to * by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        assertNotNull( whatClause.getStarClause() );
+        assertTrue( whatClause instanceof AclWhatClauseStar );
+        
+        System.out.println( "<-- ACL:" + aclItem );
     }
 
 
     @Test
     public void testWhatStarWithSpaces() throws Exception
     {
+    	System.out.println( "\n--> testWhatStarWithSpaces" );
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
@@ -104,31 +128,31 @@ public class OpenLdapAclParserTest
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        assertNotNull( whatClause.getStarClause() );
+        assertTrue( whatClause instanceof AclWhatClauseStar );
+        
+        System.out.println( "<-- ACL:" + aclItem );
     }
 
 
-    @Test
+    @Test( expected = ParseException.class )
     public void testWhatTwoStars() throws Exception
     {
-        try
-        {
-            OpenLdapAclParser parser = new OpenLdapAclParser();
-            parser.parse( "to * * by *" );
+    	System.out.println( "\n--> testWhatTwoStars" );
+        OpenLdapAclParser parser = new OpenLdapAclParser();
+        parser.parse( "to * * by *" );
 
-            fail();
-        }
-        catch ( Exception e )
-        {
-            // Should happen
-        }
+        fail();
     }
 
-
+    
+    //-----------------------------------------------------------------------------------------
+    // The WHAT DN rule
+    //-----------------------------------------------------------------------------------------
     @Test
-    public void testWhatDn() throws Exception
+    public void testWhatDnValidDnWithQuote() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnValidDnWithQuote" );
+        String dnPattern = "dc=example,dc=com";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
@@ -140,146 +164,230 @@ public class OpenLdapAclParserTest
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
+        assertTrue( whatClause instanceof AclWhatClauseDn );
+        AclWhatClauseDn whatClauseDn = (AclWhatClauseDn)whatClause;
         assertEquals( dnPattern, whatClauseDn.getPattern() );
+        
+        System.out.println( "<-- ACL:" + aclItem );
     }
 
+    
+    @Test( expected = ParseException.class )
+    public void testWhatDnStar() throws Exception
+    {
+    	System.out.println( "\n--> testWhatDnStar" );
+        // Create parser
+        OpenLdapAclParser parser = new OpenLdapAclParser();
 
-    @Test
-    public void testWhatDnWithoutAccess() throws Exception
+        // Testing the ACL item
+        parser.parse( "access to dn=* by *" );
+        
+        fail();
+    }
+
+    
+    @Test( expected=ParseException.class)
+    public void testWhatDnValidDnNoQuote() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnValidDnNoQuote" );
+        String dnPattern = "dc=example,dc=com";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "to dn=\"" + dnPattern + "\" by *" );
-        assertNotNull( aclItem );
-
-        // Testing the 'what' clause
-        AclWhatClause whatClause = aclItem.getWhatClause();
-        assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
-        assertEquals( dnPattern, whatClauseDn.getPattern() );
+        parser.parse( "access to dn=" + dnPattern + "\n by *" );
+        
+        fail();
     }
 
-
-    @Test
-    public void testWhatDnWithSpaces() throws Exception
+    
+    @Test ( expected=ParseException.class)
+    public void testWhatDnBadDn() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnBadDn" );
+        String dnPattern = "Blah";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "   access    to     dn=\"" + dnPattern + "\"    by    *    " );
-        assertNotNull( aclItem );
-
-        // Testing the 'what' clause
-        AclWhatClause whatClause = aclItem.getWhatClause();
-        assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
-        assertEquals( dnPattern, whatClauseDn.getPattern() );
+    	parser.parse( "access to dn=\"" + dnPattern + "\"\n by *" );
+        
+        fail();
     }
 
-
+    
+    //-----------------------------------------------------------------------------------------
+    // The basic-dn-style WHAT DN exact
+    //-----------------------------------------------------------------------------------------
     @Test
-    public void testWhatDnDefaultType() throws Exception
+    public void testWhatDnBasicDnExact() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnBasicDnExact" );
+        String dnPattern = "dc=example,dc=com";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "access to dn=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "access to dn.exact=\"" + dnPattern + "\" by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
+        assertTrue( whatClause instanceof AclWhatClauseDn );
+        AclWhatClauseDn whatClauseDn = (AclWhatClauseDn) whatClause;
+
+        // test the content
         assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertNull( whatClauseDn.getType() );
+        assertEquals( AclWhatClauseDnTypeEnum.EXACT, whatClauseDn.getType() );
+
+        System.out.println( "<-- ACL:" + aclItem );
+    }
+    
+    
+    @Test ( expected=ParseException.class)
+    public void testWhatDnBasicDnExactNoQuote() throws Exception
+    {
+    	System.out.println( "\n--> testWhatDnBasicDnExactNoQuote" );
+        String dnPattern = "dc=example,dc=com";
+
+        // Create parser
+        OpenLdapAclParser parser = new OpenLdapAclParser();
+
+        // Testing the ACL item
+        parser.parse( "access to dn.exact=" + dnPattern + " by *" );
+        
+        fail();
     }
+    
+    
+    @Test ( expected=ParseException.class)
+    public void testWhatDnBasicDnExactBadDn() throws Exception
+    {
+    	System.out.println( "\n--> testWhatDnBasicDnExactBadDn" );
+        String dnPattern = "example";
 
+        // Create parser
+        OpenLdapAclParser parser = new OpenLdapAclParser();
 
+        // Testing the ACL item
+        parser.parse( "access to dn.exact=" + dnPattern + " by *" );
+        
+        fail();
+    }
+    
+    
+    //-----------------------------------------------------------------------------------------
+    // The basic-dn-style WHAT DN regex
+    //-----------------------------------------------------------------------------------------
     @Test
-    public void testWhatDnDefaultTypeWithoutAccess() throws Exception
+    public void testWhatDnBasicDnRegex() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnBasicDnRegex" );
+        String dnPattern = "dc=*";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "to dn=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "access to dn.regex=\"" + dnPattern + "\" by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
+        assertTrue( whatClause instanceof AclWhatClauseDn );
+        AclWhatClauseDn whatClauseDn = (AclWhatClauseDn) whatClause;
+
+        // test the content
         assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertNull( whatClauseDn.getType() );
+        assertEquals( AclWhatClauseDnTypeEnum.REGEX, whatClauseDn.getType() );
+
+        System.out.println( "<-- ACL:" + aclItem );
     }
+    
+    
+    @Test( expected=ParseException.class)
+    public void testWhatDnBasicDnRegexNoQuote() throws Exception
+    {
+    	System.out.println( "\n--> testWhatDnBasicDnRegexNoQuote" );
+        String dnPattern = "dc=*,dc=com";
 
+        // Create parser
+        OpenLdapAclParser parser = new OpenLdapAclParser();
 
+        // Testing the ACL item
+        AclItem aclItem = parser.parse( "access to dn.regex=" + dnPattern + " by *" );
+        
+        fail();
+    }
+    
+    
+    //-----------------------------------------------------------------------------------------
+    // The scope-dn-clause WHAT DN regex
+    //-----------------------------------------------------------------------------------------
     @Test
-    public void testWhatDnRegex() throws Exception
+    public void testWhatDnScopeOneQuotedDn() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnScopeOneQuotedDn" );
+        String dnPattern = "dc=example,dc=com";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "access to dn.regex=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "access to dn.one=\"" + dnPattern + "\" by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
-        assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertEquals( AclWhatClauseDnTypeEnum.REGEX, whatClauseDn.getType() );
-    }
+        assertTrue( whatClause instanceof AclWhatClauseDn );
+        AclWhatClauseDn whatClauseDn = (AclWhatClauseDn) whatClause;
 
+        // test the content
+        assertEquals( dnPattern, whatClauseDn.getPattern() );
+        assertEquals( AclWhatClauseDnTypeEnum.ONE, whatClauseDn.getType() );
 
+        System.out.println( "<-- ACL:" + aclItem );
+    }
+    
+    
     @Test
-    public void testWhatDnRegexWithoutAccess() throws Exception
+    public void testWhatDnScopeOneLevelQuotedDn() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnScopeOneLevelQuotedDn" );
+        String dnPattern = "dc=example,dc=com";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "to dn.regex=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "access to dn.onelevel=\"" + dnPattern + "\" by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
-        assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertEquals( AclWhatClauseDnTypeEnum.REGEX, whatClauseDn.getType() );
-    }
+        assertTrue( whatClause instanceof AclWhatClauseDn );
+        AclWhatClauseDn whatClauseDn = (AclWhatClauseDn) whatClause;
 
+        // test the content
+        assertEquals( dnPattern, whatClauseDn.getPattern() );
+        assertEquals( AclWhatClauseDnTypeEnum.ONE_LEVEL, whatClauseDn.getType() );
 
+        System.out.println( "<-- ACL:" + aclItem );
+    }
+    
+    
     @Test
-    public void testWhatDnBase() throws Exception
+    public void testWhatDnScopeBaseQuotedDn() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnScopeBaseQuotedDn" );
+        String dnPattern = "dc=example,dc=com";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
@@ -291,191 +399,275 @@ public class OpenLdapAclParserTest
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
+        assertTrue( whatClause instanceof AclWhatClauseDn );
+        AclWhatClauseDn whatClauseDn = (AclWhatClauseDn) whatClause;
+
+        // test the content
         assertEquals( dnPattern, whatClauseDn.getPattern() );
         assertEquals( AclWhatClauseDnTypeEnum.BASE, whatClauseDn.getType() );
-    }
-
 
+        System.out.println( "<-- ACL:" + aclItem );
+    }
+    
+    
     @Test
-    public void testWhatDnBaseWithoutAccess() throws Exception
+    public void testWhatDnScopeBaseobjectQuotedDn() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnScopeBaseobjectQuotedDn" );
+        String dnPattern = "dc=example,dc=com";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "to dn.base=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "access to dn.baseobject=\"" + dnPattern + "\" by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
-        assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertEquals( AclWhatClauseDnTypeEnum.BASE, whatClauseDn.getType() );
-    }
+        assertTrue( whatClause instanceof AclWhatClauseDn );
+        AclWhatClauseDn whatClauseDn = (AclWhatClauseDn) whatClause;
 
+        // test the content
+        assertEquals( dnPattern, whatClauseDn.getPattern() );
+        assertEquals( AclWhatClauseDnTypeEnum.BASE_OBJECT, whatClauseDn.getType() );
 
+        System.out.println( "<-- ACL:" + aclItem );
+    }
+    
+    
     @Test
-    public void testWhatDnExact() throws Exception
+    public void testWhatDnScopeSubQuotedDn() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnScopeSubQuotedDn" );
+        String dnPattern = "dc=example,dc=com";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "access to dn.exact=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "access to dn.sub=\"" + dnPattern + "\" by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
-        assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertEquals( AclWhatClauseDnTypeEnum.EXACT, whatClauseDn.getType() );
-    }
+        assertTrue( whatClause instanceof AclWhatClauseDn );
+        AclWhatClauseDn whatClauseDn = (AclWhatClauseDn) whatClause;
 
+        // test the content
+        assertEquals( dnPattern, whatClauseDn.getPattern() );
+        assertEquals( AclWhatClauseDnTypeEnum.SUB, whatClauseDn.getType() );
 
+        System.out.println( "<-- ACL:" + aclItem );
+    }
+    
+    
     @Test
-    public void testWhatDnExactWithoutAccess() throws Exception
+    public void testWhatDnScopeSubtreeQuotedDn() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnScopeSubtreeQuotedDn" );
+        String dnPattern = "dc=example,dc=com";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "to dn.exact=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "access to dn.subtree=\"" + dnPattern + "\" by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
-        assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertEquals( AclWhatClauseDnTypeEnum.EXACT, whatClauseDn.getType() );
-    }
+        assertTrue( whatClause instanceof AclWhatClauseDn );
+        AclWhatClauseDn whatClauseDn = (AclWhatClauseDn) whatClause;
 
+        // test the content
+        assertEquals( dnPattern, whatClauseDn.getPattern() );
+        assertEquals( AclWhatClauseDnTypeEnum.SUBTREE, whatClauseDn.getType() );
 
+        System.out.println( "<-- ACL:" + aclItem );
+    }
+    
+    
     @Test
-    public void testWhatDnOne() throws Exception
+    public void testWhatDnScopeChildrenQuotedDn() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnScopeChildrenQuotedDn" );
+        String dnPattern = "dc=example,dc=com";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "access to dn.one=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "access to dn.children=\"" + dnPattern + "\" by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
+        assertTrue( whatClause instanceof AclWhatClauseDn );
+        AclWhatClauseDn whatClauseDn = (AclWhatClauseDn) whatClause;
+
+        // test the content
         assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertEquals( AclWhatClauseDnTypeEnum.ONE, whatClauseDn.getType() );
-    }
+        assertEquals( AclWhatClauseDnTypeEnum.CHILDREN, whatClauseDn.getType() );
 
+        System.out.println( "<-- ACL:" + aclItem );
+    }
 
+    
     @Test
-    public void testWhatDnOneWithoutAccess() throws Exception
+    public void testWhatDnScopeOneEmptyDn() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnScopeOneEmptyDn" );
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "to dn.one=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "access to dn.one=\"\" by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
-        assertEquals( dnPattern, whatClauseDn.getPattern() );
+        assertTrue( whatClause instanceof AclWhatClauseDn );
+        AclWhatClauseDn whatClauseDn = (AclWhatClauseDn) whatClause;
+
+        // test the content
+        assertEquals( "", whatClauseDn.getPattern() );
         assertEquals( AclWhatClauseDnTypeEnum.ONE, whatClauseDn.getType() );
-    }
 
+        System.out.println( "<-- ACL:" + aclItem );
+    }
 
-    @Test
-    public void testWhatDnSubtree() throws Exception
+    
+    @Test( expected=ParseException.class)
+    public void testWhatDnScopeOneNoQuotedDn() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatDnScopeOneNoQuotedDn" );
+        String dnPattern = "dc=example,dc=com";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "access to dn.subtree=\"" + dnPattern + "\" by *" );
-        assertNotNull( aclItem );
+        parser.parse( "access to dn.one=" + dnPattern + " by *" );
+    }
 
-        // Testing the 'what' clause
-        AclWhatClause whatClause = aclItem.getWhatClause();
-        assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
-        assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertEquals( AclWhatClauseDnTypeEnum.SUBTREE, whatClauseDn.getType() );
+    
+    @Test( expected=ParseException.class)
+    public void testWhatDnScopeOneNoDn() throws Exception
+    {
+    	System.out.println( "\n--> testWhatDnScopeOneNoDn" );
+
+        // Create parser
+        OpenLdapAclParser parser = new OpenLdapAclParser();
+
+        // Testing the ACL item
+        parser.parse( "access to dn.one= by *" );
     }
 
+    
+    @Test( expected=ParseException.class)
+    public void testWhatDnScopeOneStar() throws Exception
+    {
+    	System.out.println( "\n--> testWhatDnScopeOneStar" );
 
+        // Create parser
+        OpenLdapAclParser parser = new OpenLdapAclParser();
+
+        // Testing the ACL item
+        parser.parse( "access to dn.one=* by *" );
+    }
+    
+    
+    //-----------------------------------------------------------------------------------------
+    // The scope-dn-clause WHAT FILTER 
+    //-----------------------------------------------------------------------------------------
     @Test
-    public void testWhatDnSubtreeWithoutAccess() throws Exception
+    public void testWhatFilterSimple() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatFilter" );
+        String filter = "(objectclass=*)";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "to dn.subtree=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "access to filter=" + filter + " by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
-        assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertEquals( AclWhatClauseDnTypeEnum.SUBTREE, whatClauseDn.getType() );
+        assertTrue( whatClause instanceof AclWhatClauseFilter );
+        
+        AclWhatClauseFilter whatClauseFilter = (AclWhatClauseFilter) whatClause;
+
+        // test the content
+        assertEquals( filter, whatClauseFilter.getFilter() );
+
+        System.out.println( "<-- ACL:" + aclItem );
     }
 
 
     @Test
-    public void testWhatDnChildren() throws Exception
+    public void testWhatFilterComplex() throws Exception
     {
-        String dnPattern = "dsqdsqdq";
+    	System.out.println( "\n--> testWhatFilterComplex" );
+        String filter = "(&(objectclass=*)(cn=test)(!(sn=test)))";
 
         // Create parser
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "access to dn.children=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "access to filter=" + filter + " by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
         AclWhatClause whatClause = aclItem.getWhatClause();
         assertNotNull( whatClause );
-        AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
-        assertNotNull( whatClauseDn );
-        assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertEquals( AclWhatClauseDnTypeEnum.CHILDREN, whatClauseDn.getType() );
+        assertTrue( whatClause instanceof AclWhatClauseFilter );
+        
+        AclWhatClauseFilter whatClauseFilter = (AclWhatClauseFilter) whatClause;
+
+        // test the content
+        assertEquals( filter, whatClauseFilter.getFilter() );
+
+        System.out.println( "<-- ACL:" + aclItem );
+    }
+
+
+    @Test( expected=ParseException.class)
+    public void testWhatFilterWrongSimple() throws Exception
+    {
+    	System.out.println( "\n--> testWhatFilterWrongSimple" );
+        String filter = "(objectclass=*";
+
+        // Create parser
+        OpenLdapAclParser parser = new OpenLdapAclParser();
+
+        // Testing the ACL item
+        parser.parse( "access to filter=" + filter + " by *" );
+        
+        fail();
     }
+ 
 
+    
 
     @Test
-    public void testWhatDnChildrenWithoutAccess() throws Exception
+    public void testFail() throws Exception
+    {
+    	fail();
+    }
+    
+    /*
+    @Test
+    public void testWhatDnWithoutAccess() throws Exception
     {
         String dnPattern = "dsqdsqdq";
 
@@ -483,7 +675,7 @@ public class OpenLdapAclParserTest
         OpenLdapAclParser parser = new OpenLdapAclParser();
 
         // Testing the ACL item
-        AclItem aclItem = parser.parse( "to dn.children=\"" + dnPattern + "\" by *" );
+        AclItem aclItem = parser.parse( "to dn=\"" + dnPattern + "\" by *" );
         assertNotNull( aclItem );
 
         // Testing the 'what' clause
@@ -492,7 +684,6 @@ public class OpenLdapAclParserTest
         AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
         assertNotNull( whatClauseDn );
         assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertEquals( AclWhatClauseDnTypeEnum.CHILDREN, whatClauseDn.getType() );
     }
 
 
@@ -658,27 +849,6 @@ public class OpenLdapAclParserTest
 
 
     @Test
-    public void testWhatFilter() throws Exception
-    {
-        String filter = "(objectclass=*)";
-
-        // Create parser
-        OpenLdapAclParser parser = new OpenLdapAclParser();
-
-        // Testing the ACL item
-        AclItem aclItem = parser.parse( "access to filter=" + filter + " by *" );
-        assertNotNull( aclItem );
-
-        // Testing the 'what' clause
-        AclWhatClause whatClause = aclItem.getWhatClause();
-        assertNotNull( whatClause );
-        AclWhatClauseFilter whatClauseFilter = whatClause.getFilterClause();
-        assertNotNull( whatClauseFilter );
-        assertEquals( filter, whatClauseFilter.getFilter() );
-    }
-
-
-    @Test
     public void testWhatFilterWithoutAccess() throws Exception
     {
         String filter = "(objectclass=*)";
@@ -4370,7 +4540,7 @@ public class OpenLdapAclParserTest
     /**
      * Tests examples given in the following page:
      * http://www.openldap.org/doc/admin24/access-control.html
-     */
+     *
     public void testVerifyOpenLdapDocumentExamples() throws Exception
     {
         // List of string holding all examples
@@ -4422,7 +4592,7 @@ public class OpenLdapAclParserTest
     /**
      * Tests examples given in the following page:
      * http://www.openldap.org/doc/admin24/access-control.html
-     */
+     *
     public void testVerifyOpenLdapDocumentExamplesWithoutAccess() throws Exception
     {
         // List of string holding all examples
@@ -4468,4 +4638,5 @@ public class OpenLdapAclParserTest
             parser.parse( example );
         }
     }
+    */
 }




Re: svn commit: r1750623 [1/2] - in /directory/studio/trunk: ./ features/apacheds.feature/ features/ldapbrowser.feature/ features/ldifeditor.feature/ features/nls.feature/ features/openldap.feature/ features/rcp.feature/ features/schemaeditor.feature/ plug...

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 05/07/16 � 22:43, Stefan Seelmann a �crit :
> On 06/29/2016 02:26 PM, elecharny@apache.org wrote:
>> Author: elecharny
>> Date: Wed Jun 29 12:26:50 2016
>> New Revision: 1750623
>>
>> URL: http://svn.apache.org/viewvc?rev=1750623&view=rev
>> Log:
>> Fixed the copyright date to 2016
>>
>> Removed:
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseEnum.java
>> Modified:
>>     directory/studio/trunk/NOTICE.txt
>>     directory/studio/trunk/features/apacheds.feature/feature.xml
>>     directory/studio/trunk/features/ldapbrowser.feature/feature.xml
>>     directory/studio/trunk/features/ldifeditor.feature/feature.xml
>>     directory/studio/trunk/features/nls.feature/feature.xml
>>     directory/studio/trunk/features/openldap.feature/feature.xml
>>     directory/studio/trunk/features/rcp.feature/feature.xml
>>     directory/studio/trunk/features/schemaeditor.feature/feature.xml
>>     directory/studio/trunk/plugins/apacheds.configuration/about.ini
>>     directory/studio/trunk/plugins/ldapbrowser.ui/about.ini
>>     directory/studio/trunk/plugins/ldifeditor/about.ini
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/antlr/Acl.g
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttribute.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeStyleEnum.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeVal.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclItem.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClause.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseAttributes.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseDn.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseFilter.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseStar.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhoClauseDn.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/OpenLdapAclWhatClauseWidget.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/composites/WhatClauseDnComposite.java
>>     directory/studio/trunk/plugins/openldap.acl.editor/src/test/java/org/apache/directory/studio/openldap/config/acl/model/OpenLdapAclParserTest.java
>>     directory/studio/trunk/plugins/rcp/about.ini
>>     directory/studio/trunk/plugins/rcp/plugin.properties
>>     directory/studio/trunk/plugins/rcp/plugin_de.properties
>>     directory/studio/trunk/plugins/rcp/plugin_fr.properties
>>     directory/studio/trunk/plugins/rcp/src/main/resources/about.ini
>>     directory/studio/trunk/plugins/schemaeditor/about.ini
> Emmanuel, fyi, I ignored two failing tests and added the "value" field,
> not sure if that makes sense:
> http://svn.apache.org/viewvc?rev=1751554&view=rev

Ah, no, you did weel. I'm afraid I have committed the Copyright changes
(2016) in the XML files with some changes I had locally. Nevermind.

Thanks Stefan !



Re: svn commit: r1750623 [1/2] - in /directory/studio/trunk: ./ features/apacheds.feature/ features/ldapbrowser.feature/ features/ldifeditor.feature/ features/nls.feature/ features/openldap.feature/ features/rcp.feature/ features/schemaeditor.feature/ plug...

Posted by Stefan Seelmann <ma...@stefan-seelmann.de>.
On 06/29/2016 02:26 PM, elecharny@apache.org wrote:
> Author: elecharny
> Date: Wed Jun 29 12:26:50 2016
> New Revision: 1750623
> 
> URL: http://svn.apache.org/viewvc?rev=1750623&view=rev
> Log:
> Fixed the copyright date to 2016
> 
> Removed:
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseEnum.java
> Modified:
>     directory/studio/trunk/NOTICE.txt
>     directory/studio/trunk/features/apacheds.feature/feature.xml
>     directory/studio/trunk/features/ldapbrowser.feature/feature.xml
>     directory/studio/trunk/features/ldifeditor.feature/feature.xml
>     directory/studio/trunk/features/nls.feature/feature.xml
>     directory/studio/trunk/features/openldap.feature/feature.xml
>     directory/studio/trunk/features/rcp.feature/feature.xml
>     directory/studio/trunk/features/schemaeditor.feature/feature.xml
>     directory/studio/trunk/plugins/apacheds.configuration/about.ini
>     directory/studio/trunk/plugins/ldapbrowser.ui/about.ini
>     directory/studio/trunk/plugins/ldifeditor/about.ini
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/antlr/Acl.g
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttribute.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeStyleEnum.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclAttributeVal.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclItem.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClause.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseAttributes.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseDn.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseFilter.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseStar.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhoClauseDn.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/OpenLdapAclWhatClauseWidget.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/composites/WhatClauseDnComposite.java
>     directory/studio/trunk/plugins/openldap.acl.editor/src/test/java/org/apache/directory/studio/openldap/config/acl/model/OpenLdapAclParserTest.java
>     directory/studio/trunk/plugins/rcp/about.ini
>     directory/studio/trunk/plugins/rcp/plugin.properties
>     directory/studio/trunk/plugins/rcp/plugin_de.properties
>     directory/studio/trunk/plugins/rcp/plugin_fr.properties
>     directory/studio/trunk/plugins/rcp/src/main/resources/about.ini
>     directory/studio/trunk/plugins/schemaeditor/about.ini

Emmanuel, fyi, I ignored two failing tests and added the "value" field,
not sure if that makes sense:
http://svn.apache.org/viewvc?rev=1751554&view=rev