directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From elecha...@apache.org
Subject svn commit: r1804081 [4/6] - in /directory/studio/branches/studio-value: ./ dist/ eclipse-trgt-platform/template/ features/apacheds.feature/ features/ldapbrowser.feature/ features/ldifeditor.feature/ features/nls.feature/ features/openldap.feature/ fea...
Date Fri, 04 Aug 2017 08:59:17 GMT
Modified: directory/studio/branches/studio-value/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/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseStar.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseStar.java (original)
+++ directory/studio/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhatClauseStar.java Fri Aug  4 08:59:15 2017
@@ -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/branches/studio-value/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/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhoClauseDn.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhoClauseDn.java (original)
+++ directory/studio/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/model/AclWhoClauseDn.java Fri Aug  4 08:59:15 2017
@@ -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/branches/studio-value/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/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/OpenLdapAclWhatClauseWidget.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/OpenLdapAclWhatClauseWidget.java (original)
+++ directory/studio/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/OpenLdapAclWhatClauseWidget.java Fri Aug  4 08:59:15 2017
@@ -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/branches/studio-value/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/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/composites/WhatClauseDnComposite.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/composites/WhatClauseDnComposite.java (original)
+++ directory/studio/branches/studio-value/plugins/openldap.acl.editor/src/main/java/org/apache/directory/studio/openldap/config/acl/widgets/composites/WhatClauseDnComposite.java Fri Aug  4 08:59:15 2017
@@ -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/branches/studio-value/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/branches/studio-value/plugins/openldap.acl.editor/src/test/java/org/apache/directory/studio/openldap/config/acl/model/OpenLdapAclParserTest.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/openldap.acl.editor/src/test/java/org/apache/directory/studio/openldap/config/acl/model/OpenLdapAclParserTest.java (original)
+++ directory/studio/branches/studio-value/plugins/openldap.acl.editor/src/test/java/org/apache/directory/studio/openldap/config/acl/model/OpenLdapAclParserTest.java Fri Aug  4 08:59:15 2017
@@ -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
+    @Ignore
+    @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,276 @@ 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();
+    }
+ 
+
+    
+
+    @Ignore
     @Test
-    public void testWhatDnChildrenWithoutAccess() throws Exception
+    public void testFail() throws Exception
+    {
+    	fail();
+    }
+    
+    /*
+    @Test
+    public void testWhatDnWithoutAccess() throws Exception
     {
         String dnPattern = "dsqdsqdq";
 
@@ -483,7 +676,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 +685,6 @@ public class OpenLdapAclParserTest
         AclWhatClauseDn whatClauseDn = whatClause.getDnClause();
         assertNotNull( whatClauseDn );
         assertEquals( dnPattern, whatClauseDn.getPattern() );
-        assertEquals( AclWhatClauseDnTypeEnum.CHILDREN, whatClauseDn.getType() );
     }
 
 
@@ -658,27 +850,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 +4541,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 +4593,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 +4639,5 @@ public class OpenLdapAclParserTest
             parser.parse( example );
         }
     }
+    */
 }

Modified: directory/studio/branches/studio-value/plugins/rcp/about.ini
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/rcp/about.ini?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/rcp/about.ini (original)
+++ directory/studio/branches/studio-value/plugins/rcp/about.ini Fri Aug  4 08:59:15 2017
@@ -1,2 +1,2 @@
 featureImage=studio.png
-aboutText=Apache Directory Studio - The Eclipse-based LDAP browser and directory client.\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 - The Eclipse-based LDAP browser and directory client.\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/branches/studio-value/plugins/rcp/plugin.properties
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/rcp/plugin.properties?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/rcp/plugin.properties (original)
+++ directory/studio/branches/studio-value/plugins/rcp/plugin.properties Fri Aug  4 08:59:15 2017
@@ -14,7 +14,7 @@
 #  KIND, either express or implied.  See the License for the
 #  specific language governing permissions and limitations
 #  under the License.
-aboutText=Apache Directory Studio\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\n\nSome icons from FAMFAMFAM http://www.famfamfam.com/lab/icons/silk
+aboutText=Apache Directory Studio\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\n\nSome icons from FAMFAMFAM http://www.famfamfam.com/lab/icons/silk
 
 Action_AddExtension_id=org.apache.directory.studio.newExtensions
 Action_ManageConfiguration_id=org.apache.directory.studio.manageConfiguration

Modified: directory/studio/branches/studio-value/plugins/rcp/plugin_de.properties
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/rcp/plugin_de.properties?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/rcp/plugin_de.properties (original)
+++ directory/studio/branches/studio-value/plugins/rcp/plugin_de.properties Fri Aug  4 08:59:15 2017
@@ -14,5 +14,5 @@
 #  KIND, either express or implied.  See the License for the
 #  specific language governing permissions and limitations
 #  under the License.
-aboutText=Apache Directory Studio\n\nVersion: ${unqualifiedVersion}.${buildQualifier}\n\nCopyright \u00A9 2006-2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.\nBesuchen Sie http://directory.apache.org/studio\n\nEinige Symbole stammen von FAMFAMFAM http://www.famfamfam.com/lab/icons/silk
+aboutText=Apache Directory Studio\n\nVersion: ${unqualifiedVersion}.${buildQualifier}\n\nCopyright \u00A9 2006-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.\nBesuchen Sie http://directory.apache.org/studio\n\nEinige Symbole stammen von FAMFAMFAM http://www.famfamfam.com/lab/icons/silk
 PrefPage_ShutdownPreferencesPage_name=Beenden

Modified: directory/studio/branches/studio-value/plugins/rcp/plugin_fr.properties
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/rcp/plugin_fr.properties?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/rcp/plugin_fr.properties (original)
+++ directory/studio/branches/studio-value/plugins/rcp/plugin_fr.properties Fri Aug  4 08:59:15 2017
@@ -14,5 +14,5 @@
 #  KIND, either express or implied.  See the License for the
 #  specific language governing permissions and limitations
 #  under the License.
-aboutText=Apache Directory Studio\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\n\nCertaines icones sont de FAMFAMFAM http://www.famfamfam.com/lab/icons/silk
+aboutText=Apache Directory Studio\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\n\nCertaines icones sont de FAMFAMFAM http://www.famfamfam.com/lab/icons/silk
 PrefPage_ShutdownPreferencesPage_name=Extinction

Modified: directory/studio/branches/studio-value/plugins/rcp/resources/intro/overview.xhtml
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/rcp/resources/intro/overview.xhtml?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/rcp/resources/intro/overview.xhtml (original)
+++ directory/studio/branches/studio-value/plugins/rcp/resources/intro/overview.xhtml Fri Aug  4 08:59:15 2017
@@ -19,68 +19,81 @@
   under the License.
 -->
 <html>
-    <head>
-        <title>Overview</title>
-        <link rel="stylesheet" href="styles/content-ie.css" type="text/css" charset="utf-8" />
-    </head>
-	<body>
-        <div id="overview-visited"><img src="graphics/transparent_pixel.gif" height="64" width="64" border="0" /></div>
-        <div id="whatsnew"><a href="http://org.eclipse.ui.intro/showPage?id=whatsnew"><img src="graphics/transparent_pixel.gif" height="32" width="32" border="0" /></a></div>
-        <div id="webresources"><a href="http://org.eclipse.ui.intro/showPage?id=webresources"><img src="graphics/transparent_pixel.gif" height="32" width="32" border="0" /></a></div>
-        <div id="workbench"><a href="http://org.eclipse.ui.intro/close"><img src="graphics/transparent_pixel.gif" height="32" width="32" border="0" /></a></div>
-        <div id="title">Overview</div>
+  <head>
+    <title>Overview</title>
+    <link rel="stylesheet" href="styles/content-ie.css" type="text/css" charset="utf-8" />
+  </head>
+  <body>
+    <div id="overview-visited"><img src="graphics/transparent_pixel.gif" height="64" width="64" border="0" /></div>
+    <div id="whatsnew"><a href="http://org.eclipse.ui.intro/showPage?id=whatsnew"><img src="graphics/transparent_pixel.gif" height="32" width="32" border="0" /></a></div>
+    <div id="webresources"><a href="http://org.eclipse.ui.intro/showPage?id=webresources"><img src="graphics/transparent_pixel.gif" height="32" width="32" border="0" /></a></div>
+    <div id="workbench"><a href="http://org.eclipse.ui.intro/close"><img src="graphics/transparent_pixel.gif" height="32" width="32" border="0" /></a></div>
+    <div id="title">Overview</div>
+    <div id="description">The Apache Directory Studio Platform is a complete directory tooling platform intended to be used with any LDAP server however it is particularly designed for use with the Apache Directory Server.</div>
         
-        <div id="description">The Apache Directory Studio Platform is a complete directory tooling platform intended to be used with any LDAP server however it is particularly designed for use with the Apache Directory Server.</div>
-        
-        <div id="left-column">
-            <div class="entry">
-            	<a 	href="http://org.eclipse.ui.intro/openBrowser?url=http://directory.apache.org/studio/users-guide.html">
-	                <div class="entry-icon">
-	                    <img id="wokbenchBasicsIcon" src="graphics/contentpages/icon_workbench-basics.gif" width="48" height="48" border="0"/> 
-	                </div>
-	                <div class="entry-title">Workbench basics</div>
-	                <div class="entry-description">Learn about basic Apache Directory Studio concepts</div>
-	            </a>
-            </div>
-            <div class="entry">
-				<a 	href="http://org.eclipse.ui.intro/openBrowser?url=http://directory.apache.org/studio/ldap-browser-plugin.html">
-	                <div class="entry-icon">
-	                    <img id="ldapBrowserIcon" src="graphics/contentpages/icon_ldap-browser.gif" width="48" height="48" border="0"/> 
-	                </div>
-	                <div class="entry-title">LDAP Browser/Editor</div>
-	                <div class="entry-description">Get the familiar with browsing your LDAP server with the LDAP Browser/Editor</div>
-	            </a>
-            </div>
-            <div class="entry">
-				<a 	href="http://org.eclipse.ui.intro/openBrowser?url=http://directory.apache.org/studio/aci-editor-plugin.html">
-	                <div class="entry-icon">
-	                    <img id="aciEditorIcon" src="graphics/contentpages/icon_aci-editor.gif" width="48" height="48" border="0"/> 
-	                </div>
-	                <div class="entry-title">ApacheDS ACI Editor</div>
-	                <div class="entry-description">Learn how to edit ACI on Apache Directory Server</div>
-	            </a>
-            </div>
-        </div>
-        
-        <div id="right-column">
-            <div class="entry">
-				<a 	href="http://org.eclipse.ui.intro/openBrowser?url=http://directory.apache.org/studio/schema-editor-plugin.html">
-	                <div class="entry-icon">
-	                    <img id="schemaEditorIcon" src="graphics/contentpages/icon_schema-editor.gif" width="48" height="48" border="0"/> 
-	                </div>
-	                <div class="entry-title">Schema Editor</div>
-	                <div class="entry-description">Find out how to create custom schemas with the Schema Editor</div>
-				</a>
-            </div>
-            <div class="entry">
-				<a 	href="http://org.eclipse.ui.intro/openBrowser?url=http://directory.apache.org/studio/apache-ds-configuration-plugin.html">
-	                <div id="configurationEditorIcon" class="entry-icon">
-	                    <img id="apacheDSConfigurationIcon" src="graphics/contentpages/icon_apacheds-configuration.gif" width="48" height="48" border="0"/> 
-	                </div>
-	                <div class="entry-title">ApacheDS Configuration Editor</div>
-	                <div class="entry-description">Discover how to edit your own configuration for ApacheDS</div>
-				</a>
-            </div>
-        </div>
-    </body>
-</html>
\ No newline at end of file
+    <div id="left-column">
+      <div class="entry">
+        <a href="http://org.eclipse.ui.intro/openBrowser?url=http://directory.apache.org/studio/users-guide.html">
+          <div class="entry-icon">
+            <img id="wokbenchBasicsIcon" src="graphics/contentpages/icon_workbench-basics.gif" width="48" height="48" border="0"/> 
+          </div>
+          <div class="entry-title">Workbench basics</div>
+          <div class="entry-description">Learn about basic Apache Directory Studio concepts</div>
+        </a>
+      </div>
+
+      <div class="entry">
+        <a href="http://org.eclipse.ui.intro/openBrowser?url=http://directory.apache.org/studio/users-guide/ldap_browser/">
+          <div class="entry-icon">
+            <img id="ldapBrowserIcon" src="graphics/contentpages/icon_ldap-browser.gif" width="48" height="48" border="0"/> 
+          </div>
+          <div class="entry-title">LDAP Browser/Editor</div>
+          <div class="entry-description">Get the familiar with browsing your LDAP server with the LDAP Browser/Editor</div>
+        </a>
+      </div>
+
+
+      <div class="entry">
+        <a href="http://org.eclipse.ui.intro/openBrowser?url=http://directory.apache.org/studio/users-guide/ldif_editor">
+          <div class="entry-icon">
+            <img id="ldapBrowserIcon" src="graphics/contentpages/icon_ldap-browser.gif" width="48" height="48" border="0"/> 
+          </div>
+          <div class="entry-title">LDIF editor</div>
+          <div class="entry-description">The Apache Directory Studio LDIF Editor. </div>
+        </a>
+      </div>
+
+      <div class="entry">
+        <a href="http://org.eclipse.ui.intro/openBrowser?url=http://directory.apache.org/studio/users-guide/apacheds/">
+          <div class="entry-icon">
+            <img id="aciEditorIcon" src="graphics/contentpages/icon_aci-editor.gif" width="48" height="48" border="0"/> 
+          </div>
+          <div class="entry-title">ApacheDS ACI Editor</div>
+          <div class="entry-description">Learn how to manage the embedded Apache Directory Server</div>
+        </a>
+      </div>
+    </div>
+
+    <div id="right-column">
+      <div class="entry">
+        <a href="http://org.eclipse.ui.intro/openBrowser?url=http://directory.apache.org/studio/users-guide/schema_editor/">
+          <div class="entry-icon">
+            <img id="schemaEditorIcon" src="graphics/contentpages/icon_schema-editor.gif" width="48" height="48" border="0"/> 
+          </div>
+          <div class="entry-title">Schema Editor</div>
+          <div class="entry-description">Find out how to create custom schemas with the Schema Editor</div>
+        </a>
+      </div>
+
+      <div class="entry">
+        <a href="http://org.eclipse.ui.intro/openBrowser?url=http://directory.apache.org/studio/users-guide/apacheds_configuration/">
+          <div id="configurationEditorIcon" class="entry-icon">
+            <img id="apacheDSConfigurationIcon" src="graphics/contentpages/icon_apacheds-configuration.gif" width="48" height="48" border="0"/> 
+          </div>
+          <div class="entry-title">ApacheDS Configuration Editor</div>
+          <div class="entry-description">Discover how to edit your own configuration for ApacheDS</div>
+        </a>
+      </div>
+    </div>
+  </body>
+</html>

Modified: directory/studio/branches/studio-value/plugins/rcp/src/main/resources/about.ini
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/rcp/src/main/resources/about.ini?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/rcp/src/main/resources/about.ini (original)
+++ directory/studio/branches/studio-value/plugins/rcp/src/main/resources/about.ini Fri Aug  4 08:59:15 2017
@@ -1,2 +1,2 @@
 featureImage=studio.png
-aboutText=Apache Directory Studio - The Eclipse-based LDAP browser and directory client.\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 - The Eclipse-based LDAP browser and directory client.\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/branches/studio-value/plugins/rcp/src/main/resources/splash.bmp
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/rcp/src/main/resources/splash.bmp?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
Binary files - no diff available.

Modified: directory/studio/branches/studio-value/plugins/schemaeditor/about.ini
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/schemaeditor/about.ini?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/schemaeditor/about.ini (original)
+++ directory/studio/branches/studio-value/plugins/schemaeditor/about.ini Fri Aug  4 08:59:15 2017
@@ -1,2 +1,2 @@
 featureImage=studio.png
-aboutText=Apache Directory Studio Schema Editor - Editors for LDAP schema, supports ApacheDS and OpenLDAP format.\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 Schema Editor - Editors for LDAP schema, supports ApacheDS and OpenLDAP format.\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/branches/studio-value/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/views/SearchView.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/views/SearchView.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/views/SearchView.java (original)
+++ directory/studio/branches/studio-value/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/views/SearchView.java Fri Aug  4 08:59:15 2017
@@ -869,8 +869,10 @@ public class SearchView extends ViewPart
         {
             for ( String string : list )
             {
-                return pattern.matcher( string ).matches();
-
+                if ( pattern.matcher( string ).matches() )
+                {
+                    return true;
+                }
             }
         }
 

Modified: directory/studio/branches/studio-value/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/editor/TemplateEntryEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/editor/TemplateEntryEditor.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/editor/TemplateEntryEditor.java (original)
+++ directory/studio/branches/studio-value/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/editor/TemplateEntryEditor.java Fri Aug  4 08:59:15 2017
@@ -23,13 +23,11 @@ package org.apache.directory.studio.temp
 import org.apache.directory.studio.entryeditors.EntryEditorInput;
 import org.apache.directory.studio.entryeditors.EntryEditorUtils;
 import org.apache.directory.studio.entryeditors.IEntryEditor;
-import org.apache.directory.studio.ldapbrowser.core.model.IBookmark;
 import org.apache.directory.studio.ldapbrowser.core.model.IEntry;
-import org.apache.directory.studio.ldapbrowser.core.model.ISearchResult;
+import org.apache.directory.studio.ldapbrowser.ui.BrowserUIConstants;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IEditorSite;
 import org.eclipse.ui.INavigationLocation;
 import org.eclipse.ui.INavigationLocationProvider;
@@ -268,6 +266,15 @@ public abstract class TemplateEntryEdito
     {
         if ( input instanceof EntryEditorInput )
         {
+            /*
+             * Optimization: no need to set the input again if the same input is already set
+             */
+            if ( getEntryEditorInput() != null
+                && getEntryEditorInput().getResolvedEntry() == ( ( EntryEditorInput ) input ).getResolvedEntry() )
+            {
+                return;
+            }
+
             // If the editor is dirty, let's ask for a save before changing the input
             if ( isDirty() )
             {
@@ -277,37 +284,10 @@ public abstract class TemplateEntryEdito
                 }
             }
 
-            /*
-             * Workaround to make link-with-editor working for the single-tab editor:
-             * The call of firePropertyChange is used to inform the link-with-editor action.
-             * However firePropertyChange also modifies the navigation history.
-             * Thus, a dummy input with the real entry but a null extension is set.
-             * This avoids to modification of the navigation history.
-             * Afterwards the real input is set.
-             */
-            EntryEditorInput eei = ( EntryEditorInput ) input;
-            IEntry entryInput = eei.getEntryInput();
-            ISearchResult searchResultInput = eei.getSearchResultInput();
-            IBookmark bookmarkInput = eei.getBookmarkInput();
-            EntryEditorInput dummyInput;
-            if ( entryInput != null )
-            {
-                dummyInput = new EntryEditorInput( entryInput, null );
-            }
-            else if ( searchResultInput != null )
-            {
-                dummyInput = new EntryEditorInput( searchResultInput, null );
-            }
-            else
-            {
-                dummyInput = new EntryEditorInput( bookmarkInput, null );
-            }
-            setInput( dummyInput );
-            firePropertyChange( IEditorPart.PROP_INPUT );
-
             // now set the real input and mark history location
             setInput( input );
             getSite().getPage().getNavigationHistory().markLocation( this );
+            firePropertyChange( BrowserUIConstants.INPUT_CHANGED );
 
             // Updating the input on the template editor widget
             templateEditorWidget.editorInputChanged();

Modified: directory/studio/branches/studio-value/plugins/valueeditors/pom-first.xml
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/valueeditors/pom-first.xml?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/valueeditors/pom-first.xml (original)
+++ directory/studio/branches/studio-value/plugins/valueeditors/pom-first.xml Fri Aug  4 08:59:15 2017
@@ -48,10 +48,20 @@
             <Bundle-Activator>org.apache.directory.studio.valueeditors.ValueEditorsActivator</Bundle-Activator>
             
             <Export-Package>org.apache.directory.studio.valueeditors,
+ org.apache.directory.studio.valueeditors.address,
+ org.apache.directory.studio.valueeditors.administrativerole,
+ org.apache.directory.studio.valueeditors.adtime,
+ org.apache.directory.studio.valueeditors.bool,
+ org.apache.directory.studio.valueeditors.certificate,
  org.apache.directory.studio.valueeditors.dn,
- org.apache.directory.studio.valueeditors.time,
+ org.apache.directory.studio.valueeditors.image,
+ org.apache.directory.studio.valueeditors.integer,
+ org.apache.directory.studio.valueeditors.msad,
+ org.apache.directory.studio.valueeditors.objectclass,
+ org.apache.directory.studio.valueeditors.oid,
  org.apache.directory.studio.valueeditors.password,
- org.apache.directory.studio.valueeditors.integer</Export-Package>
+ org.apache.directory.studio.valueeditors.time,
+ org.apache.directory.studio.valueeditors.uuid</Export-Package>
  
             <Import-Package>
  org.apache.commons.lang,

Modified: directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/bool/InPlaceBooleanValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/bool/InPlaceBooleanValueEditor.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/bool/InPlaceBooleanValueEditor.java (original)
+++ directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/bool/InPlaceBooleanValueEditor.java Fri Aug  4 08:59:15 2017
@@ -21,7 +21,10 @@
 package org.apache.directory.studio.valueeditors.bool;
 
 
+import org.apache.directory.api.ldap.model.schema.syntaxCheckers.BooleanSyntaxChecker;
+import org.apache.directory.studio.ldapbrowser.core.model.IValue;
 import org.apache.directory.studio.valueeditors.AbstractInPlaceStringValueEditor;
+import org.eclipse.jface.viewers.ICellEditorValidator;
 
 
 /**
@@ -38,10 +41,55 @@ public class InPlaceBooleanValueEditor e
     /** The 'FALSE' value */
     private static final String FALSE = "FALSE";
 
+    /**
+     * Create a new instance of a InPlaceBooleanValueEditor which sets
+     * a validator.
+     */
+    public InPlaceBooleanValueEditor()
+    {
+        super();
+        
+        setValidator(new ICellEditorValidator()
+        {
+            @Override
+            public String isValid( Object value )
+            {
+                if ( value instanceof String )
+                {
+                    String stringValue = ( ( String ) value ).toUpperCase();
+                    
+                    switch ( stringValue )
+                    {
+                        case "F" :
+                        case "FALSE" :
+                        case "N" :
+                        case "NO" :
+                        case "0" :
+                        case "T" :
+                        case "TRUE" :
+                        case "Y" :
+                        case "YES" :
+                        case "1" :
+                        case "" :           // Special case : default to TRUE
+                            return null;
+
+                        default :
+                            return "Invalid boolean";
+                    }
+                }
+                else
+                {
+                    return "Invalid boolean";
+                }
+            }
+        });
+    }
+
 
     /**
      * {@inheritDoc}
      */
+    @Override
     protected Object doGetValue()
     {
         Object value = super.doGetValue();
@@ -49,29 +97,71 @@ public class InPlaceBooleanValueEditor e
         if ( value instanceof String )
         {
             String stringValue = ( String ) value;
-
-            if ( EMPTY.equals( stringValue ) )
+            
+            switch ( stringValue.toUpperCase() )
             {
-                return null;
+                case "F" :
+                case "FALSE" :
+                case "N" :
+                case "NO" :
+                case "0" :
+                    return FALSE;
+    
+                case "T" :
+                case "TRUE" :
+                case "Y" :
+                case "YES" :
+                case "1" :
+                case "" :           // Special case : default to TRUE
+                    return TRUE;
+
+                default :
+                    return stringValue;
             }
-            else if ( "TRUE".equalsIgnoreCase( stringValue )
-                || "T".equalsIgnoreCase( stringValue )
-                || "YES".equalsIgnoreCase( stringValue )
-                || "Y".equalsIgnoreCase( stringValue )
-                || "1".equalsIgnoreCase( stringValue ) )
+        }
+
+        return value;
+    }
+
+    
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean isValueValid() 
+    {
+        return doGetValue() != null;
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Object getRawValue( IValue value )
+    {
+        Object rawValue = super.getRawValue( value );
+
+        if ( rawValue instanceof String )
+        {
+            String stringValue = ( String ) rawValue;
+            
+            if ( ( stringValue.length() == 0 ) || ( BooleanSyntaxChecker.INSTANCE.isValidSyntax( stringValue ) ) )
             {
-                return TRUE;
+                return rawValue;
             }
-            else if ( "FALSE".equalsIgnoreCase( stringValue )
-                || "F".equalsIgnoreCase( stringValue )
-                || "NO".equalsIgnoreCase( stringValue )
-                || "N".equalsIgnoreCase( stringValue )
-                || "0".equalsIgnoreCase( stringValue ) )
+            else
             {
-                return FALSE;
+                return null;
             }
         }
-
-        return value;
+        else if ( rawValue == null )
+        {
+            return TRUE;
+        }
+        else
+        {
+            return null;
+        }
     }
 }

Modified: directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/image/ImageDialog.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/image/ImageDialog.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/image/ImageDialog.java (original)
+++ directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/image/ImageDialog.java Fri Aug  4 08:59:15 2017
@@ -32,6 +32,7 @@ import java.io.IOException;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
 import org.apache.directory.studio.connection.ui.ConnectionUIPlugin;
+import org.apache.directory.studio.valueeditors.IValueEditor;
 import org.apache.directory.studio.valueeditors.ValueEditorsActivator;
 import org.apache.directory.studio.valueeditors.ValueEditorsConstants;
 import org.eclipse.core.runtime.IStatus;
@@ -782,7 +783,7 @@ public class ImageDialog extends Dialog
     {
         if ( imageRawData == null )
         {
-            return "NULL"; //$NON-NLS-1$
+            return IValueEditor.NULL;
         }
 
         String text;

Modified: directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/image/ImageValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/image/ImageValueEditor.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/image/ImageValueEditor.java (original)
+++ directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/image/ImageValueEditor.java Fri Aug  4 08:59:15 2017
@@ -79,7 +79,7 @@ public class ImageValueEditor extends Ab
         {
             if ( value == null )
             {
-                return NULL; //$NON-NLS-1$
+                return NULL;
             }
             else if ( value.isBinary() )
             {

Modified: directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/objectclass/ObjectClassValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/objectclass/ObjectClassValueEditor.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/objectclass/ObjectClassValueEditor.java (original)
+++ directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/objectclass/ObjectClassValueEditor.java Fri Aug  4 08:59:15 2017
@@ -71,7 +71,7 @@ public class ObjectClassValueEditor exte
     {
         if ( getRawValue( value ) == null )
         {
-            return "NULL"; //$NON-NLS-1$
+            return NULL;
         }
 
         String displayValue = value.getStringValue();

Modified: directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/oid/InPlaceOidValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/oid/InPlaceOidValueEditor.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/oid/InPlaceOidValueEditor.java (original)
+++ directory/studio/branches/studio-value/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/oid/InPlaceOidValueEditor.java Fri Aug  4 08:59:15 2017
@@ -21,6 +21,7 @@
 package org.apache.directory.studio.valueeditors.oid;
 
 
+import org.apache.directory.api.ldap.model.schema.syntaxCheckers.OidSyntaxChecker;
 import org.apache.directory.studio.connection.core.Utils;
 import org.apache.directory.studio.ldapbrowser.core.model.IValue;
 import org.apache.directory.studio.valueeditors.AbstractInPlaceStringValueEditor;
@@ -47,7 +48,7 @@ public class InPlaceOidValueEditor exten
         if ( !showRawValues() )
         {
             String description = Utils.getOidDescription( displayValue );
-            
+
             if ( description != null )
             {
                 displayValue = displayValue + " (" + description + ")"; //$NON-NLS-1$ //$NON-NLS-2$
@@ -56,4 +57,20 @@ public class InPlaceOidValueEditor exten
 
         return displayValue;
     }
+
+
+    @Override
+    public Object getRawValue( IValue value )
+    {
+        Object rawValue = super.getRawValue( value );
+
+        if ( rawValue instanceof String && OidSyntaxChecker.INSTANCE.isValidSyntax( rawValue ) )
+        {
+            return rawValue;
+        }
+        else
+        {
+            return null;
+        }
+    }
 }

Modified: directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/msad/InPlaceMsAdObjectGuidValueEditorTest.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/msad/InPlaceMsAdObjectGuidValueEditorTest.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/msad/InPlaceMsAdObjectGuidValueEditorTest.java (original)
+++ directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/msad/InPlaceMsAdObjectGuidValueEditorTest.java Fri Aug  4 08:59:15 2017
@@ -21,7 +21,7 @@
 package org.apache.directory.studio.valueeditors.msad;
 
 
-import static junit.framework.Assert.assertEquals;
+import static org.junit.Assert.assertEquals;
 
 import org.apache.directory.api.util.Strings;
 import org.junit.Test;
@@ -54,7 +54,7 @@ public class InPlaceMsAdObjectGuidValueE
                 ( byte ) 0xA9,
                 ( byte ) 0xA8 };
         String displayValue = editor.convertToString( bytes );
-        assertEquals( Strings.toLowerCase( "{db78ba89-b85f-447f-bd06-e3a40996a9a8}" ), displayValue ); //$NON-NLS-1$
+        assertEquals( Strings.toLowerCaseAscii( "{db78ba89-b85f-447f-bd06-e3a40996a9a8}" ), displayValue ); //$NON-NLS-1$
     }
 
 
@@ -82,7 +82,7 @@ public class InPlaceMsAdObjectGuidValueE
                 ( byte ) 0xEE,
                 ( byte ) 0xFF };
         String displayValue = editor.convertToString( bytes );
-        assertEquals( Strings.toLowerCase( "{33221100-5544-7766-8899-AABBCCDDEEFF}" ), displayValue ); //$NON-NLS-1$
+        assertEquals( Strings.toLowerCaseAscii( "{33221100-5544-7766-8899-AABBCCDDEEFF}" ), displayValue ); //$NON-NLS-1$
     }
 
 

Modified: directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/msad/InPlaceMsAdObjectSidValueEditorTest.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/msad/InPlaceMsAdObjectSidValueEditorTest.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/msad/InPlaceMsAdObjectSidValueEditorTest.java (original)
+++ directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/msad/InPlaceMsAdObjectSidValueEditorTest.java Fri Aug  4 08:59:15 2017
@@ -21,7 +21,7 @@
 package org.apache.directory.studio.valueeditors.msad;
 
 
-import static junit.framework.Assert.assertEquals;
+import static org.junit.Assert.assertEquals;
 
 import org.junit.Test;
 

Modified: directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/uuid/InPlaceUuidValueEditorTest.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/uuid/InPlaceUuidValueEditorTest.java?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/uuid/InPlaceUuidValueEditorTest.java (original)
+++ directory/studio/branches/studio-value/plugins/valueeditors/src/test/java/org/apache/directory/studio/valueeditors/uuid/InPlaceUuidValueEditorTest.java Fri Aug  4 08:59:15 2017
@@ -21,7 +21,7 @@
 package org.apache.directory.studio.valueeditors.uuid;
 
 
-import static junit.framework.Assert.assertEquals;
+import static org.junit.Assert.assertEquals;
 
 import org.apache.directory.api.util.Strings;
 import org.junit.Test;
@@ -54,7 +54,7 @@ public class InPlaceUuidValueEditorTest
                 ( byte ) 0x30,
                 ( byte ) 0xc8 };
         String displayValue = editor.convertToString( bytes );
-        assertEquals( Strings.toLowerCase( "6ba7b810-9dad-11d1-80b4-00c04fd430c8" ), displayValue ); //$NON-NLS-1$
+        assertEquals( Strings.toLowerCaseAscii( "6ba7b810-9dad-11d1-80b4-00c04fd430c8" ), displayValue ); //$NON-NLS-1$
     }
 
 
@@ -82,7 +82,7 @@ public class InPlaceUuidValueEditorTest
                 ( byte ) 0xEE,
                 ( byte ) 0xFF };
         String displayValue = editor.convertToString( bytes );
-        assertEquals( Strings.toLowerCase( "00112233-4455-6677-8899-AABBCCDDEEFF" ), displayValue ); //$NON-NLS-1$
+        assertEquals( Strings.toLowerCaseAscii( "00112233-4455-6677-8899-AABBCCDDEEFF" ), displayValue ); //$NON-NLS-1$
     }
 
 

Modified: directory/studio/branches/studio-value/pom.xml
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/pom.xml?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/pom.xml (original)
+++ directory/studio/branches/studio-value/pom.xml Fri Aug  4 08:59:15 2017
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.directory.project</groupId>
     <artifactId>project</artifactId>
-    <version>34</version>
+    <version>39</version>
     <relativePath />
   </parent>
 
@@ -65,6 +65,9 @@
     <!-- Disable Java8 javadoc linter -->
     <additionalparam>-Xdoclint:none</additionalparam>
 
+    <maven.compiler.source>1.8</maven.compiler.source>
+    <maven.compiler.target>1.8</maven.compiler.target>
+
     <tycho.version>0.24.0</tycho.version>
 
     <!-- Set versions for dependencies -->
@@ -73,8 +76,8 @@
     <junit.version>4.11</junit.version>
     <log4j.log4j.version>1.2.17</log4j.log4j.version>
     <log4j.log4j.bundleversion>1.2.17</log4j.log4j.bundleversion>
-    <net.sf.ehcache.version>2.8.5</net.sf.ehcache.version>
-    <net.sf.ehcache.bundleversion>2.8.5</net.sf.ehcache.bundleversion>
+    <net.sf.ehcache.version>2.10.4</net.sf.ehcache.version>
+    <net.sf.ehcache.bundleversion>2.10.4</net.sf.ehcache.bundleversion>
     <org.apache.commons.codec.version>1.10</org.apache.commons.codec.version>
     <org.apache.commons.codec.bundleversion>1.10.0</org.apache.commons.codec.bundleversion>
     <org.apache.commons.collections.version>3.2.2</org.apache.commons.collections.version>
@@ -83,17 +86,17 @@
     <org.apache.commons.lang.bundleversion>2.6.0</org.apache.commons.lang.bundleversion>
     <org.apache.commons.pool.version>1.6</org.apache.commons.pool.version>
     <org.apache.commons.pool.bundleversion>1.6.0</org.apache.commons.pool.bundleversion>
-    <org.apache.directory.api.version>1.0.0-M34-SNAPSHOT</org.apache.directory.api.version>
-    <org.apache.directory.api.bundleversion>1.0.0.M34-SNAPSHOT</org.apache.directory.api.bundleversion>
-    <org.apache.directory.server.version>2.0.0-M22-SNAPSHOT</org.apache.directory.server.version>
-    <org.apache.directory.server.bundleversion>2.0.0.M22-SNAPSHOT</org.apache.directory.server.bundleversion>
-    <org.apache.mina.version>2.0.13</org.apache.mina.version>
-    <org.apache.mina.bundleversion>2.0.13</org.apache.mina.bundleversion>
+    <org.apache.directory.api.version>1.0.0</org.apache.directory.api.version>
+    <org.apache.directory.api.bundleversion>1.0.0</org.apache.directory.api.bundleversion>
+    <org.apache.directory.server.version>2.0.0-M24</org.apache.directory.server.version>
+    <org.apache.directory.server.bundleversion>2.0.0.M24</org.apache.directory.server.bundleversion>
+    <org.apache.mina.version>2.0.16</org.apache.mina.version>
+    <org.apache.mina.bundleversion>2.0.16</org.apache.mina.bundleversion>
     <org.apache.poi.version>3.9</org.apache.poi.version>
     <org.apache.poi.bundleversion>3.9.0</org.apache.poi.bundleversion>
     <org.apache.xmlgraphics.fop.version>1.0</org.apache.xmlgraphics.fop.version>
-    <org.slf4j.version>1.7.10</org.slf4j.version>
-    <org.slf4j.bundleversion>1.7.10</org.slf4j.bundleversion>
+    <org.slf4j.version>1.7.25</org.slf4j.version>
+    <org.slf4j.bundleversion>1.7.25</org.slf4j.bundleversion>
     <org.xpp3.version>1.1.4.c</org.xpp3.version>
     <org.xpp3.bundleversion>1.1.4.c</org.xpp3.bundleversion>
     <xerces.xercesimpl.version>2.11.0</xerces.xercesimpl.version>
@@ -116,6 +119,7 @@
     <module>tests</module>
     <module>p2repositories</module>
     <module>product</module>
+    <module>installers</module>
   </modules>
 
   <build>
@@ -130,8 +134,8 @@
         <groupId>org.eclipse.tycho</groupId>
         <artifactId>tycho-compiler-plugin</artifactId>
         <configuration>
-          <source>1.7</source>
-          <target>1.7</target>
+          <source>1.8</source>
+          <target>1.8</target>
         </configuration>
       </plugin>
 
@@ -215,7 +219,16 @@
           <artifactId>target-platform-configuration</artifactId>
           <version>${tycho.version}</version>
         </plugin>
-        
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <configuration>
+            <source>1.8</source>
+            <target>1.8</target>
+          </configuration>
+        </plugin>
+
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-antrun-plugin</artifactId>

Modified: directory/studio/branches/studio-value/product/org.apache.directory.studio.p2.inf
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/product/org.apache.directory.studio.p2.inf?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/product/org.apache.directory.studio.p2.inf (original)
+++ directory/studio/branches/studio-value/product/org.apache.directory.studio.p2.inf Fri Aug  4 08:59:15 2017
@@ -15,14 +15,16 @@
 # specific language governing permissions and limitations
 # under the License.
 
+# For Linux and Windows the path to LICENSE and NOTICE point to product folder.
+# For MacOSX the path to LICENSE and NOTICE point to product/target/products folder.
 instructions.configure = \
     org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/eclipsec.exe);\
     org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/readme);\
     org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/notice.html);\
     org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/epl-v10.html);\
     org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/.eclipseproduct);\
-    org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../../../../../../../../LICENSE.txt,target:${installFolder}/LICENSE.txt,overwrite:true);\
-    org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../../../../../../../../NOTICE.txt,target:${installFolder}/NOTICE.txt,overwrite:true);\
+    org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../../../../../../../LICENSE,target:${installFolder}/LICENSE,overwrite:true);\
+    org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../../../../../../../NOTICE,target:${installFolder}/NOTICE,overwrite:true);\
     addRepository(type:0,location:http${#58}//directory.apache.org/studio/update/product,name:Apache Directory Studio);\
     addRepository(type:1,location:http${#58}//directory.apache.org/studio/update/product,name:Apache Directory Studio);
 

Modified: directory/studio/branches/studio-value/product/org.apache.directory.studio.product
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/product/org.apache.directory.studio.product?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/product/org.apache.directory.studio.product (original)
+++ directory/studio/branches/studio-value/product/org.apache.directory.studio.product Fri Aug  4 08:59:15 2017
@@ -19,7 +19,7 @@
       <programArgsLin>--launcher.GTK_version
 2
       </programArgsLin>
-      <vmArgs>-Dosgi.requiredJavaVersion=1.7
+      <vmArgs>-Dosgi.requiredJavaVersion=1.8
       </vmArgs>
       <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
       </vmArgsMac>

Modified: directory/studio/branches/studio-value/product/pom.xml
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/product/pom.xml?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/product/pom.xml (original)
+++ directory/studio/branches/studio-value/product/pom.xml Fri Aug  4 08:59:15 2017
@@ -57,7 +57,7 @@
         </configuration>
       </plugin>
 
-      <!-- Copy legal files to target directory -->
+      <!-- Copy legal files for MacOSX to target/products, see org.apache.directory.studio.p2.inf -->
       <plugin>
         <artifactId>maven-resources-plugin</artifactId>
         <executions>
@@ -68,13 +68,13 @@
               <goal>copy-resources</goal>
             </goals>
             <configuration>
-              <outputDirectory>${basedir}/target</outputDirectory>
+              <outputDirectory>${basedir}/target/products</outputDirectory>
               <resources>
                 <resource>
-                  <directory>${basedir}/../</directory>
+                  <directory>${basedir}</directory>
                   <includes>
-                    <include>LICENSE.txt</include>
-                    <include>NOTICE.txt</include>
+                    <include>LICENSE</include>
+                    <include>NOTICE</include>
                   </includes>
                   <filtering>false</filtering>
                 </resource>

Modified: directory/studio/branches/studio-value/tests/test.integration.core/pom-first.xml
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-value/tests/test.integration.core/pom-first.xml?rev=1804081&r1=1804080&r2=1804081&view=diff
==============================================================================
--- directory/studio/branches/studio-value/tests/test.integration.core/pom-first.xml (original)
+++ directory/studio/branches/studio-value/tests/test.integration.core/pom-first.xml Fri Aug  4 08:59:15 2017
@@ -51,6 +51,7 @@
  org.apache.directory.server.apacheds-test-framework;bundle-version="${org.apache.directory.server.bundleversion}",
  org.apache.directory.server.annotations;bundle-version="${org.apache.directory.server.bundleversion}",
  org.apache.directory.server.core.annotations;bundle-version="${org.apache.directory.server.bundleversion}",
+ org.apache.directory.server.core.api;bundle-version="${org.apache.directory.server.bundleversion}",
  org.apache.directory.server.protocol.ldap;bundle-version="${org.apache.directory.server.bundleversion}",
  org.apache.directory.api.asn1.api;bundle-version="${org.apache.directory.api.bundleversion}",
  org.apache.directory.api.ldap.client.api;bundle-version="${org.apache.directory.api.bundleversion}",



Mime
View raw message