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 @Override
52 public Value<?> normalize( Value<?> value ) throws LdapException
53 {
54 if ( value == null )
55 {
56 return null;
57 }
58
59 String str = value.getString().trim();
60
61 if ( str.length() == 0 )
62 {
63 return new StringValue( "" );
64 }
65 else if ( Character.isDigit( str.charAt( 0 ) ) )
66 {
67
68 return new StringValue( str );
69 }
70 else
71 {
72 return new StringValue( Strings.toLowerCaseAscii( str ) );
73 }
74 }
75
76
77
78
79
80 @Override
81 public String normalize( String value ) throws LdapException
82 {
83 if ( value == null )
84 {
85 return null;
86 }
87
88 String str = value.trim();
89
90 if ( str.length() == 0 )
91 {
92 return "";
93 }
94 else if ( Character.isDigit( str.charAt( 0 ) ) )
95 {
96
97 return str;
98 }
99 else
100 {
101 return Strings.toLowerCaseAscii( str );
102 }
103 }
104 }