[maven-scm] copy for tag build-1.0.2

git-svn-id: https://svn.apache.org/repos/asf/mina/tags/build-1.0.2@509459 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core/pom.xml b/core/pom.xml
index ebc8612..6f59be8 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.mina</groupId>
     <artifactId>build</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.0.2</version>
   </parent>
   <artifactId>mina-core</artifactId>
   <name>Apache MINA Core API</name>
@@ -14,8 +14,15 @@
 
     <dependency>
       <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>1.2</version>
+      <scope>compile</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>
-      <version>1.0</version>
+      <version>1.2</version>
       <scope>provided</scope>
     </dependency>
 
diff --git a/core/src/main/java/org/apache/mina/common/ByteBuffer.java b/core/src/main/java/org/apache/mina/common/ByteBuffer.java
index 760e544..ffe5b54 100644
--- a/core/src/main/java/org/apache/mina/common/ByteBuffer.java
+++ b/core/src/main/java/org/apache/mina/common/ByteBuffer.java
@@ -979,7 +979,9 @@
         {
             while( remaining() >= 2 )
             {
-                if( ( get() == 0 ) && ( get() == 0 ) )
+            	boolean highZero = ( get() == 0 );
+            	boolean lowZero = ( get() == 0 );
+            	if( highZero && lowZero )
                 {
                     break;
                 }
@@ -1033,7 +1035,13 @@
                 continue;
             }
 
-            cr.throwException();
+            if( cr.isError() )
+            {
+            	// Revert the buffer back to the previous state.
+            	limit( oldLimit );
+            	position( oldPos );
+            	cr.throwException();
+            }
         }
 
         limit( oldLimit );
@@ -1102,7 +1110,9 @@
         {
             for( i = 0; i < fieldSize; i += 2 )
             {
-                if( ( get() == 0 ) && ( get() == 0 ) )
+            	boolean highZero = ( get() == 0 );
+            	boolean lowZero = ( get() == 0 );
+            	if( highZero && lowZero )
                 {
                     break;
                 }
@@ -1155,7 +1165,13 @@
                 continue;
             }
 
-            cr.throwException();
+            if( cr.isError() )
+            {
+            	// Revert the buffer back to the previous state.
+            	limit( oldLimit );
+            	position( oldPos );
+            	cr.throwException();
+            }
         }
 
         limit( oldLimit );
diff --git a/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java b/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java
index a99c8ff..528ef75 100644
--- a/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java
+++ b/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java
@@ -116,6 +116,23 @@
         session.setAttribute( KEY_OUT, out );
         processStreamIo( session, in, out );
     }
+
+    /**
+     * Closes streams
+     */
+    public void sessionClosed( IoSession session ) throws Exception
+    {
+        final InputStream in = ( InputStream ) session.getAttribute( KEY_IN );
+        final OutputStream out = ( OutputStream ) session.getAttribute( KEY_OUT );
+        try
+        {
+            in.close();
+        }
+        finally
+        {
+            out.close();
+        }
+    }
     
     /**
      * Forwards read data to input stream.
diff --git a/core/src/test/java/org/apache/mina/common/ByteBufferTest.java b/core/src/test/java/org/apache/mina/common/ByteBufferTest.java
index 15652d8..fc5528f 100644
--- a/core/src/test/java/org/apache/mina/common/ByteBufferTest.java
+++ b/core/src/test/java/org/apache/mina/common/ByteBufferTest.java
@@ -302,6 +302,37 @@
         Assert.assertEquals( 2, buf.position() );
         Assert.assertEquals( 4, buf.limit() );
     }
+    
+    public void testGetStringWithFailure() throws Exception
+    {
+		String test = "\u30b3\u30e1\u30f3\u30c8\u7de8\u96c6";
+		ByteBuffer buffer = ByteBuffer.wrap( test.getBytes( "Shift_JIS" ) );
+		
+		// Make sure the limit doesn't change when an exception arose.
+		int oldLimit = buffer.limit();
+		int oldPos = buffer.position();
+		try
+		{
+			buffer.getString( 3, Charset.forName( "ASCII" ).newDecoder() );
+			Assert.fail();
+		}
+		catch( Exception e )
+		{
+			Assert.assertEquals( oldLimit, buffer.limit() );
+			Assert.assertEquals( oldPos, buffer.position() );
+		}
+
+		try
+		{
+			buffer.getString( Charset.forName( "ASCII" ).newDecoder() );
+			Assert.fail();
+		}
+		catch( Exception e )
+		{
+			Assert.assertEquals( oldLimit, buffer.limit() );
+			Assert.assertEquals( oldPos, buffer.position() );
+		}
+    }
 
     public void testPutString() throws Exception
     {
diff --git a/example/pom.xml b/example/pom.xml
index c04df38..b48fbf1 100644
--- a/example/pom.xml
+++ b/example/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.mina</groupId>
     <artifactId>build</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.0.2</version>
   </parent>
   <artifactId>mina-example</artifactId>
   <name>Apache MINA Examples</name>
diff --git a/filter-codec-netty/pom.xml b/filter-codec-netty/pom.xml
index 0b2b87f..03fce8f 100644
--- a/filter-codec-netty/pom.xml
+++ b/filter-codec-netty/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.mina</groupId>
     <artifactId>build</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.0.2</version>
   </parent>
   <artifactId>mina-filter-codec-netty</artifactId>
   <name>Apache MINA Netty Codec Filter</name>
@@ -48,7 +48,7 @@
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>
-      <version>1.0</version>
+      <version>1.2</version>
       <scope>provided</scope>
     </dependency>
 
diff --git a/filter-compression/pom.xml b/filter-compression/pom.xml
index 5fd22dd..e9fdb9e 100755
--- a/filter-compression/pom.xml
+++ b/filter-compression/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.mina</groupId>
     <artifactId>build</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.0.2</version>
   </parent>
   <artifactId>mina-filter-compression</artifactId>
   <name>Apache MINA Stream Compression Filter</name>
@@ -21,7 +21,7 @@
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>
-      <version>1.0</version>
+      <version>1.2</version>
       <scope>provided</scope>
     </dependency>
 
diff --git a/filter-ssl/pom.xml b/filter-ssl/pom.xml
index 5676c8f..1f3c494 100644
--- a/filter-ssl/pom.xml
+++ b/filter-ssl/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.mina</groupId>
     <artifactId>build</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.0.2</version>
   </parent>
   <artifactId>mina-filter-ssl</artifactId>
   <name>Apache MINA SSL Filter</name>
@@ -21,7 +21,7 @@
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>
-      <version>1.0</version>
+      <version>1.2</version>
       <scope>provided</scope>
     </dependency>
 
diff --git a/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java b/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java
index a392bad..21e5bf0 100644
--- a/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java
+++ b/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java
@@ -316,10 +316,7 @@
         {
             throw new IllegalStateException( "A filter chain cannot contain more than one SSLFilter." );
         }
-    }
-    
-    public void onPostAdd( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException
-    {
+
         IoSession session = parent.getSession();
         session.setAttribute( NEXT_FILTER, nextFilter );
         
@@ -327,7 +324,11 @@
         SSLHandler handler =
             new SSLHandler( this, sslContext, session );
         session.setAttribute( SSL_HANDLER, handler );
-        handler.handshake( nextFilter );
+    }
+    
+    public void onPostAdd( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException
+    {
+        getSSLSessionHandler( parent.getSession() ).handshake( nextFilter );
     }
     
     public void onPreRemove( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException
diff --git a/integration-jmx/pom.xml b/integration-jmx/pom.xml
index d962088..7014040 100644
--- a/integration-jmx/pom.xml
+++ b/integration-jmx/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.mina</groupId>
     <artifactId>build</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.0.2</version>
   </parent>
   <artifactId>mina-integration-jmx</artifactId>
   <name>Apache MINA JMX integration</name>
diff --git a/integration-spring/pom.xml b/integration-spring/pom.xml
index f25f894..b777738 100644
--- a/integration-spring/pom.xml
+++ b/integration-spring/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.mina</groupId>
     <artifactId>build</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.0.2</version>
   </parent>
   <artifactId>mina-integration-spring</artifactId>
   <name>Apache MINA Spring Integration</name>
@@ -20,7 +20,7 @@
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>
-      <version>1.0</version>
+      <version>1.2</version>
       <scope>provided</scope>
     </dependency>
 
diff --git a/java5/pom.xml b/java5/pom.xml
index 28bd5fe..bc11c61 100644
--- a/java5/pom.xml
+++ b/java5/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.mina</groupId>
     <artifactId>build</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.0.2</version>
   </parent>
   <artifactId>mina-java5</artifactId>
   <name>Apache MINA Java5 Extensions</name>
@@ -21,7 +21,7 @@
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>
-      <version>1.0</version>
+      <version>1.2</version>
       <scope>provided</scope>
     </dependency>
 
diff --git a/pom.xml b/pom.xml
index dbc8a6a..0729ad4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
     <url>http://mina.apace.org/</url>
   </organization>
   <groupId>org.apache.mina</groupId>
-  <version>1.0.2-SNAPSHOT</version>
+  <version>1.0.2</version>
   <artifactId>build</artifactId>
   <name>Apache MINA Root Build POM</name>
   <packaging>pom</packaging>
@@ -25,9 +25,9 @@
   </issueManagement>
 
   <scm>
-    <connection>scm:svn:https://svn.apache.org/repos/asf/mina/branches/1.0</connection>
-    <url>https://svn.apache.org/repos/asf/mina/brchanes/1.0</url>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/mina/branches/1.0</developerConnection>
+    <connection>scm:svn:https://svn.apache.org/repos/asf/mina/tags/build-1.0.2</connection>
+    <url>https://svn.apache.org/repos/asf/mina/tags/build-1.0.2</url>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/mina/tags/build-1.0.2</developerConnection>
   </scm>
 
   <distributionManagement>