getGpsTrack() {
+ return gpsTrack;
+ }
+
+ /**
+ * Sets the {@link #gpsTrack} field and registers a cache invalidation listener
+ * on the {@code gpsTrack} to ensure that the foiling distance is invalidated if needed.
+ *
+ * Must be called only once for a non-{@code null} {@code gpsTrack}.
+ */
+ protected void setGpsTrack(GPSFixTrack gpsTrack) {
+ if (gpsTrack != null) {
+ assert this.gpsTrack == null;
+ }
this.gpsTrack = gpsTrack;
if (gpsTrack != null) {
gpsTrack.addListener(new CacheInvalidationGpsTrackListener());
@@ -119,9 +136,6 @@ public class BravoFixTrackImpl extends S
this.foilingTimeCache = createFoilingTimeCache(getTrackedItem());
this.foilingDistanceCache = createFoilingDistanceCache(getTrackedItem());
this.averageRideHeightCache = createAverageRideHeightCache(getTrackedItem());
- if (gpsTrack != null) {
- gpsTrack.addListener(new CacheInvalidationGpsTrackListener());
- }
}
@Override
@@ -215,8 +229,8 @@ public class BravoFixTrackImpl extends S
@Override
public Distance getDistanceSpentFoiling(TimePoint from, TimePoint to) {
- assert gpsTrack != null;
- return getValueSum(from, to, /* nullElement */ Distance.NULL, Distance::add, foilingDistanceCache,
+ return getGpsTrack() == null ? null :
+ getValueSum(from, to, /* nullElement */ Distance.NULL, Distance::add, foilingDistanceCache,
/* valueCalculator */ new Track.TimeRangeValueCalculator() {
@Override
public Distance calculate(TimePoint from, TimePoint to) {
@@ -226,7 +240,7 @@ public class BravoFixTrackImpl extends S
for (final BravoFix fix : getFixes(from, true, to, true)) {
final boolean fixFoils = isFoiling(fix);
if (isFoiling && fixFoils) {
- result = result.add(gpsTrack.getDistanceTraveled(last, fix.getTimePoint()));
+ result = result.add(getGpsTrack().getDistanceTraveled(last, fix.getTimePoint()));
}
last = fix.getTimePoint();
isFoiling = fixFoils;
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/CompetitorBravoFixTrackImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/CompetitorBravoFixTrackImpl.java
new file mode 100755
index 00000000000..261e1393c4e
--- /dev/null
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/CompetitorBravoFixTrackImpl.java
@@ -0,0 +1,26 @@
+package com.sap.sailing.domain.tracking.impl;
+
+import com.sap.sailing.domain.base.Competitor;
+import com.sap.sailing.domain.common.tracking.GPSFixMoving;
+import com.sap.sailing.domain.tracking.GPSFixTrack;
+import com.sap.sailing.domain.tracking.TrackedRace;
+
+public class CompetitorBravoFixTrackImpl extends BravoFixTrackImpl {
+ private static final long serialVersionUID = 569731925060211875L;
+
+ public CompetitorBravoFixTrackImpl(Competitor trackedItem, String trackName, boolean hasExtendedFixes,
+ GPSFixTrack gpsTrack) {
+ super(trackedItem, trackName, hasExtendedFixes, gpsTrack);
+ }
+
+ public CompetitorBravoFixTrackImpl(Competitor trackedItem, String trackName, boolean hasExtendedFixes) {
+ super(trackedItem, trackName, hasExtendedFixes);
+ }
+
+ @Override
+ public void addedToTrackedRace(TrackedRace trackedRace) {
+ if (this.getGpsTrack() == null) {
+ this.setGpsTrack(trackedRace.getTrack(getTrackedItem()));
+ }
+ }
+}
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceImpl.java
index 66312ec0b68..1639d123330 100644
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceImpl.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceImpl.java
@@ -13,6 +13,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.NavigableSet;
+import java.util.Optional;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Level;
@@ -609,7 +610,7 @@ DynamicTrackedRace, GPSTrackListener {
notifyListeners(listener -> listener.markPassingReceived(competitor, oldMarkPassings, markPassings));
}
- private void notifyListeners(DynamicSensorFixTrack track) {
+ private void notifyListenersAboutSensorTrackAdded(DynamicSensorFixTrack track) {
notifyListeners(listener -> listener.competitorSensorTrackAdded(track));
}
@@ -1206,7 +1207,7 @@ DynamicTrackedRace, GPSTrackListener {
}
@Override
- protected void addSensorTrackInternal(Pair key,
+ protected Optional addSensorTrackInternal(Pair key,
DynamicSensorFixTrack track) {
super.addSensorTrackInternal(key, track);
track.addListener(new SensorFixTrackListener() {
@@ -1222,6 +1223,6 @@ DynamicTrackedRace, GPSTrackListener {
notifyListeners(item, trackName, fix);
}
});
- notifyListeners(track);
+ return Optional.of(()->notifyListenersAboutSensorTrackAdded(track));
}
}
diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java
index 3767441eff5..7df4f68bd5a 100755
--- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java
+++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java
@@ -19,6 +19,7 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.NavigableSet;
+import java.util.Optional;
import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
@@ -124,7 +125,6 @@ import com.sap.sailing.domain.ranking.RankingMetric.RankingInfo;
import com.sap.sailing.domain.ranking.RankingMetricConstructor;
import com.sap.sailing.domain.tracking.BravoFixTrack;
import com.sap.sailing.domain.tracking.DynamicSensorFixTrack;
-import com.sap.sailing.domain.tracking.DynamicTrack;
import com.sap.sailing.domain.tracking.GPSFixTrack;
import com.sap.sailing.domain.tracking.GPSTrackListener;
import com.sap.sailing.domain.tracking.LineDetails;
@@ -303,11 +303,11 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
private final ConcurrentMap> markTracks;
/**
- * Mapping of {@link Competitor} to generic {@link DynamicTrack} implementation. Because the same competitor could
+ * Mapping of {@link Competitor} to generic {@link DynamicSensorFixTrack} implementation. Because the same competitor could
* be mapped to several different tracks, a combined key of competitor object and track name identifier string is
* used. This identifier is usually defined within the track interface (e.g. see {@link BravoFixTrack#TRACK_NAME}).
*/
- private final Map, DynamicTrack>> sensorTracks;
+ private final Map, DynamicSensorFixTrack> sensorTracks;
private final Map courseSidelines;
@@ -635,6 +635,9 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException, PatchFailedException {
ois.defaultReadObject();
getRace().getCourse().addCourseListener(this);
+ for (DynamicSensorFixTrack sensorTrack : sensorTracks.values()) {
+ sensorTrack.addedToTrackedRace(this);
+ }
raceStates = new WeakHashMap<>();
attachedRaceLogs = new ConcurrentHashMap<>();
attachedRegattaLogs = new ConcurrentHashMap<>();
@@ -4147,40 +4150,54 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
protected > TrackT getOrCreateSensorTrack(
Competitor competitor, String trackName, TrackFactory newTrackFactory) {
Pair key = new Pair<>(competitor, trackName);
+ Optional executeAfterReleasingLock = Optional.empty();
+ TrackT result;
LockUtil.lockForWrite(sensorTracksLock);
try {
- TrackT result = getTrackInternal(key);
+ result = getTrackInternal(key);
if (result == null && tracks.containsKey(competitor)) {
// A track is only added if the given Competitor is known to participate in this race
result = newTrackFactory.get();
- addSensorTrackInternal(key, result);
+ executeAfterReleasingLock = addSensorTrackInternal(key, result);
}
- return result;
} finally {
LockUtil.unlockAfterWrite(sensorTracksLock);
}
+ executeAfterReleasingLock.ifPresent(r->r.run());
+ return result;
}
protected void addSensorTrack(Competitor competitor, String trackName, DynamicSensorFixTrack track) {
Pair key = new Pair<>(competitor, trackName);
+ Optional executeAfterReleasingLock = Optional.empty();
LockUtil.lockForWrite(sensorTracksLock);
try {
- if(getTrackInternal(key) != null) {
+ if (getTrackInternal(key) != null) {
if (logger != null && logger.getLevel() != null && logger.getLevel().equals(Level.WARNING)) {
logger.warning(SensorFixTrack.class.getName() + " already exists for competitor: "
+ competitor.getName() + "; trackName: " + trackName);
}
} else {
- this.addSensorTrackInternal(key, track);
+ executeAfterReleasingLock = this.addSensorTrackInternal(key, track);
}
} finally {
LockUtil.unlockAfterWrite(sensorTracksLock);
}
+ executeAfterReleasingLock.ifPresent(r->r.run());
}
- protected void addSensorTrackInternal(Pair key,
+ /**
+ * To call this method, the caller must have obtained the write lock of {@link #sensorTracksLock}.
+ * Optionally, the method may return a {@link Runnable} to execute after the lock has been released.
+ * This may, e.g., be a routine that notifies listeners. Callers are responsible for invoking this
+ * {@link Runnable} after releasing the write lock.
+ */
+ protected Optional addSensorTrackInternal(Pair key,
DynamicSensorFixTrack track) {
+ assert sensorTracksLock.isWriteLockedByCurrentThread();
sensorTracks.put(key, track);
+ track.addedToTrackedRace(this);
+ return Optional.empty();
}
@SuppressWarnings("unchecked")
diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/LeaderboardPanelMock.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/LeaderboardPanelMock.java
index ae1cbeca491..d2933a8ec39 100644
--- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/LeaderboardPanelMock.java
+++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/LeaderboardPanelMock.java
@@ -5,6 +5,7 @@ import com.sap.sailing.domain.common.dto.LeaderboardRowDTO;
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
import com.sap.sailing.gwt.settings.client.leaderboard.MultiRaceLeaderboardSettings;
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
+import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.controls.AbstractSortableColumnWithMinMax;
@@ -22,7 +23,8 @@ public class LeaderboardPanelMock extends MultiRaceLeaderboardPanel {
super(null, null, sailingService, new AsyncActionsExecutor(), new MultiRaceLeaderboardSettings(),
new CompetitorSelectionModel(
/* hasMultiSelection */true),
- leaderboardName, errorReporter, stringMessages, /* showRaceDetails */ true,new ClassicLeaderboardStyle());
+ leaderboardName, errorReporter, stringMessages, /* showRaceDetails */ true, new ClassicLeaderboardStyle(),
+ FlagImageResolverImpl.get());
}
@Override
diff --git a/java/com.sap.sailing.gwt.ui/.classpath b/java/com.sap.sailing.gwt.ui/.classpath
index 25492d6c805..0c0806e47ed 100644
--- a/java/com.sap.sailing.gwt.ui/.classpath
+++ b/java/com.sap.sailing.gwt.ui/.classpath
@@ -5,7 +5,6 @@
-
diff --git a/java/com.sap.sailing.gwt.ui/.settings/com.google.gwt.eclipse.core.prefs b/java/com.sap.sailing.gwt.ui/.settings/com.google.gwt.eclipse.core.prefs
index 921d65007f4..3c1127d3fc9 100755
--- a/java/com.sap.sailing.gwt.ui/.settings/com.google.gwt.eclipse.core.prefs
+++ b/java/com.sap.sailing.gwt.ui/.settings/com.google.gwt.eclipse.core.prefs
@@ -1,4 +1,4 @@
eclipse.preferences.version=1
entryPointModules=
filesCopiedToWebInfLib=gwt-servlet.jar
-gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgLiAtbG9jYWxXb3JrZXJzIDE1IC1zdHJpY3QgLWxvZ0xldmVsIFRSQUNFXV0+PC9leHRyYS1hcmdzPjx2bS1hcmdzPjwhW0NEQVRBWy1YbXgyMDI0bSAtRGd3dC51c2VhcmNoaXZlcz1mYWxzZV1dPjwvdm0tYXJncz48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuQWRtaW5Db25zb2xlPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLlJhY2VCb2FyZDwvZW50cnktcG9pbnQtbW9kdWxlPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmd3dC5ob21lLkhvbWU8L2VudHJ5LXBvaW50LW1vZHVsZT48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuTGVhZGVyYm9hcmRFZGl0aW5nPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLkxlYWRlcmJvYXJkPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnJlZ2F0dGFvdmVydmlldy5SZWdhdHRhT3ZlcnZpZXc8L2VudHJ5LXBvaW50LW1vZHVsZT48L2d3dC1jb21waWxlLXNldHRpbmdzPg\=\=
+gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgLiAtbG9jYWxXb3JrZXJzIDE1IC1zdHJpY3QgLWxvZ0xldmVsIFRSQUNFIC1YZnJhZ21lbnRDb3VudCA0XV0+PC9leHRyYS1hcmdzPjx2bS1hcmdzPjwhW0NEQVRBWy1YbXgyMDI0bSAtRGd3dC51c2VhcmNoaXZlcz1mYWxzZV1dPjwvdm0tYXJncz48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuQWRtaW5Db25zb2xlPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLlJhY2VCb2FyZDwvZW50cnktcG9pbnQtbW9kdWxlPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmd3dC5ob21lLkhvbWU8L2VudHJ5LXBvaW50LW1vZHVsZT48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuTGVhZGVyYm9hcmRFZGl0aW5nPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLkxlYWRlcmJvYXJkPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnJlZ2F0dGFvdmVydmlldy5SZWdhdHRhT3ZlcnZpZXc8L2VudHJ5LXBvaW50LW1vZHVsZT48L2d3dC1jb21waWxlLXNldHRpbmdzPg\=\=
diff --git a/java/com.sap.sailing.gwt.ui/AdminConsole.html b/java/com.sap.sailing.gwt.ui/AdminConsole.html
index d170f37244a..d190c40335c 100644
--- a/java/com.sap.sailing.gwt.ui/AdminConsole.html
+++ b/java/com.sap.sailing.gwt.ui/AdminConsole.html
@@ -26,8 +26,6 @@
-
-
diff --git a/java/com.sap.sailing.gwt.ui/AdminConsoleDateTimePicker.css b/java/com.sap.sailing.gwt.ui/AdminConsoleDateTimePicker.css
deleted file mode 100644
index f93eb68fa0b..00000000000
--- a/java/com.sap.sailing.gwt.ui/AdminConsoleDateTimePicker.css
+++ /dev/null
@@ -1,88 +0,0 @@
-/*!
- * Extracted from Bootstrap v3.0.2 by @fat and @mdo
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- */
-
-.table-condensed > thead > tr > th,
-.table-condensed > tbody > tr > th,
-.table-condensed > tfoot > tr > th,
-.table-condensed > thead > tr > td,
-.table-condensed > tbody > tr > td,
-.table-condensed > tfoot > tr > td {
- padding: 5px;
-}
-
-.dropdown-menu {
- position: absolute;
- top: 100%;
- left: 0;
- z-index: 1000;
- display: none;
- float: left;
- min-width: 160px;
- padding: 5px 0;
- margin: 2px 0 0;
- font-size: 14px;
- list-style: none;
- background-color: #ffffff;
- border: 1px solid #cccccc;
- border: 1px solid rgba(0, 0, 0, 0.15);
- border-radius: 4px;
- -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
- box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
- background-clip: padding-box;
-}
-
-.dropdown-menu.pull-right {
- right: 0;
- left: auto;
-}
-
-.dropdown-menu .divider {
- height: 1px;
- margin: 9px 0;
- overflow: hidden;
- background-color: #e5e5e5;
-}
-
-.dropdown-menu > li > a {
- display: block;
- padding: 3px 20px;
- clear: both;
- font-weight: normal;
- line-height: 1.428571429;
- color: #333333;
- white-space: nowrap;
-}
-
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
- color: #262626;
- text-decoration: none;
- background-color: #f5f5f5;
-}
-
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
- color: #ffffff;
- text-decoration: none;
- background-color: #428bca;
- outline: 0;
-}
-
-.dropdown-menu > .disabled > a,
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- color: #999999;
-}
-
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- text-decoration: none;
- cursor: not-allowed;
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
\ No newline at end of file
diff --git a/java/com.sap.sailing.gwt.ui/AdminConsoleProgressBar.css b/java/com.sap.sailing.gwt.ui/AdminConsoleProgressBar.css
deleted file mode 100644
index 334d55d5173..00000000000
--- a/java/com.sap.sailing.gwt.ui/AdminConsoleProgressBar.css
+++ /dev/null
@@ -1,226 +0,0 @@
-/*!
- * Bootstrap v2.3.2
- *
- * Copyright 2013 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-.clearfix {
- *zoom: 1;
-}
-.clearfix:before,
-.clearfix:after {
- display: table;
- content: "";
- line-height: 0;
-}
-.clearfix:after {
- clear: both;
-}
-.hide-text {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
-}
-.input-block-level {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-@-webkit-keyframes progress-bar-stripes {
- from {
- background-position: 40px 0;
- }
- to {
- background-position: 0 0;
- }
-}
-@-moz-keyframes progress-bar-stripes {
- from {
- background-position: 40px 0;
- }
- to {
- background-position: 0 0;
- }
-}
-@-ms-keyframes progress-bar-stripes {
- from {
- background-position: 40px 0;
- }
- to {
- background-position: 0 0;
- }
-}
-@-o-keyframes progress-bar-stripes {
- from {
- background-position: 0 0;
- }
- to {
- background-position: 40px 0;
- }
-}
-@keyframes progress-bar-stripes {
- from {
- background-position: 40px 0;
- }
- to {
- background-position: 0 0;
- }
-}
-.progress {
- overflow: hidden;
- height: 20px;
- margin-bottom: 20px;
- background-color: #f7f7f7;
- background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
- background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
- background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
- background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
- -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-.progress .bar {
- width: 0%;
- height: 100%;
- color: #ffffff;
- float: left;
- font-size: 12px;
- text-align: center;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #0e90d2;
- background-image: -moz-linear-gradient(top, #149bdf, #0480be);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
- background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
- background-image: -o-linear-gradient(top, #149bdf, #0480be);
- background-image: linear-gradient(to bottom, #149bdf, #0480be);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
- -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
- -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
- box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-transition: width 0.6s ease;
- -moz-transition: width 0.6s ease;
- -o-transition: width 0.6s ease;
- transition: width 0.6s ease;
-}
-.progress .bar + .bar {
- -webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
- -moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
- box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
-}
-.progress-striped .bar {
- background-color: #149bdf;
- background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- -webkit-background-size: 40px 40px;
- -moz-background-size: 40px 40px;
- -o-background-size: 40px 40px;
- background-size: 40px 40px;
-}
-.progress.active .bar {
- -webkit-animation: progress-bar-stripes 2s linear infinite;
- -moz-animation: progress-bar-stripes 2s linear infinite;
- -ms-animation: progress-bar-stripes 2s linear infinite;
- -o-animation: progress-bar-stripes 2s linear infinite;
- animation: progress-bar-stripes 2s linear infinite;
-}
-.progress-danger .bar,
-.progress .bar-danger {
- background-color: #dd514c;
- background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
- background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
- background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
- background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
-}
-.progress-danger.progress-striped .bar,
-.progress-striped .bar-danger {
- background-color: #ee5f5b;
- background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-success .bar,
-.progress .bar-success {
- background-color: #5eb95e;
- background-image: -moz-linear-gradient(top, #62c462, #57a957);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
- background-image: -webkit-linear-gradient(top, #62c462, #57a957);
- background-image: -o-linear-gradient(top, #62c462, #57a957);
- background-image: linear-gradient(to bottom, #62c462, #57a957);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
-}
-.progress-success.progress-striped .bar,
-.progress-striped .bar-success {
- background-color: #62c462;
- background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-info .bar,
-.progress .bar-info {
- background-color: #4bb1cf;
- background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
- background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
- background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
- background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
-}
-.progress-info.progress-striped .bar,
-.progress-striped .bar-info {
- background-color: #5bc0de;
- background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-warning .bar,
-.progress .bar-warning {
- background-color: #faa732;
- background-image: -moz-linear-gradient(top, #fbb450, #f89406);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
- background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
- background-image: -o-linear-gradient(top, #fbb450, #f89406);
- background-image: linear-gradient(to bottom, #fbb450, #f89406);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
-}
-.progress-warning.progress-striped .bar,
-.progress-striped .bar-warning {
- background-color: #fbb450;
- background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
diff --git a/java/com.sap.sailing.gwt.ui/META-INF/MANIFEST.MF b/java/com.sap.sailing.gwt.ui/META-INF/MANIFEST.MF
index 3d652f0ac0f..727f66c89e5 100644
--- a/java/com.sap.sailing.gwt.ui/META-INF/MANIFEST.MF
+++ b/java/com.sap.sailing.gwt.ui/META-INF/MANIFEST.MF
@@ -69,8 +69,7 @@ Import-Package: javax.servlet;version="3.1.0",
Web-ContextPath: /gwt
Bundle-ClassPath: WEB-INF/classes/,
WEB-INF/lib/gwt-maps-api-3.9.0-build-17.jar,
- WEB-INF/lib/gwt-ajaxloader.jar,
- WEB-INF/lib/gwt-bootstrap-2.3.2.0.jar
+ WEB-INF/lib/gwt-ajaxloader.jar
TrackLifecycle: true
Export-Package: com.google.gwt.user.client.rpc.core.com.sap.sailing.domain.common.confidence.impl,
com.google.gwt.user.client.rpc.core.com.sap.sailing.domain.common.impl,
diff --git a/java/com.sap.sailing.gwt.ui/build.properties b/java/com.sap.sailing.gwt.ui/build.properties
index af3bac71c6f..fde222c526b 100644
--- a/java/com.sap.sailing.gwt.ui/build.properties
+++ b/java/com.sap.sailing.gwt.ui/build.properties
@@ -37,10 +37,8 @@ bin.includes = META-INF/,\
com.sap.sailing.gwt.ui.DataMining/,\
DataMining.css,\
DataMining.html,\
- AdminConsoleDateTimePicker.css,\
qrcode/,\
js/,\
- AdminConsoleProgressBar.css,\
AutoPlay.css,\
AutoPlay.html,\
Home.css,\
diff --git a/java/com.sap.sailing.gwt.ui/images/close.png b/java/com.sap.sailing.gwt.ui/images/close.png
deleted file mode 100755
index ed7e8b88a36..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/close.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/dialogBox-bg.png b/java/com.sap.sailing.gwt.ui/images/dialogBox-bg.png
deleted file mode 100644
index 720ad5597ea..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/dialogBox-bg.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/dots-vertical.png b/java/com.sap.sailing.gwt.ui/images/dots-vertical.png
deleted file mode 100755
index fd2521a195d..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/dots-vertical.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/facebook-icon.png b/java/com.sap.sailing.gwt.ui/images/facebook-icon.png
deleted file mode 100755
index f92eea547fc..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/facebook-icon.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/functionBar_bg.png b/java/com.sap.sailing.gwt.ui/images/functionBar_bg.png
deleted file mode 100644
index 80320be7d08..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/functionBar_bg.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/appstore.png b/java/com.sap.sailing.gwt.ui/images/home/appstore.png
deleted file mode 100644
index e57e024dc21..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/appstore.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/arrow-grey-right.png b/java/com.sap.sailing.gwt.ui/images/home/arrow-grey-right.png
deleted file mode 100644
index cb174da3416..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/arrow-grey-right.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/autoplay.svg b/java/com.sap.sailing.gwt.ui/images/home/autoplay.svg
deleted file mode 100644
index 2ef3036f68d..00000000000
--- a/java/com.sap.sailing.gwt.ui/images/home/autoplay.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
diff --git a/java/com.sap.sailing.gwt.ui/images/home/banner-background.jpg b/java/com.sap.sailing.gwt.ui/images/home/banner-background.jpg
deleted file mode 100755
index 952cd2dcf53..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/banner-background.jpg and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/breadcrumb-arrow.png b/java/com.sap.sailing.gwt.ui/images/home/breadcrumb-arrow.png
deleted file mode 100644
index 2c456ead3a9..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/breadcrumb-arrow.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/busy_indicator.gif b/java/com.sap.sailing.gwt.ui/images/home/busy_indicator.gif
deleted file mode 100644
index ed72b117dd9..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/busy_indicator.gif and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/dropdown__button--arrow@2x.png b/java/com.sap.sailing.gwt.ui/images/home/dropdown__button--arrow@2x.png
deleted file mode 100644
index 5ec5ecafb08..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/dropdown__button--arrow@2x.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/email-icon.png b/java/com.sap.sailing.gwt.ui/images/home/email-icon.png
deleted file mode 100644
index 5622438bc2b..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/email-icon.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/facebook-icon.png b/java/com.sap.sailing.gwt.ui/images/home/facebook-icon.png
deleted file mode 100644
index f92eea547fc..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/facebook-icon.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/facebook.svg b/java/com.sap.sailing.gwt.ui/images/home/facebook.svg
deleted file mode 100644
index c12e1f9afed..00000000000
--- a/java/com.sap.sailing.gwt.ui/images/home/facebook.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/java/com.sap.sailing.gwt.ui/images/home/fleet-icon.png b/java/com.sap.sailing.gwt.ui/images/home/fleet-icon.png
deleted file mode 100644
index a8d5e1952e9..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/fleet-icon.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/race-features-icons.png b/java/com.sap.sailing.gwt.ui/images/home/race-features-icons.png
deleted file mode 100644
index a8129e7dfe5..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/race-features-icons.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/regatta-boatclass_sample.png b/java/com.sap.sailing.gwt.ui/images/home/regatta-boatclass_sample.png
deleted file mode 100644
index 16dac33ad73..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/regatta-boatclass_sample.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/search-icon@2x.png b/java/com.sap.sailing.gwt.ui/images/home/search-icon@2x.png
deleted file mode 100644
index 9a9c7f5b691..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/search-icon@2x.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/skip-forward.png b/java/com.sap.sailing.gwt.ui/images/home/skip-forward.png
deleted file mode 100644
index 4567a884622..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/skip-forward.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/solutions-post-trimmed.png b/java/com.sap.sailing.gwt.ui/images/home/solutions-post-trimmed.png
deleted file mode 100644
index afd31c1255c..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/solutions-post-trimmed.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/solutions-race.png b/java/com.sap.sailing.gwt.ui/images/home/solutions-race.png
deleted file mode 100644
index 8669f2b2461..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/solutions-race.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/solutions-sap-trimmed.png b/java/com.sap.sailing.gwt.ui/images/home/solutions-sap-trimmed.png
deleted file mode 100644
index d835a09e7ec..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/solutions-sap-trimmed.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/solutions-simulator-trimmed.png b/java/com.sap.sailing.gwt.ui/images/home/solutions-simulator-trimmed.png
deleted file mode 100644
index 522e7eeedd4..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/solutions-simulator-trimmed.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/twitter-icon.png b/java/com.sap.sailing.gwt.ui/images/home/twitter-icon.png
deleted file mode 100644
index 3777d29b9bd..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/twitter-icon.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/home/x_lightbox.png b/java/com.sap.sailing.gwt.ui/images/home/x_lightbox.png
deleted file mode 100644
index 108bc616c66..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/home/x_lightbox.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/location-icon.png b/java/com.sap.sailing.gwt.ui/images/location-icon.png
deleted file mode 100755
index 737b6e4e2d0..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/location-icon.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/arrow-down-grey.png b/java/com.sap.sailing.gwt.ui/images/mobile/arrow-down-grey.png
deleted file mode 100644
index 85a2c447304..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/arrow-down-grey.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/arrow-grey-right.png b/java/com.sap.sailing.gwt.ui/images/mobile/arrow-grey-right.png
deleted file mode 100644
index cb174da3416..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/arrow-grey-right.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-post-trimmed.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-post-trimmed.png
deleted file mode 100644
index afd31c1255c..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-post-trimmed.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-post.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-post.png
deleted file mode 100644
index 181ffb806e1..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-post.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-race.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-race.png
deleted file mode 100644
index 04d33096e98..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-race.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-in-sailing.jpg b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-in-sailing.jpg
deleted file mode 100644
index 21e0e622b58..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-in-sailing.jpg and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-sailing-buoy-pinger.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-sailing-buoy-pinger.png
deleted file mode 100644
index 9268583d7c9..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-sailing-buoy-pinger.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-sailing-insight.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-sailing-insight.png
deleted file mode 100644
index 950a8dc9b6d..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-sailing-insight.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-trimmed.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-trimmed.png
deleted file mode 100644
index 7ddb8892e5c..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap-trimmed.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap.png
deleted file mode 100644
index be54e426e8e..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-sap.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-simulator.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-simulator.png
deleted file mode 100644
index 9123f6fccaf..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-simulator.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-training.png b/java/com.sap.sailing.gwt.ui/images/mobile/solutions-training.png
deleted file mode 100644
index f3369a8714a..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/mobile/solutions-training.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/open.png b/java/com.sap.sailing.gwt.ui/images/open.png
deleted file mode 100755
index 188ce723171..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/open.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/play-icon.png b/java/com.sap.sailing.gwt.ui/images/play-icon.png
deleted file mode 100755
index 036ad2ddd79..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/play-icon.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/regatta-finished-icon.png b/java/com.sap.sailing.gwt.ui/images/regatta-finished-icon.png
deleted file mode 100755
index ef28e315fa8..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/regatta-finished-icon.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/regatta-upcoming-icon.png b/java/com.sap.sailing.gwt.ui/images/regatta-upcoming-icon.png
deleted file mode 100755
index 6b9c5eeb4d1..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/regatta-upcoming-icon.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/settings.png b/java/com.sap.sailing.gwt.ui/images/settings.png
deleted file mode 100644
index 6944926cdd9..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/settings.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/settingsDialog_bg.png b/java/com.sap.sailing.gwt.ui/images/settingsDialog_bg.png
deleted file mode 100644
index 45f519b30b8..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/settingsDialog_bg.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/settings_black.png b/java/com.sap.sailing.gwt.ui/images/settings_black.png
deleted file mode 100644
index a1969e23b01..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/settings_black.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/timeslider-speed.png b/java/com.sap.sailing.gwt.ui/images/timeslider-speed.png
deleted file mode 100644
index 7c681a73bc7..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/timeslider-speed.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/twitter-icon.png b/java/com.sap.sailing.gwt.ui/images/twitter-icon.png
deleted file mode 100755
index 3777d29b9bd..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/twitter-icon.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/weather-sunny.png b/java/com.sap.sailing.gwt.ui/images/weather-sunny.png
deleted file mode 100755
index 010b1a5eccc..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/weather-sunny.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/weather-wind-direction.png b/java/com.sap.sailing.gwt.ui/images/weather-wind-direction.png
deleted file mode 100755
index b293914c8a2..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/weather-wind-direction.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/images/weather-wind-speed.png b/java/com.sap.sailing.gwt.ui/images/weather-wind-speed.png
deleted file mode 100755
index 7273e44e1c3..00000000000
Binary files a/java/com.sap.sailing.gwt.ui/images/weather-wind-speed.png and /dev/null differ
diff --git a/java/com.sap.sailing.gwt.ui/imprint.json b/java/com.sap.sailing.gwt.ui/imprint.json
index fd013e42c97..d2d6b2ff763 100644
--- a/java/com.sap.sailing.gwt.ui/imprint.json
+++ b/java/com.sap.sailing.gwt.ui/imprint.json
@@ -333,16 +333,6 @@
],
"key": "ASL2.0"
},
- {
- "name": "GWT-Bootstrap",
- "version": "2.3.2.0",
- "owner": "GWT-Bootstrap",
- "homepage": "http://gwtbootstrap.github.com/",
- "acknowledgements": [
- "Copyright ${year} GWT-Bootstrap"
- ],
- "key": "ASL2.0"
- },
{
"name": "gwt-google-apis",
"version": "ajaxloader-svn",
diff --git a/java/com.sap.sailing.gwt.ui/pom.xml b/java/com.sap.sailing.gwt.ui/pom.xml
index 101dc398344..4bb1324f74d 100755
--- a/java/com.sap.sailing.gwt.ui/pom.xml
+++ b/java/com.sap.sailing.gwt.ui/pom.xml
@@ -104,12 +104,6 @@
${project.version}
sources