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 <[email protected]>
Authored: Mon Sep 3 15:53:25 2012 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
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;
                }
 
        }

Reply via email to