mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-05 18:42:55 +00:00
Merge branch 'master' into bug5212
This commit is contained in:
commit
1ec5a07cfb
223 files changed
+6828
-6817
No files matched your search
@@ -37,6 +37,25 @@
|
||||
<servlet-name>ClientConfigurationServlet</servlet-name>
|
||||
<url-pattern>*.html</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet>
|
||||
<display-name>Sailing ServiceWrite</display-name>
|
||||
<servlet-name>SailingServiceWrite</servlet-name>
|
||||
<servlet-class>com.sap.sailing.gwt.ui.server.SailingServiceWriteImpl</servlet-class>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>SailingServiceWrite</servlet-name>
|
||||
<url-pattern>/service/sailingmaster</url-pattern>
|
||||
<url-pattern>/service/sailingmaster/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<filter>
|
||||
<filter-name>LocaleInjectionFilter</filter-name>
|
||||
<filter-class>com.sap.sse.security.ui.server.LocaleInjectionFilter</filter-class>
|
||||
</filter>
|
||||
<filter-mapping>
|
||||
<filter-name>LocaleInjectionFilter</filter-name>
|
||||
<url-pattern>*.html</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter>
|
||||
<filter-name>LocaleInjectionFilter</filter-name>
|
||||
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
package com.sap.sailing.domain.common;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
|
||||
public interface PolarSheetsXYDiagramData extends Serializable {
|
||||
|
||||
List<Pair<Double, Double>> getPointsForAverageSpeedRegression(Tack tack, LegType legType);
|
||||
|
||||
}
|
||||
@@ -57,6 +57,10 @@ public class BoatDTO extends NamedSecuredObjectDTO implements WithID, Serializab
|
||||
return boatClass;
|
||||
}
|
||||
|
||||
public void setBoatClass(BoatClassDTO boatClass) {
|
||||
this.boatClass = boatClass;
|
||||
}
|
||||
|
||||
public String getDisplayName() {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
final boolean hasSailId = sailId != null && !sailId.isEmpty();
|
||||
|
||||
+9
-4
@@ -1,6 +1,10 @@
|
||||
package com.sap.sailing.domain.common.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sse.common.Util;
|
||||
|
||||
public class PairingListTemplateDTO implements Serializable {
|
||||
|
||||
@@ -15,7 +19,7 @@ public class PairingListTemplateDTO implements Serializable {
|
||||
private int[][] pairingListTemplate;
|
||||
private double quality;
|
||||
private double boatAssignmentQuality;
|
||||
private Iterable<String> selectedFlightNames;
|
||||
private List<String> selectedFlightNames;
|
||||
|
||||
public PairingListTemplateDTO() { }
|
||||
|
||||
@@ -50,7 +54,8 @@ public class PairingListTemplateDTO implements Serializable {
|
||||
this.boatAssignmentQuality = boatAssigmentQuality;
|
||||
this.quality = quality;
|
||||
this.pairingListTemplate = pairingListTemplate;
|
||||
this.selectedFlightNames = selectedFlightNames;
|
||||
this.selectedFlightNames = new ArrayList<>();
|
||||
Util.addAll(selectedFlightNames, this.selectedFlightNames);
|
||||
}
|
||||
|
||||
public void setFlightCount(int flightCount) {
|
||||
@@ -69,7 +74,7 @@ public class PairingListTemplateDTO implements Serializable {
|
||||
this.boatChangeFactor = tolerance;
|
||||
}
|
||||
|
||||
public void setSelectedFlightNames(Iterable<String> selectedFlightNames) {
|
||||
public void setSelectedFlightNames(List<String> selectedFlightNames) {
|
||||
this.selectedFlightNames = selectedFlightNames;
|
||||
}
|
||||
|
||||
@@ -109,7 +114,7 @@ public class PairingListTemplateDTO implements Serializable {
|
||||
return boatChangeFactor;
|
||||
}
|
||||
|
||||
public Iterable<String> getSelectedFlightNames() {
|
||||
public List<String> getSelectedFlightNames() {
|
||||
return selectedFlightNames;
|
||||
}
|
||||
|
||||
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
package com.sap.sailing.domain.common.impl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.sap.sailing.domain.common.LegType;
|
||||
import com.sap.sailing.domain.common.PolarSheetsXYDiagramData;
|
||||
import com.sap.sailing.domain.common.Tack;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
|
||||
public class PolarSheetsXYDiagramDataImpl implements PolarSheetsXYDiagramData {
|
||||
|
||||
private static final long serialVersionUID = 778667444303004468L;
|
||||
|
||||
PolarSheetsXYDiagramDataImpl() {
|
||||
}
|
||||
|
||||
private Map<Pair<LegType, Tack>, List<Pair<Double, Double>>> pointsForAverageSpeedRegression;
|
||||
|
||||
public PolarSheetsXYDiagramDataImpl(
|
||||
Map<Pair<LegType, Tack>, List<Pair<Double, Double>>> regressionSpeedDataLists) {
|
||||
pointsForAverageSpeedRegression = regressionSpeedDataLists;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Pair<Double, Double>> getPointsForAverageSpeedRegression(Tack tack, LegType legType) {
|
||||
return pointsForAverageSpeedRegression.get(new Pair<LegType, Tack>(legType, tack));
|
||||
}
|
||||
}
|
||||
+11
-6
@@ -337,10 +337,12 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
}
|
||||
|
||||
public static TimePoint loadTimePoint(Document object, String fieldName) {
|
||||
TimePoint result = null;
|
||||
final TimePoint result;
|
||||
Number timePointAsNumber = (Number) object.get(fieldName);
|
||||
if (timePointAsNumber != null) {
|
||||
result = new MillisecondsTimePoint(timePointAsNumber.longValue());
|
||||
} else {
|
||||
result = null;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -351,12 +353,15 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
|
||||
public static TimeRange loadTimeRange(Document object, FieldNames field) {
|
||||
Document timeRangeObj = (Document) object.get(field.name());
|
||||
final TimeRange result;
|
||||
if (timeRangeObj == null) {
|
||||
return null;
|
||||
result = null;
|
||||
} else {
|
||||
TimePoint from = loadTimePoint(timeRangeObj, FieldNames.FROM_MILLIS);
|
||||
TimePoint to = loadTimePoint(timeRangeObj, FieldNames.TO_MILLIS);
|
||||
result = new TimeRangeImpl(from, to);
|
||||
}
|
||||
TimePoint from = loadTimePoint(timeRangeObj, FieldNames.FROM_MILLIS);
|
||||
TimePoint to = loadTimePoint(timeRangeObj, FieldNames.TO_MILLIS);
|
||||
return new TimeRangeImpl(from, to);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1165,7 +1170,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
UUID id = (UUID) eventDBObject.get(FieldNames.EVENT_ID.name());
|
||||
TimePoint startDate = loadTimePoint(eventDBObject, FieldNames.EVENT_START_DATE);
|
||||
TimePoint endDate = loadTimePoint(eventDBObject, FieldNames.EVENT_END_DATE);
|
||||
if (endDate.before(startDate)) {
|
||||
if (endDate != null && startDate != null && endDate.before(startDate)) {
|
||||
logger.warning("End date "+endDate+" of event "+name+" with ID "+id+" is before its start date "+
|
||||
startDate+"; adjusting such that end date equals start date.");
|
||||
endDate = startDate;
|
||||
|
||||
-2
@@ -70,8 +70,6 @@ public interface DomainFactory {
|
||||
|
||||
MarkPassing createMarkPassing(TimePoint timePoint, Waypoint waypoint, Competitor competitor);
|
||||
|
||||
void removeRace(String raceID);
|
||||
|
||||
RaceType getRaceTypeFromRaceID(String raceID);
|
||||
|
||||
RaceTrackingConnectivityParameters createTrackingConnectivityParameters(String hostname, int port, String raceID,
|
||||
|
||||
-20
@@ -6,12 +6,10 @@ import java.net.URISyntaxException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@@ -401,24 +399,6 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
return baseDomainFactory.createMarkPassing(timePoint, waypoint, competitor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeRace(String raceID) {
|
||||
Regatta regatta = raceIDToRegattaCache.get(raceID);
|
||||
if (regatta != null) {
|
||||
Set<RaceDefinition> toRemove = new HashSet<RaceDefinition>();
|
||||
RaceDefinition race = regatta.getRaceByName(raceID);
|
||||
if (race != null) {
|
||||
toRemove.add(race);
|
||||
}
|
||||
for (RaceDefinition raceToRemove : toRemove) {
|
||||
regatta.removeRace(raceToRemove);
|
||||
}
|
||||
if (Util.isEmpty(regatta.getAllRaces())) {
|
||||
raceIDToRegattaCache.remove(raceID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Nationality getOrCreateNationality(String threeLetterIOCCode) {
|
||||
return baseDomainFactory.getOrCreateNationality(threeLetterIOCCode);
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
{"rms":[
|
||||
{"NatAuth":"UKR","BIN":"UKR0267_Karina","CertNo":"0267_4","RefNo":"03600000HUH","SailNo":"UKR 267","YachtName":"Karina","Class":"Teliga 89","Builder":"im. L Teligi","Designer":"L. Teliga","Address3":"YC Obolon","C_Type":"CLUB","Family":"ORC","Division":"C","IssueDate":"2020-05-07T11:48:07.143Z","Age_Year":1975,"CrewWT":460,"LOA":8.95,"IMSL":7.354,"Draft":1.562,"MB":3.092,"Dspl_Measurement":3790,"Stability_Index":107.3,"Dynamic_Allowance":0.328,"GPH":725.4,"TMF_Inshore":0.8568,"ILCWA":787.8,"TMF_Offshore":0.849,"OSN":706.7,"CDL":6.694,"TN_Offshore_Low":0.8193,"TN_Offshore_Medium":1.0478,"TN_Offshore_High":1.1557,"TN_Inshore_Low":0.6372,"TN_Inshore_Medium":0.8543,"TN_Inshore_High":0.9652,"TND_Offshore_Low":823.9,"TND_Offshore_Medium":644.2,"TND_Offshore_High":584.1,"TND_Inshore_Low":1059.3,"TND_Inshore_Medium":790.1,"TND_Inshore_High":699.3,"OSN_Jibs":735.4,"TMF_Jibs":0.8158,"Pred_Up_TOD":708.3,"Pred_Down_TOD":650.3,"Pred_Up_TOT":0.8471,"Pred_Down_TOT":0.9227,"Dspl_Sailing":4377,"WSS":18.58,"Area_Main":17.88,"Area_Jib":33.38,"Area_Sym":71.46,"Area_ASym":56.06,"GPH_Jibs":757.5,"GPH_Jibs_TOT":0.7921,"Allowances":{"WindSpeeds":[6,8,10,12,14,16,20],"WindAngles":[52,60,75,90,110,120,135,150],"Beat":[1215.6,1032.2,921.7,859.4,840,835.1,853.2],"Run":[1102.9,886.5,746.4,655.8,596.9,564.7,518.9],"BeatAngle":[42.8,42,42.8,41.4,40.9,40.7,41.8],"GybeAngle":[148,152,150.5,162,180,180,180],"WL":[1159.2,959.4,834.1,757.6,718.4,699.9,686],"CR":[989.5,803.2,704.2,647.7,614.3,594,572.2],"OC":[1153.6,900.2,752.5,666.7,624.4,593.1,543.1],"NS":[1044.7,843.1,734.6,671.9,634.2,611.1,586],"OL":[1116.2,923.6,815.1,753.8,722.7,706.6,697.2],"R52":[796.9,680.2,617.6,591.6,581.2,577.6,579],"R60":[753.3,644.5,598.1,576.8,565.2,560.4,559.4],"R75":[723,622.2,584.2,564,549,537.5,528],"R90":[729.8,623.6,577.4,552.9,539.1,527.4,503.9],"R110":[729.1,608.7,564.9,538.7,516.9,499.7,477.8],"R120":[750.3,617.8,568.6,540.6,515,493.4,466],"R135":[817.4,671.3,588.5,556.1,530.2,505,465.1],"R150":[955.2,767.9,647,584.3,555.6,531.9,487.7]}}
|
||||
]}
|
||||
+5
@@ -13,6 +13,11 @@ public class TestORCCertificateImporterJSON extends AbstractORCCertificateImport
|
||||
testSimpleLocalFileRead("GER2019.json", "GER20041179");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testReadingJSONWithSpecificBins() throws IOException, ParseException {
|
||||
testSimpleLocalFileRead("03600000HUH.json", "03600000HUH");
|
||||
}
|
||||
|
||||
@FailIfNoValidOrcCertificates
|
||||
@Test
|
||||
public void testSimpleOnlineJSONFileRead() throws IOException, ParseException, InterruptedException {
|
||||
|
||||
+23
-23
@@ -31,36 +31,36 @@ public class CountryCodeTest {
|
||||
public void convertHTML() throws IOException {
|
||||
InputStream is = Util.class.getResourceAsStream("countrycodes.csv");
|
||||
assertNotNull(is);
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
|
||||
String line;
|
||||
List<String[]> matrix = new LinkedList<String[]>();
|
||||
String[] row = null;
|
||||
int column = 8;
|
||||
Pattern p = Pattern.compile("<TD[^>]*> *(<[pP]>)?([^<]*)(</[pP]>)? *</TD>");
|
||||
while ((line=br.readLine()) != null) {
|
||||
if (line.contains("<TR>")) {
|
||||
assertEquals(8, column);
|
||||
column = 0;
|
||||
row = new String[8];
|
||||
matrix.add(row);
|
||||
} else {
|
||||
if (line.contains("<TD")) {
|
||||
Matcher m = p.matcher(line);
|
||||
if (m.find()) {
|
||||
String entry = m.group(2);
|
||||
if (entry != null) {
|
||||
entry = URLDecoder.decode(entry, "UTF-8").trim();
|
||||
if (entry.startsWith(".")) {
|
||||
// IANA domain name will be stripped of leading "."
|
||||
entry = entry.substring(1);
|
||||
try (BufferedReader br = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")))) {
|
||||
String line;
|
||||
String[] row = null;
|
||||
int column = 8;
|
||||
Pattern p = Pattern.compile("<TD[^>]*> *(<[pP]>)?([^<]*)(</[pP]>)? *</TD>");
|
||||
while ((line = br.readLine()) != null) {
|
||||
if (line.contains("<TR>")) {
|
||||
assertEquals(8, column);
|
||||
column = 0;
|
||||
row = new String[8];
|
||||
matrix.add(row);
|
||||
} else {
|
||||
if (line.contains("<TD")) {
|
||||
Matcher m = p.matcher(line);
|
||||
if (m.find()) {
|
||||
String entry = m.group(2);
|
||||
if (entry != null) {
|
||||
entry = URLDecoder.decode(entry, "UTF-8").trim();
|
||||
if (entry.startsWith(".")) {
|
||||
// IANA domain name will be stripped of leading "."
|
||||
entry = entry.substring(1);
|
||||
}
|
||||
}
|
||||
row[column++] = entry == null || entry.length() == 0 ? null : entry;
|
||||
}
|
||||
row[column++] = entry == null || entry.length() == 0 ? null : entry;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
br.close();
|
||||
assertEquals(NUMBER_OF_COUNTRY_CODES, matrix.size());
|
||||
for (String[] r : matrix) {
|
||||
StringBuilder sb = new StringBuilder(" add(new CountryCodeImpl(");
|
||||
|
||||
+4
-4
@@ -111,11 +111,11 @@ public class JorgesTracTracParallelLoadingTest {
|
||||
InputStream is = eventURI.toURL().openStream();
|
||||
StringBuffer jsonContent = new StringBuffer();
|
||||
String line = null;
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
|
||||
while ((line = reader.readLine()) != null) {
|
||||
jsonContent.append(line);
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(is));) {
|
||||
while ((line = reader.readLine()) != null) {
|
||||
jsonContent.append(line);
|
||||
}
|
||||
}
|
||||
reader.close();
|
||||
StringTokenizer it = new StringTokenizer(jsonContent.toString(), ",");
|
||||
while (it.hasMoreElements()) {
|
||||
String item = it.nextElement().toString();
|
||||
|
||||
-8
@@ -334,14 +334,6 @@ public interface DomainFactory {
|
||||
*/
|
||||
Iterable<IControl> getControlsForCourseArea(IEvent tracTracEvent, String tracTracCourseAreaName);
|
||||
|
||||
/**
|
||||
* Since TracAPI 3.6.1 the TracAPI provides a course area name for {@link IRace} objects. Furthermore, the
|
||||
* {@link IControl} control points can now tell their {@link IControl#getCourseArea() course area}. This allows us
|
||||
* to fetch the {@link IControlPoint}s for a specific course area, thereby, e.g., restricting the marks of an event
|
||||
* that we offer to the Race Manager app's course designer to those available on the course area.
|
||||
*/
|
||||
Iterable<IControlPoint> getControlPointsForCourseArea(IEvent tracTracEvent, String tracTracCourseAreaName);
|
||||
|
||||
/**
|
||||
* Looks for an {@link IControl} in the {@code candidates} that contains two {@link IControlPoint}s that map to the
|
||||
* {@code first} and {@code second} mark.
|
||||
|
||||
-10
@@ -112,7 +112,6 @@ import com.tractrac.model.lib.api.event.IEvent;
|
||||
import com.tractrac.model.lib.api.event.IRace;
|
||||
import com.tractrac.model.lib.api.event.IRaceCompetitor;
|
||||
import com.tractrac.model.lib.api.route.IControl;
|
||||
import com.tractrac.model.lib.api.route.IControlPoint;
|
||||
import com.tractrac.subscription.lib.api.IEventSubscriber;
|
||||
import com.tractrac.subscription.lib.api.IRaceSubscriber;
|
||||
import com.tractrac.subscription.lib.api.SubscriberInitializationException;
|
||||
@@ -703,15 +702,6 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<IControlPoint> getControlPointsForCourseArea(IEvent tracTracEvent, String tracTracCourseAreaName) {
|
||||
final Set<IControlPoint> result = new HashSet<>();
|
||||
for (final IControl control : getControlsForCourseArea(tracTracEvent, tracTracCourseAreaName)) {
|
||||
result.addAll(control.getControlPoints());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<IControl> getControlsForCourseArea(IEvent tracTracEvent, String tracTracCourseAreaName) {
|
||||
final Set<IControl> result = new HashSet<>();
|
||||
|
||||
@@ -34,7 +34,6 @@ import com.sap.sailing.domain.tracking.impl.RaceAbortedHandler;
|
||||
import com.sap.sailing.domain.tracking.impl.StartTimeUpdateHandler;
|
||||
import com.sap.sse.common.IsManagedByCache;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.util.ObjectInputStreamResolvingAgainstCache;
|
||||
import com.sap.sse.util.ObjectInputStreamResolvingAgainstCache.ResolveListener;
|
||||
|
||||
@@ -107,12 +106,8 @@ public interface DomainFactory extends SharedDomainFactory<RaceLogAndTrackedRace
|
||||
|
||||
PlacemarkDTO convertToPlacemarkDTO(Placemark placemark);
|
||||
|
||||
List<CompetitorAndBoatDTO> getCompetitorDTOList(Map<Competitor, Boat> competitors);
|
||||
|
||||
List<CompetitorDTO> getCompetitorDTOList(Iterable<Competitor> competitors);
|
||||
|
||||
List<CompetitorAndBoatDTO> getCompetitorDTOList(List<Pair<Competitor, Boat>> competitors);
|
||||
|
||||
TrackedRaceDTO createTrackedRaceDTO(TrackedRace trackedRace);
|
||||
|
||||
TrackedRaceStatisticsDTO createTrackedRaceStatisticsDTO(TrackedRace trackedRace, Leaderboard leaderboard, RaceColumn raceColumn,
|
||||
|
||||
@@ -57,10 +57,6 @@ public interface Series extends SeriesBase {
|
||||
|
||||
RaceColumnInSeries addRaceColumn(int insertIndex, String raceColumnName, TrackedRegattaRegistry trackedRegattaRegistry);
|
||||
|
||||
void moveRaceColumnUp(String raceColumnName);
|
||||
|
||||
void moveRaceColumnDown(String raceColumnName);
|
||||
|
||||
void removeRaceColumn(String raceColumnName);
|
||||
|
||||
/**
|
||||
|
||||
-20
@@ -6,7 +6,6 @@ import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
@@ -79,7 +78,6 @@ import com.sap.sailing.geocoding.ReverseGeocoder;
|
||||
import com.sap.sse.common.Distance;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.sap.sse.util.ObjectInputStreamResolvingAgainstCache;
|
||||
import com.sap.sse.util.ObjectInputStreamResolvingAgainstCache.ResolveListener;
|
||||
@@ -385,15 +383,6 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl<RaceLogAndTracked
|
||||
position.getLngDeg()), placemark.getPopulation());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CompetitorAndBoatDTO> getCompetitorDTOList(Map<Competitor, Boat> competitors) {
|
||||
List<CompetitorAndBoatDTO> result = new ArrayList<>();
|
||||
for (Entry<Competitor, Boat> competitorAndBoatEntry : competitors.entrySet()) {
|
||||
result.add(convertToCompetitorAndBoatDTO(competitorAndBoatEntry.getKey(), competitorAndBoatEntry.getValue()));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CompetitorDTO> getCompetitorDTOList(Iterable<Competitor> competitors) {
|
||||
List<CompetitorDTO> result = new ArrayList<>();
|
||||
@@ -403,15 +392,6 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl<RaceLogAndTracked
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CompetitorAndBoatDTO> getCompetitorDTOList(List<Pair<Competitor, Boat>> competitors) {
|
||||
List<CompetitorAndBoatDTO> result = new ArrayList<>();
|
||||
for (Pair<Competitor, Boat> competitorAndBoat : competitors) {
|
||||
result.add(convertToCompetitorAndBoatDTO(competitorAndBoat.getA(), competitorAndBoat.getB()));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addUpdateHandlers(DynamicTrackedRace trackedRace, CourseDesignUpdateHandler courseDesignHandler,
|
||||
StartTimeUpdateHandler startTimeHandler, RaceAbortedHandler raceAbortedHandler,
|
||||
|
||||
@@ -209,57 +209,6 @@ public class SeriesImpl extends RenamableImpl implements Series, RaceColumnListe
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveRaceColumnUp(String raceColumnName) {
|
||||
boolean didFirstColumnChange = false; // if it changes and the series starts scoring with zero, notify the change
|
||||
// start at second element because first can't be moved up
|
||||
for (int i=1; i<raceColumns.size(); i++) {
|
||||
RaceColumnInSeries rc = raceColumns.get(i);
|
||||
if (rc.getName().equals(raceColumnName)) {
|
||||
raceColumns.remove(i);
|
||||
if (i==1) {
|
||||
didFirstColumnChange = true;
|
||||
}
|
||||
raceColumnListeners.notifyListenersAboutRaceColumnRemovedFromContainer(rc);
|
||||
raceColumns.add(i-1, rc);
|
||||
raceColumnListeners.notifyListenersAboutRaceColumnAddedToContainer(rc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (didFirstColumnChange && startsWithZeroScore) {
|
||||
notifyIsStartsWithZeroScoreChangedForFirstTwoColumns();
|
||||
}
|
||||
}
|
||||
|
||||
private void notifyIsStartsWithZeroScoreChangedForFirstTwoColumns() {
|
||||
final RaceColumnInSeries first = raceColumns.get(0);
|
||||
raceColumnListeners.notifyListenersAboutIsStartsWithZeroScoreChanged(first, first.isStartsWithZeroScore());
|
||||
final RaceColumnInSeries second = raceColumns.get(1);
|
||||
raceColumnListeners.notifyListenersAboutIsStartsWithZeroScoreChanged(second, second.isStartsWithZeroScore());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveRaceColumnDown(String raceColumnName) {
|
||||
boolean didFirstColumnChange = false; // if it changes and the series starts scoring with zero, notify the change
|
||||
// end at second-last element because last can't be moved down
|
||||
for (int i=0; i<raceColumns.size()-1; i++) {
|
||||
RaceColumnInSeries rc = raceColumns.get(i);
|
||||
if (rc.getName().equals(raceColumnName)) {
|
||||
raceColumns.remove(i);
|
||||
if (i==0) {
|
||||
didFirstColumnChange = true;
|
||||
}
|
||||
raceColumnListeners.notifyListenersAboutRaceColumnRemovedFromContainer(rc);
|
||||
raceColumns.add(i+1, rc);
|
||||
raceColumnListeners.notifyListenersAboutRaceColumnAddedToContainer(rc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (didFirstColumnChange && startsWithZeroScore) {
|
||||
notifyIsStartsWithZeroScoreChangedForFirstTwoColumns();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeRaceColumn(String raceColumnName) {
|
||||
RaceColumnInSeries rc = getRaceColumnByName(raceColumnName);
|
||||
|
||||
+4
-4
@@ -331,8 +331,8 @@ public class DelegatingRegattaLeaderboardWithCompetitorElimination extends Abstr
|
||||
|
||||
@Override
|
||||
public void addScoreCorrectionListener(ScoreCorrectionListener listener) {
|
||||
if (fullLeaderboard != null) {
|
||||
fullLeaderboard.addScoreCorrectionListener(listener);
|
||||
if (getFullLeaderboard() != null) {
|
||||
getFullLeaderboard().addScoreCorrectionListener(listener);
|
||||
} else {
|
||||
triggerWhenFullLeaderboardIsResolved.put(leaderboard->leaderboard.addScoreCorrectionListener(listener), true);
|
||||
}
|
||||
@@ -340,8 +340,8 @@ public class DelegatingRegattaLeaderboardWithCompetitorElimination extends Abstr
|
||||
|
||||
@Override
|
||||
public void removeScoreCorrectionListener(ScoreCorrectionListener listener) {
|
||||
if (fullLeaderboard != null) {
|
||||
fullLeaderboard.removeScoreCorrectionListener(listener);
|
||||
if (getFullLeaderboard() != null) {
|
||||
getFullLeaderboard().removeScoreCorrectionListener(listener);
|
||||
} else {
|
||||
triggerWhenFullLeaderboardIsResolved.put(leaderboard->leaderboard.removeScoreCorrectionListener(listener), true);
|
||||
}
|
||||
|
||||
+10
-8
@@ -63,6 +63,7 @@ public class ORCCertificatesCollectionJSON extends AbstractORCCertificatesCollec
|
||||
private static final String CIRCULAR_RANDOM = "CR";
|
||||
private static final String NON_SPINNAKER = "NS";
|
||||
private static final String WIND_SPEEDS = "WindSpeeds";
|
||||
private static final String WIND_ANGLES = "WindAngles";
|
||||
|
||||
/**
|
||||
* Pattern to recognize a true wind angle in the allowances section. Group 1 contains
|
||||
@@ -189,27 +190,28 @@ public class ORCCertificatesCollectionJSON extends AbstractORCCertificatesCollec
|
||||
}
|
||||
// Now read the various allowances, assuming we find values for the TWS "bins" identified above
|
||||
for (final Object aKey : allowances.keySet()) {
|
||||
final JSONArray array = (JSONArray) allowances.get(aKey);
|
||||
final JSONArray twaArray = (JSONArray) allowances.get(aKey);
|
||||
if (((String) aKey).equals(BEAT_ANGLE)) {
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
for (int i = 0; i < twaArray.size(); i++) {
|
||||
beatAngles.put(new KnotSpeedImpl(trueWindSpeedArray[i]),
|
||||
new DegreeBearingImpl(((Number) array.get(i)).doubleValue()));
|
||||
new DegreeBearingImpl(((Number) twaArray.get(i)).doubleValue()));
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (((String) aKey).equals(GYBE_ANGLE)) {
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
for (int i = 0; i < twaArray.size(); i++) {
|
||||
gybeAngles.put(new KnotSpeedImpl(trueWindSpeedArray[i]),
|
||||
new DegreeBearingImpl(((Number) array.get(i)).doubleValue()));
|
||||
new DegreeBearingImpl(((Number) twaArray.get(i)).doubleValue()));
|
||||
}
|
||||
continue;
|
||||
}
|
||||
Map<Speed, Duration> twsMap = new HashMap<>();
|
||||
// ignore true wind angles key
|
||||
if (!twaPattern.matcher((String) aKey).lookingAt()) {
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
if (!aKey.equals(WIND_SPEEDS) && !aKey.equals(WIND_ANGLES) &&
|
||||
!twaPattern.matcher((String) aKey).lookingAt()) {
|
||||
for (int i = 0; i < twaArray.size(); i++) {
|
||||
twsMap.put(new KnotSpeedImpl(trueWindSpeedArray[i]),
|
||||
new SecondsDurationImpl(((Number) array.get(i)).doubleValue()));
|
||||
new SecondsDurationImpl(((Number) twaArray.get(i)).doubleValue()));
|
||||
}
|
||||
}
|
||||
switch ((String) aKey) {
|
||||
|
||||
+3
-5
@@ -2,9 +2,7 @@ package com.sap.sailing.gwt.ui.test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -29,7 +27,7 @@ public class GwtTestCaseColumnToggling extends GWTTestCase {
|
||||
|
||||
//These objects should be created by calling GWT.create(Class c);
|
||||
private LeaderboardPanelMock leaderboardPanel;
|
||||
private MyTestSailingServiceAsync service;
|
||||
private MyTestSailingServiceWriteAsync service;
|
||||
private StringMessages stringMessages;
|
||||
|
||||
//Test data.
|
||||
@@ -54,7 +52,7 @@ public class GwtTestCaseColumnToggling extends GWTTestCase {
|
||||
@Override
|
||||
protected void gwtSetUp() throws Exception {
|
||||
super.gwtSetUp();
|
||||
service = GWT.create(MyTestSailingService.class);
|
||||
service = GWT.create(MyTestSailingServiceWrite.class);
|
||||
stringMessages = GWT.create(StringMessages.class);
|
||||
}
|
||||
|
||||
@@ -87,7 +85,7 @@ public class GwtTestCaseColumnToggling extends GWTTestCase {
|
||||
}
|
||||
|
||||
private void trackRace(){
|
||||
final Set<TracTracRaceRecordDTO> rrDAOs = new HashSet<TracTracRaceRecordDTO>();
|
||||
final List<TracTracRaceRecordDTO> rrDAOs = new ArrayList<TracTracRaceRecordDTO>();
|
||||
rrDAOs.add(rrDao);
|
||||
service.trackWithTracTrac(/* regattaToAddTo */null, rrDAOs, tractracTunnel ? "tcp://" + tractracTunnelHost + ":"
|
||||
+ TracTracConnectionConstants.PORT_TUNNEL_LIVE : "tcp://" + TracTracConnectionConstants.HOST_NAME + ":"
|
||||
|
||||
-6
@@ -1,6 +0,0 @@
|
||||
package com.sap.sailing.gwt.ui.test;
|
||||
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
|
||||
public interface MyTestSailingServiceAsync extends SailingServiceAsync {
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.gwt.ui.test;
|
||||
|
||||
|
||||
public class MyTestSailingServiceImpl extends SailingServiceImplMock implements MyTestSailingService {
|
||||
public class MyTestSailingServiceImpl extends SailingServiceWriteImplMock implements MyTestSailingServiceWrite {
|
||||
private static final long serialVersionUID = 3647254510616623048L;
|
||||
|
||||
public MyTestSailingServiceImpl(){
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
package com.sap.sailing.gwt.ui.test;
|
||||
|
||||
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
|
||||
import com.sap.sailing.gwt.ui.client.SailingService;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWrite;
|
||||
|
||||
@RemoteServiceRelativePath("testsailing")
|
||||
public interface MyTestSailingService extends SailingService {
|
||||
public interface MyTestSailingServiceWrite extends SailingServiceWrite {
|
||||
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
package com.sap.sailing.gwt.ui.test;
|
||||
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
|
||||
public interface MyTestSailingServiceWriteAsync extends SailingServiceWriteAsync {
|
||||
}
|
||||
+2
-2
@@ -25,14 +25,14 @@ import com.sap.sailing.gwt.ui.shared.MarkDTO;
|
||||
import com.sap.sailing.server.interfaces.RacingEventService;
|
||||
|
||||
public class PingMarkViaRegattaLogTest {
|
||||
private SailingServiceImplMock sailingService;
|
||||
private SailingServiceWriteImplMock sailingService;
|
||||
private RacingEventService service;
|
||||
private final String columnName = "column";
|
||||
private final Fleet fleet = new FleetImpl("fleet");
|
||||
|
||||
@Before
|
||||
public void prepare() {
|
||||
sailingService = new SailingServiceImplMock();
|
||||
sailingService = new SailingServiceWriteImplMock();
|
||||
service = sailingService.getRacingEventService();
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -24,7 +24,7 @@ import com.sap.sailing.domain.swisstimingreplayadapter.SwissTimingReplayService;
|
||||
import com.sap.sailing.domain.tracking.RaceHandle;
|
||||
import com.sap.sailing.domain.tracking.TrackerManager;
|
||||
import com.sap.sailing.domain.tractracadapter.TracTracAdapterFactory;
|
||||
import com.sap.sailing.gwt.ui.server.SailingServiceImpl;
|
||||
import com.sap.sailing.gwt.ui.server.SailingServiceWriteImpl;
|
||||
import com.sap.sailing.server.impl.RacingEventServiceImpl;
|
||||
import com.sap.sailing.server.interfaces.RacingEventService;
|
||||
import com.sap.sailing.xrr.schema.RegattaResults;
|
||||
@@ -34,7 +34,7 @@ import com.sap.sse.replication.impl.AbstractReplicablesProvider;
|
||||
import com.sap.sse.replication.impl.ReplicationInstancesManager;
|
||||
import com.sap.sse.replication.impl.ReplicationServiceImpl;
|
||||
|
||||
public class SailingServiceImplMock extends SailingServiceImpl {
|
||||
public class SailingServiceWriteImplMock extends SailingServiceWriteImpl {
|
||||
private static final long serialVersionUID = 8564037671550730455L;
|
||||
|
||||
private final RacingEventService service;
|
||||
@@ -45,7 +45,7 @@ public class SailingServiceImplMock extends SailingServiceImpl {
|
||||
private final SwissTimingReplayService swissTimingReplayService = null;
|
||||
private final RaceLogTrackingAdapterFactory raceLogTrackingAdapterFactory = RaceLogTrackingAdapterFactory.INSTANCE;
|
||||
|
||||
public SailingServiceImplMock() {
|
||||
public SailingServiceWriteImplMock() {
|
||||
super();
|
||||
service = new RacingEventServiceImpl(/* clearPersistentCompetitorStore */ true, new MockSmartphoneImeiServiceFinderFactory(), /* restoreTrackedRaces */ false);
|
||||
try {
|
||||
@@ -62,14 +62,14 @@ public class SlicingTest {
|
||||
"test1", "test", "test", null, CountryCodeFactoryImpl.INSTANCE.getFromTwoLetterISOName("de"),
|
||||
1.0, null, null, "B1", boatClassName, "GER 123");
|
||||
|
||||
private SailingServiceImplMock sailingService;
|
||||
private SailingServiceWriteImplMock sailingService;
|
||||
|
||||
private ThreadState threadState;
|
||||
protected Subject subject;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
sailingService = new SailingServiceImplMock();
|
||||
sailingService = new SailingServiceWriteImplMock();
|
||||
((ClearStateTestSupport)(sailingService.getRacingEventService())).clearState();
|
||||
|
||||
subject = Mockito.mock(Subject.class);
|
||||
@@ -86,7 +86,7 @@ public class SlicingTest {
|
||||
@Test
|
||||
@Ignore
|
||||
/**
|
||||
* Currently non functional test case for race slicing. Should be finished when SailingServiceImplMock is fixed to
|
||||
* Currently non functional test case for race slicing. Should be finished when SailingServiceWriteImplMock is fixed to
|
||||
* work properly for test cases. See bug 4418 for details.
|
||||
*/
|
||||
public void testSliceRace() throws Exception {
|
||||
|
||||
+5
-5
@@ -21,7 +21,7 @@ import com.sap.sailing.domain.common.dto.BoatClassDTO;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.common.dto.LeaderboardDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.ui.server.SailingServiceImpl;
|
||||
import com.sap.sailing.gwt.ui.server.SailingServiceWriteImpl;
|
||||
|
||||
public class TestColumnSwapping {
|
||||
|
||||
@@ -29,12 +29,12 @@ public class TestColumnSwapping {
|
||||
private static final String LEADERBOARDNAME = "test";
|
||||
private static final String DEFAULT_FLEET_NAME = "Default";
|
||||
private static final FleetDTO DEFAULT_FLEET = new FleetDTO(DEFAULT_FLEET_NAME, /* ordering */ 0, /* color */ null);
|
||||
private SailingServiceImpl service;
|
||||
private SailingServiceWriteImpl service;
|
||||
private LeaderboardDTO leaderboardOriginalDTO;
|
||||
private LeaderboardDTO leaderboardDTO;
|
||||
private Collection<String> leglist;
|
||||
private Date leaderboardCreationDate;
|
||||
private SailingServiceImpl sailingService = null;
|
||||
private SailingServiceWriteImpl sailingService = null;
|
||||
|
||||
// Test-Data
|
||||
private final String TEST_LEADERBOARD_NAME = "test_board";
|
||||
@@ -43,7 +43,7 @@ public class TestColumnSwapping {
|
||||
|
||||
@Before
|
||||
public void prepareColumnSwapping() {
|
||||
service = new SailingServiceImplMock();
|
||||
service = new SailingServiceWriteImplMock();
|
||||
int[] disc = { 5, 8, 9, 0, 7, 5, 43 };
|
||||
service.removeLeaderboard(LEADERBOARDNAME);
|
||||
service.createFlexibleLeaderboard(LEADERBOARDNAME, null, disc, ScoringSchemeType.LOW_POINT, null);
|
||||
@@ -80,7 +80,7 @@ public class TestColumnSwapping {
|
||||
|
||||
@Test
|
||||
public void testSailingService() {
|
||||
sailingService = new SailingServiceImplMock();
|
||||
sailingService = new SailingServiceWriteImplMock();
|
||||
assertNotNull("Sailingservice != NULL", sailingService);
|
||||
int td[] = { 5, 8 };
|
||||
sailingService.removeLeaderboard(TEST_LEADERBOARD_NAME);
|
||||
|
||||
@@ -91,6 +91,17 @@
|
||||
<url-pattern>/service/sailing/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet>
|
||||
<display-name>Sailing ServiceWrite</display-name>
|
||||
<servlet-name>SailingServiceWrite</servlet-name>
|
||||
<servlet-class>com.sap.sailing.gwt.ui.server.SailingServiceWriteImpl</servlet-class>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>SailingServiceWrite</servlet-name>
|
||||
<url-pattern>/service/sailingmaster</url-pattern>
|
||||
<url-pattern>/service/sailingmaster/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet>
|
||||
<display-name>Server Configuration Service</display-name>
|
||||
<servlet-name>ServerConfigurationService</servlet-name>
|
||||
|
||||
+2
-1
@@ -1,9 +1,10 @@
|
||||
package com.sap.sailing.gwt.autoplay.client.app;
|
||||
|
||||
import com.sap.sailing.gwt.home.communication.SailingDispatchSystem;
|
||||
import com.sap.sailing.gwt.home.desktop.places.user.profile.WithSailingServiceWrite;
|
||||
import com.sap.sailing.gwt.ui.client.SailingClientFactory;
|
||||
|
||||
public interface AutoPlayClientFactory extends SailingClientFactory {
|
||||
public interface AutoPlayClientFactory extends SailingClientFactory, WithSailingServiceWrite {
|
||||
AutoPlayPlaceNavigator getPlaceNavigator();
|
||||
|
||||
void setAutoPlayContext(AutoPlayContext configurationSixtyInch);
|
||||
|
||||
+8
@@ -16,12 +16,14 @@ import com.sap.sailing.gwt.ui.client.MediaServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.RemoteServiceMappingConstants;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceHelper;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sse.gwt.client.EntryPointHelper;
|
||||
import com.sap.sse.security.ui.client.SecureClientFactoryImpl;
|
||||
|
||||
public abstract class AutoPlayClientFactoryBase
|
||||
extends SecureClientFactoryImpl<ApplicationTopLevelView> implements AutoPlayClientFactory {
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final MediaServiceAsync mediaService;
|
||||
private final AutoPlayPlaceNavigator navigator;
|
||||
|
||||
@@ -32,6 +34,7 @@ public abstract class AutoPlayClientFactoryBase
|
||||
super(root, eventBus, placeController);
|
||||
this.navigator = navigator;
|
||||
sailingService = SailingServiceHelper.createSailingServiceInstance();
|
||||
sailingServiceWrite = SailingServiceHelper.createSailingServiceWriteInstance();
|
||||
mediaService = GWT.create(MediaService.class);
|
||||
EntryPointHelper.registerASyncService((ServiceDefTarget) sailingService,
|
||||
RemoteServiceMappingConstants.sailingServiceRemotePath);
|
||||
@@ -66,6 +69,11 @@ public abstract class AutoPlayClientFactoryBase
|
||||
return sailingServiceAsync;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SailingServiceWriteAsync getSailingServiceWrite() {
|
||||
return sailingServiceWrite;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaServiceAsync getMediaService() {
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ public class LiveRaceBoardNode extends FiresPlaceNode implements RaceTimesInfoPr
|
||||
/** leaderboardGroupName */
|
||||
null, /** eventId */
|
||||
null, cf.getErrorReporter(), StringMessages.INSTANCE, null, raceTimesInfoProvider, true, false,
|
||||
Arrays.asList(DetailType.values()), result.getLeaderboard(), result.getRace(), result.getTrackingConnectorInfo());
|
||||
Arrays.asList(DetailType.values()), result.getLeaderboard(), result.getRace(), result.getTrackingConnectorInfo(), cf.getSailingServiceWrite());
|
||||
setPlaceToGo(new LiveRaceWithRaceboardPlace(raceboardPerspective));
|
||||
firePlaceChangeAndStartTimer();
|
||||
getBus().fireEvent(new AutoPlayHeaderEvent(cf.getAutoPlayCtxSignalError().getLifeOrPreLiveRace().getRegattaName(),
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package com.sap.sailing.gwt.home.desktop.places.user.profile;
|
||||
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
|
||||
public interface WithSailingServiceWrite {
|
||||
|
||||
SailingServiceWriteAsync getSailingServiceWrite();
|
||||
}
|
||||
+2
-2
@@ -18,13 +18,13 @@ import com.sap.sailing.gwt.common.client.SharedResources;
|
||||
import com.sap.sailing.gwt.regattaoverview.client.RegattaRaceStatesComponent.EntryHandler;
|
||||
import com.sap.sailing.gwt.settings.client.regattaoverview.RegattaOverviewContextDefinition;
|
||||
import com.sap.sailing.gwt.settings.client.regattaoverview.RegattaRaceStatesSettings;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractSailingEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractSailingReadEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaOverviewEntryDTO;
|
||||
import com.sap.sse.gwt.client.Notification;
|
||||
import com.sap.sse.gwt.client.Notification.NotificationType;
|
||||
import com.sap.sse.gwt.settings.SettingsToUrlSerializer;
|
||||
|
||||
public class RegattaOverviewEntryPoint extends AbstractSailingEntryPoint {
|
||||
public class RegattaOverviewEntryPoint extends AbstractSailingReadEntryPoint {
|
||||
|
||||
private static final SettingsToUrlSerializer serializer = new SettingsToUrlSerializer();
|
||||
|
||||
|
||||
+13
-12
@@ -42,6 +42,7 @@ import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.domain.common.orc.ORCCertificate;
|
||||
import com.sap.sailing.domain.common.orc.ORCCertificateUploadConstants;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sse.common.Util.Triple;
|
||||
@@ -79,7 +80,7 @@ public abstract class AbstractBoatCertificatesPanel extends SimplePanel {
|
||||
private final Map<String, BoatDTO> boatsByIdAsString;
|
||||
private final CertificatesTableWrapper<RefreshableSingleSelectionModel<ORCCertificate>> certificateTable;
|
||||
private final BusyIndicator busyIndicator;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final ErrorReporter errorReporter;
|
||||
|
||||
private final StringListEditorComposite urls;
|
||||
@@ -125,10 +126,10 @@ public abstract class AbstractBoatCertificatesPanel extends SimplePanel {
|
||||
/**
|
||||
* After invoking this superclass constructor, and after doing any other initialization work, subclasses must call {@link #refresh}.
|
||||
*/
|
||||
public AbstractBoatCertificatesPanel(final SailingServiceAsync sailingService, final UserService userService,
|
||||
public AbstractBoatCertificatesPanel(final SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
final SecuredDTO objectToCheckUpdatePermissionFor, final StringMessages stringMessages,
|
||||
final ErrorReporter errorReporter, Supplier<Boolean> contextUpdatePermissionCheck, String errorContext) {
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
this.certificateTableSelectionHandler = createCertificateTableSelectionHandler();
|
||||
@@ -141,10 +142,10 @@ public abstract class AbstractBoatCertificatesPanel extends SimplePanel {
|
||||
this.urls = new StringListEditorComposite(Collections.emptySet(), stringMessages, stringMessages.courseAreas(), IconResources.INSTANCE.removeIcon(),
|
||||
/* suggested values */ Collections.emptySet(), stringMessages.enterURLsForCertificateDownload());
|
||||
this.hiddenCertificateUrlsFields = new ArrayList<>();
|
||||
this.boatTable = new BoatWithCertificateTableWrapper<>(sailingService, userService, stringMessages,
|
||||
this.boatTable = new BoatWithCertificateTableWrapper<>(sailingServiceWrite, userService, stringMessages,
|
||||
errorReporter, /* multiSelection */ true, /* enablePager */ true, TableWrapper.DEFAULT_PAGING_SIZE, /* allow actions */ true,
|
||||
boat->unlink(boat), objectToCheckUpdatePermissionFor, boat->certificateAssignments.containsKey(boat));
|
||||
this.certificateTable = new CertificatesTableWrapper<>(sailingService, userService, stringMessages,
|
||||
this.certificateTable = new CertificatesTableWrapper<>(sailingServiceWrite, userService, stringMessages,
|
||||
errorReporter, /* multiSelection */ false, /* enablePager */ true, TableWrapper.DEFAULT_PAGING_SIZE);
|
||||
busyIndicator = new SimpleBusyIndicator(false, 0.8f);
|
||||
this.form = new FormPanel();
|
||||
@@ -224,7 +225,7 @@ public abstract class AbstractBoatCertificatesPanel extends SimplePanel {
|
||||
searchGrid.setWidget(1, 6, boatClassNameTextBox);
|
||||
searchButton.addClickHandler(e->{
|
||||
busyIndicator.setBusy(true);
|
||||
sailingService.searchORCBoatCertificates(DialogUtils.getSelectedCountry(issuingCountryListBox),
|
||||
sailingServiceWrite.searchORCBoatCertificates(DialogUtils.getSelectedCountry(issuingCountryListBox),
|
||||
yearOfIssuanceBox.getValue(), referenceNumberTextBox.getValue().trim().isEmpty() ?
|
||||
null : referenceNumberTextBox.getValue(),
|
||||
yachtNameTextBox.getValue() == null ? null : yachtNameTextBox.getValue(),
|
||||
@@ -251,7 +252,7 @@ public abstract class AbstractBoatCertificatesPanel extends SimplePanel {
|
||||
try {
|
||||
final JSONObject json = (JSONObject) JSONParser.parseStrict(e.getResults());
|
||||
if (json.get(ORCCertificateUploadConstants.CERTIFICATES) != null) {
|
||||
sailingService.getORCCertificates(e.getResults(), new AsyncCallback<Collection<ORCCertificate>>() {
|
||||
sailingServiceWrite.getORCCertificates(e.getResults(), new AsyncCallback<Collection<ORCCertificate>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
busyIndicator.setBusy(false);
|
||||
@@ -401,7 +402,7 @@ public abstract class AbstractBoatCertificatesPanel extends SimplePanel {
|
||||
final Set<BoatDTO> selectedBoats = boatTable.getSelectionModel().getSelectedSet();
|
||||
if (selectedBoats != null && !selectedBoats.isEmpty()) {
|
||||
busyIndicator.setBusy(true);
|
||||
sailingService.getSuggestedORCBoatCertificates(new ArrayList<>(selectedBoats),
|
||||
sailingServiceWrite.getSuggestedORCBoatCertificates(new ArrayList<>(selectedBoats),
|
||||
new AsyncCallback<Map<BoatDTO, Set<ORCCertificate>>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -446,10 +447,10 @@ public abstract class AbstractBoatCertificatesPanel extends SimplePanel {
|
||||
result.getB(), result.getC()), Notification.NotificationType.INFO);
|
||||
}
|
||||
};
|
||||
assignCertificates(sailingService, certificatesByBoatIdAsString, callback);
|
||||
assignCertificates(sailingServiceWrite, certificatesByBoatIdAsString, callback);
|
||||
}
|
||||
|
||||
protected abstract void assignCertificates(SailingServiceAsync sailingService,
|
||||
protected abstract void assignCertificates(SailingServiceWriteAsync sailingServiceWrite,
|
||||
Map<String, ORCCertificate> certificatesByBoatIdAsString,
|
||||
AsyncCallback<Triple<Integer, Integer, Integer>> callback);
|
||||
|
||||
@@ -495,10 +496,10 @@ public abstract class AbstractBoatCertificatesPanel extends SimplePanel {
|
||||
boatTable.setBoats(boatResults);
|
||||
}
|
||||
};
|
||||
getORCCertificateAssignemtnsByBoatIdAsString(sailingService, callbackForGetCertificates);
|
||||
getORCCertificateAssignemtnsByBoatIdAsString(sailingServiceWrite, callbackForGetCertificates);
|
||||
}
|
||||
};
|
||||
getBoats(sailingService, callbackForGetBoats);
|
||||
getBoats(sailingServiceWrite, callbackForGetBoats);
|
||||
|
||||
}
|
||||
|
||||
|
||||
+4
-3
@@ -8,6 +8,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
@@ -21,7 +22,7 @@ public abstract class AbstractCompetitorRegistrationDialog extends DataEntryDial
|
||||
protected final boolean canBoatsOfCompetitorsChangePerRace;
|
||||
protected final CompetitorRegistrationsPanel competitorRegistrationsPanel;
|
||||
|
||||
public AbstractCompetitorRegistrationDialog(SailingServiceAsync sailingService, final UserService userService, StringMessages stringMessages,
|
||||
public AbstractCompetitorRegistrationDialog(SailingServiceWriteAsync sailingServiceWrite, final UserService userService, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter, boolean editable,
|
||||
com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback<Set<CompetitorDTO>> callback,
|
||||
String leaderboardName, boolean canBoatsOfCompetitorsChangePerRace, String boatClass, String okButtonMessage,
|
||||
@@ -30,10 +31,10 @@ public abstract class AbstractCompetitorRegistrationDialog extends DataEntryDial
|
||||
validator, callback);
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
this.sailingService = sailingService;
|
||||
this.sailingService = sailingServiceWrite;
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.canBoatsOfCompetitorsChangePerRace = canBoatsOfCompetitorsChangePerRace;
|
||||
this.competitorRegistrationsPanel = new CompetitorRegistrationsPanel(sailingService, userService, stringMessages, errorReporter, editable, leaderboardName, canBoatsOfCompetitorsChangePerRace, boatClass,
|
||||
this.competitorRegistrationsPanel = new CompetitorRegistrationsPanel(sailingServiceWrite, userService, stringMessages, errorReporter, editable, leaderboardName, canBoatsOfCompetitorsChangePerRace, boatClass,
|
||||
()->validateAndUpdate(), getRegisteredCompetitorsRetriever(), /* restrictPoolToLeaderboard */ false, getAdditionalWidgetsToInsertAboveCompetitorTables(stringMessages));
|
||||
}
|
||||
|
||||
|
||||
+44
-18
@@ -3,12 +3,15 @@ package com.sap.sailing.gwt.ui.adminconsole;
|
||||
import com.google.gwt.user.client.ui.FocusWidget;
|
||||
import com.google.gwt.user.client.ui.SuggestBox;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.sap.sailing.domain.common.dto.BoatClassDTO;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTOImpl;
|
||||
import com.sap.sailing.gwt.common.client.suggestion.BoatClassMasterdataSuggestOracle;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Distance;
|
||||
import com.sap.sse.gwt.client.ColorTextBox;
|
||||
|
||||
/**
|
||||
@@ -76,45 +79,64 @@ public abstract class AbstractCompetitorWithBoatDialog extends CompetitorEditDia
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* The class creates the UI-dialog to type in the Data about a competitor.
|
||||
*
|
||||
* @param competitorToEdit
|
||||
* The 'competitorToEdit' parameter contains the competitor which should be changed or initialized.
|
||||
* @param competitorWithBoat
|
||||
* The 'competitorWithBoat' parameter contains the competitor which should be changed or initialized.
|
||||
* @param boatClass
|
||||
* The boat class is the default shown boat class for new boats. Set <code>null</code> if your boat is
|
||||
* already initialized or you don't want a default boat class.
|
||||
* @param The
|
||||
* {@link Validator} for competitor with boat
|
||||
*/
|
||||
public AbstractCompetitorWithBoatDialog(String dialogTitle, StringMessages stringMessages, CompetitorWithBoatDTO competitorToEdit,
|
||||
DialogCallback<CompetitorWithBoatDTO> callback, String boatClass) {
|
||||
super(dialogTitle, stringMessages, competitorToEdit,
|
||||
new AbstractCompetitorWithBoatDialog.CompetitorWithBoatValidator(stringMessages,
|
||||
competitorToEdit.getBoat()),
|
||||
callback);
|
||||
|
||||
final BoatDTO boatToEdit = competitorToEdit.getBoat();
|
||||
public AbstractCompetitorWithBoatDialog(String dialogTitle, StringMessages stringMessages,
|
||||
CompetitorWithBoatDTO competitorWithBoat, DialogCallback<CompetitorWithBoatDTO> callback, String boatClass,
|
||||
CompetitorWithoutBoatValidator<CompetitorWithBoatDTO> validator) {
|
||||
super(dialogTitle, stringMessages, competitorWithBoat, validator, callback);
|
||||
final BoatDTO boat = competitorWithBoat.getBoat();
|
||||
this.boatClassNameTextBox = createSuggestBox(new BoatClassMasterdataSuggestOracle());
|
||||
boatClassNameTextBox.ensureDebugId("BoatClassNameSuggestBox");
|
||||
if (boatToEdit.getBoatClass() != null) {
|
||||
boatClassNameTextBox.setValue(boatToEdit.getBoatClass().getName());
|
||||
boatClassNameTextBox.setEnabled(false);
|
||||
if (boat.getBoatClass() != null) {
|
||||
boatClassNameTextBox.setValue(boat.getBoatClass().getName());
|
||||
setBoatClassNameEnabled(boatClassNameTextBox, false);
|
||||
} else {
|
||||
boatClassNameTextBox.setValue(boatClass); // widgets have to accept null values here
|
||||
}
|
||||
this.boatNameTextBox = createTextBox(boatToEdit.getName());
|
||||
this.boatNameTextBox = createTextBox(boat.getName());
|
||||
boatNameTextBox.ensureDebugId("BoatNameTextBox");
|
||||
this.boatDisplayColorTextBox = createColorTextBox(boatToEdit.getColor());
|
||||
this.sailIdTextBox = createTextBox(boatToEdit.getSailId());
|
||||
this.boatDisplayColorTextBox = createColorTextBox(boat.getColor());
|
||||
this.sailIdTextBox = createTextBox(boat.getSailId());
|
||||
sailIdTextBox.ensureDebugId("SailIdTextBox");
|
||||
}
|
||||
|
||||
public AbstractCompetitorWithBoatDialog(String dialogTitle, StringMessages stringMessages,
|
||||
CompetitorWithBoatDTO competitorWithBoat, DialogCallback<CompetitorWithBoatDTO> callback,
|
||||
String boatClass) {
|
||||
this(dialogTitle, stringMessages, competitorWithBoat, callback, boatClass,
|
||||
new AbstractCompetitorWithBoatDialog.CompetitorWithBoatValidator(stringMessages,
|
||||
competitorWithBoat.getBoat()));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FocusWidget getInitialFocusWidget() {
|
||||
return super.getInitialFocusWidget();
|
||||
}
|
||||
|
||||
protected abstract BoatDTO getBoat();
|
||||
protected BoatDTO getBoat() {
|
||||
BoatDTO result = null;
|
||||
Color boatColor;
|
||||
if (boatDisplayColorTextBox.isValid()) {
|
||||
boatColor = boatDisplayColorTextBox.getColor();
|
||||
} else {
|
||||
boatColor = new InvalidColor(new IllegalArgumentException(boatDisplayColorTextBox.getValue()),
|
||||
getStringMessages());
|
||||
}
|
||||
BoatClassDTO boatClass = new BoatClassDTO(boatClassNameTextBox.getValue(), Distance.NULL, Distance.NULL);
|
||||
result = new BoatDTO(getCompetitorToEdit().getBoat().getIdAsString(), boatNameTextBox.getValue(), boatClass,
|
||||
sailIdTextBox.getValue(), boatColor);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected CompetitorWithBoatDTO getResult() {
|
||||
@@ -129,4 +151,8 @@ public abstract class AbstractCompetitorWithBoatDialog extends CompetitorEditDia
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void setBoatClassNameEnabled(SuggestBox boatClassNameTextBox, boolean enabled) {
|
||||
boatClassNameTextBox.setEnabled(enabled);
|
||||
}
|
||||
|
||||
}
|
||||
+4
-4
@@ -16,7 +16,7 @@ import com.google.gwt.user.client.ui.ListBox;
|
||||
import com.sap.sailing.domain.common.BoatClassMasterdata;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractRegattaPanel;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceRecordDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
@@ -29,17 +29,17 @@ public abstract class AbstractEventManagementPanel extends AbstractRegattaPanel
|
||||
private final List<RegattaDTO> availableRegattas;
|
||||
private final ListBox availableRegattasListBox;
|
||||
|
||||
public AbstractEventManagementPanel(SailingServiceAsync sailingService, UserService userService,
|
||||
public AbstractEventManagementPanel(SailingServiceWriteAsync sailingServiceWrite, UserService userService,
|
||||
RegattaRefresher regattaRefresher, ErrorReporter errorReporter, boolean actionButtonsEnabled,
|
||||
StringMessages stringMessages) {
|
||||
super(sailingService, regattaRefresher, errorReporter, stringMessages);
|
||||
super(sailingServiceWrite, regattaRefresher, errorReporter, stringMessages);
|
||||
this.availableRegattas = new ArrayList<RegattaDTO>();
|
||||
|
||||
this.availableRegattasListBox = new ListBox();
|
||||
this.availableRegattasListBox.ensureDebugId("AvailableRegattasListBox");
|
||||
|
||||
// TrackedEventsComposite should exist in every *ManagementPanel.
|
||||
trackedRacesListComposite = new TrackedRacesListComposite(null, null, sailingService, userService,
|
||||
trackedRacesListComposite = new TrackedRacesListComposite(null, null, sailingServiceWrite, userService,
|
||||
errorReporter, regattaRefresher, stringMessages, /* multiselection */ true, actionButtonsEnabled);
|
||||
trackedRacesListComposite.ensureDebugId("TrackedRacesListComposite");
|
||||
}
|
||||
|
||||
+25
-25
@@ -42,7 +42,7 @@ import com.sap.sailing.gwt.ui.client.LeaderboardsDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardsRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattasDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceLogDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
@@ -78,7 +78,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
|
||||
protected final StringMessages stringMessages;
|
||||
|
||||
protected final SailingServiceAsync sailingService;
|
||||
protected final SailingServiceWriteAsync sailingServiceWrite;
|
||||
|
||||
protected final ListDataProvider<StrippedLeaderboardDTOWithSecurity> filteredLeaderboardList;
|
||||
|
||||
@@ -156,12 +156,12 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
}
|
||||
}
|
||||
|
||||
public AbstractLeaderboardConfigPanel(final SailingServiceAsync sailingService, final UserService userService,
|
||||
public AbstractLeaderboardConfigPanel(final SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
RegattaRefresher regattaRefresher,
|
||||
LeaderboardsRefresher<StrippedLeaderboardDTOWithSecurity> leaderboardsRefresher,
|
||||
final ErrorReporter errorReporter, StringMessages theStringConstants, boolean multiSelection) {
|
||||
this.stringMessages = theStringConstants;
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.userService = userService;
|
||||
filteredLeaderboardList = new ListDataProvider<StrippedLeaderboardDTOWithSecurity>();
|
||||
allRegattas = new ArrayList<RegattaDTO>();
|
||||
@@ -252,7 +252,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
trackedRacesCaptionPanel.setContentWidget(trackedRacesPanel);
|
||||
trackedRacesCaptionPanel.setStyleName("bold");
|
||||
|
||||
trackedRacesListComposite = new TrackedRacesListComposite(null, null, sailingService, userService,
|
||||
trackedRacesListComposite = new TrackedRacesListComposite(null, null, sailingServiceWrite, userService,
|
||||
errorReporter,
|
||||
regattaRefresher, stringMessages, /* multiselection */false, isActionButtonsEnabled());
|
||||
refreshableTrackedRaceSelectionModel = trackedRacesListComposite.getSelectionModel();
|
||||
@@ -331,7 +331,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
Label lblRaceNamesIn = new Label(stringMessages.races());
|
||||
vPanel.add(lblRaceNamesIn);
|
||||
raceColumnTable = new RaceTableWrapper<RefreshableSelectionModel<RaceColumnDTOAndFleetDTOWithNameBasedEquality>>(
|
||||
sailingService, stringMessages, errorReporter, multiSelection);
|
||||
sailingServiceWrite, stringMessages, errorReporter, multiSelection);
|
||||
raceColumnTable.asWidget().ensureDebugId("RaceColumnTable");
|
||||
raceColumnTable.getTable().setWidth("100%");
|
||||
addColumnsToRacesTable(raceColumnTable.getTable());
|
||||
@@ -421,7 +421,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
+ t.getMessage());
|
||||
}
|
||||
});
|
||||
sailingService.getLeaderboardWithSecurity(leaderboardName, callback);
|
||||
sailingServiceWrite.getLeaderboardWithSecurity(leaderboardName, callback);
|
||||
}
|
||||
|
||||
private void replaceLeaderboardInList(List<StrippedLeaderboardDTOWithSecurity> leaderboardList,
|
||||
@@ -440,7 +440,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
|
||||
protected void unlinkRaceColumnFromTrackedRace(final String raceColumnName, final FleetDTO fleet) {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
sailingService.disconnectLeaderboardColumnFromTrackedRace(selectedLeaderboardName, raceColumnName,
|
||||
sailingServiceWrite.disconnectLeaderboardColumnFromTrackedRace(selectedLeaderboardName, raceColumnName,
|
||||
fleet.getName(), new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable t) {
|
||||
@@ -459,7 +459,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
|
||||
protected void refreshRaceLog(final RaceColumnDTO raceColumnDTO, final FleetDTO fleet, final boolean showAlerts) {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
sailingService.reloadRaceLog(selectedLeaderboardName, raceColumnDTO, fleet,
|
||||
sailingServiceWrite.reloadRaceLog(selectedLeaderboardName, raceColumnDTO, fleet,
|
||||
new MarkedAsyncCallback<Void>(new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -496,7 +496,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
final String selectedRaceColumnName = selectedRaceColumnAndFleetNameInLeaderboard.getA()
|
||||
.getRaceColumnName();
|
||||
final String selectedFleetName = selectedRaceColumnAndFleetNameInLeaderboard.getB().getName();
|
||||
sailingService.getRegattaAndRaceNameOfTrackedRaceConnectedToLeaderboardColumn(selectedLeaderboardName,
|
||||
sailingServiceWrite.getRegattaAndRaceNameOfTrackedRaceConnectedToLeaderboardColumn(selectedLeaderboardName,
|
||||
selectedRaceColumnName, new MarkedAsyncCallback<Map<String, RegattaAndRaceIdentifier>>(
|
||||
new AsyncCallback<Map<String, RegattaAndRaceIdentifier>>() {
|
||||
@Override
|
||||
@@ -593,7 +593,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
|
||||
private void linkTrackedRaceToSelectedRaceColumn(final RaceColumnDTO selectedRaceInLeaderboard,
|
||||
final FleetDTO fleet, final RegattaAndRaceIdentifier selectedRace) {
|
||||
sailingService.connectTrackedRaceToLeaderboardColumn(getSelectedLeaderboardName(),
|
||||
sailingServiceWrite.connectTrackedRaceToLeaderboardColumn(getSelectedLeaderboardName(),
|
||||
selectedRaceInLeaderboard.getRaceColumnName(), fleet.getName(), selectedRace,
|
||||
new MarkedAsyncCallback<Boolean>(new AsyncCallback<Boolean>() {
|
||||
@Override
|
||||
@@ -676,15 +676,15 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
}
|
||||
};
|
||||
if (rename) {
|
||||
sailingService.renameLeaderboardColumn(selectedLeaderboardName, oldRaceColumnName,
|
||||
sailingServiceWrite.renameLeaderboardColumn(selectedLeaderboardName, oldRaceColumnName,
|
||||
result.getName(), renameLeaderboardColumnCallback);
|
||||
}
|
||||
if (updateIsMedalRace) {
|
||||
sailingService.updateIsMedalRace(selectedLeaderboardName, result.getName(),
|
||||
sailingServiceWrite.updateIsMedalRace(selectedLeaderboardName, result.getName(),
|
||||
result.isMedalRace(), updateIsMedalRaceCallback);
|
||||
}
|
||||
if (updateFactor) {
|
||||
sailingService.updateLeaderboardColumnFactor(selectedLeaderboardName, result.getName(),
|
||||
sailingServiceWrite.updateLeaderboardColumnFactor(selectedLeaderboardName, result.getName(),
|
||||
result.getExplicitFactor(), updateLeaderboardColumnFactorCallback);
|
||||
}
|
||||
}
|
||||
@@ -694,7 +694,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
|
||||
protected void showRaceLog(final RaceColumnDTO raceColumnDTO, final FleetDTO fleetDTO) {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
sailingService.getRaceLog(selectedLeaderboardName, raceColumnDTO, fleetDTO,
|
||||
sailingServiceWrite.getRaceLog(selectedLeaderboardName, raceColumnDTO, fleetDTO,
|
||||
new MarkedAsyncCallback<RaceLogDTO>(new AsyncCallback<RaceLogDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -723,7 +723,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
|
||||
protected void showRegattaLog() {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
sailingService.getRegattaLog(selectedLeaderboardName,
|
||||
sailingServiceWrite.getRegattaLog(selectedLeaderboardName,
|
||||
new MarkedAsyncCallback<RegattaLogDTO>(new AsyncCallback<RegattaLogDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -801,13 +801,13 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
}
|
||||
|
||||
protected void assignCertificates(RaceColumnDTOAndFleetDTOWithNameBasedEquality object) {
|
||||
BoatCertificateAssignmentDialog dialog = new BoatCertificateAssignmentDialog(sailingService, userService,
|
||||
stringMessages, errorReporter, new RaceBoatCertificatesPanel(sailingService, userService, object.getC(), object.getA(), object.getB(), stringMessages, errorReporter));
|
||||
BoatCertificateAssignmentDialog dialog = new BoatCertificateAssignmentDialog(sailingServiceWrite, userService,
|
||||
stringMessages, errorReporter, new RaceBoatCertificatesPanel(sailingServiceWrite, userService, object.getC(), object.getA(), object.getB(), stringMessages, errorReporter));
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
protected void selectScratchBoat(RaceColumnDTOAndFleetDTOWithNameBasedEquality object) {
|
||||
sailingService.getORCPerformanceCurveScratchBoat(object.getC().getName(), object.getA().getName(), object.getB().getName(), new AsyncCallback<CompetitorDTO>() {
|
||||
sailingServiceWrite.getORCPerformanceCurveScratchBoat(object.getC().getName(), object.getA().getName(), object.getB().getName(), new AsyncCallback<CompetitorDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(stringMessages.errorObtainingScratchBoat(caught.getMessage()), /* silent */ true);
|
||||
@@ -815,12 +815,12 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
|
||||
@Override
|
||||
public void onSuccess(CompetitorDTO scratchBoatSoFar) {
|
||||
new CompetitorSelectionDialog(sailingService, userService, errorReporter,
|
||||
new CompetitorSelectionDialog(sailingServiceWrite, userService, errorReporter,
|
||||
stringMessages.selectScratchBoat(), stringMessages.selectScratchBoat(), getRaceCompetitorProvider(object), stringMessages, scratchBoatSoFar,
|
||||
new DialogCallback<CompetitorDTO>() {
|
||||
@Override
|
||||
public void ok(CompetitorDTO newScratchBoat) {
|
||||
sailingService.setORCPerformanceCurveScratchBoat(object.getC().getName(), object.getA().getName(), object.getB().getName(),
|
||||
sailingServiceWrite.setORCPerformanceCurveScratchBoat(object.getC().getName(), object.getA().getName(), object.getB().getName(),
|
||||
newScratchBoat, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -843,7 +843,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
|
||||
protected void setImpliedWind(RaceColumnDTOAndFleetDTOWithNameBasedEquality object) {
|
||||
final String raceDisplayName = object.getC().getName() + "/" + object.getA().getName() + "/" + object.getB().getName();
|
||||
sailingService.getImpliedWindSource(object.getC().getName(), object.getA().getName(), object.getB().getName(),
|
||||
sailingServiceWrite.getImpliedWindSource(object.getC().getName(), object.getA().getName(), object.getB().getName(),
|
||||
new AsyncCallback<ImpliedWindSource>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -854,10 +854,10 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
|
||||
@Override
|
||||
public void onSuccess(ImpliedWindSource result) {
|
||||
new ImpliedWindSourceEditDialog(object, result, availableLeaderboardList, stringMessages, errorReporter, sailingService, userService, new DialogCallback<ImpliedWindSource>() {
|
||||
new ImpliedWindSourceEditDialog(object, result, availableLeaderboardList, stringMessages, errorReporter, sailingServiceWrite, userService, new DialogCallback<ImpliedWindSource>() {
|
||||
@Override
|
||||
public void ok(ImpliedWindSource editedObject) {
|
||||
sailingService.setImpliedWindSource(object.getC().getName(), object.getA().getName(), object.getB().getName(), editedObject,
|
||||
sailingServiceWrite.setImpliedWindSource(object.getC().getName(), object.getA().getName(), object.getB().getName(), editedObject,
|
||||
new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -889,7 +889,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel
|
||||
*/
|
||||
protected Consumer<AsyncCallback<Iterable<? extends CompetitorDTO>>> getRaceCompetitorProvider(
|
||||
RaceColumnDTOAndFleetDTOWithNameBasedEquality raceSlotIdentifier) {
|
||||
return callback -> sailingService.getCompetitorsAndBoatsOfRace(raceSlotIdentifier.getC().getName(),
|
||||
return callback -> sailingServiceWrite.getCompetitorsAndBoatsOfRace(raceSlotIdentifier.getC().getName(),
|
||||
raceSlotIdentifier.getA().getName(), raceSlotIdentifier.getB().getName(), new AsyncCallback<Map<? extends CompetitorDTO, BoatDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable e) {
|
||||
|
||||
+3
-3
@@ -10,7 +10,7 @@ import com.google.gwt.view.client.SelectionChangeEvent.Handler;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.RaceDTO;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -27,12 +27,12 @@ public abstract class AbstractRaceManagementPanel extends AbstractEventManagemen
|
||||
|
||||
protected final VerticalPanel selectedRaceContentPanel;
|
||||
|
||||
public AbstractRaceManagementPanel(final SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
public AbstractRaceManagementPanel(final SailingServiceWriteAsync sailingService, ErrorReporter errorReporter,
|
||||
RegattaRefresher regattaRefresher, boolean actionButtonsEnabled, StringMessages stringMessages) {
|
||||
this(sailingService, null, errorReporter, regattaRefresher, actionButtonsEnabled, stringMessages);
|
||||
}
|
||||
|
||||
public AbstractRaceManagementPanel(final SailingServiceAsync sailingService,
|
||||
public AbstractRaceManagementPanel(final SailingServiceWriteAsync sailingService,
|
||||
UserService userService, ErrorReporter errorReporter,
|
||||
RegattaRefresher regattaRefresher, boolean actionButtonsEnabled, StringMessages stringMessages) {
|
||||
super(sailingService, userService, regattaRefresher, errorReporter, actionButtonsEnabled, stringMessages);
|
||||
|
||||
+9
-8
@@ -18,6 +18,7 @@ import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceIdentifierDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceMappingDTO;
|
||||
@@ -44,7 +45,7 @@ public class AbstractRegattaLogFixesAddMappingsDialog extends DataEntryDialog<Co
|
||||
private BoatDTO boatToSelect;
|
||||
private boolean inInstableTransitionState = false;
|
||||
|
||||
public AbstractRegattaLogFixesAddMappingsDialog(SailingServiceAsync sailingService, UserService userService,
|
||||
public AbstractRegattaLogFixesAddMappingsDialog(SailingServiceWriteAsync sailingServiceWrite, UserService userService,
|
||||
final ErrorReporter errorReporter, final StringMessages stringMessages, String leaderboardName,
|
||||
DialogCallback<Collection<DeviceMappingDTO>> callback) {
|
||||
super(stringMessages.add(stringMessages.deviceMappings()), stringMessages.add(stringMessages.deviceMappings()),
|
||||
@@ -62,22 +63,22 @@ public class AbstractRegattaLogFixesAddMappingsDialog extends DataEntryDialog<Co
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.stringMessages = stringMessages;
|
||||
importWidgetHolder = new SimplePanel();
|
||||
deviceIdTable = new TrackFileImportDeviceIdentifierTableWrapper(sailingService, stringMessages, errorReporter);
|
||||
deviceIdTable = new TrackFileImportDeviceIdentifierTableWrapper(sailingServiceWrite, stringMessages, errorReporter);
|
||||
registerSelectionChangeHandler(deviceIdTable.getSelectionModel(), this::deviceSelectionChanged);
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, userService, stringMessages, errorReporter,
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter,
|
||||
/* multiSelection */ false, /* enable pager */ true, /* filterCompetitorWithBoat */ false, /* filterCompetitorsWithoutBoat */ false);
|
||||
markTable = new MarkTableWrapper<RefreshableSingleSelectionModel<MarkDTO>>(
|
||||
/* multiSelection */ false, sailingService, stringMessages, errorReporter);
|
||||
boatTable = new BoatTableWrapper<RefreshableSingleSelectionModel<BoatDTO>>(sailingService, userService, stringMessages,
|
||||
/* multiSelection */ false, sailingServiceWrite, stringMessages, errorReporter);
|
||||
boatTable = new BoatTableWrapper<RefreshableSingleSelectionModel<BoatDTO>>(sailingServiceWrite, userService, stringMessages,
|
||||
errorReporter, /* multiSelection */ false, /* enable Pager */ true, /* allowActions */ false);
|
||||
|
||||
registerSelectionChangeHandler(competitorTable.getSelectionModel(), this::mappedToSelectionChanged);
|
||||
registerSelectionChangeHandler(markTable.getSelectionModel(), this::mappedToSelectionChanged);
|
||||
registerSelectionChangeHandler(boatTable.getSelectionModel(), this::mappedToSelectionChanged);
|
||||
|
||||
getBoatRegistrations(sailingService, errorReporter);
|
||||
getCompetitorRegistrations(sailingService, errorReporter);
|
||||
getMarks(sailingService, errorReporter);
|
||||
getBoatRegistrations(sailingServiceWrite, errorReporter);
|
||||
getCompetitorRegistrations(sailingServiceWrite, errorReporter);
|
||||
getMarks(sailingServiceWrite, errorReporter);
|
||||
}
|
||||
|
||||
private void getMarks(SailingServiceAsync sailingService, final ErrorReporter errorReporter) {
|
||||
|
||||
+7
-6
@@ -17,6 +17,7 @@ import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceIdentifierDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.TrackFileImportDeviceIdentifierDTO;
|
||||
@@ -40,7 +41,7 @@ public abstract class AbstractRegattaLogSensorDataAddMappingsDialog extends Data
|
||||
private BoatDTO boatToSelect;
|
||||
private boolean inInstableTransitionState = false;
|
||||
|
||||
public AbstractRegattaLogSensorDataAddMappingsDialog(final SailingServiceAsync sailingService, final UserService userService,
|
||||
public AbstractRegattaLogSensorDataAddMappingsDialog(final SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
final ErrorReporter errorReporter, final StringMessages stringMessages, String leaderboardName,
|
||||
DialogCallback<Collection<TypedDeviceMappingDTO>> callback) {
|
||||
super(stringMessages.add(stringMessages.deviceMappings()), stringMessages.add(stringMessages.deviceMappings()),
|
||||
@@ -52,16 +53,16 @@ public abstract class AbstractRegattaLogSensorDataAddMappingsDialog extends Data
|
||||
}
|
||||
}, true, callback);
|
||||
this.stringMessages = stringMessages;
|
||||
deviceIdTable = new TrackFileImportDeviceIdentifierTableWrapper(sailingService, stringMessages, errorReporter);
|
||||
deviceIdTable = new TrackFileImportDeviceIdentifierTableWrapper(sailingServiceWrite, stringMessages, errorReporter);
|
||||
deviceIdTable.removeTrackNameColumn();
|
||||
|
||||
importWidgetHolder = new SimplePanel();
|
||||
deviceIdTable.getSelectionModel().addSelectionChangeHandler(
|
||||
event -> deviceSelectionChanged(deviceIdTable.getSelectionModel().getSelectedObject()));
|
||||
|
||||
boatTable = new BoatTableWrapper<RefreshableSingleSelectionModel<BoatDTO>>(sailingService, userService, stringMessages,
|
||||
boatTable = new BoatTableWrapper<RefreshableSingleSelectionModel<BoatDTO>>(sailingServiceWrite, userService, stringMessages,
|
||||
errorReporter, /* multiSelection */ false, /* enable Pager */ true, /* allowActions */ false);
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, userService, stringMessages, errorReporter,
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter,
|
||||
/* multiSelection */ false, /* enablePager */ true, /* filterCompetitorWithBoat */ false, /* filterCompetitorsWithoutBoat */ false);
|
||||
|
||||
boatTable.getSelectionModel().addSelectionChangeHandler(event -> {
|
||||
@@ -74,8 +75,8 @@ public abstract class AbstractRegattaLogSensorDataAddMappingsDialog extends Data
|
||||
});
|
||||
|
||||
this.leaderboardName = leaderboardName;
|
||||
getBoatRegistrations(sailingService, errorReporter);
|
||||
getCompetitorRegistrations(sailingService, errorReporter);
|
||||
getBoatRegistrations(sailingServiceWrite, errorReporter);
|
||||
getCompetitorRegistrations(sailingServiceWrite, errorReporter);
|
||||
}
|
||||
|
||||
private void getBoatRegistrations(final SailingServiceAsync sailingService, final ErrorReporter errorReporter) {
|
||||
|
||||
+4
-4
@@ -45,7 +45,7 @@ import com.sap.sailing.domain.common.dto.RaceDTO;
|
||||
import com.sap.sailing.domain.common.security.SecuredDomainType;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattasDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
@@ -86,7 +86,7 @@ public abstract class AbstractTrackedRacesListComposite extends AbstractComposit
|
||||
|
||||
private Label noTrackedRacesLabel;
|
||||
|
||||
protected final SailingServiceAsync sailingService;
|
||||
protected final SailingServiceWriteAsync sailingService;
|
||||
protected final ErrorReporter errorReporter;
|
||||
protected final RegattaRefresher regattaRefresher;
|
||||
protected final StringMessages stringMessages;
|
||||
@@ -109,11 +109,11 @@ public abstract class AbstractTrackedRacesListComposite extends AbstractComposit
|
||||
}
|
||||
|
||||
public AbstractTrackedRacesListComposite(Component<?> parent, ComponentContext<?> context,
|
||||
final SailingServiceAsync sailingService,
|
||||
final SailingServiceWriteAsync sailingServiceWrite,
|
||||
final ErrorReporter errorReporter, final RegattaRefresher regattaRefresher,
|
||||
final StringMessages stringMessages, boolean hasMultiSelection, UserService userService) {
|
||||
super(parent, context);
|
||||
this.sailingService = sailingService;
|
||||
this.sailingService = sailingServiceWrite;
|
||||
this.errorReporter = errorReporter;
|
||||
this.regattaRefresher = regattaRefresher;
|
||||
this.multiSelection = hasMultiSelection;
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ import com.sap.sailing.gwt.ui.adminconsole.coursecreation.CourseTemplatePanel;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.coursecreation.MarkPropertiesPanel;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.coursecreation.MarkRolePanel;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.coursecreation.MarkTemplatePanel;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractSailingEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractSailingWriteEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardGroupsDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardGroupsRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardsDisplayer;
|
||||
@@ -61,7 +61,7 @@ import com.sap.sse.security.ui.client.component.UserGroupManagementPanel;
|
||||
import com.sap.sse.security.ui.client.i18n.StringMessages;
|
||||
import com.sap.sse.security.ui.client.usermanagement.UserManagementPanel;
|
||||
|
||||
public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint
|
||||
public class AdminConsoleEntryPoint extends AbstractSailingWriteEntryPoint
|
||||
implements RegattaRefresher, LeaderboardsRefresher<StrippedLeaderboardDTOWithSecurity>, LeaderboardGroupsRefresher {
|
||||
private final AdminConsoleTableResources tableResources = GWT.create(AdminConsoleTableResources.class);
|
||||
|
||||
|
||||
+3
-3
@@ -15,7 +15,7 @@ import com.sap.sailing.domain.common.dto.TrackedRaceDTO;
|
||||
import com.sap.sailing.domain.common.media.MediaTrack;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattasDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -32,7 +32,7 @@ public class AssignRacesToMediaDialog extends DataEntryDialog<Set<RegattaAndRace
|
||||
private final VerticalPanel panel;
|
||||
private Button btnRefresh;
|
||||
|
||||
public AssignRacesToMediaDialog(final SailingServiceAsync sailingService, final UserService userService,
|
||||
public AssignRacesToMediaDialog(final SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
final MediaTrack mediaTrack,
|
||||
final ErrorReporter errorReporter, final RegattaRefresher regattaRefresher,
|
||||
final StringMessages stringMessages,
|
||||
@@ -42,7 +42,7 @@ public class AssignRacesToMediaDialog extends DataEntryDialog<Set<RegattaAndRace
|
||||
stringMessages.ok(), stringMessages.cancel(), validator, callback);
|
||||
this.stringMessages = stringMessages;
|
||||
this.mediaTrack = mediaTrack;
|
||||
trackedRacesListComposite = new TrackedRacesListComposite(null, null, sailingService, userService,
|
||||
trackedRacesListComposite = new TrackedRacesListComposite(null, null, sailingServiceWrite, userService,
|
||||
errorReporter,
|
||||
regattaRefresher,
|
||||
stringMessages, /* multiselection */true, /* actionButtonsEnabled */ false) {
|
||||
|
||||
+3
-3
@@ -8,7 +8,7 @@ import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent.Handler;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableMultiSelectionModel;
|
||||
@@ -27,10 +27,10 @@ public class BoatPanel extends SimplePanel {
|
||||
private final RefreshableMultiSelectionModel<BoatDTO> refreshableBoatSelectionModel;
|
||||
private Button allowReloadButton;
|
||||
|
||||
public BoatPanel(final SailingServiceAsync sailingService, final UserService userService,
|
||||
public BoatPanel(final SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
final StringMessages stringMessages, final ErrorReporter errorReporter) {
|
||||
super();
|
||||
this.boatTable = new BoatTableWrapper<>(sailingService, userService, stringMessages, errorReporter,
|
||||
this.boatTable = new BoatTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter,
|
||||
/* multiSelection */ true, /* enablePager */ true, 100, true);
|
||||
this.refreshableBoatSelectionModel = (RefreshableMultiSelectionModel<BoatDTO>) boatTable.getSelectionModel();
|
||||
VerticalPanel mainPanel = new VerticalPanel();
|
||||
|
||||
+4
-4
@@ -19,7 +19,7 @@ import com.google.gwt.user.client.ui.HasVerticalAlignment;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -66,7 +66,7 @@ public class BoatRegistrationsPanel extends FlowPanel implements BusyDisplay {
|
||||
* whether the pool of "all" boats is to be restricted to those obtained from the leaderboard, or
|
||||
* to all boats in the server's boat store
|
||||
*/
|
||||
protected BoatRegistrationsPanel(final SailingServiceAsync sailingService, final UserService userService,
|
||||
protected BoatRegistrationsPanel(final SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
final StringMessages stringMessages, final ErrorReporter errorReporter, boolean editable,
|
||||
String leaderboardName, boolean canBoatsOfCompetitorsChangePerRace, String boatClass, Runnable validator,
|
||||
Consumer<AsyncCallback<Collection<BoatDTO>>> registeredBoatsRetriever,
|
||||
@@ -88,9 +88,9 @@ public class BoatRegistrationsPanel extends FlowPanel implements BusyDisplay {
|
||||
final HorizontalPanel boatRegistrationPanel = new HorizontalPanel();
|
||||
final CaptionPanel allBoatsPanel = new CaptionPanel(stringMessages.boatPool());
|
||||
final CaptionPanel registeredBoatsPanel = new CaptionPanel(stringMessages.registeredBoats());
|
||||
allBoatsTable = new BoatTableWrapper<>(sailingService, userService, stringMessages, errorReporter, /* multiSelection */
|
||||
allBoatsTable = new BoatTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter, /* multiSelection */
|
||||
true, /* enablePager */true, 20, false);
|
||||
registeredBoatsTable = new BoatTableWrapper<>(sailingService, userService, stringMessages, errorReporter, /* multiSelection */
|
||||
registeredBoatsTable = new BoatTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter, /* multiSelection */
|
||||
true, /* enablePager */false, 20, false);
|
||||
allBoatsPanel.add(allBoatsTable);
|
||||
registeredBoatsPanel.add(registeredBoatsTable);
|
||||
|
||||
+11
-9
@@ -21,7 +21,7 @@ import com.google.gwt.user.client.ui.Label;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.security.SecuredDomainType;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.ColorColumn.ColorRetriever;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Util;
|
||||
@@ -44,16 +44,17 @@ import com.sap.sse.security.ui.client.component.editacl.EditACLDialog;
|
||||
|
||||
public class BoatTableWrapper<S extends RefreshableSelectionModel<BoatDTO>> extends TableWrapper<BoatDTO, S> {
|
||||
private final LabeledAbstractFilterablePanel<BoatDTO> filterField;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
|
||||
public BoatTableWrapper(SailingServiceAsync sailingService, final UserService userService, StringMessages stringMessages,
|
||||
public BoatTableWrapper(SailingServiceWriteAsync sailingServiceWrite, final UserService userService, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter, boolean multiSelection, boolean enablePager, boolean allowActions) {
|
||||
this(sailingService, userService, stringMessages, errorReporter, multiSelection, enablePager, DEFAULT_PAGING_SIZE,
|
||||
this(sailingServiceWrite, userService, stringMessages, errorReporter, multiSelection, enablePager, DEFAULT_PAGING_SIZE,
|
||||
allowActions);
|
||||
}
|
||||
|
||||
public BoatTableWrapper(SailingServiceAsync sailingService, final UserService userService, StringMessages stringMessages, ErrorReporter errorReporter,
|
||||
public BoatTableWrapper(SailingServiceWriteAsync sailingServiceWrite, final UserService userService, StringMessages stringMessages, ErrorReporter errorReporter,
|
||||
boolean multiSelection, boolean enablePager, int pagingSize, boolean allowActions) {
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, enablePager, pagingSize,
|
||||
super(sailingServiceWrite, stringMessages, errorReporter, multiSelection, enablePager, pagingSize,
|
||||
new EntityIdentityComparator<BoatDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(BoatDTO dto1, BoatDTO dto2) {
|
||||
@@ -64,6 +65,7 @@ public class BoatTableWrapper<S extends RefreshableSelectionModel<BoatDTO>> exte
|
||||
return t.getIdAsString().hashCode();
|
||||
}
|
||||
});
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
ListHandler<BoatDTO> boatColumnListHandler = getColumnSortHandler();
|
||||
|
||||
// boats table
|
||||
@@ -212,7 +214,7 @@ public class BoatTableWrapper<S extends RefreshableSelectionModel<BoatDTO>> exte
|
||||
|
||||
public void refreshBoatList(boolean loadOnlyStandaloneBoats, final Callback<Iterable<BoatDTO>, Throwable> callback) {
|
||||
if (loadOnlyStandaloneBoats) {
|
||||
sailingService.getStandaloneBoats(new AsyncCallback<Iterable<BoatDTO>>() {
|
||||
sailingServiceWrite.getStandaloneBoats(new AsyncCallback<Iterable<BoatDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Remote Procedure Call getBoats() - Failure: " + caught.getMessage());
|
||||
@@ -231,7 +233,7 @@ public class BoatTableWrapper<S extends RefreshableSelectionModel<BoatDTO>> exte
|
||||
}
|
||||
});
|
||||
} else {
|
||||
sailingService.getAllBoats(new AsyncCallback<Iterable<BoatDTO>>() {
|
||||
sailingServiceWrite.getAllBoats(new AsyncCallback<Iterable<BoatDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Remote Procedure Call getBoats() - Failure: " + caught.getMessage());
|
||||
@@ -260,7 +262,7 @@ public class BoatTableWrapper<S extends RefreshableSelectionModel<BoatDTO>> exte
|
||||
final BoatEditDialog dialog = new BoatEditDialog(getStringMessages(), originalBoat, boatClassName, new DialogCallback<BoatDTO>() {
|
||||
@Override
|
||||
public void ok(BoatDTO boat) {
|
||||
sailingService.addOrUpdateBoat(boat, new AsyncCallback<BoatDTO>() {
|
||||
sailingServiceWrite.addOrUpdateBoat(boat, new AsyncCallback<BoatDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to update boat: " + caught.getMessage());
|
||||
@@ -296,7 +298,7 @@ public class BoatTableWrapper<S extends RefreshableSelectionModel<BoatDTO>> exte
|
||||
public void allowUpdate(final Iterable<BoatDTO> boats) {
|
||||
List<BoatDTO> serializableSingletonList = new ArrayList<BoatDTO>();
|
||||
Util.addAll(boats, serializableSingletonList);
|
||||
sailingService.allowBoatResetToDefaults(serializableSingletonList, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.allowBoatResetToDefaults(serializableSingletonList, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to allow resetting boats " + boats
|
||||
|
||||
+3
-3
@@ -19,7 +19,7 @@ import com.google.gwt.user.client.ui.Label;
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.orc.ORCCertificate;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.util.NaturalComparator;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -43,11 +43,11 @@ public class BoatWithCertificateTableWrapper<S extends RefreshableSelectionModel
|
||||
private final Consumer<BoatDTO> unlinkAction;
|
||||
private final Function<BoatDTO, Boolean> isLinkedChecker;
|
||||
|
||||
public BoatWithCertificateTableWrapper(SailingServiceAsync sailingService, final UserService userService,
|
||||
public BoatWithCertificateTableWrapper(SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
StringMessages stringMessages, ErrorReporter errorReporter, boolean multiSelection, boolean enablePager,
|
||||
int pagingSize, boolean allowActions, Consumer<BoatDTO> unlinkAction,
|
||||
SecuredDTO objectToCheckUpdatePermissionFor, Function<BoatDTO, Boolean> isLinkedChecker) {
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, enablePager, pagingSize,
|
||||
super(sailingServiceWrite, stringMessages, errorReporter, multiSelection, enablePager, pagingSize,
|
||||
new EntityIdentityComparator<BoatDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(BoatDTO dto1, BoatDTO dto2) {
|
||||
|
||||
+3
-3
@@ -18,7 +18,7 @@ import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.orc.ORCCertificate;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
@@ -35,9 +35,9 @@ public class CertificatesTableWrapper<S extends RefreshableSelectionModel<ORCCer
|
||||
|
||||
private final LabeledAbstractFilterablePanel<ORCCertificate> filterField;
|
||||
|
||||
public CertificatesTableWrapper(SailingServiceAsync sailingService, final UserService userService, StringMessages stringMessages,
|
||||
public CertificatesTableWrapper(SailingServiceWriteAsync sailingServiceWrite, final UserService userService, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter, boolean multiSelection, boolean enablePager, int pagingSize) {
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, enablePager, pagingSize, new EntityIdentityComparator<ORCCertificate>() {
|
||||
super(sailingServiceWrite, stringMessages, errorReporter, multiSelection, enablePager, pagingSize, new EntityIdentityComparator<ORCCertificate>() {
|
||||
@Override
|
||||
public boolean representSameEntity(ORCCertificate cert1, ORCCertificate cert2) {
|
||||
return cert1.getId().equals(cert2.getId());
|
||||
|
||||
+6
-6
@@ -21,7 +21,7 @@ import com.google.gwt.user.client.ui.Label;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.ColorColumn.ColorRetriever;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.filter.Filter;
|
||||
@@ -35,9 +35,9 @@ public class CompactBoatTableWrapper<S extends RefreshableSelectionModel<BoatDTO
|
||||
private final CustomizableFilterablePanel<BoatDTO> filterField;
|
||||
private final Set<BoatDTO> boatsRegisteredWithRegatta;
|
||||
|
||||
public CompactBoatTableWrapper(SailingServiceAsync sailingService, StringMessages stringMessages,
|
||||
public CompactBoatTableWrapper(SailingServiceWriteAsync sailingServiceWrite, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter, boolean multiSelection, boolean enablePager) {
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, enablePager,
|
||||
super(sailingServiceWrite, stringMessages, errorReporter, multiSelection, enablePager,
|
||||
new EntityIdentityComparator<BoatDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(BoatDTO dto1, BoatDTO dto2) {
|
||||
@@ -206,12 +206,12 @@ public class CompactBoatTableWrapper<S extends RefreshableSelectionModel<BoatDTO
|
||||
filterBoats(result.values());
|
||||
}
|
||||
};
|
||||
sailingService.getCompetitorsAndBoatsOfRace(leaderboardName, raceColumnName, fleetName, myCallback);
|
||||
sailingServiceWrite.getCompetitorsAndBoatsOfRace(leaderboardName, raceColumnName, fleetName, myCallback);
|
||||
updateBoatRegistrationsForLeaderboard(leaderboardName);
|
||||
}
|
||||
|
||||
private void updateBoatRegistrationsForLeaderboard(String leaderboardName) {
|
||||
sailingService.getBoatRegistrationsForLeaderboard(leaderboardName, new AsyncCallback<Collection<BoatDTO>>() {
|
||||
sailingServiceWrite.getBoatRegistrationsForLeaderboard(leaderboardName, new AsyncCallback<Collection<BoatDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(getStringMessages().unableToObtainBoatsRegisteredWith(leaderboardName, caught.getMessage()));
|
||||
@@ -230,7 +230,7 @@ public class CompactBoatTableWrapper<S extends RefreshableSelectionModel<BoatDTO
|
||||
* The latter will be used when the corresponding filter is activated.
|
||||
*/
|
||||
public void refreshBoatList(String leaderboardName) {
|
||||
sailingService.getAllBoats(new AsyncCallback<Iterable<BoatDTO>>() {
|
||||
sailingServiceWrite.getAllBoats(new AsyncCallback<Iterable<BoatDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Remote Procedure Call getAllBoats() - Failure: " + caught.getMessage());
|
||||
|
||||
+4
-4
@@ -21,7 +21,7 @@ import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.util.NaturalComparator;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -45,9 +45,9 @@ public class CompactCompetitorTableWrapper<S extends RefreshableSelectionModel<C
|
||||
private final LabeledAbstractFilterablePanel<CompetitorDTO> filterField;
|
||||
private final Map<CompetitorDTO, BoatDTO> boatsForCompetitors;
|
||||
|
||||
public CompactCompetitorTableWrapper(SailingServiceAsync sailingService, StringMessages stringMessages, ErrorReporter errorReporter,
|
||||
public CompactCompetitorTableWrapper(SailingServiceWriteAsync sailingServiceWrite, StringMessages stringMessages, ErrorReporter errorReporter,
|
||||
boolean multiSelection, boolean enablePager, UserService userService) {
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, enablePager,
|
||||
super(sailingServiceWrite, stringMessages, errorReporter, multiSelection, enablePager,
|
||||
new EntityIdentityComparator<CompetitorDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(CompetitorDTO dto1, CompetitorDTO dto2) {
|
||||
@@ -191,7 +191,7 @@ public class CompactCompetitorTableWrapper<S extends RefreshableSelectionModel<C
|
||||
refreshCompetitorList(result);
|
||||
}
|
||||
};
|
||||
sailingService.getCompetitorsAndBoatsOfRace(leaderboardName, raceColumnName, fleetName, myCallback);
|
||||
sailingServiceWrite.getCompetitorsAndBoatsOfRace(leaderboardName, raceColumnName, fleetName, myCallback);
|
||||
}
|
||||
|
||||
private void getFilteredCompetitors(Iterable<? extends CompetitorDTO> result) {
|
||||
|
||||
+3
-3
@@ -20,7 +20,7 @@ import com.sap.sailing.domain.common.CompetitorDescriptor;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.CountryCode;
|
||||
import com.sap.sse.common.util.NaturalComparator;
|
||||
@@ -85,9 +85,9 @@ public class CompetitorDescriptorTableWrapper<S extends RefreshableSelectionMode
|
||||
}
|
||||
|
||||
public CompetitorDescriptorTableWrapper(CompetitorImportMatcher competitorImportMatcherParam,
|
||||
SailingServiceAsync sailingService, final StringMessages stringMessages, ErrorReporter errorReporter,
|
||||
SailingServiceWriteAsync sailingServiceWrite, final StringMessages stringMessages, ErrorReporter errorReporter,
|
||||
boolean multiSelection, boolean enablePager, final CompetitorsToImportToExistingLinking unlinkCallback) {
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, enablePager,
|
||||
super(sailingServiceWrite, stringMessages, errorReporter, multiSelection, enablePager,
|
||||
new EntityIdentityComparator<CompetitorDescriptor>() {
|
||||
@Override
|
||||
public boolean representSameEntity(CompetitorDescriptor dto1, CompetitorDescriptor dto2) {
|
||||
|
||||
-1
@@ -102,7 +102,6 @@ public abstract class CompetitorEditDialog<CompetitorType extends CompetitorDTO>
|
||||
this.ensureDebugId("CompetitorEditDialog");
|
||||
this.stringMessages = stringMessages;
|
||||
this.competitorToEdit = competitorToEdit;
|
||||
|
||||
this.name = createTextBox(competitorToEdit.getName());
|
||||
name.ensureDebugId("NameTextBox");
|
||||
this.shortName = createTextBox(competitorToEdit.getShortName());
|
||||
|
||||
+6
-6
@@ -5,7 +5,7 @@ import java.util.Set;
|
||||
import com.google.gwt.i18n.client.LocaleInfo;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
@@ -17,12 +17,12 @@ import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
public class CompetitorInvitationHelper {
|
||||
|
||||
private StringMessages stringMessages;
|
||||
private SailingServiceAsync sailingService;
|
||||
private SailingServiceWriteAsync sailingServiceWrite;
|
||||
private ErrorReporter errorReporter;
|
||||
|
||||
public CompetitorInvitationHelper(SailingServiceAsync sailingService, StringMessages stringMessages, ErrorReporter errorReporter) {
|
||||
public CompetitorInvitationHelper(SailingServiceWriteAsync sailingServiceWrite, StringMessages stringMessages, ErrorReporter errorReporter) {
|
||||
this.stringMessages = stringMessages;
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.errorReporter = errorReporter;
|
||||
}
|
||||
|
||||
@@ -50,11 +50,11 @@ public class CompetitorInvitationHelper {
|
||||
}
|
||||
|
||||
private void openChooseEventDialogAndSendMails(final Set<CompetitorDTO> competitors, final String leaderboardName) {
|
||||
new SelectEventAndHostnameDialog(sailingService, stringMessages, errorReporter, leaderboardName, new DialogCallback<Pair<EventDTO, String>>() {
|
||||
new SelectEventAndHostnameDialog(sailingServiceWrite, stringMessages, errorReporter, leaderboardName, new DialogCallback<Pair<EventDTO, String>>() {
|
||||
|
||||
@Override
|
||||
public void ok(Pair<EventDTO, String> result) {
|
||||
sailingService.inviteCompetitorsForTrackingViaEmail(result.getB(), result.getA(), leaderboardName,
|
||||
sailingServiceWrite.inviteCompetitorsForTrackingViaEmail(result.getB(), result.getA(), leaderboardName,
|
||||
competitors,
|
||||
stringMessages.appstoreSapSailInsight(),
|
||||
stringMessages.playstoreInsightApp(),
|
||||
|
||||
+25
-26
@@ -9,10 +9,12 @@ import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.SimplePanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.domain.common.CompetitorDescriptor;
|
||||
import com.sap.sailing.domain.common.dto.BoatClassDTO;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTOImpl;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.CompetitorImportProviderSelectionDialog.MatchImportedCompetitorsDialogFactory;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableMultiSelectionModel;
|
||||
@@ -32,19 +34,21 @@ public class CompetitorPanel extends SimplePanel implements BusyDisplay {
|
||||
private final CompetitorTableWrapper<RefreshableMultiSelectionModel<CompetitorDTO>> competitorTable;
|
||||
private final RefreshableMultiSelectionModel<CompetitorDTO> refreshableCompetitorSelectionModel;
|
||||
private final String leaderboardName;
|
||||
|
||||
private final String boatClassName;
|
||||
private final BusyIndicator busyIndicator;
|
||||
|
||||
public CompetitorPanel(final SailingServiceAsync sailingService, final UserService userService, final StringMessages stringMessages,
|
||||
public CompetitorPanel(final SailingServiceWriteAsync sailingServiceWrite, final UserService userService, final StringMessages stringMessages,
|
||||
final ErrorReporter errorReporter) {
|
||||
this(sailingService, userService, null, stringMessages, errorReporter);
|
||||
this(sailingServiceWrite, userService, /* leaderboardName */ null, /* boatClassName */ null, /* createWithBoatByDefault */ true,
|
||||
stringMessages, errorReporter);
|
||||
}
|
||||
|
||||
public CompetitorPanel(final SailingServiceAsync sailingService, final UserService userService, final String leaderboardName,
|
||||
final StringMessages stringMessages, final ErrorReporter errorReporter) {
|
||||
public CompetitorPanel(final SailingServiceWriteAsync sailingServiceWrite, final UserService userService, final String leaderboardName,
|
||||
String boatClassName, boolean createWithBoatByDefault, final StringMessages stringMessages, final ErrorReporter errorReporter) {
|
||||
super();
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.competitorTable = new CompetitorTableWrapper<>(sailingService, userService, stringMessages, errorReporter, /* multiSelection */ true, /* enablePager */ true,
|
||||
this.boatClassName = boatClassName;
|
||||
this.competitorTable = new CompetitorTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter, /* multiSelection */ true, /* enablePager */ true,
|
||||
/* filterCompetitorWithBoat */ false, /* filterCompetitorsWithoutBoat */ false);
|
||||
this.refreshableCompetitorSelectionModel = (RefreshableMultiSelectionModel<CompetitorDTO>) competitorTable.getSelectionModel();
|
||||
busyIndicator = new SimpleBusyIndicator(false, 0.8f);
|
||||
@@ -53,35 +57,30 @@ public class CompetitorPanel extends SimplePanel implements BusyDisplay {
|
||||
this.setWidget(mainPanel);
|
||||
final AccessControlledButtonPanel buttonPanel = new AccessControlledButtonPanel(userService, COMPETITOR);
|
||||
mainPanel.add(buttonPanel);
|
||||
|
||||
final Button refreshButton = buttonPanel.addUnsecuredAction(stringMessages.refresh(),
|
||||
this::refreshCompetitorList);
|
||||
refreshButton.ensureDebugId("RefreshButton");
|
||||
|
||||
final Button allowReloadButton = buttonPanel.addUnsecuredAction(stringMessages.allowReload(),
|
||||
() -> competitorTable.allowUpdate(refreshableCompetitorSelectionModel.getSelectedSet()));
|
||||
refreshableCompetitorSelectionModel.addSelectionChangeHandler(
|
||||
event -> allowReloadButton.setEnabled(!refreshableCompetitorSelectionModel.getSelectedSet().isEmpty()));
|
||||
allowReloadButton.setEnabled(!refreshableCompetitorSelectionModel.getSelectedSet().isEmpty());
|
||||
|
||||
final Button addCompetitorButton = buttonPanel.addCreateAction(stringMessages.add(),
|
||||
this::openAddCompetitorDialog);
|
||||
()->openAddCompetitorDialog(createWithBoatByDefault));
|
||||
addCompetitorButton.ensureDebugId("AddCompetitorButton");
|
||||
|
||||
buttonPanel.addUnsecuredAction(stringMessages.selectAll(), () -> {
|
||||
for (CompetitorDTO c : competitorTable.getDataProvider().getList()) {
|
||||
refreshableCompetitorSelectionModel.setSelected(c, true);
|
||||
}
|
||||
});
|
||||
|
||||
buttonPanel.addCreateAction(stringMessages.importCompetitors(), () -> {
|
||||
sailingService.getCompetitorProviderNames(new AsyncCallback<Iterable<String>>() {
|
||||
sailingServiceWrite.getCompetitorProviderNames(new AsyncCallback<Iterable<String>>() {
|
||||
@Override
|
||||
public void onSuccess(Iterable<String> providerNames) {
|
||||
MatchImportedCompetitorsDialogFactory matchCompetitorsDialogFactory = getMatchCompetitorsDialogFactory(
|
||||
sailingService, userService, stringMessages, errorReporter);
|
||||
sailingServiceWrite, userService, stringMessages, errorReporter);
|
||||
CompetitorImportProviderSelectionDialog dialog = new CompetitorImportProviderSelectionDialog(
|
||||
matchCompetitorsDialogFactory, CompetitorPanel.this, providerNames, sailingService,
|
||||
matchCompetitorsDialogFactory, CompetitorPanel.this, providerNames, sailingServiceWrite,
|
||||
stringMessages, errorReporter);
|
||||
dialog.show();
|
||||
}
|
||||
@@ -93,34 +92,31 @@ public class CompetitorPanel extends SimplePanel implements BusyDisplay {
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// only if this competitor panel is connected to a leaderboard, we want to enable invitations
|
||||
if (leaderboardName != null) {
|
||||
buttonPanel.addCreateAction(stringMessages.inviteSelectedCompetitors(), () -> {
|
||||
final Set<CompetitorDTO> competitors = refreshableCompetitorSelectionModel.getSelectedSet();
|
||||
final CompetitorInvitationHelper helper = new CompetitorInvitationHelper(sailingService, stringMessages,
|
||||
final CompetitorInvitationHelper helper = new CompetitorInvitationHelper(sailingServiceWrite, stringMessages,
|
||||
errorReporter);
|
||||
helper.inviteCompetitors(competitors, leaderboardName);
|
||||
});
|
||||
}
|
||||
|
||||
mainPanel.add(busyIndicator);
|
||||
mainPanel.add(competitorTable);
|
||||
|
||||
if (leaderboardName != null) {
|
||||
refreshCompetitorList();
|
||||
}
|
||||
}
|
||||
|
||||
private MatchImportedCompetitorsDialogFactory getMatchCompetitorsDialogFactory(
|
||||
final SailingServiceAsync sailingService, final UserService userService, final StringMessages stringMessages,
|
||||
final SailingServiceWriteAsync sailingServiceWrite, final UserService userService, final StringMessages stringMessages,
|
||||
final ErrorReporter errorReporter) {
|
||||
return new MatchImportedCompetitorsDialogFactory() {
|
||||
@Override
|
||||
public MatchImportedCompetitorsDialog createMatchImportedCompetitorsDialog(
|
||||
final Iterable<CompetitorDescriptor> competitorDescriptors,
|
||||
final Iterable<CompetitorDTO> competitors) {
|
||||
ImportCompetitorCallback importCompetitorCallback = new ImportCompetitorCallback(sailingService, errorReporter, stringMessages) {
|
||||
ImportCompetitorCallback importCompetitorCallback = new ImportCompetitorCallback(sailingServiceWrite, errorReporter, stringMessages) {
|
||||
@Override
|
||||
public void registerCompetitors(Set<CompetitorDTO> competitorDTOs) {
|
||||
super.registerCompetitors(competitorDTOs);
|
||||
@@ -128,15 +124,18 @@ public class CompetitorPanel extends SimplePanel implements BusyDisplay {
|
||||
}
|
||||
};
|
||||
return new MatchImportedCompetitorsDialog(competitorDescriptors, competitors, stringMessages,
|
||||
sailingService, userService, errorReporter, importCompetitorCallback);
|
||||
sailingServiceWrite, userService, errorReporter, importCompetitorCallback);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private void openAddCompetitorDialog() {
|
||||
private void openAddCompetitorDialog(boolean createWithBoatByDefault) {
|
||||
CompetitorWithBoatDTOImpl competitorDTO = new CompetitorWithBoatDTOImpl();
|
||||
competitorDTO.setBoat(null);
|
||||
competitorTable.openEditCompetitorWithoutBoatDialog(competitorDTO);
|
||||
BoatClassDTO boatClassDTO = new BoatClassDTO(boatClassName, /* hullLength */ null, /* hullBeam */ null);
|
||||
BoatDTO boatDTO = new BoatDTO();
|
||||
boatDTO.setBoatClass(boatClassDTO);
|
||||
competitorDTO.setBoat(boatDTO);
|
||||
competitorTable.openCompetitorWithBoatAddDialog(competitorDTO, createWithBoatByDefault);
|
||||
}
|
||||
|
||||
public void refreshCompetitorList() {
|
||||
|
||||
+11
-11
@@ -24,7 +24,7 @@ import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTOImpl;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithToolTipDTO;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.CompetitorImportProviderSelectionDialog.MatchImportedCompetitorsDialogFactory;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -76,7 +76,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl
|
||||
* to all competitors in the server's competitor store
|
||||
* @param additionalWidgetsBeforeTables widgets to be inserted above / before the competitor tables; may be {@code null} or empty
|
||||
*/
|
||||
protected CompetitorRegistrationsPanel(final SailingServiceAsync sailingService, final UserService userService,
|
||||
protected CompetitorRegistrationsPanel(final SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
final StringMessages stringMessages, final ErrorReporter errorReporter, boolean editable,
|
||||
String leaderboardName, boolean canBoatsOfCompetitorsChangePerRace, String boatClass, Runnable validator,
|
||||
Consumer<AsyncCallback<Collection<CompetitorDTO>>> registeredCompetitorsRetriever,
|
||||
@@ -87,7 +87,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.busyIndicator = new SimpleBusyIndicator();
|
||||
this.registeredCompetitorsRetriever = registeredCompetitorsRetriever;
|
||||
this.importCompetitorCallback = new RaceOrRegattaImportCompetitorCallback(this, sailingService, errorReporter, stringMessages);
|
||||
this.importCompetitorCallback = new RaceOrRegattaImportCompetitorCallback(this, sailingServiceWrite, errorReporter, stringMessages);
|
||||
final HorizontalPanel buttonPanel = new HorizontalPanel();
|
||||
addCompetitorButton = new Button(stringMessages.add(stringMessages.competitor()));
|
||||
addCompetitorButton.addClickHandler(new ClickHandler() {
|
||||
@@ -112,7 +112,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
Set<CompetitorDTO> competitors = registeredCompetitorsTable.getSelectionModel().getSelectedSet();
|
||||
CompetitorInvitationHelper helper = new CompetitorInvitationHelper(sailingService, stringMessages,
|
||||
CompetitorInvitationHelper helper = new CompetitorInvitationHelper(sailingServiceWrite, stringMessages,
|
||||
errorReporter);
|
||||
helper.inviteCompetitors(competitors, leaderboardName);
|
||||
}
|
||||
@@ -121,13 +121,13 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl
|
||||
competitorImportButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
sailingService.getCompetitorProviderNames(new AsyncCallback<Iterable<String>>() {
|
||||
sailingServiceWrite.getCompetitorProviderNames(new AsyncCallback<Iterable<String>>() {
|
||||
@Override
|
||||
public void onSuccess(Iterable<String> providerNames) {
|
||||
MatchImportedCompetitorsDialogFactory matchCompetitorsDialogFactory = getMatchCompetitorsDialogFactory(
|
||||
sailingService, userService, stringMessages, errorReporter);
|
||||
sailingServiceWrite, userService, stringMessages, errorReporter);
|
||||
CompetitorImportProviderSelectionDialog dialog = new CompetitorImportProviderSelectionDialog(
|
||||
matchCompetitorsDialogFactory, CompetitorRegistrationsPanel.this, providerNames, sailingService,
|
||||
matchCompetitorsDialogFactory, CompetitorRegistrationsPanel.this, providerNames, sailingServiceWrite,
|
||||
stringMessages, errorReporter);
|
||||
dialog.show();
|
||||
}
|
||||
@@ -143,9 +143,9 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl
|
||||
final HorizontalPanel competitorRegistrationPanel = new HorizontalPanel();
|
||||
final CaptionPanel allCompetitorsPanel = new CaptionPanel(stringMessages.competitorPool());
|
||||
final CaptionPanel registeredCompetitorsPanel = new CaptionPanel(stringMessages.registeredCompetitors());
|
||||
allCompetitorsTable = new CompetitorTableWrapper<>(sailingService, userService, stringMessages, errorReporter, /* multiSelection */
|
||||
allCompetitorsTable = new CompetitorTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter, /* multiSelection */
|
||||
true, /* enablePager */true, /* filterCompetitorWithBoat */ canBoatsOfCompetitorsChangePerRace, /* filterCompetitorsWithoutBoat */ !canBoatsOfCompetitorsChangePerRace);
|
||||
registeredCompetitorsTable = new CompetitorTableWrapper<>(sailingService, userService, stringMessages, errorReporter, /* multiSelection */
|
||||
registeredCompetitorsTable = new CompetitorTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter, /* multiSelection */
|
||||
true, /* enablePager */false, /* filterCompetitorWithBoat */ false, /* filterCompetitorsWithoutBoat */ false);
|
||||
registeredCompetitorsTable.getSelectionModel().addSelectionChangeHandler(event -> validateAndUpdate());
|
||||
allCompetitorsPanel.add(allCompetitorsTable);
|
||||
@@ -205,7 +205,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl
|
||||
}
|
||||
|
||||
private MatchImportedCompetitorsDialogFactory getMatchCompetitorsDialogFactory(
|
||||
final SailingServiceAsync sailingService, final UserService userService, final StringMessages stringMessages,
|
||||
final SailingServiceWriteAsync sailingServiceWrite, final UserService userService, final StringMessages stringMessages,
|
||||
final ErrorReporter errorReporter) {
|
||||
return new MatchImportedCompetitorsDialogFactory() {
|
||||
@Override
|
||||
@@ -213,7 +213,7 @@ public class CompetitorRegistrationsPanel extends FlowPanel implements BusyDispl
|
||||
final Iterable<CompetitorDescriptor> competitorDescriptors,
|
||||
final Iterable<CompetitorDTO> competitors) {
|
||||
return new MatchImportedCompetitorsDialog(competitorDescriptors, competitors, stringMessages,
|
||||
sailingService, userService, errorReporter, importCompetitorCallback);
|
||||
sailingServiceWrite, userService, errorReporter, importCompetitorCallback);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableSingleSelectionModel;
|
||||
@@ -32,13 +32,13 @@ import com.sap.sse.security.ui.client.UserService;
|
||||
public class CompetitorSelectionDialog extends DataEntryDialog<CompetitorDTO> {
|
||||
private final CompetitorTableWrapper<RefreshableSingleSelectionModel<CompetitorDTO>> competitorTable;
|
||||
|
||||
public CompetitorSelectionDialog(SailingServiceAsync sailingService, UserService userService,
|
||||
public CompetitorSelectionDialog(SailingServiceWriteAsync sailingServiceWrite, UserService userService,
|
||||
ErrorReporter errorReporter, String title, String message,
|
||||
Consumer<AsyncCallback<Iterable<? extends CompetitorDTO>>> competitorProvider, StringMessages stringMessages,
|
||||
CompetitorDTO initialSelection,
|
||||
DialogCallback<CompetitorDTO> callback) {
|
||||
super(title, message, stringMessages.ok(), stringMessages.cancel(), /* validator */ null, callback);
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, userService, stringMessages, errorReporter,
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter,
|
||||
/* multiSelection */ false, /* enablePager */ true, /* filter with boat */ false,
|
||||
/* filter without boat */ false);
|
||||
competitorProvider.accept(new AsyncCallback<Iterable<? extends CompetitorDTO>>() {
|
||||
|
||||
+43
-8
@@ -29,7 +29,7 @@ import com.sap.sailing.domain.common.security.SecuredDomainType;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.ColorColumn.ColorRetriever;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Util;
|
||||
@@ -82,9 +82,9 @@ public class CompetitorTableWrapper<S extends RefreshableSelectionModel<Competit
|
||||
* to be loaded. In this case, competitors without boat will be fetched only if this flag is
|
||||
* {@code false}.
|
||||
*/
|
||||
public CompetitorTableWrapper(SailingServiceAsync sailingService, UserService userService, StringMessages stringMessages, ErrorReporter errorReporter,
|
||||
public CompetitorTableWrapper(SailingServiceWriteAsync sailingServiceWrite, UserService userService, StringMessages stringMessages, ErrorReporter errorReporter,
|
||||
boolean multiSelection, boolean enablePager, boolean filterCompetitorsWithBoat, boolean filterCompetitorsWithoutBoat) {
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, enablePager,
|
||||
super(sailingServiceWrite, stringMessages, errorReporter, multiSelection, enablePager,
|
||||
new EntityIdentityComparator<CompetitorDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(CompetitorDTO dto1, CompetitorDTO dto2) {
|
||||
@@ -399,9 +399,9 @@ public class CompetitorTableWrapper<S extends RefreshableSelectionModel<Competit
|
||||
}
|
||||
};
|
||||
if (leaderboardName != null) {
|
||||
sailingService.getCompetitorsOfLeaderboard(leaderboardName, myCallback);
|
||||
sailingServiceWrite.getCompetitorsOfLeaderboard(leaderboardName, myCallback);
|
||||
} else {
|
||||
sailingService.getCompetitors(filterCompetitorsWithBoat, filterCompetitorsWithoutBoat, myCallback);
|
||||
sailingServiceWrite.getCompetitors(filterCompetitorsWithBoat, filterCompetitorsWithoutBoat, myCallback);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -429,7 +429,7 @@ public class CompetitorTableWrapper<S extends RefreshableSelectionModel<Competit
|
||||
originalCompetitor, new DialogCallback<CompetitorWithBoatDTO>() {
|
||||
@Override
|
||||
public void ok(final CompetitorWithBoatDTO competitor) {
|
||||
sailingService.addOrUpdateCompetitorWithBoat(competitor, new AsyncCallback<CompetitorWithBoatDTO>() {
|
||||
sailingServiceWrite.addOrUpdateCompetitorWithBoat(competitor, new AsyncCallback<CompetitorWithBoatDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to update competitor with boat: " + caught.getMessage());
|
||||
@@ -459,11 +459,31 @@ public class CompetitorTableWrapper<S extends RefreshableSelectionModel<Competit
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
void openCompetitorWithBoatAddDialog(final CompetitorWithBoatDTO newCompetitor, boolean createWithBoatByDefault) {
|
||||
final CompetitorWithOptionalBoatAddDialog dialog = new CompetitorWithOptionalBoatAddDialog(getStringMessages(),
|
||||
newCompetitor, createWithBoatByDefault, new DialogCallback<CompetitorWithBoatDTO>() {
|
||||
@Override
|
||||
public void ok(final CompetitorWithBoatDTO competitor) {
|
||||
if (competitor.hasBoat()) {
|
||||
sailingServiceWrite.addOrUpdateCompetitorWithBoat(competitor, createAddCompetitorCallback());
|
||||
} else {
|
||||
sailingServiceWrite.addOrUpdateCompetitorWithoutBoat(competitor, createAddCompetitorCallback());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancel() {
|
||||
}
|
||||
});
|
||||
dialog.show();
|
||||
|
||||
}
|
||||
|
||||
void openEditCompetitorWithoutBoatDialog(final CompetitorDTO originalCompetitor) {
|
||||
final CompetitorEditDialog<CompetitorDTO> dialog = CompetitorEditDialog.create(getStringMessages(), originalCompetitor, new DialogCallback<CompetitorDTO>() {
|
||||
@Override
|
||||
public void ok(final CompetitorDTO competitor) {
|
||||
sailingService.addOrUpdateCompetitorWithoutBoat(competitor, new AsyncCallback<CompetitorDTO>() {
|
||||
sailingServiceWrite.addOrUpdateCompetitorWithoutBoat(competitor, new AsyncCallback<CompetitorDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to update competitor: " + caught.getMessage());
|
||||
@@ -496,7 +516,7 @@ public class CompetitorTableWrapper<S extends RefreshableSelectionModel<Competit
|
||||
protected void allowUpdate(final Iterable<CompetitorDTO> competitors) {
|
||||
List<CompetitorDTO> serializableSingletonList = new ArrayList<>();
|
||||
Util.addAll(competitors, serializableSingletonList);
|
||||
sailingService.allowCompetitorResetToDefaults(serializableSingletonList, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.allowCompetitorResetToDefaults(serializableSingletonList, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to allow resetting competitors " + competitors
|
||||
@@ -534,4 +554,19 @@ public class CompetitorTableWrapper<S extends RefreshableSelectionModel<Competit
|
||||
return "";
|
||||
});
|
||||
}
|
||||
|
||||
private <T extends CompetitorDTO> AsyncCallback<T> createAddCompetitorCallback() {
|
||||
return new AsyncCallback<T>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to add competitor: " + caught.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(T addedCompetitor) {
|
||||
getFilterField().add(addedCompetitor);
|
||||
getDataProvider().refresh();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -18,7 +18,7 @@ import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -60,15 +60,15 @@ public class CompetitorToBoatMappingsDialog extends DataEntryDialog<Map<Competit
|
||||
}
|
||||
}
|
||||
|
||||
public CompetitorToBoatMappingsDialog(final SailingServiceAsync sailingService, final StringMessages stringMessages,
|
||||
public CompetitorToBoatMappingsDialog(final SailingServiceWriteAsync sailingServiceWrite, final StringMessages stringMessages,
|
||||
final ErrorReporter errorReporter, String leaderboardName, Map<CompetitorDTO, BoatDTO> competitorsAndBoats,
|
||||
DialogCallback<Map<CompetitorDTO, BoatDTO>> callback, UserService userService) {
|
||||
super(stringMessages.actionEditCompetitorToBoatAssignments(), null, stringMessages.ok(), stringMessages.cancel(), new CompetitorToBoatMappingValidator(), callback);
|
||||
this.stringMessages = stringMessages;
|
||||
this.competitorToBoatMappings = new HashMap<>(competitorsAndBoats);
|
||||
this.competitorTable = new CompactCompetitorTableWrapper<>(sailingService, stringMessages, errorReporter,
|
||||
this.competitorTable = new CompactCompetitorTableWrapper<>(sailingServiceWrite, stringMessages, errorReporter,
|
||||
/* multiSelection */ false, /* enablePager */ true, userService);
|
||||
this.boatTable = new CompactBoatTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true);
|
||||
this.boatTable = new CompactBoatTableWrapper<>(sailingServiceWrite, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true);
|
||||
ImagesBarColumn<CompetitorDTO, CompactCompetitorConfigImagesBarCell> competitorActionColumn = new ImagesBarColumn<>(new CompactCompetitorConfigImagesBarCell(stringMessages));
|
||||
competitorActionColumn.setFieldUpdater(new FieldUpdater<CompetitorDTO, String>() {
|
||||
@Override
|
||||
|
||||
+7
-7
@@ -10,7 +10,7 @@ import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.MarkedAsyncCallback;
|
||||
@@ -30,25 +30,25 @@ public class CompetitorToBoatMappingsViewPanel extends SimplePanel {
|
||||
private final String leaderboardName;
|
||||
private final String raceColumnName;
|
||||
private final String fleetName;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final StringMessages stringMessages;
|
||||
private final ErrorReporter errorReporter;
|
||||
|
||||
private final RefreshableSelectionModel<CompetitorDTO> refreshableCompetitorSelectionModel;
|
||||
|
||||
public CompetitorToBoatMappingsViewPanel(final SailingServiceAsync sailingService, final StringMessages stringMessages,
|
||||
public CompetitorToBoatMappingsViewPanel(final SailingServiceWriteAsync sailingServiceWrite, final StringMessages stringMessages,
|
||||
final ErrorReporter errorReporter, final String leaderboardName, final String raceColumnName,
|
||||
final String fleetName, UserService userService) {
|
||||
super();
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.stringMessages = stringMessages;
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.raceColumnName = raceColumnName;
|
||||
this.fleetName = fleetName;
|
||||
this.errorReporter = errorReporter;
|
||||
this.competitorTable = new CompactCompetitorTableWrapper<>(sailingService, stringMessages, errorReporter,
|
||||
this.competitorTable = new CompactCompetitorTableWrapper<>(sailingServiceWrite, stringMessages, errorReporter,
|
||||
/* multiSelection */ false, /* enablePager */ true, userService);
|
||||
this.boatTable = new CompactBoatTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true);
|
||||
this.boatTable = new CompactBoatTableWrapper<>(sailingServiceWrite, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true);
|
||||
refreshableCompetitorSelectionModel = competitorTable.getSelectionModel();
|
||||
refreshableCompetitorSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
@@ -94,7 +94,7 @@ public class CompetitorToBoatMappingsViewPanel extends SimplePanel {
|
||||
}
|
||||
|
||||
private void selectBoatForCompetitor(CompetitorDTO selectedCompetitor) {
|
||||
sailingService.getBoatLinkedToCompetitorForRace(leaderboardName,
|
||||
sailingServiceWrite.getBoatLinkedToCompetitorForRace(leaderboardName,
|
||||
raceColumnName, fleetName, selectedCompetitor.getIdAsString(), new MarkedAsyncCallback<BoatDTO>(
|
||||
new AsyncCallback<BoatDTO>() {
|
||||
@Override
|
||||
|
||||
+3
-3
@@ -14,7 +14,7 @@ import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.sap.sailing.domain.common.dto.BoatClassDTO;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Distance;
|
||||
@@ -43,7 +43,7 @@ public class CompetitorWithBoatCreateDialog extends AbstractCompetitorWithBoatDi
|
||||
* The boat class is the default shown boat class for new boats. Set <code>null</code> if your boat is
|
||||
* already initialized or you don't want a default boat class.
|
||||
*/
|
||||
public CompetitorWithBoatCreateDialog(SailingServiceAsync sailingService, final UserService userService, StringMessages stringMessages, ErrorReporter errorReporter, CompetitorWithBoatDTO competitorToEdit,
|
||||
public CompetitorWithBoatCreateDialog(SailingServiceWriteAsync sailingServiceWrite, final UserService userService, StringMessages stringMessages, ErrorReporter errorReporter, CompetitorWithBoatDTO competitorToEdit,
|
||||
DialogCallback<CompetitorWithBoatDTO> callback, String boatClass) {
|
||||
super("Add competitor with boat", stringMessages, competitorToEdit, callback, boatClass);
|
||||
this.ensureDebugId("CompetitorWithBoatCreateDialog");
|
||||
@@ -64,7 +64,7 @@ public class CompetitorWithBoatCreateDialog extends AbstractCompetitorWithBoatDi
|
||||
});
|
||||
newBoatPanel = new VerticalPanel();
|
||||
existingBoatPanel = new VerticalPanel();
|
||||
this.existingBoatsTable = new BoatTableWrapper<>(sailingService, userService, stringMessages, errorReporter, /* multiSelection */ false,
|
||||
this.existingBoatsTable = new BoatTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter, /* multiSelection */ false,
|
||||
/* enablePager */ true, /* pagingSize*/ 10, false);
|
||||
existingBoatsTable.refreshBoatList(true, /* callback */ null);
|
||||
this.existingBoatsTable.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
|
||||
+1
-19
@@ -4,12 +4,8 @@ import com.google.gwt.user.client.ui.Grid;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.dto.BoatClassDTO;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Distance;
|
||||
|
||||
/**
|
||||
* An edit for a competitor with a boat
|
||||
@@ -27,24 +23,10 @@ public class CompetitorWithBoatEditDialog extends AbstractCompetitorWithBoatDial
|
||||
*/
|
||||
public CompetitorWithBoatEditDialog(StringMessages stringMessages, CompetitorWithBoatDTO competitorToEdit,
|
||||
DialogCallback<CompetitorWithBoatDTO> callback, String boatClass) {
|
||||
super("Edit competitor with boat", stringMessages, competitorToEdit, callback, boatClass);
|
||||
super(stringMessages.editCompetitorWithBoat(), stringMessages, competitorToEdit, callback, boatClass);
|
||||
this.ensureDebugId("CompetitorWithBoatEditDialog");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BoatDTO getBoat() {
|
||||
BoatDTO result = null;
|
||||
Color boatColor;
|
||||
if (boatDisplayColorTextBox.isValid()) {
|
||||
boatColor = boatDisplayColorTextBox.getColor();
|
||||
} else {
|
||||
boatColor = new InvalidColor(new IllegalArgumentException(boatDisplayColorTextBox.getValue()), getStringMessages());
|
||||
}
|
||||
BoatClassDTO boatClass = new BoatClassDTO(boatClassNameTextBox.getValue(), Distance.NULL, Distance.NULL);
|
||||
result = new BoatDTO(getCompetitorToEdit().getBoat().getIdAsString(), boatNameTextBox.getValue(), boatClass, sailIdTextBox.getValue(), boatColor);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Widget getAdditionalWidget() {
|
||||
VerticalPanel result = new VerticalPanel();
|
||||
|
||||
+134
@@ -0,0 +1,134 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.user.client.ui.CheckBox;
|
||||
import com.google.gwt.user.client.ui.Grid;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.SuggestBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
|
||||
/**
|
||||
* An Add dialog for a competitor with an optional boat. If {@link #withBoatCheckBox} is checked the
|
||||
* {@link #boatDataPanel} is visible and validated. While the dialog always returns a
|
||||
* {@link CompetitorWithBoatDTO}, the resulting object may still have {@link CompetitorWithBoatDTO#hasBoat() hasBoat()==false}
|
||||
* in which case the {@link #withBoatCheckBox} was not ticked.
|
||||
*
|
||||
* @author Dmitry Bilyk
|
||||
*/
|
||||
|
||||
public class CompetitorWithOptionalBoatAddDialog extends AbstractCompetitorWithBoatDialog {
|
||||
|
||||
private final CheckBox withBoatCheckBox;
|
||||
private final VerticalPanel boatDataPanel;
|
||||
|
||||
/**
|
||||
* The class creates the UI-dialog to type in the Data about a competitor.
|
||||
*
|
||||
* @param competitorToAdd
|
||||
* The 'competitorToAdd' parameter contains the competitor which should be initialized.
|
||||
* @param createWithBoatByDefault
|
||||
* decides the default setting of the {@link #withBoatCheckBox}.
|
||||
* @param boatClass
|
||||
* The boat class is the default shown boat class for new boats. Set <code>null</code> if your boat is
|
||||
* already initialized or you don't want a default boat class.
|
||||
*/
|
||||
public CompetitorWithOptionalBoatAddDialog(StringMessages stringMessages, CompetitorWithBoatDTO competitorToAdd,
|
||||
boolean createWithBoatByDefault, DialogCallback<CompetitorWithBoatDTO> callback) {
|
||||
this(stringMessages, competitorToAdd, new CheckBox(stringMessages.withBoat()), createWithBoatByDefault, callback);
|
||||
}
|
||||
|
||||
public CompetitorWithOptionalBoatAddDialog(StringMessages stringMessages, CompetitorWithBoatDTO competitorToAdd,
|
||||
CheckBox withBoatCheckBox, boolean createWithBoatByDefault, DialogCallback<CompetitorWithBoatDTO> callback) {
|
||||
super(stringMessages.addCompetitor(), stringMessages, competitorToAdd, callback, null,
|
||||
new CompetitorWithOptionalBoatAddDialog.CompetitorWithOptionalBoatValidator(withBoatCheckBox, stringMessages));
|
||||
this.withBoatCheckBox = withBoatCheckBox;
|
||||
this.withBoatCheckBox.ensureDebugId("WithBoatCheckBox");
|
||||
this.withBoatCheckBox.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
boatDataPanel.setVisible(withBoatCheckBox.getValue());
|
||||
validateAndUpdate();
|
||||
}
|
||||
});
|
||||
this.withBoatCheckBox.setValue(createWithBoatByDefault);
|
||||
boatDataPanel = new VerticalPanel();
|
||||
boatDataPanel.setVisible(createWithBoatByDefault);
|
||||
this.ensureDebugId("CompetitorWithBoatAddDialog");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Widget getAdditionalWidget() {
|
||||
VerticalPanel result = new VerticalPanel();
|
||||
result.add(super.getAdditionalWidget());
|
||||
result.add(withBoatCheckBox);
|
||||
boatDataPanel.add(createHeadlineLabel(getStringMessages().boat()));
|
||||
Grid grid = new Grid(5, 2);
|
||||
grid.setWidget(0, 0, new Label(getStringMessages().name()));
|
||||
grid.setWidget(0, 1, boatNameTextBox);
|
||||
grid.setWidget(1, 0, new Label(getStringMessages().sailNumber()));
|
||||
grid.setWidget(1, 1, sailIdTextBox);
|
||||
grid.setWidget(2, 0, new Label(getStringMessages().boatClass()));
|
||||
grid.setWidget(2, 1, boatClassNameTextBox);
|
||||
grid.setWidget(3, 0, new Label(getStringMessages().color()));
|
||||
grid.setWidget(3, 1, boatDisplayColorTextBox);
|
||||
boatDataPanel.add(grid);
|
||||
result.add(boatDataPanel);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected CompetitorWithBoatDTO getResult() {
|
||||
CompetitorWithBoatDTO competitorWithOptionalBoat = super.getResult();
|
||||
if (!withBoatCheckBox.getValue()) {
|
||||
competitorWithOptionalBoat.setBoat(null);
|
||||
}
|
||||
return competitorWithOptionalBoat;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setBoatClassNameEnabled(SuggestBox boatClassNameTextBox, boolean enabled) {
|
||||
super.setBoatClassNameEnabled(boatClassNameTextBox, true);
|
||||
}
|
||||
|
||||
protected static class CompetitorWithOptionalBoatValidator
|
||||
extends CompetitorWithoutBoatValidator<CompetitorWithBoatDTO> {
|
||||
private final StringMessages stringMessages;
|
||||
private final CheckBox withBoatCheckBox;
|
||||
|
||||
public CompetitorWithOptionalBoatValidator(CheckBox withBoatCheckBox, StringMessages stringMessages) {
|
||||
super(stringMessages);
|
||||
this.withBoatCheckBox = withBoatCheckBox;
|
||||
this.stringMessages = stringMessages;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getErrorMessage(CompetitorWithBoatDTO competitorToValidate) {
|
||||
String result = super.getErrorMessage(competitorToValidate);
|
||||
if (withBoatCheckBox.getValue()) {
|
||||
if (result == null) {
|
||||
BoatDTO boatToValidate = competitorToValidate.getBoat();
|
||||
boolean invalidSailId = boatToValidate.getSailId() == null || boatToValidate.getSailId().isEmpty();
|
||||
boolean invalidName = boatToValidate.getName() == null || boatToValidate.getName().isEmpty();
|
||||
if (invalidSailId && invalidName) {
|
||||
result = stringMessages.pleaseEnterASailNumberOrABoatName();
|
||||
} else if (boatToValidate.getColor() != null && boatToValidate.getColor() instanceof InvalidColor) {
|
||||
result = boatToValidate.getColor().getAsHtml();
|
||||
} else if (isBoatClassInvalid(boatToValidate)) {
|
||||
result = stringMessages.pleaseEnterABoatClass();
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private boolean isBoatClassInvalid(BoatDTO boatToValidate) {
|
||||
return boatToValidate.getBoatClass().getName() == null || boatToValidate.getBoatClass().getName().isEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.ControlPointDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.GateDTO;
|
||||
@@ -11,9 +11,9 @@ import com.sap.sse.gwt.client.celltable.EntityIdentityComparator;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableSelectionModel;
|
||||
|
||||
public class ControlPointTableWrapper<S extends RefreshableSelectionModel<ControlPointDTO>> extends TableWrapper<ControlPointDTO, S> {
|
||||
public ControlPointTableWrapper(boolean multiSelection, SailingServiceAsync sailingService, final StringMessages stringMessages,
|
||||
public ControlPointTableWrapper(boolean multiSelection, SailingServiceWriteAsync sailingServiceWrite, final StringMessages stringMessages,
|
||||
ErrorReporter errorReporter) {
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, /* enablePager */ true,
|
||||
super(sailingServiceWrite, stringMessages, errorReporter, multiSelection, /* enablePager */ true,
|
||||
new EntityIdentityComparator<ControlPointDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(ControlPointDTO dto1, ControlPointDTO dto2) {
|
||||
|
||||
+6
-6
@@ -11,7 +11,7 @@ import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent.Handler;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.AbstractLeaderboardConfigPanel.RaceColumnDTOAndFleetDTOWithNameBasedEquality;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Distance;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -26,11 +26,11 @@ public class CopyCourseAndCompetitorsDialog extends DataEntryDialog<CourseAndCom
|
||||
private final CheckBox competitorCheckBox;
|
||||
private final IntegerBox priorityBox;
|
||||
private final StringMessages stringMessages;
|
||||
private SailingServiceAsync sailingService;
|
||||
private SailingServiceWriteAsync sailingServiceWrite;
|
||||
private ErrorReporter errorReporter;
|
||||
|
||||
|
||||
public CopyCourseAndCompetitorsDialog(SailingServiceAsync sailingService, ErrorReporter errorReporter, final StringMessages stringMessages,
|
||||
public CopyCourseAndCompetitorsDialog(SailingServiceWriteAsync sailingServiceWrite, ErrorReporter errorReporter, final StringMessages stringMessages,
|
||||
Collection<RaceColumnDTOAndFleetDTOWithNameBasedEquality> races,
|
||||
String leaderboardName, Distance buoyZoneRadius, DialogCallback<CourseAndCompetitorCopyOperation> dialogCallback) {
|
||||
super(stringMessages.selectRaces(), stringMessages.selectRaces(), stringMessages.ok(), stringMessages.cancel(),
|
||||
@@ -48,7 +48,7 @@ public class CopyCourseAndCompetitorsDialog extends DataEntryDialog<CourseAndCom
|
||||
}, true, dialogCallback);
|
||||
this.stringMessages = stringMessages;
|
||||
racesTable = new RaceTableWrapper<RefreshableMultiSelectionModel<RaceColumnDTOAndFleetDTOWithNameBasedEquality>>(
|
||||
sailingService, stringMessages, errorReporter, /* multiSelection */ true);
|
||||
sailingServiceWrite, stringMessages, errorReporter, /* multiSelection */ true);
|
||||
racesTable.setSelectedLeaderboardName(leaderboardName);
|
||||
racesTable.getDataProvider().getList().addAll(races);
|
||||
racesTable.getSelectionModel().addSelectionChangeHandler(new Handler() {
|
||||
@@ -62,7 +62,7 @@ public class CopyCourseAndCompetitorsDialog extends DataEntryDialog<CourseAndCom
|
||||
competitorCheckBox = createCheckbox(stringMessages.copyCompetitors());
|
||||
competitorCheckBox.setValue(false); // competitors are usually registered on the regatta
|
||||
priorityBox = createIntegerBox(/* default priority */ 1, /* visibleLength */ 1);
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.errorReporter = errorReporter;
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ public class CopyCourseAndCompetitorsDialog extends DataEntryDialog<CourseAndCom
|
||||
Set<RaceColumnDTOAndFleetDTOWithNameBasedEquality> racesToCopyTo = racesTable
|
||||
.getSelectionModel().getSelectedSet();
|
||||
return new CourseAndCompetitorCopyOperation(racesToCopyTo, courseCheckBox.getValue(), competitorCheckBox.getValue(),
|
||||
priorityBox.getValue(), sailingService, errorReporter);
|
||||
priorityBox.getValue(), sailingServiceWrite, errorReporter);
|
||||
}
|
||||
|
||||
}
|
||||
+6
-6
@@ -4,7 +4,7 @@ import java.util.Set;
|
||||
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.AbstractLeaderboardConfigPanel.RaceColumnDTOAndFleetDTOWithNameBasedEquality;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Triple;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -16,15 +16,15 @@ public class CourseAndCompetitorCopyOperation {
|
||||
final boolean copyCompetitors;
|
||||
final Integer priority;
|
||||
final private ErrorReporter errorReporter;
|
||||
final private SailingServiceAsync sailingService;
|
||||
final private SailingServiceWriteAsync sailingServiceWrite;
|
||||
|
||||
public CourseAndCompetitorCopyOperation(
|
||||
Set<RaceColumnDTOAndFleetDTOWithNameBasedEquality> racesToCopyTo,
|
||||
boolean copyCourse, boolean copyCompetitors, Integer priority, SailingServiceAsync sailingService, ErrorReporter errorReporter) {
|
||||
boolean copyCourse, boolean copyCompetitors, Integer priority, SailingServiceWriteAsync sailingServiceWrite, ErrorReporter errorReporter) {
|
||||
this.raceLogsToCopyTo = racesToCopyTo;
|
||||
this.copyCourse = copyCourse;
|
||||
this.copyCompetitors = copyCompetitors;
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.errorReporter = errorReporter;
|
||||
this.priority = priority;
|
||||
}
|
||||
@@ -65,7 +65,7 @@ public class CourseAndCompetitorCopyOperation {
|
||||
Set<Triple<String, String, String>> toRacelogs = convertToRacelogs(leaderboardName);
|
||||
|
||||
if (copyCourse) {
|
||||
sailingService.copyCourseToOtherRaceLogs(fromTriple, toRacelogs, getPriority(), new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.copyCourseToOtherRaceLogs(fromTriple, toRacelogs, getPriority(), new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Could not copy course and competitors: " + caught.getMessage());
|
||||
@@ -81,7 +81,7 @@ public class CourseAndCompetitorCopyOperation {
|
||||
}
|
||||
|
||||
if (copyCompetitors) {
|
||||
sailingService.copyCompetitorsToOtherRaceLogs(fromTriple, toRacelogs, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.copyCompetitorsToOtherRaceLogs(fromTriple, toRacelogs, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Could not copy course and competitors: " + caught.getMessage());
|
||||
|
||||
+10
-10
@@ -29,7 +29,7 @@ import com.sap.sailing.domain.common.dto.RaceDTO;
|
||||
import com.sap.sailing.domain.common.orc.ORCPerformanceCurveLegTypes;
|
||||
import com.sap.sailing.domain.common.orc.impl.ORCPerformanceCurveLegImpl;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.WaypointCreationDialog.DefaultPassingInstructionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.ControlPointDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.GateDTO;
|
||||
@@ -57,7 +57,7 @@ public abstract class CourseManagementWidget implements IsWidget {
|
||||
protected final ControlPointTableWrapper<RefreshableSingleSelectionModel<ControlPointDTO>> multiMarkControlPoints;
|
||||
protected final WaypointTableWrapper<RefreshableSingleSelectionModel<WaypointDTO>> waypoints;
|
||||
protected final Grid mainPanel;
|
||||
protected final SailingServiceAsync sailingService;
|
||||
protected final SailingServiceWriteAsync sailingServiceWrite;
|
||||
protected final ErrorReporter errorReporter;
|
||||
protected final StringMessages stringMessages;
|
||||
protected final HorizontalPanel waypointsBtnsPanel;
|
||||
@@ -134,9 +134,9 @@ public abstract class CourseManagementWidget implements IsWidget {
|
||||
* ORC PCS leg data. By default, these actions are enabled, particularly to cover the case where this
|
||||
* widget is used without an existing {@code TrackedRace} and only with a race log.
|
||||
*/
|
||||
public CourseManagementWidget(final SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
public CourseManagementWidget(final SailingServiceWriteAsync sailingServiceWrite, ErrorReporter errorReporter,
|
||||
final StringMessages stringMessages, final UserService userService, final Supplier<Boolean> showOrcPcsLegEditActions) {
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
this.userService = userService;
|
||||
@@ -145,11 +145,11 @@ public abstract class CourseManagementWidget implements IsWidget {
|
||||
mainPanel.setCellPadding(5);
|
||||
mainPanel.getRowFormatter().setVerticalAlign(0, HasVerticalAlignment.ALIGN_TOP);
|
||||
waypoints = new WaypointTableWrapper<RefreshableSingleSelectionModel<WaypointDTO>>(
|
||||
/* multiSelection */ false, sailingService, stringMessages, errorReporter);
|
||||
/* multiSelection */ false, sailingServiceWrite, stringMessages, errorReporter);
|
||||
multiMarkControlPoints = new ControlPointTableWrapper<RefreshableSingleSelectionModel<ControlPointDTO>>(
|
||||
/* multiSelection */ false, sailingService, stringMessages, errorReporter);
|
||||
/* multiSelection */ false, sailingServiceWrite, stringMessages, errorReporter);
|
||||
marks = new MarkTableWrapper<RefreshableMultiSelectionModel<MarkDTO>>(
|
||||
/* multiSelection */ true, sailingService, stringMessages, errorReporter);
|
||||
/* multiSelection */ true, sailingServiceWrite, stringMessages, errorReporter);
|
||||
marks.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
@Override
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
@@ -359,7 +359,7 @@ public abstract class CourseManagementWidget implements IsWidget {
|
||||
}
|
||||
|
||||
private void addMultiMarkControlPoint() {
|
||||
new GateCreationDialog(sailingService, errorReporter, stringMessages, tableRes,
|
||||
new GateCreationDialog(sailingServiceWrite, errorReporter, stringMessages, tableRes,
|
||||
marks.getDataProvider().getList(), new DataEntryDialog.DialogCallback<GateDTO>() {
|
||||
@Override
|
||||
public void cancel() {}
|
||||
@@ -376,7 +376,7 @@ public abstract class CourseManagementWidget implements IsWidget {
|
||||
allControlPoints.addAll(multiMarkControlPoints.getDataProvider().getList());
|
||||
allControlPoints.addAll(marks.getDataProvider().getList());
|
||||
final int insertIndex = getInsertIndex(waypoints, beforeSelection);
|
||||
new WaypointCreationDialog(sailingService, errorReporter, stringMessages, tableRes, allControlPoints,
|
||||
new WaypointCreationDialog(sailingServiceWrite, errorReporter, stringMessages, tableRes, allControlPoints,
|
||||
new DefaultPassingInstructionProvider() {
|
||||
@Override
|
||||
public PassingInstruction getDefaultPassingInstruction(int numberOfMarksInControlPoint, String controlPointIdAsString) {
|
||||
@@ -418,7 +418,7 @@ public abstract class CourseManagementWidget implements IsWidget {
|
||||
public abstract void refresh();
|
||||
|
||||
protected void updateWaypointsAndControlPoints(RaceCourseDTO raceCourseDTO, String leaderboardName) {
|
||||
this.sailingService.getLeaderboardWithSecurity(leaderboardName,
|
||||
this.sailingServiceWrite.getLeaderboardWithSecurity(leaderboardName,
|
||||
new AsyncCallback<StrippedLeaderboardDTOWithSecurity>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
|
||||
+10
-10
@@ -14,7 +14,7 @@ import com.sap.sailing.domain.common.dto.RegattaCreationParametersDTO;
|
||||
import com.sap.sailing.domain.common.dto.SeriesCreationParametersDTO;
|
||||
import com.sap.sailing.gwt.ui.client.EventsRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
|
||||
@@ -31,17 +31,17 @@ import com.sap.sse.security.ui.client.UserService;
|
||||
|
||||
public class CreateRegattaCallback implements DialogCallback<RegattaDTO>{
|
||||
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final ErrorReporter errorReporter;
|
||||
private final EventsRefresher eventsRefresher;
|
||||
private final RegattaRefresher regattaRefresher;
|
||||
private final StringMessages stringMessages;
|
||||
private final List<EventDTO> existingEvents;
|
||||
|
||||
public CreateRegattaCallback(UserService userService, SailingServiceAsync sailingService,
|
||||
public CreateRegattaCallback(UserService userService, SailingServiceWriteAsync sailingServiceWrite,
|
||||
StringMessages stringMessages, ErrorReporter errorReporter, RegattaRefresher regattaRefresher,
|
||||
EventsRefresher eventsRefresher, List<EventDTO> existingEvents) {
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.errorReporter = errorReporter;
|
||||
this.regattaRefresher = regattaRefresher;
|
||||
this.eventsRefresher = eventsRefresher;
|
||||
@@ -67,7 +67,7 @@ public class CreateRegattaCallback implements DialogCallback<RegattaDTO>{
|
||||
seriesDTO.hasSplitFleetContiguousScoring(), seriesDTO.getMaximumNumberOfDiscards());
|
||||
seriesStructure.put(seriesDTO.getName(), seriesPair);
|
||||
}
|
||||
sailingService.createRegatta(newRegatta.getName(),
|
||||
sailingServiceWrite.createRegatta(newRegatta.getName(),
|
||||
newRegatta.boatClass == null ? null : newRegatta.boatClass.getName(),
|
||||
newRegatta.canBoatsOfCompetitorsChangePerRace, newRegatta.competitorRegistrationType,
|
||||
newRegatta.registrationLinkSecret, newRegatta.startDate, newRegatta.endDate,
|
||||
@@ -105,7 +105,7 @@ public class CreateRegattaCallback implements DialogCallback<RegattaDTO>{
|
||||
// at the end, using -1 as "insertIndex."
|
||||
raceColumnNamesToAddWithInsertIndex.add(new Pair<>(newRaceColumn.getName(), -1));
|
||||
}
|
||||
sailingService.addRaceColumnsToSeries(newRegatta.getRegattaIdentifier(), series.getName(), raceColumnNamesToAddWithInsertIndex,
|
||||
sailingServiceWrite.addRaceColumnsToSeries(newRegatta.getRegattaIdentifier(), series.getName(), raceColumnNamesToAddWithInsertIndex,
|
||||
new AsyncCallback<List<RaceColumnInSeriesDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -135,11 +135,11 @@ public class CreateRegattaCallback implements DialogCallback<RegattaDTO>{
|
||||
}
|
||||
|
||||
private void openCreateDefaultRegattaLeaderboardDialog(final RegattaDTO newRegatta, final List<EventDTO> existingEvents) {
|
||||
CreateDefaultRegattaLeaderboardDialog dialog = new CreateDefaultRegattaLeaderboardDialog(sailingService,
|
||||
CreateDefaultRegattaLeaderboardDialog dialog = new CreateDefaultRegattaLeaderboardDialog(sailingServiceWrite,
|
||||
stringMessages, errorReporter, newRegatta, new DialogCallback<RegattaName>() {
|
||||
@Override
|
||||
public void ok(RegattaName regattaIdentifier) {
|
||||
sailingService.createRegattaLeaderboard(regattaIdentifier,
|
||||
sailingServiceWrite.createRegattaLeaderboard(regattaIdentifier,
|
||||
/* displayName */ null, new int[] {},
|
||||
new AsyncCallback<StrippedLeaderboardDTOWithSecurity>() {
|
||||
@Override
|
||||
@@ -179,7 +179,7 @@ public class CreateRegattaCallback implements DialogCallback<RegattaDTO>{
|
||||
* @param eventToLinkRegattaTo an event that has at least one {@link EventDTO#getLeaderboardGroups() leaderboard group}
|
||||
*/
|
||||
private void openRegattaLeaderboardToLeaderboardGroupOfEventLinkingDialog(final StrippedLeaderboardDTO newRegattaLeaderboard, EventDTO eventToLinkRegattaTo) {
|
||||
LinkRegattaLeaderboardToLeaderboardGroupOfEventDialog dialog = new LinkRegattaLeaderboardToLeaderboardGroupOfEventDialog(sailingService, stringMessages, errorReporter, newRegattaLeaderboard, eventToLinkRegattaTo,
|
||||
LinkRegattaLeaderboardToLeaderboardGroupOfEventDialog dialog = new LinkRegattaLeaderboardToLeaderboardGroupOfEventDialog(sailingServiceWrite, stringMessages, errorReporter, newRegattaLeaderboard, eventToLinkRegattaTo,
|
||||
new DialogCallback<LeaderboardGroupDTO>() {
|
||||
@Override
|
||||
public void ok(final LeaderboardGroupDTO selectedLeaderboardGroup) {
|
||||
@@ -188,7 +188,7 @@ public class CreateRegattaCallback implements DialogCallback<RegattaDTO>{
|
||||
leaderboardNames.add(leaderboard.getName());
|
||||
}
|
||||
leaderboardNames.add(newRegattaLeaderboard.getName());
|
||||
sailingService.updateLeaderboardGroup(selectedLeaderboardGroup.getId(),
|
||||
sailingServiceWrite.updateLeaderboardGroup(selectedLeaderboardGroup.getId(),
|
||||
selectedLeaderboardGroup.getName(), selectedLeaderboardGroup.getName(),
|
||||
selectedLeaderboardGroup.description, selectedLeaderboardGroup.getDisplayName(),
|
||||
leaderboardNames, selectedLeaderboardGroup.getOverallLeaderboardDiscardThresholds(),
|
||||
|
||||
+6
-6
@@ -18,7 +18,7 @@ import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.SimplePanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceConfigurationWithSecurityDTO;
|
||||
import com.sap.sse.common.Util;
|
||||
@@ -50,13 +50,13 @@ public class DeviceConfigurationListComposite extends Composite {
|
||||
|
||||
private final Label noConfigurationsLabel;
|
||||
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final ErrorReporter errorReporter;
|
||||
protected final StringMessages stringMessages;
|
||||
|
||||
public DeviceConfigurationListComposite(SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
public DeviceConfigurationListComposite(SailingServiceWriteAsync sailingServiceWrite, ErrorReporter errorReporter,
|
||||
StringMessages stringMessages, final UserService userService) {
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
mainPanel = new SimplePanel();
|
||||
@@ -88,7 +88,7 @@ public class DeviceConfigurationListComposite extends Composite {
|
||||
}
|
||||
|
||||
public void refreshTable() {
|
||||
sailingService.getDeviceConfigurations(new AsyncCallback<List<DeviceConfigurationWithSecurityDTO>>() {
|
||||
sailingServiceWrite.getDeviceConfigurations(new AsyncCallback<List<DeviceConfigurationWithSecurityDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(List<DeviceConfigurationWithSecurityDTO> result) {
|
||||
if (configurationsDataProvider.getList().isEmpty()) {
|
||||
@@ -141,7 +141,7 @@ public class DeviceConfigurationListComposite extends Composite {
|
||||
new DefaultActionsImagesBarCell(stringMessages), userService);
|
||||
actionColumn.addAction(ACTION_DELETE, DELETE, config -> {
|
||||
if (Window.confirm(stringMessages.doYouReallyWantToRemoveDeviceConfiguration(config.getName()))) {
|
||||
sailingService.removeDeviceConfiguration(config.id, new AsyncCallback<Boolean>() {
|
||||
sailingServiceWrite.removeDeviceConfiguration(config.id, new AsyncCallback<Boolean>() {
|
||||
@Override
|
||||
public void onSuccess(Boolean result) {
|
||||
refreshTable();
|
||||
|
||||
+9
-8
@@ -18,6 +18,7 @@ import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent.Handler;
|
||||
import com.sap.sailing.domain.common.security.SecuredDomainType;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceConfigurationDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceConfigurationWithSecurityDTO;
|
||||
@@ -29,7 +30,7 @@ import com.sap.sse.security.ui.client.UserService;
|
||||
import com.sap.sse.security.ui.client.component.SelectedElementsCountingButton;
|
||||
|
||||
public class DeviceConfigurationPanel extends SimplePanel implements DeviceConfigurationDetailComposite.DeviceConfigurationFactory {
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final UserService userService;
|
||||
private final StringMessages stringMessages;
|
||||
private final ErrorReporter errorReporter;
|
||||
@@ -42,13 +43,13 @@ public class DeviceConfigurationPanel extends SimplePanel implements DeviceConfi
|
||||
|
||||
private final RefreshableMultiSelectionModel<DeviceConfigurationWithSecurityDTO> refreshableMultiSelectionModel;
|
||||
|
||||
public DeviceConfigurationPanel(SailingServiceAsync sailingService, UserService userService,
|
||||
public DeviceConfigurationPanel(SailingServiceWriteAsync sailingServiceWrite, UserService userService,
|
||||
StringMessages stringMessages, ErrorReporter reporter) {
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.userService = userService;
|
||||
this.stringMessages = stringMessages;
|
||||
this.errorReporter = reporter;
|
||||
listComposite = new DeviceConfigurationListComposite(sailingService, errorReporter, stringMessages,
|
||||
listComposite = new DeviceConfigurationListComposite(sailingServiceWrite, errorReporter, stringMessages,
|
||||
userService);
|
||||
refreshableMultiSelectionModel = listComposite.getSelectionModel();
|
||||
setupUi();
|
||||
@@ -113,7 +114,7 @@ public class DeviceConfigurationPanel extends SimplePanel implements DeviceConfi
|
||||
grid.setWidget(0, 0, listComposite);
|
||||
grid.getRowFormatter().setVerticalAlign(0, HasVerticalAlignment.ALIGN_TOP);
|
||||
grid.getColumnFormatter().getElement(1).getStyle().setPaddingTop(2.0, Unit.EM);
|
||||
detailComposite = new DeviceConfigurationDetailComposite(sailingService, getUserService(), errorReporter, stringMessages, this);
|
||||
detailComposite = new DeviceConfigurationDetailComposite(sailingServiceWrite, getUserService(), errorReporter, stringMessages, this);
|
||||
detailComposite.setVisible(false);
|
||||
grid.setWidget(0, 1, detailComposite);
|
||||
}
|
||||
@@ -135,7 +136,7 @@ public class DeviceConfigurationPanel extends SimplePanel implements DeviceConfi
|
||||
@Override
|
||||
public void obtainAndSetNameForConfigurationAndAdd(
|
||||
final DeviceConfigurationWithSecurityDTO configurationToObtainAndSetNameForAndAdd) {
|
||||
sailingService.getDeviceConfigurations(
|
||||
sailingServiceWrite.getDeviceConfigurations(
|
||||
new MarkedAsyncCallback<>(new AsyncCallback<List<DeviceConfigurationWithSecurityDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(List<DeviceConfigurationWithSecurityDTO> allConfigurations) {
|
||||
@@ -143,7 +144,7 @@ public class DeviceConfigurationPanel extends SimplePanel implements DeviceConfi
|
||||
@Override
|
||||
public void ok(String nameForNewDeviceConfiguration) {
|
||||
configurationToObtainAndSetNameForAndAdd.name = nameForNewDeviceConfiguration;
|
||||
sailingService.createOrUpdateDeviceConfiguration(configurationToObtainAndSetNameForAndAdd,
|
||||
sailingServiceWrite.createOrUpdateDeviceConfiguration(configurationToObtainAndSetNameForAndAdd,
|
||||
new MarkedAsyncCallback<>(new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
@@ -178,7 +179,7 @@ public class DeviceConfigurationPanel extends SimplePanel implements DeviceConfi
|
||||
private void removeConfiguration() {
|
||||
detailComposite.setConfiguration(null);
|
||||
for (DeviceConfigurationDTO config : refreshableMultiSelectionModel.getSelectedSet()) {
|
||||
sailingService.removeDeviceConfiguration(config.id, new AsyncCallback<Boolean>() {
|
||||
sailingServiceWrite.removeDeviceConfiguration(config.id, new AsyncCallback<Boolean>() {
|
||||
@Override
|
||||
public void onSuccess(Boolean result) {
|
||||
listComposite.refreshTable();
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceIdentifierDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -10,9 +10,9 @@ import com.sap.sse.gwt.client.celltable.RefreshableMultiSelectionModel;
|
||||
|
||||
public class DeviceIdentifierTableWrapper extends TableWrapper<DeviceIdentifierDTO, RefreshableMultiSelectionModel<DeviceIdentifierDTO>> {
|
||||
|
||||
public DeviceIdentifierTableWrapper(SailingServiceAsync sailingService, StringMessages stringMessages,
|
||||
public DeviceIdentifierTableWrapper(SailingServiceWriteAsync sailingServiceWrite, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter) {
|
||||
super(sailingService, stringMessages, errorReporter, /* multiSelection */ true, /* enablePager */ false,
|
||||
super(sailingServiceWrite, stringMessages, errorReporter, /* multiSelection */ true, /* enablePager */ false,
|
||||
new EntityIdentityComparator<DeviceIdentifierDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(DeviceIdentifierDTO dto1, DeviceIdentifierDTO dto2) {
|
||||
|
||||
+3
-3
@@ -7,7 +7,7 @@ import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
|
||||
import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.ui.client.MappableToDeviceFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceMappingDTO;
|
||||
@@ -16,9 +16,9 @@ import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableSingleSelectionModel;
|
||||
|
||||
public class DeviceMappingTableWrapper extends TableWrapper<DeviceMappingDTO, RefreshableSingleSelectionModel<DeviceMappingDTO>> {
|
||||
public DeviceMappingTableWrapper(SailingServiceAsync sailingService, final StringMessages stringMessages,
|
||||
public DeviceMappingTableWrapper(SailingServiceWriteAsync sailingServiceWrite, final StringMessages stringMessages,
|
||||
ErrorReporter errorReporter) {
|
||||
super(sailingService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true,
|
||||
super(sailingServiceWrite, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true,
|
||||
/* leaving EntityIdentityComparator null, reducing comparison to equals/hashCode which is well
|
||||
* defined on DeviceMappingDTO
|
||||
*/ null);
|
||||
|
||||
Regular → Executable
+15
-8
@@ -4,18 +4,20 @@ import java.util.List;
|
||||
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
import com.sap.sse.security.ui.client.UserService;
|
||||
|
||||
public class EditCompetitorsDialog extends DataEntryDialog<List<CompetitorWithBoatDTO>> {
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final UserService userService;
|
||||
private final StringMessages stringMessages;
|
||||
private final ErrorReporter errorReporter;
|
||||
private final String leaderboardName;
|
||||
private final String boatClassName;
|
||||
private final boolean createWithBoatByDefault;
|
||||
|
||||
protected static class CompetitorsValidator implements Validator<List<CompetitorWithBoatDTO>> {
|
||||
public CompetitorsValidator() {
|
||||
@@ -28,14 +30,18 @@ public class EditCompetitorsDialog extends DataEntryDialog<List<CompetitorWithBo
|
||||
}
|
||||
}
|
||||
|
||||
public EditCompetitorsDialog(final SailingServiceAsync sailingService, final UserService userService, String leaderboardName, final StringMessages stringMessages,
|
||||
final ErrorReporter errorReporter, DialogCallback<List<CompetitorWithBoatDTO>> callback) {
|
||||
super(stringMessages.actionEditCompetitors(), null, stringMessages.ok(), stringMessages.cancel(), new CompetitorsValidator(), callback);
|
||||
this.sailingService = sailingService;
|
||||
public EditCompetitorsDialog(final SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
final String leaderboardName, final String boatClassName, boolean createWithBoatByDefault,
|
||||
final StringMessages stringMessages, final ErrorReporter errorReporter, DialogCallback<List<CompetitorWithBoatDTO>> callback) {
|
||||
super(stringMessages.actionEditCompetitors(), null, stringMessages.ok(), stringMessages.cancel(),
|
||||
new CompetitorsValidator(), callback);
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.userService = userService;
|
||||
this.stringMessages = stringMessages;
|
||||
this.errorReporter = errorReporter;
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.boatClassName = boatClassName;
|
||||
this.createWithBoatByDefault = createWithBoatByDefault;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -45,7 +51,8 @@ public class EditCompetitorsDialog extends DataEntryDialog<List<CompetitorWithBo
|
||||
|
||||
@Override
|
||||
protected Widget getAdditionalWidget() {
|
||||
CompetitorPanel competitorPanel = new CompetitorPanel(sailingService, userService, leaderboardName, stringMessages, errorReporter);
|
||||
return competitorPanel;
|
||||
CompetitorPanel competitorPanel = new CompetitorPanel(sailingServiceWrite, userService, leaderboardName,
|
||||
boatClassName, createWithBoatByDefault, stringMessages, errorReporter);
|
||||
return competitorPanel;
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -6,7 +6,7 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.common.dto.CourseAreaDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
|
||||
@@ -17,8 +17,8 @@ import com.sap.sse.gwt.client.media.VideoDTO;
|
||||
public class EventCreateDialog extends EventDialog {
|
||||
|
||||
public EventCreateDialog(Collection<EventDTO> existingEvents, List<LeaderboardGroupDTO> availableLeaderboardGroups,
|
||||
SailingServiceAsync sailingService, StringMessages stringMessages, DialogCallback<EventDTO> callback) {
|
||||
super(new EventParameterValidator(stringMessages, existingEvents), sailingService, stringMessages,
|
||||
SailingServiceWriteAsync sailingServiceWrite, StringMessages stringMessages, DialogCallback<EventDTO> callback) {
|
||||
super(new EventParameterValidator(stringMessages, existingEvents), sailingServiceWrite, stringMessages,
|
||||
availableLeaderboardGroups, /* leaderboardGroups */ Collections.<LeaderboardGroupDTO>emptyList(), callback);
|
||||
nameEntryField = createTextBox(null);
|
||||
nameEntryField.setVisibleLength(50);
|
||||
|
||||
+4
-4
@@ -25,7 +25,7 @@ import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.dto.CourseAreaDTO;
|
||||
import com.sap.sailing.domain.common.windfinder.AvailableWindFinderSpotCollections;
|
||||
import com.sap.sailing.gwt.ui.client.DataEntryDialogWithDateTimeBox;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
@@ -128,11 +128,11 @@ public abstract class EventDialog extends DataEntryDialogWithDateTimeBox<EventDT
|
||||
* @param leaderboardGroupsOfEvent even though not editable in this dialog, this parameter gives an editing subclass a chance to "park" the leaderboard group
|
||||
* assignments for re-association with the new {@link EventDTO} created by the {@link #getResult} method.
|
||||
*/
|
||||
public EventDialog(EventParameterValidator validator, SailingServiceAsync sailingService,
|
||||
public EventDialog(EventParameterValidator validator, SailingServiceWriteAsync sailingServiceWrite,
|
||||
StringMessages stringMessages, List<LeaderboardGroupDTO> availableLeaderboardGroups,
|
||||
Iterable<LeaderboardGroupDTO> leaderboardGroupsOfEvent, DialogCallback<EventDTO> callback) {
|
||||
super(stringMessages.event(), null, stringMessages.ok(), stringMessages.cancel(), validator, callback);
|
||||
this.storageServiceAvailable = new FileStorageServiceConnectionTestObservable(sailingService);
|
||||
this.storageServiceAvailable = new FileStorageServiceConnectionTestObservable(sailingServiceWrite);
|
||||
this.stringMessages = stringMessages;
|
||||
this.availableLeaderboardGroupsByName = new HashMap<>();
|
||||
for (final LeaderboardGroupDTO lgDTO : availableLeaderboardGroups) {
|
||||
@@ -163,7 +163,7 @@ public abstract class EventDialog extends DataEntryDialogWithDateTimeBox<EventDT
|
||||
new StringConstantsListEditorComposite.ExpandedUi(stringMessages, IconResources.INSTANCE.removeIcon(),
|
||||
leaderboardGroupNames, stringMessages.selectALeaderboardGroup()));
|
||||
leaderboardGroupList.addValueChangeHandler(valueChangeHandler);
|
||||
imagesListComposite = new ImagesListComposite(sailingService, stringMessages, storageServiceAvailable);
|
||||
imagesListComposite = new ImagesListComposite(sailingServiceWrite, stringMessages, storageServiceAvailable);
|
||||
videosListComposite = new VideosListComposite(stringMessages, storageServiceAvailable);
|
||||
externalLinksComposite = new ExternalLinksComposite(stringMessages);
|
||||
final List<String> suggestedWindFinderSpotCollections = AvailableWindFinderSpotCollections
|
||||
|
||||
+3
-3
@@ -4,7 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
|
||||
@@ -12,8 +12,8 @@ import com.sap.sse.gwt.client.controls.datetime.DateTimeInput.Accuracy;
|
||||
|
||||
public class EventEditDialog extends EventDialog {
|
||||
public EventEditDialog(EventDTO event, Collection<EventDTO> otherExistingEvents, List<LeaderboardGroupDTO> availableLeaderboardGroups,
|
||||
SailingServiceAsync sailingService, StringMessages stringMessages, DialogCallback<EventDTO> callback) {
|
||||
super(new EventParameterValidator(stringMessages, otherExistingEvents), sailingService, stringMessages, availableLeaderboardGroups, event.getLeaderboardGroups(), callback);
|
||||
SailingServiceWriteAsync sailingServiceWrite, StringMessages stringMessages, DialogCallback<EventDTO> callback) {
|
||||
super(new EventParameterValidator(stringMessages, otherExistingEvents), sailingServiceWrite, stringMessages, availableLeaderboardGroups, event.getLeaderboardGroups(), callback);
|
||||
nameEntryField = createTextBox(event.getName());
|
||||
nameEntryField.setVisibleLength(50);
|
||||
descriptionEntryField = createTextArea(event.getDescription());
|
||||
|
||||
+24
-24
@@ -46,7 +46,7 @@ import com.sap.sailing.gwt.ui.client.EntryPointLinkFactory;
|
||||
import com.sap.sailing.gwt.ui.client.EventsRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardGroupsDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.controls.MultipleLinkCell;
|
||||
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
|
||||
@@ -85,7 +85,7 @@ import com.sap.sse.security.ui.client.component.editacl.EditACLDialog;
|
||||
* @author Frank Mittag (C5163974)
|
||||
*/
|
||||
public class EventListComposite extends Composite implements EventsRefresher, LeaderboardGroupsDisplayer {
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final UserService userService;
|
||||
private final ErrorReporter errorReporter;
|
||||
private final StringMessages stringMessages;
|
||||
@@ -117,10 +117,10 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
private final EventsRefresher eventsRefresher;
|
||||
private final HandleTabSelectable handleTabSelectable;
|
||||
|
||||
public EventListComposite(final SailingServiceAsync sailingService, UserService userService, final ErrorReporter errorReporter,
|
||||
public EventListComposite(final SailingServiceWriteAsync sailingServiceWrite, UserService userService, final ErrorReporter errorReporter,
|
||||
RegattaRefresher regattaRefresher, EventsRefresher eventsRefresher, final HandleTabSelectable handleTabSelectable,
|
||||
final StringMessages stringMessages) {
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.userService = userService;
|
||||
this.stringMessages = stringMessages;
|
||||
this.errorReporter = errorReporter;
|
||||
@@ -353,7 +353,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
|
||||
final MigrateGroupOwnershipDialog.DialogConfig<EventDTO> migrateDialogConfig = MigrateGroupOwnershipDialog
|
||||
.create(userService.getUserManagementService(), (event, dto) -> {
|
||||
sailingService.updateGroupOwnerForEventHierarchy(event.id, dto, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.updateGroupOwnerForEventHierarchy(event.id, dto, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(stringMessages.errorUpdatingOwnership(event.getName()));
|
||||
@@ -473,7 +473,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
for (EventDTO event : events) {
|
||||
eventIds.add(event.id);
|
||||
}
|
||||
sailingService.removeEvents(eventIds, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.removeEvents(eventIds, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to remove the events:" + caught.getMessage());
|
||||
@@ -487,7 +487,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
}
|
||||
|
||||
private void removeEvent(final EventDTO event) {
|
||||
sailingService.removeEvent(event.id, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.removeEvent(event.id, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to remove event " + event.getName() + ": " + caught.getMessage());
|
||||
@@ -505,7 +505,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
final List<LeaderboardGroupDTO> existingLeaderboardGroups = new ArrayList<LeaderboardGroupDTO>();
|
||||
Util.addAll(availableLeaderboardGroups, existingLeaderboardGroups);
|
||||
EventCreateDialog dialog = new EventCreateDialog(Collections.unmodifiableCollection(existingEvents), existingLeaderboardGroups,
|
||||
sailingService, stringMessages, new DialogCallback<EventDTO>() {
|
||||
sailingServiceWrite, stringMessages, new DialogCallback<EventDTO>() {
|
||||
@Override
|
||||
public void cancel() {
|
||||
}
|
||||
@@ -520,17 +520,17 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
}
|
||||
|
||||
private void openCreateDefaultRegattaDialog(final EventDTO createdEvent) {
|
||||
CreateDefaultRegattaDialog dialog = new CreateDefaultRegattaDialog(sailingService, stringMessages, errorReporter, new DialogCallback<Void>() {
|
||||
CreateDefaultRegattaDialog dialog = new CreateDefaultRegattaDialog(sailingServiceWrite, stringMessages, errorReporter, new DialogCallback<Void>() {
|
||||
@Override
|
||||
public void cancel() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ok(Void editedObject) {
|
||||
sailingService.getRegattas(new AsyncCallback<List<RegattaDTO>>() {
|
||||
sailingServiceWrite.getRegattas(new AsyncCallback<List<RegattaDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
sailingService.getEvents(new AsyncCallback<List<EventDTO>>() {
|
||||
sailingServiceWrite.getEvents(new AsyncCallback<List<EventDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
openCreateRegattaDialog(Collections.<RegattaDTO>emptyList(), Collections.<EventDTO>emptyList(), createdEvent);
|
||||
@@ -546,7 +546,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
|
||||
@Override
|
||||
public void onSuccess(final List<RegattaDTO> existingRegattas) {
|
||||
sailingService.getEvents(new AsyncCallback<List<EventDTO>>() {
|
||||
sailingServiceWrite.getEvents(new AsyncCallback<List<EventDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
openCreateRegattaDialog(existingRegattas, Collections.<EventDTO>emptyList(), createdEvent);
|
||||
@@ -567,8 +567,8 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
|
||||
private void openCreateRegattaDialog(List<RegattaDTO> existingRegattas,
|
||||
List<EventDTO> existingEvents, EventDTO createdEvent) {
|
||||
RegattaWithSeriesAndFleetsCreateDialog dialog = new RegattaWithSeriesAndFleetsCreateDialog(existingRegattas, existingEvents, createdEvent, sailingService, stringMessages,
|
||||
new CreateRegattaCallback(userService, sailingService, stringMessages, errorReporter, regattaRefresher,
|
||||
RegattaWithSeriesAndFleetsCreateDialog dialog = new RegattaWithSeriesAndFleetsCreateDialog(existingRegattas, existingEvents, createdEvent, sailingServiceWrite, stringMessages,
|
||||
new CreateRegattaCallback(userService, sailingServiceWrite, stringMessages, errorReporter, regattaRefresher,
|
||||
eventsRefresher, existingEvents));
|
||||
dialog.ensureDebugId("RegattaCreateDialog");
|
||||
dialog.show();
|
||||
@@ -581,7 +581,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
LeaderboardGroupCreateDialog leaderboardGroupCreateDialog = new LeaderboardGroupCreateDialog(existingLeaderboardGroups, stringMessages, new DialogCallback<LeaderboardGroupDialog.LeaderboardGroupDescriptor>() {
|
||||
@Override
|
||||
public void ok(final LeaderboardGroupDescriptor newGroup) {
|
||||
sailingService.createLeaderboardGroup(newGroup.getName(), newGroup.getDescription(),
|
||||
sailingServiceWrite.createLeaderboardGroup(newGroup.getName(), newGroup.getDescription(),
|
||||
newGroup.getDisplayName(), newGroup.isDisplayLeaderboardsInReverseOrder(),
|
||||
newGroup.getOverallLeaderboardDiscardThresholds(), newGroup.getOverallLeaderboardScoringSchemeType(), new MarkedAsyncCallback<LeaderboardGroupDTO>(
|
||||
new AsyncCallback<LeaderboardGroupDTO>() {
|
||||
@@ -627,7 +627,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
List<LeaderboardGroupDTO> existingLeaderboardGroups = new ArrayList<LeaderboardGroupDTO>();
|
||||
Util.addAll(availableLeaderboardGroups, existingLeaderboardGroups);
|
||||
EventEditDialog dialog = new EventEditDialog(selectedEvent, Collections.unmodifiableCollection(existingEvents),
|
||||
existingLeaderboardGroups, sailingService, stringMessages,
|
||||
existingLeaderboardGroups, sailingServiceWrite, stringMessages,
|
||||
new DialogCallback<EventDTO>() {
|
||||
@Override
|
||||
public void cancel() {
|
||||
@@ -645,8 +645,8 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
Pair<List<CourseAreaDTO>, List<CourseAreaDTO>> courseAreasToAddAndRemove = getCourseAreasToAdd(oldEvent, updatedEvent);
|
||||
final List<CourseAreaDTO> courseAreasToAdd = courseAreasToAddAndRemove.getA();
|
||||
final List<CourseAreaDTO> courseAreasToRemove = courseAreasToAddAndRemove.getB();
|
||||
final Iterable<UUID> updatedEventLeaderboardGroupIds = updatedEvent.getLeaderboardGroupIds();
|
||||
sailingService.updateEvent(oldEvent.id, oldEvent.getName(), updatedEvent.getDescription(),
|
||||
final List<UUID> updatedEventLeaderboardGroupIds = updatedEvent.getLeaderboardGroupIds();
|
||||
sailingServiceWrite.updateEvent(oldEvent.id, oldEvent.getName(), updatedEvent.getDescription(),
|
||||
updatedEvent.startDate, updatedEvent.endDate, updatedEvent.venue,
|
||||
updatedEvent.isPublic, updatedEventLeaderboardGroupIds,
|
||||
updatedEvent.getOfficialWebsiteURL(),
|
||||
@@ -666,7 +666,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
for (CourseAreaDTO courseAreaToAdd : courseAreasToAdd) {
|
||||
namesOfCourseAreasToAdd[i++] = courseAreaToAdd.getName();
|
||||
}
|
||||
sailingService.createCourseAreas(oldEvent.id, namesOfCourseAreasToAdd, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.createCourseAreas(oldEvent.id, namesOfCourseAreasToAdd, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable t) {
|
||||
errorReporter.reportError("Error trying to add course area to sailing event " + oldEvent.getName()
|
||||
@@ -680,7 +680,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
for (CourseAreaDTO courseAreaToRemove : courseAreasToRemove) {
|
||||
idsOfCourseAreasToRemove[j++] = courseAreaToRemove.id;
|
||||
}
|
||||
sailingService.removeCourseAreas(oldEvent.id, idsOfCourseAreasToRemove, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.removeCourseAreas(oldEvent.id, idsOfCourseAreasToRemove, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable t) {
|
||||
errorReporter.reportError("Error trying to remove course area from sailing event " + oldEvent.getName()
|
||||
@@ -691,7 +691,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
public void onSuccess(Void result) {
|
||||
fillEvents();
|
||||
if (!oldEvent.getName().equals(updatedEvent.getName())) {
|
||||
sailingService.renameEvent(oldEvent.id, updatedEvent.getName(), new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.renameEvent(oldEvent.id, updatedEvent.getName(), new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
}
|
||||
@@ -723,7 +723,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
for (CourseAreaDTO courseAreaDTO : newEvent.venue.getCourseAreas()) {
|
||||
courseAreaNames.add(courseAreaDTO.getName());
|
||||
}
|
||||
sailingService.createEvent(newEvent.getName(), newEvent.getDescription(), newEvent.startDate, newEvent.endDate,
|
||||
sailingServiceWrite.createEvent(newEvent.getName(), newEvent.getDescription(), newEvent.startDate, newEvent.endDate,
|
||||
newEvent.venue.getName(), newEvent.isPublic, courseAreaNames, newEvent.getOfficialWebsiteURL(), newEvent.getBaseURL(),
|
||||
newEvent.getSailorsInfoWebsiteURLs(), newEvent.getImages(), newEvent.getVideos(), newEvent.getLeaderboardGroupIds(),
|
||||
new AsyncCallback<EventDTO>() {
|
||||
@@ -738,7 +738,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
if (newEvent.getLeaderboardGroups().isEmpty()) {
|
||||
// show simple Dialog
|
||||
DataEntryDialog<Void> dialog = new CreateDefaultLeaderboardGroupDialog(
|
||||
sailingService, stringMessages, errorReporter, new DialogCallback<Void>() {
|
||||
sailingServiceWrite, stringMessages, errorReporter, new DialogCallback<Void>() {
|
||||
@Override
|
||||
public void ok(Void editedObject) {
|
||||
openLeaderboardGroupCreationDialog(existingLeaderboardGroups, newEvent);
|
||||
@@ -764,7 +764,7 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
|
||||
@Override
|
||||
public void fillEvents() {
|
||||
sailingService.getEvents(new AsyncCallback<List<EventDTO>>() {
|
||||
sailingServiceWrite.getEvents(new AsyncCallback<List<EventDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Remote Procedure Call getEvents() - Failure: " + caught.getMessage());
|
||||
|
||||
+4
-4
@@ -11,7 +11,7 @@ import com.google.gwt.view.client.SelectionChangeEvent.Handler;
|
||||
import com.sap.sailing.gwt.ui.client.EventsRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardGroupsDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
|
||||
@@ -32,7 +32,7 @@ public class EventManagementPanel extends SimplePanel implements EventsRefresher
|
||||
private final CaptionPanel eventsPanel;
|
||||
private final RefreshableMultiSelectionModel<EventDTO> refreshableEventSelectionModel;
|
||||
|
||||
public EventManagementPanel(final SailingServiceAsync sailingService, UserService userService, final ErrorReporter errorReporter,
|
||||
public EventManagementPanel(final SailingServiceWriteAsync sailingServiceWrite, UserService userService, final ErrorReporter errorReporter,
|
||||
RegattaRefresher regattaRefresher, final StringMessages stringMessages, final HandleTabSelectable handleTabSelectable) {
|
||||
VerticalPanel mainPanel = new VerticalPanel();
|
||||
setWidget(mainPanel);
|
||||
@@ -43,11 +43,11 @@ public class EventManagementPanel extends SimplePanel implements EventsRefresher
|
||||
VerticalPanel eventsContentPanel = new VerticalPanel();
|
||||
eventsPanel.setContentWidget(eventsContentPanel);
|
||||
|
||||
eventListComposite = new EventListComposite(sailingService, userService, errorReporter, regattaRefresher, this, handleTabSelectable, stringMessages);
|
||||
eventListComposite = new EventListComposite(sailingServiceWrite, userService, errorReporter, regattaRefresher, this, handleTabSelectable, stringMessages);
|
||||
eventListComposite.ensureDebugId("EventListComposite");
|
||||
eventsContentPanel.add(eventListComposite);
|
||||
|
||||
eventDetailsComposite = new EventDetailsComposite(sailingService, errorReporter, stringMessages);
|
||||
eventDetailsComposite = new EventDetailsComposite(sailingServiceWrite, errorReporter, stringMessages);
|
||||
eventDetailsComposite.ensureDebugId("EventDetailsComposite");
|
||||
eventDetailsComposite.setVisible(false);
|
||||
mainPanel.add(eventDetailsComposite);
|
||||
|
||||
+21
-21
@@ -10,7 +10,7 @@ import java.util.UUID;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.domain.common.RegattaNameAndRaceName;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceMappingDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
@@ -41,7 +41,7 @@ import com.sap.sse.security.ui.client.UserService;
|
||||
*/
|
||||
public class ExpeditionAllInOneAfterImportHandler {
|
||||
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final UserService userService;
|
||||
private final ErrorReporter errorReporter;
|
||||
private final StringMessages stringMessages;
|
||||
@@ -60,11 +60,11 @@ public class ExpeditionAllInOneAfterImportHandler {
|
||||
public ExpeditionAllInOneAfterImportHandler(UUID eventId, String regattaName, String leaderboardName,
|
||||
String leaderboardGroupName, List<Triple<String, String, String>> raceEntries,
|
||||
List<String> gpsDeviceIds, List<String> sensorDeviceIds, String sensorImporterType,
|
||||
Iterable<TimePoint> startTimes, final SailingServiceAsync sailingService, final UserService userService, final ErrorReporter errorReporter,
|
||||
Iterable<TimePoint> startTimes, final SailingServiceWriteAsync sailingServiceWrite, final UserService userService, final ErrorReporter errorReporter,
|
||||
final StringMessages stringMessages) {
|
||||
this.leaderboardGroupName = leaderboardGroupName;
|
||||
this.sensorImporterType = sensorImporterType;
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.userService = userService;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
@@ -72,25 +72,25 @@ public class ExpeditionAllInOneAfterImportHandler {
|
||||
this.regattaName = regattaName;
|
||||
this.startTimes = startTimes;
|
||||
// TODO from the start times, suggest the user to split the session into one session per start, with start tracking at n minutes before start
|
||||
sailingService.getEventById(eventId, false, new DataLoadingCallback<EventDTO>() {
|
||||
sailingServiceWrite.getEventById(eventId, false, new DataLoadingCallback<EventDTO>() {
|
||||
@Override
|
||||
public void onSuccess(EventDTO result) {
|
||||
event = result;
|
||||
sailingService.getRegattaByName(regattaName, new DataLoadingCallback<RegattaDTO>() {
|
||||
sailingServiceWrite.getRegattaByName(regattaName, new DataLoadingCallback<RegattaDTO>() {
|
||||
@Override
|
||||
public void onSuccess(RegattaDTO result) {
|
||||
regatta = result;
|
||||
sailingService.getLeaderboard(leaderboardName,
|
||||
sailingServiceWrite.getLeaderboard(leaderboardName,
|
||||
new DataLoadingCallback<StrippedLeaderboardDTO>() {
|
||||
@Override
|
||||
public void onSuccess(StrippedLeaderboardDTO result) {
|
||||
leaderboard = result;
|
||||
sailingService.getTrackFileImportDeviceIds(gpsDeviceIds,
|
||||
sailingServiceWrite.getTrackFileImportDeviceIds(gpsDeviceIds,
|
||||
new DataLoadingCallback<List<TrackFileImportDeviceIdentifierDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(List<TrackFileImportDeviceIdentifierDTO> result) {
|
||||
gpsFixesDeviceIDs = result;
|
||||
sailingService.getTrackFileImportDeviceIds(sensorDeviceIds,
|
||||
sailingServiceWrite.getTrackFileImportDeviceIds(sensorDeviceIds,
|
||||
new DataLoadingCallback<List<TrackFileImportDeviceIdentifierDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(List<TrackFileImportDeviceIdentifierDTO> result) {
|
||||
@@ -109,19 +109,19 @@ public class ExpeditionAllInOneAfterImportHandler {
|
||||
}
|
||||
|
||||
private class RegattaLogCompetitorRegistrationAndSelectionDialog extends RegattaLogCompetitorRegistrationDialog {
|
||||
public RegattaLogCompetitorRegistrationAndSelectionDialog(String boatClass, SailingServiceAsync sailingService, final UserService userService,
|
||||
public RegattaLogCompetitorRegistrationAndSelectionDialog(String boatClass, SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
StringMessages stringMessages, ErrorReporter errorReporter, boolean editable, String leaderboardName,
|
||||
boolean canBoatsOfCompetitorsChangePerRace) {
|
||||
this(boatClass, sailingService, userService, stringMessages, errorReporter, editable, leaderboardName,
|
||||
this(boatClass, sailingServiceWrite, userService, stringMessages, errorReporter, editable, leaderboardName,
|
||||
canBoatsOfCompetitorsChangePerRace, new ValidatorForCompetitorRegistrationDialog(stringMessages),
|
||||
new CallbackForCompetitorRegistrationDialog());
|
||||
}
|
||||
|
||||
public RegattaLogCompetitorRegistrationAndSelectionDialog(String boatClass, SailingServiceAsync sailingService, final UserService userService,
|
||||
public RegattaLogCompetitorRegistrationAndSelectionDialog(String boatClass, SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
StringMessages stringMessages, ErrorReporter errorReporter, boolean editable, String leaderboardName,
|
||||
boolean canBoatsOfCompetitorsChangePerRace, ValidatorForCompetitorRegistrationDialog validator,
|
||||
CallbackForCompetitorRegistrationDialog callback) {
|
||||
super(boatClass, sailingService, userService, stringMessages, errorReporter, editable, leaderboardName,
|
||||
super(boatClass, sailingServiceWrite, userService, stringMessages, errorReporter, editable, leaderboardName,
|
||||
canBoatsOfCompetitorsChangePerRace, validator, callback);
|
||||
validator.setCompetitorRegistrationsPanel(competitorRegistrationsPanel);
|
||||
callback.setCompetitorRegistrationsPanel(competitorRegistrationsPanel);
|
||||
@@ -154,7 +154,7 @@ public class ExpeditionAllInOneAfterImportHandler {
|
||||
if (competitors.isEmpty()) {
|
||||
Notification.notify(stringMessages.importCanceledNoCompetitorAdded(), NotificationType.ERROR);
|
||||
} else {
|
||||
sailingService.setCompetitorRegistrationsInRegattaLog(leaderboard.getName(),
|
||||
sailingServiceWrite.setCompetitorRegistrationsInRegattaLog(leaderboard.getName(),
|
||||
competitors, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
@@ -176,7 +176,7 @@ public class ExpeditionAllInOneAfterImportHandler {
|
||||
|
||||
private void showCompetitorRegistration() {
|
||||
new RegattaLogCompetitorRegistrationAndSelectionDialog(regatta.boatClass == null ? null : regatta.boatClass.getName(),
|
||||
sailingService, userService, stringMessages, errorReporter, true, leaderboard.getName(),
|
||||
sailingServiceWrite, userService, stringMessages, errorReporter, true, leaderboard.getName(),
|
||||
leaderboard.canBoatsOfCompetitorsChangePerRace).show();
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ public class ExpeditionAllInOneAfterImportHandler {
|
||||
final CompetitorDTO competitor = mappedCompetitors.iterator().next();
|
||||
saveCompetitorGPSMapping(mappedCompetitors, Collections.singleton(new DeviceMappingDTO(deviceIdentifierDTO, deviceIdentifierDTO.from, deviceIdentifierDTO.to, competitor, null)));
|
||||
} else {
|
||||
new RegattaLogFixesAddMappingsDialog(sailingService, userService, errorReporter, stringMessages,
|
||||
new RegattaLogFixesAddMappingsDialog(sailingServiceWrite, userService, errorReporter, stringMessages,
|
||||
leaderboard.getName(), gpsFixesDeviceIDs,
|
||||
new CancelImportDialogCallback<Collection<DeviceMappingDTO>>() {
|
||||
|
||||
@@ -212,7 +212,7 @@ public class ExpeditionAllInOneAfterImportHandler {
|
||||
final CompetitorDTO competitor = mappedCompetitors.iterator().next();
|
||||
saveCompetitorSensorFixMapping(Collections.singleton(new TypedDeviceMappingDTO(deviceIdentifierDTO, deviceIdentifierDTO.from, deviceIdentifierDTO.to, competitor, null, sensorImporterType)));
|
||||
} else if (sensorFixesDeviceIDs.size() > 0) {
|
||||
new RegattaLogSensorDataAddMappingsDialog(sailingService, userService, errorReporter, stringMessages, leaderboard.getName(),
|
||||
new RegattaLogSensorDataAddMappingsDialog(sailingServiceWrite, userService, errorReporter, stringMessages, leaderboard.getName(),
|
||||
sensorFixesDeviceIDs, sensorImporterType,
|
||||
new CancelImportDialogCallback<Collection<TypedDeviceMappingDTO>>() {
|
||||
|
||||
@@ -246,7 +246,7 @@ public class ExpeditionAllInOneAfterImportHandler {
|
||||
raceNames.add(new Pair<String, String>(raceName, raceColumnName));
|
||||
}
|
||||
|
||||
sailingService.removeAndUntrackRaces(racesToStopAndStartTrackingFor, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.removeAndUntrackRaces(racesToStopAndStartTrackingFor, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Failed to track race after import!");
|
||||
@@ -254,7 +254,7 @@ public class ExpeditionAllInOneAfterImportHandler {
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
sailingService.startRaceLogTracking(leaderboardRaceColumnFleetNames, /* trackWind */ false,
|
||||
sailingServiceWrite.startRaceLogTracking(leaderboardRaceColumnFleetNames, /* trackWind */ false,
|
||||
/* correctWindByDeclination */ true, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
@@ -280,7 +280,7 @@ public class ExpeditionAllInOneAfterImportHandler {
|
||||
this.callback = callback;
|
||||
for (TypedDeviceMappingDTO mapping : mappings) {
|
||||
callCount++;
|
||||
sailingService.addTypedDeviceMappingToRegattaLog(leaderboardName, mapping, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.addTypedDeviceMappingToRegattaLog(leaderboardName, mapping, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
callCount--;
|
||||
@@ -308,7 +308,7 @@ public class ExpeditionAllInOneAfterImportHandler {
|
||||
this.callback = callback;
|
||||
for (DeviceMappingDTO mapping : mappings) {
|
||||
callCount++;
|
||||
sailingService.addDeviceMappingToRegattaLog(leaderboardName, mapping, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.addDeviceMappingToRegattaLog(leaderboardName, mapping, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
callCount--;
|
||||
|
||||
+4
-4
@@ -31,7 +31,7 @@ import com.sap.sailing.gwt.ui.adminconsole.resulthandling.ExpeditionDataImportRe
|
||||
import com.sap.sailing.gwt.ui.adminconsole.resulthandling.ExpeditionDataImportResultsDialog;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattasDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -49,7 +49,7 @@ public class ExpeditionAllInOneImportPanel extends Composite implements Regattas
|
||||
|
||||
private final RegattaSuggestOracle regattaOracle;
|
||||
|
||||
public ExpeditionAllInOneImportPanel(final StringMessages stringMessages, final SailingServiceAsync sailingService, final UserService userService,
|
||||
public ExpeditionAllInOneImportPanel(final StringMessages stringMessages, final SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
final ErrorReporter errorReporter, final RegattaRefresher regattaRefresher) {
|
||||
final FormPanel formPanel = new FormPanel();
|
||||
final BusyIndicator busyIndicator = new SimpleBusyIndicator();
|
||||
@@ -160,7 +160,7 @@ public class ExpeditionAllInOneImportPanel extends Composite implements Regattas
|
||||
new ExpeditionAllInOneAfterImportHandler(response.getEventId(), response.getRegattaName(),
|
||||
response.getLeaderboardName(), response.getLeaderboardGroupName(), response.getRaceEntries(),
|
||||
response.getGpsDeviceIds(), response.getSensorDeviceIds(), response.getSensorFixImporterType(),
|
||||
response.getStartTimes(), sailingService, userService,
|
||||
response.getStartTimes(), sailingServiceWrite, userService,
|
||||
errorReporter, stringMessages);
|
||||
regattaRefresher.fillRegattas();
|
||||
} else {
|
||||
@@ -172,7 +172,7 @@ public class ExpeditionAllInOneImportPanel extends Composite implements Regattas
|
||||
public void onSelection(SelectionEvent<Suggestion> event) {
|
||||
final String selected = event.getSelectedItem().getReplacementString();
|
||||
if (selected != null) {
|
||||
sailingService.getRegattaByName(selected, new AsyncCallback<RegattaDTO>() {
|
||||
sailingServiceWrite.getRegattaByName(selected, new AsyncCallback<RegattaDTO>() {
|
||||
@Override
|
||||
public void onSuccess(RegattaDTO result) {
|
||||
validation.run();
|
||||
|
||||
+15
-14
@@ -32,6 +32,7 @@ import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.sap.sailing.expeditionconnector.ExpeditionDeviceConfiguration;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.util.NaturalComparator;
|
||||
import com.sap.sse.gwt.adminconsole.AdminConsoleTableResources;
|
||||
@@ -47,7 +48,7 @@ import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel;
|
||||
|
||||
public class ExpeditionDeviceConfigurationsPanel extends FlowPanel {
|
||||
private final StringMessages stringMessages;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final ErrorReporter errorReporter;
|
||||
private final CellTable<ExpeditionDeviceConfiguration> allDeviceConfigurations;
|
||||
private final LabeledAbstractFilterablePanel<ExpeditionDeviceConfiguration> filterDeviceConfigurationsPanel;
|
||||
@@ -76,8 +77,8 @@ public class ExpeditionDeviceConfigurationsPanel extends FlowPanel {
|
||||
}
|
||||
}
|
||||
|
||||
public ExpeditionDeviceConfigurationsPanel(final SailingServiceAsync sailingService, final ErrorReporter errorReporter, final StringMessages stringMessages) {
|
||||
this.sailingService = sailingService;
|
||||
public ExpeditionDeviceConfigurationsPanel(final SailingServiceWriteAsync sailingServiceWrite, final ErrorReporter errorReporter, final StringMessages stringMessages) {
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
|
||||
@@ -158,13 +159,13 @@ public class ExpeditionDeviceConfigurationsPanel extends FlowPanel {
|
||||
removeDeviceConfiguration(deviceConfiguration, filterDeviceConfigurationsPanel);
|
||||
}
|
||||
} else if (DeviceConfigurationImagesBarCell.ACTION_EDIT.equals(value)) {
|
||||
new EditDeviceConfigurationDialog(filterDeviceConfigurationsPanel, sailingService, stringMessages, errorReporter, deviceConfiguration).show();
|
||||
new EditDeviceConfigurationDialog(filterDeviceConfigurationsPanel, sailingServiceWrite, stringMessages, errorReporter, deviceConfiguration).show();
|
||||
}
|
||||
}
|
||||
});
|
||||
allDeviceConfigurations.addColumn(deviceConfigurationActionColumn, stringMessages.actions());
|
||||
allDeviceConfigurations.addColumnSortHandler(deviceConfigurationColumnListHandler);
|
||||
updateAllAccounts(sailingService, filterDeviceConfigurationsPanel, stringMessages, errorReporter);
|
||||
updateAllAccounts(sailingServiceWrite, filterDeviceConfigurationsPanel, stringMessages, errorReporter);
|
||||
Button addAccountButton = new Button(stringMessages.add());
|
||||
addAccountButton.ensureDebugId("addExpeditionDeviceConfiguration");
|
||||
addAccountButton.addClickHandler(new ClickHandler() {
|
||||
@@ -185,7 +186,7 @@ public class ExpeditionDeviceConfigurationsPanel extends FlowPanel {
|
||||
}
|
||||
|
||||
public void refresh() {
|
||||
updateAllAccounts(sailingService, filterDeviceConfigurationsPanel, stringMessages, errorReporter);
|
||||
updateAllAccounts(sailingServiceWrite, filterDeviceConfigurationsPanel, stringMessages, errorReporter);
|
||||
}
|
||||
|
||||
private abstract class AbstractDeviceConfigurationDialog extends DataEntryDialog<ExpeditionDeviceConfiguration> {
|
||||
@@ -232,12 +233,12 @@ public class ExpeditionDeviceConfigurationsPanel extends FlowPanel {
|
||||
|
||||
private class AddDeviceConfigurationDialog extends AbstractDeviceConfigurationDialog {
|
||||
public AddDeviceConfigurationDialog(final LabeledAbstractFilterablePanel<ExpeditionDeviceConfiguration> filterAccountsPanel,
|
||||
final SailingServiceAsync sailingService, final StringMessages stringMessages, final ErrorReporter errorReporter) {
|
||||
super(filterAccountsPanel, sailingService, stringMessages, errorReporter, stringMessages.addExpeditionDeviceConfiguration(),
|
||||
final SailingServiceWriteAsync sailingServiceWrite, final StringMessages stringMessages, final ErrorReporter errorReporter) {
|
||||
super(filterAccountsPanel, sailingServiceWrite, stringMessages, errorReporter, stringMessages.addExpeditionDeviceConfiguration(),
|
||||
new DialogCallback<ExpeditionDeviceConfiguration>() {
|
||||
@Override
|
||||
public void ok(final ExpeditionDeviceConfiguration editedObject) {
|
||||
sailingService.addOrReplaceExpeditionDeviceConfiguration(editedObject, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.addOrReplaceExpeditionDeviceConfiguration(editedObject, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(stringMessages.errorUpdatingExpeditionDeviceConfiguration(editedObject.getName(),
|
||||
@@ -268,13 +269,13 @@ public class ExpeditionDeviceConfigurationsPanel extends FlowPanel {
|
||||
private final ExpeditionDeviceConfiguration valueToEdit;
|
||||
|
||||
public EditDeviceConfigurationDialog(final LabeledAbstractFilterablePanel<ExpeditionDeviceConfiguration> filterAccountsPanel,
|
||||
final SailingServiceAsync sailingService, final StringMessages stringMessages, final ErrorReporter errorReporter,
|
||||
final SailingServiceWriteAsync sailingServiceWrite, final StringMessages stringMessages, final ErrorReporter errorReporter,
|
||||
final ExpeditionDeviceConfiguration valueToEdit) {
|
||||
super(filterAccountsPanel, sailingService, stringMessages, errorReporter, stringMessages.editExpeditionDeviceConfiguration(),
|
||||
super(filterAccountsPanel, sailingServiceWrite, stringMessages, errorReporter, stringMessages.editExpeditionDeviceConfiguration(),
|
||||
new DialogCallback<ExpeditionDeviceConfiguration>() {
|
||||
@Override
|
||||
public void ok(final ExpeditionDeviceConfiguration editedObject) {
|
||||
sailingService.addOrReplaceExpeditionDeviceConfiguration(editedObject, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.addOrReplaceExpeditionDeviceConfiguration(editedObject, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(stringMessages.errorUpdatingExpeditionDeviceConfiguration(editedObject.getName(),
|
||||
@@ -327,12 +328,12 @@ public class ExpeditionDeviceConfigurationsPanel extends FlowPanel {
|
||||
}
|
||||
|
||||
private void addAccount() {
|
||||
new AddDeviceConfigurationDialog(filterDeviceConfigurationsPanel, sailingService, stringMessages, errorReporter).show();
|
||||
new AddDeviceConfigurationDialog(filterDeviceConfigurationsPanel, sailingServiceWrite, stringMessages, errorReporter).show();
|
||||
}
|
||||
|
||||
private void removeDeviceConfiguration(final ExpeditionDeviceConfiguration expeditionDeviceConfiguration,
|
||||
final LabeledAbstractFilterablePanel<ExpeditionDeviceConfiguration> filterDeviceConfigurationsPanel) {
|
||||
sailingService.removeExpeditionDeviceConfiguration(expeditionDeviceConfiguration, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.removeExpeditionDeviceConfiguration(expeditionDeviceConfiguration, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(stringMessages.errorTryingToRemoveExpeditionDeviceConfiguration(expeditionDeviceConfiguration.getName(), caught.getMessage()));
|
||||
|
||||
+3
-3
@@ -5,7 +5,7 @@ import java.util.List;
|
||||
|
||||
import com.google.gwt.i18n.client.LocaleInfo;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sse.gwt.client.filestorage.FileStorageManagementGwtServiceAsync;
|
||||
import com.sap.sse.gwt.shared.filestorage.FileStorageServicePropertyErrorsDTO;
|
||||
|
||||
@@ -22,9 +22,9 @@ public class FileStorageServiceConnectionTestObservable {
|
||||
private List<FileStorageServiceConnectionTestObserver> observer = new ArrayList<>();
|
||||
private boolean value;
|
||||
|
||||
public FileStorageServiceConnectionTestObservable(SailingServiceAsync sailingService) {
|
||||
public FileStorageServiceConnectionTestObservable(SailingServiceWriteAsync sailingServiceWrite) {
|
||||
value = false;
|
||||
sailingService.testFileStorageServiceProperties(null, LocaleInfo.getCurrentLocale().getLocaleName(),
|
||||
sailingServiceWrite.testFileStorageServiceProperties(null, LocaleInfo.getCurrentLocale().getLocaleName(),
|
||||
new AsyncCallback<FileStorageServicePropertyErrorsDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
|
||||
+3
-3
@@ -12,7 +12,7 @@ import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent.Handler;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.GateDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.MarkDTO;
|
||||
@@ -27,7 +27,7 @@ public class GateCreationDialog extends DataEntryDialog<GateDTO> {
|
||||
private final TextBox shortName;
|
||||
private final StringMessages stringMessages;
|
||||
|
||||
public GateCreationDialog(SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
public GateCreationDialog(SailingServiceWriteAsync sailingServiceWrite, ErrorReporter errorReporter,
|
||||
final StringMessages stringMessages, AdminConsoleTableResources tableRes,
|
||||
List<MarkDTO> marks, DialogCallback<GateDTO> callback) {
|
||||
super(stringMessages.gate(), stringMessages.gate(),
|
||||
@@ -46,7 +46,7 @@ public class GateCreationDialog extends DataEntryDialog<GateDTO> {
|
||||
name = createTextBox("");
|
||||
shortName = createTextBox("");
|
||||
marksWrapper = new MarkTableWrapper<RefreshableMultiSelectionModel<MarkDTO>>(
|
||||
/* multiSelection */ true, sailingService, stringMessages, errorReporter);
|
||||
/* multiSelection */ true, sailingServiceWrite, stringMessages, errorReporter);
|
||||
marksWrapper.getDataProvider().getList().addAll(marks);
|
||||
marksWrapper.getSelectionModel().addSelectionChangeHandler(new Handler() {
|
||||
@Override
|
||||
|
||||
+10
-10
@@ -36,7 +36,7 @@ import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.sap.sailing.domain.common.security.SecuredDomainType;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.AccountWithSecurityDTO;
|
||||
import com.sap.sse.gwt.adminconsole.AdminConsoleTableResources;
|
||||
@@ -67,7 +67,7 @@ import com.sap.sse.security.ui.client.component.editacl.EditACLDialog;
|
||||
public class IgtimiAccountsPanel extends FlowPanel {
|
||||
|
||||
private final StringMessages stringMessages;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final ErrorReporter errorReporter;
|
||||
private final LabeledAbstractFilterablePanel<AccountWithSecurityDTO> filterAccountsPanel;
|
||||
|
||||
@@ -92,9 +92,9 @@ public class IgtimiAccountsPanel extends FlowPanel {
|
||||
}
|
||||
}
|
||||
|
||||
public IgtimiAccountsPanel(final SailingServiceAsync sailingService, final ErrorReporter errorReporter,
|
||||
public IgtimiAccountsPanel(final SailingServiceWriteAsync sailingServiceWrite, final ErrorReporter errorReporter,
|
||||
final StringMessages stringMessages, final UserService userService) {
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
|
||||
@@ -159,7 +159,7 @@ public class IgtimiAccountsPanel extends FlowPanel {
|
||||
: Window.Location.getProtocol();
|
||||
final String hostname = Window.Location.getHostName();
|
||||
final String port = Window.Location.getPort();
|
||||
this.sailingService.getIgtimiAuthorizationUrl(protocol, hostname, port, new AsyncCallback<String>() {
|
||||
this.sailingServiceWrite.getIgtimiAuthorizationUrl(protocol, hostname, port, new AsyncCallback<String>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(
|
||||
@@ -255,7 +255,7 @@ public class IgtimiAccountsPanel extends FlowPanel {
|
||||
}
|
||||
|
||||
public void refresh() {
|
||||
sailingService.getAllIgtimiAccountsWithSecurity(new AsyncCallback<Iterable<AccountWithSecurityDTO>>() {
|
||||
sailingServiceWrite.getAllIgtimiAccountsWithSecurity(new AsyncCallback<Iterable<AccountWithSecurityDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(Iterable<AccountWithSecurityDTO> result) {
|
||||
filterAccountsPanel.updateAll(result);
|
||||
@@ -291,7 +291,7 @@ public class IgtimiAccountsPanel extends FlowPanel {
|
||||
private TextBox eMail;
|
||||
private PasswordTextBox password;
|
||||
|
||||
public AddAccountDialog(final Runnable refresher, final SailingServiceAsync sailingService,
|
||||
public AddAccountDialog(final Runnable refresher, final SailingServiceWriteAsync sailingServiceWrite,
|
||||
final StringMessages stringMessages, final ErrorReporter errorReporter) {
|
||||
super(stringMessages.addIgtimiUser(), stringMessages.addIgtimiUser(), stringMessages.ok(),
|
||||
stringMessages.cancel(), new Validator<UserData>() {
|
||||
@@ -308,7 +308,7 @@ public class IgtimiAccountsPanel extends FlowPanel {
|
||||
}, /* animationEnabled */ true, new DialogCallback<UserData>() {
|
||||
@Override
|
||||
public void ok(final UserData editedObject) {
|
||||
sailingService.authorizeAccessToIgtimiUser(editedObject.geteMail(),
|
||||
sailingServiceWrite.authorizeAccessToIgtimiUser(editedObject.geteMail(),
|
||||
editedObject.getPassword(), new AsyncCallback<Boolean>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -365,12 +365,12 @@ public class IgtimiAccountsPanel extends FlowPanel {
|
||||
}
|
||||
|
||||
private void addAccount() {
|
||||
new AddAccountDialog(this::refresh, sailingService, stringMessages, errorReporter).show();
|
||||
new AddAccountDialog(this::refresh, sailingServiceWrite, stringMessages, errorReporter).show();
|
||||
}
|
||||
|
||||
private void removeAccount(final AccountWithSecurityDTO account,
|
||||
final ListDataProvider<AccountWithSecurityDTO> removeFrom) {
|
||||
sailingService.removeIgtimiAccount(account.getEmail(), new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.removeIgtimiAccount(account.getEmail(), new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(stringMessages.errorTryingToRemoveIgtimiAccount(account.getEmail()));
|
||||
|
||||
+7
-7
@@ -29,7 +29,7 @@ import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.google.gwt.view.client.SingleSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
|
||||
import com.sap.sse.common.media.MediaTagConstants;
|
||||
@@ -50,7 +50,7 @@ import com.sap.sse.gwt.client.media.ImageResizingTaskDTO;
|
||||
*/
|
||||
public class ImagesListComposite extends Composite {
|
||||
private final StringMessages stringMessages;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
|
||||
private CellTable<ImageDTO> imageTable;
|
||||
private SingleSelectionModel<ImageDTO> imageSelectionModel;
|
||||
@@ -77,9 +77,9 @@ public class ImagesListComposite extends Composite {
|
||||
|
||||
private final AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class);
|
||||
|
||||
public ImagesListComposite(final SailingServiceAsync sailingService, final StringMessages stringMessages,
|
||||
public ImagesListComposite(final SailingServiceWriteAsync sailingServiceWrite, final StringMessages stringMessages,
|
||||
final FileStorageServiceConnectionTestObservable storageServiceAvailable) {
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.stringMessages = stringMessages;
|
||||
this.storageServiceAvailable = storageServiceAvailable;
|
||||
mainPanel = new SimplePanel();
|
||||
@@ -274,7 +274,7 @@ public class ImagesListComposite extends Composite {
|
||||
}
|
||||
|
||||
private void openCreateImageDialog(String initialTag) {
|
||||
ImageCreateDialog dialog = new ImageCreateDialog(initialTag, sailingService, stringMessages,
|
||||
ImageCreateDialog dialog = new ImageCreateDialog(initialTag, sailingServiceWrite, stringMessages,
|
||||
storageServiceAvailable, new DialogCallback<ImageResizingTaskDTO>() {
|
||||
@Override
|
||||
public void cancel() {
|
||||
@@ -294,7 +294,7 @@ public class ImagesListComposite extends Composite {
|
||||
}
|
||||
|
||||
private void openEditImageDialog(final ImageDTO selectedImage) {
|
||||
ImageEditDialog dialog = new ImageEditDialog(selectedImage, sailingService, stringMessages,
|
||||
ImageEditDialog dialog = new ImageEditDialog(selectedImage, sailingServiceWrite, stringMessages,
|
||||
storageServiceAvailable, new DialogCallback<ImageResizingTaskDTO>() {
|
||||
@Override
|
||||
public void cancel() {
|
||||
@@ -327,7 +327,7 @@ public class ImagesListComposite extends Composite {
|
||||
* returned ImageDTOs
|
||||
*/
|
||||
protected void callResizingServiceAndUpdateTable(ImageResizingTaskDTO resizingTask, ImageDTO originalImage) {
|
||||
sailingService.resizeImage(resizingTask, new AsyncCallback<Set<ImageDTO>>() {
|
||||
sailingServiceWrite.resizeImage(resizingTask, new AsyncCallback<Set<ImageDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
Notification.notify(stringMessages.resizeUnsuccessful(caught.getMessage()), NotificationType.ERROR);
|
||||
|
||||
+3
-3
@@ -20,7 +20,7 @@ import com.sap.sailing.domain.common.orc.impl.FixedSpeedImpliedWindSourceImpl;
|
||||
import com.sap.sailing.domain.common.orc.impl.OtherRaceAsImpliedWindSourceImpl;
|
||||
import com.sap.sailing.domain.common.orc.impl.OwnMaxImpliedWindImpl;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.AbstractLeaderboardConfigPanel.RaceColumnDTOAndFleetDTOWithNameBasedEquality;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTOWithSecurity;
|
||||
import com.sap.sse.common.Util.Triple;
|
||||
@@ -44,7 +44,7 @@ public class ImpliedWindSourceEditDialog extends DataEntryDialog<ImpliedWindSour
|
||||
public ImpliedWindSourceEditDialog(RaceColumnDTOAndFleetDTOWithNameBasedEquality raceSlot,
|
||||
final ImpliedWindSource previousImpliedWindSource,
|
||||
Iterable<StrippedLeaderboardDTOWithSecurity> availableLeaderboards, final StringMessages stringMessages,
|
||||
ErrorReporter errorReporter, SailingServiceAsync sailingService, UserService userService,
|
||||
ErrorReporter errorReporter, SailingServiceWriteAsync sailingServiceWrite, UserService userService,
|
||||
DialogCallback<ImpliedWindSource> callback) {
|
||||
super(stringMessages.impliedWindSource(),
|
||||
stringMessages.provideImpliedWindSourceForRace(
|
||||
@@ -87,7 +87,7 @@ public class ImpliedWindSourceEditDialog extends DataEntryDialog<ImpliedWindSour
|
||||
this.fixedImpliedWindSpeedBox = createDoubleBox(previousImpliedWindSource instanceof FixedSpeedImpliedWind &&
|
||||
((FixedSpeedImpliedWind) previousImpliedWindSource).getFixedImpliedWindSpeed() != null ?
|
||||
((FixedSpeedImpliedWind) previousImpliedWindSource).getFixedImpliedWindSpeed().getKnots() : null, /* visible length */ 5);
|
||||
this.raceSlotSelectionPanel = new RaceSlotSelectionPanel(sailingService, userService, stringMessages,
|
||||
this.raceSlotSelectionPanel = new RaceSlotSelectionPanel(sailingServiceWrite, userService, stringMessages,
|
||||
errorReporter, /* multiSelection */ false, availableLeaderboards, previousImpliedWindSource instanceof OtherRaceAsImpliedWindSource ?
|
||||
getLeaderboardNameAndRaceColumnNameAndFleetName((OtherRaceAsImpliedWindSource) previousImpliedWindSource, availableLeaderboards) : null);
|
||||
this.raceSlotSelectionPanel.getSelectionModel().addSelectionChangeHandler(e->validateAndUpdate());
|
||||
|
||||
+6
-5
@@ -12,6 +12,7 @@ import com.sap.sailing.domain.common.CompetitorDescriptor;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
@@ -32,13 +33,13 @@ import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
*
|
||||
*/
|
||||
public class ImportCompetitorCallback implements DialogCallback<Pair<Map<CompetitorDescriptor, CompetitorDTO>, String>> {
|
||||
protected final SailingServiceAsync sailingService;
|
||||
protected final SailingServiceWriteAsync sailingServiceWrite;
|
||||
protected final ErrorReporter errorReporter;
|
||||
protected final StringMessages stringMessages;
|
||||
|
||||
public ImportCompetitorCallback(SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
public ImportCompetitorCallback(SailingServiceWriteAsync sailingServiceWrite, ErrorReporter errorReporter,
|
||||
StringMessages stringMessages) {
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
}
|
||||
@@ -56,7 +57,7 @@ public class ImportCompetitorCallback implements DialogCallback<Pair<Map<Competi
|
||||
existingCompetitorsSelected.add(existingCompetitor);
|
||||
}
|
||||
}
|
||||
sailingService.addOrUpdateCompetitors(new ArrayList<>(existingCompetitorsSelected), new MarkedAsyncCallback<>(
|
||||
sailingServiceWrite.addOrUpdateCompetitors(new ArrayList<>(existingCompetitorsSelected), new MarkedAsyncCallback<>(
|
||||
new AsyncCallback<List<CompetitorDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -83,7 +84,7 @@ public class ImportCompetitorCallback implements DialogCallback<Pair<Map<Competi
|
||||
*/
|
||||
private void registerCompetitorsAfterSaving(final List<CompetitorDescriptor> competitorsForSaving,
|
||||
final Iterable<CompetitorDTO> competitorsForRegistration, String searchTag) {
|
||||
sailingService.addCompetitors(competitorsForSaving, searchTag, new AsyncCallback<List<CompetitorWithBoatDTO>>() {
|
||||
sailingServiceWrite.addCompetitors(competitorsForSaving, searchTag, new AsyncCallback<List<CompetitorWithBoatDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(caught.getMessage());
|
||||
|
||||
+5
-5
@@ -13,7 +13,7 @@ import com.google.gwt.view.client.SingleSelectionModel;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.MarkDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -34,14 +34,14 @@ public class ItemToMapToDeviceSelectionPanel implements IsWidget {
|
||||
void onSelectionChange(MarkDTO mark);
|
||||
}
|
||||
|
||||
public ItemToMapToDeviceSelectionPanel(SailingServiceAsync sailingService, final UserService userService, StringMessages stringMessages,
|
||||
public ItemToMapToDeviceSelectionPanel(SailingServiceWriteAsync sailingServiceWrite, final UserService userService, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter, final SelectionChangedHandler handler, MappableToDevice selected) {
|
||||
this.selected = selected;
|
||||
this.errorReporter = errorReporter;
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, userService, stringMessages, errorReporter, /* multiSelection */ false,
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter, /* multiSelection */ false,
|
||||
/* enablePager */ true, /* filterCompetitorWithBoat */ false, /* filterCompetitorsWithoutBoat */ false);
|
||||
boatTable = new BoatTableWrapper<>(sailingService, userService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true, /* allowActions */ false);
|
||||
markTable = new MarkTableWrapper<RefreshableSingleSelectionModel<MarkDTO>>(/* multiSelection */ false, sailingService,
|
||||
boatTable = new BoatTableWrapper<>(sailingServiceWrite, userService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true, /* allowActions */ false);
|
||||
markTable = new MarkTableWrapper<RefreshableSingleSelectionModel<MarkDTO>>(/* multiSelection */ false, sailingServiceWrite,
|
||||
stringMessages, errorReporter);
|
||||
competitorTable.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
@Override
|
||||
|
||||
Regular → Executable
+32
-31
@@ -77,7 +77,7 @@ import com.sap.sailing.gwt.ui.client.LeaderboardsDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardsRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattasDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.ScoringSchemeTypeFormatter;
|
||||
@@ -136,7 +136,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
SafeHtml cell(SafeUri url, String displayName);
|
||||
}
|
||||
|
||||
public LeaderboardConfigPanel(final SailingServiceAsync sailingService, final UserService userService,
|
||||
public LeaderboardConfigPanel(final SailingServiceWriteAsync sailingService, final UserService userService,
|
||||
RegattaRefresher regattaRefresher, final ErrorReporter errorReporter, StringMessages theStringConstants,
|
||||
final boolean showRaceDetails,
|
||||
LeaderboardsRefresher<StrippedLeaderboardDTOWithSecurity> leaderboardsRefresher) {
|
||||
@@ -312,9 +312,10 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
});
|
||||
leaderboardActionColumn.addAction(LeaderboardConfigImagesBarCell.ACTION_EDIT_COMPETITORS, UPDATE,
|
||||
leaderboardDTO -> {
|
||||
EditCompetitorsDialog editCompetitorsDialog = new EditCompetitorsDialog(sailingService, userService,
|
||||
leaderboardDTO.getName(), stringMessages, errorReporter,
|
||||
new DialogCallback<List<CompetitorWithBoatDTO>>() {
|
||||
EditCompetitorsDialog editCompetitorsDialog = new EditCompetitorsDialog(sailingServiceWrite, userService,
|
||||
leaderboardDTO.getName(), leaderboardDTO.boatClassName,
|
||||
/* createWithBoatByDefault */ !leaderboardDTO.canBoatsOfCompetitorsChangePerRace,
|
||||
stringMessages, errorReporter, new DialogCallback<List<CompetitorWithBoatDTO>>() {
|
||||
@Override
|
||||
public void cancel() {
|
||||
}
|
||||
@@ -327,7 +328,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
});
|
||||
leaderboardActionColumn.addAction(LeaderboardConfigImagesBarCell.ACTION_CONFIGURE_URL, READ,
|
||||
leaderboardDTO -> {
|
||||
sailingService.getAvailableDetailTypesForLeaderboard(leaderboardDTO.getName(), null,
|
||||
sailingServiceWrite.getAvailableDetailTypesForLeaderboard(leaderboardDTO.getName(), null,
|
||||
new AsyncCallback<Iterable<DetailType>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -420,7 +421,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
dialog.show();
|
||||
break;
|
||||
case RegattaLeaderboardWithEliminations:
|
||||
dialog = new RegattaLeaderboardWithEliminationsEditDialog(sailingService, userService,
|
||||
dialog = new RegattaLeaderboardWithEliminationsEditDialog(sailingServiceWrite, userService,
|
||||
Collections.unmodifiableCollection(otherExistingLeaderboard),
|
||||
Collections.unmodifiableCollection(allRegattas),
|
||||
new LeaderboardDescriptorWithEliminations(
|
||||
@@ -435,7 +436,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
@Override
|
||||
public void ok(LeaderboardDescriptorWithEliminations result) {
|
||||
updateLeaderboard(oldLeaderboardName, result);
|
||||
sailingService.setEliminatedCompetitors(oldLeaderboardName,
|
||||
sailingServiceWrite.setEliminatedCompetitors(oldLeaderboardName,
|
||||
result.getEliminatedCompetitors(), new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -563,7 +564,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
protected void openUpdateFlexibleLeaderboardDialog(final StrippedLeaderboardDTO leaderboardDTO,
|
||||
final List<StrippedLeaderboardDTO> otherExistingLeaderboard, final String oldLeaderboardName,
|
||||
final LeaderboardDescriptor descriptor) {
|
||||
sailingService.getEvents(new MarkedAsyncCallback<List<EventDTO>>(new AsyncCallback<List<EventDTO>>() {
|
||||
sailingServiceWrite.getEvents(new MarkedAsyncCallback<List<EventDTO>>(new AsyncCallback<List<EventDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(List<EventDTO> result) {
|
||||
openUpdateFlexibleLeaderboardDialog(leaderboardDTO, otherExistingLeaderboard, oldLeaderboardName,
|
||||
@@ -635,18 +636,18 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
final String fleetName = fleetDTO.getName();
|
||||
final String raceName = LeaderboardNameConstants.DEFAULT_FLEET_NAME.equals(fleetName) ? raceColumnName
|
||||
: raceColumnName + ", " + fleetName;
|
||||
ShowCompetitorToBoatMappingsDialog dialog = new ShowCompetitorToBoatMappingsDialog(sailingService,
|
||||
ShowCompetitorToBoatMappingsDialog dialog = new ShowCompetitorToBoatMappingsDialog(sailingServiceWrite,
|
||||
stringMessages, errorReporter, selectedLeaderboardName, raceColumnName, fleetName, raceName,
|
||||
userService);
|
||||
dialog.center();
|
||||
}
|
||||
|
||||
private void setStartTime(RaceColumnDTO raceColumnDTO, FleetDTO fleetDTO) {
|
||||
new SetStartTimeDialog(sailingService, errorReporter, getSelectedLeaderboardName(), raceColumnDTO.getName(),
|
||||
new SetStartTimeDialog(sailingServiceWrite, errorReporter, getSelectedLeaderboardName(), raceColumnDTO.getName(),
|
||||
fleetDTO.getName(), stringMessages, new DialogCallback<RaceLogSetStartTimeAndProcedureDTO>() {
|
||||
@Override
|
||||
public void ok(RaceLogSetStartTimeAndProcedureDTO editedObject) {
|
||||
sailingService.setStartTimeAndProcedure(editedObject, new AsyncCallback<Boolean>() {
|
||||
sailingServiceWrite.setStartTimeAndProcedure(editedObject, new AsyncCallback<Boolean>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(caught.getMessage());
|
||||
@@ -670,12 +671,12 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
}
|
||||
|
||||
private void setEndTime(RaceColumnDTO raceColumnDTO, FleetDTO fleetDTO) {
|
||||
new SetFinishingAndFinishedTimeDialog(sailingService, errorReporter, getSelectedLeaderboardName(),
|
||||
new SetFinishingAndFinishedTimeDialog(sailingServiceWrite, errorReporter, getSelectedLeaderboardName(),
|
||||
raceColumnDTO.getName(), fleetDTO.getName(), stringMessages,
|
||||
new DialogCallback<RaceLogSetFinishingAndFinishTimeDTO>() {
|
||||
@Override
|
||||
public void ok(RaceLogSetFinishingAndFinishTimeDTO editedObject) {
|
||||
sailingService.setFinishingAndEndTime(editedObject,
|
||||
sailingServiceWrite.setFinishingAndEndTime(editedObject,
|
||||
new AsyncCallback<Pair<Boolean, Boolean>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -701,7 +702,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
private void removeRaceColumn(final RaceColumnDTO raceColumnDTO) {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
final String raceColumnString = raceColumnDTO.getRaceColumnName();
|
||||
sailingService.removeLeaderboardColumn(getSelectedLeaderboardName(), raceColumnString,
|
||||
sailingServiceWrite.removeLeaderboardColumn(getSelectedLeaderboardName(), raceColumnString,
|
||||
new MarkedAsyncCallback<Void>(new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable t) {
|
||||
@@ -723,7 +724,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
private void moveSelectedRaceColumnDown() {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
final String selectedRaceColumnName = getSelectedRaceColumnWithFleet().getA().getRaceColumnName();
|
||||
sailingService.moveLeaderboardColumnDown(getSelectedLeaderboardName(), selectedRaceColumnName,
|
||||
sailingServiceWrite.moveLeaderboardColumnDown(getSelectedLeaderboardName(), selectedRaceColumnName,
|
||||
new MarkedAsyncCallback<Void>(new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -746,7 +747,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
private void moveSelectedRaceColumnUp() {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
final String selectedRaceColumnName = getSelectedRaceColumnWithFleet().getA().getRaceColumnName();
|
||||
sailingService.moveLeaderboardColumnUp(getSelectedLeaderboardName(), selectedRaceColumnName,
|
||||
sailingServiceWrite.moveLeaderboardColumnUp(getSelectedLeaderboardName(), selectedRaceColumnName,
|
||||
new MarkedAsyncCallback<Void>(new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -778,7 +779,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
|
||||
private void setIsMedalRace(String leaderboardName, final RaceColumnDTO raceInLeaderboard,
|
||||
final boolean isMedalRace) {
|
||||
sailingService.updateIsMedalRace(leaderboardName, raceInLeaderboard.getRaceColumnName(), isMedalRace,
|
||||
sailingServiceWrite.updateIsMedalRace(leaderboardName, raceInLeaderboard.getRaceColumnName(), isMedalRace,
|
||||
new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -824,7 +825,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
}
|
||||
}
|
||||
|
||||
sailingService.addColumnsToLeaderboard(leaderboardName, raceColumnsToAdd,
|
||||
sailingServiceWrite.addColumnsToLeaderboard(leaderboardName, raceColumnsToAdd,
|
||||
new MarkedAsyncCallback<Void>(new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -880,7 +881,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
}
|
||||
|
||||
private void createFlexibleLeaderboard() {
|
||||
sailingService.getEvents(new MarkedAsyncCallback<List<EventDTO>>(new AsyncCallback<List<EventDTO>>() {
|
||||
sailingServiceWrite.getEvents(new MarkedAsyncCallback<List<EventDTO>>(new AsyncCallback<List<EventDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(List<EventDTO> result) {
|
||||
createFlexibleLeaderboard(result);
|
||||
@@ -904,7 +905,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
|
||||
@Override
|
||||
public void ok(final LeaderboardDescriptor newLeaderboard) {
|
||||
sailingService.createFlexibleLeaderboard(newLeaderboard.getName(),
|
||||
sailingServiceWrite.createFlexibleLeaderboard(newLeaderboard.getName(),
|
||||
newLeaderboard.getDisplayName(), newLeaderboard.getDiscardThresholds(),
|
||||
newLeaderboard.getScoringScheme(), newLeaderboard.getCourseAreaIds(),
|
||||
new MarkedAsyncCallback<StrippedLeaderboardDTOWithSecurity>(
|
||||
@@ -939,7 +940,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
@Override
|
||||
public void ok(final LeaderboardDescriptor newLeaderboard) {
|
||||
RegattaName regattaIdentifier = new RegattaName(newLeaderboard.getRegattaName());
|
||||
sailingService.createRegattaLeaderboard(regattaIdentifier, newLeaderboard.getDisplayName(),
|
||||
sailingServiceWrite.createRegattaLeaderboard(regattaIdentifier, newLeaderboard.getDisplayName(),
|
||||
newLeaderboard.getDiscardThresholds(),
|
||||
new AsyncCallback<StrippedLeaderboardDTOWithSecurity>() {
|
||||
@Override
|
||||
@@ -961,7 +962,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
|
||||
private void createRegattaLeaderboardWithEliminations() {
|
||||
RegattaLeaderboardWithEliminationsCreateDialog dialog = new RegattaLeaderboardWithEliminationsCreateDialog(
|
||||
sailingService, userService, Collections.unmodifiableCollection(availableLeaderboardList),
|
||||
sailingServiceWrite, userService, Collections.unmodifiableCollection(availableLeaderboardList),
|
||||
Collections.unmodifiableCollection(allRegattas), stringMessages, errorReporter,
|
||||
new DialogCallback<LeaderboardDescriptorWithEliminations>() {
|
||||
@Override
|
||||
@@ -970,7 +971,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
|
||||
@Override
|
||||
public void ok(final LeaderboardDescriptorWithEliminations newLeaderboard) {
|
||||
sailingService.createRegattaLeaderboardWithEliminations(newLeaderboard.getName(),
|
||||
sailingServiceWrite.createRegattaLeaderboardWithEliminations(newLeaderboard.getName(),
|
||||
newLeaderboard.getDisplayName(), newLeaderboard.getRegattaName(),
|
||||
new AsyncCallback<StrippedLeaderboardDTOWithSecurity>() {
|
||||
@Override
|
||||
@@ -982,7 +983,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
@Override
|
||||
public void onSuccess(StrippedLeaderboardDTOWithSecurity result) {
|
||||
addLeaderboard(result);
|
||||
sailingService.setEliminatedCompetitors(newLeaderboard.getName(),
|
||||
sailingServiceWrite.setEliminatedCompetitors(newLeaderboard.getName(),
|
||||
newLeaderboard.getEliminatedCompetitors(), new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -1014,7 +1015,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
}
|
||||
|
||||
private void updateLeaderboard(final String oldLeaderboardName, final LeaderboardDescriptor leaderboardToUpdate) {
|
||||
sailingService.updateLeaderboard(oldLeaderboardName, leaderboardToUpdate.getName(),
|
||||
sailingServiceWrite.updateLeaderboard(oldLeaderboardName, leaderboardToUpdate.getName(),
|
||||
leaderboardToUpdate.getDisplayName(), leaderboardToUpdate.getDiscardThresholds(),
|
||||
leaderboardToUpdate.getCourseAreaIds(), new AsyncCallback<StrippedLeaderboardDTOWithSecurity>() {
|
||||
@Override
|
||||
@@ -1031,7 +1032,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
}
|
||||
|
||||
private void reloadLeaderboardForTable(final String leaderboardName) {
|
||||
sailingService.getLeaderboardWithSecurity(leaderboardName,
|
||||
sailingServiceWrite.getLeaderboardWithSecurity(leaderboardName,
|
||||
new AsyncCallback<StrippedLeaderboardDTOWithSecurity>() {
|
||||
@Override
|
||||
public void onSuccess(StrippedLeaderboardDTOWithSecurity result) {
|
||||
@@ -1066,7 +1067,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
for (StrippedLeaderboardDTO leaderboard : leaderboards) {
|
||||
leaderboardNames.add(leaderboard.getName());
|
||||
}
|
||||
sailingService.removeLeaderboards(leaderboardNames, new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.removeLeaderboards(leaderboardNames, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to remove the leaderboards:" + caught.getMessage());
|
||||
@@ -1085,7 +1086,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
}
|
||||
|
||||
private void removeLeaderboard(final StrippedLeaderboardDTOWithSecurity leaderBoard) {
|
||||
sailingService.removeLeaderboard(leaderBoard.getName(),
|
||||
sailingServiceWrite.removeLeaderboard(leaderBoard.getName(),
|
||||
new MarkedAsyncCallback<Void>(new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -1116,7 +1117,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
public void ok(PairingListTemplateDTO editedObject) {
|
||||
BusyDialog busyDialog = new BusyDialog();
|
||||
busyDialog.show();
|
||||
sailingService.calculatePairingListTemplate(editedObject.getFlightCount(),
|
||||
sailingServiceWrite.calculatePairingListTemplate(editedObject.getFlightCount(),
|
||||
editedObject.getGroupCount(), editedObject.getCompetitorCount(),
|
||||
editedObject.getFlightMultiplier(), editedObject.getBoatChangeFactor(),
|
||||
new AsyncCallback<PairingListTemplateDTO>() {
|
||||
@@ -1146,7 +1147,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel
|
||||
private void openPairingListCreationDialog(StrippedLeaderboardDTOWithSecurity leaderboardDTO,
|
||||
PairingListTemplateDTO template) {
|
||||
PairingListCreationDialog dialog = new PairingListCreationDialog(leaderboardDTO, stringMessages, template,
|
||||
sailingService, errorReporter);
|
||||
sailingServiceWrite, errorReporter);
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -90,7 +90,7 @@ public class LeaderboardDescriptor {
|
||||
this.displayName = displayName;
|
||||
}
|
||||
|
||||
public Iterable<UUID> getCourseAreaIds() {
|
||||
public List<UUID> getCourseAreaIds() {
|
||||
return courseAreaIds;
|
||||
}
|
||||
|
||||
|
||||
+10
-10
@@ -56,7 +56,7 @@ import com.sap.sailing.gwt.ui.client.LeaderboardGroupsRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardsDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardsRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.ScoringSchemeTypeFormatter;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
|
||||
@@ -142,11 +142,11 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel
|
||||
private final Set<Widget> permissionRestrictedComponent = new HashSet<>();
|
||||
private final Label idLabel = new Label();
|
||||
|
||||
public LeaderboardGroupConfigPanel(SailingServiceAsync sailingService, UserService userService,
|
||||
public LeaderboardGroupConfigPanel(SailingServiceWriteAsync sailingServiceWrite, UserService userService,
|
||||
RegattaRefresher regattaRefresher, LeaderboardGroupsRefresher leaderboardGroupsRefresher,
|
||||
LeaderboardsRefresher<StrippedLeaderboardDTOWithSecurity> leaderboardsRefresher, ErrorReporter errorReporter,
|
||||
StringMessages stringMessages) {
|
||||
super(sailingService, regattaRefresher, errorReporter, stringMessages);
|
||||
super(sailingServiceWrite, regattaRefresher, errorReporter, stringMessages);
|
||||
this.userService = userService;
|
||||
|
||||
AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class);
|
||||
@@ -619,7 +619,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel
|
||||
|
||||
final MigrateGroupOwnershipDialog.DialogConfig<LeaderboardGroupDTO> migrateDialogConfig = MigrateGroupOwnershipDialog
|
||||
.create(userService.getUserManagementService(), (lg, dto) -> {
|
||||
sailingService.updateGroupOwnerForLeaderboardGroupHierarchy(lg.getId(), dto,
|
||||
sailingServiceWrite.updateGroupOwnerForLeaderboardGroupHierarchy(lg.getId(), dto,
|
||||
new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -733,7 +733,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel
|
||||
*/
|
||||
private void refreshLeaderboardsList() {
|
||||
if (isSingleGroupSelected && getSelectedGroup() != null) {
|
||||
sailingService.getLeaderboardsWithSecurity(new MarkedAsyncCallback<List<StrippedLeaderboardDTOWithSecurity>>(
|
||||
sailingServiceWrite.getLeaderboardsWithSecurity(new MarkedAsyncCallback<List<StrippedLeaderboardDTOWithSecurity>>(
|
||||
new AsyncCallback<List<StrippedLeaderboardDTOWithSecurity>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable t) {
|
||||
@@ -764,7 +764,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel
|
||||
}
|
||||
|
||||
private void createNewGroup(final LeaderboardGroupDescriptor newGroup) {
|
||||
sailingService.createLeaderboardGroup(newGroup.getName(), newGroup.getDescription(),
|
||||
sailingServiceWrite.createLeaderboardGroup(newGroup.getName(), newGroup.getDescription(),
|
||||
newGroup.getDisplayName(), newGroup.isDisplayLeaderboardsInReverseOrder(),
|
||||
newGroup.getOverallLeaderboardDiscardThresholds(), newGroup.getOverallLeaderboardScoringSchemeType(), new MarkedAsyncCallback<LeaderboardGroupDTO>(
|
||||
new AsyncCallback<LeaderboardGroupDTO>() {
|
||||
@@ -789,7 +789,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel
|
||||
for (StrippedLeaderboardDTO leaderboardDTO : groupToUpdate.leaderboards) {
|
||||
leaderboardNames.add(leaderboardDTO.getName());
|
||||
}
|
||||
sailingService.updateLeaderboardGroup(oldGroupId, oldGroupName, updateDescriptor.getName(), updateDescriptor.getDescription(),
|
||||
sailingServiceWrite.updateLeaderboardGroup(oldGroupId, oldGroupName, updateDescriptor.getName(), updateDescriptor.getDescription(),
|
||||
updateDescriptor.getDisplayName(),
|
||||
leaderboardNames, updateDescriptor.getOverallLeaderboardDiscardThresholds(),
|
||||
updateDescriptor.getOverallLeaderboardScoringSchemeType(), new MarkedAsyncCallback<Void>(
|
||||
@@ -841,7 +841,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel
|
||||
for (StrippedLeaderboardDTO leaderboardDTO : group.leaderboards) {
|
||||
leaderboardNames.add(leaderboardDTO.getName());
|
||||
}
|
||||
sailingService.updateLeaderboardGroup(group.getId(), group.getName(), group.getName(), group.description,
|
||||
sailingServiceWrite.updateLeaderboardGroup(group.getId(), group.getName(), group.getName(), group.description,
|
||||
group.getDisplayName(),
|
||||
leaderboardNames, group.getOverallLeaderboardDiscardThresholds(),
|
||||
group.getOverallLeaderboardScoringSchemeType(), new MarkedAsyncCallback<Void>(
|
||||
@@ -863,7 +863,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel
|
||||
for (LeaderboardGroupDTO group : groups) {
|
||||
groupNames.add(group.getName());
|
||||
}
|
||||
sailingService.removeLeaderboardGroups(groupNames, new MarkedAsyncCallback<Void>(
|
||||
sailingServiceWrite.removeLeaderboardGroups(groupNames, new MarkedAsyncCallback<Void>(
|
||||
new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable t) {
|
||||
@@ -884,7 +884,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel
|
||||
private void removeLeaderboardGroup(final LeaderboardGroupDTO group) {
|
||||
Set<String> groups = new HashSet<String>();
|
||||
groups.add(group.getName());
|
||||
sailingService.removeLeaderboardGroups(groups, new MarkedAsyncCallback<Void>(
|
||||
sailingServiceWrite.removeLeaderboardGroups(groups, new MarkedAsyncCallback<Void>(
|
||||
new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable t) {
|
||||
|
||||
+3
-3
@@ -7,7 +7,7 @@ import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.user.cellview.client.Column;
|
||||
import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.ColorColumn.ColorRetriever;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.MarkDTO;
|
||||
import com.sap.sse.common.Color;
|
||||
@@ -16,9 +16,9 @@ import com.sap.sse.gwt.client.celltable.EntityIdentityComparator;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableSelectionModel;
|
||||
|
||||
public class MarkTableWrapper<S extends RefreshableSelectionModel<MarkDTO>> extends TableWrapper<MarkDTO, S> {
|
||||
public MarkTableWrapper(boolean multiSelection, SailingServiceAsync sailingService, StringMessages stringMessages,
|
||||
public MarkTableWrapper(boolean multiSelection, SailingServiceWriteAsync sailingServiceWrite, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter) {
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, true,
|
||||
super(sailingServiceWrite, stringMessages, errorReporter, multiSelection, true,
|
||||
new EntityIdentityComparator<MarkDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(MarkDTO dto1, MarkDTO dto2) {
|
||||
|
||||
+6
-5
@@ -19,6 +19,7 @@ import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.CompetitorDescriptorTableWrapper.CompetitorsToImportToExistingLinking;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
@@ -63,7 +64,7 @@ public class MatchImportedCompetitorsDialog extends DataEntryDialog<Pair<Map<Com
|
||||
private TextBox searchTagField;
|
||||
|
||||
private final StringMessages stringMessages;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final UserService userService;
|
||||
private final ErrorReporter errorReporter;
|
||||
|
||||
@@ -74,12 +75,12 @@ public class MatchImportedCompetitorsDialog extends DataEntryDialog<Pair<Map<Com
|
||||
|
||||
public MatchImportedCompetitorsDialog(final Iterable<CompetitorDescriptor> CompetitorDescriptors,
|
||||
final Iterable<CompetitorDTO> existingCompetitor, StringMessages stringMessages,
|
||||
SailingServiceAsync sailingService, final UserService userService, ErrorReporter errorReporter,
|
||||
SailingServiceWriteAsync sailingServiceWrite, final UserService userService, ErrorReporter errorReporter,
|
||||
DialogCallback<Pair<Map<CompetitorDescriptor, CompetitorDTO>, String>> callback) {
|
||||
super(stringMessages.importCompetitors(), stringMessages.chooseWhichCompetitorsShouldBeImported(),
|
||||
stringMessages.ok(), stringMessages.cancel(), /* validator */ null, callback);
|
||||
this.stringMessages = stringMessages;
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.userService = userService;
|
||||
this.errorReporter = errorReporter;
|
||||
this.CompetitorDescriptors = CompetitorDescriptors;
|
||||
@@ -93,7 +94,7 @@ public class MatchImportedCompetitorsDialog extends DataEntryDialog<Pair<Map<Com
|
||||
|
||||
@Override
|
||||
protected Widget getAdditionalWidget() {
|
||||
existingCompetitorsTable = new CompetitorTableWrapper<>(sailingService, userService, stringMessages,
|
||||
existingCompetitorsTable = new CompetitorTableWrapper<>(sailingServiceWrite, userService, stringMessages,
|
||||
errorReporter, /* multiSelection */
|
||||
false, /* enablePager */true, /* filterCompetitorWithBoat */ false, /* filterCompetitorsWithoutBoat */ false);
|
||||
final CompetitorsToImportToExistingLinking linker = new CompetitorsToImportToExistingLinking() {
|
||||
@@ -111,7 +112,7 @@ public class MatchImportedCompetitorsDialog extends DataEntryDialog<Pair<Map<Com
|
||||
return existingCompetitorsByImported.get(competitor);
|
||||
}
|
||||
};
|
||||
importedCompetitorsTable = new CompetitorDescriptorTableWrapper<>(competitorImportMatcher, sailingService,
|
||||
importedCompetitorsTable = new CompetitorDescriptorTableWrapper<>(competitorImportMatcher, sailingServiceWrite,
|
||||
stringMessages, errorReporter, /* multiSelection */ true, /* enablePager */false, /* unlinkCallback */ linker);
|
||||
importedCompetitorsTable.refreshCompetitorDescriptorList(CompetitorDescriptors);
|
||||
final RefreshableMultiSelectionModel<CompetitorDescriptor> importedCompetitorSelectionModel = importedCompetitorsTable.getSelectionModel();
|
||||
|
||||
+9
-9
@@ -54,7 +54,7 @@ import com.sap.sailing.gwt.ui.client.MediaServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.MediaTracksRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattasDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.media.NewMediaWithRaceSelectionDialog;
|
||||
import com.sap.sailing.gwt.ui.client.media.TimeFormatUtil;
|
||||
@@ -94,7 +94,7 @@ import com.sap.sse.security.ui.client.component.editacl.EditACLDialog;
|
||||
public class MediaPanel extends FlowPanel implements MediaTracksRefresher {
|
||||
private static AdminConsoleTableResources tableResources = GWT.create(AdminConsoleTableResources.class);
|
||||
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final LabeledAbstractFilterablePanel<MediaTrackWithSecurityDTO> filterableMediaTracks;
|
||||
private List<MediaTrackWithSecurityDTO> allMediaTracks;
|
||||
private final RegattaRefresher regattaRefresher;
|
||||
@@ -109,17 +109,17 @@ public class MediaPanel extends FlowPanel implements MediaTracksRefresher {
|
||||
private RefreshableMultiSelectionModel<MediaTrackWithSecurityDTO> refreshableSelectionModel;
|
||||
private final FileStorageServiceConnectionTestObservable storageServiceAvailable;
|
||||
|
||||
public MediaPanel(Set<RegattasDisplayer> regattasDisplayers, SailingServiceAsync sailingService,
|
||||
public MediaPanel(Set<RegattasDisplayer> regattasDisplayers, SailingServiceWriteAsync sailingServiceWrite,
|
||||
RegattaRefresher regattaRefresher, MediaServiceAsync mediaService, ErrorReporter errorReporter,
|
||||
StringMessages stringMessages, final UserService userService) {
|
||||
this.regattasDisplayers = regattasDisplayers;
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.userService = userService;
|
||||
this.regattaRefresher = regattaRefresher;
|
||||
this.mediaService = mediaService;
|
||||
this.stringMessages = stringMessages;
|
||||
this.errorReporter = errorReporter;
|
||||
this.storageServiceAvailable = new FileStorageServiceConnectionTestObservable(sailingService);
|
||||
this.storageServiceAvailable = new FileStorageServiceConnectionTestObservable(sailingServiceWrite);
|
||||
AccessControlledButtonPanel buttonAndFilterPanel = new AccessControlledButtonPanel(userService,
|
||||
SecuredDomainType.MEDIA_TRACK);
|
||||
add(buttonAndFilterPanel);
|
||||
@@ -140,7 +140,7 @@ public class MediaPanel extends FlowPanel implements MediaTracksRefresher {
|
||||
buttonAndFilterPanel.addCreateAction(stringMessages.multiVideoLinking(), new Command() {
|
||||
@Override
|
||||
public void execute() {
|
||||
new MultiVideoDialog(sailingService, mediaService, stringMessages, errorReporter, new Runnable() {
|
||||
new MultiVideoDialog(sailingServiceWrite, mediaService, stringMessages, errorReporter, new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -608,7 +608,7 @@ public class MediaPanel extends FlowPanel implements MediaTracksRefresher {
|
||||
|
||||
private void addUrlMediaTrack() {
|
||||
NewMediaWithRaceSelectionDialog dialog = new NewMediaWithRaceSelectionDialog(mediaService,
|
||||
getDefaultStartTime(), stringMessages, sailingService, userService, errorReporter, regattaRefresher,
|
||||
getDefaultStartTime(), stringMessages, sailingServiceWrite, userService, errorReporter, regattaRefresher,
|
||||
regattasDisplayers, storageServiceAvailable, new DialogCallback<MediaTrack>() {
|
||||
|
||||
@Override
|
||||
@@ -649,7 +649,7 @@ public class MediaPanel extends FlowPanel implements MediaTracksRefresher {
|
||||
}
|
||||
|
||||
private Date getLatestDate() {
|
||||
sailingService.getRegattas(new MarkedAsyncCallback<List<RegattaDTO>>(new AsyncCallback<List<RegattaDTO>>() {
|
||||
sailingServiceWrite.getRegattas(new MarkedAsyncCallback<List<RegattaDTO>>(new AsyncCallback<List<RegattaDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(List<RegattaDTO> result) {
|
||||
latestDate = getDateFromLatestRegatta(result);
|
||||
@@ -701,7 +701,7 @@ public class MediaPanel extends FlowPanel implements MediaTracksRefresher {
|
||||
public void openAssignedRacesDialog(final Context context, final Element parent,
|
||||
final ValueUpdater<String> valueUpdater) {
|
||||
final MediaTrackWithSecurityDTO mediaTrack = (MediaTrackWithSecurityDTO) context.getKey();
|
||||
final AssignRacesToMediaDialog dialog = new AssignRacesToMediaDialog(sailingService, userService, mediaTrack,
|
||||
final AssignRacesToMediaDialog dialog = new AssignRacesToMediaDialog(sailingServiceWrite, userService, mediaTrack,
|
||||
errorReporter,
|
||||
regattaRefresher, stringMessages, null, new DialogCallback<Set<RegattaAndRaceIdentifier>>() {
|
||||
|
||||
|
||||
+10
-10
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
@@ -23,7 +23,7 @@ import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.PairingListDTO;
|
||||
import com.sap.sailing.domain.common.dto.PairingListTemplateDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sse.common.Util;
|
||||
@@ -36,7 +36,7 @@ import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
public class PairingListCreationDialog extends DataEntryDialog<PairingListTemplateDTO> {
|
||||
|
||||
private final PairingListTemplateDTO template;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final StrippedLeaderboardDTO leaderboardDTO;
|
||||
private final StringMessages stringMessages;
|
||||
|
||||
@@ -51,13 +51,13 @@ public class PairingListCreationDialog extends DataEntryDialog<PairingListTempla
|
||||
private final Grid pairingListGrid;
|
||||
|
||||
public PairingListCreationDialog(StrippedLeaderboardDTO leaderboardDTO, final StringMessages stringMessages,
|
||||
PairingListTemplateDTO template, SailingServiceAsync sailingService, ErrorReporter errorReporter) {
|
||||
PairingListTemplateDTO template, SailingServiceWriteAsync sailingServiceWrite, ErrorReporter errorReporter) {
|
||||
super(/* title */ stringMessages.pairingList(), /* message */ null, stringMessages.close(),
|
||||
/* cancel button name */ null, /* validator */ null, /* callback */ null);
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
this.template = template;
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.leaderboardDTO = leaderboardDTO;
|
||||
this.ensureDebugId("PairingListCreationDialog");
|
||||
applyToRacelogButton = new Button(stringMessages.insertIntoRegatta());
|
||||
@@ -72,7 +72,7 @@ public class PairingListCreationDialog extends DataEntryDialog<PairingListTempla
|
||||
this.template.getPairingListTemplate()[0].length);
|
||||
pairingListTemplateScrollPanel = new ScrollPanel(pairingListGrid);
|
||||
if (template.getCompetitorCount() == leaderboardDTO.competitorsCount) {
|
||||
sailingService.getPairingListFromTemplate(this.leaderboardDTO.getName(),
|
||||
sailingServiceWrite.getPairingListFromTemplate(this.leaderboardDTO.getName(),
|
||||
this.template.getFlightMultiplier(), this.template.getSelectedFlightNames(), this.template,
|
||||
new AsyncCallback<PairingListDTO>() {
|
||||
@Override
|
||||
@@ -191,7 +191,7 @@ public class PairingListCreationDialog extends DataEntryDialog<PairingListTempla
|
||||
applyToRacelogButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
sailingService.fillRaceLogsFromPairingListTemplate(leaderboardDTO.getName(),
|
||||
sailingServiceWrite.fillRaceLogsFromPairingListTemplate(leaderboardDTO.getName(),
|
||||
template.getFlightMultiplier(), template.getSelectedFlightNames(), pairingListDTO,
|
||||
new AsyncCallback<Void>() {
|
||||
@Override
|
||||
@@ -211,7 +211,7 @@ public class PairingListCreationDialog extends DataEntryDialog<PairingListTempla
|
||||
printPreViewButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
sailingService.getRaceDisplayNamesFromLeaderboard(leaderboardDTO.getName(),
|
||||
sailingServiceWrite.getRaceDisplayNamesFromLeaderboard(leaderboardDTO.getName(),
|
||||
Util.asList(template.getSelectedFlightNames()), new AsyncCallback<List<String>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -234,7 +234,7 @@ public class PairingListCreationDialog extends DataEntryDialog<PairingListTempla
|
||||
BusyDialog busyDialog = new BusyDialog();
|
||||
busyDialog.show();
|
||||
try {
|
||||
sailingService.calculatePairingListTemplate(template.getFlightCount(), template.getGroupCount(),
|
||||
sailingServiceWrite.calculatePairingListTemplate(template.getFlightCount(), template.getGroupCount(),
|
||||
template.getCompetitorCount(), template.getFlightMultiplier(),
|
||||
template.getBoatChangeFactor(), new AsyncCallback<PairingListTemplateDTO>() {
|
||||
|
||||
@@ -249,7 +249,7 @@ public class PairingListCreationDialog extends DataEntryDialog<PairingListTempla
|
||||
busyDialog.hide();
|
||||
result.setSelectedFlightNames(template.getSelectedFlightNames());
|
||||
PairingListCreationDialog dialog = new PairingListCreationDialog(leaderboardDTO,
|
||||
stringMessages, result, sailingService, errorReporter);
|
||||
stringMessages, result, sailingServiceWrite, errorReporter);
|
||||
dialog.show();
|
||||
}
|
||||
});
|
||||
|
||||
+5
-4
@@ -9,6 +9,7 @@ import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.domain.common.orc.ORCCertificate;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTOWithSecurity;
|
||||
@@ -30,11 +31,11 @@ public class RaceBoatCertificatesPanel extends AbstractBoatCertificatesPanel {
|
||||
private final String raceColumnName;
|
||||
private final String fleetName;
|
||||
|
||||
public RaceBoatCertificatesPanel(final SailingServiceAsync sailingService, final UserService userService,
|
||||
public RaceBoatCertificatesPanel(final SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
final StrippedLeaderboardDTOWithSecurity leaderboard, final RaceColumnDTO raceColumn, final FleetDTO fleet,
|
||||
final StringMessages stringMessages, final ErrorReporter errorReporter) {
|
||||
// TODO problem: what is the secured object here? What is it for other RaceLog updates?
|
||||
super(sailingService, userService, leaderboard, stringMessages, errorReporter,
|
||||
super(sailingServiceWrite, userService, leaderboard, stringMessages, errorReporter,
|
||||
/* context update permission check: */ () -> userService.hasPermission(leaderboard,
|
||||
DefaultActions.UPDATE),
|
||||
leaderboard.getName() + "/" + raceColumn.getName() + "/" + fleet.getName());
|
||||
@@ -45,10 +46,10 @@ public class RaceBoatCertificatesPanel extends AbstractBoatCertificatesPanel {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void assignCertificates(SailingServiceAsync sailingService,
|
||||
protected void assignCertificates(SailingServiceWriteAsync sailingServiceWrite,
|
||||
Map<String, ORCCertificate> certificatesByBoatIdAsString,
|
||||
AsyncCallback<Triple<Integer, Integer, Integer>> callback) {
|
||||
sailingService.assignORCPerformanceCurveCertificates(leaderboardName, raceColumnName, fleetName,
|
||||
sailingServiceWrite.assignORCPerformanceCurveCertificates(leaderboardName, raceColumnName, fleetName,
|
||||
certificatesByBoatIdAsString, callback);
|
||||
}
|
||||
|
||||
|
||||
+9
-9
@@ -12,7 +12,7 @@ import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.sap.sailing.domain.common.RankingMetrics;
|
||||
import com.sap.sailing.domain.common.orc.impl.ORCPerformanceCurveLegImpl;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceCourseDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
@@ -32,14 +32,14 @@ import com.sap.sse.security.ui.client.UserService;
|
||||
public class RaceCourseManagementPanel extends AbstractRaceManagementPanel {
|
||||
private final CourseManagementWidget courseManagementWidget;
|
||||
|
||||
public RaceCourseManagementPanel(final SailingServiceAsync sailingService, final ErrorReporter errorReporter,
|
||||
public RaceCourseManagementPanel(final SailingServiceWriteAsync sailingServiceWrite, final ErrorReporter errorReporter,
|
||||
RegattaRefresher regattaRefresher, final StringMessages stringMessages, final UserService userService) {
|
||||
super(sailingService, userService, errorReporter, regattaRefresher, /* actionButtonsEnabled */ false, stringMessages);
|
||||
courseManagementWidget = new CourseManagementWidget(sailingService, errorReporter, stringMessages,
|
||||
super(sailingServiceWrite, userService, errorReporter, regattaRefresher, /* actionButtonsEnabled */ false, stringMessages);
|
||||
courseManagementWidget = new CourseManagementWidget(sailingServiceWrite, errorReporter, stringMessages,
|
||||
userService, ()->selectedRaceHasOrcPcsRankingMetric()) {
|
||||
@Override
|
||||
protected void save() {
|
||||
sailingService.updateRaceCourse(singleSelectedRace, createWaypointPairs(), new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.updateRaceCourse(singleSelectedRace, createWaypointPairs(), new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(stringMessages.errorUpdatingRaceCourse(caught.getMessage()));
|
||||
@@ -48,7 +48,7 @@ public class RaceCourseManagementPanel extends AbstractRaceManagementPanel {
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
Notification.notify(stringMessages.successfullyUpdatedCourse(), NotificationType.INFO);
|
||||
sailingService.setORCPerformanceCurveLegInfo(singleSelectedRace, getORCPerformanceCurveLegInfoByOneBasedWaypointIndex(), new AsyncCallback<Void>() {
|
||||
sailingServiceWrite.setORCPerformanceCurveLegInfo(singleSelectedRace, getORCPerformanceCurveLegInfoByOneBasedWaypointIndex(), new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(stringMessages.errorUpdatingRaceCourse(caught.getMessage()));
|
||||
@@ -66,7 +66,7 @@ public class RaceCourseManagementPanel extends AbstractRaceManagementPanel {
|
||||
@Override
|
||||
protected LegGeometrySupplier getLegGeometrySupplier() {
|
||||
return (zeroBasedLegIndices, legTypes, callback)->
|
||||
sailingService.getLegGeometry(singleSelectedRace, zeroBasedLegIndices, legTypes, callback);
|
||||
sailingServiceWrite.getLegGeometry(singleSelectedRace, zeroBasedLegIndices, legTypes, callback);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -74,7 +74,7 @@ public class RaceCourseManagementPanel extends AbstractRaceManagementPanel {
|
||||
if (singleSelectedRace != null && selectedRaceDTO != null) {
|
||||
mainPanel.setVisible(true);
|
||||
// TODO bug 1351: never use System.currentTimeMillis() on the client when trying to compare anything with "server time"; this one is not so urgent as it is reached only in the AdminConsole and we expect administrators to have proper client-side time settings
|
||||
sailingService.getRaceCourse(singleSelectedRace, new Date(), new AsyncCallback<RaceCourseDTO>() {
|
||||
sailingServiceWrite.getRaceCourse(singleSelectedRace, new Date(), new AsyncCallback<RaceCourseDTO>() {
|
||||
@Override
|
||||
public void onSuccess(RaceCourseDTO raceCourseDTO) {
|
||||
updateWaypointsAndControlPoints(raceCourseDTO, selectedRaceDTO);
|
||||
@@ -96,7 +96,7 @@ public class RaceCourseManagementPanel extends AbstractRaceManagementPanel {
|
||||
|
||||
private void refreshORCPerformanceCurveLegs() {
|
||||
if (singleSelectedRace != null) {
|
||||
sailingService.getORCPerformanceCurveLegInfo(singleSelectedRace,
|
||||
sailingServiceWrite.getORCPerformanceCurveLegInfo(singleSelectedRace,
|
||||
new AsyncCallback<Map<Integer, ORCPerformanceCurveLegImpl>>() {
|
||||
@Override
|
||||
public void onSuccess(Map<Integer, ORCPerformanceCurveLegImpl> result) {
|
||||
|
||||
+13
-13
@@ -22,7 +22,7 @@ import com.sap.sailing.domain.common.dto.CompetitorAndBoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithToolTipDTO;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceWriteAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.ParallelExecutionCallback;
|
||||
@@ -37,7 +37,7 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis
|
||||
private CheckBox competitorRegistrationInRaceLogCheckBox;
|
||||
private final Map<String, Set<CompetitorDTO>> fleetNameWithCompetitors;
|
||||
private final ErrorReporter errorReporter;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final SailingServiceWriteAsync sailingServiceWrite;
|
||||
private final StringMessages stringMessages;
|
||||
|
||||
private static class Validator implements com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator<Set<CompetitorDTO>> {
|
||||
@@ -96,24 +96,24 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis
|
||||
}
|
||||
}
|
||||
|
||||
public RaceLogCompetitorRegistrationDialog(String boatClass, SailingServiceAsync sailingService, final UserService userService,
|
||||
public RaceLogCompetitorRegistrationDialog(String boatClass, SailingServiceWriteAsync sailingServiceWrite, final UserService userService,
|
||||
StringMessages stringMessages, ErrorReporter errorReporter, boolean editable, String leaderboardName, boolean canBoatsOfCompetitorsChangePerRace,
|
||||
String raceColumnName, String fleetName, List<FleetDTO> fleets,
|
||||
com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback<Set<CompetitorDTO>> callback) {
|
||||
this(sailingService, userService, stringMessages, errorReporter, editable, callback, leaderboardName, canBoatsOfCompetitorsChangePerRace, boatClass,
|
||||
this(sailingServiceWrite, userService, stringMessages, errorReporter, editable, callback, leaderboardName, canBoatsOfCompetitorsChangePerRace, boatClass,
|
||||
raceColumnName, fleetName, fleets, new Validator(stringMessages));
|
||||
}
|
||||
|
||||
public RaceLogCompetitorRegistrationDialog(SailingServiceAsync sailingService, final UserService userService, StringMessages stringMessages,
|
||||
public RaceLogCompetitorRegistrationDialog(SailingServiceWriteAsync sailingServiceWrite, final UserService userService, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter, boolean editable,
|
||||
com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback<Set<CompetitorDTO>> callback,
|
||||
String leaderboardName, boolean canBoatsOfCompetitorsChangePerRace, String boatClass, String raceColumnName, String fleetName, List<FleetDTO> fleets, Validator validator) {
|
||||
super(sailingService, userService, stringMessages, errorReporter, editable, callback, leaderboardName,
|
||||
super(sailingServiceWrite, userService, stringMessages, errorReporter, editable, callback, leaderboardName,
|
||||
canBoatsOfCompetitorsChangePerRace, boatClass,
|
||||
canBoatsOfCompetitorsChangePerRace ? stringMessages.actionContinueToBoatAssignment() : stringMessages.save(), validator);
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
this.raceColumnName = raceColumnName;
|
||||
this.fleetName = fleetName;
|
||||
fleetNameWithCompetitors = findCompetitorsFromTheSameRaceColumn(fleets);
|
||||
@@ -177,7 +177,7 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis
|
||||
};
|
||||
for (final Entry<String, ParallelExecutionCallback<Collection<CompetitorAndBoatDTO>>> fleetNameAndCallback : callbacksForFleetNames
|
||||
.entrySet()) {
|
||||
sailingService.getCompetitorRegistrationsForRace(leaderboardName, raceColumnName,
|
||||
sailingServiceWrite.getCompetitorRegistrationsForRace(leaderboardName, raceColumnName,
|
||||
fleetNameAndCallback.getKey(), fleetNameAndCallback.getValue());
|
||||
}
|
||||
}
|
||||
@@ -203,9 +203,9 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis
|
||||
|
||||
private void getRegisteredCompetitors(AsyncCallback<Collection<CompetitorDTO>> callback) {
|
||||
if (competitorRegistrationsPanel.showOnlyCompetitorsOfLog()) {
|
||||
sailingService.getCompetitorRegistrationsInRaceLog(leaderboardName, raceColumnName, fleetName, extractCompetitorDTOFromCompetitorAndBoatDTO(callback));
|
||||
sailingServiceWrite.getCompetitorRegistrationsInRaceLog(leaderboardName, raceColumnName, fleetName, extractCompetitorDTOFromCompetitorAndBoatDTO(callback));
|
||||
} else {
|
||||
sailingService.getCompetitorRegistrationsForRace(leaderboardName, raceColumnName, fleetName, extractCompetitorDTOFromCompetitorAndBoatDTO(callback));
|
||||
sailingServiceWrite.getCompetitorRegistrationsForRace(leaderboardName, raceColumnName, fleetName, extractCompetitorDTOFromCompetitorAndBoatDTO(callback));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -224,7 +224,7 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis
|
||||
}
|
||||
|
||||
private void setupCompetitorRegistationsOnRaceCheckbox() {
|
||||
sailingService.areCompetitorRegistrationsEnabledForRace(leaderboardName, raceColumnName, fleetName,
|
||||
sailingServiceWrite.areCompetitorRegistrationsEnabledForRace(leaderboardName, raceColumnName, fleetName,
|
||||
new AsyncCallback<Boolean>() {
|
||||
@Override
|
||||
public void onSuccess(Boolean isEnabled) {
|
||||
@@ -259,7 +259,7 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis
|
||||
@Override
|
||||
public void ok(Void editedObject) {
|
||||
if (getOrCreateCompetitorRegistrationInRaceLogCheckBox(stringMessages).getValue()) {
|
||||
sailingService.enableCompetitorRegistrationsForRace(leaderboardName,
|
||||
sailingServiceWrite.enableCompetitorRegistrationsForRace(leaderboardName,
|
||||
raceColumnName, fleetName, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onSuccess(Void isEnabled) {
|
||||
@@ -277,7 +277,7 @@ public class RaceLogCompetitorRegistrationDialog extends AbstractCompetitorRegis
|
||||
});
|
||||
|
||||
} else {
|
||||
sailingService.disableCompetitorRegistrationsForRace(leaderboardName,
|
||||
sailingServiceWrite.disableCompetitorRegistrationsForRace(leaderboardName,
|
||||
raceColumnName, fleetName, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onSuccess(Void isEnabled) {
|
||||
|
||||
Loaded 100 of 223 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user