You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2010/12/20 15:31:36 UTC
svn commit: r1051130 [7/7] - in /directory:
apacheds/branches/alex_refactoring/core-api/src/main/java/org/apache/directory/server/core/
apacheds/branches/alex_refactoring/core-api/src/main/java/org/apache/directory/server/core/entry/
apacheds/branches/...
Modified: directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/AVATest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/AVATest.java?rev=1051130&r1=1051129&r2=1051130&view=diff
==============================================================================
--- directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/AVATest.java (original)
+++ directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/AVATest.java Mon Dec 20 14:31:29 2010
@@ -29,11 +29,12 @@ import java.io.ObjectOutputStream;
import org.apache.directory.junit.tools.Concurrent;
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
import org.apache.directory.shared.ldap.exception.LdapException;
-import org.apache.directory.shared.ldap.util.StringTools;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+
+import org.apache.directory.shared.util.Strings;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -279,8 +280,8 @@ public class AVATest
@Test
public void testBinaryAtavSerialization() throws LdapException, IOException, ClassNotFoundException
{
- byte[] upValue = StringTools.getBytesUtf8( " Test " );
- byte[] normValue = StringTools.getBytesUtf8( "Test" );
+ byte[] upValue = Strings.getBytesUtf8(" Test ");
+ byte[] normValue = Strings.getBytesUtf8("Test");
AVA atav = new AVA( "cn", "CN", upValue, normValue );
@@ -439,8 +440,8 @@ public class AVATest
@Test
public void testBinaryAtavStaticSerialization() throws LdapException, IOException, ClassNotFoundException
{
- byte[] upValue = StringTools.getBytesUtf8( " Test " );
- byte[] normValue = StringTools.getBytesUtf8( "Test" );
+ byte[] upValue = Strings.getBytesUtf8(" Test ");
+ byte[] normValue = Strings.getBytesUtf8("Test");
AVA atav = new AVA( "cn", "CN", upValue, normValue );
Modified: directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/DNTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/DNTest.java?rev=1051130&r1=1051129&r2=1051130&view=diff
==============================================================================
--- directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/DNTest.java (original)
+++ directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/DNTest.java Mon Dec 20 14:31:29 2010
@@ -49,7 +49,7 @@ import org.apache.directory.junit.tools.
import org.apache.directory.shared.ldap.exception.LdapException;
import org.apache.directory.shared.ldap.schema.normalizers.DeepTrimToLowerNormalizer;
import org.apache.directory.shared.ldap.schema.normalizers.OidNormalizer;
-import org.apache.directory.shared.ldap.util.StringTools;
+import org.apache.directory.shared.util.Strings;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
@@ -1579,9 +1579,9 @@ public class DNTest
@Test
public void testStringParser() throws Exception
{
- String dn = StringTools.utf8ToString( new byte[]
- { 'C', 'N', ' ', '=', ' ', 'E', 'm', 'm', 'a', 'n', 'u', 'e', 'l', ' ', ' ', 'L', ( byte ) 0xc3,
- ( byte ) 0xa9, 'c', 'h', 'a', 'r', 'n', 'y' } );
+ String dn = Strings.utf8ToString(new byte[]
+ {'C', 'N', ' ', '=', ' ', 'E', 'm', 'm', 'a', 'n', 'u', 'e', 'l', ' ', ' ', 'L', (byte) 0xc3,
+ (byte) 0xa9, 'c', 'h', 'a', 'r', 'n', 'y'});
DN name = DnParser.getNameParser().parse( dn );
@@ -3322,7 +3322,7 @@ public class DNTest
AVA atav3 = dn3.getRdn().getAVA();
assertEquals( "cn", atav3.getUpType() );
assertEquals( "ABC", atav3.getUpValue().getString() );
- assertTrue( Arrays.equals( StringTools.getBytesUtf8( "ABC" ), atav3.getNormValue().getBytes() ) );
+ assertTrue( Arrays.equals( Strings.getBytesUtf8("ABC"), atav3.getNormValue().getBytes() ) );
// antlr parser:
DN dn4 = new DN( " cn = \\41\\42\\43 , ou=system " );
Modified: directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/DnParserTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/DnParserTest.java?rev=1051130&r1=1051129&r2=1051130&view=diff
==============================================================================
--- directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/DnParserTest.java (original)
+++ directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/DnParserTest.java Mon Dec 20 14:31:29 2010
@@ -24,7 +24,7 @@ import org.apache.directory.junit.tools.
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
import org.apache.directory.shared.ldap.exception.LdapException;
import org.apache.directory.shared.ldap.exception.LdapInvalidDnException;
-import org.apache.directory.shared.ldap.util.StringTools;
+import org.apache.directory.shared.util.Strings;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -285,16 +285,16 @@ public class DnParserTest
byte[] bytes = DN.getBytes( dn );
assertEquals( 30, bytes.length );
- assertEquals( "cn=John,ou=People,ou=Marketing", StringTools.utf8ToString( bytes ) );
+ assertEquals( "cn=John,ou=People,ou=Marketing", Strings.utf8ToString(bytes) );
}
@Test
public void testStringParser() throws LdapException
{
- String dn = StringTools.utf8ToString( new byte[]
- { 'C', 'N', ' ', '=', ' ', 'E', 'm', 'm', 'a', 'n', 'u', 'e', 'l', ' ', ' ', 'L', ( byte ) 0xc3,
- ( byte ) 0xa9, 'c', 'h', 'a', 'r', 'n', 'y' } );
+ String dn = Strings.utf8ToString(new byte[]
+ {'C', 'N', ' ', '=', ' ', 'E', 'm', 'm', 'a', 'n', 'u', 'e', 'l', ' ', ' ', 'L', (byte) 0xc3,
+ (byte) 0xa9, 'c', 'h', 'a', 'r', 'n', 'y'});
DnParser dnParser = DnParser.getNameParser();
DN name = ( DN ) dnParser.parse( dn );
@@ -307,8 +307,8 @@ public class DnParserTest
@Test
public void testStringParserShort() throws LdapException
{
- String dn = StringTools.utf8ToString( new byte[]
- { 'C', '=', ' ', 'E', ( byte ) 0xc3, ( byte ) 0xa9, 'c' } );
+ String dn = Strings.utf8ToString(new byte[]
+ {'C', '=', ' ', 'E', (byte) 0xc3, (byte) 0xa9, 'c'});
DnParser dnParser = DnParser.getNameParser();
DN name = ( DN ) dnParser.parse( dn );
Modified: directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/FastDnParserTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/FastDnParserTest.java?rev=1051130&r1=1051129&r2=1051130&view=diff
==============================================================================
--- directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/FastDnParserTest.java (original)
+++ directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/FastDnParserTest.java Mon Dec 20 14:31:29 2010
@@ -23,7 +23,7 @@ package org.apache.directory.shared.ldap
import org.apache.directory.junit.tools.Concurrent;
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
import org.apache.directory.shared.ldap.exception.LdapException;
-import org.apache.directory.shared.ldap.util.StringTools;
+import org.apache.directory.shared.util.Strings;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -412,16 +412,16 @@ public class FastDnParserTest
byte[] bytes = DN.getBytes( dn );
assertEquals( 30, bytes.length );
- assertEquals( "cn=John,ou=People,ou=Marketing", StringTools.utf8ToString( bytes ) );
+ assertEquals( "cn=John,ou=People,ou=Marketing", Strings.utf8ToString(bytes) );
}
@Test
public void testStringParser() throws LdapException
{
- String dn = StringTools.utf8ToString( new byte[]
- { 'C', 'N', ' ', '=', ' ', 'E', 'm', 'm', 'a', 'n', 'u', 'e', 'l', ' ', ' ', 'L', ( byte ) 0xc3,
- ( byte ) 0xa9, 'c', 'h', 'a', 'r', 'n', 'y' } );
+ String dn = Strings.utf8ToString(new byte[]
+ {'C', 'N', ' ', '=', ' ', 'E', 'm', 'm', 'a', 'n', 'u', 'e', 'l', ' ', ' ', 'L', (byte) 0xc3,
+ (byte) 0xa9, 'c', 'h', 'a', 'r', 'n', 'y'});
FastDnParser dnParser = FastDnParser.getNameParser();
DN name = ( DN ) dnParser.parse( dn );
@@ -434,8 +434,8 @@ public class FastDnParserTest
@Test
public void testStringParserShort() throws LdapException
{
- String dn = StringTools.utf8ToString( new byte[]
- { 'C', '=', ' ', 'E', ( byte ) 0xc3, ( byte ) 0xa9, 'c' } );
+ String dn = Strings.utf8ToString(new byte[]
+ {'C', '=', ' ', 'E', (byte) 0xc3, (byte) 0xa9, 'c'});
FastDnParser dnParser = FastDnParser.getNameParser();
DN name = ( DN ) dnParser.parse( dn );
Modified: directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/RdnTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/RdnTest.java?rev=1051130&r1=1051129&r2=1051130&view=diff
==============================================================================
--- directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/RdnTest.java (original)
+++ directory/shared/branches/alex_refactoring/ldap/src/test/java/org/apache/directory/shared/ldap/name/RdnTest.java Mon Dec 20 14:31:29 2010
@@ -36,7 +36,6 @@ import java.util.Iterator;
import org.apache.directory.junit.tools.Concurrent;
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
import org.apache.directory.shared.ldap.exception.LdapException;
-import org.apache.directory.shared.ldap.util.StringTools;
import org.apache.directory.shared.util.Strings;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -219,9 +218,9 @@ public class RdnTest
@Test
public void testRdnPairCharAttributeValue() throws LdapException
{
- String rdn = StringTools.utf8ToString( new byte[]
- { 'a', '=', '\\', ',', '=', '\\', '+', '\\', '<', '\\', '>', '#', '\\', ';', '\\', '\\', '\\', '"', '\\',
- 'C', '3', '\\', 'A', '9' } );
+ String rdn = Strings.utf8ToString(new byte[]
+ {'a', '=', '\\', ',', '=', '\\', '+', '\\', '<', '\\', '>', '#', '\\', ';', '\\', '\\', '\\', '"', '\\',
+ 'C', '3', '\\', 'A', '9'});
assertEquals( "a=\\,=\\+\\<\\>#\\;\\\\\\\"\u00E9", new RDN( rdn ).getNormName() );
}
@@ -786,7 +785,7 @@ public class RdnTest
@Test
public void testEscapeValueString()
{
- String res = RDN.escapeValue( StringTools.getBytesUtf8( "azerty" ) );
+ String res = RDN.escapeValue( Strings.getBytesUtf8("azerty") );
assertEquals( "azerty", res );
}
@@ -795,7 +794,7 @@ public class RdnTest
@Test
public void testEscapeValueStringSpecial()
{
- String res = RDN.escapeValue( StringTools.getBytesUtf8( "\\#,+;<>=\" " ) );
+ String res = RDN.escapeValue( Strings.getBytesUtf8("\\#,+;<>=\" ") );
assertEquals( "\\\\#\\,\\+\\;\\<\\>\\=\\\"\\ ", res );
}
Modified: directory/shared/branches/alex_refactoring/util/src/main/java/org/apache/directory/shared/util/Strings.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/alex_refactoring/util/src/main/java/org/apache/directory/shared/util/Strings.java?rev=1051130&r1=1051129&r2=1051130&view=diff
==============================================================================
--- directory/shared/branches/alex_refactoring/util/src/main/java/org/apache/directory/shared/util/Strings.java (original)
+++ directory/shared/branches/alex_refactoring/util/src/main/java/org/apache/directory/shared/util/Strings.java Mon Dec 20 14:31:29 2010
@@ -20,6 +20,8 @@
package org.apache.directory.shared.util;
+import java.io.UnsupportedEncodingException;
+
/**
* Various string manipulation methods that are more efficient then chaining
* string operations: all is done in the same buffer without creating a bunch of
@@ -106,4 +108,140 @@ public class Strings
{
return ( ( c > 127 ) || CharConstants.UNICODE_SUBSET[c] );
}
+
+ /**
+ * <p>
+ * Checks if a String is empty ("") or null.
+ * </p>
+ *
+ * <pre>
+ * StringUtils.isEmpty(null) = true
+ * StringUtils.isEmpty("") = true
+ * StringUtils.isEmpty(" ") = false
+ * StringUtils.isEmpty("bob") = false
+ * StringUtils.isEmpty(" bob ") = false
+ * </pre>
+ *
+ * <p>
+ * NOTE: This method changed in Lang version 2.0. It no longer trims the
+ * String. That functionality is available in isBlank().
+ * </p>
+ *
+ * @param str the String to check, may be null
+ * @return <code>true</code> if the String is empty or null
+ */
+ public static boolean isEmpty( String str )
+ {
+ return str == null || str.length() == 0;
+ }
+
+ /**
+ * Checks if a bytes array is empty or null.
+ *
+ * @param bytes The bytes array to check, may be null
+ * @return <code>true</code> if the bytes array is empty or null
+ */
+ public static boolean isEmpty( byte[] bytes )
+ {
+ return bytes == null || bytes.length == 0;
+ }
+
+ /**
+ * Return an UTF-8 encoded String
+ *
+ * @param bytes The byte array to be transformed to a String
+ * @return A String.
+ */
+ public static String utf8ToString( byte[] bytes )
+ {
+ if ( bytes == null )
+ {
+ return "";
+ }
+
+ try
+ {
+ return new String( bytes, "UTF-8" );
+ }
+ catch ( UnsupportedEncodingException uee )
+ {
+ // if this happens something is really strange
+ throw new RuntimeException( uee );
+ }
+ }
+
+ /**
+ * Return an UTF-8 encoded String
+ *
+ * @param bytes The byte array to be transformed to a String
+ * @param length The length of the byte array to be converted
+ * @return A String.
+ */
+ public static String utf8ToString( byte[] bytes, int length )
+ {
+ if ( bytes == null )
+ {
+ return "";
+ }
+
+ try
+ {
+ return new String( bytes, 0, length, "UTF-8" );
+ }
+ catch ( UnsupportedEncodingException uee )
+ {
+ // if this happens something is really strange
+ throw new RuntimeException( uee );
+ }
+ }
+
+ /**
+ * Return an UTF-8 encoded String
+ *
+ * @param bytes The byte array to be transformed to a String
+ * @param start the starting position in the byte array
+ * @param length The length of the byte array to be converted
+ * @return A String.
+ */
+ public static String utf8ToString( byte[] bytes, int start, int length )
+ {
+ if ( bytes == null )
+ {
+ return "";
+ }
+
+ try
+ {
+ return new String( bytes, start, length, "UTF-8" );
+ }
+ catch ( UnsupportedEncodingException uee )
+ {
+ // if this happens something is really strange
+ throw new RuntimeException( uee );
+ }
+ }
+
+ /**
+ * Return UTF-8 encoded byte[] representation of a String
+ *
+ * @param string The string to be transformed to a byte array
+ * @return The transformed byte array
+ */
+ public static byte[] getBytesUtf8( String string )
+ {
+ if ( string == null )
+ {
+ return new byte[0];
+ }
+
+ try
+ {
+ return string.getBytes( "UTF-8" );
+ }
+ catch ( UnsupportedEncodingException uee )
+ {
+ // if this happens something is really strange
+ throw new RuntimeException( uee );
+ }
+ }
}