View Javadoc

1   /*
2    *   Copyright 2004 The Apache Software Foundation
3    *
4    *   Licensed under the Apache License, Version 2.0 (the "License");
5    *   you may not use this file except in compliance with the License.
6    *   You may obtain a copy of the License at
7    *
8    *       http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *   Unless required by applicable law or agreed to in writing, software
11   *   distributed under the License is distributed on an "AS IS" BASIS,
12   *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *   See the License for the specific language governing permissions and
14   *   limitations under the License.
15   *
16   */
17  package org.apache.ldap.server.schema.bootstrap;
18  
19  
20  import org.apache.ldap.common.schema.CachingNormalizer;
21  import org.apache.ldap.common.schema.DeepTrimNormalizer;
22  import org.apache.ldap.common.schema.DeepTrimToLowerNormalizer;
23  import org.apache.ldap.common.schema.Normalizer;
24  
25  import javax.naming.NamingException;
26  
27  
28  
29  /***
30   * A producer of Normalizer objects for the inetorgperson schema.  This code has been
31   * automatically generated using schema files in the OpenLDAP format along with
32   * the eve schema plugin for maven.  This has been done to facilitate
33   * Eve<->OpenLDAP schema interoperability.
34   *
35   * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
36   * @version $Rev: 159259 $
37   */
38  public class InetorgpersonNormalizerProducer extends AbstractBootstrapProducer
39  {
40      public InetorgpersonNormalizerProducer()
41      {
42          super( ProducerTypeEnum.NORMALIZER_PRODUCER );
43      }
44  
45  
46      // ------------------------------------------------------------------------
47      // BootstrapProducer Methods
48      // ------------------------------------------------------------------------
49  
50  
51      /***
52       * @see BootstrapProducer#produce(BootstrapRegistries, ProducerCallback)
53       */
54      public void produce( BootstrapRegistries registries, ProducerCallback cb )
55          throws NamingException
56      {
57          /*
58           * Straight out of RFC 2798 for InetOrgPerson: Section 9.3.3
59           * =========================================================
60  
61              ( 2.5.13.5 NAME 'caseExactMatch'
62                SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
63  
64              ( 2.5.13.7 NAME 'caseExactSubstringsMatch'
65                SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
66  
67              ( 2.5.13.12 NAME 'caseIgnoreListSubstringsMatch'
68                SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
69          */
70  
71          Normalizer normalizer;
72  
73          normalizer = new CachingNormalizer( new DeepTrimNormalizer() );
74          cb.schemaObjectProduced( this, "2.5.13.5", normalizer );
75  
76          normalizer = new CachingNormalizer( new DeepTrimNormalizer() );
77          cb.schemaObjectProduced( this, "2.5.13.7", normalizer );
78  
79          normalizer = new CachingNormalizer( new DeepTrimToLowerNormalizer() );
80          cb.schemaObjectProduced( this, "2.5.13.12", normalizer );
81  
82          /*
83           * Straight out of RFC 2798 for InetOrgPerson: Section 9.3.4
84           * =========================================================
85  
86              ( 1.3.6.1.4.1.1466.109.114.3 NAME 'caseIgnoreIA5SubstringsMatch'
87                SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
88          */
89  
90          normalizer = new CachingNormalizer( new DeepTrimToLowerNormalizer() );
91          cb.schemaObjectProduced( this, "1.3.6.1.4.1.1466.109.114.3", normalizer );
92  
93      }
94  }