Many fixes :
o potential NPE
o unused imports removal
o useless @SuppressWarnings removal
o unused variable removal

git-svn-id: https://svn.apache.org/repos/asf/directory/shared/branches/shared-schema@896304 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ldap-client-api/src/main/java/org/apache/directory/shared/ldap/client/api/LdapConnection.java b/ldap-client-api/src/main/java/org/apache/directory/shared/ldap/client/api/LdapConnection.java
index eacbe54..25cb1c2 100644
--- a/ldap-client-api/src/main/java/org/apache/directory/shared/ldap/client/api/LdapConnection.java
+++ b/ldap-client-api/src/main/java/org/apache/directory/shared/ldap/client/api/LdapConnection.java
@@ -79,7 +79,6 @@
 import org.apache.directory.shared.ldap.client.api.messages.SearchResultDone;
 import org.apache.directory.shared.ldap.client.api.messages.SearchResultEntry;
 import org.apache.directory.shared.ldap.client.api.messages.SearchResultReference;
-import org.apache.directory.shared.ldap.client.api.messages.future.BindFuture;
 import org.apache.directory.shared.ldap.client.api.messages.future.ResponseFuture;
 import org.apache.directory.shared.ldap.client.api.protocol.LdapProtocolCodecFactory;
 import org.apache.directory.shared.ldap.codec.ControlCodec;
diff --git a/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncStateValue/SyncStateValueControlGrammar.java b/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncStateValue/SyncStateValueControlGrammar.java
index e8a79ae..2cb7e2a 100644
--- a/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncStateValue/SyncStateValueControlGrammar.java
+++ b/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncStateValue/SyncStateValueControlGrammar.java
@@ -29,12 +29,9 @@
 import org.apache.directory.shared.asn1.ber.tlv.UniversalTag;
 import org.apache.directory.shared.asn1.ber.tlv.Value;
 import org.apache.directory.shared.asn1.codec.DecoderException;
-import org.apache.directory.shared.asn1.util.BooleanDecoder;
-import org.apache.directory.shared.asn1.util.BooleanDecoderException;
 import org.apache.directory.shared.asn1.util.IntegerDecoder;
 import org.apache.directory.shared.asn1.util.IntegerDecoderException;
 import org.apache.directory.shared.ldap.message.control.replication.SyncStateTypeEnum;
-import org.apache.directory.shared.ldap.message.control.replication.SynchronizationModeEnum;
 import org.apache.directory.shared.ldap.util.StringTools;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/ldap/src/main/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestCodec.java b/ldap/src/main/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestCodec.java
index de9bb73..8c1fc3c 100644
--- a/ldap/src/main/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestCodec.java
+++ b/ldap/src/main/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestCodec.java
@@ -36,10 +36,8 @@
 import org.apache.directory.shared.ldap.entry.Modification;
 import org.apache.directory.shared.ldap.entry.ModificationOperation;
 import org.apache.directory.shared.ldap.entry.client.ClientModification;
-import org.apache.directory.shared.ldap.entry.client.ClientStringValue;
 import org.apache.directory.shared.ldap.entry.client.DefaultClientAttribute;
 import org.apache.directory.shared.ldap.name.LdapDN;
-import org.apache.directory.shared.ldap.util.StringTools;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/SearchResultEntryCodec.java b/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/SearchResultEntryCodec.java
index b20d736..d0204c7 100644
--- a/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/SearchResultEntryCodec.java
+++ b/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/SearchResultEntryCodec.java
@@ -36,7 +36,6 @@
 import org.apache.directory.shared.ldap.codec.LdapMessageCodec;
 import org.apache.directory.shared.ldap.entry.Entry;
 import org.apache.directory.shared.ldap.entry.EntryAttribute;
-import org.apache.directory.shared.ldap.entry.client.ClientStringValue;
 import org.apache.directory.shared.ldap.entry.client.DefaultClientAttribute;
 import org.apache.directory.shared.ldap.entry.client.DefaultClientEntry;
 import org.apache.directory.shared.ldap.name.LdapDN;
diff --git a/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AbstractExprNode.java b/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AbstractExprNode.java
index f6958d9..ce4b527 100644
--- a/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AbstractExprNode.java
+++ b/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AbstractExprNode.java
@@ -26,7 +26,6 @@
 import org.apache.directory.shared.ldap.entry.Value;
 import org.apache.directory.shared.ldap.entry.client.ClientBinaryValue;
 import org.apache.directory.shared.ldap.entry.client.ClientStringValue;
-import org.apache.directory.shared.ldap.util.StringTools;
 
 
 /**
diff --git a/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExtensibleNode.java b/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExtensibleNode.java
index dea0121..fced5e2 100644
--- a/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExtensibleNode.java
+++ b/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExtensibleNode.java
@@ -20,12 +20,7 @@
 package org.apache.directory.shared.ldap.filter;
 
 
-import java.util.Arrays;
-
 import org.apache.directory.shared.ldap.entry.Value;
-import org.apache.directory.shared.ldap.entry.client.ClientBinaryValue;
-import org.apache.directory.shared.ldap.entry.client.ClientStringValue;
-import org.apache.directory.shared.ldap.util.StringTools;
 
 
 /**
diff --git a/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java b/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java
index bf87c6d..d7096be 100644
--- a/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java
+++ b/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java
@@ -22,8 +22,6 @@
 
 import org.apache.directory.shared.ldap.constants.SchemaConstants;
 import org.apache.directory.shared.ldap.entry.Value;
-import org.apache.directory.shared.ldap.entry.client.ClientBinaryValue;
-import org.apache.directory.shared.ldap.entry.client.ClientStringValue;
 
 
 /**
diff --git a/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SubstringNode.java b/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SubstringNode.java
index d4df935..fff1cc6 100644
--- a/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SubstringNode.java
+++ b/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SubstringNode.java
@@ -26,7 +26,6 @@
 
 import javax.naming.NamingException;
 
-import org.apache.directory.shared.ldap.entry.Value;
 import org.apache.directory.shared.ldap.entry.client.ClientStringValue;
 import org.apache.directory.shared.ldap.schema.Normalizer;
 import org.apache.directory.shared.ldap.util.StringTools;
diff --git a/ldap/src/main/java/org/apache/directory/shared/ldap/ldif/LdifEntry.java b/ldap/src/main/java/org/apache/directory/shared/ldap/ldif/LdifEntry.java
index c4144b2..a7ec563 100644
--- a/ldap/src/main/java/org/apache/directory/shared/ldap/ldif/LdifEntry.java
+++ b/ldap/src/main/java/org/apache/directory/shared/ldap/ldif/LdifEntry.java
@@ -45,7 +45,6 @@
 import org.apache.directory.shared.ldap.entry.client.DefaultClientEntry;
 import org.apache.directory.shared.ldap.name.LdapDN;
 import org.apache.directory.shared.ldap.name.Rdn;
-import org.apache.directory.shared.ldap.util.DNUtils;
 import org.apache.directory.shared.ldap.util.StringTools;
 
 
diff --git a/ldap/src/main/java/org/apache/directory/shared/ldap/name/Rdn.java b/ldap/src/main/java/org/apache/directory/shared/ldap/name/Rdn.java
index 0d7a05b..79fb985 100755
--- a/ldap/src/main/java/org/apache/directory/shared/ldap/name/Rdn.java
+++ b/ldap/src/main/java/org/apache/directory/shared/ldap/name/Rdn.java
@@ -149,8 +149,6 @@
      * 
      * Note : there is no Generic available classes in commons-collection...
      */
-    @SuppressWarnings(
-        { "unchecked" })
     private MultiMap atavTypes = new MultiValueMap();
 
     /**
@@ -297,8 +295,6 @@
      * @param rdn
      *            The non-null Rdn to be copied.
      */
-    @SuppressWarnings(
-        { "unchecked" })
     public Rdn( Rdn rdn )
     {
         nbAtavs = rdn.getNbAtavs();
@@ -425,8 +421,6 @@
     // WARNING : The protection level is left unspecified intentionally.
     // We need this method to be visible from the DnParser class, but not
     // from outside this package.
-    @SuppressWarnings(
-        { "unchecked" })
     /* Unspecified protection */void addAttributeTypeAndValue( String upType, String type, Value<?> upValue,
         Value<?> value ) throws InvalidNameException
     {
@@ -480,8 +474,6 @@
     // WARNING : The protection level is left unspecified intentionnaly.
     // We need this method to be visible from the DnParser class, but not
     // from outside this package.
-    @SuppressWarnings(
-        { "unchecked" })
     /* Unspecified protection */void addAttributeTypeAndValue( AVA value )
     {
         String normalizedType = value.getNormType();
diff --git a/ldap/src/main/java/org/apache/directory/shared/ldap/util/ImmutableAttributeWrapper.java b/ldap/src/main/java/org/apache/directory/shared/ldap/util/ImmutableAttributeWrapper.java
index d66e2f2..99167dc 100644
--- a/ldap/src/main/java/org/apache/directory/shared/ldap/util/ImmutableAttributeWrapper.java
+++ b/ldap/src/main/java/org/apache/directory/shared/ldap/util/ImmutableAttributeWrapper.java
@@ -19,10 +19,10 @@
 package org.apache.directory.shared.ldap.util;
 
 
-import javax.naming.directory.Attribute;
-import javax.naming.directory.DirContext;
 import javax.naming.NamingEnumeration;
 import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.DirContext;
 
 
 /**
@@ -102,7 +102,6 @@
     }
 
 
-    @SuppressWarnings ( { "CloneDoesntCallSuperClone" } )
     public Object clone()
     {
         throw new IllegalStateException( "Now why would you ever want to clone an immutable object?" );
diff --git a/ldap/src/main/java/org/apache/directory/shared/ldap/util/ImmutableAttributesWrapper.java b/ldap/src/main/java/org/apache/directory/shared/ldap/util/ImmutableAttributesWrapper.java
index d774292..7f93613 100644
--- a/ldap/src/main/java/org/apache/directory/shared/ldap/util/ImmutableAttributesWrapper.java
+++ b/ldap/src/main/java/org/apache/directory/shared/ldap/util/ImmutableAttributesWrapper.java
@@ -90,7 +90,6 @@
     }
 
 
-    @SuppressWarnings ( { "CloneDoesntCallSuperClone" } )
     public Object clone()
     {
         throw new IllegalStateException( "Now why would you want to clone() an immutable object in the first place." );
diff --git a/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterCloneTest.java b/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterCloneTest.java
index 44eaaa9..7888783 100644
--- a/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterCloneTest.java
+++ b/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterCloneTest.java
@@ -27,8 +27,6 @@
 
 import java.text.ParseException;
 
-import org.apache.directory.shared.ldap.entry.client.ClientBinaryValue;
-import org.apache.directory.shared.ldap.util.StringTools;
 import org.junit.Test;
 
 
diff --git a/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserTest.java b/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserTest.java
index 17e8484..d881972 100644
--- a/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserTest.java
+++ b/ldap/src/test/java/org/apache/directory/shared/ldap/filter/FilterParserTest.java
@@ -20,23 +20,17 @@
 package org.apache.directory.shared.ldap.filter;
 
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 import java.io.UnsupportedEncodingException;
 import java.text.ParseException;
 
-import org.apache.directory.shared.ldap.entry.client.ClientBinaryValue;
 import org.apache.directory.shared.ldap.entry.client.ClientStringValue;
-import org.apache.directory.shared.ldap.filter.BranchNode;
-import org.apache.directory.shared.ldap.filter.ExtensibleNode;
-import org.apache.directory.shared.ldap.filter.PresenceNode;
-import org.apache.directory.shared.ldap.filter.SimpleNode;
-import org.apache.directory.shared.ldap.filter.SubstringNode;
-import org.apache.directory.shared.ldap.util.StringTools;
 import org.junit.Test;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-import static org.junit.Assert.assertNull;
 
 
 /**
@@ -723,7 +717,6 @@
     }
 
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testTwoByteUTF8Raw() throws ParseException
     {
@@ -732,7 +725,7 @@
 
         try
         {
-            String s = new String( bytes, "UTF-8" );
+            new String( bytes, "UTF-8" );
             String str = "(cn=\\C2\\A2)";
             SimpleNode<?> node = ( SimpleNode<?> ) FilterParser.parse( str );
 
@@ -749,7 +742,6 @@
     }
 
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testTwoByteUTF8Escaped() throws ParseException
     {
@@ -759,7 +751,7 @@
         try
         {
             String str = "(cn=\\C2\\A2)";
-            String s = new String( bytes, "UTF-8" );
+            new String( bytes, "UTF-8" );
 
             SimpleNode<?> node = ( SimpleNode<?> ) FilterParser.parse( str );
 
@@ -776,7 +768,6 @@
     }
 
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testThreeByteUTF8Raw() throws ParseException
     {
@@ -785,7 +776,7 @@
 
         try
         {
-            String s = new String( bytes, "UTF-8" );
+            new String( bytes, "UTF-8" );
             String str = "(cn=\\E2\\89\\A0)";
             SimpleNode<?> node = ( SimpleNode<?> ) FilterParser.parse( str );
 
@@ -802,7 +793,6 @@
     }
 
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testThreeByteUTF8Escaped() throws ParseException
     {
@@ -812,7 +802,7 @@
         try
         {
             String str = "(cn=\\E2\\89\\A0aa)";
-            String s = new String( bytes, "UTF-8" );
+            new String( bytes, "UTF-8" );
 
             SimpleNode<?> node = ( SimpleNode<?> ) FilterParser.parse( str );
 
@@ -829,7 +819,6 @@
     }
 
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testThreeByteJapaneseUTF8Raw() throws ParseException
     {
@@ -838,7 +827,7 @@
 
         try
         {
-            String s = new String( bytes, "UTF-8" );
+            new String( bytes, "UTF-8" );
             String str = "(cn=\\E3\\81\\99)";
             SimpleNode<?> node = ( SimpleNode<?> ) FilterParser.parse( str );
 
@@ -855,7 +844,6 @@
     }
 
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testThreeByteJapaneseUTF8Escaped() throws ParseException
     {
@@ -865,7 +853,7 @@
         try
         {
             String str = "(cn=\\E3\\81\\99)";
-            String s = new String( bytes, "UTF-8" );
+            new String( bytes, "UTF-8" );
 
             SimpleNode<?> node = ( SimpleNode<?> ) FilterParser.parse( str );
             assertEquals( "cn", node.getAttribute() );
@@ -1055,19 +1043,10 @@
     */
 
 
-
-
-    @SuppressWarnings("unchecked")
     @Test
     public void testBinaryValueEscaped() throws ParseException
     {
-        byte[] bytes =
-            {   0x29, 0x4C, 0x04, (byte)0xB5, 
-                (byte)0xD4, (byte)0xED, 0x38, 0x46, 
-                (byte)0x87, (byte)0xEE, 0x77, 0x58, 
-                0x5C, 0x32, (byte)0xAD, (byte)0x91 }; 
-
         String str = "(objectguid=\\29\\4C\\04\\B5\\D4\\ED\\38\\46\\87\\EE\\77\\58\\5C\\32\\AD\\91)";
-        SimpleNode<String> node = ( SimpleNode<String> ) FilterParser.parse( str );
+        FilterParser.parse( str );
     }
 }
diff --git a/ldap/src/test/java/org/apache/directory/shared/ldap/ldif/LdifUtilsTest.java b/ldap/src/test/java/org/apache/directory/shared/ldap/ldif/LdifUtilsTest.java
index 3c17616..434e260 100644
--- a/ldap/src/test/java/org/apache/directory/shared/ldap/ldif/LdifUtilsTest.java
+++ b/ldap/src/test/java/org/apache/directory/shared/ldap/ldif/LdifUtilsTest.java
@@ -19,21 +19,14 @@
  */
 package org.apache.directory.shared.ldap.ldif;
 
-import org.apache.directory.shared.ldap.entry.Entry;
-import org.apache.directory.shared.ldap.entry.EntryAttribute;
-import org.apache.directory.shared.ldap.entry.client.DefaultClientAttribute;
-import org.apache.directory.shared.ldap.entry.client.DefaultClientEntry;
-import org.apache.directory.shared.ldap.name.LdapDN;
-import org.apache.directory.shared.ldap.name.Rdn;
-import org.apache.directory.shared.ldap.util.StringTools;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.junit.Test;
+import java.util.List;
 
 import javax.naming.NamingException;
 import javax.naming.directory.Attribute;
@@ -41,7 +34,14 @@
 import javax.naming.directory.BasicAttribute;
 import javax.naming.directory.BasicAttributes;
 
-import java.util.List;
+import org.apache.directory.shared.ldap.entry.Entry;
+import org.apache.directory.shared.ldap.entry.EntryAttribute;
+import org.apache.directory.shared.ldap.entry.client.DefaultClientAttribute;
+import org.apache.directory.shared.ldap.entry.client.DefaultClientEntry;
+import org.apache.directory.shared.ldap.name.LdapDN;
+import org.apache.directory.shared.ldap.name.Rdn;
+import org.apache.directory.shared.ldap.util.StringTools;
+import org.junit.Test;
 
 
 /**
@@ -336,18 +336,6 @@
     @Test
     public void testConvertToLdif() throws NamingException
     {
-        String expected = 
-            "dn:: Y249U2Fhcm\n" +
-            " Jyw7xja2VuLCBk\n" +
-            " Yz1leGFtcGxlLC\n" +
-            " BkYz1jb20=\n" +
-            "changeType: Add\n" +
-            "sn: test\n" +
-            "cn:: U2FhcmJyw7\n xja2Vu\n" +
-            "objectClass: to\n p\n" +
-            "objectClass: pe\n rson\n" +
-            "objectClass: in\n etorgPerson\n\n";
-        
         LdifEntry entry = new LdifEntry();
         entry.setDn( "cn=Saarbr\u00FCcken, dc=example, dc=com" );
         entry.setChangeType( ChangeType.Add );
@@ -360,7 +348,7 @@
         entry.addAttribute( "cn", "Saarbr\u00FCcken" );
         entry.addAttribute( "sn", "test" );
 
-        String ldif = LdifUtils.convertToLdif( entry, 15 );
+        LdifUtils.convertToLdif( entry, 15 );
         //Attributes result = LdifUtils.convertFromLdif( ldif );
         //assertEquals( entry, result );
     }
diff --git a/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java b/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java
index 2c950a0..6e896da 100755
--- a/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java
+++ b/ldap/src/test/java/org/apache/directory/shared/ldap/name/LdapDNTest.java
@@ -3574,19 +3574,19 @@
         // The second ATAV
         for ( AVA ava : rdn )
         {
-            if ( "example".equals( atav.getNormValue().get() ) )
+            if ( "example".equals( ava.getNormValue().get() ) )
             {
                 // Skip the first one
                 continue;
             }
             
-            assertEquals( "2.5.4.11=test", atav.getNormName() );
-            assertEquals( "2.5.4.11", atav.getNormType() );
-            assertEquals( "test", atav.getNormValue().get() );
+            assertEquals( "2.5.4.11=test", ava.getNormName() );
+            assertEquals( "2.5.4.11", ava.getNormType() );
+            assertEquals( "test", ava.getNormValue().get() );
             
-            assertEquals( "ou", atav.getUpType() );
-            assertEquals( "TEST", atav.getUpValue().get() );
-            assertEquals( "  ou =  TEST ", atav.getUpName() );
+            assertEquals( "ou", ava.getUpType() );
+            assertEquals( "TEST", ava.getUpValue().get() );
+            assertEquals( " ou = TEST ", ava.getUpName() );
         }
     }