mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-01 09:53:58 +00:00
Strategy Pattern for guessing Series
This commit is contained in:
1 parent
415a262b0b
commit
60533fcda3
4 files changed
+44
-23
No files matched your search
@@ -33,7 +33,7 @@ public class BuildStructure {
|
||||
}
|
||||
|
||||
|
||||
structure = new RegattaStructure();
|
||||
structure = new RegattaStructure(new GuessSeriesFromRaceName());
|
||||
|
||||
for(int i=0;i<races.size();i++){
|
||||
structure.addRace(races.get(i), numberOfRaces);
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package buildstructure;
|
||||
|
||||
public interface GuessSeries {
|
||||
|
||||
public String guessSeries(String race);
|
||||
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package buildstructure;
|
||||
|
||||
import com.sap.sailing.xrr.schema.Race;
|
||||
|
||||
public class GuessSeriesFromRaceName implements GuessSeries {
|
||||
|
||||
@Override
|
||||
public String guessSeries(String race) {
|
||||
String[] raceName = race.split(" ");
|
||||
String raceType = raceName[0];
|
||||
|
||||
switch (raceType.charAt(0)){
|
||||
case 'Q':
|
||||
raceType = "Qualification";
|
||||
break;
|
||||
case 'R':
|
||||
raceType = "Opening Series";
|
||||
break;
|
||||
case 'F':
|
||||
raceType = "Finals";
|
||||
break;
|
||||
case 'M':
|
||||
raceType = "Medal";
|
||||
break;
|
||||
default:
|
||||
raceType = "Default";
|
||||
break;
|
||||
}
|
||||
return raceType;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,33 +8,15 @@ import com.sap.sailing.xrr.schema.Race;
|
||||
public class RegattaStructure {
|
||||
|
||||
ArrayList<RaceType> raceTypes = new ArrayList<RaceType>();
|
||||
GuessSeries guessSeries;
|
||||
|
||||
public RegattaStructure(){
|
||||
|
||||
public RegattaStructure(GuessSeries guessSeries){
|
||||
this.guessSeries = guessSeries;
|
||||
}
|
||||
|
||||
public void addRace(Race race, int[] numberOfRaces){
|
||||
|
||||
String[] raceName = race.getRaceName().split(" ");
|
||||
String raceType = raceName[0];
|
||||
|
||||
switch (raceType.charAt(0)){
|
||||
case 'Q':
|
||||
raceType = "Qualification";
|
||||
break;
|
||||
case 'R':
|
||||
raceType = "Opening Series";
|
||||
break;
|
||||
case 'F':
|
||||
raceType = "Finals";
|
||||
break;
|
||||
case 'M':
|
||||
raceType = "Medal";
|
||||
break;
|
||||
default:
|
||||
raceType = "Default";
|
||||
break;
|
||||
}
|
||||
String raceType = guessSeries.guessSeries(race.getRaceName());
|
||||
|
||||
boolean added = false;
|
||||
|
||||
|
||||
Reference in new issue
Block a user