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 2009/11/07 08:57:42 UTC
svn commit: r833647 [2/17] - in /directory:
apacheds/branches/apacheds-schema/avl-partition/src/main/java/org/apache/directory/server/core/partition/avl/
apacheds/branches/apacheds-schema/avl-partition/src/test/java/org/apache/directory/server/core/par...
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartition.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartition.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartition.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartition.java Sat Nov 7 07:57:34 2009
@@ -57,7 +57,6 @@
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.apache.directory.shared.ldap.schema.SchemaUtils;
-import org.apache.directory.shared.ldap.schema.comparators.SerializableComparator;
import org.apache.directory.shared.ldap.schema.registries.Registries;
import org.apache.directory.shared.ldap.util.DateUtils;
import org.apache.directory.shared.ldap.util.ExceptionUtils;
@@ -230,18 +229,18 @@
// Load apachemeta schema from within the ldap-schema Jar with all the
// schema it depends on. This is a minimal mandatory set of schemas.
// -----------------------------------------------------------------------
- SerializableComparator.setRegistry( registries.getComparatorRegistry() );
+ //SerializableComparator.setSchemaManager( schemaManager );
wrapped.setId( ID );
wrapped.setSuffix( SchemaConstants.OU_SCHEMA );
- wrapped.getSuffixDn().normalize( registries.getAttributeTypeRegistry().getNormalizerMapping() );
- wrapped.setRegistries( registries );
+ wrapped.getSuffixDn().normalize( schemaManager.getNormalizerMapping() );
+ wrapped.setSchemaManager( schemaManager );
try
{
wrapped.initialize();
- PartitionSchemaLoader partitionLoader = new PartitionSchemaLoader( wrapped, registries );
+ PartitionSchemaLoader partitionLoader = new PartitionSchemaLoader( wrapped, schemaManager );
synchronizer = new RegistrySynchronizerAdaptor( schemaManager );
if ( wrapped instanceof NullPartition )
@@ -268,7 +267,7 @@
}
schemaModificationDN = new LdapDN( ServerDNConstants.SCHEMA_MODIFICATIONS_DN );
- schemaModificationDN.normalize( registries.getAttributeTypeRegistry().getNormalizerMapping() );
+ schemaModificationDN.normalize( schemaManager.getNormalizerMapping() );
}
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java Sat Nov 7 07:57:34 2009
@@ -60,8 +60,7 @@
import org.apache.directory.shared.ldap.schema.AttributeTypeOptions;
import org.apache.directory.shared.ldap.schema.MatchingRule;
import org.apache.directory.shared.ldap.schema.ObjectClass;
-import org.apache.directory.shared.ldap.schema.registries.AttributeTypeRegistry;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.apache.directory.shared.ldap.schema.syntaxCheckers.NumericOidSyntaxChecker;
import org.apache.directory.shared.ldap.util.DateUtils;
@@ -99,7 +98,7 @@
private final Partition partition;
private final SchemaEntityFactory factory;
- private final AttributeTypeRegistry atRegistry;
+ private final SchemaManager schemaManager;
private final String M_NAME_OID;
private final String CN_OID;
@@ -128,32 +127,32 @@
* @param registries the bootstrap registries that were used to start up the schema partition
* @throws NamingException if there are problems initializing this schema partion dao
*/
- public SchemaPartitionDaoImpl( Partition partition, Registries registries ) throws Exception
+ public SchemaPartitionDaoImpl( Partition partition, SchemaManager schemaManager ) throws Exception
{
this.partition = partition;
this.factory = new SchemaEntityFactory();
- this.atRegistry = registries.getAttributeTypeRegistry();
+ this.schemaManager = schemaManager;
- this.M_NAME_OID = atRegistry.getOidByName( MetaSchemaConstants.M_NAME_AT );
- this.CN_OID = atRegistry.getOidByName( SchemaConstants.CN_AT );
- this.disabledAttributeType = atRegistry.lookup( MetaSchemaConstants.M_DISABLED_AT );
- this.M_OID_OID = atRegistry.getOidByName( MetaSchemaConstants.M_OID_AT );
- this.OBJECTCLASS_OID = atRegistry.getOidByName( SchemaConstants.OBJECT_CLASS_AT );
- this.M_SYNTAX_OID = atRegistry.getOidByName( MetaSchemaConstants.M_SYNTAX_AT );
- this.M_ORDERING_OID = atRegistry.getOidByName( MetaSchemaConstants.M_ORDERING_AT );
- this.M_EQUALITY_OID = atRegistry.getOidByName( MetaSchemaConstants.M_EQUALITY_AT );
- this.M_SUBSTRING_OID = atRegistry.getOidByName( MetaSchemaConstants.M_SUBSTR_AT );
- this.M_SUP_ATTRIBUTE_TYPE_OID = atRegistry.getOidByName( MetaSchemaConstants.M_SUP_ATTRIBUTE_TYPE_AT );
- this.M_MUST_OID = atRegistry.getOidByName( MetaSchemaConstants.M_MUST_AT );
- this.M_MAY_OID = atRegistry.getOidByName( MetaSchemaConstants.M_MAY_AT );
- this.M_AUX_OID = atRegistry.getOidByName( MetaSchemaConstants.M_AUX_AT );
- this.M_OC_OID = atRegistry.getOidByName( MetaSchemaConstants.M_OC_AT );
- this.M_SUP_OBJECT_CLASS_OID = atRegistry.getOidByName( MetaSchemaConstants.M_SUP_OBJECT_CLASS_AT );
- this.M_DEPENDENCIES_OID = atRegistry.getOidByName( MetaSchemaConstants.M_DEPENDENCIES_AT );
+ 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.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 );
for ( String attrId : SCHEMA_ATTRIBUTES )
{
- AttributeTypeOptions ato = new AttributeTypeOptions( atRegistry.lookup( attrId ) );
+ AttributeTypeOptions ato = new AttributeTypeOptions( schemaManager.lookupAttributeTypeRegistry( attrId ) );
schemaAttributesToReturn.add( ato );
}
}
@@ -199,8 +198,8 @@
private EntryFilteringCursor listSchemas() throws Exception
{
LdapDN base = new LdapDN( SchemaConstants.OU_SCHEMA );
- base.normalize( atRegistry.getNormalizerMapping() );
- ExprNode filter = new EqualityNode<String>( atRegistry.getOidByName( SchemaConstants.OBJECT_CLASS_AT ),
+ base.normalize( schemaManager.getNormalizerMapping() );
+ ExprNode filter = new EqualityNode<String>( schemaManager.getAttributeTypeRegistry().getOidByName( SchemaConstants.OBJECT_CLASS_AT ),
new ClientStringValue( MetaSchemaConstants.META_SCHEMA_OC ) );
SearchOperationContext searchContext = new SearchOperationContext( null );
@@ -218,7 +217,7 @@
public Schema getSchema( String schemaName ) throws Exception
{
LdapDN dn = new LdapDN( "cn=" + schemaName + ",ou=schema" );
- dn.normalize( atRegistry.getNormalizerMapping() );
+ dn.normalize( schemaManager.getNormalizerMapping() );
return factory.getSchema( partition.lookup( new LookupOperationContext( null, dn ) ) );
}
@@ -497,7 +496,7 @@
{
ServerEntry sr = find( entityName );
LdapDN dn = sr.getDn();
- dn.normalize( atRegistry.getNormalizerMapping() );
+ dn.normalize( schemaManager.getNormalizerMapping() );
return dn;
}
@@ -553,7 +552,7 @@
public void enableSchema( String schemaName ) throws Exception
{
LdapDN dn = new LdapDN( "cn=" + schemaName + ",ou=schema" );
- dn.normalize( atRegistry.getNormalizerMapping() );
+ dn.normalize( schemaManager.getNormalizerMapping() );
ServerEntry entry = partition.lookup( new LookupOperationContext( null, dn ) );
EntryAttribute disabledAttr = entry.get( disabledAttributeType );
List<Modification> mods = new ArrayList<Modification>( 3 );
@@ -573,14 +572,14 @@
}
mods.add( new ServerModification( ModificationOperation.REMOVE_ATTRIBUTE, new DefaultServerAttribute(
- MetaSchemaConstants.M_DISABLED_AT, atRegistry.lookup( MetaSchemaConstants.M_DISABLED_AT ) ) ) );
+ MetaSchemaConstants.M_DISABLED_AT, schemaManager.lookupAttributeTypeRegistry( MetaSchemaConstants.M_DISABLED_AT ) ) ) );
mods.add( new ServerModification( ModificationOperation.ADD_ATTRIBUTE, new DefaultServerAttribute(
- SchemaConstants.MODIFIERS_NAME_AT, atRegistry.lookup( SchemaConstants.MODIFIERS_NAME_AT ),
+ SchemaConstants.MODIFIERS_NAME_AT, schemaManager.lookupAttributeTypeRegistry( SchemaConstants.MODIFIERS_NAME_AT ),
ServerDNConstants.ADMIN_SYSTEM_DN ) ) );
mods.add( new ServerModification( ModificationOperation.ADD_ATTRIBUTE, new DefaultServerAttribute(
- SchemaConstants.MODIFY_TIMESTAMP_AT, atRegistry.lookup( SchemaConstants.MODIFY_TIMESTAMP_AT ), DateUtils
+ SchemaConstants.MODIFY_TIMESTAMP_AT, schemaManager.lookupAttributeTypeRegistry( SchemaConstants.MODIFY_TIMESTAMP_AT ), DateUtils
.getGeneralizedTime() ) ) );
partition.modify( new ModifyOperationContext( null, dn, mods ) );
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaService.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaService.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaService.java Sat Nov 7 07:57:34 2009
@@ -4,7 +4,7 @@
import javax.naming.NamingException;
import org.apache.directory.server.core.entry.ServerEntry;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
public interface SchemaService
@@ -21,9 +21,9 @@
/**
- * @return the registries loaded from schemaPartition
+ * @return the schemaManager loaded from schemaPartition
*/
- abstract Registries getRegistries();
+ abstract SchemaManager getSchemaManager();
abstract SchemaPartition getSchemaPartition();
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java Sat Nov 7 07:57:34 2009
@@ -39,12 +39,10 @@
import org.apache.directory.shared.ldap.name.LdapDN;
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.schema.SchemaObject;
import org.apache.directory.shared.ldap.schema.SchemaWrapper;
-import org.apache.directory.shared.ldap.schema.registries.OidRegistry;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
import org.apache.directory.shared.ldap.schema.registries.Schema;
-import org.apache.directory.shared.ldap.schema.registries.SchemaObjectRegistry;
import org.apache.directory.shared.schema.loader.ldif.SchemaEntityFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,11 +59,8 @@
/** A logger for this class */
private static final Logger LOG = LoggerFactory.getLogger( AbstractRegistrySynchronizer.class );
- /** The global registries */
- protected final Registries registries;
-
- /** The OID registry */
- protected final OidRegistry oidRegistry;
+ /** The global SchemaManager */
+ protected final SchemaManager schemaManager;
/** The m-oid AttributeType */
protected final AttributeType m_oidAT;
@@ -93,13 +88,11 @@
}
- protected AbstractRegistrySynchronizer( Registries targetRegistries ) throws Exception
+ protected AbstractRegistrySynchronizer( SchemaManager schemaManager ) throws Exception
{
- registries = targetRegistries;
- m_oidAT = targetRegistries.getAttributeTypeRegistry().lookup( MetaSchemaConstants.M_OID_AT );
+ this.schemaManager = schemaManager;
+ m_oidAT = schemaManager.lookupAttributeTypeRegistry( MetaSchemaConstants.M_OID_AT );
factory = new SchemaEntityFactory();
- oidRegistry = registries.getOidRegistry();
-
}
@@ -112,7 +105,7 @@
*/
protected boolean isSchemaLoaded( LdapDN dn ) throws Exception
{
- return registries.isSchemaLoaded( getSchemaName( dn ) );
+ return schemaManager.isSchemaLoaded( getSchemaName( dn ) );
}
@@ -124,7 +117,7 @@
*/
protected boolean isSchemaLoaded( String schemaName )
{
- return registries.isSchemaLoaded( schemaName );
+ return schemaManager.isSchemaLoaded( schemaName );
}
@@ -136,7 +129,7 @@
*/
protected boolean isSchemaEnabled( String schemaName )
{
- Schema schema = registries.getLoadedSchema( schemaName );
+ Schema schema = schemaManager.getLoadedSchema( schemaName );
return ( ( schema != null ) && schema.isEnabled() );
}
@@ -170,7 +163,7 @@
{
String oid = getOid( entry );
- if ( oidRegistry.hasOid( oid ) )
+ if ( schemaManager.getOidRegistry().hasOid( oid ) )
{
throw new LdapNamingException( "Oid " + oid + " for new schema entity is not unique.",
ResultCodeEnum.OTHER );
@@ -181,7 +174,7 @@
/**
* Checks that the parent DN is a valid DN
*/
- protected void checkParent( LdapDN newParent, SchemaObjectRegistry<?> registry, String objectType ) throws NamingException
+ protected void checkParent( LdapDN newParent, SchemaManager schemaManager, String objectType ) throws NamingException
{
if ( newParent.size() != 3 )
{
@@ -192,7 +185,7 @@
Rdn rdn = newParent.getRdn();
- if ( ! registries.getAttributeTypeRegistry().getOidByName( rdn.getNormType() ).equals( SchemaConstants.OU_AT_OID ) )
+ if ( ! schemaManager.getAttributeTypeRegistry().getOidByName( rdn.getNormType() ).equals( SchemaConstants.OU_AT_OID ) )
{
throw new LdapInvalidNameException( "The parent entry of a " + objectType + " should be an organizationalUnit.",
ResultCodeEnum.NAMING_VIOLATION );
@@ -211,7 +204,7 @@
{
String oid = schemaObject.getOid();
- if ( oidRegistry.hasOid( oid ) )
+ if ( schemaManager.getOidRegistry().hasOid( oid ) )
{
throw new LdapNamingException( "Oid " + oid + " for new schema entity is not unique.",
ResultCodeEnum.OTHER );
@@ -221,7 +214,7 @@
protected void checkOidIsUnique( String oid ) throws Exception
{
- if ( oidRegistry.hasOid( oid ) )
+ if ( schemaManager.getOidRegistry().hasOid( oid ) )
{
throw new LdapNamingException( "Oid " + oid + " for new schema entity is not unique.",
ResultCodeEnum.OTHER );
@@ -238,12 +231,12 @@
if ( isSchemaLoaded( schemaName ) )
{
// Get the set of all the SchemaObjects associated with this schema
- Set<SchemaWrapper> schemaObjects = registries.getObjectBySchemaName().get( schemaName );
+ Set<SchemaWrapper> schemaObjects = schemaManager.getRegistries().getObjectBySchemaName().get( schemaName );
if ( schemaObjects == null )
{
// TODO : this should never happen...
- schemaObjects = registries.addSchema( schemaName );
+ schemaObjects = schemaManager.getRegistries().addSchema( schemaName );
}
SchemaWrapper schemaWrapper = new SchemaWrapper( schemaObject );
@@ -281,7 +274,7 @@
{
if ( isSchemaLoaded( schemaName ) )
{
- Set<SchemaWrapper> schemaObjects = registries.getObjectBySchemaName().get( schemaName );
+ Set<SchemaWrapper> schemaObjects = schemaManager.getRegistries().getObjectBySchemaName().get( schemaName );
SchemaWrapper schemaWrapper = new SchemaWrapper( schemaObject );
@@ -337,7 +330,7 @@
for ( ServerEntry result : results )
{
LdapDN dn = result.getDn();
- dn.normalize( this.registries.getAttributeTypeRegistry().getNormalizerMapping() );
+ dn.normalize( schemaManager.getNormalizerMapping() );
oids.add( ( String ) dn.getRdn().getValue() );
}
@@ -366,7 +359,7 @@
*/
protected void unregisterOids( SchemaObject obj ) throws Exception
{
- oidRegistry.unregister( obj.getOid() );
+ schemaManager.getOidRegistry().unregister( obj.getOid() );
}
@@ -378,7 +371,7 @@
*/
protected void registerOids( SchemaObject obj ) throws Exception
{
- oidRegistry.register( obj );
+ schemaManager.getOidRegistry().register( obj );
}
@@ -393,7 +386,7 @@
{
StringBuilder sb = new StringBuilder();
- Set<SchemaWrapper> useds = registries.getUsedBy( schemaObject );
+ Set<SchemaWrapper> useds = schemaManager.getRegistries().getUsedBy( schemaObject );
for ( SchemaWrapper used:useds )
{
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AttributeTypeSynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AttributeTypeSynchronizer.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AttributeTypeSynchronizer.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AttributeTypeSynchronizer.java Sat Nov 7 07:57:34 2009
@@ -20,6 +20,8 @@
package org.apache.directory.server.core.schema.registries.synchronizers;
+import java.util.List;
+
import org.apache.directory.server.core.entry.ServerEntry;
import org.apache.directory.server.core.interceptor.context.ModifyOperationContext;
import org.apache.directory.shared.ldap.constants.MetaSchemaConstants;
@@ -29,7 +31,7 @@
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.name.Rdn;
import org.apache.directory.shared.ldap.schema.AttributeType;
-import org.apache.directory.shared.ldap.schema.registries.AttributeTypeRegistry;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.apache.directory.shared.ldap.schema.registries.Registries;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.slf4j.Logger;
@@ -48,19 +50,15 @@
/** A logger for this class */
private static final Logger LOG = LoggerFactory.getLogger( AttributeTypeSynchronizer.class );
- /** A reference to the AttributeType registry */
- private final AttributeTypeRegistry atRegistry;
-
/**
* Creates a new instance of AttributeTypeSynchronizer.
*
- * @param registries The global registries
+ * @param schemaManager The global schemaManager
* @throws Exception If the initialization failed
*/
- public AttributeTypeSynchronizer( Registries registries ) throws Exception
+ public AttributeTypeSynchronizer( SchemaManager schemaManager ) throws Exception
{
- super( registries );
- this.atRegistry = registries.getAttributeTypeRegistry();
+ super( schemaManager );
}
@@ -74,23 +72,49 @@
parentDn.remove( parentDn.size() - 1 );
// The parent DN must be ou=attributetypes,cn=<schemaName>,ou=schema
- checkParent( parentDn, atRegistry, SchemaConstants.ATTRIBUTE_TYPE );
+ checkParent( parentDn, schemaManager, SchemaConstants.ATTRIBUTE_TYPE );
// The new schemaObject's OID must not already exist
checkOidIsUnique( entry );
// Build the new AttributeType from the given entry
String schemaName = getSchemaName( dn );
- AttributeType at = factory.getAttributeType( entry, registries, schemaName );
+
+ // At this point, as we may break the regisytries, work on a cloned registries
+ Registries clonedRegistries = schemaManager.getRegistries().clone();
+
+ // Relax the cloned registries
+ clonedRegistries.setRelaxed();
+
+ AttributeType at = factory.getAttributeType( entry, clonedRegistries, schemaName );
+
+ if ( at == null )
+ {
+ // We couldn't create the AT : this is an error
+ return;
+ }
+
+ List<Throwable> errors = clonedRegistries.checkRefInteg();
+
+ if ( errors.size() == 0 )
+ {
+ clonedRegistries.setStrict();
+ schemaManager.setRegistries( clonedRegistries );
+ }
+ else
+ {
+ // We have some error : reject the addition and get out
+ return;
+ }
// At this point, the constructed AttributeType has not been checked against the
// existing Registries. It may be broken (missing SUP, or such), it will be checked
// there, if the schema and the AttributeType are both enabled.
- Schema schema = registries.getLoadedSchema( schemaName );
+ Schema schema = schemaManager.getLoadedSchema( schemaName );
if ( schema.isEnabled() && at.isEnabled() )
{
- at.applyRegistries( registries );
+ at.applyRegistries( schemaManager.getRegistries() );
}
// Associates this AttributeType with the schema
@@ -99,7 +123,7 @@
// Don't inject the modified element if the schema is disabled
if ( isSchemaEnabled( schemaName ) )
{
- registries.register( at );
+ schemaManager.register( at );
LOG.debug( "Added {} into the enabled schema {}", dn.getUpName(), schemaName );
}
@@ -121,16 +145,16 @@
ServerEntry entry = opContext.getEntry();
String schemaName = getSchemaName( name );
String oid = getOid( entry );
- AttributeType at = factory.getAttributeType( targetEntry, registries, schemaName );
+ AttributeType at = factory.getAttributeType( targetEntry, schemaManager.getRegistries(), schemaName );
if ( isSchemaEnabled( schemaName ) )
{
- if ( atRegistry.contains( oid ) )
+ if ( schemaManager.getAttributeTypeRegistry().contains( oid ) )
{
- atRegistry.unregister( oid );
+ schemaManager.unregisterAttributeType( oid );
}
- atRegistry.register( at );
+ schemaManager.register( at );
return SCHEMA_MODIFIED;
}
@@ -149,18 +173,18 @@
parentDn.remove( parentDn.size() - 1 );
// The parent DN must be ou=attributetypes,cn=<schemaName>,ou=schema
- checkParent( parentDn, atRegistry, SchemaConstants.ATTRIBUTE_TYPE );
+ checkParent( parentDn, schemaManager, SchemaConstants.ATTRIBUTE_TYPE );
// Get the AttributeType from the given entry ( it has been grabbed from the server earlier)
String schemaName = getSchemaName( entry.getDn() );
- AttributeType attributeType = factory.getAttributeType( entry, registries, schemaName );
+ AttributeType attributeType = factory.getAttributeType( entry, schemaManager.getRegistries(), schemaName );
// Applies the Registries to this AttributeType
- Schema schema = registries.getLoadedSchema( schemaName );
+ Schema schema = schemaManager.getLoadedSchema( schemaName );
if ( schema.isEnabled() && attributeType.isEnabled() )
{
- attributeType.applyRegistries( registries );
+ attributeType.applyRegistries( schemaManager.getRegistries() );
}
String oid = attributeType.getOid();
@@ -175,7 +199,7 @@
// We will also have to remove an index that has been set on this AttributeType.
if ( isSchemaEnabled( schemaName ) )
{
- if ( registries.isReferenced( attributeType ) )
+ if ( schemaManager.getRegistries().isReferenced( attributeType ) )
{
String msg = "Cannot delete " + entry.getDn().getUpName() + ", as there are some " +
" dependant SchemaObjects :\n" + getReferenced( attributeType );
@@ -188,22 +212,22 @@
deleteFromSchema( attributeType, schemaName );
// Update the Registries now
- if ( atRegistry.contains( oid ) )
+ if ( schemaManager.getAttributeTypeRegistry().contains( oid ) )
{
// Update the references.
// The Syntax
- registries.delReference( attributeType, attributeType.getSyntax() );
+ schemaManager.getRegistries().delReference( attributeType, attributeType.getSyntax() );
// The Superior
- registries.delReference( attributeType, attributeType.getSuperior() );
+ schemaManager.getRegistries().delReference( attributeType, attributeType.getSuperior() );
// The MatchingRules
- registries.delReference( attributeType, attributeType.getEquality() );
- registries.delReference( attributeType, attributeType.getOrdering() );
- registries.delReference( attributeType, attributeType.getSubstring() );
+ schemaManager.getRegistries().delReference( attributeType, attributeType.getEquality() );
+ schemaManager.getRegistries().delReference( attributeType, attributeType.getOrdering() );
+ schemaManager.getRegistries().delReference( attributeType, attributeType.getSubstring() );
// Update the Registry
- atRegistry.unregister( attributeType.getOid() );
+ schemaManager.unregister( attributeType );
LOG.debug( "Removed {} from the enabled schema {}", attributeType, schemaName );
}
@@ -221,7 +245,7 @@
public void rename( ServerEntry entry, Rdn newRdn, boolean cascade ) throws Exception
{
String schemaName = getSchemaName( entry.getDn() );
- AttributeType oldAt = factory.getAttributeType( entry, registries, schemaName );
+ AttributeType oldAt = factory.getAttributeType( entry, schemaManager.getRegistries(), schemaName );
// Inject the new OID
ServerEntry targetEntry = ( ServerEntry ) entry.clone();
@@ -235,12 +259,12 @@
newDn.add( newRdn );
targetEntry.setDn( newDn );
- AttributeType at = factory.getAttributeType( targetEntry, registries, schemaName );
+ AttributeType at = factory.getAttributeType( targetEntry, schemaManager.getRegistries(), schemaName );
if ( isSchemaEnabled( schemaName ) )
{
// Check that the entry has no descendant
- if ( atRegistry.hasDescendants( oldAt.getOid() ) )
+ if ( schemaManager.getAttributeTypeRegistry().hasDescendants( oldAt.getOid() ) )
{
String msg = "Cannot rename " + entry.getDn().getUpName() + " to " + newDn +
" as the later has descendants' AttributeTypes";
@@ -248,8 +272,8 @@
throw new LdapOperationNotSupportedException( msg, ResultCodeEnum.UNWILLING_TO_PERFORM );
}
- atRegistry.unregister( oldAt.getOid() );
- atRegistry.register( at );
+ schemaManager.unregisterAttributeType( oldAt.getOid() );
+ schemaManager.register( at );
}
else
{
@@ -262,15 +286,15 @@
public void moveAndRename( LdapDN oriChildName, LdapDN newParentName, Rdn newRn, boolean deleteOldRn,
ServerEntry entry, boolean cascade ) throws Exception
{
- checkParent( newParentName, atRegistry, SchemaConstants.ATTRIBUTE_TYPE );
+ checkParent( newParentName, schemaManager, SchemaConstants.ATTRIBUTE_TYPE );
String oldSchemaName = getSchemaName( oriChildName );
String newSchemaName = getSchemaName( newParentName );
- AttributeType oldAt = factory.getAttributeType( entry, registries, oldSchemaName );
+ AttributeType oldAt = factory.getAttributeType( entry, schemaManager.getRegistries(), oldSchemaName );
ServerEntry targetEntry = ( ServerEntry ) entry.clone();
String newOid = ( String ) newRn.getValue();
targetEntry.put( MetaSchemaConstants.M_OID_AT, newOid );
checkOidIsUnique( newOid );
- AttributeType newAt = factory.getAttributeType( targetEntry, registries, newSchemaName );
+ AttributeType newAt = factory.getAttributeType( targetEntry, schemaManager.getRegistries(), newSchemaName );
if ( !isSchemaLoaded( oldSchemaName ) )
@@ -292,7 +316,7 @@
if ( isSchemaEnabled( oldSchemaName ) )
{
- atRegistry.unregister( oldAt.getOid() );
+ schemaManager.unregisterAttributeType( oldAt.getOid() );
}
else
{
@@ -301,7 +325,7 @@
if ( isSchemaEnabled( newSchemaName ) )
{
- atRegistry.register( newAt );
+ schemaManager.register( newAt );
}
else
{
@@ -313,11 +337,11 @@
public void move( LdapDN oriChildName, LdapDN newParentName, ServerEntry entry, boolean cascade )
throws Exception
{
- checkParent( newParentName, atRegistry, SchemaConstants.ATTRIBUTE_TYPE );
+ checkParent( newParentName, schemaManager, SchemaConstants.ATTRIBUTE_TYPE );
String oldSchemaName = getSchemaName( oriChildName );
String newSchemaName = getSchemaName( newParentName );
- AttributeType oldAt = factory.getAttributeType( entry, registries, oldSchemaName );
- AttributeType newAt = factory.getAttributeType( entry, registries, newSchemaName );
+ AttributeType oldAt = factory.getAttributeType( entry, schemaManager.getRegistries(), oldSchemaName );
+ AttributeType newAt = factory.getAttributeType( entry, schemaManager.getRegistries(), newSchemaName );
if ( !isSchemaLoaded( oldSchemaName ) )
{
@@ -338,7 +362,7 @@
if ( isSchemaEnabled( oldSchemaName ) )
{
- atRegistry.unregister( oldAt.getOid() );
+ schemaManager.unregisterAttributeType( oldAt.getOid() );
}
else
{
@@ -347,7 +371,7 @@
if ( isSchemaEnabled( newSchemaName ) )
{
- atRegistry.register( newAt );
+ schemaManager.register( newAt );
}
else
{
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/ComparatorSynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/ComparatorSynchronizer.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/ComparatorSynchronizer.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/ComparatorSynchronizer.java Sat Nov 7 07:57:34 2009
@@ -33,9 +33,7 @@
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.name.Rdn;
import org.apache.directory.shared.ldap.schema.LdapComparator;
-import org.apache.directory.shared.ldap.schema.registries.ComparatorRegistry;
-import org.apache.directory.shared.ldap.schema.registries.MatchingRuleRegistry;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,24 +50,16 @@
/** A logger for this class */
private static final Logger LOG = LoggerFactory.getLogger( ComparatorSynchronizer.class );
- /** The Comparator registry */
- private final ComparatorRegistry comparatorRegistry;
-
- /** The MatchingRule registry */
- private final MatchingRuleRegistry matchingRuleRegistry;
-
/**
* Creates a new instance of ComparatorSynchronizer.
*
- * @param registries The global registries
+ * @param schemaManager The global schemaManager
* @throws Exception If the initialization failed
*/
- public ComparatorSynchronizer( Registries registries ) throws Exception
+ public ComparatorSynchronizer( SchemaManager schemaManager ) throws Exception
{
- super( registries );
- this.comparatorRegistry = registries.getComparatorRegistry();
- this.matchingRuleRegistry = registries.getMatchingRuleRegistry();
+ super( schemaManager );
}
@@ -82,14 +72,14 @@
ServerEntry entry = opContext.getEntry();
String schemaName = getSchemaName( name );
String oid = getOid( entry );
- LdapComparator<?> comparator = factory.getLdapComparator( targetEntry, registries, schemaName );
+ LdapComparator<?> comparator = factory.getLdapComparator( schemaManager, targetEntry, schemaManager.getRegistries(), schemaName );
if ( isSchemaEnabled( schemaName ) )
{
comparator.setSchemaName( schemaName );
- comparatorRegistry.unregister( oid );
- comparatorRegistry.register( comparator );
+ schemaManager.unregisterComparator( oid );
+ schemaManager.register( comparator );
return SCHEMA_MODIFIED;
}
@@ -108,7 +98,7 @@
parentDn.remove( parentDn.size() - 1 );
// The parent DN must be ou=comparators,cn=<schemaName>,ou=schema
- checkParent( parentDn, comparatorRegistry, SchemaConstants.COMPARATOR );
+ checkParent( parentDn, schemaManager, SchemaConstants.COMPARATOR );
// The new schemaObject's OID must not already exist
checkOidIsUniqueForComparator( entry );
@@ -116,13 +106,13 @@
// Build the new Comparator from the given entry
String schemaName = getSchemaName( dn );
- LdapComparator<?> comparator = factory.getLdapComparator( entry, registries, schemaName );
+ LdapComparator<?> comparator = factory.getLdapComparator( schemaManager, entry, schemaManager.getRegistries(), schemaName );
addToSchema( comparator, schemaName );
if ( isSchemaEnabled( schemaName ) && comparator.isEnabled() )
{
- comparatorRegistry.register( comparator );
+ schemaManager.register( comparator );
LOG.debug( "Added {} into the enabled schema {}", dn.getUpName(), schemaName );
}
}
@@ -138,30 +128,30 @@
parentDn.remove( parentDn.size() - 1 );
// The parent DN must be ou=comparators,cn=<schemaName>,ou=schema
- checkParent( parentDn, comparatorRegistry, SchemaConstants.COMPARATOR );
+ checkParent( parentDn, schemaManager, SchemaConstants.COMPARATOR );
// Get the Comparator from the given entry ( it has been grabbed from the server earlier)
String schemaName = getSchemaName( entry.getDn() );
- LdapComparator<?> comparator = factory.getLdapComparator( entry, registries, schemaName );
+ LdapComparator<?> comparator = factory.getLdapComparator( schemaManager, entry, schemaManager.getRegistries(), schemaName );
String oid = comparator.getOid();
if ( isSchemaEnabled( schemaName ) )
{
- if ( registries.isReferenced( comparator ) )
+ if ( schemaManager.getRegistries().isReferenced( comparator ) )
{
String msg = "Cannot delete " + entry.getDn().getUpName() + ", as there are some " +
" dependant SchemaObjects :\n" + getReferenced( comparator );
- LOG.warn( msg );
- throw new LdapOperationNotSupportedException( msg, ResultCodeEnum.UNWILLING_TO_PERFORM );
+ LOG.warn( msg );
+ throw new LdapOperationNotSupportedException( msg, ResultCodeEnum.UNWILLING_TO_PERFORM );
}
}
deleteFromSchema( comparator, schemaName );
- if ( comparatorRegistry.contains( oid ) )
+ if ( schemaManager.getComparatorRegistry().contains( oid ) )
{
- comparatorRegistry.unregister( oid );
+ schemaManager.unregisterComparator( oid );
LOG.debug( "Removed {} from the enabled schema {}", comparator, schemaName );
}
else
@@ -178,7 +168,7 @@
{
String oldOid = getOid( entry );
- if ( matchingRuleRegistry.contains( oldOid ) )
+ if ( schemaManager.getMatchingRuleRegistry().contains( oldOid ) )
{
throw new LdapOperationNotSupportedException( "The comparator with OID " + oldOid
+ " cannot have it's OID changed until all "
@@ -206,9 +196,9 @@
targetEntry.setDn( newDn );
// Register the new comparator, and unregister the old one
- LdapComparator<?> comparator = factory.getLdapComparator( targetEntry, registries, schemaName );
- comparatorRegistry.unregister( oldOid );
- comparatorRegistry.register( comparator );
+ LdapComparator<?> comparator = factory.getLdapComparator( schemaManager, targetEntry, schemaManager.getRegistries(), schemaName );
+ schemaManager.unregisterComparator( oldOid );
+ schemaManager.register( comparator );
}
}
@@ -219,7 +209,7 @@
checkNewParent( newParentName );
String oldOid = getOid( entry );
- if ( matchingRuleRegistry.contains( oldOid ) )
+ if ( schemaManager.getMatchingRuleRegistry().contains( oldOid ) )
{
throw new LdapOperationNotSupportedException( "The comparator with OID " + oldOid
+ " cannot have it's OID changed until all "
@@ -232,18 +222,18 @@
String newSchemaName = getSchemaName( newParentName );
- LdapComparator<?> comparator = factory.getLdapComparator( entry, registries, newSchemaName );
+ LdapComparator<?> comparator = factory.getLdapComparator( schemaManager, entry, schemaManager.getRegistries(), newSchemaName );
String oldSchemaName = getSchemaName( oriChildName );
if ( isSchemaEnabled( oldSchemaName ) )
{
- comparatorRegistry.unregister( oldOid );
+ schemaManager.unregisterComparator( oldOid );
}
if ( isSchemaEnabled( newSchemaName ) )
{
- comparatorRegistry.register( comparator );
+ schemaManager.register( comparator );
}
}
@@ -254,7 +244,7 @@
checkNewParent( newParentName );
String oid = getOid( entry );
- if ( matchingRuleRegistry.contains( oid ) )
+ if ( schemaManager.getMatchingRuleRegistry().contains( oid ) )
{
throw new LdapOperationNotSupportedException( "The comparator with OID " + oid
+ " cannot be moved to another schema until all "
@@ -264,25 +254,25 @@
String newSchemaName = getSchemaName( newParentName );
- LdapComparator<?> comparator = factory.getLdapComparator( entry, registries, newSchemaName );
+ LdapComparator<?> comparator = factory.getLdapComparator( schemaManager, entry, schemaManager.getRegistries(), newSchemaName );
String oldSchemaName = getSchemaName( oriChildName );
if ( isSchemaEnabled( oldSchemaName ) )
{
- comparatorRegistry.unregister( oid );
+ schemaManager.unregisterComparator( oid );
}
if ( isSchemaEnabled( newSchemaName ) )
{
- comparatorRegistry.register( comparator );
+ schemaManager.register( comparator );
}
}
private void checkOidIsUniqueForComparator( String oid ) throws NamingException
{
- if ( registries.getComparatorRegistry().contains( oid ) )
+ if ( schemaManager.getComparatorRegistry().contains( oid ) )
{
throw new LdapNamingException( "Oid " + oid + " for new schema comparator is not unique.",
ResultCodeEnum.OTHER );
@@ -294,7 +284,7 @@
{
String oid = getOid( entry );
- if ( registries.getComparatorRegistry().contains( oid ) )
+ if ( schemaManager.getComparatorRegistry().contains( oid ) )
{
throw new LdapNamingException( "Oid " + oid + " for new schema comparator is not unique.",
ResultCodeEnum.OTHER );
@@ -312,7 +302,8 @@
}
Rdn rdn = newParent.getRdn();
- if ( ! registries.getAttributeTypeRegistry().getOidByName( rdn.getNormType() ).equals( SchemaConstants.OU_AT_OID ) )
+
+ if ( ! schemaManager.getAttributeTypeRegistry().getOidByName( rdn.getNormType() ).equals( SchemaConstants.OU_AT_OID ) )
{
throw new LdapInvalidNameException( "The parent entry of a comparator should be an organizationalUnit.",
ResultCodeEnum.NAMING_VIOLATION );
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/DitContentRuleSynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/DitContentRuleSynchronizer.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/DitContentRuleSynchronizer.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/DitContentRuleSynchronizer.java Sat Nov 7 07:57:34 2009
@@ -27,7 +27,7 @@
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.name.Rdn;
import org.apache.directory.shared.ldap.schema.DITContentRule;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
/**
@@ -42,12 +42,12 @@
/**
* Creates a new instance of DitContentRuleSynchronizer.
*
- * @param registries The global registries
+ * @param schemaManager The global schemaManager
* @throws Exception If the initialization failed
*/
- protected DitContentRuleSynchronizer( Registries registries ) throws Exception
+ protected DitContentRuleSynchronizer( SchemaManager schemaManager ) throws Exception
{
- super( registries );
+ super( schemaManager );
// TODO Auto-generated constructor stub
}
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/DitStructureRuleSynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/DitStructureRuleSynchronizer.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/DitStructureRuleSynchronizer.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/DitStructureRuleSynchronizer.java Sat Nov 7 07:57:34 2009
@@ -27,7 +27,7 @@
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.name.Rdn;
import org.apache.directory.shared.ldap.schema.DITStructureRule;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
/**
@@ -41,12 +41,12 @@
/**
* Creates a new instance of DitStructureSynchronizer.
*
- * @param registries The global registries
+ * @param schemaManager The global schemaManager
* @throws Exception If the initialization failed
*/
- protected DitStructureRuleSynchronizer( Registries registries ) throws Exception
+ protected DitStructureRuleSynchronizer( SchemaManager schemaManager ) throws Exception
{
- super( registries );
+ super( schemaManager );
// TODO Auto-generated constructor stub
}
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/MatchingRuleSynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/MatchingRuleSynchronizer.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/MatchingRuleSynchronizer.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/MatchingRuleSynchronizer.java Sat Nov 7 07:57:34 2009
@@ -31,8 +31,7 @@
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.name.Rdn;
import org.apache.directory.shared.ldap.schema.MatchingRule;
-import org.apache.directory.shared.ldap.schema.registries.MatchingRuleRegistry;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -50,21 +49,16 @@
/** A logger for this class */
private static final Logger LOG = LoggerFactory.getLogger( MatchingRuleSynchronizer.class );
- /** The matchingRule registry */
- private final MatchingRuleRegistry matchingRuleRegistry;
-
-
/**
* Creates a new instance of MatchingRuleSynchronizer.
*
- * @param registries The global registries
+ * @param schemaManager The global schemaManager
* @throws Exception If the initialization failed
*/
- public MatchingRuleSynchronizer( Registries registries )
+ public MatchingRuleSynchronizer( SchemaManager schemaManager )
throws Exception
{
- super( registries );
- this.matchingRuleRegistry = registries.getMatchingRuleRegistry();
+ super( schemaManager );
}
@@ -77,14 +71,14 @@
LdapDN name = opContext.getDn();
ServerEntry entry = opContext.getEntry();
String schemaName = getSchemaName( name );
- MatchingRule mr = factory.getMatchingRule( targetEntry, registries, schemaName );
+ MatchingRule mr = factory.getMatchingRule( targetEntry, schemaManager.getRegistries(), schemaName );
String oldOid = getOid( entry );
if ( isSchemaEnabled( schemaName ) )
{
- matchingRuleRegistry.unregister( oldOid );
- matchingRuleRegistry.register( mr );
+ schemaManager.unregisterMatchingRule( oldOid );
+ schemaManager.register( mr );
return SCHEMA_MODIFIED;
}
@@ -105,23 +99,23 @@
parentDn.remove( parentDn.size() - 1 );
// The parent DN must be ou=matchingrules,cn=<schemaName>,ou=schema
- checkParent( parentDn, matchingRuleRegistry, SchemaConstants.MATCHING_RULE );
+ checkParent( parentDn, schemaManager, SchemaConstants.MATCHING_RULE );
// The new schemaObject's OID must not already exist
checkOidIsUnique( entry );
// Build the new MatchingRule from the given entry
String schemaName = getSchemaName( dn );
- MatchingRule matchingRule = factory.getMatchingRule( entry, registries, schemaName );
+ MatchingRule matchingRule = factory.getMatchingRule( entry, schemaManager.getRegistries(), schemaName );
// At this point, the constructed MatchingRule has not been checked against the
// existing Registries. It may be broken (missing SYNTAX), it will be checked
// there, if the schema and the MatchingRule are both enabled.
- Schema schema = registries.getLoadedSchema( schemaName );
+ Schema schema = schemaManager.getLoadedSchema( schemaName );
if ( schema.isEnabled() && matchingRule.isEnabled() )
{
- matchingRule.applyRegistries( registries );
+ matchingRule.applyRegistries( schemaManager.getRegistries() );
}
// Associates this MatchingRule with the schema
@@ -132,15 +126,15 @@
{
// Update the referenced and referencing objects
// The Syntax
- registries.addReference( matchingRule, matchingRule.getSyntax() );
+ schemaManager.getRegistries().addReference( matchingRule, matchingRule.getSyntax() );
// The Normalizer
- registries.addReference( matchingRule, matchingRule.getNormalizer() );
+ schemaManager.getRegistries().addReference( matchingRule, matchingRule.getNormalizer() );
// The Comparator
- registries.addReference( matchingRule, matchingRule.getLdapComparator() );
+ schemaManager.getRegistries().addReference( matchingRule, matchingRule.getLdapComparator() );
- matchingRuleRegistry.register( matchingRule );
+ schemaManager.register( matchingRule );
LOG.debug( "Added {} into the enabled schema {}", dn.getUpName(), schemaName );
}
else
@@ -161,37 +155,37 @@
parentDn.remove( parentDn.size() - 1 );
// The parent DN must be ou=matchingrules,cn=<schemaName>,ou=schema
- checkParent( parentDn, matchingRuleRegistry, SchemaConstants.MATCHING_RULE );
+ checkParent( parentDn, schemaManager, SchemaConstants.MATCHING_RULE );
// Get the MatchingRule from the given entry ( it has been grabbed from the server earlier)
String schemaName = getSchemaName( entry.getDn() );
- MatchingRule matchingRule = factory.getMatchingRule( entry, registries, schemaName );
+ MatchingRule matchingRule = factory.getMatchingRule( entry, schemaManager.getRegistries(), schemaName );
String oid = matchingRule.getOid();
// Applies the Registries to this MatchingRule
- Schema schema = registries.getLoadedSchema( schemaName );
+ Schema schema = schemaManager.getLoadedSchema( schemaName );
if ( schema.isEnabled() && matchingRule.isEnabled() )
{
- matchingRule.applyRegistries( registries );
+ matchingRule.applyRegistries( schemaManager.getRegistries() );
}
deleteFromSchema( matchingRule, schemaName );
- if ( matchingRuleRegistry.contains( oid ) )
+ if ( schemaManager.getMatchingRuleRegistry().contains( oid ) )
{
// Update the referenced and referencing objects
// The Syntax
- registries.delReference( matchingRule, matchingRule.getSyntax() );
+ schemaManager.getRegistries().delReference( matchingRule, matchingRule.getSyntax() );
// The Normalizer
- registries.delReference( matchingRule, matchingRule.getNormalizer() );
+ schemaManager.getRegistries().delReference( matchingRule, matchingRule.getNormalizer() );
// The Comparator
- registries.delReference( matchingRule, matchingRule.getLdapComparator() );
+ schemaManager.getRegistries().delReference( matchingRule, matchingRule.getLdapComparator() );
// Update the registry
- matchingRuleRegistry.unregister( matchingRule.getOid() );
+ schemaManager.unregisterMatchingRule( matchingRule.getOid() );
LOG.debug( "Removed {} from the enabled schema {}", matchingRule, schemaName );
}
@@ -209,18 +203,18 @@
public void rename( ServerEntry entry, Rdn newRdn, boolean cascade ) throws Exception
{
String schemaName = getSchemaName( entry.getDn() );
- MatchingRule oldMr = factory.getMatchingRule( entry, registries, schemaName );
+ MatchingRule oldMr = factory.getMatchingRule( entry, schemaManager.getRegistries(), schemaName );
ServerEntry targetEntry = ( ServerEntry ) entry.clone();
String newOid = ( String ) newRdn.getValue();
checkOidIsUnique( newOid );
targetEntry.put( MetaSchemaConstants.M_OID_AT, newOid );
- MatchingRule mr = factory.getMatchingRule( targetEntry, registries, schemaName );
+ MatchingRule mr = factory.getMatchingRule( targetEntry, schemaManager.getRegistries(), schemaName );
if ( isSchemaEnabled( schemaName ) )
{
- matchingRuleRegistry.unregister( oldMr.getOid() );
- matchingRuleRegistry.register( mr );
+ schemaManager.unregisterMatchingRule( oldMr.getOid() );
+ schemaManager.register( mr );
}
else
{
@@ -236,17 +230,17 @@
checkNewParent( newParentName );
String oldSchemaName = getSchemaName( oriChildName );
String newSchemaName = getSchemaName( newParentName );
- MatchingRule oldMr = factory.getMatchingRule( entry, registries, oldSchemaName );
+ MatchingRule oldMr = factory.getMatchingRule( entry, schemaManager.getRegistries(), oldSchemaName );
ServerEntry targetEntry = ( ServerEntry ) entry.clone();
String newOid = ( String ) newRdn.getValue();
checkOidIsUnique( newOid );
targetEntry.put( MetaSchemaConstants.M_OID_AT, newOid );
- MatchingRule mr = factory.getMatchingRule( targetEntry, registries, newSchemaName );
+ MatchingRule mr = factory.getMatchingRule( targetEntry, schemaManager.getRegistries(), newSchemaName );
if ( isSchemaEnabled( oldSchemaName ) )
{
- matchingRuleRegistry.unregister( oldMr.getOid() );
+ schemaManager.unregisterMatchingRule( oldMr.getOid() );
}
else
{
@@ -255,7 +249,7 @@
if ( isSchemaEnabled( newSchemaName ) )
{
- matchingRuleRegistry.register( mr );
+ schemaManager.register( mr );
}
else
{
@@ -270,12 +264,12 @@
checkNewParent( newParentName );
String oldSchemaName = getSchemaName( oriChildName );
String newSchemaName = getSchemaName( newParentName );
- MatchingRule oldMr = factory.getMatchingRule( entry, registries, oldSchemaName );
- MatchingRule newMr = factory.getMatchingRule( entry, registries, newSchemaName );
+ MatchingRule oldMr = factory.getMatchingRule( entry, schemaManager.getRegistries(), oldSchemaName );
+ MatchingRule newMr = factory.getMatchingRule( entry, schemaManager.getRegistries(), newSchemaName );
if ( isSchemaEnabled( oldSchemaName ) )
{
- matchingRuleRegistry.unregister( oldMr.getOid() );
+ schemaManager.unregisterMatchingRule( oldMr.getOid() );
}
else
{
@@ -284,7 +278,7 @@
if ( isSchemaEnabled( newSchemaName ) )
{
- matchingRuleRegistry.register( newMr );
+ schemaManager.register( newMr );
}
else
{
@@ -303,7 +297,7 @@
}
Rdn rdn = newParent.getRdn();
- if ( ! registries.getAttributeTypeRegistry().getOidByName( rdn.getNormType() ).equals( SchemaConstants.OU_AT_OID ) )
+ if ( ! schemaManager.getAttributeTypeRegistry().getOidByName( rdn.getNormType() ).equals( SchemaConstants.OU_AT_OID ) )
{
throw new LdapInvalidNameException( "The parent entry of a matchingRule should be an organizationalUnit.",
ResultCodeEnum.NAMING_VIOLATION );
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/MatchingRuleUseSynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/MatchingRuleUseSynchronizer.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/MatchingRuleUseSynchronizer.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/MatchingRuleUseSynchronizer.java Sat Nov 7 07:57:34 2009
@@ -27,7 +27,7 @@
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.name.Rdn;
import org.apache.directory.shared.ldap.schema.MatchingRuleUse;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
/**
@@ -41,12 +41,12 @@
/**
* Creates a new instance of MatchingRuleUseSynchronizer.
*
- * @param registries The global registries
+ * @param schemaManager The global schemaManager
* @throws Exception If the initialization failed
*/
- protected MatchingRuleUseSynchronizer( Registries registries ) throws Exception
+ protected MatchingRuleUseSynchronizer( SchemaManager schemaManager ) throws Exception
{
- super( registries );
+ super( schemaManager );
// TODO Auto-generated constructor stub
}
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/NameFormSynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/NameFormSynchronizer.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/NameFormSynchronizer.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/NameFormSynchronizer.java Sat Nov 7 07:57:34 2009
@@ -27,7 +27,7 @@
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.name.Rdn;
import org.apache.directory.shared.ldap.schema.NameForm;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
/**
@@ -41,12 +41,12 @@
/**
* Creates a new instance of NameFormSynchronizer.
*
- * @param registries The global registries
+ * @param schemaManager The global schemaManager
* @throws Exception If the initialization failed
*/
- protected NameFormSynchronizer( Registries registries ) throws Exception
+ protected NameFormSynchronizer( SchemaManager schemaManager ) throws Exception
{
- super( registries );
+ super( schemaManager );
}
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/NormalizerSynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/NormalizerSynchronizer.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/NormalizerSynchronizer.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/NormalizerSynchronizer.java Sat Nov 7 07:57:34 2009
@@ -33,9 +33,7 @@
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.name.Rdn;
import org.apache.directory.shared.ldap.schema.Normalizer;
-import org.apache.directory.shared.ldap.schema.registries.MatchingRuleRegistry;
-import org.apache.directory.shared.ldap.schema.registries.NormalizerRegistry;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -51,24 +49,15 @@
/** A logger for this class */
private static final Logger LOG = LoggerFactory.getLogger( NormalizerSynchronizer.class );
- /** The normalizer registry */
- private final NormalizerRegistry normalizerRegistry;
-
- /** The matchingRule registry */
- private final MatchingRuleRegistry matchingRuleRegistry;
-
-
/**
* Creates a new instance of NormalizerSynchronizer.
*
* @param registries The global registries
* @throws Exception If the initialization failed
*/
- public NormalizerSynchronizer( Registries registries ) throws Exception
+ public NormalizerSynchronizer( SchemaManager schemaManager ) throws Exception
{
- super( registries );
- this.normalizerRegistry = registries.getNormalizerRegistry();
- this.matchingRuleRegistry = registries.getMatchingRuleRegistry();
+ super( schemaManager );
}
@@ -81,14 +70,14 @@
ServerEntry entry = opContext.getEntry();
String schemaName = getSchemaName( name );
String oldOid = getOid( entry );
- Normalizer normalizer = factory.getNormalizer( targetEntry, registries, schemaName );
+ Normalizer normalizer = factory.getNormalizer( schemaManager, targetEntry, schemaManager.getRegistries(), schemaName );
if ( isSchemaEnabled( schemaName ) )
{
normalizer.setSchemaName( schemaName );
- normalizerRegistry.unregister( oldOid );
- normalizerRegistry.register( normalizer );
+ schemaManager.unregisterNormalizer( oldOid );
+ schemaManager.register( normalizer );
return SCHEMA_MODIFIED;
}
@@ -107,7 +96,7 @@
parentDn.remove( parentDn.size() - 1 );
// The parent DN must be ou=normalizers,cn=<schemaName>,ou=schema
- checkParent( parentDn, normalizerRegistry, SchemaConstants.NORMALIZER );
+ checkParent( parentDn, schemaManager, SchemaConstants.NORMALIZER );
// The new schemaObject's OID must not already exist
checkOidIsUniqueForNormalizer( entry );
@@ -115,13 +104,13 @@
// Build the new Normalizer from the given entry
String schemaName = getSchemaName( dn );
- Normalizer normalizer = factory.getNormalizer( entry, registries, schemaName );
+ Normalizer normalizer = factory.getNormalizer( schemaManager, entry, schemaManager.getRegistries(), schemaName );
addToSchema( normalizer, schemaName );
if ( isSchemaEnabled( schemaName ) )
{
- normalizerRegistry.register( normalizer );
+ schemaManager.register( normalizer );
LOG.debug( "Added {} into the enabled schema {}", dn.getUpName(), schemaName );
}
}
@@ -137,17 +126,17 @@
parentDn.remove( parentDn.size() - 1 );
// The parent DN must be ou=normalizers,cn=<schemaName>,ou=schema
- checkParent( parentDn, normalizerRegistry, SchemaConstants.NORMALIZER );
+ checkParent( parentDn, schemaManager, SchemaConstants.NORMALIZER );
// Get the Normalizer from the given entry ( it has been grabbed from the server earlier)
String schemaName = getSchemaName( entry.getDn() );
- Normalizer normalizer = factory.getNormalizer( entry, registries, schemaName );
+ Normalizer normalizer = factory.getNormalizer( schemaManager, entry, schemaManager.getRegistries(), schemaName );
String oid = normalizer.getOid();
if ( isSchemaEnabled( schemaName ) )
{
- if ( registries.isReferenced( normalizer ) )
+ if ( schemaManager.getRegistries().isReferenced( normalizer ) )
{
String msg = "Cannot delete " + entry.getDn().getUpName() + ", as there are some " +
" dependant SchemaObjects :\n" + getReferenced( normalizer );
@@ -158,9 +147,9 @@
deleteFromSchema( normalizer, schemaName );
- if ( normalizerRegistry.contains( oid ) )
+ if ( schemaManager.getNormalizerRegistry().contains( oid ) )
{
- normalizerRegistry.unregister( oid );
+ schemaManager.unregisterNormalizer( oid );
LOG.debug( "Removed {} from the enabled schema {}", normalizer, schemaName );
}
else
@@ -178,7 +167,7 @@
String oldOid = getOid( entry );
String schemaName = getSchemaName( entry.getDn() );
- if ( matchingRuleRegistry.contains( oldOid ) )
+ if ( schemaManager.getMatchingRuleRegistry().contains( oldOid ) )
{
throw new LdapOperationNotSupportedException( "The normalizer with OID " + oldOid
+ " cannot have it's OID changed until all "
@@ -201,9 +190,9 @@
newDn.add( newRdn );
targetEntry.setDn( newDn );
- Normalizer normalizer = factory.getNormalizer( targetEntry, registries, schemaName );
- normalizerRegistry.unregister( oldOid );
- normalizerRegistry.register( normalizer );
+ Normalizer normalizer = factory.getNormalizer( schemaManager, targetEntry, schemaManager.getRegistries(), schemaName );
+ schemaManager.unregisterNormalizer( oldOid );
+ schemaManager.register( normalizer );
}
}
@@ -216,7 +205,7 @@
String oldSchemaName = getSchemaName( oriChildName );
String newSchemaName = getSchemaName( newParentName );
- if ( matchingRuleRegistry.contains( oldOid ) )
+ if ( schemaManager.getMatchingRuleRegistry().contains( oldOid ) )
{
throw new LdapOperationNotSupportedException( "The normalizer with OID " + oldOid
+ " cannot have it's OID changed until all "
@@ -226,16 +215,16 @@
String oid = ( String ) newRdn.getValue();
checkOidIsUniqueForNormalizer( oid );
- Normalizer normalizer = factory.getNormalizer( entry, registries, newSchemaName );
+ Normalizer normalizer = factory.getNormalizer( schemaManager, entry, schemaManager.getRegistries(), newSchemaName );
if ( isSchemaEnabled( oldSchemaName ) )
{
- normalizerRegistry.unregister( oldOid );
+ schemaManager.unregisterNormalizer( oldOid );
}
if ( isSchemaEnabled( newSchemaName ) )
{
- normalizerRegistry.register( normalizer );
+ schemaManager.register( normalizer );
}
}
@@ -248,7 +237,7 @@
String oldSchemaName = getSchemaName( oriChildName );
String newSchemaName = getSchemaName( newParentName );
- if ( matchingRuleRegistry.contains( oid ) )
+ if ( schemaManager.getMatchingRuleRegistry().contains( oid ) )
{
throw new LdapOperationNotSupportedException( "The normalizer with OID " + oid
+ " cannot be moved to another schema until all "
@@ -256,24 +245,24 @@
ResultCodeEnum.UNWILLING_TO_PERFORM );
}
- Normalizer normalizer = factory.getNormalizer( entry, registries, newSchemaName );
+ Normalizer normalizer = factory.getNormalizer( schemaManager, entry, schemaManager.getRegistries(), newSchemaName );
if ( isSchemaEnabled( oldSchemaName ) )
{
- normalizerRegistry.unregister( oid );
+ schemaManager.unregisterNormalizer( oid );
}
if ( isSchemaEnabled( newSchemaName ) )
{
- normalizerRegistry.register( normalizer );
+ schemaManager.register( normalizer );
}
}
private void checkOidIsUniqueForNormalizer( String oid ) throws NamingException
{
- if ( registries.getNormalizerRegistry().contains( oid ) )
+ if ( schemaManager.getNormalizerRegistry().contains( oid ) )
{
throw new LdapNamingException( "Oid " + oid + " for new schema normalizer is not unique.",
ResultCodeEnum.OTHER );
@@ -285,7 +274,7 @@
{
String oid = getOid( entry );
- if ( registries.getNormalizerRegistry().contains( oid ) )
+ if ( schemaManager.getNormalizerRegistry().contains( oid ) )
{
throw new LdapNamingException( "Oid " + oid + " for new schema normalizer is not unique.",
ResultCodeEnum.OTHER );
@@ -304,7 +293,7 @@
Rdn rdn = newParent.getRdn();
- if ( ! registries.getAttributeTypeRegistry().getOidByName( rdn.getNormType() ).equals( SchemaConstants.OU_AT_OID ) )
+ if ( ! schemaManager.getAttributeTypeRegistry().getOidByName( rdn.getNormType() ).equals( SchemaConstants.OU_AT_OID ) )
{
throw new LdapInvalidNameException( "The parent entry of a normalizer should be an organizationalUnit.",
ResultCodeEnum.NAMING_VIOLATION );
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/ObjectClassSynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/ObjectClassSynchronizer.java?rev=833647&r1=833646&r2=833647&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/ObjectClassSynchronizer.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/ObjectClassSynchronizer.java Sat Nov 7 07:57:34 2009
@@ -33,8 +33,7 @@
import org.apache.directory.shared.ldap.name.Rdn;
import org.apache.directory.shared.ldap.schema.AttributeType;
import org.apache.directory.shared.ldap.schema.ObjectClass;
-import org.apache.directory.shared.ldap.schema.registries.ObjectClassRegistry;
-import org.apache.directory.shared.ldap.schema.registries.Registries;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -51,20 +50,16 @@
/** A logger for this class */
private static final Logger LOG = LoggerFactory.getLogger( ObjectClassSynchronizer.class );
- /** The ObjectClass registry */
- private final ObjectClassRegistry objectClassRegistry;
-
/**
* Creates a new instance of ObjectClassSynchronizer.
*
- * @param registries The global registries
+ * @param schemaManager The global schemaManager
* @throws Exception If the initialization failed
*/
- public ObjectClassSynchronizer( Registries registries ) throws Exception
+ public ObjectClassSynchronizer( SchemaManager schemaManager ) throws Exception
{
- super( registries );
- this.objectClassRegistry = registries.getObjectClassRegistry();
+ super( schemaManager );
}
@@ -76,13 +71,13 @@
LdapDN name = opContext.getDn();
ServerEntry entry = opContext.getEntry();
String oid = getOid( entry );
- ObjectClass oc = factory.getObjectClass( targetEntry, registries, getSchemaName( name ) );
+ ObjectClass oc = factory.getObjectClass( targetEntry, schemaManager.getRegistries(), getSchemaName( name ) );
String schemaName = getSchemaName( entry.getDn() );
if ( isSchemaEnabled( schemaName ) )
{
- objectClassRegistry.unregister( oid );
- objectClassRegistry.register( oc );
+ schemaManager.unregisterObjectClass( oid );
+ schemaManager.register( oc );
return SCHEMA_MODIFIED;
}
@@ -101,23 +96,23 @@
parentDn.remove( parentDn.size() - 1 );
// The parent DN must be ou=objectclasses,cn=<schemaName>,ou=schema
- checkParent( parentDn, objectClassRegistry, SchemaConstants.OBJECT_CLASS );
+ checkParent( parentDn, schemaManager, SchemaConstants.OBJECT_CLASS );
// The new schemaObject's OID must not already exist
checkOidIsUnique( entry );
// Build the new ObjectClass from the given entry
String schemaName = getSchemaName( dn );
- ObjectClass objectClass = factory.getObjectClass( entry, registries, schemaName );
+ ObjectClass objectClass = factory.getObjectClass( entry, schemaManager.getRegistries(), schemaName );
// At this point, the constructed ObjectClass has not been checked against the
// existing Registries. It may be broken (missing SUPs), it will be checked
// there, if the schema and the ObjectClass are both enabled.
- Schema schema = registries.getLoadedSchema( schemaName );
+ Schema schema = schemaManager.getLoadedSchema( schemaName );
if ( schema.isEnabled() && objectClass.isEnabled() )
{
- objectClass.applyRegistries( registries );
+ objectClass.applyRegistries( schemaManager.getRegistries() );
}
// Associates this ObjectClass with the schema
@@ -129,22 +124,22 @@
// The MAY AttributeTypes
for ( AttributeType may : objectClass.getMayAttributeTypes() )
{
- registries.addReference( objectClass, may );
+ schemaManager.getRegistries().addReference( objectClass, may );
}
// The MUST AttributeTypes
for ( AttributeType must : objectClass.getMayAttributeTypes() )
{
- registries.addReference( objectClass, must );
+ schemaManager.getRegistries().addReference( objectClass, must );
}
// The superiors
for ( ObjectClass superior : objectClass.getSuperiors() )
{
- registries.addReference( objectClass, superior );
+ schemaManager.getRegistries().addReference( objectClass, superior );
}
- objectClassRegistry.register( objectClass );
+ schemaManager.register( objectClass );
LOG.debug( "Added {} into the enabled schema {}", dn.getUpName(), schemaName );
}
else
@@ -165,25 +160,25 @@
parentDn.remove( parentDn.size() - 1 );
// The parent DN must be ou=objectclasses,cn=<schemaName>,ou=schema
- checkParent( parentDn, objectClassRegistry, SchemaConstants.OBJECT_CLASS );
+ checkParent( parentDn, schemaManager, SchemaConstants.OBJECT_CLASS );
// Get the ObjectClass from the given entry ( it has been grabbed from the server earlier)
String schemaName = getSchemaName( entry.getDn() );
- ObjectClass objectClass = factory.getObjectClass( entry, registries, schemaName );
+ ObjectClass objectClass = factory.getObjectClass( entry, schemaManager.getRegistries(), schemaName );
// Applies the Registries to this ObjectClass
- Schema schema = registries.getLoadedSchema( schemaName );
+ Schema schema = schemaManager.getLoadedSchema( schemaName );
if ( schema.isEnabled() && objectClass.isEnabled() )
{
- objectClass.applyRegistries( registries );
+ objectClass.applyRegistries( schemaManager.getRegistries() );
}
String oid = objectClass.getOid();
if ( isSchemaEnabled( schemaName ) )
{
- if ( registries.isReferenced( objectClass ) )
+ if ( schemaManager.getRegistries().isReferenced( objectClass ) )
{
String msg = "Cannot delete " + entry.getDn().getUpName() + ", as there are some " +
" dependant SchemaObjects :\n" + getReferenced( objectClass );
@@ -195,29 +190,29 @@
// Remove the ObjectClass from the schema content
deleteFromSchema( objectClass, schemaName );
- if ( objectClassRegistry.contains( oid ) )
+ if ( schemaManager.getObjectClassRegistry().contains( oid ) )
{
// Update the referenced and referencing objects
// The MAY AttributeTypes
for ( AttributeType may : objectClass.getMayAttributeTypes() )
{
- registries.delReference( objectClass, may );
+ schemaManager.getRegistries().delReference( objectClass, may );
}
// The MUST AttributeTypes
for ( AttributeType must : objectClass.getMayAttributeTypes() )
{
- registries.delReference( objectClass, must );
+ schemaManager.getRegistries().delReference( objectClass, must );
}
// The superiors
for ( ObjectClass superior : objectClass.getSuperiors() )
{
- registries.delReference( objectClass, superior );
+ schemaManager.getRegistries().delReference( objectClass, superior );
}
// Update the Registry
- objectClassRegistry.unregister( objectClass.getOid() );
+ schemaManager.unregisterObjectClass( objectClass.getOid() );
LOG.debug( "Removed {} from the enabled schema {}", objectClass, schemaName );
}
@@ -235,7 +230,7 @@
public void rename( ServerEntry entry, Rdn newRdn, boolean cascade ) throws Exception
{
String schemaName = getSchemaName( entry.getDn() );
- ObjectClass oldOc = factory.getObjectClass( entry, registries, schemaName );
+ ObjectClass oldOc = factory.getObjectClass( entry, schemaManager.getRegistries(), schemaName );
// Dependency constraints are not managed by this class
// Set<ServerEntry> dependees = dao.listObjectClassDependents( oldOc );
@@ -259,12 +254,12 @@
newDn.add( newRdn );
checkOidIsUnique( newOid );
- ObjectClass oc = factory.getObjectClass( targetEntry, registries, schemaName );
+ ObjectClass oc = factory.getObjectClass( targetEntry, schemaManager.getRegistries(), schemaName );
if ( isSchemaEnabled( schemaName ) )
{
// Check that the entry has no descendant
- if ( objectClassRegistry.hasDescendants( oldOc.getOid() ) )
+ if ( schemaManager.getObjectClassRegistry().hasDescendants( oldOc.getOid() ) )
{
String msg = "Cannot rename " + entry.getDn().getUpName() + " to " + newDn +
" as the later has descendants' ObjectClasses";
@@ -272,8 +267,8 @@
throw new LdapOperationNotSupportedException( msg, ResultCodeEnum.UNWILLING_TO_PERFORM );
}
- objectClassRegistry.unregister( oldOc.getOid() );
- objectClassRegistry.register( oc );
+ schemaManager.unregisterObjectClass( oldOc.getOid() );
+ schemaManager.register( oc );
}
else
{
@@ -288,7 +283,7 @@
{
checkNewParent( newParentName );
String oldSchemaName = getSchemaName( oriChildName );
- ObjectClass oldOc = factory.getObjectClass( entry, registries, oldSchemaName );
+ ObjectClass oldOc = factory.getObjectClass( entry, schemaManager.getRegistries(), oldSchemaName );
// this class does not handle dependencies
// Set<ServerEntry> dependees = dao.listObjectClassDependents( oldOc );
@@ -306,11 +301,11 @@
String newOid = ( String ) newRdn.getValue();
checkOidIsUnique( newOid );
targetEntry.put( MetaSchemaConstants.M_OID_AT, newOid );
- ObjectClass oc = factory.getObjectClass( targetEntry, registries, newSchemaName );
+ ObjectClass oc = factory.getObjectClass( targetEntry, schemaManager.getRegistries(), newSchemaName );
if ( isSchemaEnabled( oldSchemaName ) )
{
- objectClassRegistry.unregister( oldOc.getOid() );
+ schemaManager.unregisterObjectClass( oldOc.getOid() );
}
else
{
@@ -319,7 +314,7 @@
if ( isSchemaEnabled( newSchemaName ) )
{
- objectClassRegistry.register( oc );
+ schemaManager.register( oc );
}
else
{
@@ -334,12 +329,12 @@
checkNewParent( newParentName );
String oldSchemaName = getSchemaName( oriChildName );
String newSchemaName = getSchemaName( newParentName );
- ObjectClass oldAt = factory.getObjectClass( entry, registries, oldSchemaName );
+ ObjectClass oldAt = factory.getObjectClass( entry, schemaManager.getRegistries(), oldSchemaName );
// dependencies are not managed by this class
// Set<ServerEntry> dependees = dao.listObjectClassDependents( oldAt );
// if ( dependees != null && dependees.size() > 0 )
-// {
+// {s
// throw new LdapOperationNotSupportedException( "The objectClass with OID " + oldAt.getOid()
// + " cannot be deleted until all entities"
// + " using this objectClass have also been deleted. The following dependees exist: "
@@ -347,11 +342,11 @@
// ResultCodeEnum.UNWILLING_TO_PERFORM );
// }
- ObjectClass oc = factory.getObjectClass( entry, registries, newSchemaName );
+ ObjectClass oc = factory.getObjectClass( entry, schemaManager.getRegistries(), newSchemaName );
if ( isSchemaEnabled( oldSchemaName ) )
{
- objectClassRegistry.unregister( oldAt.getOid() );
+ schemaManager.unregisterObjectClass( oldAt.getOid() );
}
else
{
@@ -360,7 +355,7 @@
if ( isSchemaEnabled( newSchemaName ) )
{
- objectClassRegistry.register( oc );
+ schemaManager.register( oc );
}
else
{
@@ -380,7 +375,7 @@
Rdn rdn = newParent.getRdn();
- if ( ! registries.getAttributeTypeRegistry().getOidByName( rdn.getNormType() ).equals( SchemaConstants.OU_AT_OID ) )
+ if ( ! schemaManager.getAttributeTypeRegistry().getOidByName( rdn.getNormType() ).equals( SchemaConstants.OU_AT_OID ) )
{
throw new LdapInvalidNameException( "The parent entry of a objectClass should be an organizationalUnit.",
ResultCodeEnum.NAMING_VIOLATION );