Author: trustin
Date: Thu Dec  6 18:45:54 2007
New Revision: 601962

URL: http://svn.apache.org/viewvc?rev=601962&view=rev
Log:
Fixed issue: DIRMINA-488 (ClassLoader is not used to load the class in 
ByteBuffer.getObject)
* Overridden resolveClass in IoBuffer.getObject(...) as advised


Modified:
    mina/branches/1.0/core/src/main/java/org/apache/mina/common/ByteBuffer.java
    mina/branches/1.1/core/src/main/java/org/apache/mina/common/ByteBuffer.java
    mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoBuffer.java

Modified: 
mina/branches/1.0/core/src/main/java/org/apache/mina/common/ByteBuffer.java
URL: 
http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/common/ByteBuffer.java?rev=601962&r1=601961&r2=601962&view=diff
==============================================================================
--- mina/branches/1.0/core/src/main/java/org/apache/mina/common/ByteBuffer.java 
(original)
+++ mina/branches/1.0/core/src/main/java/org/apache/mina/common/ByteBuffer.java 
Thu Dec  6 18:45:54 2007
@@ -1512,6 +1512,15 @@
                                 "Unexpected class descriptor type: " + type);
                     }
                 }
+                
+                protected Class resolveClass(ObjectStreamClass desc) throws 
IOException, ClassNotFoundException {
+                    String name = desc.getName();
+                    try {
+                        return Class.forName(name, false, classLoader);
+                    } catch (ClassNotFoundException ex) {
+                        return super.resolveClass(desc);
+                    }
+                }
             };
             return in.readObject();
         } catch (IOException e) {

Modified: 
mina/branches/1.1/core/src/main/java/org/apache/mina/common/ByteBuffer.java
URL: 
http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/common/ByteBuffer.java?rev=601962&r1=601961&r2=601962&view=diff
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/common/ByteBuffer.java 
(original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/common/ByteBuffer.java 
Thu Dec  6 18:45:54 2007
@@ -1524,6 +1524,16 @@
                                 "Unexpected class descriptor type: " + type);
                     }
                 }
+                
+                @Override
+                protected Class<?> resolveClass(ObjectStreamClass desc) throws 
IOException, ClassNotFoundException {
+                    String name = desc.getName();
+                    try {
+                        return Class.forName(name, false, classLoader);
+                    } catch (ClassNotFoundException ex) {
+                        return super.resolveClass(desc);
+                    }
+                }
             };
             return in.readObject();
         } catch (IOException e) {

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoBuffer.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoBuffer.java?rev=601962&r1=601961&r2=601962&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoBuffer.java 
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoBuffer.java 
Thu Dec  6 18:45:54 2007
@@ -1524,6 +1524,16 @@
                                 "Unexpected class descriptor type: " + type);
                     }
                 }
+                
+                @Override
+                protected Class<?> resolveClass(ObjectStreamClass desc) throws 
IOException, ClassNotFoundException {
+                    String name = desc.getName();
+                    try {
+                        return Class.forName(name, false, classLoader);
+                    } catch (ClassNotFoundException ex) {
+                        return super.resolveClass(desc);
+                    }
+                }
             };
             return in.readObject();
         } catch (IOException e) {


Reply via email to