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/07/08 20:23:30 UTC
svn commit: r961863 - in /directory:
apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/
apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/
apacheds/trunk/core/src/main/jav...
Author: elecharny
Date: Thu Jul 8 18:23:29 2010
New Revision: 961863
URL: http://svn.apache.org/viewvc?rev=961863&view=rev
Log:
o Added a SchemaMnager.getAttributeType() method which does not throw an exception
o Removed many AT lookups
o The RefinementEvaluator now takes a SchemaManager instead of an OidRegistry
Modified:
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/PartitionSchemaLoader.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AciAuthorizationInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/TupleCache.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/support/ACDFEngine.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/exception/ExceptionInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/referral/ReferralInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/AttributesFactory.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/DefaultSchemaService.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/SchemaInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluator.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/SubentryInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/trigger/TriggerInterceptor.java
directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/authz/support/RelatedProtectedItemFilterTest.java
directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/subtree/RefinementEvaluatorTest.java
directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluatorTest.java
directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java
directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ItemFirstACIItem.java
directory/shared/trunk/ldap-schema-manager/src/main/java/org/apache/directory/shared/ldap/schema/manager/impl/DefaultSchemaManager.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/SchemaManager.java
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/PartitionSchemaLoader.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/PartitionSchemaLoader.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/PartitionSchemaLoader.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/PartitionSchemaLoader.java Thu Jul 8 18:23:29 2010
@@ -83,7 +83,7 @@ public class PartitionSchemaLoader exten
this.schemaManager = schemaManager;
dao = new SchemaPartitionDaoImpl( this.partition, schemaManager );
- cnAT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.CN_AT );
+ cnAT = schemaManager.getAttributeType( SchemaConstants.CN_AT );
initStaticDNs( "system" );
initStaticDNs( "core" );
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java Thu Jul 8 18:23:29 2010
@@ -135,20 +135,20 @@ public class SchemaPartitionDaoImpl impl
this.M_NAME_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_NAME_AT );
this.CN_OID = schemaManager.getAttributeTypeRegistry().getOidByName( SchemaConstants.CN_AT );
- this.disabledAttributeType = schemaManager.lookupAttributeTypeRegistry( MetaSchemaConstants.M_DISABLED_AT );
- this.M_OID_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_OID_AT );
+ this.disabledAttributeType = schemaManager.getAttributeType( MetaSchemaConstants.M_DISABLED_AT );
+ this.M_OID_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_OID_AT ).getOid();
this.OBJECTCLASS_OID = schemaManager.getAttributeTypeRegistry().getOidByName( SchemaConstants.OBJECT_CLASS_AT );
- this.M_SYNTAX_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_SYNTAX_AT );
- this.M_ORDERING_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_ORDERING_AT );
- this.M_EQUALITY_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_EQUALITY_AT );
- this.M_SUBSTRING_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_SUBSTR_AT );
- this.M_SUP_ATTRIBUTE_TYPE_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_SUP_ATTRIBUTE_TYPE_AT );
- this.M_MUST_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_MUST_AT );
- this.M_MAY_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_MAY_AT );
- this.M_AUX_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_AUX_AT );
- this.M_OC_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_OC_AT );
- this.M_SUP_OBJECT_CLASS_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_SUP_OBJECT_CLASS_AT );
- this.M_DEPENDENCIES_OID = schemaManager.getAttributeTypeRegistry().getOidByName( MetaSchemaConstants.M_DEPENDENCIES_AT );
+ this.M_SYNTAX_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_SYNTAX_AT ).getOid();
+ this.M_ORDERING_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_ORDERING_AT ).getOid();
+ this.M_EQUALITY_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_EQUALITY_AT ).getOid();
+ this.M_SUBSTRING_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_SUBSTR_AT ).getOid();
+ this.M_SUP_ATTRIBUTE_TYPE_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_SUP_ATTRIBUTE_TYPE_AT ).getOid();
+ this.M_MUST_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_MUST_AT ).getOid();
+ this.M_MAY_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_MAY_AT ).getOid();
+ this.M_AUX_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_AUX_AT ).getOid();
+ this.M_OC_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_OC_AT ).getOid();
+ this.M_SUP_OBJECT_CLASS_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_SUP_OBJECT_CLASS_AT ).getOid();
+ this.M_DEPENDENCIES_OID = schemaManager.getAttributeType( MetaSchemaConstants.M_DEPENDENCIES_AT ).getOid();
for ( String attrId : SCHEMA_ATTRIBUTES )
{
@@ -590,14 +590,14 @@ public class SchemaPartitionDaoImpl impl
}
mods.add( new DefaultModification( ModificationOperation.REMOVE_ATTRIBUTE, new DefaultEntryAttribute(
- MetaSchemaConstants.M_DISABLED_AT, schemaManager.lookupAttributeTypeRegistry( MetaSchemaConstants.M_DISABLED_AT ) ) ) );
+ MetaSchemaConstants.M_DISABLED_AT, schemaManager.getAttributeType( MetaSchemaConstants.M_DISABLED_AT ) ) ) );
mods.add( new DefaultModification( ModificationOperation.ADD_ATTRIBUTE, new DefaultEntryAttribute(
- SchemaConstants.MODIFIERS_NAME_AT, schemaManager.lookupAttributeTypeRegistry( SchemaConstants.MODIFIERS_NAME_AT ),
+ SchemaConstants.MODIFIERS_NAME_AT, schemaManager.getAttributeType( SchemaConstants.MODIFIERS_NAME_AT ),
ServerDNConstants.ADMIN_SYSTEM_DN ) ) );
mods.add( new DefaultModification( ModificationOperation.ADD_ATTRIBUTE, new DefaultEntryAttribute(
- SchemaConstants.MODIFY_TIMESTAMP_AT, schemaManager.lookupAttributeTypeRegistry( SchemaConstants.MODIFY_TIMESTAMP_AT ), DateUtils
+ SchemaConstants.MODIFY_TIMESTAMP_AT, schemaManager.getAttributeType( SchemaConstants.MODIFY_TIMESTAMP_AT ), DateUtils
.getGeneralizedTime() ) ) );
partition.modify( new ModifyOperationContext( null, dn, mods ) );
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java Thu Jul 8 18:23:29 2010
@@ -93,7 +93,7 @@ public abstract class AbstractRegistrySy
protected AbstractRegistrySynchronizer( SchemaManager schemaManager ) throws Exception
{
this.schemaManager = schemaManager;
- m_oidAT = schemaManager.lookupAttributeTypeRegistry( MetaSchemaConstants.M_OID_AT );
+ m_oidAT = schemaManager.getAttributeType( MetaSchemaConstants.M_OID_AT );
factory = new SchemaEntityFactory();
}
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AciAuthorizationInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AciAuthorizationInterceptor.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AciAuthorizationInterceptor.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AciAuthorizationInterceptor.java Thu Jul 8 18:23:29 2010
@@ -157,7 +157,7 @@ public class AciAuthorizationInterceptor
/** interceptor chain */
private InterceptorChain chain;
- /** Global registries */
+ /** SchemaManager instance */
private SchemaManager schemaManager;
/** the system wide subschemaSubentryDn */
@@ -201,10 +201,10 @@ public class AciAuthorizationInterceptor
groupCache = new GroupCache( adminSession );
// look up some constant information
- OBJECT_CLASS_AT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.OBJECT_CLASS_AT );
- ACCESS_CONTROL_SUBENTRY_AT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.ACCESS_CONTROL_SUBENTRIES_AT );
- ENTRY_ACI_AT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.ENTRY_ACI_AT_OID );
- SUBENTRY_ACI_AT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.SUBENTRY_ACI_AT_OID );
+ OBJECT_CLASS_AT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
+ ACCESS_CONTROL_SUBENTRY_AT = schemaManager.getAttributeType( SchemaConstants.ACCESS_CONTROL_SUBENTRIES_AT );
+ ENTRY_ACI_AT = schemaManager.getAttributeType( SchemaConstants.ENTRY_ACI_AT_OID );
+ SUBENTRY_ACI_AT = schemaManager.getAttributeType( SchemaConstants.SUBENTRY_ACI_AT_OID );
// Iitialize the ACI PARSER and ACDF engine
aciParser = new ACIItemParser( new ConcreteNameComponentNormalizer( schemaManager ), schemaManager );
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationInterceptor.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationInterceptor.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationInterceptor.java Thu Jul 8 18:23:29 2010
@@ -116,7 +116,7 @@ public class DefaultAuthorizationInterce
ADMIN_GROUP_DN = new DN( ServerDNConstants.ADMINISTRATORS_GROUP_DN );
ADMIN_GROUP_DN.normalize( schemaManager.getNormalizerMapping() );
- uniqueMemberAT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.UNIQUE_MEMBER_AT_OID );
+ uniqueMemberAT = schemaManager.getAttributeType( SchemaConstants.UNIQUE_MEMBER_AT_OID );
loadAdministrators( directoryService );
}
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java Thu Jul 8 18:23:29 2010
@@ -74,11 +74,14 @@ public class GroupCache
/** a handle on the partition nexus */
private final PartitionNexus nexus;
+ /** A storage for the ObjectClass attributeType */
+ private AttributeType OBJECT_CLASS_AT;
+
/** A storage for the member attributeType */
- private AttributeType memberAT;
+ private AttributeType MEMBER_AT;
/** A storage for the uniqueMember attributeType */
- private AttributeType uniqueMemberAT;
+ private AttributeType UNIQUE_MEMBER_AT;
/**
* The OIDs normalizer map
@@ -102,8 +105,9 @@ public class GroupCache
SchemaManager schemaManager = session.getDirectoryService().getSchemaManager();
normalizerMap = schemaManager.getNormalizerMapping();
nexus = session.getDirectoryService().getPartitionNexus();
- memberAT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.MEMBER_AT_OID );
- uniqueMemberAT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.UNIQUE_MEMBER_AT_OID );
+ OBJECT_CLASS_AT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
+ MEMBER_AT = schemaManager.getAttributeType( SchemaConstants.MEMBER_AT );
+ UNIQUE_MEMBER_AT = schemaManager.getAttributeType( SchemaConstants.UNIQUE_MEMBER_AT );
// stuff for dealing with the admin group
administratorsGroupDn = parseNormalized( ServerDNConstants.ADMINISTRATORS_GROUP_DN );
@@ -191,18 +195,18 @@ public class GroupCache
*/
private EntryAttribute getMemberAttribute( Entry entry ) throws LdapException
{
- EntryAttribute oc = entry.get( SchemaConstants.OBJECT_CLASS_AT );
+ EntryAttribute oc = entry.get( OBJECT_CLASS_AT );
if ( oc == null )
{
- EntryAttribute member = entry.get( memberAT );
+ EntryAttribute member = entry.get( MEMBER_AT );
if ( member != null )
{
return member;
}
- EntryAttribute uniqueMember = entry.get( uniqueMemberAT );
+ EntryAttribute uniqueMember = entry.get( UNIQUE_MEMBER_AT );
if ( uniqueMember != null )
{
@@ -214,13 +218,13 @@ public class GroupCache
if ( oc.contains( SchemaConstants.GROUP_OF_NAMES_OC ) || oc.contains( SchemaConstants.GROUP_OF_NAMES_OC_OID ) )
{
- return entry.get( memberAT );
+ return entry.get( MEMBER_AT );
}
if ( oc.contains( SchemaConstants.GROUP_OF_UNIQUE_NAMES_OC )
|| oc.contains( SchemaConstants.GROUP_OF_UNIQUE_NAMES_OC_OID ) )
{
- return entry.get( uniqueMemberAT );
+ return entry.get( UNIQUE_MEMBER_AT );
}
return null;
@@ -389,17 +393,17 @@ public class GroupCache
{
EntryAttribute members = null;
String memberAttrId = null;
- EntryAttribute oc = entry.get( SchemaConstants.OBJECT_CLASS_AT );
+ EntryAttribute oc = entry.get( OBJECT_CLASS_AT );
if ( oc.contains( SchemaConstants.GROUP_OF_NAMES_OC ) )
{
- members = entry.get( memberAT );
+ members = entry.get( MEMBER_AT );
memberAttrId = SchemaConstants.MEMBER_AT;
}
if ( oc.contains( SchemaConstants.GROUP_OF_UNIQUE_NAMES_OC ) )
{
- members = entry.get( uniqueMemberAT );
+ members = entry.get( UNIQUE_MEMBER_AT );
memberAttrId = SchemaConstants.UNIQUE_MEMBER_AT;
}
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/TupleCache.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/TupleCache.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/TupleCache.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/TupleCache.java Thu Jul 8 18:23:29 2010
@@ -82,7 +82,7 @@ public class TupleCache
private final ACIItemParser aciParser;
/** A storage for the PrescriptiveACI attributeType */
- private AttributeType prescriptiveAciAT;
+ private AttributeType PRESCRIPTIVE_ACI_AT;
/** A storage for the ObjectClass attributeType */
private static AttributeType OBJECT_CLASS_AT;
@@ -100,8 +100,8 @@ public class TupleCache
this.nexus = session.getDirectoryService().getPartitionNexus();
NameComponentNormalizer ncn = new ConcreteNameComponentNormalizer( schemaManager );
aciParser = new ACIItemParser( ncn, schemaManager );
- prescriptiveAciAT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.PRESCRIPTIVE_ACI_AT );
- OBJECT_CLASS_AT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.OBJECT_CLASS_AT );
+ PRESCRIPTIVE_ACI_AT = schemaManager.getAttributeType( SchemaConstants.PRESCRIPTIVE_ACI_AT );
+ OBJECT_CLASS_AT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
initialize( session );
}
@@ -142,7 +142,7 @@ public class TupleCache
Entry result = results.get();
DN subentryDn = result.getDn().normalize( session.getDirectoryService().getSchemaManager().
getNormalizerMapping() );
- EntryAttribute aci = result.get( prescriptiveAciAT );
+ EntryAttribute aci = result.get( PRESCRIPTIVE_ACI_AT );
if ( aci == null )
{
@@ -170,7 +170,7 @@ public class TupleCache
private boolean hasPrescriptiveACI( Entry entry ) throws LdapException
{
// only do something if the entry contains prescriptiveACI
- EntryAttribute aci = entry.get( prescriptiveAciAT );
+ EntryAttribute aci = entry.get( PRESCRIPTIVE_ACI_AT );
if ( aci == null )
{
@@ -200,7 +200,7 @@ public class TupleCache
}
// Get the prescriptiveACI
- EntryAttribute prescriptiveAci = entry.get( prescriptiveAciAT );
+ EntryAttribute prescriptiveAci = entry.get( PRESCRIPTIVE_ACI_AT );
List<ACITuple> entryTuples = new ArrayList<ACITuple>();
@@ -266,7 +266,7 @@ public class TupleCache
return;
}
- if ( mods.get( prescriptiveAciAT ) != null )
+ if ( mods.get( PRESCRIPTIVE_ACI_AT ) != null )
{
subentryDeleted( normName, entry );
subentryAdded( normName, entry );
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/support/ACDFEngine.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/support/ACDFEngine.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/support/ACDFEngine.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/support/ACDFEngine.java Thu Jul 8 18:23:29 2010
@@ -85,7 +85,7 @@ public class ACDFEngine
{
Evaluator entryEvaluator = new ExpressionEvaluator( schemaManager );
SubtreeEvaluator subtreeEvaluator = new SubtreeEvaluator( schemaManager );
- RefinementEvaluator refinementEvaluator = new RefinementEvaluator( new RefinementLeafEvaluator( schemaManager.getGlobalOidRegistry() ) );
+ RefinementEvaluator refinementEvaluator = new RefinementEvaluator( new RefinementLeafEvaluator( schemaManager ) );
filters = new ACITupleFilter[] {
new RelatedUserClassFilter( subtreeEvaluator ),
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogInterceptor.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogInterceptor.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogInterceptor.java Thu Jul 8 18:23:29 2010
@@ -90,7 +90,7 @@ public class ChangeLogInterceptor extend
changeLog = directoryService.getChangeLog();
schemaService = directoryService.getSchemaService();
entryDeleted = directoryService.getSchemaManager()
- .lookupAttributeTypeRegistry( ApacheSchemaConstants.ENTRY_DELETED_AT_OID );
+ .getAttributeType( ApacheSchemaConstants.ENTRY_DELETED_AT_OID );
}
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/exception/ExceptionInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/exception/ExceptionInterceptor.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/exception/ExceptionInterceptor.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/exception/ExceptionInterceptor.java Thu Jul 8 18:23:29 2010
@@ -60,6 +60,8 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.exception.LdapUnwillingToPerformException;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.schema.AttributeType;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
/**
@@ -98,6 +100,12 @@ public class ExceptionInterceptor extend
/** Declare a default for this cache. 100 entries seems to be enough */
private static final int DEFAULT_CACHE_SIZE = 100;
+ /** SchemaManager instance */
+ private SchemaManager schemaManager;
+
+ /** The ObjectClass AttributeType */
+ private static AttributeType OBJECT_CLASS_AT;
+
/**
* Creates an interceptor that is also the exception handling service.
@@ -113,6 +121,10 @@ public class ExceptionInterceptor extend
Value<?> attr = nexus.getRootDSE( null ).get( SchemaConstants.SUBSCHEMA_SUBENTRY_AT ).get();
subschemSubentryDn = new DN( attr.getString() );
subschemSubentryDn.normalize( directoryService.getSchemaManager().getNormalizerMapping() );
+ schemaManager = directoryService.getSchemaManager();
+
+ // look up some constant information
+ OBJECT_CLASS_AT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
}
@@ -180,7 +192,7 @@ public class ExceptionInterceptor extend
}
EntryAttribute objectClass = ( ( ClonedServerEntry ) attrs ).getOriginalEntry().get(
- SchemaConstants.OBJECT_CLASS_AT );
+ OBJECT_CLASS_AT );
if ( objectClass.contains( SchemaConstants.ALIAS_OC ) )
{
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeInterceptor.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeInterceptor.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeInterceptor.java Thu Jul 8 18:23:29 2010
@@ -144,9 +144,8 @@ public class OperationalAttributeInterce
adminDn = new DN( ServerDNConstants.ADMIN_SYSTEM_DN );
adminDn.normalize( schemaManager.getNormalizerMapping() );
- MODIFIERS_NAME_ATTRIBUTE_TYPE = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.MODIFIERS_NAME_AT );
- MODIFY_TIMESTAMP_ATTRIBUTE_TYPE = schemaManager
- .lookupAttributeTypeRegistry( SchemaConstants.MODIFY_TIMESTAMP_AT );
+ MODIFIERS_NAME_ATTRIBUTE_TYPE = schemaManager.getAttributeType( SchemaConstants.MODIFIERS_NAME_AT );
+ MODIFY_TIMESTAMP_ATTRIBUTE_TYPE = schemaManager.getAttributeType( SchemaConstants.MODIFY_TIMESTAMP_AT );
}
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java Thu Jul 8 18:23:29 2010
@@ -214,7 +214,7 @@ public class DefaultPartitionNexus exten
//this.directoryService = directoryService;
schemaManager = directoryService.getSchemaManager();
- ENTRY_CSN_ATTRIBUTE_TYPE = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.ENTRY_CSN_AT );
+ ENTRY_CSN_ATTRIBUTE_TYPE = schemaManager.getAttributeType( SchemaConstants.ENTRY_CSN_AT );
// Initialize and normalize the localy used DNs
DN adminDn = new DN( ServerDNConstants.ADMIN_SYSTEM_DN );
@@ -334,7 +334,7 @@ public class DefaultPartitionNexus exten
if ( namingContexts == null )
{
namingContexts = new DefaultEntryAttribute( schemaManager
- .lookupAttributeTypeRegistry( SchemaConstants.NAMING_CONTEXTS_AT ), system.getSuffix().getName() );
+ .getAttributeType( SchemaConstants.NAMING_CONTEXTS_AT ), system.getSuffix().getName() );
rootDSE.put( namingContexts );
}
else
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/referral/ReferralInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/referral/ReferralInterceptor.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/referral/ReferralInterceptor.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/referral/ReferralInterceptor.java Thu Jul 8 18:23:29 2010
@@ -45,6 +45,7 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.exception.LdapException;
import org.apache.directory.shared.ldap.filter.SearchScope;
import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.schema.AttributeType;
import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.apache.directory.shared.ldap.util.LdapURL;
import org.apache.directory.shared.ldap.util.StringTools;
@@ -74,6 +75,9 @@ public class ReferralInterceptor extends
/** A normalized form for the SubschemaSubentry DN */
private DN subschemaSubentryDn;
+ /** The ObjectClass AttributeType */
+ private static AttributeType OBJECT_CLASS_AT;
+
static private void checkRefAttributeValue( Value<?> value ) throws LdapException, LdapURLEncodingException
{
@@ -151,7 +155,7 @@ public class ReferralInterceptor extends
return false;
}
- EntryAttribute oc = entry.get( SchemaConstants.OBJECT_CLASS_AT );
+ EntryAttribute oc = entry.get( OBJECT_CLASS_AT );
if ( oc == null )
{
@@ -209,6 +213,9 @@ public class ReferralInterceptor extends
Value<?> subschemaSubentry = nexus.getRootDSE( null ).get( SchemaConstants.SUBSCHEMA_SUBENTRY_AT ).get();
subschemaSubentryDn = new DN( subschemaSubentry.getString() );
subschemaSubentryDn.normalize( schemaManager.getNormalizerMapping() );
+
+ // look up some constant information
+ OBJECT_CLASS_AT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
}
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/AttributesFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/AttributesFactory.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/AttributesFactory.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/AttributesFactory.java Thu Jul 8 18:23:29 2010
@@ -112,7 +112,7 @@ public class AttributesFactory
if ( dependencies != null && dependencies.length > 0 )
{
- EntryAttribute attr = new DefaultEntryAttribute( schemaManager.lookupAttributeTypeRegistry( MetaSchemaConstants.M_DEPENDENCIES_AT ) );
+ EntryAttribute attr = new DefaultEntryAttribute( schemaManager.getAttributeType( MetaSchemaConstants.M_DEPENDENCIES_AT ) );
for ( String dependency:dependencies )
{
@@ -335,7 +335,7 @@ public class AttributesFactory
// handle the superior objectClasses
if ( objectClass.getSuperiorOids() != null && objectClass.getSuperiorOids().size() != 0 )
{
- EntryAttribute attr = new DefaultEntryAttribute( schemaManager.lookupAttributeTypeRegistry( MetaSchemaConstants.M_SUP_OBJECT_CLASS_AT ) );
+ EntryAttribute attr = new DefaultEntryAttribute( schemaManager.getAttributeType( MetaSchemaConstants.M_SUP_OBJECT_CLASS_AT ) );
for ( String superior:objectClass.getSuperiorOids() )
{
@@ -348,7 +348,7 @@ public class AttributesFactory
// add the must list
if ( objectClass.getMustAttributeTypeOids() != null && objectClass.getMustAttributeTypeOids().size() != 0 )
{
- EntryAttribute attr = new DefaultEntryAttribute( schemaManager.lookupAttributeTypeRegistry( MetaSchemaConstants.M_MUST_AT ) );
+ EntryAttribute attr = new DefaultEntryAttribute( schemaManager.getAttributeType( MetaSchemaConstants.M_MUST_AT ) );
for ( String mustOid :objectClass.getMustAttributeTypeOids() )
{
@@ -361,7 +361,7 @@ public class AttributesFactory
// add the may list
if ( objectClass.getMayAttributeTypeOids() != null && objectClass.getMayAttributeTypeOids().size() != 0 )
{
- EntryAttribute attr = new DefaultEntryAttribute( schemaManager.lookupAttributeTypeRegistry( MetaSchemaConstants.M_MAY_AT ) );
+ EntryAttribute attr = new DefaultEntryAttribute( schemaManager.getAttributeType( MetaSchemaConstants.M_MAY_AT ) );
for ( String mayOid :objectClass.getMayAttributeTypeOids() )
{
@@ -395,7 +395,7 @@ public class AttributesFactory
return;
}
- EntryAttribute attr = new DefaultEntryAttribute( schemaManager.lookupAttributeTypeRegistry( MetaSchemaConstants.M_NAME_AT ) );
+ EntryAttribute attr = new DefaultEntryAttribute( schemaManager.getAttributeType( MetaSchemaConstants.M_NAME_AT ) );
for ( String name:names )
{
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/DefaultSchemaService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/DefaultSchemaService.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/DefaultSchemaService.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/DefaultSchemaService.java Thu Jul 8 18:23:29 2010
@@ -138,7 +138,7 @@ public class DefaultSchemaService implem
private EntryAttribute generateNormalizers() throws LdapException
{
EntryAttribute attr = new DefaultEntryAttribute(
- getSchemaManager().lookupAttributeTypeRegistry( SchemaConstants.NORMALIZERS_AT ) );
+ getSchemaManager().getAttributeType( SchemaConstants.NORMALIZERS_AT ) );
NormalizerRegistry nr = getSchemaManager().getNormalizerRegistry();
@@ -154,7 +154,7 @@ public class DefaultSchemaService implem
private EntryAttribute generateSyntaxCheckers() throws LdapException
{
EntryAttribute attr = new DefaultEntryAttribute(
- getSchemaManager().lookupAttributeTypeRegistry( SchemaConstants.SYNTAX_CHECKERS_AT ) );
+ getSchemaManager().getAttributeType( SchemaConstants.SYNTAX_CHECKERS_AT ) );
for ( SyntaxChecker syntaxChecker : getSchemaManager().getSyntaxCheckerRegistry() )
{
@@ -168,7 +168,7 @@ public class DefaultSchemaService implem
private EntryAttribute generateObjectClasses() throws LdapException
{
EntryAttribute attr = new DefaultEntryAttribute(
- getSchemaManager().lookupAttributeTypeRegistry( SchemaConstants.OBJECT_CLASSES_AT ) );
+ getSchemaManager().getAttributeType( SchemaConstants.OBJECT_CLASSES_AT ) );
for ( ObjectClass objectClass : getSchemaManager().getObjectClassRegistry() )
{
@@ -182,7 +182,7 @@ public class DefaultSchemaService implem
private EntryAttribute generateAttributeTypes() throws LdapException
{
EntryAttribute attr = new DefaultEntryAttribute(
- getSchemaManager().lookupAttributeTypeRegistry( SchemaConstants.ATTRIBUTE_TYPES_AT ) );
+ getSchemaManager().getAttributeType( SchemaConstants.ATTRIBUTE_TYPES_AT ) );
for ( AttributeType attributeType : getSchemaManager().getAttributeTypeRegistry() )
{
@@ -196,7 +196,7 @@ public class DefaultSchemaService implem
private EntryAttribute generateMatchingRules() throws LdapException
{
EntryAttribute attr = new DefaultEntryAttribute(
- getSchemaManager().lookupAttributeTypeRegistry( SchemaConstants.MATCHING_RULES_AT ) );
+ getSchemaManager().getAttributeType( SchemaConstants.MATCHING_RULES_AT ) );
for ( MatchingRule matchingRule : getSchemaManager().getMatchingRuleRegistry() )
{
@@ -210,7 +210,7 @@ public class DefaultSchemaService implem
private EntryAttribute generateMatchingRuleUses() throws LdapException
{
EntryAttribute attr = new DefaultEntryAttribute(
- getSchemaManager().lookupAttributeTypeRegistry( SchemaConstants.MATCHING_RULE_USE_AT ) );
+ getSchemaManager().getAttributeType( SchemaConstants.MATCHING_RULE_USE_AT ) );
for ( MatchingRuleUse matchingRuleUse : getSchemaManager().getMatchingRuleUseRegistry() )
{
@@ -224,7 +224,7 @@ public class DefaultSchemaService implem
private EntryAttribute generateSyntaxes() throws LdapException
{
EntryAttribute attr = new DefaultEntryAttribute(
- getSchemaManager().lookupAttributeTypeRegistry( SchemaConstants.LDAP_SYNTAXES_AT ) );
+ getSchemaManager().getAttributeType( SchemaConstants.LDAP_SYNTAXES_AT ) );
for ( LdapSyntax syntax : getSchemaManager().getLdapSyntaxRegistry() )
{
@@ -238,7 +238,7 @@ public class DefaultSchemaService implem
private EntryAttribute generateDitContextRules() throws LdapException
{
EntryAttribute attr = new DefaultEntryAttribute(
- getSchemaManager().lookupAttributeTypeRegistry( SchemaConstants.DIT_CONTENT_RULES_AT ) );
+ getSchemaManager().getAttributeType( SchemaConstants.DIT_CONTENT_RULES_AT ) );
for ( DITContentRule ditContentRule : getSchemaManager().getDITContentRuleRegistry() )
{
@@ -252,7 +252,7 @@ public class DefaultSchemaService implem
private EntryAttribute generateDitStructureRules() throws LdapException
{
EntryAttribute attr = new DefaultEntryAttribute(
- getSchemaManager().lookupAttributeTypeRegistry( SchemaConstants.DIT_STRUCTURE_RULES_AT ) );
+ getSchemaManager().getAttributeType( SchemaConstants.DIT_STRUCTURE_RULES_AT ) );
for ( DITStructureRule ditStructureRule : getSchemaManager().getDITStructureRuleRegistry() )
{
@@ -266,7 +266,7 @@ public class DefaultSchemaService implem
private EntryAttribute generateNameForms() throws LdapException
{
EntryAttribute attr = new DefaultEntryAttribute(
- getSchemaManager().lookupAttributeTypeRegistry( SchemaConstants.NAME_FORMS_AT ) );
+ getSchemaManager().getAttributeType( SchemaConstants.NAME_FORMS_AT ) );
for ( NameForm nameForm : getSchemaManager().getNameFormRegistry() )
{
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/SchemaInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/SchemaInterceptor.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/SchemaInterceptor.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/SchemaInterceptor.java Thu Jul 8 18:23:29 2010
@@ -133,7 +133,7 @@ public class SchemaInterceptor extends B
private SchemaManager schemaManager;
/** A global reference to the ObjectClass attributeType */
- private AttributeType OBJECT_CLASS;
+ private AttributeType OBJECT_CLASS_AT;
/** A normalized form for the SubschemaSubentry DN */
private String subschemaSubentryDnNorm;
@@ -185,7 +185,7 @@ public class SchemaInterceptor extends B
nexus = directoryService.getPartitionNexus();
schemaManager = directoryService.getSchemaManager();
- OBJECT_CLASS = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.OBJECT_CLASS_AT );
+ OBJECT_CLASS_AT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
binaryAttributeFilter = new BinaryAttributeFilter();
topFilter = new TopFilter();
filters.add( binaryAttributeFilter );
@@ -210,9 +210,8 @@ public class SchemaInterceptor extends B
SchemaLoader loader = schemaService.getSchemaPartition().getSchemaManager().getLoader();
schemaSubEntryManager = new SchemaSubentryManager( schemaManager, loader );
- MODIFIERS_NAME_ATTRIBUTE_TYPE = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.MODIFIERS_NAME_AT );
- MODIFY_TIMESTAMP_ATTRIBUTE_TYPE = schemaManager
- .lookupAttributeTypeRegistry( SchemaConstants.MODIFY_TIMESTAMP_AT );
+ MODIFIERS_NAME_ATTRIBUTE_TYPE = schemaManager.getAttributeType( SchemaConstants.MODIFIERS_NAME_AT );
+ MODIFY_TIMESTAMP_ATTRIBUTE_TYPE = schemaManager.getAttributeType( SchemaConstants.MODIFY_TIMESTAMP_AT );
if ( IS_DEBUG )
{
@@ -880,7 +879,7 @@ public class SchemaInterceptor extends B
Set<String> allowed = new HashSet<String>( must );
// Add the 'ObjectClass' attribute ID
- allowed.add( schemaManager.getAttributeTypeRegistry().getOidByName( SchemaConstants.OBJECT_CLASS_AT ) );
+ allowed.add( SchemaConstants.OBJECT_CLASS_AT_OID );
// Loop on all objectclasses
for ( Value<?> objectClass : objectClasses )
@@ -1405,14 +1404,14 @@ public class SchemaInterceptor extends B
// 3-1) Except if the extensibleObject ObjectClass is used
// 3-2) or if the AttributeType is COLLECTIVE
// 4) We also check that for H-R attributes, we have a valid String in the values
- EntryAttribute objectClassAttr = entry.get( SchemaConstants.OBJECT_CLASS_AT );
+ EntryAttribute objectClassAttr = entry.get( OBJECT_CLASS_AT );
// Protect the server against a null objectClassAttr
// It can be the case if the user forgot to add it to the entry ...
// In this case, we create an new one, empty
if ( objectClassAttr == null )
{
- objectClassAttr = new DefaultEntryAttribute( SchemaConstants.OBJECT_CLASS_AT, OBJECT_CLASS );
+ objectClassAttr = new DefaultEntryAttribute( OBJECT_CLASS_AT );
}
List<ObjectClass> ocs = new ArrayList<ObjectClass>();
@@ -1526,7 +1525,7 @@ public class SchemaInterceptor extends B
// get the schema name
String schemaName = getSchemaName( name );
- if ( entry.contains( SchemaConstants.OBJECT_CLASS_AT, SchemaConstants.META_SCHEMA_OC ) )
+ if ( entry.contains( OBJECT_CLASS_AT, SchemaConstants.META_SCHEMA_OC ) )
{
next.add( addContext );
@@ -1536,7 +1535,7 @@ public class SchemaInterceptor extends B
computeSuperiors();
}
}
- else if ( entry.contains( SchemaConstants.OBJECT_CLASS_AT, SchemaConstants.META_OBJECT_CLASS_OC ) )
+ else if ( entry.contains( OBJECT_CLASS_AT, SchemaConstants.META_OBJECT_CLASS_OC ) )
{
// This is an ObjectClass addition
checkOcSuperior( addContext.getEntry() );
@@ -1553,7 +1552,7 @@ public class SchemaInterceptor extends B
computeSuperior( addedOC );
}
}
- else if ( entry.contains( SchemaConstants.OBJECT_CLASS_AT, SchemaConstants.META_ATTRIBUTE_TYPE_OC ) )
+ else if ( entry.contains( OBJECT_CLASS_AT, SchemaConstants.META_ATTRIBUTE_TYPE_OC ) )
{
// This is an AttributeType addition
@@ -1595,7 +1594,7 @@ public class SchemaInterceptor extends B
{
// Never check the attributes if the extensibleObject objectClass is
// declared for this entry
- EntryAttribute objectClass = entry.get( SchemaConstants.OBJECT_CLASS_AT );
+ EntryAttribute objectClass = entry.get( OBJECT_CLASS_AT );
if ( objectClass.contains( SchemaConstants.EXTENSIBLE_OBJECT_OC ) )
{
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluator.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluator.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluator.java Thu Jul 8 18:23:29 2010
@@ -28,6 +28,7 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.exception.LdapException;
import org.apache.directory.shared.ldap.filter.EqualityNode;
import org.apache.directory.shared.ldap.filter.SimpleNode;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.apache.directory.shared.ldap.schema.registries.OidRegistry;
@@ -40,8 +41,8 @@ import org.apache.directory.shared.ldap.
*/
public class RefinementLeafEvaluator
{
- /** an OID to name and vice versa registry */
- private final OidRegistry registry;
+ /** A SchemaManager instance */
+ private final SchemaManager schemaManager;
/**
@@ -49,9 +50,9 @@ public class RefinementLeafEvaluator
*
* @param registry the OID registry used to lookup names for objectClass OIDs
*/
- public RefinementLeafEvaluator(OidRegistry registry)
+ public RefinementLeafEvaluator( SchemaManager schemaManager)
{
- this.registry = registry;
+ this.schemaManager = schemaManager;
}
@@ -103,7 +104,7 @@ public class RefinementLeafEvaluator
if ( Character.isDigit( value.charAt( 0 ) ) )
{
- Iterator<String> list = registry.getNameSet( value ).iterator();
+ Iterator<String> list = schemaManager.getGlobalOidRegistry().getNameSet( value ).iterator();
while ( list.hasNext() )
{
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/SubentryInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/SubentryInterceptor.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/SubentryInterceptor.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/SubentryInterceptor.java Thu Jul 8 18:23:29 2010
@@ -141,7 +141,7 @@ public class SubentryInterceptor extends
schemaManager = directoryService.getSchemaManager();
// setup various attribute type values
- OBJECT_CLASS_AT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.OBJECT_CLASS_AT );
+ OBJECT_CLASS_AT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
ssParser = new SubtreeSpecificationParser( schemaManager );
evaluator = new SubtreeEvaluator( schemaManager );
@@ -213,7 +213,7 @@ public class SubentryInterceptor extends
{
Set<AdministrativeRole> adminRoles = new HashSet<AdministrativeRole>();
- EntryAttribute oc = subentry.get( SchemaConstants.OBJECT_CLASS_AT );
+ EntryAttribute oc = subentry.get( OBJECT_CLASS_AT );
if ( oc == null )
{
@@ -413,7 +413,7 @@ public class SubentryInterceptor extends
DN name = addContext.getDn();
ClonedServerEntry entry = addContext.getEntry();
- EntryAttribute objectClasses = entry.get( SchemaConstants.OBJECT_CLASS_AT );
+ EntryAttribute objectClasses = entry.get( OBJECT_CLASS_AT );
if ( objectClasses.contains( SchemaConstants.SUBENTRY_OC ) )
{
@@ -625,8 +625,7 @@ public class SubentryInterceptor extends
DN baseDn = ( DN ) apName.clone();
baseDn.addAll( ss.getBase() );
- ExprNode filter = new PresenceNode( schemaManager.getAttributeTypeRegistry().getOidByName(
- SchemaConstants.OBJECT_CLASS_AT ) );
+ ExprNode filter = new PresenceNode( OBJECT_CLASS_AT.getOid() );
SearchControls controls = new SearchControls();
controls.setSearchScope( SearchControls.SUBTREE_SCOPE );
controls.setReturningAttributes( new String[]
@@ -808,8 +807,7 @@ public class SubentryInterceptor extends
next.rename( renameContext );
subentry = subentryCache.getSubentry( newName );
- ExprNode filter = new PresenceNode( schemaManager.getAttributeTypeRegistry().getOidByName(
- SchemaConstants.OBJECT_CLASS_AT ) );
+ ExprNode filter = new PresenceNode( OBJECT_CLASS_AT.getName() );
SearchControls controls = new SearchControls();
controls.setSearchScope( SearchControls.SUBTREE_SCOPE );
controls.setReturningAttributes( new String[]
@@ -894,8 +892,7 @@ public class SubentryInterceptor extends
subentry = subentryCache.getSubentry( newName );
- ExprNode filter = new PresenceNode( schemaManager.getAttributeTypeRegistry().getOidByName(
- SchemaConstants.OBJECT_CLASS_AT ) );
+ ExprNode filter = new PresenceNode( OBJECT_CLASS_AT.getOid() );
SearchControls controls = new SearchControls();
controls.setSearchScope( SearchControls.SUBTREE_SCOPE );
controls.setReturningAttributes( new String[]
@@ -963,7 +960,7 @@ public class SubentryInterceptor extends
Entry entry = moveContext.getOriginalEntry();
- EntryAttribute objectClasses = entry.get( SchemaConstants.OBJECT_CLASS_AT );
+ EntryAttribute objectClasses = entry.get( OBJECT_CLASS_AT );
if ( objectClasses.contains( SchemaConstants.SUBENTRY_OC ) )
{
@@ -1040,16 +1037,17 @@ public class SubentryInterceptor extends
// -----------------------------------------------------------------------
- // Methods dealing subentry modification
+ // Methods dealing with subentry modification
// -----------------------------------------------------------------------
private Set<AdministrativeRole> getSubentryTypes( Entry entry, List<Modification> mods ) throws LdapException
{
- EntryAttribute ocFinalState = entry.get( SchemaConstants.OBJECT_CLASS_AT ).clone();
+ EntryAttribute ocFinalState = entry.get( OBJECT_CLASS_AT ).clone();
for ( Modification mod : mods )
{
- if ( mod.getAttribute().getId().equalsIgnoreCase( SchemaConstants.OBJECT_CLASS_AT ) )
+ if ( mod.getAttribute().getId().equalsIgnoreCase( SchemaConstants.OBJECT_CLASS_AT ) ||
+ mod.getAttribute().getId().equalsIgnoreCase( SchemaConstants.OBJECT_CLASS_AT_OID ) )
{
switch ( mod.getOperation() )
{
@@ -1130,8 +1128,7 @@ public class SubentryInterceptor extends
DN apName = dn.getParent();
DN oldBaseDn = ( DN ) apName.clone();
oldBaseDn.addAll( ssOld.getBase() );
- ExprNode filter = new PresenceNode( schemaManager.getAttributeTypeRegistry().getOidByName(
- SchemaConstants.OBJECT_CLASS_AT ) );
+ ExprNode filter = new PresenceNode( OBJECT_CLASS_AT.getOid() );
SearchControls controls = new SearchControls();
controls.setSearchScope( SearchControls.SUBTREE_SCOPE );
controls.setReturningAttributes( new String[]
@@ -1465,7 +1462,7 @@ public class SubentryInterceptor extends
}
// see if we can use objectclass if present
- EntryAttribute objectClasses = entry.get( SchemaConstants.OBJECT_CLASS_AT );
+ EntryAttribute objectClasses = entry.get( OBJECT_CLASS_AT );
if ( objectClasses != null )
{
@@ -1491,7 +1488,7 @@ public class SubentryInterceptor extends
}
// see if we can use objectclass if present
- EntryAttribute objectClasses = entry.get( SchemaConstants.OBJECT_CLASS_AT );
+ EntryAttribute objectClasses = entry.get( OBJECT_CLASS_AT );
if ( objectClasses != null )
{
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/trigger/TriggerInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/trigger/TriggerInterceptor.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/trigger/TriggerInterceptor.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/trigger/TriggerInterceptor.java Thu Jul 8 18:23:29 2010
@@ -55,6 +55,7 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.exception.LdapOtherException;
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.NormalizerMappingResolver;
import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.apache.directory.shared.ldap.schema.normalizers.OidNormalizer;
@@ -96,6 +97,12 @@ public class TriggerInterceptor extends
private TriggerExecutionAuthorizer triggerExecutionAuthorizer = new SimpleTriggerExecutionAuthorizer();
private StoredProcExecutionManager manager;
+
+ /** The global schemaManager */
+ private SchemaManager schemaManager;
+
+ /** The ObjectClass AttributeType */
+ private static AttributeType OBJECT_CLASS_AT;
/**
@@ -126,7 +133,7 @@ public class TriggerInterceptor extends
* to be in the same naming context as their access point so the subentries
* effecting their parent entry applies to them as well.
*/
- if ( entry.contains( SchemaConstants.OBJECT_CLASS_AT, SchemaConstants.SUBENTRY_OC ) )
+ if ( entry.contains( OBJECT_CLASS_AT, SchemaConstants.SUBENTRY_OC ) )
{
DN parentDn = ( DN ) dn.clone();
parentDn.remove( dn.size() - 1 );
@@ -233,7 +240,10 @@ public class TriggerInterceptor extends
super.init( directoryService );
triggerSpecCache = new TriggerSpecCache( directoryService );
- final SchemaManager schemaManager = directoryService.getSchemaManager();
+ schemaManager = directoryService.getSchemaManager();
+
+ // look up some constant information
+ OBJECT_CLASS_AT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
triggerParser = new TriggerSpecificationParser( new NormalizerMappingResolver()
{
Modified: directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/authz/support/RelatedProtectedItemFilterTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/authz/support/RelatedProtectedItemFilterTest.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/authz/support/RelatedProtectedItemFilterTest.java (original)
+++ directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/authz/support/RelatedProtectedItemFilterTest.java Thu Jul 8 18:23:29 2010
@@ -84,9 +84,6 @@ public class RelatedProtectedItemFilterT
private static Set<DN> GROUP_NAMES = new HashSet<DN>();
private static SchemaManager schemaManager;
- //private static AttributeTypeRegistry atRegistryA;
- //private static AttributeTypeRegistry atRegistryB;
- private static OidRegistry OID_REGISTRY;
private static RelatedProtectedItemFilter filterA;
private static RelatedProtectedItemFilter filterB;
@@ -115,16 +112,14 @@ public class RelatedProtectedItemFilterT
fail( "Schema load failed : " + LdapExceptionUtils.printErrors( schemaManager.getErrors() ) );
}
- OID_REGISTRY = schemaManager.getGlobalOidRegistry();
-
GROUP_NAME = new DN( "ou=test,ou=groups,ou=system" );
USER_NAME = new DN( "ou=test, ou=users, ou=system" );
filterA = new RelatedProtectedItemFilter( new RefinementEvaluator( new RefinementLeafEvaluator(
- OID_REGISTRY ) ), new ExpressionEvaluator( schemaManager ), schemaManager );
+ schemaManager ) ), new ExpressionEvaluator( schemaManager ), schemaManager );
filterB = new RelatedProtectedItemFilter( new RefinementEvaluator( new RefinementLeafEvaluator(
- OID_REGISTRY ) ), new ExpressionEvaluator( schemaManager ), schemaManager );
+ schemaManager ) ), new ExpressionEvaluator( schemaManager ), schemaManager );
USER_NAMES.add( USER_NAME );
GROUP_NAMES.add( GROUP_NAME );
Modified: directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/subtree/RefinementEvaluatorTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/subtree/RefinementEvaluatorTest.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/subtree/RefinementEvaluatorTest.java (original)
+++ directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/subtree/RefinementEvaluatorTest.java Thu Jul 8 18:23:29 2010
@@ -36,7 +36,6 @@ import org.apache.directory.shared.ldap.
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.apache.directory.shared.ldap.schema.registries.OidRegistry;
import org.apache.directory.shared.ldap.schema.registries.Registries;
import org.apache.directory.shared.ldap.util.LdapExceptionUtils;
import org.junit.AfterClass;
@@ -87,8 +86,7 @@ public class RefinementEvaluatorTest
registries = schemaManager.getRegistries();
- OidRegistry registry = registries.getGlobalOidRegistry();
- RefinementLeafEvaluator leafEvaluator = new RefinementLeafEvaluator( registry );
+ RefinementLeafEvaluator leafEvaluator = new RefinementLeafEvaluator( schemaManager );
evaluator = new RefinementEvaluator( leafEvaluator );
OBJECT_CLASS = registries.getAttributeTypeRegistry().lookup( "objectClass" );
Modified: directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluatorTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluatorTest.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluatorTest.java (original)
+++ directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/subtree/RefinementLeafEvaluatorTest.java Thu Jul 8 18:23:29 2010
@@ -26,6 +26,7 @@ import static org.junit.Assert.fail;
import org.apache.directory.junit.tools.Concurrent;
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
+import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.entry.DefaultEntryAttribute;
import org.apache.directory.shared.ldap.entry.EntryAttribute;
import org.apache.directory.shared.ldap.entry.StringValue;
@@ -84,10 +85,9 @@ public class RefinementLeafEvaluatorTest
registries = schemaManager.getRegistries();
- OBJECT_CLASS = registries.getAttributeTypeRegistry().lookup( "objectClass" );
+ OBJECT_CLASS = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
- OidRegistry registry = registries.getGlobalOidRegistry();
- evaluator = new RefinementLeafEvaluator( registry );
+ evaluator = new RefinementLeafEvaluator( schemaManager );
}
Modified: directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java (original)
+++ directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java Thu Jul 8 18:23:29 2010
@@ -111,10 +111,10 @@ public class JdbmStore<E> extends Abstra
this.schemaManager = schemaManager;
// Initialize Attribute types used all over this method
- objectClassAT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.OBJECT_CLASS_AT );
- aliasedObjectNameAT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.ALIASED_OBJECT_NAME_AT );
- entryCsnAT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.ENTRY_CSN_AT );
- entryUuidAT = schemaManager.lookupAttributeTypeRegistry( SchemaConstants.ENTRY_UUID_AT );
+ objectClassAT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
+ aliasedObjectNameAT = schemaManager.getAttributeType( SchemaConstants.ALIASED_OBJECT_NAME_AT );
+ entryCsnAT = schemaManager.getAttributeType( SchemaConstants.ENTRY_CSN_AT );
+ entryUuidAT = schemaManager.getAttributeType( SchemaConstants.ENTRY_UUID_AT );
partitionDir.mkdirs();
Modified: directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ItemFirstACIItem.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ItemFirstACIItem.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ItemFirstACIItem.java (original)
+++ directory/shared/trunk/ldap-aci/src/main/java/org/apache/directory/shared/ldap/aci/ItemFirstACIItem.java Thu Jul 8 18:23:29 2010
@@ -159,6 +159,7 @@ public class ItemFirstACIItem extends AC
tuples.add( new ACITuple( itemPermission.getUserClasses(), getAuthenticationLevel(), protectedItems,
toMicroOperations( grants ), true, precedence ) );
}
+
if ( denials.size() > 0 )
{
tuples.add( new ACITuple( itemPermission.getUserClasses(), getAuthenticationLevel(), protectedItems,
Modified: directory/shared/trunk/ldap-schema-manager/src/main/java/org/apache/directory/shared/ldap/schema/manager/impl/DefaultSchemaManager.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-schema-manager/src/main/java/org/apache/directory/shared/ldap/schema/manager/impl/DefaultSchemaManager.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/shared/trunk/ldap-schema-manager/src/main/java/org/apache/directory/shared/ldap/schema/manager/impl/DefaultSchemaManager.java (original)
+++ directory/shared/trunk/ldap-schema-manager/src/main/java/org/apache/directory/shared/ldap/schema/manager/impl/DefaultSchemaManager.java Thu Jul 8 18:23:29 2010
@@ -35,6 +35,7 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.entry.Entry;
import org.apache.directory.shared.ldap.exception.LdapException;
import org.apache.directory.shared.ldap.exception.LdapInvalidDnException;
+import org.apache.directory.shared.ldap.exception.LdapNoSuchAttributeException;
import org.apache.directory.shared.ldap.exception.LdapOtherException;
import org.apache.directory.shared.ldap.exception.LdapProtocolErrorException;
import org.apache.directory.shared.ldap.exception.LdapUnwillingToPerformException;
@@ -1471,6 +1472,22 @@ public class DefaultSchemaManager implem
/**
* {@inheritDoc}
*/
+ public AttributeType getAttributeType( String oid )
+ {
+ try
+ {
+ return registries.getAttributeTypeRegistry().lookup( StringTools.toLowerCase( oid ).trim() );
+ }
+ catch ( LdapException lnsae )
+ {
+ return null;
+ }
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
public LdapComparator<?> lookupComparatorRegistry( String oid ) throws LdapException
{
return registries.getComparatorRegistry().lookup( oid );
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/SchemaManager.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/SchemaManager.java?rev=961863&r1=961862&r2=961863&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/SchemaManager.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/SchemaManager.java Thu Jul 8 18:23:29 2010
@@ -443,6 +443,17 @@ public interface SchemaManager
/**
+ * Get an AttributeType in the AttributeType registry. This method won't
+ * throw an exception if the AttributeTyp is not found, it will just return
+ * null.
+ *
+ * @param oid the OID we are looking for
+ * @return The found AttributeType, or null if not found
+ */
+ AttributeType getAttributeType( String oid );
+
+
+ /**
* Lookup for a Comparator in the Comparator registry
*
* @param oid the OID we are looking for