diff --git a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java index 107a14aa5b5..c7cc1a768e6 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java @@ -212,11 +212,9 @@ public class SwissTimingAdapterPersistenceImpl implements SwissTimingAdapterPers messageCollection = database.getCollection(CollectionNames.COMMAND_MESSAGES.name()); } messageCollection.insert(objToInsert); - if(message.getType() == MessageType.RAC) { // store the new race in the master data collection List availableRaces = parseAvailableRacesMessage(message); - for (Race newRace : availableRaces) { storeRace(newRace); } diff --git a/java/com.sap.sailing.domain.swisstimingadapter.test/resources/SailMasterDataInterfaceRACandSTL.txt b/java/com.sap.sailing.domain.swisstimingadapter.test/resources/SailMasterDataInterfaceRACandSTL.txt index 9efcaab8108..791cab2fd51 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter.test/resources/SailMasterDataInterfaceRACandSTL.txt +++ b/java/com.sap.sailing.domain.swisstimingadapter.test/resources/SailMasterDataInterfaceRACandSTL.txt @@ -1,3 +1,3 @@ RAC|1|W4702;A simulated SwissTiming race STL|W4702|46|GER 12;GER;Competitor 25|GBR 812;GBR;Competitor 19|NED 24;NED;Competitor 35|CRO 111;CRO;Competitor 11|ARG 8;ARG;Competitor 0|FRA 12;FRA;Competitor 16|CAN 610;CAN;Competitor 6|CHN 616;CHN;Competitor 10|CHN 1261;CHN;Competitor 8|ESP 133;ESP;Competitor 13|GER 72;GER;Competitor 29|EST 20;EST;Competitor 15|NZL 75;NZL;Competitor 36|SLO 64;SLO;Competitor 39|GBR 831;GBR;Competitor 20|RUS 12;RUS;Competitor 37|ITA 23;ITA;Competitor 31|ESP 696;ESP;Competitor 14|GBR 847;GBR;Competitor 22|DEN 143;DEN;Competitor 12|ISR 311;ISR;Competitor 30|GER 21;GER;Competitor 26|NED 11;NED;Competitor 34|GBR 850;GBR;Competitor 23|BRA 177;BRA;Competitor 3|AUT 431;AUT;Competitor 2|FRA 9;FRA;Competitor 18|FRA 4;FRA;Competitor 17|GBR 855;GBR;Competitor 24|BRA 1187;BRA;Competitor 4|USA 1712;USA;Competitor 43|SWE 344;SWE;Competitor 42|GER 61;GER;Competitor 27|SWE 342;SWE;Competitor 41|CHN 1211;CHN;Competitor 7|USA 1757;USA;Competitor 45|GER 66;GER;Competitor 28|SUI 14;SUI;Competitor 40|JPN 4151;JPN;Competitor 32|JPN 4321;JPN;Competitor 33|CAN 11;CAN;Competitor 5|AUS 7;AUS;Competitor 1|USA 1736;USA;Competitor 44|RUS 700;RUS;Competitor 38|CHN 221;CHN;Competitor 9|GBR 841;GBR;Competitor 21 -CCG|W4702|7|0;StartGate;M2;M3|1;Buoy4;M4|2;Buoy5;M5|3;Buoy6;M6|4;Buoy7;M7|5;Buoy1;M1|6;FinishGate;M2;M3 +CCG|W4702|7|0;StartGate;M1;M7|1;Buoy6;M6|2;LeeGate;M2;M3|3;Buoy6;M6|4;Buoy5;M6|5;FinishGate;M1;M4 diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceMapPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceMapPanel.java index 7131866022d..b254dea5ee8 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceMapPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceMapPanel.java @@ -315,7 +315,8 @@ public class RaceMapPanel extends FormPanel implements EventDisplayer, TimeListe EventDAO event = selection.get(selection.size() - 1).getA(); RaceDAO race = selection.get(selection.size() - 1).getC(); if (event != null && race != null) { - final Triple, Map, Map> fromAndToAndOverlap = computeFromAndTo(date); + final Triple, Map, Map> fromAndToAndOverlap = + computeFromAndTo(date); sailingService.getBoatPositions(event.name, race.name, fromAndToAndOverlap.getA(), fromAndToAndOverlap.getB(), true, new AsyncCallback>>() { @Override @@ -462,11 +463,12 @@ public class RaceMapPanel extends FormPanel implements EventDisplayer, TimeListe } /** - * While updating the {@link #fixes} for competitorDAO, the invariants for {@link #tails} - * and {@link #firstShownFix} and {@link #lastShownFix} are maintained: each time a fix is inserted, - * the {@link #firstShownFix}/{@link #lastShownFix} records for competitorDAO are incremented - * if they are greater or equal to the insertion index. Additionally, if the fix is in between the fixes - * shown in the competitor's tail, the tail is adjusted by inserting the corresponding fix. + * While updating the {@link #fixes} for competitorDAO, the invariants for {@link #tails} and + * {@link #firstShownFix} and {@link #lastShownFix} are maintained: each time a fix is inserted, the + * {@link #firstShownFix}/{@link #lastShownFix} records for competitorDAO are incremented if they are + * greater or equal to the insertion index and we have a tail in {@link #tails} for competitorDAO. + * Additionally, if the fix is in between the fixes shown in the competitor's tail, the tail is adjusted by + * inserting the corresponding fix. */ private void mergeFixes(CompetitorDAO competitorDAO, List mergeThis) { List intoThis = fixes.get(competitorDAO); @@ -475,7 +477,8 @@ public class RaceMapPanel extends FormPanel implements EventDisplayer, TimeListe Polyline tail = tails.get(competitorDAO); int intoThisIndex = 0; for (GPSFixDAO mergeThisFix : mergeThis) { - while (intoThisIndex < intoThis.size() && intoThis.get(intoThisIndex).timepoint.before(mergeThisFix.timepoint)) { + while (intoThisIndex < intoThis.size() + && intoThis.get(intoThisIndex).timepoint.before(mergeThisFix.timepoint)) { intoThisIndex++; } if (intoThisIndex < intoThis.size() && intoThis.get(intoThisIndex).timepoint.equals(mergeThisFix.timepoint)) { @@ -489,7 +492,7 @@ public class RaceMapPanel extends FormPanel implements EventDisplayer, TimeListe if (indexOfLastShownFix >= intoThisIndex) { indexOfLastShownFix++; } - if (intoThisIndex >= indexOfFirstShownFix && intoThisIndex <= indexOfLastShownFix) { + if (tail != null && intoThisIndex >= indexOfFirstShownFix && intoThisIndex <= indexOfLastShownFix) { tail.insertVertex(intoThisIndex - indexOfFirstShownFix, LatLng.newInstance(mergeThisFix.position.latDeg, mergeThisFix.position.lngDeg)); } @@ -552,7 +555,7 @@ public class RaceMapPanel extends FormPanel implements EventDisplayer, TimeListe map.addOverlay(tail); } else { updateTail(tail, competitorDAO, from, to); - competitorDAOsOfUnusedTails.remove(tail); + competitorDAOsOfUnusedTails.remove(competitorDAO); } LatLngBounds bounds = tail.getBounds(); if (newMapBounds == null) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TrackedEventsComposite.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TrackedEventsComposite.java index 8ca37e2c2d0..1dd8f75b79e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TrackedEventsComposite.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TrackedEventsComposite.java @@ -248,13 +248,11 @@ public class TrackedEventsComposite extends FormPanel implements EventDisplayer, if(events.size() == 0) { raceTable.setVisible(false); btnRemove.setVisible(false); - btnRefresh.setVisible(false); noTrackedRacesLabel.setVisible(true); } else { raceTable.setVisible(true); if(eventRefresher != null) { btnRemove.setVisible(true); - btnRefresh.setVisible(true); } noTrackedRacesLabel.setVisible(false); } diff --git a/java/target/configuration/logging.properties b/java/target/configuration/logging.properties index aead36cc9a3..5da370f6dfd 100644 --- a/java/target/configuration/logging.properties +++ b/java/target/configuration/logging.properties @@ -7,8 +7,8 @@ handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler # fileHandler specific properties java.util.logging.FileHandler.level = ALL java.util.logging.FileHandler.pattern = sailing%u.log -java.util.logging.FileHandler.limit = 50000 -java.util.logging.FileHandler.count = 1 +java.util.logging.FileHandler.limit = 50000000 +java.util.logging.FileHandler.count = 10 java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter # consoleHandler specific properties diff --git a/java/target/configuration/logging_debug.properties b/java/target/configuration/logging_debug.properties index 5aba611990f..e047b6feff2 100644 --- a/java/target/configuration/logging_debug.properties +++ b/java/target/configuration/logging_debug.properties @@ -7,8 +7,8 @@ handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler # fileHandler specific properties java.util.logging.FileHandler.level = ALL java.util.logging.FileHandler.pattern = sailing_debug%u.log -java.util.logging.FileHandler.limit = 50000 -java.util.logging.FileHandler.count = 1 +java.util.logging.FileHandler.limit = 50000000 +java.util.logging.FileHandler.count = 10 java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter # consoleHandler specific properties diff --git a/java/target/start b/java/target/start index fd442405298..5c75b0f87f3 100755 --- a/java/target/start +++ b/java/target/start @@ -1 +1 @@ -java -Dfile.encoding=cp1252 -Xmx2048m -jar plugins/org.eclipse.equinox.launcher_1.2.0.v20110124-0830.jar -console -configuration ./ +java -Dfile.encoding=cp1252 -Djava.util.logging.config.file=configuration/logging.properties -Xmx2048m -jar plugins/org.eclipse.equinox.launcher_1.2.0.v20110124-0830.jar -console -configuration ./ diff --git a/java/target/swisstiminglistener b/java/target/swisstiminglistener index 2f702a1d8ae..58bc3fa6712 100755 --- a/java/target/swisstiminglistener +++ b/java/target/swisstiminglistener @@ -1,4 +1,4 @@ #!/bin/sh classpath=`find plugins -name 'org.eclipse.osgi_*.jar' | sort | tail -1`:`find plugins -name 'com.sap.sailing.mongodb-*. jar' | sort | tail -1`:`find plugins -name 'com.sap.sailing.domain-*.jar' | sort | tail -1`:`find plugins -name 'com.sap.sailing.udpconnector-*.jar' | sort | tail -1`:`find plugins -name 'com.sap.sailing.domain.swisstimingadapter-*.jar' | sort | tail -1`:`find plugins -name 'com.sap.sailing.domain.swisstimingadapter.persistence-*.jar' | sort | tail -1`:plugins/mongo-2.6.2.jar echo Using classpath $classpath -java -cp "$classpath" -Dmongo.port=10201 -Djava.util.logging.config.file=swisstiminglistenerLog.properties swiss com.sap.sailing.domain.swisstimingadapter.persistence.StoreAndForward $* +java -cp "$classpath" -Dmongo.port=10201 -Djava.util.logging.config.file=swisstiminglistenerLog.properties com.sap.sailing.domain.swisstimingadapter.persistence.StoreAndForward $* diff --git a/java/target/swisstiminglistenerLog.properties b/java/target/swisstiminglistenerLog.properties index 16798499913..4a09de5524d 100644 --- a/java/target/swisstiminglistenerLog.properties +++ b/java/target/swisstiminglistenerLog.properties @@ -7,8 +7,8 @@ handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler # fileHandler specific properties java.util.logging.FileHandler.level = ALL java.util.logging.FileHandler.pattern = swisstiminglistener%u.log -java.util.logging.FileHandler.limit = 50000 -java.util.logging.FileHandler.count = 1 +java.util.logging.FileHandler.limit = 50000000 +java.util.logging.FileHandler.count = 10 java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter # consoleHandler specific properties diff --git a/java/target/udpmirrorLog.properties b/java/target/udpmirrorLog.properties index 6570961229c..116aba481c3 100644 --- a/java/target/udpmirrorLog.properties +++ b/java/target/udpmirrorLog.properties @@ -7,8 +7,8 @@ handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler # fileHandler specific properties java.util.logging.FileHandler.level = ALL java.util.logging.FileHandler.pattern = udpmirror%u.log -java.util.logging.FileHandler.limit = 50000 -java.util.logging.FileHandler.count = 1 +java.util.logging.FileHandler.limit = 50000000 +java.util.logging.FileHandler.count = 10 java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter # consoleHandler specific properties