You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2009/08/27 18:12:17 UTC
svn commit: r808483 - in /directory:
apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/
apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/
apacheds/branches/apa...
Author: akarasulu
Date: Thu Aug 27 16:12:05 2009
New Revision: 808483
URL: http://svn.apache.org/viewvc?rev=808483&view=rev
Log:
moved SchemaEntityFactory and started using Entry instead of ServerEntry to marshall schema data into SchemaObject instances
Added:
directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/AttributeClassLoader.java
- copied, changed from r808371, directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/AttributeClassLoader.java
directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/SchemaEntityFactory.java
- copied, changed from r808371, directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/SchemaEntityFactory.java
Removed:
directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/AttributeClassLoader.java
directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/SchemaEntityFactory.java
Modified:
directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/SubschemaSubentryIT.java
directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/AbstractSchemaChangeHandler.java
directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaComparatorHandler.java
directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaNormalizerHandler.java
directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaSchemaHandler.java
directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaSyntaxCheckerHandler.java
directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/PartitionSchemaLoader.java
directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDao.java
directory/apacheds/branches/apacheds-schema/schema-loader/pom.xml
directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/LdifSchemaLoader.java
directory/project/branches/project-schema/resources/dictionary
directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/registries/AbstractSchemaLoader.java
Modified: directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/SubschemaSubentryIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/SubschemaSubentryIT.java?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/SubschemaSubentryIT.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/SubschemaSubentryIT.java Thu Aug 27 16:12:05 2009
@@ -25,6 +25,8 @@
import org.apache.directory.server.core.entry.ServerEntry;
import org.apache.directory.server.core.entry.ServerEntryUtils;
import org.apache.directory.server.core.integ.CiRunner;
+import org.apache.directory.server.schema.loader.ldif.SchemaEntityFactory;
+
import static org.apache.directory.server.core.integ.IntegrationUtils.getSchemaContext;
import static org.apache.directory.server.core.integ.IntegrationUtils.getRootContext;
import static org.apache.directory.server.core.integ.IntegrationUtils.getSystemContext;
Modified: directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/AbstractSchemaChangeHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/AbstractSchemaChangeHandler.java?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/AbstractSchemaChangeHandler.java (original)
+++ directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/AbstractSchemaChangeHandler.java Thu Aug 27 16:12:05 2009
@@ -22,6 +22,7 @@
import org.apache.directory.server.constants.MetaSchemaConstants;
import org.apache.directory.server.core.entry.ServerEntry;
+import org.apache.directory.server.schema.loader.ldif.SchemaEntityFactory;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.apache.directory.shared.ldap.entry.EntryAttribute;
import org.apache.directory.shared.ldap.entry.Modification;
Modified: directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaComparatorHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaComparatorHandler.java?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaComparatorHandler.java (original)
+++ directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaComparatorHandler.java Thu Aug 27 16:12:05 2009
@@ -27,6 +27,7 @@
import org.apache.directory.server.constants.MetaSchemaConstants;
import org.apache.directory.server.core.entry.ServerEntry;
+import org.apache.directory.server.schema.loader.ldif.SchemaEntityFactory;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.entry.EntryAttribute;
Modified: directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaNormalizerHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaNormalizerHandler.java?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaNormalizerHandler.java (original)
+++ directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaNormalizerHandler.java Thu Aug 27 16:12:05 2009
@@ -27,6 +27,7 @@
import org.apache.directory.server.constants.MetaSchemaConstants;
import org.apache.directory.server.core.entry.ServerEntry;
+import org.apache.directory.server.schema.loader.ldif.SchemaEntityFactory;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.entry.EntryAttribute;
Modified: directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaSchemaHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaSchemaHandler.java?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaSchemaHandler.java (original)
+++ directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaSchemaHandler.java Thu Aug 27 16:12:05 2009
@@ -24,6 +24,7 @@
import org.apache.directory.server.core.entry.ServerAttribute;
import org.apache.directory.server.core.entry.ServerEntry;
import org.apache.directory.server.core.entry.ServerEntryUtils;
+import org.apache.directory.server.schema.loader.ldif.SchemaEntityFactory;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.entry.EntryAttribute;
Modified: directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaSyntaxCheckerHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaSyntaxCheckerHandler.java?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaSyntaxCheckerHandler.java (original)
+++ directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/MetaSyntaxCheckerHandler.java Thu Aug 27 16:12:05 2009
@@ -27,6 +27,7 @@
import org.apache.directory.server.constants.MetaSchemaConstants;
import org.apache.directory.server.core.entry.ServerEntry;
+import org.apache.directory.server.schema.loader.ldif.SchemaEntityFactory;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.entry.EntryAttribute;
Modified: directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/PartitionSchemaLoader.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/PartitionSchemaLoader.java?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/PartitionSchemaLoader.java (original)
+++ directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/PartitionSchemaLoader.java Thu Aug 27 16:12:05 2009
@@ -42,6 +42,7 @@
import org.apache.directory.server.core.interceptor.context.ListOperationContext;
import org.apache.directory.server.core.interceptor.context.LookupOperationContext;
import org.apache.directory.server.core.partition.Partition;
+import org.apache.directory.server.schema.loader.ldif.SchemaEntityFactory;
import org.apache.directory.shared.ldap.schema.registries.AbstractSchemaLoader;
import org.apache.directory.shared.ldap.schema.registries.AttributeTypeRegistry;
import org.apache.directory.shared.ldap.schema.registries.Registries;
@@ -336,7 +337,7 @@
dao.enableSchema( schema.getSchemaName() );
}
- if ( targetRegistries.getLoadedSchemas().containsKey( schema.getSchemaName() ) )
+ if ( targetRegistries.isSchemaLoaded( schema.getSchemaName() ) )
{
LOG.debug( "schema {} already seems to be loaded", schema.getSchemaName() );
return;
@@ -357,7 +358,7 @@
// order does matter here so some special trickery is needed
// we cannot load a DSR before the DSRs it depends on are loaded?
- // TODO need ot confirm this ( or we must make the class for this and use deferred
+ // TODO need to confirm this ( or we must make the class for this and use deferred
// resolution until everything is available?
loadDitStructureRules( schema, targetRegistries );
Modified: directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDao.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDao.java?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDao.java (original)
+++ directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDao.java Thu Aug 27 16:12:05 2009
@@ -37,6 +37,7 @@
import org.apache.directory.server.core.interceptor.context.ModifyOperationContext;
import org.apache.directory.server.core.interceptor.context.SearchOperationContext;
import org.apache.directory.server.core.partition.Partition;
+import org.apache.directory.server.schema.loader.ldif.SchemaEntityFactory;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.entry.EntryAttribute;
Modified: directory/apacheds/branches/apacheds-schema/schema-loader/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/schema-loader/pom.xml?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/schema-loader/pom.xml (original)
+++ directory/apacheds/branches/apacheds-schema/schema-loader/pom.xml Thu Aug 27 16:12:05 2009
@@ -34,4 +34,12 @@
Initial schema loader used during server bootstrapping to populate
registries.
</description>
+
+ <dependencies>
+ <dependency>
+ <artifactId>apacheds-core-constants</artifactId>
+ <groupId>${pom.groupId}</groupId>
+ <version>${pom.version}</version>
+ </dependency>
+ </dependencies>
</project>
Copied: directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/AttributeClassLoader.java (from r808371, directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/AttributeClassLoader.java)
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/AttributeClassLoader.java?p2=directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/AttributeClassLoader.java&p1=directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/AttributeClassLoader.java&r1=808371&r2=808483&rev=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/AttributeClassLoader.java (original)
+++ directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/AttributeClassLoader.java Thu Aug 27 16:12:05 2009
@@ -19,7 +19,7 @@
*/
-package org.apache.directory.server.core.schema;
+package org.apache.directory.server.schema.loader.ldif;
import javax.naming.NamingException;
Modified: directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/LdifSchemaLoader.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/LdifSchemaLoader.java?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/LdifSchemaLoader.java (original)
+++ directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/LdifSchemaLoader.java Thu Aug 27 16:12:05 2009
@@ -20,14 +20,14 @@
package org.apache.directory.server.schema.loader.ldif;
+import org.apache.directory.shared.ldap.schema.LdapComparator;
+import org.apache.directory.shared.ldap.schema.Normalizer;
+import org.apache.directory.shared.ldap.schema.SyntaxChecker;
import org.apache.directory.shared.ldap.schema.registries.AbstractSchemaLoader;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.apache.directory.shared.ldap.schema.registries.Registries;
-import org.apache.directory.shared.ldap.schema.registries.DefaultSchema;
import org.apache.directory.shared.ldap.ldif.LdifEntry;
import org.apache.directory.shared.ldap.ldif.LdifReader;
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
-import org.apache.directory.shared.ldap.entry.Value;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,19 +46,35 @@
*/
public class LdifSchemaLoader extends AbstractSchemaLoader
{
+ /** ldif file extension used */
+ private static final String LDIF_EXT = "ldif";
+
+ /** ou=schema LDIF file name */
+ private static final String OU_SCHEMA_LDIF = "schema." + LDIF_EXT;
+
/** static class logger */
private static final Logger LOG = LoggerFactory.getLogger( LdifSchemaLoader.class );
/** Speedup for DEBUG mode */
private static final boolean IS_DEBUG = LOG.isDebugEnabled();
+ /** name of directory containing LdapComparators */
+ private static final String COMPARATORS_DIRNAME = "comparators";
+
+ /** name of directory containing SyntaxCheckers */
+ private static final String SYNTAX_CHECKERS_DIRNAME = "syntaxCheckers";
+
+ /** name of the directory containing Normalizers */
+ private static final String NORMALIZERS_DIRNAME = "normalizers";
+
+ private final SchemaEntityFactory factory = new SchemaEntityFactory();
private final File baseDirectory;
private final Map<String,Schema> schemaMap = new HashMap<String,Schema>();
private final FilenameFilter ldifFilter = new FilenameFilter()
{
public boolean accept( File file, String name )
{
- return name.endsWith( "ldif" );
+ return name.endsWith( LDIF_EXT );
}
};
@@ -82,7 +98,7 @@
baseDirectory.getAbsolutePath() + "' does not exist." );
}
- File schemaLdif = new File( baseDirectory, "schema.ldif" );
+ File schemaLdif = new File( baseDirectory, OU_SCHEMA_LDIF );
if ( ! schemaLdif.exists() )
{
throw new FileNotFoundException( "Expecting to find a schema.ldif file in provided baseDirectory " +
@@ -118,7 +134,7 @@
{
LdifReader reader = new LdifReader( new File( schemaDirectory, ldifFiles[ii] ) );
LdifEntry entry = reader.next();
- Schema schema = ldifToSchema( entry );
+ Schema schema = factory.getSchema( entry.getEntry() );
schemaMap.put( schema.getSchemaName(), schema );
if ( IS_DEBUG )
@@ -129,50 +145,109 @@
}
- private Schema ldifToSchema( LdifEntry entry ) throws Exception
+ public Schema getSchema( String schemaName ) throws Exception
{
- String name = entry.get( SchemaConstants.CN_AT ).getString();
+ return this.schemaMap.get( schemaName );
+ }
- boolean isDisabled = false;
- if ( entry.get( "m-disabled" ) != null )
- {
- isDisabled = Boolean.getBoolean( entry.get( "m-disabled" ).getString() );
- }
- String[] dependencies = null;
- if ( entry.get( "m-dependencies" ) != null )
+ public void loadWithDependencies( Collection<Schema> schemas, Registries registries ) throws Exception
+ {
+ Map<String,Schema> notLoaded = new HashMap<String,Schema>();
+
+ for ( Schema schema : schemas )
{
- dependencies = new String[ entry.get( "m-dependencies" ).size() ];
- int ii = 0;
- Iterator<Value<?>> list = entry.get( "m-dependencies" ).getAll();
- while ( list.hasNext() )
+ if ( ! registries.isSchemaLoaded( schema.getSchemaName() ) )
{
- dependencies[ii] = list.next().getString();
- ii++;
+ notLoaded.put( schema.getSchemaName(), schema );
}
}
-
- return new DefaultSchema( name, null, dependencies, isDisabled );
+
+ for ( Schema schema : notLoaded.values() )
+ {
+ Stack<String> beenthere = new Stack<String>();
+ super.loadDepsFirst( schema, beenthere, notLoaded, schema, registries );
+ }
}
- public Schema getSchema( String schemaName ) throws Exception
+ public void loadWithDependencies( Schema schema, Registries registries ) throws Exception
{
- return this.schemaMap.get( schemaName );
+ Stack<String> beenthere = new Stack<String>();
+ Map<String,Schema> notLoaded = new HashMap<String,Schema>();
+ notLoaded.put( schema.getSchemaName(), schema );
+ super.loadDepsFirst( schema, beenthere, notLoaded, schema, registries );
}
- public void loadWithDependencies( Collection<Schema> schemas, Registries registries ) throws Exception
+ public void load( Schema schema, Registries registries, boolean isDepLoad ) throws Exception
{
+ if ( registries.isSchemaLoaded( schema.getSchemaName() ) )
+ {
+ LOG.info( "Will not attempt to load already loaded '{}' " +
+ "schema: \n{}", schema.getSchemaName(), schema );
+ return;
+ }
+
+ LOG.info( "Loading {} schema: \n{}", schema.getSchemaName(), schema );
+
+ loadSyntaxCheckers( schema, registries );
+ loadComparators( schema, registries );
+ loadNormalizers( schema, registries );
+ }
+
+
+ private File getSchemaDirectory( Schema schema )
+ {
+ return new File( new File( baseDirectory, "schema" ),
+ schema.getSchemaName() );
+ }
+
+
+ private void loadComparators( Schema schema, Registries targetRegistries ) throws Exception
+ {
+ File comparatorsDirectory = new File( getSchemaDirectory( schema ),
+ COMPARATORS_DIRNAME );
+ File[] comparators = comparatorsDirectory.listFiles( ldifFilter );
+ for ( File ldifFile : comparators )
+ {
+ LdifReader reader = new LdifReader( ldifFile );
+ LdifEntry entry = reader.next();
+ LdapComparator<?> comparator =
+ factory.getLdapComparator( entry.getEntry(), targetRegistries );
+ targetRegistries.getComparatorRegistry().register( comparator );
+ }
}
-
-
- public void loadWithDependencies( Schema schemas, Registries registries ) throws Exception
+
+
+ private void loadSyntaxCheckers( Schema schema, Registries targetRegistries ) throws Exception
{
+ File syntaxCheckersDirectory = new File( getSchemaDirectory( schema ),
+ SYNTAX_CHECKERS_DIRNAME );
+ File[] syntaxCheckerFiles = syntaxCheckersDirectory.listFiles( ldifFilter );
+ for ( File ldifFile : syntaxCheckerFiles )
+ {
+ LdifReader reader = new LdifReader( ldifFile );
+ LdifEntry entry = reader.next();
+ SyntaxChecker syntaxChecker =
+ factory.getSyntaxChecker( entry.getEntry(), targetRegistries );
+ targetRegistries.getSyntaxCheckerRegistry().register( syntaxChecker );
+ }
}
-
-
- public void load( Schema schema, Registries registries, boolean isDepLoad ) throws Exception
+
+
+ private void loadNormalizers( Schema schema, Registries targetRegistries ) throws Exception
{
+ File normalizersDirectory = new File( getSchemaDirectory( schema ),
+ NORMALIZERS_DIRNAME );
+ File[] normalizerFiles = normalizersDirectory.listFiles( ldifFilter );
+ for ( File ldifFile : normalizerFiles )
+ {
+ LdifReader reader = new LdifReader( ldifFile );
+ LdifEntry entry = reader.next();
+ Normalizer normalizer =
+ factory.getNormalizer( entry.getEntry(), targetRegistries );
+ targetRegistries.getNormalizerRegistry().register( normalizer );
+ }
}
}
Copied: directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/SchemaEntityFactory.java (from r808371, directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/SchemaEntityFactory.java)
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/SchemaEntityFactory.java?p2=directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/SchemaEntityFactory.java&p1=directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/SchemaEntityFactory.java&r1=808371&r2=808483&rev=808483&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core/src/main/java/org/apache/directory/server/core/schema/SchemaEntityFactory.java (original)
+++ directory/apacheds/branches/apacheds-schema/schema-loader/src/main/java/org/apache/directory/server/schema/loader/ldif/SchemaEntityFactory.java Thu Aug 27 16:12:05 2009
@@ -17,7 +17,7 @@
* under the License.
*
*/
-package org.apache.directory.server.core.schema;
+package org.apache.directory.server.schema.loader.ldif;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -29,13 +29,12 @@
import javax.naming.NamingException;
import org.apache.directory.server.constants.MetaSchemaConstants;
-import org.apache.directory.server.core.entry.DefaultServerAttribute;
-import org.apache.directory.server.core.entry.ServerAttribute;
-import org.apache.directory.server.core.entry.ServerEntry;
import org.apache.directory.shared.ldap.schema.registries.Schema;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
+import org.apache.directory.shared.ldap.entry.Entry;
import org.apache.directory.shared.ldap.entry.EntryAttribute;
import org.apache.directory.shared.ldap.entry.Value;
+import org.apache.directory.shared.ldap.entry.client.DefaultClientAttribute;
import org.apache.directory.shared.ldap.exception.LdapNamingException;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.apache.directory.shared.ldap.schema.AttributeType;
@@ -73,24 +72,17 @@
private static final List<String> EMPTY_LIST = new ArrayList<String>();
private static final String[] EMPTY_ARRAY = new String[] {};
- /** Used for dependency injection of Registries via setter into schema objects */
- private final Registries bootstrapRegistries;
/** A special ClassLoader that loads a class from the bytecode attribute */
private final AttributeClassLoader classLoader;
- private final AttributeType oidAT;
- private final AttributeType byteCodeAT;
- public SchemaEntityFactory( Registries bootstrapRegistries ) throws NamingException
+ public SchemaEntityFactory() throws NamingException
{
- this.bootstrapRegistries = bootstrapRegistries;
this.classLoader = new AttributeClassLoader();
- this.oidAT = bootstrapRegistries.getAttributeTypeRegistry().lookup( MetaSchemaConstants.M_OID_AT );
- this.byteCodeAT = bootstrapRegistries.getAttributeTypeRegistry().lookup( MetaSchemaConstants.M_BYTECODE_AT );
}
- public Schema getSchema( ServerEntry entry ) throws NamingException
+ public Schema getSchema( Entry entry ) throws NamingException
{
String name;
String owner;
@@ -201,7 +193,7 @@
* @return the loaded SyntaxChecker
* @throws NamingException if anything fails during loading
*/
- public SyntaxChecker getSyntaxChecker( ServerEntry entry, Registries targetRegistries ) throws NamingException
+ public SyntaxChecker getSyntaxChecker( Entry entry, Registries targetRegistries ) throws NamingException
{
if ( entry == null )
{
@@ -215,22 +207,21 @@
}
String className = entry.get( MetaSchemaConstants.M_FQCN_AT ).get().getString();
- String syntaxOid = entry.get( oidAT ).get().getString();
- return getSyntaxChecker( syntaxOid, className, entry.get( byteCodeAT ),
- targetRegistries );
+ String syntaxOid = entry.get( MetaSchemaConstants.M_OID_AT ).get().getString();
+ return getSyntaxChecker( syntaxOid, className, entry.get(
+ MetaSchemaConstants.M_BYTECODE_AT ), targetRegistries );
}
public SyntaxChecker getSyntaxChecker( SyntaxCheckerDescription syntaxCheckerDescription,
Registries targetRegistries ) throws NamingException
{
- ServerAttribute attr = null;
+ EntryAttribute attr = null;
if ( syntaxCheckerDescription.getBytecode() != null )
{
byte[] bytecode = Base64.decode( syntaxCheckerDescription.getBytecode().toCharArray() );
- AttributeType byteCodeAT = targetRegistries.getAttributeTypeRegistry().lookup( MetaSchemaConstants.M_BYTECODE_AT );
- attr = new DefaultServerAttribute( byteCodeAT, bytecode );
+ attr = new DefaultClientAttribute( MetaSchemaConstants.M_BYTECODE_AT, bytecode );
}
return getSyntaxChecker( syntaxCheckerDescription.getOid(),
@@ -302,13 +293,12 @@
public LdapComparator<?> getLdapComparator( LdapComparatorDescription comparatorDescription, Registries targetRegistries )
throws NamingException
{
- ServerAttribute attr = null;
+ EntryAttribute attr = null;
if ( comparatorDescription.getBytecode() != null )
{
byte[] bytecode = Base64.decode( comparatorDescription.getBytecode().toCharArray() );
- AttributeType byteCodeAT = targetRegistries.getAttributeTypeRegistry().lookup( MetaSchemaConstants.M_BYTECODE_AT );
- attr = new DefaultServerAttribute( byteCodeAT, bytecode );
+ attr = new DefaultClientAttribute( MetaSchemaConstants.M_BYTECODE_AT, bytecode );
}
return getLdapComparator( comparatorDescription.getFqcn(), attr, targetRegistries );
@@ -322,7 +312,7 @@
* @return the loaded Comparator
* @throws NamingException if anything fails during loading
*/
- public LdapComparator<?> getLdapComparator( ServerEntry entry, Registries targetRegistries ) throws NamingException
+ public LdapComparator<?> getLdapComparator( Entry entry, Registries targetRegistries ) throws NamingException
{
if ( entry == null )
{
@@ -395,13 +385,12 @@
public Normalizer getNormalizer( NormalizerDescription normalizerDescription, Registries targetRegistries )
throws NamingException
{
- ServerAttribute attr = null;
+ EntryAttribute attr = null;
if ( normalizerDescription.getBytecode() != null )
{
byte[] bytecode = Base64.decode( normalizerDescription.getBytecode().toCharArray() );
- AttributeType byteCodeAT = targetRegistries.getAttributeTypeRegistry().lookup( MetaSchemaConstants.M_BYTECODE_AT );
- attr = new DefaultServerAttribute( byteCodeAT, bytecode );
+ attr = new DefaultClientAttribute( MetaSchemaConstants.M_BYTECODE_AT, bytecode );
}
return getNormalizer( normalizerDescription.getFqcn(), attr, targetRegistries );
@@ -415,7 +404,7 @@
* @return the loaded Normalizer
* @throws NamingException if anything fails during loading
*/
- public Normalizer getNormalizer( ServerEntry entry, Registries targetRegistries ) throws NamingException
+ public Normalizer getNormalizer( Entry entry, Registries targetRegistries ) throws NamingException
{
if ( entry == null )
{
@@ -453,7 +442,7 @@
return;
}
- Object[] args = new Object[] { this.bootstrapRegistries };
+ Object[] args = new Object[] { targetRegistries };
method.invoke( obj, args );
}
catch ( SecurityException e )
@@ -549,7 +538,7 @@
}
- public LdapSyntax getSyntax( ServerEntry entry, Registries targetRegistries, String schema ) throws NamingException
+ public LdapSyntax getSyntax( Entry entry, Registries targetRegistries, String schema ) throws NamingException
{
String oid = entry.get( MetaSchemaConstants.M_OID_AT ).getString();
LdapSyntax syntax = new LdapSyntax( oid );
@@ -570,7 +559,7 @@
}
- public MatchingRule getMatchingRule( ServerEntry entry, Registries targetRegistries, String schema ) throws NamingException
+ public MatchingRule getMatchingRule( Entry entry, Registries targetRegistries, String schema ) throws NamingException
{
String oid = entry.get( MetaSchemaConstants.M_OID_AT ).getString();
String syntaxOid = entry.get( MetaSchemaConstants.M_SYNTAX_AT ).getString();
@@ -601,7 +590,7 @@
}
- public ObjectClass getObjectClass( ServerEntry entry, Registries targetRegistries, String schema ) throws NamingException
+ public ObjectClass getObjectClass( Entry entry, Registries targetRegistries, String schema ) throws Exception
{
String oid = entry.get( MetaSchemaConstants.M_OID_AT ).getString();
ObjectClass oc = new ObjectClass( oid );
@@ -639,7 +628,7 @@
}
- public AttributeType getAttributeType( ServerEntry entry, Registries targetRegistries, String schema ) throws NamingException
+ public AttributeType getAttributeType( Entry entry, Registries targetRegistries, String schema ) throws NamingException
{
String oid = entry.get( MetaSchemaConstants.M_OID_AT ).getString();
AttributeType at = new AttributeType( oid );
@@ -700,7 +689,7 @@
}
- private void setSchemaObjectProperties( SchemaObject so, ServerEntry entry ) throws NamingException
+ private void setSchemaObjectProperties( SchemaObject so, Entry entry ) throws NamingException
{
if ( entry.get( MetaSchemaConstants.M_OBSOLETE_AT ) != null )
{
Modified: directory/project/branches/project-schema/resources/dictionary
URL: http://svn.apache.org/viewvc/directory/project/branches/project-schema/resources/dictionary?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/project/branches/project-schema/resources/dictionary (original)
+++ directory/project/branches/project-schema/resources/dictionary Thu Aug 27 16:12:05 2009
@@ -120,3 +120,6 @@
pamarcelot
szoerner
seelmann
+@directory.apache.org
+bytecode
+ou
Modified: directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/registries/AbstractSchemaLoader.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/registries/AbstractSchemaLoader.java?rev=808483&r1=808482&r2=808483&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/registries/AbstractSchemaLoader.java (original)
+++ directory/shared/branches/shared-schema/ldap/src/main/java/org/apache/directory/shared/ldap/schema/registries/AbstractSchemaLoader.java Thu Aug 27 16:12:05 2009
@@ -87,7 +87,7 @@
* failure results while loading, producing and or registering schema objects
*/
protected final void loadDepsFirst( Schema rootAncestor, Stack<String> beenthere, Map<String, Schema> notLoaded,
- Schema schema, Registries registries, Properties props ) throws Exception
+ Schema schema, Registries registries ) throws Exception
{
if ( registries.isSchemaLoaded( schema.getSchemaName() ) )
{
@@ -140,7 +140,7 @@
if ( dep == null )
{
// try to load dependency with the provided properties default
- dep = getSchema( depName, props );
+ dep = getSchema( depName );
}
if ( beenthere.contains( dep.getSchemaName() ) )