From 4e4dbc3862bdab78eb066e216e60acab3c2bcb55 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Thu, 25 Nov 2010 00:16:36 +0000 Subject: [PATCH] Break deserialization out into its own method so that we can override it elsewhere. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6305 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../threerings/admin/server/ConfigRegistry.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/threerings/admin/server/ConfigRegistry.java b/src/main/java/com/threerings/admin/server/ConfigRegistry.java index e117c985c..723e20373 100644 --- a/src/main/java/com/threerings/admin/server/ConfigRegistry.java +++ b/src/main/java/com/threerings/admin/server/ConfigRegistry.java @@ -319,10 +319,7 @@ public abstract class ConfigRegistry } try { - ByteArrayInputStream bin = - new ByteArrayInputStream(StringUtil.unhexlate(value)); - ObjectInputStream oin = createObjectInputStream(bin); - Object deserializedValue = oin.readObject(); + Object deserializedValue = deserialize(value); field.set(object, deserializedValue); if (_transitioning) { // Use serialize rather than serializeAttribute so we don't get @@ -384,6 +381,17 @@ public abstract class ConfigRegistry } } + /** + * Deserializes the object contained in the specified string. + */ + protected Object deserialize (String value) + throws Exception + { + ByteArrayInputStream bin = new ByteArrayInputStream(StringUtil.unhexlate(value)); + ObjectInputStream oin = createObjectInputStream(bin); + return oin.readObject(); + } + /** * Converts a config object field name (someConfigMember) to a configuration key * (some_config_member).