Nixed stale method, some minor tidying.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@384 c613c5cb-e716-0410-b11b-feb51c14d237
This commit is contained in:
@@ -7,10 +7,6 @@ import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Set;
|
||||
@@ -18,13 +14,14 @@ import java.util.logging.Level;
|
||||
|
||||
import com.samskivert.io.ByteArrayOutInputStream;
|
||||
import com.samskivert.io.PersistenceException;
|
||||
import com.samskivert.util.HashIntMap;
|
||||
|
||||
import com.samskivert.jdbc.ConnectionProvider;
|
||||
import com.samskivert.jdbc.JDBCUtil;
|
||||
import com.samskivert.jdbc.depot.CacheInvalidator;
|
||||
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.PersistenceContext.CacheEvictionFilter;
|
||||
import com.samskivert.jdbc.depot.annotation.Computed;
|
||||
import com.samskivert.jdbc.depot.annotation.Entity;
|
||||
import com.samskivert.jdbc.depot.clause.FieldOverride;
|
||||
@@ -32,7 +29,6 @@ import com.samskivert.jdbc.depot.clause.FromOverride;
|
||||
import com.samskivert.jdbc.depot.clause.QueryClause;
|
||||
import com.samskivert.jdbc.depot.clause.Where;
|
||||
import com.samskivert.jdbc.depot.expression.FunctionExp;
|
||||
import com.samskivert.util.HashIntMap;
|
||||
|
||||
import com.threerings.io.ObjectInputStream;
|
||||
import com.threerings.io.ObjectOutputStream;
|
||||
@@ -56,8 +52,7 @@ public class StatRepository extends DepotRepository
|
||||
/**
|
||||
* Constructs a new statistics repository with the specified connection provider.
|
||||
*
|
||||
* @param conprov the connection provider via which we will obtain our
|
||||
* database connection.
|
||||
* @param conprov the connection provider via which we will obtain our database connection.
|
||||
*/
|
||||
public StatRepository (ConnectionProvider conprov)
|
||||
throws PersistenceException
|
||||
@@ -102,11 +97,12 @@ public class StatRepository extends DepotRepository
|
||||
{
|
||||
CacheInvalidator invalidator = new CacheInvalidator() {
|
||||
public void invalidate (PersistenceContext ctx) {
|
||||
ctx.cacheTraverse(StatRecord.class.getName(), new CacheEvictionFilter<StatRecord>() {
|
||||
public boolean testForEviction (Serializable key, StatRecord record) {
|
||||
return record != null && record.playerId == playerId;
|
||||
}
|
||||
});
|
||||
ctx.cacheTraverse(
|
||||
StatRecord.class.getName(), new CacheEvictionFilter<StatRecord>() {
|
||||
public boolean testForEviction (Serializable key, StatRecord record) {
|
||||
return record != null && record.playerId == playerId;
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
deleteAll(StatRecord.class, new Where(StatRecord.PLAYER_ID_C, playerId), invalidator);
|
||||
@@ -243,11 +239,6 @@ public class StatRepository extends DepotRepository
|
||||
store(new StatRecord(playerId, stat.getCode(), out.toByteArray()));
|
||||
}
|
||||
|
||||
@Computed @Entity
|
||||
protected static class MaxStatCodeRecord extends PersistentRecord {
|
||||
int maxCode;
|
||||
};
|
||||
|
||||
/** Helper function for {@link #getStringCode}. */
|
||||
protected Integer assignStringCode (final Stat.Type type, final String value)
|
||||
throws PersistenceException
|
||||
@@ -300,26 +291,6 @@ public class StatRepository extends DepotRepository
|
||||
"Unable to assign code after 10 attempts [type=" + type + ", value=" + value + "]");
|
||||
}
|
||||
|
||||
/** Helper function for {@link #assignStringCode}. */
|
||||
protected void insertStringCode (Connection conn, Stat.Type type, String value, int code)
|
||||
throws SQLException
|
||||
{
|
||||
|
||||
String query = "insert into STRING_CODES (STAT_CODE, VALUE, CODE) values(" + type.code() +
|
||||
", " + JDBCUtil.escape(value) + ", " + code + ")";
|
||||
Statement stmt = conn.createStatement();
|
||||
try {
|
||||
int mods = stmt.executeUpdate(query);
|
||||
if (mods != 1) {
|
||||
throw new SQLException("Insertion failed to modify one row [type=" + type +
|
||||
", value=" + value + ", code=" + code +
|
||||
", mods=" + mods + "]");
|
||||
}
|
||||
} finally {
|
||||
JDBCUtil.close(stmt);
|
||||
}
|
||||
}
|
||||
|
||||
/** Helper function used at repository startup. */
|
||||
protected void loadStringCodes (Stat.Type type)
|
||||
throws PersistenceException
|
||||
@@ -358,6 +329,11 @@ public class StatRepository extends DepotRepository
|
||||
classes.add(StringCodeRecord.class);
|
||||
}
|
||||
|
||||
@Computed @Entity
|
||||
protected static class MaxStatCodeRecord extends PersistentRecord {
|
||||
int maxCode;
|
||||
};
|
||||
|
||||
protected HashMap<Stat.Type,HashMap<String,Integer>> _stringToCode =
|
||||
new HashMap<Stat.Type,HashMap<String,Integer>>();
|
||||
protected HashMap<Stat.Type,HashIntMap<String>> _codeToString =
|
||||
|
||||
Reference in New Issue
Block a user