1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.api.ldap.model.schema.normalizers;
21
22
23 import org.apache.directory.api.ldap.model.constants.SchemaConstants;
24 import org.apache.directory.api.ldap.model.entry.StringValue;
25 import org.apache.directory.api.ldap.model.entry.Value;
26 import org.apache.directory.api.ldap.model.exception.LdapException;
27 import org.apache.directory.api.ldap.model.schema.Normalizer;
28 import org.apache.directory.api.util.Strings;
29
30
31
32
33
34
35
36 @SuppressWarnings("serial")
37 public class ObjectIdentifierNormalizer extends Normalizer
38 {
39
40
41
42 public ObjectIdentifierNormalizer()
43 {
44 super( SchemaConstants.OBJECT_IDENTIFIER_MATCH_MR_OID );
45 }
46
47
48
49
50
51 public Value<?> normalize( Value<?> value ) throws LdapException
52 {
53 if ( value == null )
54 {
55 return null;
56 }
57
58 String str = value.getString().trim();
59
60 if ( str.length() == 0 )
61 {
62 return new StringValue( "" );
63 }
64 else if ( Character.isDigit( str.charAt( 0 ) ) )
65 {
66
67 return new StringValue( str );
68 }
69 else
70 {
71 return new StringValue( Strings.toLowerCase( str ) );
72 }
73 }
74
75
76
77
78
79 public String normalize( String value ) throws LdapException
80 {
81 if ( value == null )
82 {
83 return null;
84 }
85
86 String str = value.trim();
87
88 if ( str.length() == 0 )
89 {
90 return "";
91 }
92 else if ( Character.isDigit( str.charAt( 0 ) ) )
93 {
94
95 return str;
96 }
97 else
98 {
99 return Strings.toLowerCase( str );
100 }
101 }
102 }