Fixing caching problem.

This commit is contained in:
marcins78@gmail.com
2012-04-26 21:54:17 +00:00
parent 29cd12f39a
commit 3d30d3cca6

View File

@@ -246,39 +246,41 @@ public class LeagueService {
awardPrizesToPlayer(league, serie, loser, false); awardPrizesToPlayer(league, serie, loser, false);
} }
private void addPoints(League league, LeagueSerieData serie, String winner, int points) { private void addPoints(League league, LeagueSerieData serie, String player, int points) {
_leaguePointsDao.addPoints(league, serie, winner, points); Map<String, LeaguePointsDAO.Points> leaguePoints = getLeaguePoints(league);
storeNewLeaguePoints(league, winner, points); Map<String, LeaguePointsDAO.Points> leagueSeriePoints = getLeagueSeriePoints(league, serie);
storeNewLeagueSeriePoints(league, serie, winner, points); _leaguePointsDao.addPoints(league, serie, player, points);
storeNewLeaguePoints(leaguePoints, player, points);
storeNewLeagueSeriePoints(leagueSeriePoints, player, points);
} }
private void storeNewLeagueSeriePoints(League league, LeagueSerieData serie, String winner, int points) { private void storeNewLeagueSeriePoints(Map<String, LeaguePointsDAO.Points> leagueSeriePoints, String player, int points) {
final Map<String, LeaguePointsDAO.Points> leagueSeriePoints = getLeagueSeriePoints(league, serie); final LeaguePointsDAO.Points playerPoints = leagueSeriePoints.get(player);
final LeaguePointsDAO.Points playerPoints = leagueSeriePoints.get(winner);
if (playerPoints != null) if (playerPoints != null)
playerPoints.addPointsForMatch(points); playerPoints.addPointsForMatch(points);
else { else {
LeaguePointsDAO.Points newPoints = new LeaguePointsDAO.Points(points, 1); LeaguePointsDAO.Points newPoints = new LeaguePointsDAO.Points(points, 1);
leagueSeriePoints.put(winner, newPoints); leagueSeriePoints.put(player, newPoints);
} }
} }
private void storeNewLeaguePoints(League league, String winner, int points) { private void storeNewLeaguePoints(Map<String, LeaguePointsDAO.Points> leaguePoints, String player, int points) {
final Map<String, LeaguePointsDAO.Points> leaguePoints = getLeaguePoints(league); final LeaguePointsDAO.Points playerPoints = leaguePoints.get(player);
final LeaguePointsDAO.Points playerPoints = leaguePoints.get(winner);
if (playerPoints != null) if (playerPoints != null)
playerPoints.addPointsForMatch(points); playerPoints.addPointsForMatch(points);
else { else {
LeaguePointsDAO.Points newPoints = new LeaguePointsDAO.Points(points, 1); LeaguePointsDAO.Points newPoints = new LeaguePointsDAO.Points(points, 1);
leaguePoints.put(winner, newPoints); leaguePoints.put(player, newPoints);
} }
} }
private void addMatch(League league, LeagueSerieData serie, String winner, String loser) { private void addMatch(League league, LeagueSerieData serie, String winner, String loser) {
Collection<LeagueMatch> leagueMatches = getLeagueMatches(league);
Collection<LeagueMatch> leagueSerieMatches = getLeagueSerieMatches(league, serie);
LeagueMatch match = new LeagueMatch(winner, loser); LeagueMatch match = new LeagueMatch(winner, loser);
_leagueMatchDao.addPlayedMatch(league, serie, match); _leagueMatchDao.addPlayedMatch(league, serie, match);
getLeagueMatches(league).add(match); leagueMatches.add(match);
getLeagueSerieMatches(league, serie).add(match); leagueSerieMatches.add(match);
} }
private void awardPrizesToPlayer(League league, LeagueSerieData serie, String player, boolean winner) { private void awardPrizesToPlayer(League league, LeagueSerieData serie, String player, boolean winner) {