Merge branch 'master' into dev

This commit is contained in:
Axel Uhl (Server) committed 2013-02-22 01:21:19 +01:00
commit bbcb47e3c1
6 files changed
+227 -30

No files matched your search

+4 -1
View File
@@ -35,5 +35,8 @@ bin.includes = META-INF/,\
com.sap.sailing.gwt.ui.YoutubePopup/,\
YoutubePopup.html,\
TvView.html,\
com.sap.sailing.gwt.ui.TvView/
com.sap.sailing.gwt.ui.TvView/,\
BrowserUnsupported.html,\
PolarSheets.css,\
PolarSheets.html
output.. = WEB-INF/classes/
@@ -309,11 +309,9 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget
b.append(TEXTTEMPLATE.textWithClass(fleet.name, 50, STYLE_TABLE_TEXT));
} else {
String displayName = fleet.name;
if ("Default".equals(fleet.name)) {
b.append(TEXTTEMPLATE.textWithClass("", 70, STYLE_TABLE_TEXT));
} else {
if (! "Default".equals(fleet.name)) {
b.append(TEXTTEMPLATE.textWithClass(displayName, 50, STYLE_TABLE_TEXT));
}
}
}
renderRacesToHTml(leaderboard.name, raceColumns, fleet, b);
@@ -0,0 +1,102 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Extreme Sailing Series leaderboard</title>
<link rel="stylesheet" href="../css/leaderboard.css" type="text/css"/>
<link rel="stylesheet" href="../css/tablesorter.css" type="text/css"/>
<script type="text/javascript" src="jquery-latest.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.tablesorter.js"></script>
<script type="text/javascript">
$.getJSON('http://ess40-2012.sapsailing.com/sailingserver/leaderboard?leaderboardName=Extreme%2040%20Rio', function (data) {
var h1; h2;
var Header = new Array();
var Row = new Array();
var Values = new Array();
var Competitors = new Array();
var toWrite = '';
var imgFlagPath = '/gwt/images/flags/';
h1 = data.name.toString();
if(data.scoringComment) {
h2 = data.scoringComment.toString();
} else {
h2 = '';
}
Header.push("Rank");
Header.push("Team");
Header = $.merge(Header, data.columnNames);
Header.push("&sum;");
Competitors = data.competitors;
//create HTML Header
toWrite += '<thead><tr>';
for (var i = 0; i < Header.length; i++) {
toWrite += '<th>' + Header[i] + '</th>';
};
toWrite += '</tr></thead><tbody>';
//collect Row Data
$.each(Competitors, function (index, values) {
Row.push(values.rank.toString());
Row.push(values.name.toString());
Values = values.raceScores;
//get Competitor Points
$.each(Values, function (indexPoints, valuesPoints) {
if(valuesPoints.maxPointsReason.toString() != 'NONE') {
Row.push(valuesPoints.maxPointsReason.toString());
} else {
Row.push(valuesPoints.totalPoints.toString());
}
});
Row.push(values.totalPoints.toString());
//Row complete
//write Row
toWrite += '<tr>';
for (var j = 0; j < Header.length; j++) {
if (j < Row.length) {
if(j == 0) {
toWrite += '<td>' + Row[j] + '</td>';
} else if(j == 1) {
toWrite += '<td style="white-space:nowrap;">';
toWrite += '<img style="padding-right:8px;" src="' + imgFlagPath + values.countryCode.toString().toLowerCase() + '.png">';
toWrite += Row[j];
toWrite + '</td>';
} else if (j > 1 && j < (Row.length - 1)) {
toWrite += '<td class="leaderboard-points-TotalPoints-NotDiscarded">' + Row[j] + '</td>';
} else {
toWrite += '<td>' + Row[j] + '</td>';
}
} else {//fill rest of the Header row
toWrite += '<td>&nbsp;</td>';
}
};
toWrite += '</tr>';
//Row completed
//reset Row
Row = new Array();
});
toWrite += '</tbody>';
$('#h1').text(h1);
$('#h2').text(h2);
$('#leaderboardTable').html(toWrite);
$("#leaderboardTable").tablesorter();
});
</script>
</head>
<body>
<h1 id="h1"></h1>
<h2 id="h2"></h2>
<table id="leaderboardTable" class="tablesorter"></table>
</body>
</html>
@@ -0,0 +1,109 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Extreme Sailing Series leaderboard</title>
<link rel="stylesheet" href="../css/leaderboard.css" type="text/css"/>
<link rel="stylesheet" href="../css/tablesorter.css" type="text/css"/>
<script type="text/javascript" src="jquery-latest.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.tablesorter.js"></script>
<script type="text/javascript">
String.prototype.startsWith = function(str)
{ return (this.match("^"+str)==str) }
$.getJSON('http://ess40-2012.sapsailing.com/sailingserver/leaderboard?leaderboardName=Extreme%20Sailing%20Series%202012%20Overall', function (data) {
var h1; h2;
var Header = new Array();
var Row = new Array();
var Values = new Array();
var Competitors = new Array();
var toWrite = '';
var imgFlagPath = '/gwt/images/flags/';
h1 = data.name.toString();
if(data.scoringComment) {
h2 = data.scoringComment.toString();
} else {
h2 = '';
}
Header.push("Rank");
Header.push("Team");
Header = $.merge(Header, data.columnNames);
Header.push("&sum;");
Competitors = data.competitors;
//create HTML Header
toWrite += '<thead><tr>';
for (var i = 0; i < Header.length; i++) {
var headerText = Header[i];
if(headerText.startsWith('Extreme 40 ')) {
headerText = headerText.substring(11, headerText.length);
}
toWrite += '<th>' + headerText + '</th>';
};
toWrite += '</tr></thead><tbody>';
//collect Row Data
$.each(Competitors, function (index, values) {
Row.push(values.rank.toString());
Row.push(values.name.toString());
Values = values.raceScores;
//get Competitor Points
$.each(Values, function (indexPoints, valuesPoints) {
if(valuesPoints.maxPointsReason.toString() != 'NONE') {
Row.push(valuesPoints.maxPointsReason.toString());
} else {
Row.push(valuesPoints.totalPoints.toString());
}
});
Row.push(values.totalPoints.toString());
//Row complete
//write Row
toWrite += '<tr>';
for (var j = 0; j < Header.length; j++) {
if (j < Row.length) {
if(j == 0) {
toWrite += '<td>' + Row[j] + '</td>';
} else if(j == 1) {
toWrite += '<td style="white-space:nowrap;">';
toWrite += '<img style="padding-right:8px;" src="' + imgFlagPath + values.countryCode.toString().toLowerCase() + '.png">';
toWrite += Row[j];
toWrite + '</td>';
} else if (j > 1 && j < (Row.length - 1)) {
toWrite += '<td class="leaderboard-points-TotalPoints-NotDiscarded">' + Row[j] + '</td>';
} else {
toWrite += '<td>' + Row[j] + '</td>';
}
} else {//fill rest of the Header row
toWrite += '<td>&nbsp;</td>';
}
};
toWrite += '</tr>';
//Row completed
//reset Row
Row = new Array();
});
toWrite += '</tbody>';
$('#h1').text(h1);
$('#h2').text(h2);
$('#leaderboardTable').html(toWrite);
$("#leaderboardTable").tablesorter();
});
</script>
</head>
<body>
<h1 id="h1"></h1>
<h2 id="h2"></h2>
<table id="leaderboardTable" class="tablesorter"></table>
</body>
</html>
@@ -82,6 +82,7 @@ public class ESS40ResultsAsCSVServlet extends AbstractCSVHttpServlet {
csvLine.add(competitor.getName());
csv.add(csvLine);
// TODO: we should only export complete races where all competitors have valid totalPoints for a race
for (RaceColumn raceColumn : raceColumns) {
List<Competitor> rankedCompetitorsForColumn = rankedCompetitorsPerColumn.get(raceColumn);
if (rankedCompetitorsForColumn == null) {
@@ -89,34 +90,18 @@ public class ESS40ResultsAsCSVServlet extends AbstractCSVHttpServlet {
timePoint);
rankedCompetitorsPerColumn.put(raceColumn, rankedCompetitorsForColumn);
}
Double netRacePoints = leaderboard.getNetPoints(competitor, raceColumn, timePoint);
// Double netRacePoints = leaderboard.getNetPoints(competitor, raceColumn, timePoint);
Double totalRacePoints = leaderboard.getTotalPoints(competitor, raceColumn, timePoint);
MaxPointsReason maxPointsReason = leaderboard.getMaxPointsReason(competitor, raceColumn,
timePoint);
// int rank = rankedCompetitorsForColumn.indexOf(competitor)+1;
// TrackedRace trackedRace = raceColumn.getTrackedRace(competitor);
// if (trackedRace != null) {
// int raceRank = trackedRace.getRank(competitor, timePoint);
// }
// boolean isCorrected = leaderboard.getScoreCorrection().isScoreCorrected(competitor,
// raceColumn);
boolean isDiscarded = leaderboard.isDiscarded(competitor, raceColumn, timePoint);
MaxPointsReason maxPointsReason = leaderboard.getMaxPointsReason(competitor, raceColumn, timePoint);
int rank = rankedCompetitorsForColumn.indexOf(competitor)+1;
if(totalRacePoints != null) {
if (maxPointsReason == null || maxPointsReason == MaxPointsReason.NONE) {
csvLine.add(rank);
csvLine.add(totalRacePoints);
if (maxPointsReason == null || maxPointsReason == MaxPointsReason.NONE) {
if (!isDiscarded) {
if (totalRacePoints != null) {
csvLine.add(totalRacePoints);
}
} else {
if (netRacePoints != null) {
csvLine.add(netRacePoints);
}
}
} else {
if (!isDiscarded) {
csvLine.add(maxPointsReason.name());
} else {
csvLine.add(maxPointsReason.name());
csvLine.add(totalRacePoints);
}
}
}
@@ -26,7 +26,7 @@
</p>
</div>
<div id='navigation'>
<a class='navButton event' href='http://ess40-2013.sapsailing.com/gwt/Leaderboard.html?name=Extreme%20Sailing%20Series%202013%20Muscat&showRaceDetails=true&leaderboardGroupName=Extreme%20Sailing%20Series%202013&root=leaderboardGroupPanel;refreshIntervalMillis=10000&amp;lastN=3'>
<a class='navButton event' href='http://ess40-2013.sapsailing.com/gwt/Leaderboard.html?name=Extreme%20Sailing%20Series%202013%20Muscat&displayName=Muscat&showRaceDetails=true&leaderboardGroupName=Extreme%20Sailing%20Series%202013&root=leaderboardGroupPanel;refreshIntervalMillis=10000&amp;lastN=3'>
Live Muscat Act Leaderboard
</a>
<a class='navButton overall' href='http://ess40-2013.sapsailing.com/gwt/Leaderboard.html?name=Extreme%20Sailing%20Series%202013%20Overall&amp;showRaceDetails=false&amp;refreshIntervalMillis=10000&amp;displayName=Overall%20Standings&amp;leaderboardGroupName=Extreme%20Sailing%20Series%202013&amp;root=leaderboardGroupPanel'>