Conflicts:
java/com.sap.sailing.feature.p2build/raceanalysis.product
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties
java/com.sap.sailing.server/SailingServer (No Proxy).launch
java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889).launch
java/com.sap.sailing.server/SailingServer (No Proxy, No Tests).launch
java/com.sap.sailing.server/SailingServer (No Proxy, Remote Debug SAP VM).launch
java/com.sap.sailing.server/SailingServer (Proxy).launch
java/com.sap.sailing.server/SailingServer (Proxy, Jetty on 8889).launch
java/com.sap.sailing.server/SailingServer (Proxy, SwissTiming Live Simulation).launch
the previous approach seems to have caused way too many task creations with a synchronized single-threaded
executor which had nothing to do but create, register and unregister cache invalidation listeners.
Now the class holds a map of cache invalidation listeners for the buoys of the first two waypoints.
This structure is updated when the waypoint sequence changes. Cache invalidations don't cause
changes in the listener structure.
Conflicts:
java/com.sap.sailing.gwt.ui.test/.gitignore
java/com.sap.sailing.gwt.ui.test/META-INF/MANIFEST.MF
java/com.sap.sailing.server.api/.project
java/com.sap.sailing.server.test/META-INF/MANIFEST.MF
java/com.sap.sailing.server/META-INF/MANIFEST.MF
java/com.sap.sailing.server/SailingServer (No Proxy).launch
java/com.sap.sailing.server/SailingServer (No Proxy, No Tests).launch
java/com.sap.sailing.server/SailingServer (No Proxy, Remote Debug SAP VM).launch
java/com.sap.sailing.server/SailingServer (Proxy).launch
java/com.sap.sailing.server/src/com/sap/sailing/server/impl/Activator.java