You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/09/03 15:54:47 UTC

git commit: WICKET-4743 SerializingObjectSizeOfStrategy do not use framework serializer

Updated Branches:
  refs/heads/master c299899ea -> c6c18f561


WICKET-4743 SerializingObjectSizeOfStrategy do not use framework serializer


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

Branch: refs/heads/master
Commit: c6c18f5615454081d928d5e40034ad76f7a04cff
Parents: c299899
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Sep 3 15:53:25 2012 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Sep 3 15:53:25 2012 +0200

----------------------------------------------------------------------
 .../wicket/core/util/lang/WicketObjects.java       |   24 ++++++--------
 1 files changed, 10 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/c6c18f56/wicket-core/src/main/java/org/apache/wicket/core/util/lang/WicketObjects.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/core/util/lang/WicketObjects.java b/wicket-core/src/main/java/org/apache/wicket/core/util/lang/WicketObjects.java
index b2c41e2..e272aed 100644
--- a/wicket-core/src/main/java/org/apache/wicket/core/util/lang/WicketObjects.java
+++ b/wicket-core/src/main/java/org/apache/wicket/core/util/lang/WicketObjects.java
@@ -31,6 +31,8 @@ import org.apache.wicket.Application;
 import org.apache.wicket.Component;
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.application.IClassResolver;
+import org.apache.wicket.serialize.ISerializer;
+import org.apache.wicket.serialize.java.JavaSerializer;
 import org.apache.wicket.settings.IApplicationSettings;
 import org.apache.wicket.util.io.ByteCountingOutputStream;
 import org.apache.wicket.util.lang.Generics;
@@ -110,9 +112,6 @@ public class WicketObjects
 	 */
 	public static final class SerializingObjectSizeOfStrategy implements IObjectSizeOfStrategy
 	{
-		/**
-		 * @see org.apache.wicket.core.util.lang.WicketObjects.IObjectSizeOfStrategy#sizeOf(java.io.Serializable)
-		 */
 		@Override
 		public long sizeOf(Serializable object)
 		{
@@ -120,21 +119,18 @@ public class WicketObjects
 			{
 				return 0;
 			}
-			try
+
+			ISerializer serializer;
+			if (Application.exists())
 			{
-				final ByteCountingOutputStream out = new ByteCountingOutputStream();
-				new ObjectOutputStream(out).writeObject(object);
-				out.close();
-				return out.size();
+				serializer = Application.get().getFrameworkSettings().getSerializer();
 			}
-			catch (IOException e)
+			else
 			{
-				if (log.isWarnEnabled())
-				{
-					log.warn("Unable to determine object size: " + object.toString(), e);
-				}
-				return -1;
+				serializer = new JavaSerializer("SerializingObjectSizeOfStrategy");
 			}
+			byte[] serialized = serializer.serialize(object);
+			return serialized.length;
 		}
 
 	}