mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-31 00:07:14 +00:00
infer zeroBasedIndexInFleet if not transmitted explicity by searching through the RaceRow/RaceCell combo; slow but effective
Change-Id: Ib66bd39bdc66a95ed853d7529de5c209865d15c5
This commit is contained in:
1 parent
64eca8c4e1
commit
6ecb70d4c5
6 files changed
+31
-15
No files matched your search
+1
-2
@@ -11,7 +11,6 @@ import org.json.simple.JSONValue;
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLog;
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.SeriesBase;
|
||||
import com.sap.sailing.domain.base.configuration.ConfigurationLoader;
|
||||
import com.sap.sailing.domain.base.configuration.RegattaConfiguration;
|
||||
import com.sap.sailing.domain.base.racegroup.RaceCell;
|
||||
@@ -72,7 +71,7 @@ public class ManagedRacesDataParser implements DataParser<Collection<ManagedRace
|
||||
}
|
||||
}
|
||||
|
||||
private ManagedRace createManagedRace(RaceGroup raceGroup, SeriesBase series, Fleet fleet, String raceColumnName,
|
||||
private ManagedRace createManagedRace(RaceGroup raceGroup, SeriesWithRows series, Fleet fleet, String raceColumnName,
|
||||
RaceLog raceLog, double factor, Double explicitFactor, int zeroBasedIndexInFleet) {
|
||||
ConfigurationLoader<RegattaConfiguration> configurationLoader = globalConfigurationLoader;
|
||||
RegattaConfiguration localConfiguration = raceGroup.getRegattaConfiguration();
|
||||
|
||||
+2
-2
@@ -1,14 +1,14 @@
|
||||
package com.sap.sailing.racecommittee.app.domain;
|
||||
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.SeriesBase;
|
||||
import com.sap.sailing.domain.base.racegroup.RaceGroup;
|
||||
import com.sap.sailing.domain.base.racegroup.SeriesWithRows;
|
||||
|
||||
public interface FleetIdentifier {
|
||||
|
||||
public Fleet getFleet();
|
||||
|
||||
public SeriesBase getSeries();
|
||||
public SeriesWithRows getSeries();
|
||||
|
||||
public RaceGroup getRaceGroup();
|
||||
|
||||
|
||||
+4
-4
@@ -1,18 +1,18 @@
|
||||
package com.sap.sailing.racecommittee.app.domain.impl;
|
||||
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.SeriesBase;
|
||||
import com.sap.sailing.domain.base.racegroup.RaceGroup;
|
||||
import com.sap.sailing.domain.base.racegroup.SeriesWithRows;
|
||||
import com.sap.sailing.racecommittee.app.domain.FleetIdentifier;
|
||||
import com.sap.sse.common.Util.Triple;
|
||||
|
||||
public class FleetIdentifierImpl implements FleetIdentifier {
|
||||
|
||||
private Fleet fleet;
|
||||
private SeriesBase series;
|
||||
private SeriesWithRows series;
|
||||
private RaceGroup raceGroup;
|
||||
|
||||
public FleetIdentifierImpl(Fleet fleet, SeriesBase series, RaceGroup raceGroup) {
|
||||
public FleetIdentifierImpl(Fleet fleet, SeriesWithRows series, RaceGroup raceGroup) {
|
||||
this.fleet = fleet;
|
||||
this.series = series;
|
||||
this.raceGroup = raceGroup;
|
||||
@@ -22,7 +22,7 @@ public class FleetIdentifierImpl implements FleetIdentifier {
|
||||
return fleet;
|
||||
}
|
||||
|
||||
public SeriesBase getSeries() {
|
||||
public SeriesWithRows getSeries() {
|
||||
return series;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.racecommittee.app.domain.impl;
|
||||
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.SeriesBase;
|
||||
import com.sap.sailing.domain.base.racegroup.RaceGroup;
|
||||
import com.sap.sailing.domain.base.racegroup.SeriesWithRows;
|
||||
import com.sap.sailing.racecommittee.app.domain.FleetIdentifier;
|
||||
import com.sap.sailing.racecommittee.app.domain.ManagedRaceIdentifier;
|
||||
|
||||
@@ -10,7 +10,7 @@ public class ManagedRaceIdentifierImpl extends FleetIdentifierImpl implements Ma
|
||||
|
||||
private String raceColumnName;
|
||||
|
||||
public ManagedRaceIdentifierImpl(String raceColumnName, Fleet fleetWithRaceNames, SeriesBase series, RaceGroup raceGroup) {
|
||||
public ManagedRaceIdentifierImpl(String raceColumnName, Fleet fleetWithRaceNames, SeriesWithRows series, RaceGroup raceGroup) {
|
||||
super(fleetWithRaceNames, series, raceGroup);
|
||||
this.raceColumnName = raceColumnName;
|
||||
}
|
||||
|
||||
+20
-3
@@ -11,9 +11,9 @@ import com.sap.sailing.domain.abstractlog.race.state.RaceState;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.CourseBase;
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.SeriesBase;
|
||||
import com.sap.sailing.domain.base.racegroup.RaceCell;
|
||||
import com.sap.sailing.domain.base.racegroup.RaceGroup;
|
||||
import com.sap.sailing.domain.base.racegroup.SeriesWithRows;
|
||||
import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.data.AndroidRaceLogResolver;
|
||||
@@ -97,7 +97,7 @@ public class ManagedRaceImpl implements ManagedRace {
|
||||
}
|
||||
|
||||
@Override
|
||||
public SeriesBase getSeries() {
|
||||
public SeriesWithRows getSeries() {
|
||||
return identifier.getSeries();
|
||||
}
|
||||
|
||||
@@ -223,7 +223,24 @@ public class ManagedRaceImpl implements ManagedRace {
|
||||
|
||||
@Override
|
||||
public int getZeroBasedIndexInFleet() {
|
||||
return zeroBasedIndexInFleet;
|
||||
int result = -1;
|
||||
if (zeroBasedIndexInFleet != -1) {
|
||||
// it was properly delivered by a compatible server; that's our result
|
||||
result = zeroBasedIndexInFleet;
|
||||
} else {
|
||||
// we deal with an incompatible server that doesn't know about this field yet;
|
||||
// try to compute from the surrounding race group:
|
||||
int i=0;
|
||||
for (final RaceCell cell : getSeries().getRaceRow(getFleet()).getCells()) {
|
||||
if (cell.getName().equals(getRaceColumnName())) {
|
||||
result = i;
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
// if a cell with this race's race column name is not found, leave the index at -1
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-2
@@ -7,8 +7,8 @@ import static org.mockito.Mockito.when;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.SeriesBase;
|
||||
import com.sap.sailing.domain.base.racegroup.RaceGroup;
|
||||
import com.sap.sailing.domain.base.racegroup.SeriesWithRows;
|
||||
import com.sap.sailing.domain.base.racegroup.impl.RaceGroupImpl;
|
||||
import com.sap.sailing.racecommittee.app.domain.ManagedRaceIdentifier;
|
||||
import com.sap.sse.common.Util.Triple;
|
||||
@@ -43,7 +43,7 @@ public class SimpleRaceIdentifierEscapingTest {
|
||||
|
||||
private String build(final String leaderboardName, final String seriesName, final String fleetName, final String raceColumnName) {
|
||||
Fleet fleet = mock(Fleet.class);
|
||||
SeriesBase series = mock(SeriesBase.class);
|
||||
SeriesWithRows series = mock(SeriesWithRows.class);
|
||||
RaceGroup raceGroup = mock(RaceGroupImpl.class);
|
||||
|
||||
when(fleet.getName()).thenReturn(fleetName);
|
||||
|
||||
Reference in new issue
Block a user