You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by py...@apache.org on 2007/05/23 09:03:36 UTC
svn commit: r540863 - in /harmony/enhanced/classlib/trunk/modules/jndi/src:
main/java/javax/naming/ldap/
test/java/org/apache/harmony/jndi/tests/javax/naming/ldap/
test/resources/serialization/org/apache/harmony/jndi/tests/javax/naming/ldap/
Author: pyang
Date: Wed May 23 00:03:36 2007
New Revision: 540863
URL: http://svn.apache.org/viewvc?view=rev&rev=540863
Log:
Apply patch for HARMONY-3884([classlib][jndi] Class PagedResultsResponseControl is not serialization compatible)
Added:
harmony/enhanced/classlib/trunk/modules/jndi/src/test/resources/serialization/org/apache/harmony/jndi/tests/javax/naming/ldap/TestPagedResultsResponseControl.golden.ser (with props)
Modified:
harmony/enhanced/classlib/trunk/modules/jndi/src/main/java/javax/naming/ldap/PagedResultsResponseControl.java
harmony/enhanced/classlib/trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/ldap/TestPagedResultsResponseControl.java
Modified: harmony/enhanced/classlib/trunk/modules/jndi/src/main/java/javax/naming/ldap/PagedResultsResponseControl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/jndi/src/main/java/javax/naming/ldap/PagedResultsResponseControl.java?view=diff&rev=540863&r1=540862&r2=540863
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/jndi/src/main/java/javax/naming/ldap/PagedResultsResponseControl.java (original)
+++ harmony/enhanced/classlib/trunk/modules/jndi/src/main/java/javax/naming/ldap/PagedResultsResponseControl.java Wed May 23 00:03:36 2007
@@ -31,9 +31,10 @@
*/
public final class PagedResultsResponseControl extends BasicControl {
- private PagedResultSearchControlValue pgscv;
-
private static final long serialVersionUID = -8819778744844514666L;
+
+ private int resultSize;
+ private byte[] cookie;
/**
* @ar.org.fitc.spec_ref
@@ -46,18 +47,20 @@
public PagedResultsResponseControl(String id, boolean criticality,
byte[] value) throws IOException {
super(id, criticality, value);
- this.pgscv = (PagedResultSearchControlValue) PagedResultsControl.ASN1_ENCODER
+ PagedResultSearchControlValue pgscv = (PagedResultSearchControlValue) PagedResultsControl.ASN1_ENCODER
.decode(value);
+ resultSize = pgscv.getSize();
+ cookie = pgscv.getCookie();
}
/**
* @ar.org.fitc.spec_ref
*/
public byte[] getCookie() {
- if (pgscv.getCookie().length == 0) {
+ if (cookie.length == 0) {
return null;
} else {
- return pgscv.getCookie();
+ return cookie;
}
}
@@ -65,7 +68,7 @@
* @ar.org.fitc.spec_ref
*/
public int getResultSize() {
- return pgscv.getSize();
+ return resultSize;
}
}
Modified: harmony/enhanced/classlib/trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/ldap/TestPagedResultsResponseControl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/ldap/TestPagedResultsResponseControl.java?view=diff&rev=540863&r1=540862&r2=540863
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/ldap/TestPagedResultsResponseControl.java (original)
+++ harmony/enhanced/classlib/trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/ldap/TestPagedResultsResponseControl.java Wed May 23 00:03:36 2007
@@ -23,8 +23,12 @@
package org.apache.harmony.jndi.tests.javax.naming.ldap;
import java.io.IOException;
+import java.io.Serializable;
+import java.util.Arrays;
import javax.naming.ldap.PagedResultsResponseControl;
import junit.framework.TestCase;
+import org.apache.harmony.testframework.serialization.SerializationTest;
+import org.apache.harmony.testframework.serialization.SerializationTest.SerializableAssert;
/**
* <p>This Test class is testing the PagedResultsControls class.</p>
@@ -328,4 +332,30 @@
fail("Failed with:"+e);
}
}
+
+ public void testSerializationCompatibility() throws Exception{
+ byte[] b={48,5,2,1,0,4,0};
+ PagedResultsResponseControl object=new PagedResultsResponseControl("test", true, b);
+ SerializationTest.verifyGolden(this, object, PAGEDRESULTSRESPONSECONTROL_COMPARATOR);
+ }
+
+ // comparator for PagedResultsResponseControl
+ private static final SerializableAssert PAGEDRESULTSRESPONSECONTROL_COMPARATOR = new SerializableAssert() {
+ public void assertDeserialized(Serializable initial,
+ Serializable deserialized) {
+
+ PagedResultsResponseControl initThr = (PagedResultsResponseControl) initial;
+ PagedResultsResponseControl dserThr = (PagedResultsResponseControl) deserialized;
+
+ // verify ResultSize
+ int initResultSize = initThr.getResultSize();
+ int dserResultSize = dserThr.getResultSize();
+ assertTrue(initResultSize == dserResultSize);
+
+ // verify Cookie
+ byte[] initCookie = initThr.getCookie();
+ byte[] dserCookie = dserThr.getCookie();
+ assertTrue(Arrays.equals(initCookie, dserCookie));
+ }
+ };
}
Added: harmony/enhanced/classlib/trunk/modules/jndi/src/test/resources/serialization/org/apache/harmony/jndi/tests/javax/naming/ldap/TestPagedResultsResponseControl.golden.ser
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/jndi/src/test/resources/serialization/org/apache/harmony/jndi/tests/javax/naming/ldap/TestPagedResultsResponseControl.golden.ser?view=auto&rev=540863
==============================================================================
Binary file - no diff available.
Propchange: harmony/enhanced/classlib/trunk/modules/jndi/src/test/resources/serialization/org/apache/harmony/jndi/tests/javax/naming/ldap/TestPagedResultsResponseControl.golden.ser
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream