You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2016/07/05 20:36:32 UTC

wicket git commit: WICKET-6196 mark object checked after checking it

Repository: wicket
Updated Branches:
  refs/heads/master 9126194a1 -> fdbb57b11


WICKET-6196 mark object checked after checking it


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/fdbb57b1
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/fdbb57b1
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/fdbb57b1

Branch: refs/heads/master
Commit: fdbb57b11bb5d643b49e57bc19056e70db43995e
Parents: 9126194
Author: Sven Meier <sv...@apache.org>
Authored: Tue Jul 5 22:34:01 2016 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Tue Jul 5 22:35:30 2016 +0200

----------------------------------------------------------------------
 .../util/objects/checker/CheckingObjectOutputStream.java  |  7 +++----
 .../core/util/objects/checker/SessionCheckerTest.java     | 10 ++++++++--
 2 files changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/fdbb57b1/wicket-core/src/main/java/org/apache/wicket/core/util/objects/checker/CheckingObjectOutputStream.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/core/util/objects/checker/CheckingObjectOutputStream.java b/wicket-core/src/main/java/org/apache/wicket/core/util/objects/checker/CheckingObjectOutputStream.java
index 1cf95d6..6eef7d9 100644
--- a/wicket-core/src/main/java/org/apache/wicket/core/util/objects/checker/CheckingObjectOutputStream.java
+++ b/wicket-core/src/main/java/org/apache/wicket/core/util/objects/checker/CheckingObjectOutputStream.java
@@ -27,9 +27,7 @@ import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
-import java.util.ArrayDeque;
 import java.util.Date;
-import java.util.Deque;
 import java.util.HashSet;
 import java.util.IdentityHashMap;
 import java.util.Iterator;
@@ -424,12 +422,13 @@ public class CheckingObjectOutputStream extends ObjectOutputStream
 							return;
 						}
 
-						checked.put(streamObj, null);
 						CharSequence arrayPos = new StringBuilder(10).append("[write:").append(count++).append(']');
 						simpleName = arrayPos;
 						fieldDescription += arrayPos;
 
 						check(streamObj);
+						
+						checked.put(streamObj, null);
 					}
 				});
 			}
@@ -492,11 +491,11 @@ public class CheckingObjectOutputStream extends ObjectOutputStream
 							return null;
 						}
 
-						checked.put(streamObj, null);
 						CharSequence arrayPos = new StringBuilder(10).append("[write:").append(counter).append(']');
 						simpleName = arrayPos;
 						fieldDescription += arrayPos;
 						check(streamObj);
+						checked.put(streamObj, null);
 						return streamObj;
 					}
 				}

http://git-wip-us.apache.org/repos/asf/wicket/blob/fdbb57b1/wicket-core/src/test/java/org/apache/wicket/core/util/objects/checker/SessionCheckerTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/core/util/objects/checker/SessionCheckerTest.java b/wicket-core/src/test/java/org/apache/wicket/core/util/objects/checker/SessionCheckerTest.java
index 2e85e1c..94e8ea7 100644
--- a/wicket-core/src/test/java/org/apache/wicket/core/util/objects/checker/SessionCheckerTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/core/util/objects/checker/SessionCheckerTest.java
@@ -22,6 +22,8 @@ import java.io.OutputStream;
 
 import org.apache.wicket.Session;
 import org.apache.wicket.markup.html.WebComponent;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.mock.MockWebRequest;
 import org.apache.wicket.protocol.http.WebSession;
 import org.apache.wicket.request.Url;
@@ -51,8 +53,12 @@ public class SessionCheckerTest extends WicketTestCase
 			}
 		};
 
-		WebComponent component = new ComponentWithAReferenceToTheSession("id");
-		byte[] serialized = serializer.serialize(component);
+		WebMarkupContainer container = new WebMarkupContainer("container");
+		// WICKET-6196 force container#children to be an array
+		container.add(new Label("id1"));
+		container.add(new ComponentWithAReferenceToTheSession("id2"));
+		
+		byte[] serialized = serializer.serialize(container);
 		assertNull("The produced byte[] must be null if there was an error", serialized);
 	}