diff --git a/src/java/com/threerings/admin/server/ConfigRegistry.java b/src/java/com/threerings/admin/server/ConfigRegistry.java index 003d38f0f..f6e06757a 100644 --- a/src/java/com/threerings/admin/server/ConfigRegistry.java +++ b/src/java/com/threerings/admin/server/ConfigRegistry.java @@ -272,6 +272,10 @@ public abstract class ConfigRegistry boolean defval = field.getBoolean(object); field.setBoolean(object, getValue(key, defval)); + } else if (type.equals(Byte.TYPE)) { + byte defval = field.getByte(object); + field.setByte(object, getValue(key, defval)); + } else if (type.equals(Short.TYPE)) { short defval = field.getShort(object); field.setShort(object, getValue(key, defval)); @@ -391,6 +395,7 @@ public abstract class ConfigRegistry } protected abstract boolean getValue (String field, boolean defval); + protected abstract byte getValue (String field, byte defval); protected abstract short getValue (String field, short defval); protected abstract int getValue (String field, int defval); protected abstract long getValue (String field, long defval); diff --git a/src/java/com/threerings/admin/server/DatabaseConfigRegistry.java b/src/java/com/threerings/admin/server/DatabaseConfigRegistry.java index 205796f79..4b855013e 100644 --- a/src/java/com/threerings/admin/server/DatabaseConfigRegistry.java +++ b/src/java/com/threerings/admin/server/DatabaseConfigRegistry.java @@ -141,6 +141,19 @@ public class DatabaseConfigRegistry extends ConfigRegistry super.init(); } + @Override + protected byte getValue (String field, byte defval) { + String value = _data.get(field); + try { + if (value != null) { + return Byte.parseByte(value); + } + } catch (Exception e) { + // ignore bogus values and return the default + } + return defval; + } + @Override protected boolean getValue (String field, boolean defval) { String value = _data.get(field); diff --git a/src/java/com/threerings/admin/server/PrefsConfigRegistry.java b/src/java/com/threerings/admin/server/PrefsConfigRegistry.java index 6d3278d4d..b7348b2d4 100644 --- a/src/java/com/threerings/admin/server/PrefsConfigRegistry.java +++ b/src/java/com/threerings/admin/server/PrefsConfigRegistry.java @@ -57,6 +57,10 @@ public class PrefsConfigRegistry extends ConfigRegistry return config.getValue(field, defval); } @Override + protected byte getValue (String field, byte defval) { + return (byte)config.getValue(field, defval); + } + @Override protected short getValue (String field, short defval) { return (short)config.getValue(field, defval); }