mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-05 20:03:52 +00:00
Merge remote-tracking branch 'origin/gwt' into spectator
Conflicts: java/com.sap.sailing.gwt.ui/.settings/com.google.gdt.eclipse.core.prefs java/com.sap.sailing.gwt.ui/.settings/com.google.gwt.eclipse.core.prefs java/com.sap.sailing.gwt.ui/SailingGWT.launch java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/ManeuverCountRaceColumn.java
This commit is contained in:
commit
4fb3986c8a
105 files changed
+533
-330
No files matched your search
+1
-1
@@ -203,7 +203,7 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
@Override
|
||||
public BoatClass getOrCreateBoatClass(CompetitorClass competitorClass) {
|
||||
return baseDomainFactory.getOrCreateBoatClass(competitorClass == null ? "" : competitorClass.getName(),
|
||||
/* typicallyStartsUpwind */ !mayStartWithNoUpwindLeg.contains(competitorClass.getName()
|
||||
/* typicallyStartsUpwind */ !mayStartWithNoUpwindLeg.contains(competitorClass == null ? "" : competitorClass.getName()
|
||||
.toLowerCase()));
|
||||
}
|
||||
|
||||
|
||||
+8
-2
@@ -23,8 +23,8 @@ import com.sap.sailing.domain.base.impl.DegreePosition;
|
||||
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
|
||||
import com.sap.sailing.domain.common.Util.Triple;
|
||||
import com.sap.sailing.domain.tracking.AbstractRaceTrackerImpl;
|
||||
import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet;
|
||||
import com.sap.sailing.domain.tracking.DynamicGPSFixTrack;
|
||||
import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
|
||||
import com.sap.sailing.domain.tracking.GPSFix;
|
||||
import com.sap.sailing.domain.tracking.RacesHandle;
|
||||
@@ -219,6 +219,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements
|
||||
ioThread.start();
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation") // explicitly calling Thread.stop in case IO thread didn't join in three seconds time
|
||||
@Override
|
||||
public void stop() throws MalformedURLException, IOException, InterruptedException {
|
||||
controlPointPositionPoller.cancel(/* mayInterruptIfRunning */ false);
|
||||
@@ -227,7 +228,12 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements
|
||||
receiver.stopPreemptively();
|
||||
}
|
||||
ioThread.join(3000); // wait no more than three seconds
|
||||
logger.info("Joined TracTrac IO thread for race(s) "+getRaces());
|
||||
if (ioThread.isAlive()) {
|
||||
ioThread.stop();
|
||||
logger.warning("Tractrac IO thread for race(s) "+getRaces()+" didn't join in 3s. Stopped forcefully.");
|
||||
} else {
|
||||
logger.info("Joined TracTrac IO thread for race(s) "+getRaces());
|
||||
}
|
||||
}
|
||||
|
||||
protected DataController getController() {
|
||||
|
||||
+80
-60
@@ -9,8 +9,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.NavigableSet;
|
||||
import java.util.concurrent.ConcurrentSkipListSet;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.sap.sailing.domain.base.Bearing;
|
||||
@@ -100,13 +98,12 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
|
||||
private final Map<WindSource, WindTrack> windTracks;
|
||||
|
||||
private Wind directionFromStartToNextMarkCache;
|
||||
private final Object directionFromStartToNextMarkCacheLock = new Object();
|
||||
|
||||
private final Map<Buoy, GPSFixTrack<Buoy, GPSFix>> buoyTracks;
|
||||
|
||||
private final long millisecondsOverWhichToAverageSpeed;
|
||||
|
||||
private static final Executor executor = Executors.newSingleThreadExecutor();
|
||||
|
||||
private final Map<Buoy, StartToNextMarkCacheInvalidationListener> startToNextMarkCacheInvalidationListeners;
|
||||
|
||||
public TrackedRaceImpl(TrackedEvent trackedEvent, RaceDefinition race, WindStore windStore,
|
||||
long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed) {
|
||||
@@ -114,11 +111,18 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
|
||||
this.updateCount = 0;
|
||||
this.race = race;
|
||||
this.millisecondsOverWhichToAverageSpeed = millisecondsOverWhichToAverageSpeed;
|
||||
this.startToNextMarkCacheInvalidationListeners = new HashMap<Buoy, TrackedRaceImpl.StartToNextMarkCacheInvalidationListener>();
|
||||
this.buoyTracks = new HashMap<Buoy, GPSFixTrack<Buoy, GPSFix>>();
|
||||
int i = 0;
|
||||
for (Waypoint waypoint : race.getCourse().getWaypoints()) {
|
||||
for (Buoy buoy : waypoint.getBuoys()) {
|
||||
getOrCreateTrack(buoy);
|
||||
if (i<2) {
|
||||
// add cache invalidation listeners for first and second waypoint's buoys for directionFromStartToNextMarkCache
|
||||
addStartToNextMarkCacheInvalidationListener(buoy);
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
trackedLegs = new LinkedHashMap<Leg, TrackedLeg>();
|
||||
synchronized (race.getCourse()) {
|
||||
@@ -145,10 +149,6 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
|
||||
competitorRankings = new HashMap<TimePoint, List<Competitor>>();
|
||||
}
|
||||
|
||||
private Executor getExecutor() {
|
||||
return executor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Precondition: race has already been set, e.g., in constructor before this methocd is called
|
||||
*/
|
||||
@@ -431,21 +431,7 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
|
||||
result = new WindImpl(firstLegStart, at, new KnotSpeedWithBearingImpl(1.0,
|
||||
firstLegEnd.getBearingGreatCircle(firstLegStart)));
|
||||
final Wind finalResult = result;
|
||||
// Deadlock prevention: This method may have been called during wind estimation which holds the monitor
|
||||
// of the TrackBasedEstimationWindTrackImpl. Adding a cache
|
||||
// invalidation listener will request the monitor of the listener collection.
|
||||
// This may be owned by the MarkPositionReceiver thread which is currently notifying
|
||||
// the track's listeners about the receipt of a new GPS fix which leads to the
|
||||
// invalidation of the TrackBasedEstimationWindTrackImpl's cache which requests
|
||||
// the TrackBasedEstimationWindTrackImpl's monitor. --> deadlock
|
||||
getExecutor().execute(new Runnable() {
|
||||
public void run() {
|
||||
synchronized (directionFromStartToNextMarkCacheLock) {
|
||||
addDirectionFromStartToNextMarkCacheInvalidationListener();
|
||||
directionFromStartToNextMarkCache = finalResult;
|
||||
}
|
||||
}
|
||||
});
|
||||
directionFromStartToNextMarkCache = finalResult;
|
||||
} else {
|
||||
result = null;
|
||||
}
|
||||
@@ -453,18 +439,6 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
|
||||
return result;
|
||||
}
|
||||
|
||||
private void addDirectionFromStartToNextMarkCacheInvalidationListener() {
|
||||
Leg firstLeg = getRace().getCourse().getLegs().iterator().next();
|
||||
for (Buoy buoy : firstLeg.getFrom().getBuoys()) {
|
||||
GPSFixTrack<Buoy, GPSFix> track = getOrCreateTrack(buoy);
|
||||
track.addListener(new StartToNextMarkCacheInvalidationListener(track));
|
||||
}
|
||||
for (Buoy buoy : firstLeg.getTo().getBuoys()) {
|
||||
GPSFixTrack<Buoy, GPSFix> track = getOrCreateTrack(buoy);
|
||||
track.addListener(new StartToNextMarkCacheInvalidationListener(track));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public TimePoint getTimePointOfNewestEvent() {
|
||||
return timePointOfNewestEvent;
|
||||
@@ -509,11 +483,7 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
|
||||
|
||||
@Override
|
||||
public synchronized void waypointAdded(int zeroBasedIndex, Waypoint waypointThatGotAdded) {
|
||||
synchronized (directionFromStartToNextMarkCacheLock) {
|
||||
// the observing listener on any previous buoy will be GCed; we need to ensure
|
||||
// that the cache is recomputed
|
||||
directionFromStartToNextMarkCache = null;
|
||||
}
|
||||
updateStartToNextMarkCacheInvalidationCacheListenersAfterWaypointAdded(zeroBasedIndex, waypointThatGotAdded);
|
||||
markPassingsForWaypoint.put(waypointThatGotAdded, new ConcurrentSkipListSet<MarkPassing>(TimedComparator.INSTANCE));
|
||||
for (Buoy buoy : waypointThatGotAdded.getBuoys()) {
|
||||
getOrCreateTrack(buoy);
|
||||
@@ -538,13 +508,55 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
|
||||
updated(/* time point*/ null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void waypointRemoved(int zeroBasedIndex, Waypoint waypointThatGotRemoved) {
|
||||
synchronized (directionFromStartToNextMarkCacheLock) {
|
||||
private void updateStartToNextMarkCacheInvalidationCacheListenersAfterWaypointAdded(int zeroBasedIndex,
|
||||
Waypoint waypointThatGotAdded) {
|
||||
if (zeroBasedIndex < 2) {
|
||||
// the observing listener on any previous buoy will be GCed; we need to ensure
|
||||
// that the cache is recomputed
|
||||
directionFromStartToNextMarkCache = null;
|
||||
Iterator<Waypoint> waypointsIter = getRace().getCourse().getWaypoints().iterator();
|
||||
waypointsIter.next(); // skip first
|
||||
if (waypointsIter.hasNext()) {
|
||||
waypointsIter.next(); // skip second
|
||||
if (waypointsIter.hasNext()) {
|
||||
Waypoint oldSecond = waypointsIter.next();
|
||||
stopAndRemoveStartToNextMarkCacheInvalidationListener(oldSecond);
|
||||
}
|
||||
}
|
||||
}
|
||||
addStartToNextMarkCacheInvalidationListener(waypointThatGotAdded);
|
||||
}
|
||||
|
||||
private void addStartToNextMarkCacheInvalidationListener(Waypoint waypoint) {
|
||||
for (Buoy buoy : waypoint.getBuoys()) {
|
||||
addStartToNextMarkCacheInvalidationListener(buoy);
|
||||
}
|
||||
}
|
||||
|
||||
private void addStartToNextMarkCacheInvalidationListener(Buoy buoy) {
|
||||
GPSFixTrack<Buoy, GPSFix> track = getOrCreateTrack(buoy);
|
||||
StartToNextMarkCacheInvalidationListener listener = new StartToNextMarkCacheInvalidationListener(track);
|
||||
startToNextMarkCacheInvalidationListeners.put(buoy, listener);
|
||||
track.addListener(listener);
|
||||
}
|
||||
|
||||
private void stopAndRemoveStartToNextMarkCacheInvalidationListener(Waypoint waypoint) {
|
||||
for (Buoy buoy : waypoint.getBuoys()) {
|
||||
stopAndRemoveStartToNextMarkCacheInvalidationListener(buoy);
|
||||
}
|
||||
}
|
||||
|
||||
private void stopAndRemoveStartToNextMarkCacheInvalidationListener(Buoy buoy) {
|
||||
StartToNextMarkCacheInvalidationListener listener = startToNextMarkCacheInvalidationListeners.get(buoy);
|
||||
if (listener != null) {
|
||||
listener.stopListening();
|
||||
startToNextMarkCacheInvalidationListeners.remove(buoy);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void waypointRemoved(int zeroBasedIndex, Waypoint waypointThatGotRemoved) {
|
||||
updateStartToNextMarkCacheInvalidationCacheListenersAfterWaypointRemoved(zeroBasedIndex, waypointThatGotRemoved);
|
||||
Leg toRemove = null;
|
||||
Leg last = null;
|
||||
int i=0;
|
||||
@@ -566,6 +578,25 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
|
||||
}
|
||||
}
|
||||
|
||||
private void updateStartToNextMarkCacheInvalidationCacheListenersAfterWaypointRemoved(int zeroBasedIndex,
|
||||
Waypoint waypointThatGotRemoved) {
|
||||
if (zeroBasedIndex < 2) {
|
||||
// the observing listener on any previous buoy will be GCed; we need to ensure
|
||||
// that the cache is recomputed
|
||||
directionFromStartToNextMarkCache = null;
|
||||
stopAndRemoveStartToNextMarkCacheInvalidationListener(waypointThatGotRemoved);
|
||||
Iterator<Waypoint> waypointsIter = getRace().getCourse().getWaypoints().iterator();
|
||||
waypointsIter.next(); // skip first
|
||||
if (waypointsIter.hasNext()) {
|
||||
waypointsIter.next(); // skip second
|
||||
if (waypointsIter.hasNext()) {
|
||||
Waypoint newSecond = waypointsIter.next();
|
||||
addStartToNextMarkCacheInvalidationListener(newSecond);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public TrackedEvent getTrackedEvent() {
|
||||
return trackedEvent;
|
||||
@@ -896,28 +927,17 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
|
||||
this.listeningTo = listeningTo;
|
||||
}
|
||||
|
||||
public void stopListening() {
|
||||
listeningTo.removeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gpsFixReceived(GPSFix fix, Buoy buoy) {
|
||||
getExecutor().execute(new Runnable() {
|
||||
public void run() {
|
||||
synchronized (directionFromStartToNextMarkCacheLock) {
|
||||
directionFromStartToNextMarkCache = null;
|
||||
listeningTo.removeListener(StartToNextMarkCacheInvalidationListener.this);
|
||||
}
|
||||
}
|
||||
});
|
||||
directionFromStartToNextMarkCache = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void speedAveragingChanged(long oldMillisecondsOverWhichToAverage, long newMillisecondsOverWhichToAverage) {
|
||||
getExecutor().execute(new Runnable() {
|
||||
public void run() {
|
||||
synchronized (directionFromStartToNextMarkCacheLock) {
|
||||
directionFromStartToNextMarkCache = null;
|
||||
listeningTo.removeListener(StartToNextMarkCacheInvalidationListener.this);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -35,6 +35,7 @@
|
||||
<configurations>
|
||||
<plugin id="com.sap.sailing.gwt.ui" autoStart="true" startLevel="4" />
|
||||
<plugin id="com.sap.sailing.server" autoStart="true" startLevel="4" />
|
||||
<plugin id="com.sap.sailing.www" autoStart="true" startLevel="4" />
|
||||
<plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
|
||||
<plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="2" />
|
||||
<plugin id="org.eclipse.jetty.osgi.boot" autoStart="true" startLevel="3" />
|
||||
|
||||
@@ -166,4 +166,10 @@ Computes leaderboard information for sailing races and offers RESTful APIs to al
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.sap.sailing.www"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
</feature>
|
||||
+1
-1
@@ -9,8 +9,8 @@ import com.google.gwt.junit.client.GWTTestCase;
|
||||
import com.google.gwt.user.cellview.client.Column;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.domain.common.Util.Pair;
|
||||
import com.sap.sailing.gwt.ui.client.ExpandableSortableColumn;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.ExpandableSortableColumn;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.TracTracRaceRecordDAO;
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@ package com.sap.sailing.gwt.ui.test;
|
||||
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardPanel;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SortableColumn;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.SortableColumn;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDAO;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#Wed Jan 04 14:54:08 CET 2012
|
||||
#Fri Jan 06 00:20:10 CET 2012
|
||||
eclipse.preferences.version=1
|
||||
entryPointModules=
|
||||
filesCopiedToWebInfLib=gwt-servlet.jar
|
||||
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgLl1dPjwvZXh0cmEtYXJncz48dm0tYXJncz48IVtDREFUQVstWG14NTEybV1dPjwvdm0tYXJncz48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuQWRtaW5Db25zb2xlPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLkxlYWRlcmJvYXJkPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLkxlYWRlcmJvYXJkRWRpdGluZzwvZW50cnktcG9pbnQtbW9kdWxlPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmd3dC51aS5Vc2VyTWFuYWdlbWVudDwvZW50cnktcG9pbnQtbW9kdWxlPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmd3dC51aS5TcGVjdGF0b3I8L2VudHJ5LXBvaW50LW1vZHVsZT48L2d3dC1jb21waWxlLXNldHRpbmdzPg\=\=
|
||||
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgLiAtbG9jYWxXb3JrZXJzIDNdXT48L2V4dHJhLWFyZ3M+PHZtLWFyZ3M+PCFbQ0RBVEFbLVhteDUxMm1dXT48L3ZtLWFyZ3M+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLkFkbWluQ29uc29sZTwvZW50cnktcG9pbnQtbW9kdWxlPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmd3dC51aS5MZWFkZXJib2FyZDwvZW50cnktcG9pbnQtbW9kdWxlPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmd3dC51aS5MZWFkZXJib2FyZEVkaXRpbmc8L2VudHJ5LXBvaW50LW1vZHVsZT48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuVXNlck1hbmFnZW1lbnQ8L2VudHJ5LXBvaW50LW1vZHVsZT48L2d3dC1jb21waWxlLXNldHRpbmdzPg\=\=
|
||||
@@ -26,6 +26,9 @@ Require-Bundle: com.sap.sailing.domain,
|
||||
Bundle-Activator: com.sap.sailing.gwt.ui.server.Activator
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Export-Package: com.sap.sailing.gwt.ui.client;x-friends:="com.sap.sailing.gwt.ui.test",
|
||||
com.sap.sailing.gwt.ui.adminconsole;x-friends:="com.sap.sailing.gwt.ui.test",
|
||||
com.sap.sailing.gwt.ui.leaderboard;x-friends:="com.sap.sailing.gwt.ui.test",
|
||||
com.sap.sailing.gwt.ui.leaderboardedit;x-friends:="com.sap.sailing.gwt.ui.test",
|
||||
com.sap.sailing.gwt.ui.server;x-friends:="com.sap.sailing.gwt.ui.test",
|
||||
com.sap.sailing.gwt.ui.shared;x-friends:="com.sap.sailing.gwt.ui.test"
|
||||
Import-Package: org.osgi.framework,
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
<<<<<<< HEAD
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-war "${project_loc:com.sap.sailing.gwt.ui}" -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9997 -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/UserManagement.html com.sap.sailing.gwt.ui.UserManagement -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator"/>
|
||||
=======
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-war "${project_loc:com.sap.sailing.gwt.ui}" -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9997 -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/UserManagement.html com.sap.sailing.gwt.ui.UserManagement -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator com.sap.sailing.gwt.ui.Leaderboard"/>
|
||||
>>>>>>> gwt
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-war "${project_loc:com.sap.sailing.gwt.ui}" -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9997 -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/UserManagement.html com.sap.sailing.gwt.ui.UserManagement -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard"/>
|
||||
>>>>>>> origin/gwt
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
|
||||
</launchConfiguration>
|
||||
+4
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -6,6 +6,9 @@ import com.google.gwt.i18n.client.DateTimeFormat;
|
||||
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
|
||||
import com.google.gwt.text.client.DateTimeFormatRenderer;
|
||||
import com.google.gwt.user.client.ui.FormPanel;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
|
||||
public abstract class AbstractEventManagementPanel extends FormPanel implements EventDisplayer{
|
||||
+3
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
@@ -9,6 +9,8 @@ import com.google.gwt.event.logical.shared.SelectionHandler;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.RootPanel;
|
||||
import com.google.gwt.user.client.ui.TabPanel;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
|
||||
public class AdminConsole extends AbstractEntryPoint implements EventRefresher {
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
File renamed without changes.
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
|
||||
+4
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -22,6 +22,9 @@ import com.google.gwt.user.client.ui.MultiWordSuggestOracle;
|
||||
import com.google.gwt.user.client.ui.SuggestBox;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
|
||||
public class CreateSwissTimingRacePanel extends FormPanel {
|
||||
private TextBox txtbRaceName;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
public interface EventRefresher {
|
||||
void fillEvents();
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.canvas.client.Canvas;
|
||||
import com.google.gwt.canvas.dom.client.Context2d;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.cell.client.AbstractSafeHtmlCell;
|
||||
import com.google.gwt.cell.client.ValueUpdater;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.user.cellview.client.Column;
|
||||
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.safecss.shared.SafeStyles;
|
||||
@@ -7,6 +7,7 @@ import com.google.gwt.safehtml.client.SafeHtmlTemplates;
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.text.shared.SafeHtmlRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
|
||||
public class LeaderboardConfigImagesBarCell extends ImagesBarCell {
|
||||
|
||||
+5
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -43,6 +43,10 @@ import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.google.gwt.view.client.SingleSelectionModel;
|
||||
import com.sap.sailing.domain.common.Util.Pair;
|
||||
import com.sap.sailing.domain.common.Util.Triple;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceDAO;
|
||||
+5
-3
@@ -1,9 +1,11 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.IntegerBox;
|
||||
import com.google.gwt.user.client.ui.LongBox;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
|
||||
|
||||
public class LeaderboardCreateDialog extends LeaderboardDialog{
|
||||
@@ -14,7 +16,7 @@ public class LeaderboardCreateDialog extends LeaderboardDialog{
|
||||
|
||||
entryField = createTextBox(null);
|
||||
|
||||
discardThresholdBoxes = new IntegerBox[MAX_NUMBER_OF_DISCARDED_RESULTS];
|
||||
discardThresholdBoxes = new LongBox[MAX_NUMBER_OF_DISCARDED_RESULTS];
|
||||
for (int i = 0; i < discardThresholdBoxes.length; i++) {
|
||||
discardThresholdBoxes[i] = createIntegerBoxWithOptionalValue(null, 2);
|
||||
discardThresholdBoxes[i].setVisibleLength(2);
|
||||
+7
-4
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -6,11 +6,14 @@ import java.util.List;
|
||||
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.IntegerBox;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.LongBox;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.ui.client.DataEntryDialog;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
|
||||
|
||||
|
||||
@@ -19,7 +22,7 @@ public abstract class LeaderboardDialog extends DataEntryDialog<LeaderboardDAO>
|
||||
protected TextBox entryField;
|
||||
protected LeaderboardDAO leaderboard;
|
||||
|
||||
protected IntegerBox[] discardThresholdBoxes;
|
||||
protected LongBox[] discardThresholdBoxes;
|
||||
protected static final int MAX_NUMBER_OF_DISCARDED_RESULTS = 4;
|
||||
|
||||
protected static class LeaderboardParameterValidator implements Validator<LeaderboardDAO> {
|
||||
@@ -80,7 +83,7 @@ public abstract class LeaderboardDialog extends DataEntryDialog<LeaderboardDAO>
|
||||
for (int i = 0; i < discardThresholdBoxes.length; i++) {
|
||||
if (discardThresholdBoxes[i].getValue() != null
|
||||
&& discardThresholdBoxes[i].getValue().toString().length() > 0) {
|
||||
discardThresholds.add(discardThresholdBoxes[i].getValue());
|
||||
discardThresholds.add(discardThresholdBoxes[i].getValue().intValue());
|
||||
}
|
||||
}
|
||||
int[] discardThresholdsBoxContents = new int[discardThresholds.size()];
|
||||
+6
-4
@@ -1,9 +1,11 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.IntegerBox;
|
||||
import com.google.gwt.user.client.ui.LongBox;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
|
||||
|
||||
public class LeaderboardEditDialog extends LeaderboardDialog {
|
||||
@@ -15,10 +17,10 @@ public class LeaderboardEditDialog extends LeaderboardDialog {
|
||||
|
||||
entryField = createTextBox(leaderboard.name);
|
||||
|
||||
discardThresholdBoxes = new IntegerBox[MAX_NUMBER_OF_DISCARDED_RESULTS];
|
||||
discardThresholdBoxes = new LongBox[MAX_NUMBER_OF_DISCARDED_RESULTS];
|
||||
for (int i = 0; i < super.discardThresholdBoxes.length; i++) {
|
||||
if (i < leaderboard.discardThresholds.length) {
|
||||
discardThresholdBoxes[i] = createIntegerBox(leaderboard.discardThresholds[i], 2);
|
||||
discardThresholdBoxes[i] = createLongBox(leaderboard.discardThresholds[i], 2);
|
||||
} else {
|
||||
discardThresholdBoxes[i] = createIntegerBoxWithOptionalValue(null, 2);
|
||||
}
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.safecss.shared.SafeStyles;
|
||||
@@ -7,6 +7,7 @@ import com.google.gwt.safehtml.client.SafeHtmlTemplates;
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.text.shared.SafeHtmlRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
|
||||
public class LeaderboardRaceConfigImagesBarCell extends ImagesBarCell {
|
||||
|
||||
+3
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@@ -7,6 +7,8 @@ import com.google.gwt.user.client.ui.CheckBox;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.ui.client.DataEntryDialog;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDAO;
|
||||
|
||||
public class RaceInLeaderboardDialog extends DataEntryDialog<RaceInLeaderboardDAO> {
|
||||
+9
-2
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -57,6 +57,13 @@ import com.sap.sailing.domain.common.LegType;
|
||||
import com.sap.sailing.domain.common.Tack;
|
||||
import com.sap.sailing.domain.common.Util.Pair;
|
||||
import com.sap.sailing.domain.common.Util.Triple;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.client.TimeListener;
|
||||
import com.sap.sailing.gwt.ui.client.Timer;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.SmallWindHistoryPanel;
|
||||
import com.sap.sailing.gwt.ui.shared.CompetitorDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.GPSFixDAO;
|
||||
@@ -227,7 +234,7 @@ public class RaceMapPanel extends FormPanel implements EventDisplayer, TimeListe
|
||||
final EventRefresher eventRefresher, StringConstants stringConstants) {
|
||||
this.sailingService = sailingService;
|
||||
this.errorReporter = errorReporter;
|
||||
this.timer = new Timer(/* delayBetweenAutoAdvancesInMilliseconds */3000);
|
||||
this.timer = new Timer(/* delayBetweenAutoAdvancesInMilliseconds */500);
|
||||
competitorsSelectedInMap = new HashSet<CompetitorDAO>();
|
||||
tails = new HashMap<CompetitorDAO, Polyline>();
|
||||
firstShownFix = new HashMap<CompetitorDAO, Integer>();
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.common.Util.Triple;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
|
||||
+3
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -18,6 +18,8 @@ import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.ListBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.domain.common.Util.Triple;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
|
||||
+4
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -34,6 +34,9 @@ import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.google.gwt.view.client.MultiSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.SwissTimingConfigurationDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.SwissTimingRaceRecordDAO;
|
||||
+5
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@@ -14,6 +14,10 @@ import com.google.gwt.user.client.ui.FormPanel;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.gwt.ui.client.PlayStateListener;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.client.TimeListener;
|
||||
import com.sap.sailing.gwt.ui.client.Timer;
|
||||
import com.sap.ui.commons.client.SliderWidget;
|
||||
import com.sap.ui.core.client.event.Event;
|
||||
import com.sap.ui.core.client.event.EventListener;
|
||||
+4
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -35,6 +35,9 @@ import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.google.gwt.view.client.MultiSelectionModel;
|
||||
import com.sap.sailing.domain.common.Util.Pair;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.TracTracConfigurationDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.TracTracRaceRecordDAO;
|
||||
+5
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -35,6 +35,10 @@ import com.google.gwt.view.client.SelectionChangeEvent.Handler;
|
||||
import com.google.gwt.view.client.SelectionModel;
|
||||
import com.google.gwt.view.client.SingleSelectionModel;
|
||||
import com.sap.sailing.domain.common.Util.Triple;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.sap.sailing.server.api.EventNameAndRaceName;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.canvas.client.Canvas;
|
||||
import com.google.gwt.canvas.dom.client.Context2d;
|
||||
+6
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
@@ -55,6 +55,11 @@ import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.sap.sailing.domain.common.Util.Triple;
|
||||
import com.sap.sailing.domain.common.WindSource;
|
||||
import com.sap.sailing.gwt.ui.client.ColorMap;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
|
||||
+4
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -11,6 +11,9 @@ import com.google.gwt.user.client.ui.FormPanel;
|
||||
import com.google.gwt.user.client.ui.Grid;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.sap.sailing.domain.common.Util.Triple;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.PositionDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceDAO;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceDAO;
|
||||
@@ -2,6 +2,9 @@ package com.sap.sailing.gwt.ui.client;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.sap.sailing.gwt.ui.leaderboard.ChartsPanel;
|
||||
|
||||
|
||||
/**
|
||||
* Manages color assignments to objects.
|
||||
*
|
||||
|
||||
+19
-19
@@ -11,8 +11,8 @@ import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.CheckBox;
|
||||
import com.google.gwt.user.client.ui.DialogBox;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.IntegerBox;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.LongBox;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
@@ -123,36 +123,36 @@ public abstract class DataEntryDialog<T> {
|
||||
*
|
||||
* @param initialValue initial value to show in text box; <code>null</code> is permissible
|
||||
*/
|
||||
protected IntegerBox createIntegerBox(int initialValue, int visibleLength) {
|
||||
IntegerBox integerBox = new IntegerBox();
|
||||
integerBox.setVisibleLength(visibleLength);
|
||||
integerBox.setValue(initialValue);
|
||||
AbstractEntryPoint.addFocusUponKeyUpToggler(integerBox);
|
||||
integerBox.addChangeHandler(new ChangeHandler() {
|
||||
protected LongBox createLongBox(long initialValue, int visibleLength) {
|
||||
LongBox longBox = new LongBox();
|
||||
longBox.setVisibleLength(visibleLength);
|
||||
longBox.setValue(initialValue);
|
||||
AbstractEntryPoint.addFocusUponKeyUpToggler(longBox);
|
||||
longBox.addChangeHandler(new ChangeHandler() {
|
||||
@Override
|
||||
public void onChange(ChangeEvent event) {
|
||||
validate();
|
||||
}
|
||||
});
|
||||
AbstractEntryPoint.linkEnterToButton(getOkButton(), integerBox);
|
||||
AbstractEntryPoint.linkEscapeToButton(getCancelButton(), integerBox);
|
||||
return integerBox;
|
||||
AbstractEntryPoint.linkEnterToButton(getOkButton(), longBox);
|
||||
AbstractEntryPoint.linkEscapeToButton(getCancelButton(), longBox);
|
||||
return longBox;
|
||||
}
|
||||
|
||||
protected IntegerBox createIntegerBoxWithOptionalValue(Integer initialValue, int visibleLength) {
|
||||
IntegerBox integerBox = new IntegerBox();
|
||||
integerBox.setVisibleLength(visibleLength);
|
||||
integerBox.setValue(initialValue);
|
||||
AbstractEntryPoint.addFocusUponKeyUpToggler(integerBox);
|
||||
integerBox.addChangeHandler(new ChangeHandler() {
|
||||
protected LongBox createIntegerBoxWithOptionalValue(Long initialValue, int visibleLength) {
|
||||
LongBox longBox = new LongBox();
|
||||
longBox.setVisibleLength(visibleLength);
|
||||
longBox.setValue(initialValue);
|
||||
AbstractEntryPoint.addFocusUponKeyUpToggler(longBox);
|
||||
longBox.addChangeHandler(new ChangeHandler() {
|
||||
@Override
|
||||
public void onChange(ChangeEvent event) {
|
||||
validate();
|
||||
}
|
||||
});
|
||||
AbstractEntryPoint.linkEnterToButton(getOkButton(), integerBox);
|
||||
AbstractEntryPoint.linkEscapeToButton(getCancelButton(), integerBox);
|
||||
return integerBox;
|
||||
AbstractEntryPoint.linkEnterToButton(getOkButton(), longBox);
|
||||
AbstractEntryPoint.linkEscapeToButton(getCancelButton(), longBox);
|
||||
return longBox;
|
||||
}
|
||||
|
||||
protected CheckBox createCheckbox(String checkboxLabel) {
|
||||
|
||||
-87
@@ -1,87 +0,0 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
|
||||
import com.google.gwt.cell.client.AbstractCell;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.google.gwt.view.client.MultiSelectionModel;
|
||||
import com.google.gwt.view.client.SelectionModel;
|
||||
import com.google.gwt.view.client.SingleSelectionModel;
|
||||
import com.google.gwt.view.client.TreeViewModel;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
|
||||
|
||||
public class TrackedEventsTreeModel implements TreeViewModel {
|
||||
private final SelectionModel<?> selectionModel;
|
||||
|
||||
private final ListDataProvider<EventDAO> events;
|
||||
|
||||
public TrackedEventsTreeModel(ListDataProvider<EventDAO> eventsList, boolean multiSelection) {
|
||||
this.events = eventsList;
|
||||
selectionModel = multiSelection ? new MultiSelectionModel<Object>() : new SingleSelectionModel<Object>();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T> SelectionModel<T> getSelectionModel() {
|
||||
return (SelectionModel<T>) selectionModel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> NodeInfo<?> getNodeInfo(T value) {
|
||||
if (value == null) {
|
||||
return new DefaultNodeInfo<EventDAO>(events, new EventCell(),
|
||||
getSelectionModel(), /* valueUpdater */ null);
|
||||
} else if (value instanceof EventDAO) {
|
||||
return new DefaultNodeInfo<RegattaDAO>(new ListDataProvider<RegattaDAO>(((EventDAO) value).regattas), new RegattaCell(),
|
||||
getSelectionModel(), /* valueUpdater */ null);
|
||||
} else if (value instanceof RegattaDAO) {
|
||||
return new DefaultNodeInfo<RaceDAO>(new ListDataProvider<RaceDAO>(((RegattaDAO) value).races), new RaceCell(),
|
||||
getSelectionModel(), /* valueUpdater */ null);
|
||||
} else if (value instanceof RaceDAO) {
|
||||
return null; // TODO do we need to return something more "useful" here?
|
||||
} else {
|
||||
throw new RuntimeException("Unknown object type in event tree: "+value+" ("+value.getClass().getName()+")");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLeaf(Object value) {
|
||||
if (value == null) { // root
|
||||
return false;
|
||||
} else if (value instanceof EventDAO) {
|
||||
return false;
|
||||
} else if (value instanceof RegattaDAO) {
|
||||
return ((RegattaDAO) value).races.isEmpty();
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public Object getRoot() {
|
||||
return null;
|
||||
}
|
||||
|
||||
private class EventCell extends AbstractCell<EventDAO> {
|
||||
@Override
|
||||
public void render(com.google.gwt.cell.client.Cell.Context context, EventDAO value, SafeHtmlBuilder sb) {
|
||||
sb.appendEscaped(value.name);
|
||||
}
|
||||
}
|
||||
|
||||
private class RegattaCell extends AbstractCell<RegattaDAO> {
|
||||
@Override
|
||||
public void render(com.google.gwt.cell.client.Cell.Context context, RegattaDAO value, SafeHtmlBuilder sb) {
|
||||
sb.appendEscaped(value.boatClass.name);
|
||||
}
|
||||
}
|
||||
|
||||
private class RaceCell extends AbstractCell<RaceDAO> {
|
||||
@Override
|
||||
public void render(com.google.gwt.cell.client.Cell.Context context, RaceDAO value, SafeHtmlBuilder sb) {
|
||||
sb.appendEscaped(value.name);
|
||||
if (value.currentlyTracked) {
|
||||
sb.appendEscaped(" (tracked)");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.google.gwt.dom.client.NodeList;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
import com.google.gwt.view.client.SelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardPanel.LeaderboardTableResources;
|
||||
|
||||
/**
|
||||
* Uses {@link SortableColumn#getHeaderStyle()} to optionally add a custom CSS style to the <th> table
|
||||
+6
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@@ -56,6 +56,11 @@ import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.Util.Pair;
|
||||
import com.sap.sailing.gwt.ui.client.ColorMap;
|
||||
import com.sap.sailing.gwt.ui.client.DetailTypeFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.CompetitorDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.CompetitorInRaceDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.CompetitorsAndTimePointsDAO;
|
||||
+6
-3
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -14,8 +14,11 @@ import com.google.gwt.user.client.ui.DialogBox;
|
||||
import com.google.gwt.user.client.ui.FlexTable;
|
||||
import com.google.gwt.user.client.ui.HTML;
|
||||
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
|
||||
import com.sap.sailing.gwt.ui.client.ChartsPanel.DataLoadedEvent;
|
||||
import com.sap.sailing.gwt.ui.client.ChartsPanel.DataLoadedHandler;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.ChartsPanel.DataLoadedEvent;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.ChartsPanel.DataLoadedHandler;
|
||||
import com.sap.sailing.gwt.ui.shared.CompetitorDAO;
|
||||
import com.sap.sailing.server.api.RaceIdentifier;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import com.google.gwt.cell.client.AbstractCell;
|
||||
import com.google.gwt.cell.client.ActionCell;
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -12,6 +12,7 @@ import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
import com.google.gwt.user.cellview.client.Header;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDAO;
|
||||
import com.sap.sailing.server.api.DetailType;
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import com.google.gwt.cell.client.Cell.Context;
|
||||
import com.google.gwt.cell.client.TextCell;
|
||||
@@ -13,7 +13,7 @@ public class FormattedDoubleLegDetailColumn extends LegDetailColumn<Double, Stri
|
||||
private final MinMaxRenderer minMaxRenderer;
|
||||
|
||||
public FormattedDoubleLegDetailColumn(String title, String unit,
|
||||
com.sap.sailing.gwt.ui.client.LegDetailColumn.LegDetailField<Double> field, int decimals,
|
||||
com.sap.sailing.gwt.ui.leaderboard.LegDetailColumn.LegDetailField<Double> field, int decimals,
|
||||
CellTable<LeaderboardRowDAO> leaderboardTable, String headerStyle, String columnStyle) {
|
||||
super(title, unit, field, new TextCell(), leaderboardTable, headerStyle, columnStyle);
|
||||
StringBuilder patternBuilder = new StringBuilder("0");
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDAO;
|
||||
|
||||
+3
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.RootPanel;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.client.LogoAndTitlePanel;
|
||||
|
||||
|
||||
public class LeaderboardPage extends AbstractEntryPoint {
|
||||
+9
-46
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -35,8 +35,15 @@ import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.google.gwt.view.client.MultiSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.Collator;
|
||||
import com.sap.sailing.gwt.ui.client.DataEntryDialog.Validator;
|
||||
import com.sap.sailing.gwt.ui.client.LegDetailColumn.LegDetailField;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.PlayStateListener;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.client.TimeListener;
|
||||
import com.sap.sailing.gwt.ui.client.Timer;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LegDetailColumn.LegDetailField;
|
||||
import com.sap.sailing.gwt.ui.shared.CompetitorDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardEntryDAO;
|
||||
@@ -198,50 +205,6 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta
|
||||
}
|
||||
}
|
||||
|
||||
public interface LeaderboardTableResources extends CellTable.Resources {
|
||||
interface LeaderboardTableStyle extends CellTable.Style {
|
||||
/**
|
||||
* Applied to header cells of race columns
|
||||
*/
|
||||
String cellTableRaceColumnHeader();
|
||||
|
||||
/**
|
||||
* Applied to header cells of race columns
|
||||
*/
|
||||
String cellTableLegColumnHeader();
|
||||
|
||||
/**
|
||||
* Applied to header cells of race columns
|
||||
*/
|
||||
String cellTableLegDetailColumnHeader();
|
||||
|
||||
/**
|
||||
* Applied to detail columns
|
||||
*/
|
||||
String cellTableLegDetailColumn();
|
||||
|
||||
/**
|
||||
* Applied to race columns
|
||||
*/
|
||||
String cellTableRaceColumn();
|
||||
|
||||
/**
|
||||
* Applied to leg columns
|
||||
*/
|
||||
String cellTableLegColumn();
|
||||
|
||||
/**
|
||||
* Applied to the totals columns
|
||||
*/
|
||||
String cellTableTotalColumn();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Source({ CellTable.Style.DEFAULT_CSS, "LeaderboardTable.css" })
|
||||
LeaderboardTableStyle cellTableStyle();
|
||||
}
|
||||
|
||||
protected class CompetitorColumn extends SortableColumn<LeaderboardRowDAO, String> {
|
||||
|
||||
protected CompetitorColumn() {
|
||||
+13
-10
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
@@ -8,11 +8,14 @@ import java.util.Map;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.CheckBox;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.IntegerBox;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.LongBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardSettingsPanel.Result;
|
||||
import com.sap.sailing.gwt.ui.client.DataEntryDialog;
|
||||
import com.sap.sailing.gwt.ui.client.DetailTypeFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettingsPanel.Result;
|
||||
import com.sap.sailing.server.api.DetailType;
|
||||
|
||||
public class LeaderboardSettingsPanel extends DataEntryDialog<Result> {
|
||||
@@ -26,8 +29,8 @@ public class LeaderboardSettingsPanel extends DataEntryDialog<Result> {
|
||||
private final Map<DetailType, CheckBox> legDetailCheckboxes;
|
||||
private final Map<DetailType, CheckBox> raceDetailCheckboxes;
|
||||
private final StringConstants stringConstants;
|
||||
private final IntegerBox delayBetweenAutoAdvancesInSecondsBox;
|
||||
private final IntegerBox delayInSecondsBox;
|
||||
private final LongBox delayBetweenAutoAdvancesInSecondsBox;
|
||||
private final LongBox delayInSecondsBox;
|
||||
|
||||
public static class Result {
|
||||
private final List<String> raceColumnsToShow;
|
||||
@@ -86,8 +89,8 @@ public class LeaderboardSettingsPanel extends DataEntryDialog<Result> {
|
||||
maneuverDetailCheckboxes = new LinkedHashMap<DetailType, CheckBox>();
|
||||
legDetailCheckboxes = new LinkedHashMap<DetailType, CheckBox>();
|
||||
raceDetailCheckboxes = new LinkedHashMap<DetailType, CheckBox>();
|
||||
delayBetweenAutoAdvancesInSecondsBox = createIntegerBox((int) delayBetweenAutoAdvancesInMilliseconds/1000, 4);
|
||||
delayInSecondsBox = createIntegerBox((int) delayInMilliseconds/1000, 4);
|
||||
delayBetweenAutoAdvancesInSecondsBox = createLongBox(delayBetweenAutoAdvancesInMilliseconds/1000l, 4);
|
||||
delayInSecondsBox = createLongBox(delayInMilliseconds/1000l, 4);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -171,9 +174,9 @@ public class LeaderboardSettingsPanel extends DataEntryDialog<Result> {
|
||||
raceColumnsToShow.add(entry.getKey());
|
||||
}
|
||||
}
|
||||
Integer delayBetweenAutoAdvancesValue = delayBetweenAutoAdvancesInSecondsBox.getValue();
|
||||
Integer delayInSecondsValue = delayInSecondsBox.getValue();
|
||||
return new Result(maneuverDetailsToShow, legDetailsToShow, raceDetailsToShow, raceColumnsToShow, 1000*(delayBetweenAutoAdvancesValue==null?0:delayBetweenAutoAdvancesValue.longValue()),
|
||||
Long delayBetweenAutoAdvancesValue = delayBetweenAutoAdvancesInSecondsBox.getValue();
|
||||
Long delayInSecondsValue = delayInSecondsBox.getValue();
|
||||
return new Result(maneuverDetailsToShow, legDetailsToShow, raceDetailsToShow, raceColumnsToShow, 1000l*(delayBetweenAutoAdvancesValue==null?0l:delayBetweenAutoAdvancesValue.longValue()),
|
||||
1000*(delayInSecondsValue==null?0:delayInSecondsValue.longValue()));
|
||||
}
|
||||
|
||||
File renamed without changes.
+47
@@ -0,0 +1,47 @@
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
|
||||
public interface LeaderboardTableResources extends CellTable.Resources {
|
||||
interface LeaderboardTableStyle extends CellTable.Style {
|
||||
/**
|
||||
* Applied to header cells of race columns
|
||||
*/
|
||||
String cellTableRaceColumnHeader();
|
||||
|
||||
/**
|
||||
* Applied to header cells of race columns
|
||||
*/
|
||||
String cellTableLegColumnHeader();
|
||||
|
||||
/**
|
||||
* Applied to header cells of race columns
|
||||
*/
|
||||
String cellTableLegDetailColumnHeader();
|
||||
|
||||
/**
|
||||
* Applied to detail columns
|
||||
*/
|
||||
String cellTableLegDetailColumn();
|
||||
|
||||
/**
|
||||
* Applied to race columns
|
||||
*/
|
||||
String cellTableRaceColumn();
|
||||
|
||||
/**
|
||||
* Applied to leg columns
|
||||
*/
|
||||
String cellTableLegColumn();
|
||||
|
||||
/**
|
||||
* Applied to the totals columns
|
||||
*/
|
||||
String cellTableTotalColumn();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Source({ CellTable.Style.DEFAULT_CSS, "LeaderboardTable.css" })
|
||||
LeaderboardTableResources.LeaderboardTableStyle cellTableStyle();
|
||||
}
|
||||
+3
-2
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
@@ -9,7 +9,8 @@ import com.google.gwt.cell.client.TextCell;
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
import com.google.gwt.user.cellview.client.Header;
|
||||
import com.sap.sailing.gwt.ui.client.LegDetailColumn.LegDetailField;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LegDetailColumn.LegDetailField;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardEntryDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LegEntryDAO;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
+4
-3
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
@@ -10,13 +10,14 @@ import com.google.gwt.cell.client.TextCell;
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.user.cellview.client.Header;
|
||||
import com.sap.sailing.domain.common.Util.Triple;
|
||||
import com.sap.sailing.gwt.ui.client.LegDetailColumn.LegDetailField;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LegDetailColumn.LegDetailField;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardEntryDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LegEntryDAO;
|
||||
import com.sap.sailing.server.api.DetailType;
|
||||
import com.sap.sailing.domain.common.Util.Triple;
|
||||
|
||||
public class ManeuverCountRaceColumn extends ExpandableSortableColumn<String> implements HasStringAndDoubleValue {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
+1
-2
@@ -1,6 +1,5 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardPanel.RaceColumn;
|
||||
|
||||
/**
|
||||
* In the particular case of a {@link RaceColumn}, this interface helps to decouple the life cycle of the child columns,
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import com.google.gwt.cell.client.AbstractSafeHtmlCell;
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
+7
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -10,6 +10,12 @@ import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.domain.common.Util.Triple;
|
||||
import com.sap.sailing.domain.common.WindSource;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.WindIndicator;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.client.TimeListener;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.PositionDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceDAO;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboard;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -22,6 +22,7 @@ import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
import com.google.gwt.user.cellview.client.Header;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
|
||||
/**
|
||||
* A {@link CellTable} {@link Header} implementation that uses a {@link CompositeCell} containing a
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboardedit;
|
||||
|
||||
|
||||
public class AbstractRowUpdateWhiteboardProducer<T> implements RowUpdateWhiteboardProducer<T> {
|
||||
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboardedit;
|
||||
|
||||
|
||||
|
||||
public abstract class AbstractRowUpdateWhiteboardProducerThatHasCell<T, C> extends AbstractRowUpdateWhiteboardProducer<T>
|
||||
+5
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboardedit;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -14,6 +14,10 @@ import com.google.gwt.cell.client.SelectionCell;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.domain.common.Util.Pair;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringConstants;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
|
||||
import com.sap.sailing.gwt.ui.shared.CompetitorDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardEntryDAO;
|
||||
+3
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboardedit;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.RootPanel;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.client.LogoAndTitlePanel;
|
||||
|
||||
public class LeaderboardEditPage extends AbstractEntryPoint {
|
||||
@Override
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboardedit;
|
||||
|
||||
import com.google.gwt.cell.client.CompositeCell;
|
||||
import com.google.gwt.cell.client.FieldUpdater;
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboardedit;
|
||||
|
||||
|
||||
public interface RowUpdateWhiteboardOwner<T> {
|
||||
void whiteboardProduced(RowUpdateWhiteboard<T> whiteboard);
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboardedit;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.leaderboardedit;
|
||||
|
||||
import com.google.gwt.cell.client.HasCell;
|
||||
|
||||
+1
-1
@@ -822,7 +822,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS
|
||||
}
|
||||
|
||||
protected RacingEventService getService() {
|
||||
return (RacingEventService) racingEventServiceTracker.getService(); // grab the service
|
||||
return racingEventServiceTracker.getService(); // grab the service
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
-2
@@ -3,8 +3,6 @@ package com.sap.sailing.gwt.ui.shared;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.user.client.rpc.IsSerializable;
|
||||
import com.sap.sailing.domain.base.Course;
|
||||
import com.sap.sailing.domain.base.Leg;
|
||||
|
||||
/**
|
||||
* Holds a single competitor's scoring details for a single race. It may optionally contain
|
||||
|
||||
@@ -3,8 +3,6 @@ package com.sap.sailing.gwt.ui.shared;
|
||||
import java.util.Date;
|
||||
|
||||
import com.google.gwt.user.client.rpc.IsSerializable;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.domain.tractracadapter.TracTracRaceTracker;
|
||||
|
||||
public class RaceDAO extends NamedDAO implements IsSerializable {
|
||||
public Iterable<CompetitorDAO> competitors;
|
||||
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
package com.sap.sailing.gwt.ui.usermanagement;
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
@@ -11,6 +11,7 @@ import com.google.gwt.user.client.ui.PasswordTextBox;
|
||||
import com.google.gwt.user.client.ui.RootPanel;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.shared.Base64Utils;
|
||||
|
||||
public class UserManagementPage extends AbstractEntryPoint {
|
||||
+3
-1
@@ -31,7 +31,7 @@
|
||||
<inherits name="com.sap.sailing.domain.SailingDomain" />
|
||||
|
||||
<!-- Specify the app entry point class. -->
|
||||
<entry-point class='com.sap.sailing.gwt.ui.client.AdminConsole'/>
|
||||
<entry-point class='com.sap.sailing.gwt.ui.adminconsole.AdminConsole'/>
|
||||
|
||||
<set-property name="gwt.logging.enabled" value="TRUE"/>
|
||||
<set-property name="gwt.logging.logLevel" value="FINE"/>
|
||||
@@ -46,6 +46,8 @@
|
||||
<!-- Specify the paths for translatable code -->
|
||||
<extend-property name="locale" values="de"/>
|
||||
<source path='client'/>
|
||||
<source path='adminconsole'/>
|
||||
<source path='leaderboard'/>
|
||||
<source path='shared'/>
|
||||
<source path='test'/>
|
||||
</module>
|
||||
+2
-1
@@ -29,9 +29,10 @@
|
||||
<inherits name="com.sap.sailing.domain.SailingDomain" />
|
||||
|
||||
<!-- Specify the app entry point class. -->
|
||||
<entry-point class='com.sap.sailing.gwt.ui.client.LeaderboardPage'/>
|
||||
<entry-point class='com.sap.sailing.gwt.ui.leaderboard.LeaderboardPage'/>
|
||||
<!-- Specify the paths for translatable code -->
|
||||
<extend-property name="locale" values="de"/>
|
||||
<source path='client'/>
|
||||
<source path='leaderboard'/>
|
||||
<source path='shared'/>
|
||||
</module>
|
||||
+3
-1
@@ -28,10 +28,12 @@
|
||||
<inherits name="com.sap.sailing.domain.SailingDomain" />
|
||||
|
||||
<!-- Specify the app entry point class. -->
|
||||
<entry-point class='com.sap.sailing.gwt.ui.client.LeaderboardEditPage'/>
|
||||
<entry-point class='com.sap.sailing.gwt.ui.leaderboardedit.LeaderboardEditPage'/>
|
||||
|
||||
<!-- Specify the paths for translatable code -->
|
||||
<extend-property name="locale" values="de"/>
|
||||
<source path='client'/>
|
||||
<source path='leaderboard'/>
|
||||
<source path='leaderboardedit'/>
|
||||
<source path='shared'/>
|
||||
</module>
|
||||
+2
-1
@@ -28,10 +28,11 @@
|
||||
<inherits name="com.sap.sailing.domain.SailingDomain" />
|
||||
|
||||
<!-- Specify the app entry point class. -->
|
||||
<entry-point class='com.sap.sailing.gwt.ui.client.UserManagementPage'/>
|
||||
<entry-point class='com.sap.sailing.gwt.ui.usermanagement.UserManagementPage'/>
|
||||
|
||||
<!-- Specify the paths for translatable code -->
|
||||
<extend-property name="locale" values="de"/>
|
||||
<source path='client'/>
|
||||
<source path='usermanagement'/>
|
||||
<source path='shared'/>
|
||||
</module>
|
||||
@@ -17,12 +17,12 @@
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -clean"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dexpedition.udp.port=2010 -Xmx1024m -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dexpedition.udp.port=2010 -Xmx4096m -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<stringAttribute key="target_bundles" value="com.sap.ui5.commons@default:default,com.sap.ui5.core@default:default,com.sap.ui5.gwt.commons@default:default,com.sap.ui5.gwt.core@default:default,com.sap.ui5.resource.osgi@default:false,com.sap.ui5.resource@default:default,javax.servlet@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.jmx@default:default,org.eclipse.jetty.nested@default:default,org.eclipse.jetty.osgi.boot@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,slf4j.api@default:default,slf4j.jdk14@default:false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server.api@default:default,com.sap.sailing.server@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xcelsiusadapter@default:default,com.tractrac.clientmodule@default:default,com.tractrac.resultapi@default:default,org.json.simple@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server.api@default:default,com.sap.sailing.server@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xcelsiusadapter@default:default,com.tractrac.clientmodule@default:default,com.tractrac.resultapi@default:default,org.json.simple@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -23,5 +23,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server.api@default:default,com.sap.sailing.server@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xcelsiusadapter@default:default,com.tractrac.clientmodule@default:default,com.tractrac.resultapi@default:default,org.json.simple@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server.api@default:default,com.sap.sailing.server@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xcelsiusadapter@default:default,com.tractrac.clientmodule@default:default,com.tractrac.resultapi@default:default,org.json.simple@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -24,5 +24,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server.api@default:default,com.sap.sailing.server@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xcelsiusadapter@default:default,com.tractrac.clientmodule@default:default,com.tractrac.resultapi@default:default,org.json.simple@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server.api@default:default,com.sap.sailing.server@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xcelsiusadapter@default:default,com.tractrac.clientmodule@default:default,com.tractrac.resultapi@default:default,org.json.simple@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -24,5 +24,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server.api@default:default,com.sap.sailing.server@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xcelsiusadapter@default:default,com.tractrac.clientmodule@default:default,com.tractrac.resultapi@default:default,org.json.simple@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server.api@default:default,com.sap.sailing.server@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xcelsiusadapter@default:default,com.tractrac.clientmodule@default:default,com.tractrac.resultapi@default:default,org.json.simple@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
|
||||
<booleanAttribute key="append.args" value="true"/>
|
||||
<booleanAttribute key="automaticAdd" value="true"/>
|
||||
<booleanAttribute key="automaticAdd" value="false"/>
|
||||
<booleanAttribute key="automaticValidate" value="false"/>
|
||||
<stringAttribute key="bad_container_name" value="\com.sap."/>
|
||||
<stringAttribute key="bootstrap" value=""/>
|
||||
@@ -26,5 +26,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="true"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils.test@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination.test@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.test@default:default,com.sap.sailing.domain.swisstimingadapter@default:default,com.sap.sailing.domain.test@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector.test@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.gwt.ui.test@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.mongodb.test@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server.api@default:default,com.sap.sailing.server.test@default:default,com.sap.sailing.server@default:default,com.sap.sailing.targetplatform@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xcelsiusadapter@default:default,com.tractrac.clientmodule@default:default,com.tractrac.resultapi@default:default,org.json.simple@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils.test@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.declination.test@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter.test@default:default,com.sap.sailing.domain.swisstimingadapter@default:default,com.sap.sailing.domain.test@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector.test@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.gwt.ui.test@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.mongodb.test@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.server.api@default:default,com.sap.sailing.server.test@default:default,com.sap.sailing.server@default:default,com.sap.sailing.targetplatform@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xcelsiusadapter@default:default,com.tractrac.clientmodule@default:default,com.tractrac.resultapi@default:default,org.json.simple@default:default"/>
|
||||
</launchConfiguration>
|
||||
+1
@@ -418,6 +418,7 @@ public class RacingEventServiceImpl implements RacingEventService, EventFetcher,
|
||||
stopTracking(event);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.throwing(RacingEventServiceImpl.class.getName(), "scheduleAbortTrackerAfterInitialTimeout", e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?pde version="3.6"?>
|
||||
|
||||
<target name="Race Analysis Target (IDE external)" sequenceNumber="49">
|
||||
<locations>
|
||||
<location includeAllPlatforms="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
|
||||
<unit id="com.sap.ui5.runtime.feature.feature.group" version="1.1.0"/>
|
||||
<unit id="com.sap.ui5.uilib.feature.feature.group" version="1.1.0"/>
|
||||
<unit id="com.sap.ui5.gwt.core.feature.feature.group" version="1.1.0"/>
|
||||
<repository location="http://sapcoe-app01.pironet-ndh.com/p2/sap/com.sap.ui5.updatesite-1.1.0-assembly"/>
|
||||
</location>
|
||||
<location includeAllPlatforms="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
|
||||
<unit id="org.eclipse.jetty.bundles.f.feature.group" version="7.5.4"/>
|
||||
<repository location="http://download.eclipse.org/jetty/updates/jetty-bundles-7.x/7.5.4.v20111024/"/>
|
||||
</location>
|
||||
<location includeAllPlatforms="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
|
||||
<unit id="com.sap.sailing.target.base.feature.group" version="1.0.0"/>
|
||||
<unit id="com.sap.sailing.target.test.feature.group" version="1.0.0"/>
|
||||
<repository location="http://sapcoe-app01.pironet-ndh.com/p2/sailing/"/>
|
||||
</location>
|
||||
<location includeAllPlatforms="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
|
||||
<unit id="org.eclipse.equinox.core.sdk.feature.group" version="3.7.1.R37x_v20110907-7uF9LFpFFSuN6-tKJIXPMYaq7NTP"/>
|
||||
<repository location="http://download.eclipse.org/releases/indigo"/>
|
||||
</location>
|
||||
</locations>
|
||||
</target>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
@@ -0,0 +1 @@
|
||||
/bin
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.sap.sailing.www</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,8 @@
|
||||
#Thu Jan 05 04:46:52 CET 2012
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
||||
@@ -0,0 +1,4 @@
|
||||
#Thu Jan 05 04:46:52 CET 2012
|
||||
eclipse.preferences.version=1
|
||||
pluginProject.extensions=false
|
||||
resolve.requirebundle=false
|
||||
@@ -0,0 +1,11 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: www
|
||||
Bundle-SymbolicName: com.sap.sailing.www
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Web-ContextPath: /
|
||||
Import-Package: javax.servlet;version="2.5.0",
|
||||
javax.servlet.http;version="2.5.0"
|
||||
Bundle-ClassPath: WEB-INF/classes/
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://java.sun.com/xml/ns/javaee"
|
||||
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
|
||||
</web-app>
|
||||
@@ -0,0 +1,6 @@
|
||||
bin.includes = META-INF/,\
|
||||
WEB-INF/web.xml,\
|
||||
index.html,\
|
||||
sap.ico,\
|
||||
images/,\
|
||||
main.css
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 217 B |
@@ -0,0 +1,19 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>SAP Sailing Analytics Suite</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="content-style-type" content="text/css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="/sap.ico" />
|
||||
<link href="main.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<h2>SAP Sailing Analytics Suite</h2>
|
||||
|
||||
<b>Übersicht über die SAP Sailing Analytics Suite</b>
|
||||
<div style="height:1em;"></div>
|
||||
|
||||
<a href="/gwt/AdminConsole.html"><b>Administrator Console</b></a><br/>
|
||||
<a href="/gwt/Leaderboard.html"><b>Leaderboard</b></a><br/>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,4 @@
|
||||
body {
|
||||
background: url(images/header_bg.png) 0 0 repeat-x;
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
margin-top: 0; }
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>root</artifactId>
|
||||
<groupId>com.sap.sailing</groupId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.sap.sailing.www</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
</project>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
Loaded 100 of 105 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user