formatted according to guidelines

Change-Id: Ia51586bbb7056426a9a04a5a04aef4fc057b0aef
This commit is contained in:
Axel Uhl committed 2016-12-28 13:03:22 +01:00
1 parent 87de492a1b
commit 02896f1993
1 file changed
+58 -56
@@ -59,94 +59,96 @@ public class SwissTimingAdapterImpl implements SwissTimingAdapter {
@Override @Override
public List<com.sap.sailing.domain.swisstimingadapter.RaceRecord> getSwissTimingRaceRecords(String hostname, public List<com.sap.sailing.domain.swisstimingadapter.RaceRecord> getSwissTimingRaceRecords(String hostname,
int port) throws InterruptedException, UnknownHostException, IOException, int port) throws InterruptedException, UnknownHostException, IOException, ParseException {
ParseException {
List<com.sap.sailing.domain.swisstimingadapter.RaceRecord> result = new ArrayList<com.sap.sailing.domain.swisstimingadapter.RaceRecord>(); List<com.sap.sailing.domain.swisstimingadapter.RaceRecord> result = new ArrayList<com.sap.sailing.domain.swisstimingadapter.RaceRecord>();
// TODO --> Frank: this needs to come from Manage2Sail and its JSON document somehow... // TODO --> Frank: this needs to come from Manage2Sail and its JSON document somehow...
return result; return result;
} }
@Override @Override
public RaceHandle addSwissTimingRace(TrackerManager trackerManager, RegattaIdentifier regattaToAddTo, public RaceHandle addSwissTimingRace(TrackerManager trackerManager, RegattaIdentifier regattaToAddTo, String raceID,
String raceID, String raceName, String raceDescription, BoatClass boatClass, String hostname, int port, String raceName, String raceDescription, BoatClass boatClass, String hostname, int port,
StartList startList, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, long timeoutInMilliseconds, StartList startList, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, long timeoutInMilliseconds,
boolean useInternalMarkPassingAlgorithm) boolean useInternalMarkPassingAlgorithm) throws Exception {
throws Exception { return trackerManager.addRace(regattaToAddTo,
return trackerManager.addRace(regattaToAddTo, swissTimingDomainFactory.createTrackingConnectivityParameters( swissTimingDomainFactory.createTrackingConnectivityParameters(hostname, port, raceID, raceName,
hostname, port, raceID, raceName, raceDescription, boatClass, startList, raceDescription, boatClass, startList, DEFAULT_SWISSTIMING_LIVE_DELAY_IN_MILLISECONDS,
DEFAULT_SWISSTIMING_LIVE_DELAY_IN_MILLISECONDS, swissTimingFactory, swissTimingDomainFactory, swissTimingFactory, swissTimingDomainFactory, raceLogStore, regattaLogStore,
raceLogStore, regattaLogStore, useInternalMarkPassingAlgorithm), timeoutInMilliseconds); useInternalMarkPassingAlgorithm),
timeoutInMilliseconds);
} }
@Override @Override
public StartList readStartListForRace(String raceId, RegattaResults regattaResults) { public StartList readStartListForRace(String raceId, RegattaResults regattaResults) {
StartList result = null; StartList result = null;
List<Competitor> competitors = new ArrayList<Competitor>(); List<Competitor> competitors = new ArrayList<Competitor>();
Map<String, Person> persons = new HashMap<String, Person>(); Map<String, Person> persons = new HashMap<String, Person>();
Map<String, Boat> boats = new HashMap<String, Boat>(); Map<String, Boat> boats = new HashMap<String, Boat>();
Map<String, Team> teams = new HashMap<String, Team>(); Map<String, Team> teams = new HashMap<String, Team>();
// collect boats, persons and teams // collect boats, persons and teams
for (Object o : regattaResults.getPersonOrBoatOrTeam()) { for (Object o : regattaResults.getPersonOrBoatOrTeam()) {
if(o instanceof Person) { if (o instanceof Person) {
Person p = (Person) o; Person p = (Person) o;
persons.put(p.getPersonID(), p); persons.put(p.getPersonID(), p);
} else if (o instanceof Boat) { } else if (o instanceof Boat) {
Boat b = (Boat) o; Boat b = (Boat) o;
boats.put(b.getBoatID(), b); boats.put(b.getBoatID(), b);
} else if (o instanceof Team) { } else if (o instanceof Team) {
Team t = (Team) o; Team t = (Team) o;
teams.put(t.getTeamID(), t); teams.put(t.getTeamID(), t);
} }
} }
for (Object o : regattaResults.getPersonOrBoatOrTeam()) { for (Object o : regattaResults.getPersonOrBoatOrTeam()) {
if (o instanceof Event) { if (o instanceof Event) {
Event event = (Event) o; Event event = (Event) o;
for (Object eventO : event.getRaceOrDivisionOrRegattaSeriesResult()) { for (Object eventO : event.getRaceOrDivisionOrRegattaSeriesResult()) {
if (eventO instanceof Division) { if (eventO instanceof Division) {
Division division = (Division) eventO; Division division = (Division) eventO;
for(Object seriesResultOrRaceResultOrTRResult: division.getSeriesResultOrRaceResultOrTRResult()) { for (Object seriesResultOrRaceResultOrTRResult : division.getSeriesResultOrRaceResultOrTRResult()) {
if(seriesResultOrRaceResultOrTRResult instanceof RaceResult) { if (seriesResultOrRaceResultOrTRResult instanceof RaceResult) {
RaceResult raceResult = (RaceResult) seriesResultOrRaceResultOrTRResult; RaceResult raceResult = (RaceResult) seriesResultOrRaceResultOrTRResult;
if(raceResult.getRaceID().equals(raceId)) { if (raceResult.getRaceID().equals(raceId)) {
Team team = teams.get(raceResult.getTeamID()); Team team = teams.get(raceResult.getTeamID());
if(team != null) { if (team != null) {
Boat boat = boats.get(team.getBoatID()); Boat boat = boats.get(team.getBoatID());
if(boat != null) { if (boat != null) {
List<CrewMember> crew = new ArrayList<CrewMember>(); List<CrewMember> crew = new ArrayList<CrewMember>();
for(Crew crewMember: team.getCrew()) { for (Crew crewMember : team.getCrew()) {
Person person = persons.get(crewMember.getPersonID()); Person person = persons.get(crewMember.getPersonID());
crew.add(new CrewMemberImpl(person.getGivenName() + " " + person.getFamilyName(), crew.add(new CrewMemberImpl(
person.getNOC().name(), crewMember.getPosition().name())); person.getGivenName() + " " + person.getFamilyName(),
} person.getNOC().name(), crewMember.getPosition().name()));
Crew firstCrewMember = team.getCrew().get(0); }
Person person = persons.get(firstCrewMember.getPersonID()); Crew firstCrewMember = team.getCrew().get(0);
String nationality = person.getNOC().name(); Person person = persons.get(firstCrewMember.getPersonID());
CompetitorWithID competitor = new CompetitorWithID(team.getTeamID(), boat.getSailNumber(), nationality, team.getTeamName(), crew); String nationality = person.getNOC().name();
competitors.add(competitor); CompetitorWithID competitor = new CompetitorWithID(team.getTeamID(),
} boat.getSailNumber(), nationality, team.getTeamName(), crew);
} competitors.add(competitor);
} }
} }
}
}
} }
} }
} }
} }
} }
if(!competitors.isEmpty()) { if (!competitors.isEmpty()) {
result = new StartListImpl(raceId, competitors); result = new StartListImpl(raceId, competitors);
} }
return result; return result;
} }
@Override @Override
public RegattaResults readRegattaEntryListFromXrrUrl(String xrrEntryListUrl) throws IOException, JAXBException { public RegattaResults readRegattaEntryListFromXrrUrl(String xrrEntryListUrl) throws IOException, JAXBException {
// try to read the entry list from manage2sail // try to read the entry list from manage2sail
URL regattaEntryListUrl = new URL(xrrEntryListUrl); URL regattaEntryListUrl = new URL(xrrEntryListUrl);
URLConnection regattaEntryListConn = regattaEntryListUrl.openConnection(); URLConnection regattaEntryListConn = regattaEntryListUrl.openConnection();
RegattaResults regattaResults = ParserFactory.INSTANCE.createParser((InputStream) regattaEntryListConn.getContent(), xrrEntryListUrl).parse(); RegattaResults regattaResults = ParserFactory.INSTANCE
.createParser((InputStream) regattaEntryListConn.getContent(), xrrEntryListUrl).parse();
return regattaResults; return regattaResults;
} }
} }