private void roundCsv(Round round) { File roundCSV = new File(names[0]); if (roundCSV.isFile() && roundCSV.canRead()) { roundCSV.delete(); } Map<Broker, double[]> resultMap = round.determineWinner(); if (resultMap.size() == 0) { return; } // Create new CSVs try { roundCSV.createNewFile(); FileWriter fw = new FileWriter(roundCSV.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); singleRound(bw, "", round, resultMap); bw.close(); copyFile(roundCSV, names[1]); } catch (Exception e) { e.printStackTrace(); } }
private void gamesCsv(Round round) { File gamesCSV = new File(names[2]); if (gamesCSV.isFile() && gamesCSV.canRead()) { gamesCSV.delete(); } if (round.getSize() == 0) { return; } try { gamesCSV.createNewFile(); FileWriter fw = new FileWriter(gamesCSV.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); bw.write( "gameId;gameName;status;gameSize;gameLength;lastTick;" + "weatherLocation;weatherDate;logUrl;brokerId;brokerBalance;" + separator); String tourneyUrl = properties.getProperty("tourneyUrl"); String baseUrl = properties.getProperty("actionIndex.logUrl", "download?game=%d"); for (Game game : round.getGameMap().values()) { String logUrl = ""; if (game.isComplete()) { if (baseUrl.startsWith("http://")) { logUrl = String.format(baseUrl, game.getGameId()); } else { logUrl = tourneyUrl + String.format(baseUrl, game.getGameId()); } } String content = String.format( "%d;%s;%s;%d;%d;%d;%s;%s;%s;", game.getGameId(), game.getGameName(), game.getState(), game.getSize(), game.getGameLength(), game.getLastTick(), game.getLocation(), game.getSimStartTime(), logUrl); for (Agent agent : game.getAgentMap().values()) { content = String.format("%s%d;%f;", content, agent.getBrokerId(), agent.getBalance()); } bw.write(content + separator); } bw.close(); copyFile(gamesCSV, names[3]); } catch (IOException e) { e.printStackTrace(); } }
private void levelsCsv(Tournament tournament) { File levelsCSV = new File(names[2]); if (levelsCSV.isFile() && levelsCSV.canRead()) { levelsCSV.delete(); } try { levelsCSV.createNewFile(); FileWriter fw = new FileWriter(levelsCSV.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); for (Level level : tournament.getLevelMap().values()) { bw.write("levelId;" + level.getLevelId() + separator); bw.write("levelName;" + level.getLevelName() + separator); bw.write("levelNr;" + level.getLevelNr() + separator); bw.write("nofWinners;" + level.getNofWinners() + separator); bw.write("startTime;" + Utils.dateToStringFull(level.getStartTime()) + separator); bw.write(separator); for (Round round : level.getRoundMap().values()) { Map<Broker, double[]> resultMap = round.determineWinner(); singleRound(bw, ";", round, resultMap); bw.write(separator); } } bw.close(); copyFile(levelsCSV, names[3]); } catch (Exception e) { e.printStackTrace(); } }
private void tournamentCsv(Tournament tournament) { File tournamentCSV = new File(names[0]); if (tournamentCSV.isFile() && tournamentCSV.canRead()) { tournamentCSV.delete(); } // Create new CSVs try { tournamentCSV.createNewFile(); FileWriter fw = new FileWriter(tournamentCSV.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); bw.write("tournamentId;" + tournament.getTournamentId() + separator); bw.write("tournamentName;" + tournament.getTournamentName() + separator); bw.write("status;" + tournament.getState() + separator); bw.write("pomId;" + tournament.getPomId() + separator); bw.write("MaxAgents;" + tournament.getMaxAgents() + separator); bw.write(separator); bw.write("levelId;levelName;levelNr;nofRounds;nofWinners;startTime" + separator); for (Level level : tournament.getLevelMap().values()) { bw.write( String.format( "%s;%s;%s;%s;%s;%s%s", level.getLevelId(), level.getLevelName(), level.getLevelNr(), level.getNofRounds(), level.getNofWinners(), Utils.dateToStringFull(level.getStartTime()), separator)); } bw.close(); copyFile(tournamentCSV, names[1]); } catch (Exception e) { e.printStackTrace(); } }