Better format information.

This commit is contained in:
marcins78@gmail.com
2012-04-02 14:22:36 +00:00
parent a8a146f41f
commit aa6205bedf
8 changed files with 38 additions and 18 deletions

View File

@@ -1,6 +1,5 @@
package com.gempukku.lotro.db;
import com.gempukku.lotro.collection.CollectionSerializer;
import com.gempukku.lotro.db.vo.League;
import java.io.IOException;
@@ -14,17 +13,8 @@ import java.util.List;
public class LeagueDAO {
private DbAccess _dbAccess;
private CollectionSerializer _serializer;
private int _dateLoaded;
public LeagueDAO(DbAccess dbAccess, CollectionSerializer serializer) {
public LeagueDAO(DbAccess dbAccess) {
_dbAccess = dbAccess;
_serializer = serializer;
}
public void clearCache() {
_dateLoaded = 0;
}
public void addLeague(String name, String type, int startTime, int endTime) throws SQLException, IOException {
@@ -37,7 +27,6 @@ public class LeagueDAO {
statement.setInt(3, startTime);
statement.setInt(4, endTime);
statement.execute();
_dateLoaded = 0;
} finally {
statement.close();
}

View File

@@ -41,6 +41,11 @@ public class ConstructedLeagueData implements LeagueData {
}
}
@Override
public int getLeagueCost() {
return 5000;
}
@Override
public List<LeagueSerieData> getSeries() {
return _series;

View File

@@ -7,6 +7,8 @@ import com.gempukku.lotro.game.Player;
import java.util.List;
public interface LeagueData {
public int getLeagueCost();
public List<LeagueSerieData> getSeries();
public CardCollection joinLeague(CollectionsManager collecionsManager, Player player, int currentTime);

View File

@@ -42,6 +42,11 @@ public class SealedLeagueData implements LeagueData {
}
}
@Override
public int getLeagueCost() {
return 5000;
}
@Override
public List<LeagueSerieData> getSeries() {
return Collections.unmodifiableList(_series);

View File

@@ -47,7 +47,6 @@ public class AdminResource extends AbstractResource {
_playerDao.clearCache();
_collectionsManager.clearDBCache();
_deckDao.clearCache();
_leagueDao.clearCache();
_merchantDao.clearCache();
_leagueService.clearCache();

View File

@@ -98,7 +98,7 @@ public class DaoProvider implements InjectableProvider<Context, Type> {
private synchronized Injectable<LeagueDAO> getLeagueDaoSafely() {
if (_leagueDaoInjectable == null) {
final LeagueDAO leagueDao = new LeagueDAO(_dbAccess, _collectionSerializer);
final LeagueDAO leagueDao = new LeagueDAO(_dbAccess);
_leagueDaoInjectable = new Injectable<LeagueDAO>() {
@Override
public LeagueDAO getValue() {

View File

@@ -2,7 +2,9 @@ package com.gempukku.lotro.server;
import com.gempukku.lotro.db.LeagueDAO;
import com.gempukku.lotro.db.vo.League;
import com.gempukku.lotro.game.Player;
import com.gempukku.lotro.game.formats.LotroFormatLibrary;
import com.gempukku.lotro.league.LeagueData;
import com.gempukku.lotro.league.LeagueSerieData;
import com.gempukku.lotro.league.LeagueService;
import com.gempukku.lotro.league.LeagueStanding;
@@ -10,8 +12,11 @@ import com.sun.jersey.spi.resource.Singleton;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -30,21 +35,29 @@ public class LeagueResource extends AbstractResource {
private LotroFormatLibrary _formatLibrary;
@GET
public Document getLeagueInformation() throws ParserConfigurationException {
public Document getLeagueInformation(
@QueryParam("participantId") String participantId,
@Context HttpServletRequest request,
@Context HttpServletResponse response) throws ParserConfigurationException {
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Player resourceOwner = getResourceOwnerSafely(request, participantId);
Document doc = documentBuilder.newDocument();
Element leagues = doc.createElement("leagues");
for (League league : _leagueService.getActiveLeagues()) {
final LeagueData leagueData = league.getLeagueData();
final List<LeagueSerieData> series = leagueData.getSeries();
Element leagueElem = doc.createElement("league");
leagueElem.setAttribute("type", league.getType());
leagueElem.setAttribute("name", league.getName());
leagueElem.setAttribute("start", String.valueOf(league.getStart()));
leagueElem.setAttribute("end", String.valueOf(league.getEnd()));
leagueElem.setAttribute("cost", String.valueOf(leagueData.getLeagueCost()));
leagueElem.setAttribute("start", String.valueOf(series.get(0).getStart()));
leagueElem.setAttribute("end", String.valueOf(series.get(series.size() - 1).getEnd()));
List<LeagueSerieData> series = league.getLeagueData().getSeries();
for (LeagueSerieData serie : series) {
Element serieElem = doc.createElement("serie");
serieElem.setAttribute("type", serie.getName());

View File

@@ -30,12 +30,19 @@ var LeagueResultsUI = Class.extend({
for (var i = 0; i < leagues.length; i++) {
var league = leagues[i];
var leagueName = league.getAttribute("name");
var cost = parseInt(league.getAttribute("cost"));
var start = league.getAttribute("start");
var end = league.getAttribute("end");
var leagueText = leagueName;
$("#leagueResults").append("<h1 class='leagueName'>" + leagueText + "</h1>");
var costStr = Math.floor(cost / 100) + "G " + cost % 100 + "S";
$("#leagueResults").append("<div class='leagueCost'>Cost: " + costStr + "</div>");
var duration = this.getDateString(start) + " to " + this.getDateString(end);
$("#leagueResults").append("<div class='leagueDuration'>Duration (GMT+0): " + duration + "</div>");
var tabDiv = $("<div width='100%'></div>");
var tabNavigation = $("<ul></ul>");
tabDiv.append(tabNavigation);