Updated Branches:
  refs/heads/wicket-1.5.x c1056c40a -> c588fd0d0

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/c588fd0d
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/c588fd0d
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/c588fd0d

Branch: refs/heads/wicket-1.5.x
Commit: c588fd0d0442160beec7e8625f6beaacbdd0d22d
Parents: c1056c4
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Mon Sep 3 15:56:16 2012 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Mon Sep 3 15:56:16 2012 +0200

----------------------------------------------------------------------
 .../org/apache/wicket/util/lang/WicketObjects.java |   20 ++++++--------
 1 files changed, 9 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/c588fd0d/wicket-core/src/main/java/org/apache/wicket/util/lang/WicketObjects.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/lang/WicketObjects.java 
b/wicket-core/src/main/java/org/apache/wicket/util/lang/WicketObjects.java
index 9ff5152..5df6e5d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/lang/WicketObjects.java
+++ b/wicket-core/src/main/java/org/apache/wicket/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.string.Strings;
@@ -118,21 +120,17 @@ 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