use of org.apache.directory.api.ldap.model.schema.Normalizer in project directory-ldap-api by apache.
the class ConcreteNameComponentNormalizer method normalizeByName.
/**
* {@inheritDoc}
*/
@Override
public Object normalizeByName(AttributeType attributeType, String value) throws LdapException {
MatchingRule mrule = attributeType.getEquality();
Normalizer normalizer;
if (mrule == null) {
return new NoOpNormalizer(attributeType.getOid());
} else {
normalizer = attributeType.getEquality().getNormalizer();
}
if (attributeType.getSyntax().isHumanReadable()) {
return normalizer.normalize(value);
} else {
String unescaped = unescape(value);
return normalizer.normalize(unescaped);
}
}
use of org.apache.directory.api.ldap.model.schema.Normalizer in project directory-ldap-api by apache.
the class DeepTrimToLowerNormalizerTest method testSpeed.
@Test
@Ignore
public void testSpeed() throws Exception {
Normalizer normalizer = new DeepTrimToLowerNormalizer();
String t = "xs crvtbynU Jikl7897A90";
normalizer.normalize(t);
long t0 = System.currentTimeMillis();
for (int i = 0; i < 100000000; i++) {
normalizer.normalize(t);
}
long t1 = System.currentTimeMillis();
System.out.println(t1 - t0);
Strings.deepTrimToLower(t);
t0 = System.currentTimeMillis();
for (int i = 0; i < 100000000; i++) {
Strings.deepTrimToLower(t);
}
t1 = System.currentTimeMillis();
System.out.println(t1 - t0);
}
use of org.apache.directory.api.ldap.model.schema.Normalizer in project directory-ldap-api by apache.
the class DeepTrimToLowerNormalizerTest method testInsignifiantSpacesStringNCombining.
@Test
public void testInsignifiantSpacesStringNCombining() throws LdapException {
Normalizer normalizer = new DeepTrimToLowerNormalizer("1.1.1");
char[] chars = new char[] { 'e', 0x0301, ' ', 'a', 0x0300, 'i', 0x0302 };
char[] expected = new char[] { ' ', '\u00E9', ' ', ' ', '\u00E0', '\u00EE', ' ' };
assertEquals(new String(expected), normalizer.normalize(new String(chars)));
}
use of org.apache.directory.api.ldap.model.schema.Normalizer in project directory-ldap-api by apache.
the class DeepTrimToLowerNormalizerTest method testNormalizeCharsCombiningSpaces.
@Test
public void testNormalizeCharsCombiningSpaces() throws LdapException {
Normalizer normalizer = new DeepTrimToLowerNormalizer("1.1.1");
char[] chars = new char[] { 'a', 'm', ' ', 'e', 0x0301, 'l', 'i', 'e' };
char[] expected = new char[] { ' ', 'a', 'm', ' ', ' ', '\u00e9', 'l', 'i', 'e', ' ' };
String expectedStr = new String(expected);
String charsStr = new String(chars);
assertEquals(expectedStr, normalizer.normalize(charsStr));
}
use of org.apache.directory.api.ldap.model.schema.Normalizer in project directory-ldap-api by apache.
the class DeepTrimToLowerNormalizerTest method testDeepTrimToLowerNormalizerOneSpace.
@Test
public void testDeepTrimToLowerNormalizerOneSpace() throws LdapException {
Normalizer normalizer = new DeepTrimToLowerNormalizer("1.1.1");
assertEquals(" ", normalizer.normalize(" "));
}
Aggregations