mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-11 23:00:59 +00:00
added "list races" capability including result table sorting
This commit is contained in:
1 parent
c141753ab9
commit
349d39c997
41 files changed
+26996
-20915
No files matched your search
+20
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="2"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=com.sap.sailing.domain.test/src<com.sap.sailing.domain.test"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
|
||||
<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.domain.test"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -XX:+UseParallelGC"/>
|
||||
</launchConfiguration>
|
||||
+52
-1
@@ -2,18 +2,57 @@ package com.sap.sailing.domain.tractracadapter;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.sap.sailing.domain.base.TimePoint;
|
||||
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
|
||||
import com.sap.sailing.util.DateParser;
|
||||
import com.sap.sailing.util.InvalidDateException;
|
||||
|
||||
public class RaceRecord {
|
||||
private static final Logger logger = Logger.getLogger(RaceRecord.class.getName());
|
||||
|
||||
private final String name;
|
||||
private final String replayURL;
|
||||
private final String ID;
|
||||
private final URL paramURL;
|
||||
private final TimePoint trackingstarttime;
|
||||
private final TimePoint trackingendtime;
|
||||
private final TimePoint racestarttime;
|
||||
|
||||
public RaceRecord(URL jsonURL, String name, String replayURL, String ID) throws MalformedURLException {
|
||||
public RaceRecord(URL jsonURL, String name, String replayURL, String ID, String trackingstarttime,
|
||||
String trackingendtime, String racestarttime) throws MalformedURLException {
|
||||
super();
|
||||
this.name = name;
|
||||
this.replayURL = replayURL;
|
||||
this.ID = ID;
|
||||
TimePoint tp = null;
|
||||
if (trackingstarttime != null) {
|
||||
try {
|
||||
tp = new MillisecondsTimePoint(DateParser.parse(trackingstarttime).getTime());
|
||||
} catch (InvalidDateException e) {
|
||||
logger.warning("Unable to parse trackingstarttime of race "+name+": "+trackingstarttime+". Leaving null.");
|
||||
}
|
||||
}
|
||||
this.trackingstarttime = tp;
|
||||
tp = null;
|
||||
if (trackingendtime != null) {
|
||||
try {
|
||||
tp = new MillisecondsTimePoint(DateParser.parse(trackingendtime).getTime());
|
||||
} catch (InvalidDateException e) {
|
||||
logger.warning("Unable to parse trackingendtime of race "+name+": "+trackingendtime+". Leaving null.");
|
||||
}
|
||||
}
|
||||
this.trackingendtime = tp;
|
||||
tp = null;
|
||||
if (racestarttime != null) {
|
||||
try {
|
||||
tp = new MillisecondsTimePoint(DateParser.parse(racestarttime).getTime());
|
||||
} catch (InvalidDateException e) {
|
||||
logger.warning("Unable to parse racestarttime of race "+name+": "+racestarttime+". Leaving null.");
|
||||
}
|
||||
}
|
||||
this.racestarttime = tp;
|
||||
|
||||
String jsonURLAsString = jsonURL.toString();
|
||||
int indexOfLastSlash = jsonURLAsString.lastIndexOf('/');
|
||||
@@ -38,6 +77,18 @@ public class RaceRecord {
|
||||
public URL getParamURL() {
|
||||
return paramURL;
|
||||
}
|
||||
|
||||
public TimePoint getTrackingStartTime() {
|
||||
return trackingstarttime;
|
||||
}
|
||||
|
||||
public TimePoint getTrackingEndTime() {
|
||||
return trackingendtime;
|
||||
}
|
||||
|
||||
public TimePoint getRaceStartTime() {
|
||||
return racestarttime;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+4
-1
@@ -27,7 +27,10 @@ public class JSONServiceImpl implements JSONService {
|
||||
for (Object raceEntry : (JSONArray) jsonObject.get("races")) {
|
||||
JSONObject jsonRaceEntry = (JSONObject) raceEntry;
|
||||
RaceRecord raceRecord = new RaceRecord(jsonURL, (String) jsonRaceEntry.get("name"),
|
||||
(String) jsonRaceEntry.get("url"), (String) jsonRaceEntry.get("id"));
|
||||
(String) jsonRaceEntry.get("url"), (String) jsonRaceEntry.get("id"),
|
||||
(String) jsonRaceEntry.get("tracking_starttime"),
|
||||
(String) jsonRaceEntry.get("tracking_endtime"),
|
||||
(String) jsonRaceEntry.get("race_starttime"));
|
||||
raceRecords.add(raceRecord);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
// $Id: DateParser.java,v 1.5 2005/05/14 15:53:00 dbarashev Exp $
|
||||
// (c) COPYRIGHT MIT, INRIA and Keio, 2000.
|
||||
// Please first read the full copyright statement in file COPYRIGHT.html
|
||||
package com.sap.sailing.server.util;
|
||||
package com.sap.sailing.util;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.server.util;
|
||||
package com.sap.sailing.util;
|
||||
|
||||
public class InvalidDateException extends Exception {
|
||||
private static final long serialVersionUID = 1144913537358071746L;
|
||||
@@ -7,6 +7,13 @@ Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Eclipse-RegisterBuddy: com.google.gwt.osgi
|
||||
Require-Bundle: javax.servlet;bundle-version="2.5.0",
|
||||
com.google.gwt.osgi;bundle-version="2.3.0"
|
||||
com.google.gwt.osgi;bundle-version="2.3.0",
|
||||
com.sap.sailing.domain,
|
||||
com.sap.sailing.server,
|
||||
org.eclipse.osgi,
|
||||
com.sap.sailing.domain.tractracadapter,
|
||||
org.json.simple;bundle-version="1.1.0"
|
||||
Bundle-ClassPath: war/WEB-INF/classes/,
|
||||
.
|
||||
Bundle-Activator: com.sap.sailing.gwt.ui.server.Activator
|
||||
Bundle-ActivationPolicy: lazy
|
||||
+108
-17
@@ -1,14 +1,22 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.cell.client.AbstractCell;
|
||||
import com.google.gwt.cell.client.Cell;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.event.dom.client.KeyUpEvent;
|
||||
import com.google.gwt.event.dom.client.KeyUpHandler;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.user.cellview.client.CellList;
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
import com.google.gwt.user.cellview.client.Column;
|
||||
import com.google.gwt.user.cellview.client.ColumnSortEvent.Handler;
|
||||
import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
|
||||
import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.FormPanel;
|
||||
@@ -20,7 +28,10 @@ import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.ListBox;
|
||||
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.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceRecordDAO;
|
||||
|
||||
/**
|
||||
* Allows the user to start and stop tracking of events, regattas and races using the TracTrac connector.
|
||||
@@ -36,7 +47,7 @@ import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
*
|
||||
*/
|
||||
public class EventManagementPanel extends FormPanel {
|
||||
private CellList<EventDAO> eventsList;
|
||||
private final ListDataProvider<EventDAO> eventsList;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final ErrorReporter errorReporter;
|
||||
private final IntegerBox storedPortIntegerbox;
|
||||
@@ -46,9 +57,10 @@ public class EventManagementPanel extends FormPanel {
|
||||
private final IntegerBox livePortIntegerbox;
|
||||
private final TextBox hostnameTextbox;
|
||||
private final TextBox eventNameTextbox;
|
||||
private final ListDataProvider<RaceRecordDAO> raceList;
|
||||
|
||||
|
||||
public EventManagementPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter) {
|
||||
public EventManagementPanel(final SailingServiceAsync sailingService, ErrorReporter errorReporter) {
|
||||
this.sailingService = sailingService;
|
||||
this.errorReporter = errorReporter;
|
||||
StringConstants stringConstants = GWT.create(StringConstants.class);
|
||||
@@ -56,11 +68,11 @@ public class EventManagementPanel extends FormPanel {
|
||||
this.setWidget(verticalPanel);
|
||||
verticalPanel.setSize("100%", "100%");
|
||||
|
||||
Grid grid = new Grid(7, 2);
|
||||
Grid grid = new Grid(8, 2);
|
||||
verticalPanel.add(grid);
|
||||
verticalPanel.setCellWidth(grid, "100%");
|
||||
|
||||
Label lblPredefined = new Label("Tracked Before");
|
||||
Label lblPredefined = new Label(stringConstants.trackedBefore());
|
||||
grid.setWidget(0, 0, lblPredefined);
|
||||
|
||||
ListBox comboBox = new ListBox();
|
||||
@@ -68,9 +80,15 @@ public class EventManagementPanel extends FormPanel {
|
||||
comboBox.addItem(stringConstants.kielWeel2011());
|
||||
comboBox.addItem(stringConstants.stgAccount());
|
||||
|
||||
Button btnAdd = new Button("Track Again");
|
||||
grid.setWidget(1, 1, btnAdd);
|
||||
btnAdd.setWidth("100%");
|
||||
Button btnListRaces = new Button(stringConstants.listRaces());
|
||||
grid.setWidget(1, 1, btnListRaces);
|
||||
btnListRaces.setWidth("100%");
|
||||
btnListRaces.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
fillRaces(sailingService);
|
||||
}
|
||||
});
|
||||
|
||||
Label lblTrackNewEvent = new Label("Track New Event");
|
||||
grid.setWidget(2, 0, lblTrackNewEvent);
|
||||
@@ -164,6 +182,32 @@ public class EventManagementPanel extends FormPanel {
|
||||
|
||||
Label lblEventsConnectedTo = new Label("Events Currently Tracked");
|
||||
grid.setWidget(5, 0, lblEventsConnectedTo);
|
||||
|
||||
TextColumn<RaceRecordDAO> raceNameColumn = new TextColumn<RaceRecordDAO>() {
|
||||
@Override
|
||||
public String getValue(RaceRecordDAO object) {
|
||||
return object.name;
|
||||
}
|
||||
};
|
||||
TextColumn<RaceRecordDAO> raceStartTrackingColumn = new TextColumn<RaceRecordDAO>() {
|
||||
@Override
|
||||
public String getValue(RaceRecordDAO object) {
|
||||
return object.trackingStartTime.toString();
|
||||
}
|
||||
};
|
||||
raceNameColumn.setSortable(true);
|
||||
raceStartTrackingColumn.setSortable(true);
|
||||
CellTable<RaceRecordDAO> raceTable = new CellTable<RaceRecordDAO>(/* pageSize */ 100);
|
||||
raceTable.addColumn(raceNameColumn, "Name");
|
||||
raceTable.addColumn(raceStartTrackingColumn, "Tracking Started");
|
||||
grid.setWidget(6, 0, raceTable);
|
||||
grid.getCellFormatter().setHeight(6, 0, "100%");
|
||||
raceTable.setWidth("100%");
|
||||
raceTable.setSelectionModel(new MultiSelectionModel<RaceRecordDAO>() {});
|
||||
raceList = new ListDataProvider<RaceRecordDAO>();
|
||||
raceList.addDataDisplay(raceTable);
|
||||
Handler columnSortHandler = getRaceTableColumnSortHandler(raceList.getList(), raceNameColumn, raceStartTrackingColumn);
|
||||
raceTable.addColumnSortHandler(columnSortHandler);
|
||||
|
||||
Cell<EventDAO> eventCell = new AbstractCell<EventDAO>() {
|
||||
@Override
|
||||
@@ -171,14 +215,27 @@ public class EventManagementPanel extends FormPanel {
|
||||
sb.appendEscaped(value.name);
|
||||
}
|
||||
};
|
||||
eventsList = new CellList<EventDAO>(eventCell);
|
||||
grid.setWidget(6, 0, eventsList);
|
||||
final CellList<EventDAO> eventsCellList = new CellList<EventDAO>(eventCell);
|
||||
grid.setWidget(7, 0, eventsCellList);
|
||||
grid.getCellFormatter().setHeight(6, 0, "100%");
|
||||
eventsList.setWidth("100%");
|
||||
eventsList.setVisibleRange(0, 5);
|
||||
eventsCellList.setWidth("100%");
|
||||
eventsCellList.setVisibleRange(0, 5);
|
||||
eventsCellList.setSelectionModel(new MultiSelectionModel<EventDAO>() {});
|
||||
eventsList = new ListDataProvider<EventDAO>();
|
||||
eventsList.addDataDisplay(eventsCellList);
|
||||
|
||||
Button btnRemove = new Button("Remove");
|
||||
grid.setWidget(6, 1, btnRemove);
|
||||
btnRemove.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent click) {
|
||||
for (EventDAO event : eventsCellList.getVisibleItems()) {
|
||||
if (eventsCellList.getSelectionModel().isSelected(event)) {
|
||||
GWT.log("Event "+event.name+" was selected and would be removed");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
grid.setWidget(7, 1, btnRemove);
|
||||
btnRemove.setWidth("100%");
|
||||
grid.getCellFormatter().setVerticalAlignment(6, 1, HasVerticalAlignment.ALIGN_TOP);
|
||||
grid.getCellFormatter().setVerticalAlignment(6, 0, HasVerticalAlignment.ALIGN_TOP);
|
||||
@@ -189,6 +246,25 @@ public class EventManagementPanel extends FormPanel {
|
||||
updateStoredURI();
|
||||
updateJsonUrl();
|
||||
}
|
||||
|
||||
private ListHandler<RaceRecordDAO> getRaceTableColumnSortHandler(List<RaceRecordDAO> raceRecords,
|
||||
Column<RaceRecordDAO, ?> nameColumn, Column<RaceRecordDAO, ?> trackingStartColumn) {
|
||||
ListHandler<RaceRecordDAO> result = new ListHandler<RaceRecordDAO>(raceRecords);
|
||||
result.setComparator(nameColumn, new Comparator<RaceRecordDAO>() {
|
||||
@Override
|
||||
public int compare(RaceRecordDAO o1, RaceRecordDAO o2) {
|
||||
return o1.name.compareTo(o2.name);
|
||||
}
|
||||
});
|
||||
result.setComparator(trackingStartColumn, new Comparator<RaceRecordDAO>() {
|
||||
@Override
|
||||
public int compare(RaceRecordDAO o1, RaceRecordDAO o2) {
|
||||
return o1.trackingStartTime == null ? -1 : o2.trackingStartTime == null ? 1 : o1.trackingStartTime
|
||||
.compareTo(o2.trackingStartTime);
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
private void updatePortStoredData() {
|
||||
storedPortIntegerbox.setValue(livePortIntegerbox.getValue()+1);
|
||||
@@ -207,11 +283,11 @@ public class EventManagementPanel extends FormPanel {
|
||||
}
|
||||
|
||||
private void fillEvents() {
|
||||
sailingService.listEvents(new AsyncCallback<EventDAO[]>() {
|
||||
sailingService.listEvents(new AsyncCallback<List<EventDAO>>() {
|
||||
@Override
|
||||
public void onSuccess(EventDAO[] result) {
|
||||
eventsList.setRowCount(result.length);
|
||||
eventsList.setRowData(Arrays.asList(result));
|
||||
public void onSuccess(List<EventDAO> result) {
|
||||
eventsList.getList().clear();
|
||||
eventsList.getList().addAll(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -221,4 +297,19 @@ public class EventManagementPanel extends FormPanel {
|
||||
});
|
||||
}
|
||||
|
||||
private void fillRaces(final SailingServiceAsync sailingService) {
|
||||
sailingService.listRacesInEvent(jsonURLBox.getValue(), new AsyncCallback<List<RaceRecordDAO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
EventManagementPanel.this.errorReporter.reportError("Error trying to list races: "+caught.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<RaceRecordDAO> result) {
|
||||
raceList.getList().clear();
|
||||
raceList.getList().addAll(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,13 +1,18 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.user.client.rpc.RemoteService;
|
||||
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceRecordDAO;
|
||||
|
||||
/**
|
||||
* The client side stub for the RPC service.
|
||||
*/
|
||||
@RemoteServiceRelativePath("sailing")
|
||||
public interface SailingService extends RemoteService {
|
||||
EventDAO[] listEvents();
|
||||
List<EventDAO> listEvents();
|
||||
|
||||
List<RaceRecordDAO> listRacesInEvent(String eventJsonURL) throws Exception;
|
||||
}
|
||||
+6
-1
@@ -1,11 +1,16 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceRecordDAO;
|
||||
|
||||
/**
|
||||
* The async counterpart of {@link SailingService}
|
||||
*/
|
||||
public interface SailingServiceAsync {
|
||||
void listEvents(AsyncCallback<EventDAO[]> callback);
|
||||
void listEvents(AsyncCallback<List<EventDAO>> callback);
|
||||
|
||||
void listRacesInEvent(String eventJsonURL, AsyncCallback<List<RaceRecordDAO>> callback);
|
||||
}
|
||||
@@ -7,4 +7,6 @@ public interface StringConstants extends Constants {
|
||||
String kielWeel2011();
|
||||
String stgAccount();
|
||||
String tracTracEvents();
|
||||
String trackedBefore();
|
||||
String listRaces();
|
||||
}
|
||||
+3
-1
@@ -1,4 +1,6 @@
|
||||
helloWorld=Hello World
|
||||
kielWeel2011=Kiel Week 2011
|
||||
stgAccount=STG Account
|
||||
tracTracEvents=TracTrac Events
|
||||
tracTracEvents=TracTrac Events
|
||||
trackedBefore=Tracked Before
|
||||
listRaces=List Races
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.sap.sailing.gwt.ui.server;
|
||||
|
||||
import org.osgi.framework.BundleActivator;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
public class Activator implements BundleActivator {
|
||||
private static BundleContext context;
|
||||
|
||||
@Override
|
||||
public void start(BundleContext context) throws Exception {
|
||||
Activator.context = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
}
|
||||
|
||||
public static BundleContext getDefault() {
|
||||
return context;
|
||||
}
|
||||
|
||||
}
|
||||
+39
-2
@@ -1,12 +1,24 @@
|
||||
package com.sap.sailing.gwt.ui.server;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.util.tracker.ServiceTracker;
|
||||
|
||||
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
|
||||
import com.sap.sailing.domain.tractracadapter.RaceRecord;
|
||||
import com.sap.sailing.gwt.ui.client.SailingService;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceRecordDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
|
||||
import com.sap.sailing.server.RacingEventService;
|
||||
|
||||
/**
|
||||
* The server side implementation of the RPC service.
|
||||
@@ -14,8 +26,33 @@ import com.sap.sailing.gwt.ui.shared.RegattaDAO;
|
||||
public class SailingServiceImpl extends RemoteServiceServlet implements SailingService {
|
||||
private static final long serialVersionUID = 9031688830194537489L;
|
||||
|
||||
public EventDAO[] listEvents() throws IllegalArgumentException {
|
||||
private RacingEventService service;
|
||||
|
||||
public SailingServiceImpl() {
|
||||
BundleContext context = Activator.getDefault();
|
||||
ServiceTracker<RacingEventService, RacingEventService> racingEventServiceTracker = new ServiceTracker<RacingEventService, RacingEventService>(
|
||||
context, RacingEventService.class.getName(), null);
|
||||
racingEventServiceTracker.open();
|
||||
// grab the service
|
||||
service = (RacingEventService) racingEventServiceTracker.getService();
|
||||
}
|
||||
|
||||
public List<EventDAO> listEvents() throws IllegalArgumentException {
|
||||
List<RegattaDAO> regattas = Collections.emptyList();
|
||||
return new EventDAO[] { new EventDAO("Kiel Week", /* regattas */ regattas), new EventDAO("STG Training", /* regattas */ regattas) };
|
||||
return Arrays.asList(new EventDAO[] { new EventDAO("Kiel Week", /* regattas */ regattas), new EventDAO("STG Training", /* regattas */ regattas) });
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RaceRecordDAO> listRacesInEvent(String eventJsonURL) throws MalformedURLException, IOException,
|
||||
ParseException, org.json.simple.parser.ParseException {
|
||||
List<RaceRecord> raceRecords;
|
||||
raceRecords = service.getRaceRecords(new URL(eventJsonURL));
|
||||
List<RaceRecordDAO> result = new ArrayList<RaceRecordDAO>();
|
||||
for (RaceRecord raceRecord : raceRecords) {
|
||||
result.add(new RaceRecordDAO(raceRecord.getID(), raceRecord.getName(), raceRecord.getParamURL().toString(),
|
||||
raceRecord.getReplayURL(), raceRecord.getTrackingStartTime().asDate(), raceRecord.getTrackingEndTime().asDate(),
|
||||
raceRecord.getRaceStartTime().asDate()));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package com.sap.sailing.gwt.ui.shared;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.google.gwt.user.client.rpc.IsSerializable;
|
||||
|
||||
public class RaceRecordDAO implements IsSerializable {
|
||||
public String name;
|
||||
public String replayURL;
|
||||
public String paramURL;
|
||||
public String ID;
|
||||
public Date trackingStartTime;
|
||||
public Date trackingEndTime;
|
||||
public Date raceStartTime;
|
||||
|
||||
public RaceRecordDAO() {}
|
||||
|
||||
public RaceRecordDAO(String id, String name, String paramURL, String replayURL,
|
||||
Date trackingStartTime, Date trackingEndTime, Date raceStartTime) {
|
||||
super();
|
||||
this.name = name;
|
||||
this.replayURL = replayURL;
|
||||
this.paramURL = paramURL;
|
||||
ID = id;
|
||||
this.trackingStartTime = trackingStartTime;
|
||||
this.trackingEndTime = trackingEndTime;
|
||||
this.raceStartTime = raceStartTime;
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
serviceClass: com.sap.sailing.gwt.ui.client.SailingService
|
||||
path: E7E1607CD2D2A7E48EB560515432C46A.gwt.rpc
|
||||
path: DBCC056FF892F23A06A63BF879D7D9AE.gwt.rpc
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
serviceClass: com.sap.sailing.gwt.ui.client.SailingService
|
||||
path: 883FF1AAEF122FE219AA3FCB3EE85ED1.gwt.rpc
|
||||
+2975
-2385
File diff suppressed because it is too large.
Load diff
+3018
-2341
File diff suppressed because it is too large.
Load diff
+3005
-2327
File diff suppressed because it is too large.
Load diff
+2996
-2319
File diff suppressed because it is too large.
Load diff
+2978
-2301
File diff suppressed because it is too large.
Load diff
+3063
-2297
File diff suppressed because it is too large.
Load diff
+1388
File diff suppressed because it is too large.
Load diff
-1166
File diff suppressed because it is too large.
Load diff
-1139
File diff suppressed because it is too large.
Load diff
+1437
File diff suppressed because it is too large.
Load diff
+1423
File diff suppressed because it is too large.
Load diff
+1424
File diff suppressed because it is too large.
Load diff
+69
@@ -0,0 +1,69 @@
|
||||
com.google.gwt.event.shared.UmbrellaException, true, true, false, false, com.google.gwt.event.shared.UmbrellaException/3104463596, 3104463596
|
||||
com.google.gwt.http.client.RequestException, true, true, false, false, com.google.gwt.http.client.RequestException/190587325, 190587325
|
||||
com.google.gwt.jsonp.client.TimeoutException, true, true, false, false, com.google.gwt.jsonp.client.TimeoutException/1112787596, 1112787596
|
||||
com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException, true, true, true, true, com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533, 3936916533
|
||||
com.google.gwt.user.client.rpc.InvocationException, true, false, false, false, com.google.gwt.user.client.rpc.InvocationException/1510557512, 1510557512
|
||||
com.google.gwt.user.client.rpc.RpcTokenException, true, true, false, false, com.google.gwt.user.client.rpc.RpcTokenException/2345075298, 2345075298
|
||||
com.google.gwt.user.client.rpc.SerializableException, true, true, false, false, com.google.gwt.user.client.rpc.SerializableException/3047383460, 3047383460
|
||||
com.google.gwt.user.client.rpc.SerializationException, true, true, false, false, com.google.gwt.user.client.rpc.SerializationException/2836333220, 2836333220
|
||||
com.google.gwt.user.client.rpc.ServiceDefTarget$NoServiceEntryPointSpecifiedException, true, true, false, false, com.google.gwt.user.client.rpc.ServiceDefTarget$NoServiceEntryPointSpecifiedException/3408313447, 3408313447
|
||||
com.google.gwt.user.client.rpc.XsrfToken, false, false, true, true, com.google.gwt.user.client.rpc.XsrfToken/4254043109, 4254043109
|
||||
com.google.web.bindery.event.shared.UmbrellaException, true, true, false, false, com.google.web.bindery.event.shared.UmbrellaException/1025846929, 1025846929
|
||||
com.sap.sailing.gwt.ui.client.SailingService, false, false, false, false, _, 2610738066
|
||||
com.sap.sailing.gwt.ui.shared.BoatClassDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.BoatClassDAO/876059280, 876059280
|
||||
com.sap.sailing.gwt.ui.shared.EventDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.EventDAO/1398016458, 1398016458
|
||||
[Lcom.sap.sailing.gwt.ui.shared.EventDAO;, true, true, false, false, [Lcom.sap.sailing.gwt.ui.shared.EventDAO;/3623408659, 3623408659
|
||||
com.sap.sailing.gwt.ui.shared.RaceDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.RaceDAO/3256357629, 3256357629
|
||||
[Lcom.sap.sailing.gwt.ui.shared.RaceDAO;, true, true, false, false, [Lcom.sap.sailing.gwt.ui.shared.RaceDAO;/3169813160, 3169813160
|
||||
com.sap.sailing.gwt.ui.shared.RaceRecordDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.RaceRecordDAO/3433501710, 3433501710
|
||||
[Lcom.sap.sailing.gwt.ui.shared.RaceRecordDAO;, true, true, false, false, [Lcom.sap.sailing.gwt.ui.shared.RaceRecordDAO;/2327423637, 2327423637
|
||||
com.sap.sailing.gwt.ui.shared.RegattaDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.RegattaDAO/2714721467, 2714721467
|
||||
[Lcom.sap.sailing.gwt.ui.shared.RegattaDAO;, true, true, false, false, [Lcom.sap.sailing.gwt.ui.shared.RegattaDAO;/3408153634, 3408153634
|
||||
java.io.IOException, true, true, false, false, java.io.IOException/1159940531, 1159940531
|
||||
java.io.UnsupportedEncodingException, true, true, false, false, java.io.UnsupportedEncodingException/1526756933, 1526756933
|
||||
java.lang.ArithmeticException, true, true, false, false, java.lang.ArithmeticException/1539622151, 1539622151
|
||||
java.lang.ArrayIndexOutOfBoundsException, true, true, false, false, java.lang.ArrayIndexOutOfBoundsException/600550433, 600550433
|
||||
java.lang.ArrayStoreException, true, true, false, false, java.lang.ArrayStoreException/3540507190, 3540507190
|
||||
java.lang.AssertionError, true, true, false, false, java.lang.AssertionError/3490171458, 3490171458
|
||||
java.lang.Boolean, true, true, false, false, java.lang.Boolean/476441737, 476441737
|
||||
java.lang.ClassCastException, true, true, false, false, java.lang.ClassCastException/702295179, 702295179
|
||||
java.lang.Error, true, true, false, false, java.lang.Error/1331973429, 1331973429
|
||||
java.lang.Exception, true, true, true, false, java.lang.Exception/1920171873, 1920171873
|
||||
java.lang.IllegalArgumentException, true, true, false, false, java.lang.IllegalArgumentException/1755012560, 1755012560
|
||||
java.lang.IllegalStateException, true, true, false, false, java.lang.IllegalStateException/1972187323, 1972187323
|
||||
java.lang.IndexOutOfBoundsException, true, true, false, false, java.lang.IndexOutOfBoundsException/2489527753, 2489527753
|
||||
java.lang.NegativeArraySizeException, true, true, false, false, java.lang.NegativeArraySizeException/3846860241, 3846860241
|
||||
java.lang.NullPointerException, true, true, false, false, java.lang.NullPointerException/1463492344, 1463492344
|
||||
java.lang.NumberFormatException, true, true, false, false, java.lang.NumberFormatException/3305228476, 3305228476
|
||||
java.lang.RuntimeException, true, true, true, false, java.lang.RuntimeException/515124647, 515124647
|
||||
java.lang.String, true, true, true, true, java.lang.String/2004016611, 2004016611
|
||||
java.lang.StringIndexOutOfBoundsException, true, true, false, false, java.lang.StringIndexOutOfBoundsException/500777603, 500777603
|
||||
java.lang.Throwable, true, true, true, false, java.lang.Throwable/2953622131, 2953622131
|
||||
java.lang.UnsupportedOperationException, true, true, false, false, java.lang.UnsupportedOperationException/3744010015, 3744010015
|
||||
java.lang.annotation.AnnotationFormatError, true, true, false, false, java.lang.annotation.AnnotationFormatError/2257184627, 2257184627
|
||||
java.lang.annotation.AnnotationTypeMismatchException, true, true, false, false, java.lang.annotation.AnnotationTypeMismatchException/976205828, 976205828
|
||||
java.security.DigestException, true, true, false, false, java.security.DigestException/629316798, 629316798
|
||||
java.security.GeneralSecurityException, true, true, false, false, java.security.GeneralSecurityException/2669239907, 2669239907
|
||||
java.security.NoSuchAlgorithmException, true, true, false, false, java.security.NoSuchAlgorithmException/2892037213, 2892037213
|
||||
java.util.ArrayList, true, true, false, false, java.util.ArrayList/4159755760, 4159755760
|
||||
java.util.Arrays$ArrayList, true, true, false, false, java.util.Arrays$ArrayList/2507071751, 2507071751
|
||||
java.util.Collections$EmptyList, true, true, false, false, java.util.Collections$EmptyList/4157118744, 4157118744
|
||||
java.util.Collections$EmptySet, true, true, false, false, java.util.Collections$EmptySet/3523698179, 3523698179
|
||||
java.util.Collections$SingletonList, true, true, false, false, java.util.Collections$SingletonList/1586180994, 1586180994
|
||||
java.util.ConcurrentModificationException, true, true, false, false, java.util.ConcurrentModificationException/2717383897, 2717383897
|
||||
java.util.EmptyStackException, true, true, false, false, java.util.EmptyStackException/89438517, 89438517
|
||||
java.util.HashSet, true, true, false, false, java.util.HashSet/3273092938, 3273092938
|
||||
java.util.LinkedHashSet, true, true, false, false, java.util.LinkedHashSet/1826081506, 1826081506
|
||||
java.util.LinkedList, true, true, false, false, java.util.LinkedList/3953877921, 3953877921
|
||||
java.util.NoSuchElementException, true, true, false, false, java.util.NoSuchElementException/1559248883, 1559248883
|
||||
java.util.Stack, true, true, false, false, java.util.Stack/1346942793, 1346942793
|
||||
java.util.TooManyListenersException, true, true, false, false, java.util.TooManyListenersException/2023078032, 2023078032
|
||||
java.util.TreeMap, true, true, false, false, java.util.TreeMap/1493889780, 1493889780
|
||||
java.util.TreeSet, true, true, false, false, java.util.TreeSet/4043497002, 4043497002
|
||||
java.util.Vector, true, true, false, false, java.util.Vector/3057315478, 3057315478
|
||||
javax.validation.ConstraintDeclarationException, true, true, false, false, javax.validation.ConstraintDeclarationException/3610544007, 3610544007
|
||||
javax.validation.ConstraintDefinitionException, true, true, false, false, javax.validation.ConstraintDefinitionException/3732439488, 3732439488
|
||||
javax.validation.ConstraintViolationException, true, true, false, false, javax.validation.ConstraintViolationException/173345760, 173345760
|
||||
javax.validation.GroupDefinitionException, true, true, false, false, javax.validation.GroupDefinitionException/4024780846, 4024780846
|
||||
javax.validation.UnexpectedTypeException, true, true, false, false, javax.validation.UnexpectedTypeException/593026390, 593026390
|
||||
javax.validation.ValidationException, true, true, false, false, javax.validation.ValidationException/1570221831, 1570221831
|
||||
+1411
File diff suppressed because it is too large.
Load diff
+1424
File diff suppressed because it is too large.
Load diff
-1119
File diff suppressed because it is too large.
Load diff
-1152
File diff suppressed because it is too large.
Load diff
-1153
File diff suppressed because it is too large.
Load diff
+74
@@ -0,0 +1,74 @@
|
||||
com.google.gwt.event.shared.UmbrellaException, true, true, false, false, com.google.gwt.event.shared.UmbrellaException/3104463596, 3104463596
|
||||
com.google.gwt.http.client.RequestException, true, true, false, false, com.google.gwt.http.client.RequestException/190587325, 190587325
|
||||
com.google.gwt.i18n.client.impl.DateRecord, true, true, false, false, com.google.gwt.i18n.client.impl.DateRecord/3220471373, 3220471373
|
||||
com.google.gwt.jsonp.client.TimeoutException, true, true, false, false, com.google.gwt.jsonp.client.TimeoutException/1112787596, 1112787596
|
||||
com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException, true, true, true, true, com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533, 3936916533
|
||||
com.google.gwt.user.client.rpc.InvocationException, true, false, false, false, com.google.gwt.user.client.rpc.InvocationException/1510557512, 1510557512
|
||||
com.google.gwt.user.client.rpc.RpcTokenException, true, true, false, false, com.google.gwt.user.client.rpc.RpcTokenException/2345075298, 2345075298
|
||||
com.google.gwt.user.client.rpc.SerializableException, true, true, false, false, com.google.gwt.user.client.rpc.SerializableException/3047383460, 3047383460
|
||||
com.google.gwt.user.client.rpc.SerializationException, true, true, false, false, com.google.gwt.user.client.rpc.SerializationException/2836333220, 2836333220
|
||||
com.google.gwt.user.client.rpc.ServiceDefTarget$NoServiceEntryPointSpecifiedException, true, true, false, false, com.google.gwt.user.client.rpc.ServiceDefTarget$NoServiceEntryPointSpecifiedException/3408313447, 3408313447
|
||||
com.google.gwt.user.client.rpc.XsrfToken, false, false, true, true, com.google.gwt.user.client.rpc.XsrfToken/4254043109, 4254043109
|
||||
com.google.web.bindery.event.shared.UmbrellaException, true, true, false, false, com.google.web.bindery.event.shared.UmbrellaException/1025846929, 1025846929
|
||||
com.sap.sailing.gwt.ui.client.SailingService, false, false, false, false, _, 2610738066
|
||||
com.sap.sailing.gwt.ui.shared.BoatClassDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.BoatClassDAO/876059280, 876059280
|
||||
com.sap.sailing.gwt.ui.shared.EventDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.EventDAO/1398016458, 1398016458
|
||||
[Lcom.sap.sailing.gwt.ui.shared.EventDAO;, true, true, false, false, [Lcom.sap.sailing.gwt.ui.shared.EventDAO;/3623408659, 3623408659
|
||||
com.sap.sailing.gwt.ui.shared.RaceDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.RaceDAO/3256357629, 3256357629
|
||||
[Lcom.sap.sailing.gwt.ui.shared.RaceDAO;, true, true, false, false, [Lcom.sap.sailing.gwt.ui.shared.RaceDAO;/3169813160, 3169813160
|
||||
com.sap.sailing.gwt.ui.shared.RaceRecordDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.RaceRecordDAO/1969082677, 1969082677
|
||||
[Lcom.sap.sailing.gwt.ui.shared.RaceRecordDAO;, true, true, false, false, [Lcom.sap.sailing.gwt.ui.shared.RaceRecordDAO;/3142488874, 3142488874
|
||||
com.sap.sailing.gwt.ui.shared.RegattaDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.RegattaDAO/2714721467, 2714721467
|
||||
[Lcom.sap.sailing.gwt.ui.shared.RegattaDAO;, true, true, false, false, [Lcom.sap.sailing.gwt.ui.shared.RegattaDAO;/3408153634, 3408153634
|
||||
java.io.IOException, true, true, false, false, java.io.IOException/1159940531, 1159940531
|
||||
java.io.UnsupportedEncodingException, true, true, false, false, java.io.UnsupportedEncodingException/1526756933, 1526756933
|
||||
java.lang.ArithmeticException, true, true, false, false, java.lang.ArithmeticException/1539622151, 1539622151
|
||||
java.lang.ArrayIndexOutOfBoundsException, true, true, false, false, java.lang.ArrayIndexOutOfBoundsException/600550433, 600550433
|
||||
java.lang.ArrayStoreException, true, true, false, false, java.lang.ArrayStoreException/3540507190, 3540507190
|
||||
java.lang.AssertionError, true, true, false, false, java.lang.AssertionError/3490171458, 3490171458
|
||||
java.lang.Boolean, true, true, false, false, java.lang.Boolean/476441737, 476441737
|
||||
java.lang.ClassCastException, true, true, false, false, java.lang.ClassCastException/702295179, 702295179
|
||||
java.lang.Error, true, true, false, false, java.lang.Error/1331973429, 1331973429
|
||||
java.lang.Exception, true, true, true, false, java.lang.Exception/1920171873, 1920171873
|
||||
java.lang.IllegalArgumentException, true, true, false, false, java.lang.IllegalArgumentException/1755012560, 1755012560
|
||||
java.lang.IllegalStateException, true, true, false, false, java.lang.IllegalStateException/1972187323, 1972187323
|
||||
java.lang.IndexOutOfBoundsException, true, true, false, false, java.lang.IndexOutOfBoundsException/2489527753, 2489527753
|
||||
java.lang.NegativeArraySizeException, true, true, false, false, java.lang.NegativeArraySizeException/3846860241, 3846860241
|
||||
java.lang.NullPointerException, true, true, false, false, java.lang.NullPointerException/1463492344, 1463492344
|
||||
java.lang.NumberFormatException, true, true, false, false, java.lang.NumberFormatException/3305228476, 3305228476
|
||||
java.lang.RuntimeException, true, true, true, false, java.lang.RuntimeException/515124647, 515124647
|
||||
java.lang.String, true, true, true, true, java.lang.String/2004016611, 2004016611
|
||||
java.lang.StringIndexOutOfBoundsException, true, true, false, false, java.lang.StringIndexOutOfBoundsException/500777603, 500777603
|
||||
java.lang.Throwable, true, true, true, false, java.lang.Throwable/2953622131, 2953622131
|
||||
java.lang.UnsupportedOperationException, true, true, false, false, java.lang.UnsupportedOperationException/3744010015, 3744010015
|
||||
java.lang.annotation.AnnotationFormatError, true, true, false, false, java.lang.annotation.AnnotationFormatError/2257184627, 2257184627
|
||||
java.lang.annotation.AnnotationTypeMismatchException, true, true, false, false, java.lang.annotation.AnnotationTypeMismatchException/976205828, 976205828
|
||||
java.security.DigestException, true, true, false, false, java.security.DigestException/629316798, 629316798
|
||||
java.security.GeneralSecurityException, true, true, false, false, java.security.GeneralSecurityException/2669239907, 2669239907
|
||||
java.security.NoSuchAlgorithmException, true, true, false, false, java.security.NoSuchAlgorithmException/2892037213, 2892037213
|
||||
java.sql.Date, true, true, false, false, java.sql.Date/730999118, 730999118
|
||||
java.sql.Time, true, true, false, false, java.sql.Time/1816797103, 1816797103
|
||||
java.sql.Timestamp, true, true, false, false, java.sql.Timestamp/3040052672, 3040052672
|
||||
java.util.ArrayList, true, true, false, false, java.util.ArrayList/4159755760, 4159755760
|
||||
java.util.Arrays$ArrayList, true, true, false, false, java.util.Arrays$ArrayList/2507071751, 2507071751
|
||||
java.util.Collections$EmptyList, true, true, false, false, java.util.Collections$EmptyList/4157118744, 4157118744
|
||||
java.util.Collections$EmptySet, true, true, false, false, java.util.Collections$EmptySet/3523698179, 3523698179
|
||||
java.util.Collections$SingletonList, true, true, false, false, java.util.Collections$SingletonList/1586180994, 1586180994
|
||||
java.util.ConcurrentModificationException, true, true, false, false, java.util.ConcurrentModificationException/2717383897, 2717383897
|
||||
java.util.Date, true, true, false, false, java.util.Date/3385151746, 3385151746
|
||||
java.util.EmptyStackException, true, true, false, false, java.util.EmptyStackException/89438517, 89438517
|
||||
java.util.HashSet, true, true, false, false, java.util.HashSet/3273092938, 3273092938
|
||||
java.util.LinkedHashSet, true, true, false, false, java.util.LinkedHashSet/1826081506, 1826081506
|
||||
java.util.LinkedList, true, true, false, false, java.util.LinkedList/3953877921, 3953877921
|
||||
java.util.NoSuchElementException, true, true, false, false, java.util.NoSuchElementException/1559248883, 1559248883
|
||||
java.util.Stack, true, true, false, false, java.util.Stack/1346942793, 1346942793
|
||||
java.util.TooManyListenersException, true, true, false, false, java.util.TooManyListenersException/2023078032, 2023078032
|
||||
java.util.TreeMap, true, true, false, false, java.util.TreeMap/1493889780, 1493889780
|
||||
java.util.TreeSet, true, true, false, false, java.util.TreeSet/4043497002, 4043497002
|
||||
java.util.Vector, true, true, false, false, java.util.Vector/3057315478, 3057315478
|
||||
javax.validation.ConstraintDeclarationException, true, true, false, false, javax.validation.ConstraintDeclarationException/3610544007, 3610544007
|
||||
javax.validation.ConstraintDefinitionException, true, true, false, false, javax.validation.ConstraintDefinitionException/3732439488, 3732439488
|
||||
javax.validation.ConstraintViolationException, true, true, false, false, javax.validation.ConstraintViolationException/173345760, 173345760
|
||||
javax.validation.GroupDefinitionException, true, true, false, false, javax.validation.GroupDefinitionException/4024780846, 4024780846
|
||||
javax.validation.UnexpectedTypeException, true, true, false, false, javax.validation.UnexpectedTypeException/593026390, 593026390
|
||||
javax.validation.ValidationException, true, true, false, false, javax.validation.ValidationException/1570221831, 1570221831
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException, true, true, true, true, com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533, 3936916533
|
||||
com.google.gwt.user.client.rpc.RpcTokenException, true, true, false, false, com.google.gwt.user.client.rpc.RpcTokenException/2345075298, 2345075298
|
||||
com.google.gwt.user.client.rpc.XsrfToken, false, false, true, true, com.google.gwt.user.client.rpc.XsrfToken/4254043109, 4254043109
|
||||
com.sap.sailing.gwt.ui.client.SailingService, false, false, false, false, _, 2610738066
|
||||
com.sap.sailing.gwt.ui.shared.BoatClassDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.BoatClassDAO/876059280, 876059280
|
||||
com.sap.sailing.gwt.ui.shared.EventDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.EventDAO/1398016458, 1398016458
|
||||
[Lcom.sap.sailing.gwt.ui.shared.EventDAO;, true, true, false, false, [Lcom.sap.sailing.gwt.ui.shared.EventDAO;/3623408659, 3623408659
|
||||
com.sap.sailing.gwt.ui.shared.RaceDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.RaceDAO/3256357629, 3256357629
|
||||
[Lcom.sap.sailing.gwt.ui.shared.RaceDAO;, true, true, false, false, [Lcom.sap.sailing.gwt.ui.shared.RaceDAO;/3169813160, 3169813160
|
||||
com.sap.sailing.gwt.ui.shared.RegattaDAO, true, true, false, false, com.sap.sailing.gwt.ui.shared.RegattaDAO/2714721467, 2714721467
|
||||
[Lcom.sap.sailing.gwt.ui.shared.RegattaDAO;, true, true, false, false, [Lcom.sap.sailing.gwt.ui.shared.RegattaDAO;/3408153634, 3408153634
|
||||
java.lang.Boolean, true, true, false, false, java.lang.Boolean/476441737, 476441737
|
||||
java.lang.Exception, true, false, true, false, java.lang.Exception/1920171873, 1920171873
|
||||
java.lang.RuntimeException, true, false, true, false, java.lang.RuntimeException/515124647, 515124647
|
||||
java.lang.String, true, true, true, true, java.lang.String/2004016611, 2004016611
|
||||
java.lang.Throwable, true, false, true, false, java.lang.Throwable/2953622131, 2953622131
|
||||
java.util.ArrayList, true, true, false, false, java.util.ArrayList/4159755760, 4159755760
|
||||
java.util.Arrays$ArrayList, true, true, false, false, java.util.Arrays$ArrayList/2507071751, 2507071751
|
||||
java.util.Collections$EmptyList, true, true, false, false, java.util.Collections$EmptyList/4157118744, 4157118744
|
||||
java.util.Collections$EmptySet, true, true, false, false, java.util.Collections$EmptySet/3523698179, 3523698179
|
||||
java.util.Collections$SingletonList, true, true, false, false, java.util.Collections$SingletonList/1586180994, 1586180994
|
||||
java.util.HashSet, true, true, false, false, java.util.HashSet/3273092938, 3273092938
|
||||
java.util.LinkedHashSet, true, true, false, false, java.util.LinkedHashSet/1826081506, 1826081506
|
||||
java.util.LinkedList, true, true, false, false, java.util.LinkedList/3953877921, 3953877921
|
||||
java.util.Stack, true, true, false, false, java.util.Stack/1346942793, 1346942793
|
||||
java.util.TreeMap, true, true, false, false, java.util.TreeMap/1493889780, 1493889780
|
||||
java.util.TreeSet, true, true, false, false, java.util.TreeSet/4043497002, 4043497002
|
||||
java.util.Vector, true, true, false, false, java.util.Vector/3057315478, 3057315478
|
||||
-1154
File diff suppressed because it is too large.
Load diff
+2
-2
@@ -1,4 +1,4 @@
|
||||
function com_sap_sailing_gwt_ui_AdminConsole(){var O='',vb='" for "gwt:onLoadErrorFn"',tb='" for "gwt:onPropertyErrorFn"',hb='"><\/script>',Y='#',Vb='.cache.html',$='/',Ob='2BFC3A5FED939F95019F2CAF6C851B98',Pb='469D87A8693826AD7ACF9BED18E38588',Ub=':',nb='::',bc='<script defer="defer">com_sap_sailing_gwt_ui_AdminConsole.onInjectionDone(\'com.sap.sailing.gwt.ui.AdminConsole\')<\/script>',gb='<script id="',qb='=',Z='?',Qb='B33BDE6F4EDD6781956D7EA7CCBD538A',Rb='BA99A4CA0B1353138204A05FF91152E1',sb='Bad handler "',Sb='D8390D090438F53041B18A30824E742D',ac='DOMContentLoaded',Tb='FD4800AD9A74C7E88953B7B2649037C3',ib='SCRIPT',fb='__gwt_marker_com.sap.sailing.gwt.ui.AdminConsole',jb='base',bb='baseUrl',S='begin',R='bootstrap',ab='clear.cache.gif',P='com.sap.sailing.gwt.ui.AdminConsole',db='com.sap.sailing.gwt.ui.AdminConsole.nocache.js',mb='com.sap.sailing.gwt.ui.AdminConsole::',pb='content',X='end',Ib='gecko',Jb='gecko1_8',T='gwt.codesvr=',U='gwt.hosted=',V='gwt.hybrid',Wb='gwt/clean/clean.css',ub='gwt:onLoadErrorFn',rb='gwt:onPropertyErrorFn',ob='gwt:property',_b='head',Mb='hosted.html?com_sap_sailing_gwt_ui_AdminConsole',$b='href',Hb='ie6',Gb='ie8',Fb='ie9',wb='iframe',_='img',xb="javascript:''",Xb='link',Lb='loadExternalRefs',kb='meta',zb='moduleRequested',W='moduleStartup',Eb='msie',lb='name',Bb='opera',yb='position:absolute;width:0;height:0;border:none',Yb='rel',Db='safari',cb='script',Nb='selectingPermutation',Q='startup',Zb='stylesheet',eb='undefined',Kb='unknown',Ab='user.agent',Cb='webkit';var l=window,m=document,n=l.__gwtStatsEvent?function(a){return l.__gwtStatsEvent(a)}:null,o=l.__gwtStatsSessionId?l.__gwtStatsSessionId:null,p,q,r,s=O,t={},u=[],v=[],w=[],x=0,y,z;n&&n({moduleName:P,sessionId:o,subSystem:Q,evtGroup:R,millis:(new Date).getTime(),type:S});if(!l.__gwt_stylesLoaded){l.__gwt_stylesLoaded={}}if(!l.__gwt_scriptsLoaded){l.__gwt_scriptsLoaded={}}function A(){var b=false;try{var c=l.location.search;return (c.indexOf(T)!=-1||(c.indexOf(U)!=-1||l.external&&l.external.gwtOnLoad))&&c.indexOf(V)==-1}catch(a){}A=function(){return b};return b}
|
||||
function com_sap_sailing_gwt_ui_AdminConsole(){var O='',vb='" for "gwt:onLoadErrorFn"',tb='" for "gwt:onPropertyErrorFn"',hb='"><\/script>',Y='#',Vb='.cache.html',$='/',Ob='1A6A2A715641010D6142AEFDE948737A',Pb='4EA78EF53E68F6DE713F3EE0020E8F08',Qb='72593EAF047B03A04BF62EC36E558300',Rb='87C7CB64A8A6B63F280E16970059806C',Sb='92D44E4E1C43E49DF74D17A35E7FC7F6',Tb='9C5333ECAA42A79E7E788B6445CA5849',Ub=':',nb='::',bc='<script defer="defer">com_sap_sailing_gwt_ui_AdminConsole.onInjectionDone(\'com.sap.sailing.gwt.ui.AdminConsole\')<\/script>',gb='<script id="',qb='=',Z='?',sb='Bad handler "',ac='DOMContentLoaded',ib='SCRIPT',fb='__gwt_marker_com.sap.sailing.gwt.ui.AdminConsole',jb='base',bb='baseUrl',S='begin',R='bootstrap',ab='clear.cache.gif',P='com.sap.sailing.gwt.ui.AdminConsole',db='com.sap.sailing.gwt.ui.AdminConsole.nocache.js',mb='com.sap.sailing.gwt.ui.AdminConsole::',pb='content',X='end',Ib='gecko',Jb='gecko1_8',T='gwt.codesvr=',U='gwt.hosted=',V='gwt.hybrid',Wb='gwt/clean/clean.css',ub='gwt:onLoadErrorFn',rb='gwt:onPropertyErrorFn',ob='gwt:property',_b='head',Mb='hosted.html?com_sap_sailing_gwt_ui_AdminConsole',$b='href',Hb='ie6',Gb='ie8',Fb='ie9',wb='iframe',_='img',xb="javascript:''",Xb='link',Lb='loadExternalRefs',kb='meta',zb='moduleRequested',W='moduleStartup',Eb='msie',lb='name',Bb='opera',yb='position:absolute;width:0;height:0;border:none',Yb='rel',Db='safari',cb='script',Nb='selectingPermutation',Q='startup',Zb='stylesheet',eb='undefined',Kb='unknown',Ab='user.agent',Cb='webkit';var l=window,m=document,n=l.__gwtStatsEvent?function(a){return l.__gwtStatsEvent(a)}:null,o=l.__gwtStatsSessionId?l.__gwtStatsSessionId:null,p,q,r,s=O,t={},u=[],v=[],w=[],x=0,y,z;n&&n({moduleName:P,sessionId:o,subSystem:Q,evtGroup:R,millis:(new Date).getTime(),type:S});if(!l.__gwt_stylesLoaded){l.__gwt_stylesLoaded={}}if(!l.__gwt_scriptsLoaded){l.__gwt_scriptsLoaded={}}function A(){var b=false;try{var c=l.location.search;return (c.indexOf(T)!=-1||(c.indexOf(U)!=-1||l.external&&l.external.gwtOnLoad))&&c.indexOf(V)==-1}catch(a){}A=function(){return b};return b}
|
||||
function B(){if(p&&q){var b=m.getElementById(P);var c=b.contentWindow;if(A()){c.__gwt_getProperty=function(a){return G(a)}}com_sap_sailing_gwt_ui_AdminConsole=null;c.gwtOnLoad(y,P,s,x);n&&n({moduleName:P,sessionId:o,subSystem:Q,evtGroup:W,millis:(new Date).getTime(),type:X})}}
|
||||
function C(){function e(a){var b=a.lastIndexOf(Y);if(b==-1){b=a.length}var c=a.indexOf(Z);if(c==-1){c=a.length}var d=a.lastIndexOf($,Math.min(c,b));return d>=0?a.substring(0,d+1):O}
|
||||
function f(a){if(a.match(/^\w+:\/\//)){}else{var b=m.createElement(_);b.src=a+ab;a=e(b.src)}return a}
|
||||
@@ -12,6 +12,6 @@ function E(a){var b=t[a];return b==null?null:b}
|
||||
function F(a,b){var c=w;for(var d=0,e=a.length-1;d<e;++d){c=c[a[d]]||(c[a[d]]=[])}c[a[e]]=b}
|
||||
function G(a){var b=v[a](),c=u[a];if(b in c){return b}var d=[];for(var e in c){d[c[e]]=e}if(z){z(a,d,b)}throw null}
|
||||
var H;function I(){if(!H){H=true;var a=m.createElement(wb);a.src=xb;a.id=P;a.style.cssText=yb;a.tabIndex=-1;m.body.appendChild(a);n&&n({moduleName:P,sessionId:o,subSystem:Q,evtGroup:W,millis:(new Date).getTime(),type:zb});a.contentWindow.location.replace(s+K)}}
|
||||
v[Ab]=function(){var b=navigator.userAgent.toLowerCase();var c=function(a){return parseInt(a[1])*1000+parseInt(a[2])};if(function(){return b.indexOf(Bb)!=-1}())return Bb;if(function(){return b.indexOf(Cb)!=-1}())return Db;if(function(){return b.indexOf(Eb)!=-1&&m.documentMode>=9}())return Fb;if(function(){return b.indexOf(Eb)!=-1&&m.documentMode>=8}())return Gb;if(function(){var a=/msie ([0-9]+)\.([0-9]+)/.exec(b);if(a&&a.length==3)return c(a)>=6000}())return Hb;if(function(){return b.indexOf(Ib)!=-1}())return Jb;return Kb};u[Ab]={gecko1_8:0,ie6:1,ie8:2,ie9:3,opera:4,safari:5};com_sap_sailing_gwt_ui_AdminConsole.onScriptLoad=function(){if(H){q=true;B()}};com_sap_sailing_gwt_ui_AdminConsole.onInjectionDone=function(){p=true;n&&n({moduleName:P,sessionId:o,subSystem:Q,evtGroup:Lb,millis:(new Date).getTime(),type:X});B()};D();C();var J;var K;if(A()){if(l.external&&(l.external.initModule&&l.external.initModule(P))){l.location.reload();return}K=Mb;J=O}n&&n({moduleName:P,sessionId:o,subSystem:Q,evtGroup:R,millis:(new Date).getTime(),type:Nb});if(!A()){try{F([Hb],Ob);F([Fb],Pb);F([Bb],Qb);F([Gb],Rb);F([Jb],Sb);F([Db],Tb);J=w[G(Ab)];var L=J.indexOf(Ub);if(L!=-1){x=Number(J.substring(L+1));J=J.substring(0,L)}K=J+Vb}catch(a){return}}var M;function N(){if(!r){r=true;if(!__gwt_stylesLoaded[Wb]){var a=m.createElement(Xb);__gwt_stylesLoaded[Wb]=a;a.setAttribute(Yb,Zb);a.setAttribute($b,s+Wb);m.getElementsByTagName(_b)[0].appendChild(a)}B();if(m.removeEventListener){m.removeEventListener(ac,N,false)}if(M){clearInterval(M)}}}
|
||||
v[Ab]=function(){var b=navigator.userAgent.toLowerCase();var c=function(a){return parseInt(a[1])*1000+parseInt(a[2])};if(function(){return b.indexOf(Bb)!=-1}())return Bb;if(function(){return b.indexOf(Cb)!=-1}())return Db;if(function(){return b.indexOf(Eb)!=-1&&m.documentMode>=9}())return Fb;if(function(){return b.indexOf(Eb)!=-1&&m.documentMode>=8}())return Gb;if(function(){var a=/msie ([0-9]+)\.([0-9]+)/.exec(b);if(a&&a.length==3)return c(a)>=6000}())return Hb;if(function(){return b.indexOf(Ib)!=-1}())return Jb;return Kb};u[Ab]={gecko1_8:0,ie6:1,ie8:2,ie9:3,opera:4,safari:5};com_sap_sailing_gwt_ui_AdminConsole.onScriptLoad=function(){if(H){q=true;B()}};com_sap_sailing_gwt_ui_AdminConsole.onInjectionDone=function(){p=true;n&&n({moduleName:P,sessionId:o,subSystem:Q,evtGroup:Lb,millis:(new Date).getTime(),type:X});B()};D();C();var J;var K;if(A()){if(l.external&&(l.external.initModule&&l.external.initModule(P))){l.location.reload();return}K=Mb;J=O}n&&n({moduleName:P,sessionId:o,subSystem:Q,evtGroup:R,millis:(new Date).getTime(),type:Nb});if(!A()){try{F([Bb],Ob);F([Hb],Pb);F([Jb],Qb);F([Gb],Rb);F([Fb],Sb);F([Db],Tb);J=w[G(Ab)];var L=J.indexOf(Ub);if(L!=-1){x=Number(J.substring(L+1));J=J.substring(0,L)}K=J+Vb}catch(a){return}}var M;function N(){if(!r){r=true;if(!__gwt_stylesLoaded[Wb]){var a=m.createElement(Xb);__gwt_stylesLoaded[Wb]=a;a.setAttribute(Yb,Zb);a.setAttribute($b,s+Wb);m.getElementsByTagName(_b)[0].appendChild(a)}B();if(m.removeEventListener){m.removeEventListener(ac,N,false)}if(M){clearInterval(M)}}}
|
||||
if(m.addEventListener){m.addEventListener(ac,function(){I();N()},false)}var M=setInterval(function(){if(/loaded|complete/.test(m.readyState)){I();N()}},50);n&&n({moduleName:P,sessionId:o,subSystem:Q,evtGroup:R,millis:(new Date).getTime(),type:X});n&&n({moduleName:P,sessionId:o,subSystem:Q,evtGroup:Lb,millis:(new Date).getTime(),type:S});m.write(bc)}
|
||||
com_sap_sailing_gwt_ui_AdminConsole();
|
||||
@@ -43,7 +43,7 @@ import com.sap.sailing.domain.tracking.impl.WindImpl;
|
||||
import com.sap.sailing.domain.tractracadapter.RaceRecord;
|
||||
import com.sap.sailing.mongodb.MongoObjectFactory;
|
||||
import com.sap.sailing.mongodb.MongoWindStoreFactory;
|
||||
import com.sap.sailing.server.util.InvalidDateException;
|
||||
import com.sap.sailing.util.InvalidDateException;
|
||||
import com.sap.sailing.util.Util.Triple;
|
||||
|
||||
public class AdminApp extends Servlet {
|
||||
|
||||
@@ -32,8 +32,8 @@ import com.sap.sailing.domain.tracking.TrackedLeg;
|
||||
import com.sap.sailing.domain.tracking.TrackedLegOfCompetitor;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.domain.tracking.Wind;
|
||||
import com.sap.sailing.server.util.InvalidDateException;
|
||||
import com.sap.sailing.util.CountryCode;
|
||||
import com.sap.sailing.util.InvalidDateException;
|
||||
|
||||
public class ModeratorApp extends Servlet {
|
||||
private static final Logger logger = Logger.getLogger(ModeratorApp.class.getName());
|
||||
|
||||
@@ -10,8 +10,8 @@ import com.sap.sailing.domain.base.Event;
|
||||
import com.sap.sailing.domain.base.RaceDefinition;
|
||||
import com.sap.sailing.domain.base.TimePoint;
|
||||
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
|
||||
import com.sap.sailing.server.util.DateParser;
|
||||
import com.sap.sailing.server.util.InvalidDateException;
|
||||
import com.sap.sailing.util.DateParser;
|
||||
import com.sap.sailing.util.InvalidDateException;
|
||||
|
||||
public abstract class Servlet extends HttpServlet {
|
||||
private static final long serialVersionUID = -6514453597593669376L;
|
||||
|
||||
Reference in new issue
Block a user