Strategy Pattern for guessing Series

This commit is contained in:
U-GLOBAL\D060338 committed 2014-08-26 13:34:13 +02:00
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);
@@ -0,0 +1,7 @@
package buildstructure;
public interface GuessSeries {
public String guessSeries(String race);
}
@@ -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;