From 3c713a550b592258b1eb7bc2ece571e906da6c3f Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Tue, 7 Feb 2012 20:57:58 +0000 Subject: [PATCH] League auto-product giving. --- .../gempukku/lotro/collection/CollectionsManager.java | 3 ++- .../java/com/gempukku/lotro/db/LeagueSerieDAO.java | 4 ++-- .../java/com/gempukku/lotro/league/LeagueService.java | 10 ++++++++-- .../java/com/gempukku/lotro/server/AdminResource.java | 1 + 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/collection/CollectionsManager.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/collection/CollectionsManager.java index b04d30cff..242a2fc65 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/collection/CollectionsManager.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/collection/CollectionsManager.java @@ -43,10 +43,11 @@ public class CollectionsManager { } } - public void addPlayerCollection(Player player, String collectionType, CardCollection cardCollection) { + public void addPlayerCollection(LeagueService leagueService, Player player, String collectionType, CardCollection cardCollection) { _readWriteLock.writeLock().lock(); try { _collectionDAO.setCollectionForPlayer(player.getId(), collectionType, cardCollection); + addPackage(leagueService, player, collectionType, cardCollection); } finally { _readWriteLock.writeLock().unlock(); } diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/LeagueSerieDAO.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/LeagueSerieDAO.java index ae8fc062f..87688d533 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/LeagueSerieDAO.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/db/LeagueSerieDAO.java @@ -104,9 +104,9 @@ public class LeagueSerieDAO { private Map createCollection(String collection) { Map result = new HashMap(); if (collection != null) { - final String[] items = collection.split("|"); + final String[] items = collection.split("\n"); for (String item : items) { - final String[] xes = item.split("x", 2); + final String[] xes = item.trim().split("x", 2); result.put(xes[1], Integer.parseInt(xes[0])); } } diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/league/LeagueService.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/league/LeagueService.java index 7e195c258..24a05acdb 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/league/LeagueService.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/league/LeagueService.java @@ -91,6 +91,12 @@ public class LeagueService { _winnerPromos.put("ttt_block", tttPromos); } + public void clearCache() { + _leagueSerieStandings.clear(); + _leagueStandings.clear(); + _activeLeaguesLoadedDate = 0; + } + private int getCurrentDate() { Calendar date = new GregorianCalendar(TimeZone.getTimeZone("GMT")); return date.get(Calendar.YEAR) * 10000 + (date.get(Calendar.MONTH) + 1) * 100 + date.get(Calendar.DAY_OF_MONTH); @@ -123,7 +129,7 @@ public class LeagueService { private void processLoadedLeagues(int currentDate) { for (League activeLeague : _activeLeagues) { for (LeagueSerie leagueSerie : _leagueSeasonDao.getSeriesForLeague(activeLeague)) { - if (leagueSerie.getStart() >= currentDate && !leagueSerie.wasCollectionGiven()) { + if (leagueSerie.getStart() <= currentDate && !leagueSerie.wasCollectionGiven()) { for (Map.Entry playerLeagueCollection : _collectionsManager.getPlayersCollection(activeLeague.getType()).entrySet()) { _collectionsManager.addItemsToPlayerCollection(this, playerLeagueCollection.getKey(), activeLeague.getType(), leagueSerie.getSerieCollection()); } @@ -150,7 +156,7 @@ public class LeagueService { startingCollection.addItem(serieCollectionItem.getKey(), serieCollectionItem.getValue()); } } - _collectionsManager.addPlayerCollection(player, league.getType(), startingCollection); + _collectionsManager.addPlayerCollection(this, player, league.getType(), startingCollection); } } } diff --git a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/AdminResource.java b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/AdminResource.java index 9c0bd2b56..12aa4fec7 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/AdminResource.java +++ b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/AdminResource.java @@ -48,6 +48,7 @@ public class AdminResource extends AbstractResource { _collectionsManager.clearDBCache(); _deckDao.clearCache(); _leagueDao.clearCache(); + _leagueService.clearCache(); return "OK"; }