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 2015/03/05 15:00:35 UTC

svn commit: r1664350 - in /directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema: ./ parsers/

Author: elecharny
Date: Thu Mar  5 14:00:34 2015
New Revision: 1664350

URL: http://svn.apache.org/r1664350
Log:
Fixed the SchemaObject extension key, which should always be considered as case insensitive

Modified:
    directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/AbstractSchemaObject.java
    directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/LdapSyntax.java
    directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/SchemaObject.java
    directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/SchemaUtils.java
    directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/AbstractSchemaParser.java
    directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/ParserDescriptionUtils.java

Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/AbstractSchemaObject.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/AbstractSchemaObject.java?rev=1664350&r1=1664349&r2=1664350&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/AbstractSchemaObject.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/AbstractSchemaObject.java Thu Mar  5 14:00:34 2015
@@ -477,7 +477,7 @@ public abstract class AbstractSchemaObje
 
 
     /**
-     * @return The SchemaObject extensions, as a Map of [extension, values]
+     * {@inheritDoc}
      */
     public Map<String, List<String>> getExtensions()
     {
@@ -486,6 +486,37 @@ public abstract class AbstractSchemaObje
 
 
     /**
+     * {@inheritDoc}
+     */
+    public boolean hasExtension( String extension )
+    {
+        return extensions.containsKey( Strings.toUpperCase( extension ) );
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public List<String> getExtension( String extension )
+    {
+        String name = Strings.toUpperCase( extension );
+
+        if ( hasExtension( name ) )
+        {
+            for ( String key : extensions.keySet() )
+            {
+                if ( name.equalsIgnoreCase( key ) )
+                {
+                    return extensions.get( key );
+                }
+            }
+        }
+
+        return null;
+    }
+
+
+    /**
      * Add an extension with its values
      * @param key The extension key
      * @param values The associated values
@@ -500,13 +531,13 @@ public abstract class AbstractSchemaObje
         if ( !isReadOnly )
         {
             List<String> valueList = new ArrayList<String>();
-            
+
             for ( String value : values )
             {
                 valueList.add( value );
             }
-            
-            extensions.put( key, valueList );
+
+            extensions.put( Strings.toUpperCase( key ), valueList );
         }
     }
 
@@ -525,7 +556,7 @@ public abstract class AbstractSchemaObje
 
         if ( !isReadOnly )
         {
-            extensions.put( key, values );
+            extensions.put( Strings.toUpperCase( key ), values );
         }
     }
 
@@ -555,7 +586,7 @@ public abstract class AbstractSchemaObje
                     values.add( value );
                 }
 
-                this.extensions.put( entry.getKey(), values );
+                this.extensions.put( Strings.toUpperCase( entry.getKey() ), values );
             }
 
         }
@@ -838,7 +869,7 @@ public abstract class AbstractSchemaObje
 
         for ( String key : original.getExtensions().keySet() )
         {
-            List<String> extensionValues = original.getExtensions().get( key );
+            List<String> extensionValues = original.getExtension( key );
 
             List<String> cloneExtension = new ArrayList<String>();
 
@@ -879,8 +910,8 @@ public abstract class AbstractSchemaObje
         // Clear the names
         names.clear();
     }
-    
-    
+
+
     public void unlock()
     {
         locked = false;

Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/LdapSyntax.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/LdapSyntax.java?rev=1664350&r1=1664349&r2=1664350&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/LdapSyntax.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/LdapSyntax.java Thu Mar  5 14:00:34 2015
@@ -137,12 +137,12 @@ public class LdapSyntax extends Abstract
         }
         else
         {
-            List<String> values = extensions.get( MetaSchemaConstants.X_NOT_HUMAN_READABLE_AT );
+            List<String> values = getExtension( MetaSchemaConstants.X_NOT_HUMAN_READABLE_AT );
 
             if ( ( values == null ) || ( values.size() == 0 ) )
             {
                 // Default to String if the flag is not set
-                return false;
+                return true;
             }
             else
             {
@@ -184,26 +184,6 @@ public class LdapSyntax extends Abstract
     }
 
 
-    /**
-     * Gets whether or not the Human Readable extension is present in the Syntax.
-     * 
-     * @return true if the syntax contains teh X-NOT-HUMAN-READABLE extension
-     *
-    public boolean hasHumanReadableFlag()
-    {
-        return hasHumanReadableFlag;
-    }
-
-
-    /**
-     * Sets the hasHumanReadableFlag to true if we have a X-NOT-HUMAN-READABLE extension
-     *
-    public void setHasHumanReadableFlag()
-    {
-        hasHumanReadableFlag = true;
-    }
-
-
     /**
      * Gets the SyntaxChecker used to validate values in accordance with this
      * Syntax.

Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/SchemaObject.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/SchemaObject.java?rev=1664350&r1=1664349&r2=1664350&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/SchemaObject.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/SchemaObject.java Thu Mar  5 14:00:34 2015
@@ -219,6 +219,24 @@ public interface SchemaObject
 
 
     /**
+     * Check if a given extension is part of the SchemaObject. Extensions are case insensitive.
+     * 
+     * @param extension The extension we are looking for.
+     * @return <code>true</code> if the extension is present.
+     */
+    boolean hasExtension( String extension );
+
+
+    /**
+     * Get back the values associated with a given extension.
+     * 
+     * @param extension The extension we are looking for.
+     * @return The list of values associated with the extension
+     */
+    List<String> getExtension( String extension );
+
+
+    /**
      * Add an extension with its values
      * @param key The extension key
      * @param values The associated values

Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/SchemaUtils.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/SchemaUtils.java?rev=1664350&r1=1664349&r2=1664350&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/SchemaUtils.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/SchemaUtils.java Thu Mar  5 14:00:34 2015
@@ -364,7 +364,6 @@ public final class SchemaUtils
     // schema object rendering operations
     // ------------------------------------------------------------------------
 
-
     /**
      * Renders the schema extensions into a new StringBuffer.
      *
@@ -418,8 +417,6 @@ public final class SchemaUtils
     }
 
 
-    
-
     /**
      * Returns a String description of a schema. The resulting String format is :
      * <br>
@@ -456,7 +453,7 @@ public final class SchemaUtils
 
     private static String getSchemaName( SchemaObject desc )
     {
-        List<String> values = desc.getExtensions().get( MetaSchemaConstants.X_SCHEMA_AT );
+        List<String> values = desc.getExtension( MetaSchemaConstants.X_SCHEMA_AT );
 
         if ( values == null || values.size() == 0 )
         {

Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/AbstractSchemaParser.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/AbstractSchemaParser.java?rev=1664350&r1=1664349&r2=1664350&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/AbstractSchemaParser.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/AbstractSchemaParser.java Thu Mar  5 14:00:34 2015
@@ -232,7 +232,7 @@ public abstract class AbstractSchemaPars
     private void updateSchemaName( SchemaObject schemaObject )
     {
         // Update the Schema if we have the X-SCHEMA extension
-        List<String> schemaExtension = schemaObject.getExtensions().get( MetaSchemaConstants.X_SCHEMA_AT );
+        List<String> schemaExtension = schemaObject.getExtension( MetaSchemaConstants.X_SCHEMA_AT );
 
         if ( schemaExtension != null )
         {

Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/ParserDescriptionUtils.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/ParserDescriptionUtils.java?rev=1664350&r1=1664349&r2=1664350&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/ParserDescriptionUtils.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/ParserDescriptionUtils.java Thu Mar  5 14:00:34 2015
@@ -285,8 +285,8 @@ public final class ParserDescriptionUtil
         // check contents and order of extension values must match
         for ( String key : lsd0.getExtensions().keySet() )
         {
-            List<String> values0 = lsd0.getExtensions().get( key );
-            List<String> values1 = lsd1.getExtensions().get( key );
+            List<String> values0 = lsd0.getExtension( key );
+            List<String> values1 = lsd1.getExtension( key );
 
             // if the key is not present in asd1
             if ( values1 == null )