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; } }
