Author: akarasulu
Date: Thu Oct 21 22:36:49 2004
New Revision: 55308
Added:
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/EveComparatorProducer.java
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/EveMatchingRuleProducer.java
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/EveNormalizerProducer.java
Modified:
incubator/directory/eve/trunk/backend/core/project.properties
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/AbstractContextPartition.java
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/SystemMatchingRuleProducer.java
incubator/directory/eve/trunk/backend/core/src/schema/eve.schema
Log:
Commit changes ...
o added eve.schema matching rules with associated normalizers and comparators
o cleaned up docos in abst ctx partition
o made caseExactMatch and caseExactIA5Match synonymous (THIS MAY BE A MISTAKE)
o eve.schema only depends on the system schema
Notes ...
If there are weird behavoirs down the road investigate undoing the add
of caseExactMatch to the caseExactIA5Match attribute.
Modified: incubator/directory/eve/trunk/backend/core/project.properties
==============================================================================
--- incubator/directory/eve/trunk/backend/core/project.properties
(original)
+++ incubator/directory/eve/trunk/backend/core/project.properties Thu Oct
21 22:36:49 2004
@@ -21,7 +21,7 @@
maven.eve.schema.deps.corba=system,core
maven.eve.schema.deps.core=system
maven.eve.schema.deps.cosine=system,core
-maven.eve.schema.deps.eve=system,core
+maven.eve.schema.deps.eve=system
maven.eve.schema.deps.inetorgperson=system,core,cosine
maven.eve.schema.deps.java=system,core
maven.eve.schema.deps.krb5kdc=system,core
Modified:
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/AbstractContextPartition.java
==============================================================================
---
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/AbstractContextPartition.java
(original)
+++
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/AbstractContextPartition.java
Thu Oct 21 22:36:49 2004
@@ -70,10 +70,13 @@
1.2.6.1.4.1.18060.1.1.1.3
- * 1.2.6.1.4.1.18060.1.1.1.3.1 - _ndn
- * 1.2.6.1.4.1.18060.1.1.1.3.2 - _updn
- * 1.2.6.1.4.1.18060.1.1.1.3.3 - _existance
- * 1.2.6.1.4.1.18060.1.1.1.3.4 - _hierarchy
+ * 1.2.6.1.4.1.18060.1.1.1.3.1 - eveNdn
+ * 1.2.6.1.4.1.18060.1.1.1.3.2 - eveUpdn
+ * 1.2.6.1.4.1.18060.1.1.1.3.3 - eveExistance
+ * 1.2.6.1.4.1.18060.1.1.1.3.4 - eveHierarchy
+ * 1.2.6.1.4.1.18060.1.1.1.3.5 - eveOneAlias
+ * 1.2.6.1.4.1.18060.1.1.1.3.6 - eveSubAlias
+ * 1.2.6.1.4.1.18060.1.1.1.3.7 - eveAlias
The following branch is reserved for use by eve ObjectClasses:
Added:
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/EveComparatorProducer.java
==============================================================================
--- (empty file)
+++
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/EveComparatorProducer.java
Thu Oct 21 22:36:49 2004
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.eve.schema.bootstrap;
+
+
+import java.util.Comparator;
+import javax.naming.NamingException;
+
+import org.apache.ldap.common.schema.ComparableComparator;
+
+
+
+/**
+ * A producer of Comparator objects for the eve schema.
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class EveComparatorProducer extends AbstractBootstrapProducer
+{
+ public EveComparatorProducer()
+ {
+ super( ProducerTypeEnum.COMPARATOR_PRODUCER );
+ }
+
+
+ // ------------------------------------------------------------------------
+ // BootstrapProducer Methods
+ // ------------------------------------------------------------------------
+
+
+ /**
+ * @see BootstrapProducer#produce(BootstrapRegistries, ProducerCallback)
+ */
+ public void produce( BootstrapRegistries registries, ProducerCallback cb )
+ throws NamingException
+ {
+ Comparator comparator;
+
+ // For exactDnAsStringMatch -> 1.2.6.1.4.1.18060.1.1.1.2.1
+ comparator = new ComparableComparator();
+ cb.schemaObjectProduced( this, "1.2.6.1.4.1.18060.1.1.1.2.1",
comparator );
+
+ }
+}
Added:
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/EveMatchingRuleProducer.java
==============================================================================
--- (empty file)
+++
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/EveMatchingRuleProducer.java
Thu Oct 21 22:36:49 2004
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.eve.schema.bootstrap;
+
+
+import javax.naming.NamingException;
+
+
+
+/**
+ * A producer of MatchingRule objects for the eve schema.
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class EveMatchingRuleProducer extends AbstractBootstrapProducer
+{
+ public EveMatchingRuleProducer()
+ {
+ super( ProducerTypeEnum.MATCHING_RULE_PRODUCER );
+ }
+
+
+ // ------------------------------------------------------------------------
+ // BootstrapProducer Methods
+ // ------------------------------------------------------------------------
+
+
+ /**
+ * @see BootstrapProducer#produce(BootstrapRegistries, ProducerCallback)
+ */
+ public void produce( BootstrapRegistries registries, ProducerCallback cb )
+ throws NamingException
+ {
+ BootstrapMatchingRule mrule = null;
+
+ mrule = new BootstrapMatchingRule( "1.2.6.1.4.1.18060.1.1.1.2.1",
registries );
+ mrule.setNames( new String[] { "exactDnAsStringMatch" } );
+ mrule.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.12" );
+ cb.schemaObjectProduced( this, mrule.getOid(), mrule );
+
+ }
+}
Added:
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/EveNormalizerProducer.java
==============================================================================
--- (empty file)
+++
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/EveNormalizerProducer.java
Thu Oct 21 22:36:49 2004
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.eve.schema.bootstrap;
+
+
+import javax.naming.NamingException;
+
+import org.apache.ldap.common.schema.Normalizer;
+import org.apache.ldap.common.schema.NoOpNormalizer;
+
+
+
+/**
+ * A producer of Normalizer objects for the eve schema.
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class EveNormalizerProducer extends AbstractBootstrapProducer
+{
+ public EveNormalizerProducer()
+ {
+ super( ProducerTypeEnum.NORMALIZER_PRODUCER );
+ }
+
+
+ // ------------------------------------------------------------------------
+ // BootstrapProducer Methods
+ // ------------------------------------------------------------------------
+
+
+ /**
+ * @see BootstrapProducer#produce(BootstrapRegistries, ProducerCallback)
+ */
+ public void produce( BootstrapRegistries registries, ProducerCallback cb )
+ throws NamingException
+ {
+ Normalizer normalizer;
+
+ // For exactDnAsStringMatch -> 1.2.6.1.4.1.18060.1.1.1.2.1
+ normalizer = new NoOpNormalizer();
+ cb.schemaObjectProduced( this, "1.2.6.1.4.1.18060.1.1.1.2.1",
normalizer );
+
+ }
+}
Modified:
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/SystemMatchingRuleProducer.java
==============================================================================
---
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/SystemMatchingRuleProducer.java
(original)
+++
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/SystemMatchingRuleProducer.java
Thu Oct 21 22:36:49 2004
@@ -216,7 +216,7 @@
cb.schemaObjectProduced( this, mrule.getOid(), mrule );
mrule = new BootstrapMatchingRule( "1.3.6.1.4.1.1466.109.114.1",
registries );
- mrule.setNames( new String[] { "caseExactIA5Match" } );
+ mrule.setNames( new String[] { "caseExactIA5Match", "caseExactMatch" }
);
mrule.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.26" );
cb.schemaObjectProduced( this, mrule.getOid(), mrule );
Modified: incubator/directory/eve/trunk/backend/core/src/schema/eve.schema
==============================================================================
--- incubator/directory/eve/trunk/backend/core/src/schema/eve.schema
(original)
+++ incubator/directory/eve/trunk/backend/core/src/schema/eve.schema Thu Oct
21 22:36:49 2004
@@ -1,10 +1,72 @@
+# =============================================================================
+# Eve Schema
+# =============================================================================
#
-# Eve Schema
-#
+# +-----------------------------+--------------+
+# | Eve AttributeType OID | name |
+# +-----------------------------+--------------+
+# | 1.2.6.1.4.1.18060.1.1.1.3.1 | eveNdn |
+# | 1.2.6.1.4.1.18060.1.1.1.3.2 | eveUpdn |
+# | 1.2.6.1.4.1.18060.1.1.1.3.3 | eveExistance |
+# | 1.2.6.1.4.1.18060.1.1.1.3.4 | eveHierarchy |
+# | 1.2.6.1.4.1.18060.1.1.1.3.5 | eveOneAlias |
+# | 1.2.6.1.4.1.18060.1.1.1.3.6 | eveSubAlias |
+# | 1.2.6.1.4.1.18060.1.1.1.3.7 | eveAlias |
+# +-----------------------------+--------------+
+# =============================================================================
-#attributetype ( 1.2.6.1.4.1.18060.1.1.1.3.1 NAME '_ndn'
-# DESC 'A DN whose values are deepTrimToLower() normalized'
-# SUP distinguishedName
-# EQUALITY 1.2.6.1.4.1.18060.1.1.1.2.1
-# SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
-#
+
+attributetype ( 1.2.6.1.4.1.18060.1.1.1.3.1 NAME 'eveNdn'
+ DESC 'Index attribute DN whose values are normalized based on schema'
+ SUP distinguishedName
+ EQUALITY distinguishedNameMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
+ SINGLE-VALUE
+ NO-USER-MODIFICATION
+ USAGE dSAOperation )
+
+attributetype ( 1.2.6.1.4.1.18060.1.1.1.3.2 NAME 'eveUpdn'
+ DESC 'Index attribute for DN whose values are NOT normalized in any way'
+ EQUALITY exactDnAsStringMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
+ SINGLE-VALUE
+ NO-USER-MODIFICATION
+ USAGE dSAOperation )
+
+attributetype ( 1.2.6.1.4.1.18060.1.1.1.3.3 NAME 'eveExistance'
+ DESC 'Index attribute used to track the existence of attributes'
+ SUP name
+ EQUALITY caseIgnoreMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+ NO-USER-MODIFICATION
+ USAGE dSAOperation )
+
+attributetype ( 1.2.6.1.4.1.18060.1.1.1.3.4 NAME 'eveHierarchy'
+ DESC 'Index attribute used to track the DIT hierarchy'
+ EQUALITY integerMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+ NO-USER-MODIFICATION
+ USAGE dSAOperation )
+
+attributetype ( 1.2.6.1.4.1.18060.1.1.1.3.5 NAME 'eveOnealias'
+ DESC 'Index attribute used to track single level aliases'
+ EQUALITY integerMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+ NO-USER-MODIFICATION
+ USAGE dSAOperation )
+
+attributetype ( 1.2.6.1.4.1.18060.1.1.1.3.6 NAME 'eveSubalias'
+ DESC 'Index attribute used to track single level aliases'
+ EQUALITY integerMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+ NO-USER-MODIFICATION
+ USAGE dSAOperation )
+
+attributetype ( 1.2.6.1.4.1.18060.1.1.1.3.7 NAME 'eveAlias'
+ DESC 'asdf'
+ SUP distinguishedName
+ EQUALITY distinguishedNameMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
+ SINGLE-VALUE
+ NO-USER-MODIFICATION
+ USAGE dSAOperation )