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 2010/06/30 18:25:23 UTC
svn commit: r959367 - in /directory/shared/trunk: asn1/ ldap-aci/
ldap-aci/src/main/antlr/
ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/
ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/
ldap-aci/src/main/java/or...
Author: elecharny
Date: Wed Jun 30 16:25:22 2010
New Revision: 959367
URL: http://svn.apache.org/viewvc?rev=959367&view=rev
Log:
o Refactored the dependencies as we now have a new module for the SchemaManager tests
o The ACIItemparser is now SchemaAware
o Made the ACItem parser using AttributeType instead of Strings
o Load the SchemaManager when testing the ACI
o Moved the tests out of SchemaManager to SchemaManager tests
Added:
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllUserAttributeTypesAndValuesItem.java
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllUserAttributeTypesItem.java
Removed:
directory/shared/trunk/ldap-schema-manager/src/test/
Modified:
directory/shared/trunk/asn1/pom.xml
directory/shared/trunk/ldap-aci/pom.xml
directory/shared/trunk/ldap-aci/src/main/antlr/ACIItem.g
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ACIItemChecker.java
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ItemPermission.java
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ProtectedItem.java
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ReusableAntlrACIItemParser.java
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AbstractAttributeTypeProtectedItem.java
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllAttributeValuesItem.java
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AttributeTypeItem.java
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/SelfValueItem.java
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/schema/syntaxCheckers/ACIItemSyntaxChecker.java
directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemChekerTest.java
directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemParserTest.java
directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_AllAttributeValuesTest.java
directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_AttributeTypeTest.java
directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_SelfValueTest.java
directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/schema/syntaxCheckers/ACIItemSyntaxCheckerTest.java
directory/shared/trunk/ldap-schema-loader/src/main/java/org/apache/directory/shared/ldap/schema/loader/ldif/SchemaEntityFactory.java
directory/shared/trunk/ldap-schema-manager/pom.xml
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/SyntaxChecker.java
Modified: directory/shared/trunk/asn1/pom.xml
URL: http://svn.apache.org/viewvc/directory/shared/trunk/asn1/pom.xml?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/asn1/pom.xml (original)
+++ directory/shared/trunk/asn1/pom.xml Wed Jun 30 16:25:22 2010
@@ -33,6 +33,7 @@
<groupId>${project.groupId}</groupId>
<artifactId>shared-i18n</artifactId>
</dependency>
+
<dependency>
<groupId>org.apache.directory.junit</groupId>
<artifactId>junit-addons</artifactId>
Modified: directory/shared/trunk/ldap-aci/pom.xml
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/pom.xml?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/pom.xml (original)
+++ directory/shared/trunk/ldap-aci/pom.xml Wed Jun 30 16:25:22 2010
@@ -48,6 +48,16 @@
</dependency>
<dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>shared-ldap-schema-loader</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>shared-ldap-schema-manager</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
</dependency>
Modified: directory/shared/trunk/ldap-aci/src/main/antlr/ACIItem.g
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/antlr/ACIItem.g?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/antlr/ACIItem.g (original)
+++ directory/shared/trunk/ldap-aci/src/main/antlr/ACIItem.g Wed Jun 30 16:25:22 2010
@@ -50,16 +50,18 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.util.OptionalComponentsMonitor;
import org.apache.directory.shared.ldap.name.DN;
import org.apache.directory.shared.ldap.name.RDN;
+import org.apache.directory.shared.ldap.schema.AttributeType;
import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.constants.AuthenticationLevel;
import org.apache.directory.shared.ldap.entry.StringValue;
+import org.apache.directory.shared.ldap.entry.EntryAttribute;
+import org.apache.directory.shared.ldap.entry.DefaultEntryAttribute;
+import org.apache.directory.shared.ldap.exception.LdapException;
import org.apache.directory.shared.ldap.aci.protectedItem.AllAttributeValuesItem;
import org.apache.directory.shared.ldap.aci.protectedItem.AttributeTypeItem;
import org.apache.directory.shared.ldap.aci.protectedItem.AttributeValueItem;
import org.apache.directory.shared.ldap.aci.protectedItem.SelfValueItem;
-import org.apache.directory.shared.ldap.entry.EntryAttribute;
-import org.apache.directory.shared.ldap.entry.DefaultEntryAttribute;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -440,7 +442,7 @@ allUserAttributeTypes
attributeType
{
log.debug( "entered attributeType()" );
- Set<String> attributeTypeSet = null;
+ Set<AttributeType> attributeTypeSet = null;
}
:
ID_attributeType ( SP )+ attributeTypeSet=attributeTypeSet
@@ -452,7 +454,7 @@ attributeType
allAttributeValues
{
log.debug( "entered allAttributeValues()" );
- Set<String> attributeTypeSet = null;
+ Set<AttributeType> attributeTypeSet = null;
}
:
ID_allAttributeValues ( SP )+ attributeTypeSet=attributeTypeSet
@@ -514,7 +516,7 @@ attributeValue
selfValue
{
log.debug( "entered selfValue()" );
- Set<String> attributeTypeSet = null;
+ Set<AttributeType> attributeTypeSet = null;
}
:
ID_selfValue ( SP )+ attributeTypeSet=attributeTypeSet
@@ -650,21 +652,40 @@ restrictedValue returns [ ProtectedItem.
}
;
-attributeTypeSet returns [ Set<String> attributeTypeSet ]
+attributeTypeSet returns [ Set<AttributeType> attributeTypeSet ]
{
log.debug( "entered attributeTypeSet()" );
String oid = null;
- attributeTypeSet = new HashSet<String>();
+ attributeTypeSet = new HashSet<AttributeType>();
+ AttributeType attributeType = null;
}
:
OPEN_CURLY ( SP )*
oid=oid ( SP )*
{
- attributeTypeSet.add( oid );
+ try
+ {
+ attributeType = schemaManager.lookupAttributeTypeRegistry( oid );
+ attributeTypeSet.add( attributeType );
+ }
+ catch ( LdapException le )
+ {
+ // The oid does not exist
+ // TODO : deal with such an exception
+ }
}
( SEP ( SP )* oid=oid ( SP )*
{
- attributeTypeSet.add( oid );
+ try
+ {
+ attributeType = schemaManager.lookupAttributeTypeRegistry( oid );
+ attributeTypeSet.add( attributeType );
+ }
+ catch ( LdapException le )
+ {
+ // The oid does not exist
+ // TODO : deal with such an exception
+ }
}
)*
CLOSE_CURLY
Modified: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ACIItemChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ACIItemChecker.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ACIItemChecker.java (original)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ACIItemChecker.java Wed Jun 30 16:25:22 2010
@@ -25,6 +25,7 @@ import java.io.StringReader;
import java.text.ParseException;
import org.apache.directory.shared.i18n.I18n;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
import antlr.RecognitionException;
import antlr.TokenStreamException;
@@ -51,10 +52,11 @@ public class ACIItemChecker
/**
* Creates a ACIItem parser.
*/
- public ACIItemChecker()
+ public ACIItemChecker( SchemaManager schemaManager )
{
this.lexer = new ReusableAntlrACIItemLexer( new StringReader( "" ) );
this.checker = new ReusableAntlrACIItemParser( lexer );
+ this.checker.init( schemaManager );
this.isNormalizing = false;
}
Modified: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ItemPermission.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ItemPermission.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ItemPermission.java (original)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ItemPermission.java Wed Jun 30 16:25:22 2010
@@ -33,8 +33,6 @@ import java.util.Collections;
*/
public class ItemPermission extends Permission
{
- private static final long serialVersionUID = 3940100745409337694L;
-
private final Collection<UserClass> userClasses;
Modified: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ProtectedItem.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ProtectedItem.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ProtectedItem.java (original)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ProtectedItem.java Wed Jun 30 16:25:22 2010
@@ -20,11 +20,12 @@
package org.apache.directory.shared.ldap.aci;
-import java.io.Serializable;
import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
+import org.apache.directory.shared.ldap.aci.protectedItem.AllUserAttributeTypesAndValuesItem;
+import org.apache.directory.shared.ldap.aci.protectedItem.AllUserAttributeTypesItem;
import org.apache.directory.shared.ldap.filter.ExprNode;
@@ -51,13 +52,13 @@ public abstract class ProtectedItem
* All user attribute type information associated with the entry, but not
* values associated with those attributes.
*/
- public static final AllUserAttributeTypes ALL_USER_ATTRIBUTE_TYPES = new AllUserAttributeTypes();
+ public static final AllUserAttributeTypesItem ALL_USER_ATTRIBUTE_TYPES = new AllUserAttributeTypesItem();
/**
* All user attribute information associated with the entry, including all
* values of all user attributes.
*/
- public static final AllUserAttributeTypesAndValues ALL_USER_ATTRIBUTE_TYPES_AND_VALUES = new AllUserAttributeTypesAndValues();
+ public static final AllUserAttributeTypesAndValuesItem ALL_USER_ATTRIBUTE_TYPES_AND_VALUES = new AllUserAttributeTypesAndValuesItem();
/**
@@ -77,8 +78,6 @@ public abstract class ProtectedItem
*/
public static class Classes extends ProtectedItem
{
- private static final long serialVersionUID = -8553151906617285325L;
-
private final ExprNode classes;
@@ -157,9 +156,6 @@ public abstract class ProtectedItem
*/
public static class Entry extends ProtectedItem
{
- private static final long serialVersionUID = -6971482229815999874L;
-
-
private Entry()
{
}
@@ -171,46 +167,6 @@ public abstract class ProtectedItem
}
}
- /**
- * All user attribute type information associated with the entry, but not
- * values associated with those attributes.
- */
- public static class AllUserAttributeTypes extends ProtectedItem
- {
- private static final long serialVersionUID = 3728652941148931359L;
-
-
- private AllUserAttributeTypes()
- {
- }
-
-
- public String toString()
- {
- return "allUserAttributeTypes";
- }
- }
-
- /**
- * All user attribute information associated with the entry, including all
- * values of all user attributes.
- */
- public static class AllUserAttributeTypesAndValues extends ProtectedItem
- {
- private static final long serialVersionUID = 7250988885983604442L;
-
-
- private AllUserAttributeTypesAndValues()
- {
- }
-
-
- public String toString()
- {
- return "allUserAttributeTypesAndValues";
- }
- }
-
/**
* Restricts the maximum number of attribute values allowed for a specified
@@ -223,8 +179,6 @@ public abstract class ProtectedItem
*/
public static class MaxValueCount extends ProtectedItem
{
- private static final long serialVersionUID = 5261651541488944572L;
-
private final Set<ProtectedItem.MaxValueCountItem> items;
@@ -321,8 +275,6 @@ public abstract class ProtectedItem
*/
public static class RangeOfValues extends ProtectedItem
{
- private static final long serialVersionUID = -8553151906617285325L;
-
private final ExprNode filter;
@@ -408,8 +360,6 @@ public abstract class ProtectedItem
*/
public static class MaxImmSub extends ProtectedItem
{
- private static final long serialVersionUID = -8553151906617285325L;
-
private final int value;
@@ -485,7 +435,6 @@ public abstract class ProtectedItem
*/
public static class RestrictedBy extends ProtectedItem
{
- private static final long serialVersionUID = -8157637446588058799L;
private final Set<RestrictedByItem> items;
@@ -578,10 +527,8 @@ public abstract class ProtectedItem
/**
* An element of {@link MaxValueCount}.
*/
- public static class MaxValueCountItem implements Serializable
+ public static class MaxValueCountItem
{
- private static final long serialVersionUID = 43697038363452113L;
-
private String attributeType;
private int maxCount;
@@ -630,10 +577,8 @@ public abstract class ProtectedItem
/**
* An element of {@link RestrictedBy}.
*/
- public static class RestrictedByItem implements Serializable
+ public static class RestrictedByItem
{
- private static final long serialVersionUID = 4319052153538757099L;
-
private String attributeType;
private String valuesIn;
Modified: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ReusableAntlrACIItemParser.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ReusableAntlrACIItemParser.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ReusableAntlrACIItemParser.java (original)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ReusableAntlrACIItemParser.java Wed Jun 30 16:25:22 2010
@@ -41,7 +41,7 @@ class ReusableAntlrACIItemParser extends
/**
* Creates a ReusableAntlrSubtreeSpecificationParser instance.
*/
- public ReusableAntlrACIItemParser(TokenStream lexer)
+ public ReusableAntlrACIItemParser( TokenStream lexer )
{
super( lexer );
}
Modified: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AbstractAttributeTypeProtectedItem.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AbstractAttributeTypeProtectedItem.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AbstractAttributeTypeProtectedItem.java (original)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AbstractAttributeTypeProtectedItem.java Wed Jun 30 16:25:22 2010
@@ -24,13 +24,14 @@ import java.util.Iterator;
import java.util.Set;
import org.apache.directory.shared.ldap.aci.ProtectedItem;
+import org.apache.directory.shared.ldap.schema.AttributeType;
/**
* A base class for all items which protects attribute types (or its values)
*/
public abstract class AbstractAttributeTypeProtectedItem extends ProtectedItem
{
- protected final Set<String> attributeTypes;
+ protected final Set<AttributeType> attributeTypes;
/**
@@ -38,7 +39,7 @@ public abstract class AbstractAttributeT
*
* @param attributeTypes the collection of attirbute IDs
*/
- protected AbstractAttributeTypeProtectedItem( Set<String> attributeTypes )
+ protected AbstractAttributeTypeProtectedItem( Set<AttributeType> attributeTypes )
{
this.attributeTypes = Collections.unmodifiableSet( attributeTypes );
}
@@ -47,7 +48,7 @@ public abstract class AbstractAttributeT
/**
* Returns an iterator of all attribute IDs.
*/
- public Iterator<String> iterator()
+ public Iterator<AttributeType> iterator()
{
return attributeTypes.iterator();
}
@@ -101,7 +102,7 @@ public abstract class AbstractAttributeT
buf.append( "{ " );
boolean isFirst = true;
- for ( String attributeType : attributeTypes )
+ for ( AttributeType attributeType : attributeTypes )
{
if ( isFirst )
{
@@ -112,7 +113,7 @@ public abstract class AbstractAttributeT
buf.append( ", " );
}
- buf.append( attributeType );
+ buf.append( attributeType.getName() );
}
buf.append( " }" );
Modified: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllAttributeValuesItem.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllAttributeValuesItem.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllAttributeValuesItem.java (original)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllAttributeValuesItem.java Wed Jun 30 16:25:22 2010
@@ -21,6 +21,8 @@ package org.apache.directory.shared.ldap
import java.util.Set;
+import org.apache.directory.shared.ldap.schema.AttributeType;
+
/**
* All attribute value information pertaining to specific attributes.
*/
@@ -31,7 +33,7 @@ public class AllAttributeValuesItem exte
*
* @param attributeTypes the collection of attribute IDs.
*/
- public AllAttributeValuesItem( Set<String> attributeTypes )
+ public AllAttributeValuesItem( Set<AttributeType> attributeTypes )
{
super( attributeTypes );
}
Added: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllUserAttributeTypesAndValuesItem.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllUserAttributeTypesAndValuesItem.java?rev=959367&view=auto
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllUserAttributeTypesAndValuesItem.java (added)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllUserAttributeTypesAndValuesItem.java Wed Jun 30 16:25:22 2010
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.shared.ldap.aci.protectedItem;
+
+import org.apache.directory.shared.ldap.aci.ProtectedItem;
+
+/**
+ * All user attribute information associated with the entry, including all
+ * values of all user attributes.
+ */
+public class AllUserAttributeTypesAndValuesItem extends ProtectedItem
+{
+ public AllUserAttributeTypesAndValuesItem()
+ {
+ }
+
+
+ public String toString()
+ {
+ return "allUserAttributeTypesAndValues";
+ }
+}
Added: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllUserAttributeTypesItem.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllUserAttributeTypesItem.java?rev=959367&view=auto
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllUserAttributeTypesItem.java (added)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AllUserAttributeTypesItem.java Wed Jun 30 16:25:22 2010
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.shared.ldap.aci.protectedItem;
+
+import org.apache.directory.shared.ldap.aci.ProtectedItem;
+
+/**
+ * All user attribute type information associated with the entry, but not
+ * values associated with those attributes.
+ */
+public class AllUserAttributeTypesItem extends ProtectedItem
+{
+ public AllUserAttributeTypesItem()
+ {
+ }
+
+
+ public String toString()
+ {
+ return "allUserAttributeTypes";
+ }
+}
\ No newline at end of file
Modified: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AttributeTypeItem.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AttributeTypeItem.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AttributeTypeItem.java (original)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/AttributeTypeItem.java Wed Jun 30 16:25:22 2010
@@ -21,6 +21,8 @@ package org.apache.directory.shared.ldap
import java.util.Set;
+import org.apache.directory.shared.ldap.schema.AttributeType;
+
/**
* Attribute type information pertaining to specific attributes but not
* values associated with the type.
@@ -32,7 +34,7 @@ public class AttributeTypeItem extends A
*
* @param attributeTypes the collection of attribute IDs.
*/
- public AttributeTypeItem( Set<String> attributeTypes )
+ public AttributeTypeItem( Set<AttributeType> attributeTypes )
{
super( attributeTypes );
}
Modified: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/SelfValueItem.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/SelfValueItem.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/SelfValueItem.java (original)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/protectedItem/SelfValueItem.java Wed Jun 30 16:25:22 2010
@@ -21,6 +21,8 @@ package org.apache.directory.shared.ldap
import java.util.Set;
+import org.apache.directory.shared.ldap.schema.AttributeType;
+
/**
* The attribute value assertion corresponding to the current requestor. The
* protected item selfValue applies only when the access controls are to be
@@ -36,7 +38,7 @@ public class SelfValueItem extends Abstr
*
* @param attributeTypes the collection of attribute IDs.
*/
- public SelfValueItem( Set<String> attributeTypes )
+ public SelfValueItem( Set<AttributeType> attributeTypes )
{
super( attributeTypes );
}
Modified: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/schema/syntaxCheckers/ACIItemSyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/schema/syntaxCheckers/ACIItemSyntaxChecker.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/schema/syntaxCheckers/ACIItemSyntaxChecker.java (original)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/schema/syntaxCheckers/ACIItemSyntaxChecker.java Wed Jun 30 16:25:22 2010
@@ -23,6 +23,7 @@ import java.text.ParseException;
import org.apache.directory.shared.ldap.aci.ACIItemChecker;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.apache.directory.shared.ldap.schema.SyntaxChecker;
import org.apache.directory.shared.ldap.util.StringTools;
import org.slf4j.Logger;
@@ -44,7 +45,7 @@ public class ACIItemSyntaxChecker extend
private static final long serialVersionUID = 1L;
/** An instance of ACI Item Checker */
- private static final ACIItemChecker ACI_ITEM_CHECKER = new ACIItemChecker();
+ private static ACIItemChecker ACI_ITEM_CHECKER;
/**
* Creates a new instance of ACIItemSyntaxChecker
@@ -103,4 +104,13 @@ public class ACIItemSyntaxChecker extend
return false;
}
}
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setSchemaManager( SchemaManager schemaManager )
+ {
+ ACI_ITEM_CHECKER = new ACIItemChecker( schemaManager );
+ }
}
Modified: directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemChekerTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemChekerTest.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemChekerTest.java (original)
+++ directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemChekerTest.java Wed Jun 30 16:25:22 2010
@@ -27,6 +27,10 @@ import java.text.ParseException;
import org.apache.directory.junit.tools.Concurrent;
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
+import org.apache.directory.shared.ldap.schema.loader.ldif.JarLdifSchemaLoader;
+import org.apache.directory.shared.ldap.schema.manager.impl.DefaultSchemaManager;
+import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -40,18 +44,21 @@ import org.junit.runner.RunWith;
@Concurrent()
public class ACIItemChekerTest
{
-
/** the ACIItem checker wrapper */
- ACIItemChecker checker;
+ static private ACIItemChecker checker;
/**
- * Creates a ACIItemParserTest instance.
+ * Initialization
*/
- public ACIItemChekerTest()
+ @BeforeClass
+ public static void init() throws Exception
{
- super();
- checker = new ACIItemChecker();
+ JarLdifSchemaLoader loader = new JarLdifSchemaLoader();
+ SchemaManager schemaManager = new DefaultSchemaManager( loader );
+ schemaManager.loadAllEnabled();
+
+ checker = new ACIItemChecker( schemaManager );
}
@@ -61,14 +68,49 @@ public class ACIItemChekerTest
@Test
public void testItemFirst() throws Exception
{
- String spec = " { identificationTag \"id1\" , precedence 114 , authenticationLevel simple , "
- + "itemOrUserFirst itemFirst :{ protectedItems { entry , attributeType { 1.2.3 , ou } , "
- + " attributeValue { ou=people , cn=Ersin } , rangeOfValues (cn=ErsinEr) , "
- + "classes and : { item: xyz , or:{item:X,item:Y} }} , "
- + "itemPermissions { { userClasses {allUsers , userGroup { \"1.2=y,z=t\" , \"a=b,c=d\" } "
- + " , subtree { { base \"ou=people\" } } } , grantsAndDenials { denyCompare , grantModify } },"
- + "{ precedence 10, userClasses {allUsers , userGroup { \"1.2=y,z=t\" , \"a=b,c=d\" } "
- + " , subtree { { base \"ou=people\" } } } , grantsAndDenials { denyCompare , grantModify } } } }}";
+ String spec =
+ " { " +
+ " identificationTag \"id1\" , " +
+ " precedence 114 , " +
+ " authenticationLevel simple , " +
+ " itemOrUserFirst itemFirst :" +
+ " { " +
+ " protectedItems " +
+ " { " +
+ " entry , " +
+ " attributeType { 1.2.3 , ou } ," +
+ " attributeValue { ou=people , cn=Ersin } , " +
+ " rangeOfValues (cn=ErsinEr) , " +
+ " classes and : " +
+ " { " +
+ " item: xyz , " +
+ " or:{item:X,item:Y} " +
+ " }" +
+ " } , " +
+ " itemPermissions " +
+ " { " +
+ " { " +
+ " userClasses " +
+ " {" +
+ " allUsers , " +
+ " userGroup { \"1.2=y,z=t\" , \"a=b,c=d\" } ," +
+ " subtree { { base \"ou=people\" } } " +
+ " } , " +
+ " grantsAndDenials { denyCompare , grantModify } " +
+ " }," +
+ " { " +
+ " precedence 10, " +
+ " userClasses " +
+ " {" +
+ " allUsers , " +
+ " userGroup { \"1.2=y,z=t\" , \"a=b,c=d\" } ," +
+ " subtree { { base \"ou=people\" } } " +
+ " } , " +
+ " grantsAndDenials { denyCompare , grantModify } " +
+ " } " +
+ " } " +
+ " }" +
+ " }";
checker.parse( spec );
}
Modified: directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemParserTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemParserTest.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemParserTest.java (original)
+++ directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ACIItemParserTest.java Wed Jun 30 16:25:22 2010
@@ -29,6 +29,10 @@ import java.text.ParseException;
import org.apache.directory.junit.tools.Concurrent;
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
+import org.apache.directory.shared.ldap.schema.loader.ldif.JarLdifSchemaLoader;
+import org.apache.directory.shared.ldap.schema.manager.impl.DefaultSchemaManager;
+import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -43,16 +47,20 @@ public class ACIItemParserTest
{
/** the ACIItem parser wrapper */
- ACIItemParser parser;
+ private static ACIItemParser parser;
/**
- * Creates a ACIItemParserTest instance.
+ * Initialization
*/
- public ACIItemParserTest()
+ @BeforeClass
+ public static void init() throws Exception
{
- super();
- parser = new ACIItemParser( null );
+ JarLdifSchemaLoader loader = new JarLdifSchemaLoader();
+ SchemaManager schemaManager = new DefaultSchemaManager( loader );
+ schemaManager.loadAllEnabled();
+
+ parser = new ACIItemParser( schemaManager );
}
@@ -94,14 +102,41 @@ public class ACIItemParserTest
@Test
public void testItemFirst() throws Exception
{
- String spec = " { identificationTag \"id1\" , precedence 114 , authenticationLevel simple , "
- + "itemOrUserFirst itemFirst :{ protectedItems { entry , attributeType { 1.2.3 , ou } , "
- + " attributeValue { ou=people , cn=Ersin } , rangeOfValues (cn=ErsinEr) , "
- + "classes and : { item: xyz , or:{item:X,item:Y} }} , "
- + "itemPermissions { { userClasses {allUsers , userGroup { \"1.2=y,z=t\" , \"a=b,c=d\" } "
- + " , subtree { { base \"ou=people\" } } } , grantsAndDenials { denyCompare , grantModify } },"
- + "{ precedence 10, userClasses {allUsers , userGroup { \"1.2=y,z=t\" , \"a=b,c=d\" } "
- + " , subtree { { base \"ou=people\" } } } , grantsAndDenials { denyCompare , grantModify } } } }}";
+ String spec =
+ "{ " +
+ " identificationTag \"id1\" , " +
+ " precedence 114 , " +
+ " authenticationLevel simple , " +
+ " itemOrUserFirst itemFirst :" +
+ " { " +
+ " protectedItems { entry , attributeType { 2.5.4.3 , ou } , " +
+ " attributeValue { ou=people , cn=Ersin } , " +
+ " rangeOfValues (cn=ErsinEr) , " +
+ " classes and : { item: xyz , or:{item:X,item:Y} }" +
+ " } , " +
+ " itemPermissions " +
+ " { " +
+ " { " +
+ " userClasses " +
+ " {" +
+ " allUsers , " +
+ " userGroup { \"1.2=y,z=t\" , \"a=b,c=d\" } , " +
+ " subtree { { base \"ou=people\" } } " +
+ " } , " +
+ " grantsAndDenials { denyCompare , grantModify } " +
+ " }," +
+ " { " +
+ " precedence 10, " +
+ " userClasses " +
+ " {" +
+ " allUsers , " +
+ " userGroup { \"1.2=y,z=t\" , \"a=b,c=d\" } ," +
+ " subtree { { base \"ou=people\" } } " +
+ " } , " +
+ " grantsAndDenials { denyCompare , grantModify } } " +
+ " } " +
+ " }" +
+ "}";
ACIItem item = parser.parse( spec );
checkItemToString( spec, item );
Modified: directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_AllAttributeValuesTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_AllAttributeValuesTest.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_AllAttributeValuesTest.java (original)
+++ directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_AllAttributeValuesTest.java Wed Jun 30 16:25:22 2010
@@ -29,6 +29,7 @@ import java.util.Set;
import org.apache.directory.junit.tools.Concurrent;
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
import org.apache.directory.shared.ldap.aci.protectedItem.AllAttributeValuesItem;
+import org.apache.directory.shared.ldap.schema.AttributeType;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -55,18 +56,18 @@ public class ProtectedItem_AllAttributeV
@Before
public void initNames() throws Exception
{
- Set<String> colA = new HashSet<String>();
- colA.add( "aa" );
- colA.add( "bb" );
- colA.add( "cc" );
- Set<String> colB = new HashSet<String>();
- colB.add( "aa" );
- colB.add( "bb" );
- colB.add( "cc" );
- Set<String> colC = new HashSet<String>();
- colC.add( "bb" );
- colC.add( "cc" );
- colC.add( "dd" );
+ Set<AttributeType> colA = new HashSet<AttributeType>();
+ colA.add( new AttributeType( "aa" ) );
+ colA.add( new AttributeType( "bb" ) );
+ colA.add( new AttributeType( "cc" ) );
+ Set<AttributeType> colB = new HashSet<AttributeType>();
+ colB.add( new AttributeType( "aa" ) );
+ colB.add( new AttributeType( "bb" ) );
+ colB.add( new AttributeType( "cc" ) );
+ Set<AttributeType> colC = new HashSet<AttributeType>();
+ colC.add( new AttributeType( "bb" ) );
+ colC.add( new AttributeType( "cc" ) );
+ colC.add( new AttributeType( "dd" ) );
allAttributeValuesA = new AllAttributeValuesItem( colA );
allAttributeValuesACopy = new AllAttributeValuesItem( colA );
Modified: directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_AttributeTypeTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_AttributeTypeTest.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_AttributeTypeTest.java (original)
+++ directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_AttributeTypeTest.java Wed Jun 30 16:25:22 2010
@@ -29,6 +29,7 @@ import java.util.Set;
import org.apache.directory.junit.tools.Concurrent;
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
import org.apache.directory.shared.ldap.aci.protectedItem.AttributeTypeItem;
+import org.apache.directory.shared.ldap.schema.AttributeType;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -55,18 +56,18 @@ public class ProtectedItem_AttributeType
@Before
public void initNames() throws Exception
{
- Set<String> colA = new HashSet<String>();
- colA.add( "aa" );
- colA.add( "bb" );
- colA.add( "cc" );
- Set<String> colB = new HashSet<String>();
- colB.add( "aa" );
- colB.add( "bb" );
- colB.add( "cc" );
- Set<String> colC = new HashSet<String>();
- colC.add( "bb" );
- colC.add( "cc" );
- colC.add( "dd" );
+ Set<AttributeType> colA = new HashSet<AttributeType>();
+ colA.add( new AttributeType( "aa" ) );
+ colA.add( new AttributeType( "bb" ) );
+ colA.add( new AttributeType( "cc" ) );
+ Set<AttributeType> colB = new HashSet<AttributeType>();
+ colB.add( new AttributeType( "aa" ) );
+ colB.add( new AttributeType( "bb" ) );
+ colB.add( new AttributeType( "cc" ) );
+ Set<AttributeType> colC = new HashSet<AttributeType>();
+ colC.add( new AttributeType( "bb" ) );
+ colC.add( new AttributeType( "cc" ) );
+ colC.add( new AttributeType( "dd" ) );
attributeTypeA = new AttributeTypeItem( colA );
attributeTypeACopy = new AttributeTypeItem( colA );
Modified: directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_SelfValueTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_SelfValueTest.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_SelfValueTest.java (original)
+++ directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/aci/ProtectedItem_SelfValueTest.java Wed Jun 30 16:25:22 2010
@@ -29,6 +29,7 @@ import java.util.Set;
import org.apache.directory.junit.tools.Concurrent;
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
import org.apache.directory.shared.ldap.aci.protectedItem.SelfValueItem;
+import org.apache.directory.shared.ldap.schema.AttributeType;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -55,18 +56,18 @@ public class ProtectedItem_SelfValueTest
@Before
public void initNames() throws Exception
{
- Set<String> colA = new HashSet<String>();
- colA.add( "aa" );
- colA.add( "bb" );
- colA.add( "cc" );
- Set<String> colB = new HashSet<String>();
- colB.add( "aa" );
- colB.add( "bb" );
- colB.add( "cc" );
- Set<String> colC = new HashSet<String>();
- colC.add( "bb" );
- colC.add( "cc" );
- colC.add( "dd" );
+ Set<AttributeType> colA = new HashSet<AttributeType>();
+ colA.add( new AttributeType( "aa" ) );
+ colA.add( new AttributeType( "bb" ) );
+ colA.add( new AttributeType( "cc" ) );
+ Set<AttributeType> colB = new HashSet<AttributeType>();
+ colB.add( new AttributeType( "aa" ) );
+ colB.add( new AttributeType( "bb" ) );
+ colB.add( new AttributeType( "cc" ) );
+ Set<AttributeType> colC = new HashSet<AttributeType>();
+ colC.add( new AttributeType( "bb" ) );
+ colC.add( new AttributeType( "cc" ) );
+ colC.add( new AttributeType( "dd" ) );
selfValueA = new SelfValueItem( colA );
selfValueACopy = new SelfValueItem( colA );
Modified: directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/schema/syntaxCheckers/ACIItemSyntaxCheckerTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/schema/syntaxCheckers/ACIItemSyntaxCheckerTest.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/schema/syntaxCheckers/ACIItemSyntaxCheckerTest.java (original)
+++ directory/shared/trunk/ldap-aci/src/test/java/org/apache/directory/shared/ldap/schema/syntaxCheckers/ACIItemSyntaxCheckerTest.java Wed Jun 30 16:25:22 2010
@@ -25,7 +25,10 @@ import static org.junit.Assert.assertTru
import org.apache.directory.junit.tools.Concurrent;
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
-import org.apache.directory.shared.ldap.schema.syntaxCheckers.ACIItemSyntaxChecker;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
+import org.apache.directory.shared.ldap.schema.loader.ldif.JarLdifSchemaLoader;
+import org.apache.directory.shared.ldap.schema.manager.impl.DefaultSchemaManager;
+import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -39,8 +42,17 @@ import org.junit.runner.RunWith;
@Concurrent()
public class ACIItemSyntaxCheckerTest
{
- ACIItemSyntaxChecker checker = new ACIItemSyntaxChecker();
+ private static ACIItemSyntaxChecker checker;
+ @BeforeClass
+ public static void init() throws Exception
+ {
+ JarLdifSchemaLoader loader = new JarLdifSchemaLoader();
+ SchemaManager schemaManager = new DefaultSchemaManager( loader );
+ schemaManager.loadAllEnabled();
+ checker = new ACIItemSyntaxChecker();
+ checker.setSchemaManager( schemaManager );
+ }
@Test
public void testNullString()
Modified: directory/shared/trunk/ldap-schema-loader/src/main/java/org/apache/directory/shared/ldap/schema/loader/ldif/SchemaEntityFactory.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-schema-loader/src/main/java/org/apache/directory/shared/ldap/schema/loader/ldif/SchemaEntityFactory.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-schema-loader/src/main/java/org/apache/directory/shared/ldap/schema/loader/ldif/SchemaEntityFactory.java (original)
+++ directory/shared/trunk/ldap-schema-loader/src/main/java/org/apache/directory/shared/ldap/schema/loader/ldif/SchemaEntityFactory.java Wed Jun 30 16:25:22 2010
@@ -250,7 +250,7 @@ public class SchemaEntityFactory impleme
/**
* Class load a syntaxChecker instance
*/
- private SyntaxChecker classLoadSyntaxChecker( String oid, String className, EntryAttribute byteCode )
+ private SyntaxChecker classLoadSyntaxChecker( SchemaManager schemaManager, String oid, String className, EntryAttribute byteCode )
throws Exception
{
// Try to class load the syntaxChecker
@@ -279,6 +279,9 @@ public class SchemaEntityFactory impleme
// Inject the new OID, as the loaded syntaxChecker might have its own
syntaxChecker.setOid( oid );
+ // Inject the SchemaManager for the comparator who needs it
+ syntaxChecker.setSchemaManager( schemaManager );
+
return syntaxChecker;
}
@@ -322,7 +325,7 @@ public class SchemaEntityFactory impleme
try
{
// Class load the syntaxChecker
- SyntaxChecker syntaxChecker = classLoadSyntaxChecker( oid, className, byteCode );
+ SyntaxChecker syntaxChecker = classLoadSyntaxChecker( schemaManager, oid, className, byteCode );
// Update the common fields
setSchemaObjectProperties( syntaxChecker, entry, schema );
@@ -367,7 +370,7 @@ public class SchemaEntityFactory impleme
EntryAttribute byteCode = getByteCode( syntaxCheckerDescription, SchemaConstants.SYNTAX_CHECKER );
// Class load the SyntaxChecker
- SyntaxChecker syntaxChecker = classLoadSyntaxChecker( oid, fqcn, byteCode );
+ SyntaxChecker syntaxChecker = classLoadSyntaxChecker( schemaManager, oid, fqcn, byteCode );
// Update the common fields
setSchemaObjectProperties( syntaxChecker, syntaxCheckerDescription, schema );
Modified: directory/shared/trunk/ldap-schema-manager/pom.xml
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-schema-manager/pom.xml?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap-schema-manager/pom.xml (original)
+++ directory/shared/trunk/ldap-schema-manager/pom.xml Wed Jun 30 16:25:22 2010
@@ -49,11 +49,6 @@
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>shared-ldap-aci</artifactId>
- </dependency>
-
- <dependency>
- <groupId>${project.groupId}</groupId>
<artifactId>shared-ldap-schema</artifactId>
</dependency>
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/SyntaxChecker.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/SyntaxChecker.java?rev=959367&r1=959366&r2=959367&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/SyntaxChecker.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/SyntaxChecker.java Wed Jun 30 16:25:22 2010
@@ -21,7 +21,6 @@ package org.apache.directory.shared.ldap
import org.apache.directory.shared.ldap.exception.LdapException;
-
import org.apache.directory.shared.ldap.exception.LdapInvalidAttributeValueException;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
@@ -86,6 +85,18 @@ public abstract class SyntaxChecker exte
/**
+ * Store the SchemaManager in this instance. It may be necessary for some
+ * syntaxChecker which needs to have access to the oidNormalizer Map.
+ *
+ * @param schemaManager the schemaManager to store
+ */
+ public void setSchemaManager( SchemaManager schemaManager )
+ {
+ // Do nothing (general case).
+ }
+
+
+ /**
* @see Object#equals()
*/
@Override