From 7d3de02e7cbcafe85cf77c42ea2d498af05cd55e Mon Sep 17 00:00:00 2001 From: Par Winzell Date: Fri, 27 Jul 2007 19:17:57 +0000 Subject: [PATCH] As tidy as it was to tuck this record away inside StatRepository, we'd really like the benefit of the 'genrecord' transformation. Also the inner class couldn't be protected for reflection access reasons so some of the tidy wasn't so tidy. git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@388 c613c5cb-e716-0410-b11b-feb51c14d237 --- .../server/persist/MaxStatCodeRecord.java | 26 +++++++++++++++++++ .../stats/server/persist/StatRepository.java | 10 ++----- .../server/persist/StringCodeRecord.java | 6 ++--- 3 files changed, 31 insertions(+), 11 deletions(-) create mode 100644 src/java/com/threerings/stats/server/persist/MaxStatCodeRecord.java diff --git a/src/java/com/threerings/stats/server/persist/MaxStatCodeRecord.java b/src/java/com/threerings/stats/server/persist/MaxStatCodeRecord.java new file mode 100644 index 00000000..4111814c --- /dev/null +++ b/src/java/com/threerings/stats/server/persist/MaxStatCodeRecord.java @@ -0,0 +1,26 @@ +// +// $Id$ + +package com.threerings.stats.server.persist; + +import com.samskivert.jdbc.depot.PersistentRecord; +import com.samskivert.jdbc.depot.annotation.Column; +import com.samskivert.jdbc.depot.annotation.Computed; +import com.samskivert.jdbc.depot.annotation.Entity; +import com.samskivert.jdbc.depot.expression.ColumnExp; + +@Computed @Entity +public class MaxStatCodeRecord extends PersistentRecord { + + // AUTO-GENERATED: FIELDS START + /** The column identifier for the {@link #maxCode} field. */ + public static final String MAX_CODE = "maxCode"; + + /** The qualified column identifier for the {@link #maxCode} field. */ + public static final ColumnExp MAX_CODE_C = + new ColumnExp(MaxStatCodeRecord.class, MAX_CODE); + // AUTO-GENERATED: FIELDS END + + @Column + public int maxCode; +} diff --git a/src/java/com/threerings/stats/server/persist/StatRepository.java b/src/java/com/threerings/stats/server/persist/StatRepository.java index 48c7963e..82296770 100644 --- a/src/java/com/threerings/stats/server/persist/StatRepository.java +++ b/src/java/com/threerings/stats/server/persist/StatRepository.java @@ -21,8 +21,6 @@ import com.samskivert.jdbc.depot.DepotRepository; import com.samskivert.jdbc.depot.PersistenceContext.CacheEvictionFilter; import com.samskivert.jdbc.depot.PersistenceContext; import com.samskivert.jdbc.depot.PersistentRecord; -import com.samskivert.jdbc.depot.annotation.Computed; -import com.samskivert.jdbc.depot.annotation.Entity; import com.samskivert.jdbc.depot.clause.FieldOverride; import com.samskivert.jdbc.depot.clause.FromOverride; import com.samskivert.jdbc.depot.clause.QueryClause; @@ -229,7 +227,8 @@ public class StatRepository extends DepotRepository MaxStatCodeRecord maxRecord = load( MaxStatCodeRecord.class, new FromOverride(StringCodeRecord.class), - new FieldOverride("maxCode", new FunctionExp("MAX", StringCodeRecord.CODE_C)), + new FieldOverride(MaxStatCodeRecord.MAX_CODE, + new FunctionExp("MAX", StringCodeRecord.CODE_C)), new Where(StringCodeRecord.STAT_CODE_C, type.code())); int code = maxRecord != null ? maxRecord.maxCode + 1 : 1; @@ -311,11 +310,6 @@ public class StatRepository extends DepotRepository classes.add(StringCodeRecord.class); } - @Computed @Entity - protected static class MaxStatCodeRecord extends PersistentRecord { - int maxCode; - }; - protected HashMap> _stringToCode = new HashMap>(); protected HashMap> _codeToString = diff --git a/src/java/com/threerings/stats/server/persist/StringCodeRecord.java b/src/java/com/threerings/stats/server/persist/StringCodeRecord.java index 576bf2fa..a9a957eb 100644 --- a/src/java/com/threerings/stats/server/persist/StringCodeRecord.java +++ b/src/java/com/threerings/stats/server/persist/StringCodeRecord.java @@ -97,12 +97,12 @@ public class StringCodeRecord extends PersistentRecord * Create and return a primary {@link Key} to identify a {@link #StringCodeRecord} * with the supplied key values. */ - public static Key getKey (int statCode, String value, int code) + public static Key getKey (int statCode, String value) { return new Key( StringCodeRecord.class, - new String[] { STAT_CODE, VALUE, CODE }, - new Comparable[] { statCode, value, code }); + new String[] { STAT_CODE, VALUE }, + new Comparable[] { statCode, value }); } // AUTO-GENERATED: METHODS END }