From: MadMetzger <mad...@us...> - 2010-07-30 18:44:38
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/server/core/engine/db In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv12976/src/games/stendhal/server/core/engine/db Modified Files: AchievementDAO.java Log Message: * let achievement notifier update existing achievements * comment sources a bit Index: AchievementDAO.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/core/engine/db/AchievementDAO.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** AchievementDAO.java 27 Jul 2010 18:18:38 -0000 1.10 --- AchievementDAO.java 30 Jul 2010 18:44:30 -0000 1.11 *************** *** 1,5 **** package games.stendhal.server.core.engine.db; ! import games.stendhal.server.core.events.achievements.Category; import java.sql.ResultSet; --- 1,5 ---- package games.stendhal.server.core.engine.db; ! import games.stendhal.server.core.events.achievements.Achievement; import java.sql.ResultSet; *************** *** 46,50 **** * @throws SQLException */ ! public int saveAchievement(String identifier, String title, Category category, int baseScore) throws SQLException { DBTransaction transaction = TransactionPool.get().beginWork(); int achievementId = 0; --- 46,50 ---- * @throws SQLException */ ! public int saveAchievement(Achievement achievement) throws SQLException { DBTransaction transaction = TransactionPool.get().beginWork(); int achievementId = 0; *************** *** 53,60 **** "('[identifier]','[title]','[category]', [base_score])"; Map<String, Object> parameters = new HashMap<String, Object>(); ! parameters.put("identifier", identifier); ! parameters.put("title", title); ! parameters.put("category", category.toString()); ! parameters.put("base_score", baseScore); transaction.execute(query, parameters); achievementId = transaction.getLastInsertId("achievement", "id"); --- 53,60 ---- "('[identifier]','[title]','[category]', [base_score])"; Map<String, Object> parameters = new HashMap<String, Object>(); ! parameters.put("identifier", achievement.getIdentifier()); ! parameters.put("title", achievement.getTitle()); ! parameters.put("category", achievement.getCategory().toString()); ! parameters.put("base_score", achievement.getBaseScore()); transaction.execute(query, parameters); achievementId = transaction.getLastInsertId("achievement", "id"); *************** *** 62,65 **** --- 62,89 ---- return achievementId; } + + /** + * Updates the achievement with the given id + * + * @param id + * @param achievement + * @throws SQLException + */ + public void updateAchievement(Integer id, Achievement achievement) throws SQLException { + DBTransaction transaction = TransactionPool.get().beginWork(); + String query = "UPDATE achievement SET " + + "identifier='[identifier]', " + + "title='[title]'," + + "base_score=[base_score] " + + "WHERE id = [id];"; + Map<String, Object> parameters = new HashMap<String, Object>(); + parameters.put("identifier", achievement.getIdentifier()); + parameters.put("title", achievement.getTitle()); + parameters.put("category", achievement.getCategory().toString()); + parameters.put("base_score", achievement.getBaseScore()); + parameters.put("id", id); + transaction.execute(query, parameters); + TransactionPool.get().commit(transaction); + } /** |