Merge branch 'gwt' into gwt-mak

Conflicts:
	java/com.sap.sailing.gwt.ui/.settings/com.google.gdt.eclipse.core.prefs
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/LeaderboardPanel.java
	java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/AdminConsole.gwt.xml
	java/pom.xml
This commit is contained in:
Axel Uhl committed 2011-11-25 22:38:02 +01:00
commit 4dbdc901af
118 files changed
+2481 -1065

No files matched your search

@@ -266,31 +266,34 @@ public class AdminApp extends Servlet {
for (WindSource windSource : WindSource.values()) {
JSONArray jsonWindArray = new JSONArray();
WindTrack windTrack = trackedRace.getWindTrack(windSource);
Iterator<Wind> windIter = windTrack.getFixesIterator(from, /* inclusive */true);
while (windIter.hasNext()) {
Wind wind = windIter.next();
if (wind.getTimePoint().compareTo(to) > 0) {
break;
synchronized (windTrack) {
Iterator<Wind> windIter = windTrack.getFixesIterator(from, /* inclusive */true);
while (windIter.hasNext()) {
Wind wind = windIter.next();
if (wind.getTimePoint().compareTo(to) > 0) {
break;
}
JSONObject jsonWind = new JSONObject();
jsonWind.put("truebearingdeg", wind.getBearing().getDegrees());
jsonWind.put("knotspeed", wind.getKnots());
jsonWind.put("meterspersecondspeed", wind.getMetersPerSecond());
if (wind.getTimePoint() != null) {
jsonWind.put("timepoint", wind.getTimePoint().asMillis());
jsonWind.put("dampenedtruebearingdeg",
windTrack.getEstimatedWind(wind.getPosition(), wind.getTimePoint())
.getBearing().getDegrees());
jsonWind.put("dampenedknotspeed",
windTrack.getEstimatedWind(wind.getPosition(), wind.getTimePoint()).getKnots());
jsonWind.put("dampenedmeterspersecondspeed",
windTrack.getEstimatedWind(wind.getPosition(), wind.getTimePoint())
.getMetersPerSecond());
}
if (wind.getPosition() != null) {
jsonWind.put("latdeg", wind.getPosition().getLatDeg());
jsonWind.put("lngdeg", wind.getPosition().getLngDeg());
}
jsonWindArray.add(jsonWind);
}
JSONObject jsonWind = new JSONObject();
jsonWind.put("truebearingdeg", wind.getBearing().getDegrees());
jsonWind.put("knotspeed", wind.getKnots());
jsonWind.put("meterspersecondspeed", wind.getMetersPerSecond());
if (wind.getTimePoint() != null) {
jsonWind.put("timepoint", wind.getTimePoint().asMillis());
jsonWind.put("dampenedtruebearingdeg",
windTrack.getEstimatedWind(wind.getPosition(), wind.getTimePoint()).getBearing()
.getDegrees());
jsonWind.put("dampenedknotspeed",
windTrack.getEstimatedWind(wind.getPosition(), wind.getTimePoint()).getKnots());
jsonWind.put("dampenedmeterspersecondspeed",
windTrack.getEstimatedWind(wind.getPosition(), wind.getTimePoint()).getMetersPerSecond());
}
if (wind.getPosition() != null) {
jsonWind.put("latdeg", wind.getPosition().getLatDeg());
jsonWind.put("lngdeg", wind.getPosition().getLngDeg());
}
jsonWindArray.add(jsonWind);
}
jsonWindTracks.put(windSource.toString(), jsonWindArray);
}
@@ -98,26 +98,29 @@ public class ModeratorApp extends Servlet {
JSONObject jsonCompetitor = new JSONObject();
jsonCompetitor.put("name", competitor.getName());
GPSFixTrack<Competitor, GPSFixMoving> track = trackedRace.getTrack(competitor);
Iterator<GPSFixMoving> fixIter;
if (sinceTimePoint == null) {
fixIter = track.getFixes().iterator();
} else {
fixIter = track.getFixesIterator(sinceTimePoint, /* inclusive */ true);
}
JSONArray jsonFixes = new JSONArray();
while (fixIter.hasNext()) {
GPSFixMoving fix = fixIter.next();
if (toTimePoint != null && fix.getTimePoint() != null && toTimePoint.compareTo(fix.getTimePoint()) < 0) {
break;
synchronized (track) {
Iterator<GPSFixMoving> fixIter;
if (sinceTimePoint == null) {
fixIter = track.getFixes().iterator();
} else {
fixIter = track.getFixesIterator(sinceTimePoint, /* inclusive */true);
}
while (fixIter.hasNext()) {
GPSFixMoving fix = fixIter.next();
if (toTimePoint != null && fix.getTimePoint() != null
&& toTimePoint.compareTo(fix.getTimePoint()) < 0) {
break;
}
JSONObject jsonFix = new JSONObject();
jsonFix.put("timepoint", fix.getTimePoint().asMillis());
jsonFix.put("latdeg", fix.getPosition().getLatDeg());
jsonFix.put("lngdeg", fix.getPosition().getLngDeg());
jsonFix.put("truebearingdeg", fix.getSpeed().getBearing().getDegrees());
jsonFix.put("knotspeed", fix.getSpeed().getKnots());
jsonFix.put("tack", trackedRace.getTack(competitor, fix.getTimePoint()).name());
jsonFixes.add(jsonFix);
}
JSONObject jsonFix = new JSONObject();
jsonFix.put("timepoint", fix.getTimePoint().asMillis());
jsonFix.put("latdeg", fix.getPosition().getLatDeg());
jsonFix.put("lngdeg", fix.getPosition().getLngDeg());
jsonFix.put("truebearingdeg", fix.getSpeed().getBearing().getDegrees());
jsonFix.put("knotspeed", fix.getSpeed().getKnots());
jsonFix.put("tack", trackedRace.getTack(competitor, fix.getTimePoint()).name());
jsonFixes.add(jsonFix);
}
jsonCompetitor.put("track", jsonFixes);
jsonCompetitors.add(jsonCompetitor);
@@ -184,5 +184,7 @@ public interface RacingEventService extends TrackedEventRegistry {
WindStore windStore, long timeoutInMilliseconds) throws InterruptedException, UnknownHostException, IOException, ParseException;
SwissTimingFactory getSwissTimingFactory();
public void storeSwissTimingDummyRace(String racMessage, String stlMesssage, String ccgMessage) throws IllegalArgumentException;
}
@@ -36,6 +36,7 @@ import com.sap.sailing.domain.persistence.DomainObjectFactory;
import com.sap.sailing.domain.persistence.MongoObjectFactory;
import com.sap.sailing.domain.swisstimingadapter.Race;
import com.sap.sailing.domain.swisstimingadapter.SailMasterConnector;
import com.sap.sailing.domain.swisstimingadapter.SailMasterMessage;
import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory;
import com.sap.sailing.domain.swisstimingadapter.persistence.SwissTimingAdapterPersistence;
import com.sap.sailing.domain.tracking.DynamicTrackedEvent;
@@ -417,6 +418,11 @@ public class RacingEventServiceImpl implements RacingEventService {
raceTracker.stop(); // this also removes the TrackedRace from trackedEvent
trackerIter.remove();
raceTrackersByID.remove(raceTracker.getID());
for (RaceDefinition trackerRace : raceTracker.getRaces()) {
// remove from default leaderboard
Leaderboard defaultLeaderboard = getLeaderboardByName(DEFAULT_LEADERBOARD_NAME);
defaultLeaderboard.removeRaceColumn(trackerRace.getName());
}
}
}
} else {
@@ -483,5 +489,20 @@ public class RacingEventServiceImpl implements RacingEventService {
public void remove(Event event) {
eventTrackingCache.remove(event);
}
@Override
public void storeSwissTimingDummyRace(String racMessage, String stlMessage, String ccgMessage){
SailMasterMessage racSMMessage = swissTimingFactory.createMessage(racMessage, null);
SailMasterMessage stlSMMessage = swissTimingFactory.createMessage(stlMessage, null);
SailMasterMessage ccgSMMessage = swissTimingFactory.createMessage(ccgMessage, null);
if (swissTimingAdapterPersistence.getRace(stlSMMessage.getRaceID()) != null) {
throw new IllegalArgumentException("Race with raceID \"" + stlSMMessage.getRaceID() + "\" already exists.");
}
else {
swissTimingAdapterPersistence.storeSailMasterMessage(racSMMessage);
swissTimingAdapterPersistence.storeSailMasterMessage(stlSMMessage);
swissTimingAdapterPersistence.storeSailMasterMessage(ccgSMMessage);
}
}
}