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 2004/10/15 08:36:48 UTC

svn commit: rev 54828 - incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema

Author: akarasulu
Date: Thu Oct 14 23:36:46 2004
New Revision: 54828

Modified:
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/AttributeTypeRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/ComparatorRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DITContentRuleRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DITStructureRuleRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultAttributeTypeRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultComparatorRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultDITContentRuleRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultDITStructureRuleRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultMatchingRuleRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultMatchingRuleUseRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultNameFormRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultNormalizerRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultObjectClassRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultSyntaxCheckerRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultSyntaxRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/MatchingRuleRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/MatchingRuleUseRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/NameFormRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/NormalizerRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/ObjectClassRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/SyntaxCheckerRegistry.java
   incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/SyntaxRegistry.java
Log:
Commit changes ...

 o altered register() methods of registries to take a schema name param
 o altered register() method implementations
   - added new lookup hash for oid:schema mappings
   - altered to match new signatures


Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/AttributeTypeRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/AttributeTypeRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/AttributeTypeRegistry.java	Thu Oct 14 23:36:46 2004
@@ -32,12 +32,13 @@
 {
     /**
      * Registers a new AttributeType with this registry.
-     * 
+     *
+     * @param schema the name of the schema the AttributeType is associated with
      * @param attributeType the AttributeType to register
      * @throws NamingException if the AttributeType is already registered or
      * the registration operation is not supported
      */
-    void register( AttributeType attributeType ) throws NamingException;
+    void register( String schema, AttributeType attributeType ) throws NamingException;
     
     /**
      * Looks up an AttributeType by its unique Object Identifier or by its

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/ComparatorRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/ComparatorRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/ComparatorRegistry.java	Thu Oct 14 23:36:46 2004
@@ -33,12 +33,13 @@
     /**
      * Registers a Comparator with this registry.
      * 
+     * @param schema the name of the schema the comparator is associated with
      * @param oid the object identifier
      * @param comparator the Comparator to register
      * @throws NamingException if the Comparator is already registered or the 
      *      registration operation is not supported
      */
-    void register( String oid, Comparator comparator ) throws NamingException;
+    void register( String schema, String oid, Comparator comparator ) throws NamingException;
     
     /**
      * Looks up a Comparator by its unique Object Identifier.

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DITContentRuleRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DITContentRuleRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DITContentRuleRegistry.java	Thu Oct 14 23:36:46 2004
@@ -33,11 +33,12 @@
     /**
      * Registers a DITContentRule with this registry.
      * 
+     * @param schema the name of the schema the DITContentRule is associated with
      * @param dITContentRule the DITContentRule to register
      * @throws NamingException if the DITContentRule is already registered or
      * the registration operation is not supported
      */
-    void register( DITContentRule dITContentRule ) throws NamingException;
+    void register( String schema, DITContentRule dITContentRule ) throws NamingException;
     
     /**
      * Looks up a DITContentRule by its object identifier or by its name.

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DITStructureRuleRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DITStructureRuleRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DITStructureRuleRegistry.java	Thu Oct 14 23:36:46 2004
@@ -33,11 +33,12 @@
     /**
      * Registers a DITStructureRule with this registry.
      * 
+     * @param schema the name of the schema the DITStructureRule is associated with
      * @param dITStructureRule the dITStructureRule to register
      * @throws NamingException if the DITStructureRule is already registered
      * or the registration operation is not supported
      */
-    void register( DITStructureRule dITStructureRule ) throws NamingException;
+    void register( String schema, DITStructureRule dITStructureRule ) throws NamingException;
     
     /**
      * Looks up an dITStructureRule by its unique Object IDentifier or by its

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultAttributeTypeRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultAttributeTypeRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultAttributeTypeRegistry.java	Thu Oct 14 23:36:46 2004
@@ -34,6 +34,8 @@
 {
     /** maps an OID to an AttributeType */
     private final Map byOid;
+    /** maps an OID to a schema name*/
+    private final Map oidToSchema;
     /** the registry used to resolve names to OIDs */
     private final OidRegistry oidRegistry;
     /** monitor notified via callback events */
@@ -51,6 +53,7 @@
     public DefaultAttributeTypeRegistry( OidRegistry oidRegistry )
     {
         this.byOid = new HashMap();
+        this.oidToSchema = new HashMap();
         this.oidRegistry = oidRegistry;
         this.monitor = new AttributeTypeRegistryMonitorAdapter();
     }
@@ -72,7 +75,7 @@
     // ------------------------------------------------------------------------
 
 
-    public void register( AttributeType attributeType ) throws NamingException
+    public void register( String schema, AttributeType attributeType ) throws NamingException
     {
         if ( byOid.containsKey( attributeType.getOid() ) )
         {
@@ -88,6 +91,7 @@
             oidRegistry.register( names[0], attributeType.getName() );
         }
 
+        oidToSchema.put( attributeType.getOid(), schema );
         byOid.put( attributeType.getOid(), attributeType );
         monitor.registered( attributeType );
     }

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultComparatorRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultComparatorRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultComparatorRegistry.java	Thu Oct 14 23:36:46 2004
@@ -33,6 +33,8 @@
 {
     /** the comparators in this registry */
     private final Map comparators;
+    /** maps an OID to a schema name*/
+    private final Map oidToSchema;
     /** the monitor for delivering callback events */
     private ComparatorRegistryMonitor monitor;
 
@@ -48,8 +50,9 @@
      */
     public DefaultComparatorRegistry()
     {
-        comparators = new HashMap();
-        monitor = new ComparatorRegistryMonitorAdapter();
+        this.oidToSchema = new HashMap();
+        this.comparators = new HashMap();
+        this.monitor = new ComparatorRegistryMonitorAdapter();
     }
 
 
@@ -69,7 +72,7 @@
     // ------------------------------------------------------------------------
 
 
-    public void register( String oid, Comparator comparator ) throws NamingException
+    public void register( String schema, String oid, Comparator comparator ) throws NamingException
     {
         if ( comparators.containsKey( oid ) )
         {
@@ -79,8 +82,9 @@
             throw e;
         }
 
-        monitor.registered( oid, comparator );
+        oidToSchema.put( oid, schema );
         comparators.put( oid, comparator );
+        monitor.registered( oid, comparator );
     }
 
 

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultDITContentRuleRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultDITContentRuleRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultDITContentRuleRegistry.java	Thu Oct 14 23:36:46 2004
@@ -34,6 +34,8 @@
 {
     /** maps an OID to an DITContentRule */
     private final Map byOid;
+    /** maps an OID to a schema name*/
+    private final Map oidToSchema;
     /** the registry used to resolve names to OIDs */
     private final OidRegistry oidRegistry;
     /** monitor notified via callback events */
@@ -51,6 +53,7 @@
     public DefaultDITContentRuleRegistry( OidRegistry oidRegistry )
     {
         this.byOid = new HashMap();
+        this.oidToSchema = new HashMap();
         this.oidRegistry = oidRegistry;
         this.monitor = new DITContentRuleRegistryMonitorAdapter();
     }
@@ -72,7 +75,7 @@
     // ------------------------------------------------------------------------
 
 
-    public void register( DITContentRule dITContentRule ) throws NamingException
+    public void register( String schema, DITContentRule dITContentRule ) throws NamingException
     {
         if ( byOid.containsKey( dITContentRule.getOid() ) )
         {
@@ -84,6 +87,7 @@
 
         oidRegistry.register( dITContentRule.getName(), dITContentRule.getOid() ) ;
         byOid.put( dITContentRule.getOid(), dITContentRule );
+        oidToSchema.put( dITContentRule.getOid(), schema );
         monitor.registered( dITContentRule );
     }
 

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultDITStructureRuleRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultDITStructureRuleRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultDITStructureRuleRegistry.java	Thu Oct 14 23:36:46 2004
@@ -34,6 +34,8 @@
 {
     /** maps an OID to an DITStructureRule */
     private final Map byOid;
+    /** maps an OID to a schema name*/
+    private final Map oidToSchema;
     /** the registry used to resolve names to OIDs */
     private final OidRegistry oidRegistry;
     /** monitor notified via callback events */
@@ -51,6 +53,7 @@
     public DefaultDITStructureRuleRegistry( OidRegistry oidRegistry )
     {
         this.byOid = new HashMap();
+        this.oidToSchema = new HashMap();
         this.monitor = new DITStructureRuleRegistryMonitorAdapter();
         this.oidRegistry = oidRegistry;
     }
@@ -72,7 +75,7 @@
     // ------------------------------------------------------------------------
 
 
-    public void register( DITStructureRule dITStructureRule ) throws NamingException
+    public void register( String schema, DITStructureRule dITStructureRule ) throws NamingException
     {
         if ( byOid.containsKey( dITStructureRule.getOid() ) )
         {
@@ -82,6 +85,7 @@
             throw e;
         }
 
+        oidToSchema.put( dITStructureRule.getOid(), schema );
         oidRegistry.register( dITStructureRule.getName(), dITStructureRule.getOid() );
         byOid.put( dITStructureRule.getOid(), dITStructureRule );
         monitor.registered( dITStructureRule );

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultMatchingRuleRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultMatchingRuleRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultMatchingRuleRegistry.java	Thu Oct 14 23:36:46 2004
@@ -35,6 +35,8 @@
 {
     /** a map using an OID for the key and a MatchingRule for the value */
     private final Map byOid;
+    /** maps an OID to a schema name*/
+    private final Map oidToSchema;
     /** the registry used to resolve names to OIDs */
     private final OidRegistry oidRegistry;
     /** a monitor used to track noteable registry events */
@@ -53,6 +55,7 @@
      */
     public DefaultMatchingRuleRegistry( OidRegistry oidRegistry )
     {
+        this.oidToSchema = new HashMap();
         this.oidRegistry = oidRegistry;
         this.byOid = new HashMap();
         this.monitor = new MatchingRuleRegistryMonitorAdapter();
@@ -85,9 +88,9 @@
     
 
     /**
-     * @see MatchingRuleRegistry#register(MatchingRule)
+     * @see MatchingRuleRegistry#register(String, MatchingRule)
      */
-    public void register( MatchingRule matchingRule ) throws NamingException
+    public void register( String schema, MatchingRule matchingRule ) throws NamingException
     {
         if ( byOid.containsKey( matchingRule.getOid() ) )
         {
@@ -97,6 +100,7 @@
             throw e;
         }
 
+        oidToSchema.put( matchingRule.getOid(), schema );
         oidRegistry.register( matchingRule.getName(), matchingRule.getOid() );
         byOid.put( matchingRule.getOid(), matchingRule );
         monitor.registered( matchingRule );

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultMatchingRuleUseRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultMatchingRuleUseRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultMatchingRuleUseRegistry.java	Thu Oct 14 23:36:46 2004
@@ -34,6 +34,8 @@
 {
     /** maps a name to an MatchingRuleUse */
     private final Map byName;
+    /** maps a MatchingRuleUse name to a schema name*/
+    private final Map nameToSchema;
     /** monitor notified via callback events */
     private MatchingRuleUseRegistryMonitor monitor;
 
@@ -48,8 +50,9 @@
      */
     public DefaultMatchingRuleUseRegistry()
     {
-        byName = new HashMap();
-        monitor = new MatchingRuleUseRegistryMonitorAdapter();
+        this.byName = new HashMap();
+        this.nameToSchema = new HashMap();
+        this.monitor = new MatchingRuleUseRegistryMonitorAdapter();
     }
 
 
@@ -69,18 +72,19 @@
     // ------------------------------------------------------------------------
 
 
-    public void register( String name, MatchingRuleUse matchingRuleUse )
+    public void register( String schema, MatchingRuleUse matchingRuleUse )
         throws NamingException
     {
-        if ( byName.containsKey( name ) )
+        if ( byName.containsKey( matchingRuleUse.getName() ) )
         {
             NamingException e = new NamingException( "matchingRuleUse w/ name "
-                + name + " has already been registered!" );
+                + matchingRuleUse.getName() + " has already been registered!" );
             monitor.registerFailed( matchingRuleUse, e );
             throw e;
         }
 
-        byName.put( name, matchingRuleUse );
+        nameToSchema.put( matchingRuleUse.getName(), schema );
+        byName.put( matchingRuleUse.getName(), matchingRuleUse );
         monitor.registered( matchingRuleUse );
     }
 

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultNameFormRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultNameFormRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultNameFormRegistry.java	Thu Oct 14 23:36:46 2004
@@ -34,6 +34,8 @@
 {
     /** maps an OID to an NameForm */
     private final Map byOid;
+    /** maps an OID to a schema name*/
+    private final Map oidToSchema;
     /** the registry used to resolve names to OIDs */
     private final OidRegistry oidRegistry;
     /** monitor notified via callback events */
@@ -51,6 +53,7 @@
     public DefaultNameFormRegistry( OidRegistry oidRegistry )
     {
         this.byOid = new HashMap();
+        this.oidToSchema = new HashMap();
         this.oidRegistry = oidRegistry;
         this.monitor = new NameFormRegistryMonitorAdapter();
     }
@@ -72,7 +75,7 @@
     // ------------------------------------------------------------------------
 
 
-    public void register( NameForm nameForm ) throws NamingException
+    public void register( String schema, NameForm nameForm ) throws NamingException
     {
         if ( byOid.containsKey( nameForm.getOid() ) )
         {
@@ -82,6 +85,7 @@
             throw e;
         }
 
+        oidToSchema.put( nameForm.getOid(), schema );
         oidRegistry.register( nameForm.getName(), nameForm.getOid() );
         byOid.put( nameForm.getOid(), nameForm );
         monitor.registered( nameForm );

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultNormalizerRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultNormalizerRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultNormalizerRegistry.java	Thu Oct 14 23:36:46 2004
@@ -34,6 +34,8 @@
 {
     /** a map of Normalizers looked up by OID */
     private final Map byOid;
+    /** maps an OID to a schema name*/
+    private final Map oidToSchema;
     /** the monitor used to deliver callback notification events */
     private NormalizerRegistryMonitor monitor;
 
@@ -48,8 +50,9 @@
      */
     public DefaultNormalizerRegistry()
     {
-        byOid = new HashMap();
-        monitor = new NormalizerRegistryMonitorAdapter();
+        this.byOid = new HashMap();
+        this.oidToSchema = new HashMap();
+        this.monitor = new NormalizerRegistryMonitorAdapter();
     }
 
 
@@ -69,7 +72,7 @@
     // ------------------------------------------------------------------------
 
 
-    public void register( String oid, Normalizer normalizer )
+    public void register( String schema, String oid, Normalizer normalizer )
         throws NamingException
     {
         if ( byOid.containsKey( oid ) )
@@ -80,6 +83,7 @@
             throw e;
         }
 
+        oidToSchema.put( oid, schema );
         byOid.put( oid, normalizer );
         monitor.registered( oid, normalizer );
     }

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultObjectClassRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultObjectClassRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultObjectClassRegistry.java	Thu Oct 14 23:36:46 2004
@@ -34,6 +34,8 @@
 {
     /** maps an OID to an ObjectClass */
     private final Map byOid;
+    /** maps an OID to a schema name*/
+    private final Map oidToSchema;
     /** the registry used to resolve names to OIDs */
     private final OidRegistry oidRegistry;
     /** monitor notified via callback events */
@@ -51,6 +53,7 @@
     public DefaultObjectClassRegistry( OidRegistry oidRegistry )
     {
         this.byOid = new HashMap();
+        this.oidToSchema = new HashMap();
         this.oidRegistry = oidRegistry;
         this.monitor = new ObjectClassRegistryMonitorAdapter();
     }
@@ -72,7 +75,7 @@
     // ------------------------------------------------------------------------
 
 
-    public void register( ObjectClass objectClass ) throws NamingException
+    public void register( String schema, ObjectClass objectClass ) throws NamingException
     {
         if ( byOid.containsKey( objectClass.getOid() ) )
         {
@@ -84,6 +87,7 @@
 
         oidRegistry.register( objectClass.getName(), objectClass.getOid() );
         byOid.put( objectClass.getOid(), objectClass );
+        oidToSchema.put( objectClass.getOid(), schema );
         monitor.registered( objectClass );
     }
 

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultSyntaxCheckerRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultSyntaxCheckerRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultSyntaxCheckerRegistry.java	Thu Oct 14 23:36:46 2004
@@ -34,6 +34,8 @@
 {
     /** a map by OID of SyntaxCheckers */
     private final Map byOid;
+    /** maps an OID to a schema name*/
+    private final Map oidToSchema;
     /** the monitor to use for callback event notifications */
     private SyntaxCheckerRegistryMonitor monitor;
 
@@ -48,8 +50,9 @@
      */
     public DefaultSyntaxCheckerRegistry()
     {
-        byOid = new HashMap();
-        monitor = new SyntaxCheckerRegistryMonitorAdapter();
+        this.byOid = new HashMap();
+        this.oidToSchema = new HashMap();
+        this.monitor = new SyntaxCheckerRegistryMonitorAdapter();
     }
 
 
@@ -69,7 +72,7 @@
     // ------------------------------------------------------------------------
 
 
-    public void register( String oid, SyntaxChecker syntaxChecker )
+    public void register( String schema, String oid, SyntaxChecker syntaxChecker )
         throws NamingException
     {
         if ( byOid.containsKey( oid ) )
@@ -81,6 +84,7 @@
         }
 
         byOid.put( oid, syntaxChecker );
+        oidToSchema.put( oid, schema );
         monitor.registered( oid, syntaxChecker );
     }
 

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultSyntaxRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultSyntaxRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/DefaultSyntaxRegistry.java	Thu Oct 14 23:36:46 2004
@@ -36,6 +36,8 @@
 {
     /** a map of entries using an OID for the key and a Syntax for the value */
     private final Map byOid;
+    /** maps an OID to a schema name*/
+    private final Map oidToSchema;
     /** the OID oidRegistry this oidRegistry uses to register new syntax OIDs */
     private final OidRegistry oidRegistry;
     /** a monitor used to track noteable oidRegistry events */
@@ -52,9 +54,10 @@
      */
     public DefaultSyntaxRegistry( OidRegistry registry )
     {
-        this.monitor = new SyntaxRegistryMonitorAdapter();
         this.oidRegistry = registry;
         this.byOid = new HashMap();
+        this.oidToSchema = new HashMap();
+        this.monitor = new SyntaxRegistryMonitorAdapter();
     }
     
 
@@ -84,9 +87,9 @@
     
 
     /**
-     * @see SyntaxRegistry#register(Syntax)
+     * @see SyntaxRegistry#register(String,Syntax)
      */
-    public void register( Syntax syntax ) throws NamingException
+    public void register( String schema, Syntax syntax ) throws NamingException
     {
         if ( byOid.containsKey( syntax.getOid() ) )
         {
@@ -98,6 +101,7 @@
 
         oidRegistry.register( syntax.getName(), syntax.getOid() );
         byOid.put( syntax.getOid(), syntax );
+        oidToSchema.put( syntax.getOid(), schema );
         monitor.registered( syntax );
     }
 

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/MatchingRuleRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/MatchingRuleRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/MatchingRuleRegistry.java	Thu Oct 14 23:36:46 2004
@@ -33,11 +33,12 @@
     /**
      * Registers a MatchingRule with this registry.
      * 
+     * @param schema the name of the schema the MatchingRule is associated with
      * @param matchingRule the MatchingRule to register
      * @throws NamingException if the matchingRule is already registered or the 
      * registration operation is not supported
      */
-    void register( MatchingRule matchingRule ) throws NamingException;
+    void register( String schema, MatchingRule matchingRule ) throws NamingException;
     
     /**
      * Looks up a MatchingRule by its unique Object Identifier or by name.

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/MatchingRuleUseRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/MatchingRuleUseRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/MatchingRuleUseRegistry.java	Thu Oct 14 23:36:46 2004
@@ -33,12 +33,12 @@
     /**
      * Registers a MatchingRuleUse with this registry.
      *
-     * @param name the name of the matchingRuleUse
+     * @param schema the name of the schema the MatchingRuleUse is associated with
      * @param matchingRuleUse the matchingRuleUse to register
      * @throws NamingException if the MatchingRuleUse is already registered or
      * the registration operation is not supported
      */
-    void register( String name, MatchingRuleUse matchingRuleUse ) throws NamingException;
+    void register( String schema, MatchingRuleUse matchingRuleUse ) throws NamingException;
     
     /**
      * Looks up an matchingRuleUse by its name.

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/NameFormRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/NameFormRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/NameFormRegistry.java	Thu Oct 14 23:36:46 2004
@@ -33,11 +33,12 @@
     /**
      * Registers a NameForm with this registry.
      * 
+     * @param schema the name of the schema the NameForm is associated with
      * @param nameForm the nameForm to register
      * @throws NamingException if the NameForm is already registered or the
      * registration operation is not supported
      */
-    void register( NameForm nameForm ) throws NamingException;
+    void register( String schema, NameForm nameForm ) throws NamingException;
     
     /**
      * Looks up a nameForm by its unique Object Identifier or by name.

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/NormalizerRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/NormalizerRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/NormalizerRegistry.java	Thu Oct 14 23:36:46 2004
@@ -33,11 +33,12 @@
     /**
      * Registers a Normalizer with this registry.
      * 
+     * @param schema the name of the schema the Normalizer is associated with
      * @param normalizer the Normalizer to register
      * @throws NamingException if the Normalizer is already registered or the
      *      registration operation is not supported
      */
-    void register( String oid, Normalizer normalizer ) throws NamingException;
+    void register( String schema, String oid, Normalizer normalizer ) throws NamingException;
     
     /**
      * Looks up a Normalizer by its unique Object Identifier.

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/ObjectClassRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/ObjectClassRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/ObjectClassRegistry.java	Thu Oct 14 23:36:46 2004
@@ -33,11 +33,12 @@
     /**
      * Registers an ObjectClass with this registry.
      *
+     * @param schema the name of the schema the ObjectClass is associated with
      * @param objectClass the objectClass to register
      * @throws NamingException if the ObjectClass is already registered or the
      * registration operation is not supported
      */
-    void register( ObjectClass objectClass ) throws NamingException;
+    void register( String schema, ObjectClass objectClass ) throws NamingException;
 
     /**
      * Looks up an objectClass by its unique Object Identifier or by name.

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/SyntaxCheckerRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/SyntaxCheckerRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/SyntaxCheckerRegistry.java	Thu Oct 14 23:36:46 2004
@@ -33,11 +33,12 @@
     /**
      * Registers a SyntaxChecker with this registry.
      * 
+     * @param schema the name of the schema the SyntaxChecker is associated with
      * @param syntaxChecker the SyntaxChecker to register
      * @throws NamingException if the SyntaxChecker is already registered or the
      *      registration operation is not supported
      */
-    void register( String oid, SyntaxChecker syntaxChecker )
+    void register( String schema, String oid, SyntaxChecker syntaxChecker )
         throws NamingException;
     
     /**

Modified: incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/SyntaxRegistry.java
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/SyntaxRegistry.java	(original)
+++ incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/SyntaxRegistry.java	Thu Oct 14 23:36:46 2004
@@ -43,11 +43,12 @@
     /**
      * Registers a Syntax with this registry.  
      * 
+     * @param schema the name of the schema the Syntax is associated with
      * @param syntax the Syntax to register
      * @throws NamingException if the syntax is already registered or the 
      * registration operation is not supported
      */
-    void register( Syntax syntax ) throws NamingException;
+    void register( String schema, Syntax syntax ) throws NamingException;
 
     /**
      * Checks to see if a Syntax exists.  Backing store failures simply return