mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-17 11:19:15 +00:00
Merge branch 'master' of ssh://sapsailing.com/home/trac/git into bug1873
This commit is contained in:
Executable
+22
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Use like this:
|
||||
#
|
||||
# echo "MY_SECRET_ENV_VAR=\\\"some secret that may even contain blanks or = or &\\\"" | ./addSecret
|
||||
#
|
||||
# Copy stdin to SECRETS_TO_ADD
|
||||
SECRETS_TO_ADD=$( cat )
|
||||
SERVERS_PATH=/home/sailing/servers
|
||||
SECRETS_PATH=/root/secrets
|
||||
SECRETS_IN_APP_PATH=configuration/secrets
|
||||
FIND_ANALYTICS_SERVERS_SCRIPT="$( dirname ${0} )/findSailingAnalyticsServers"
|
||||
for IP in $( ${FIND_ANALYTICS_SERVERS_SCRIPT} ); do
|
||||
echo "Handling server with IP ${IP} ..."
|
||||
ssh root@$IP 'echo "Appending '${SECRETS_TO_ADD}' to '${SECRETS_PATH}'"
|
||||
echo "'${SECRETS_TO_ADD}'" >>'${SECRETS_PATH}'
|
||||
echo "Server directories:"
|
||||
for i in $( ls '${SERVERS_PATH}' ); do
|
||||
echo "Appending to '${SERVERS_PATH}'/${i}/'${SECRETS_IN_APP_PATH}'"
|
||||
echo "'${SECRETS_TO_ADD}'" >>'${SERVERS_PATH}'/${i}/'${SECRETS_IN_APP_PATH}'
|
||||
done'
|
||||
done
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
aws ec2 describe-instances --filters Name=tag-key,Values=sailing-analytics-server | jq -r '.Reservations[].Instances[].NetworkInterfaces[].PrivateIpAddresses[].Association.PublicIp'
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package com.sap.sailing.datamining.shared;
|
||||
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
|
||||
public class TackTypeSegmentsDataMiningSettings extends SerializableSettings {
|
||||
private static final long serialVersionUID = 3239182650750480678L;
|
||||
private final Duration minimumTackTypeSegmentDuration;
|
||||
private final Duration minimumDurationBetweenAdjacentTackTypeSegments;
|
||||
|
||||
public TackTypeSegmentsDataMiningSettings(Duration minimumTackTypeSegmentDuration, Duration minimumDurationBetweenAdjacentTackTypeSegments) {
|
||||
super();
|
||||
this.minimumTackTypeSegmentDuration = minimumTackTypeSegmentDuration;
|
||||
this.minimumDurationBetweenAdjacentTackTypeSegments = minimumDurationBetweenAdjacentTackTypeSegments;
|
||||
}
|
||||
|
||||
public Duration getMinimumTackTypeSegmentDuration() {
|
||||
return minimumTackTypeSegmentDuration;
|
||||
}
|
||||
public Duration getMinimumDurationBetweenAdjacentTackTypeSegments() {
|
||||
return minimumDurationBetweenAdjacentTackTypeSegments;
|
||||
}
|
||||
|
||||
public static TackTypeSegmentsDataMiningSettings createDefaultSettings() {
|
||||
return new TackTypeSegmentsDataMiningSettings(
|
||||
/* minimumTackTypeSegmentDuration */ null,
|
||||
/* minimumDurationBetweenAdjacentTackTypeSegments */ null);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,5 +12,8 @@ Import-Package: junit.framework;version="4.8.2",
|
||||
Require-Bundle: org.mockito.mockito-core;bundle-version="4.8.1",
|
||||
org.hamcrest;bundle-version="2.2.0",
|
||||
com.sap.sse.common,
|
||||
org.objenesis;bundle-version="2.1.0"
|
||||
org.objenesis;bundle-version="2.1.0",
|
||||
net.bytebuddy.byte-buddy;bundle-version="1.12.18",
|
||||
net.bytebuddy.byte-buddy-agent;bundle-version="1.12.18",
|
||||
com.sap.sailing.domain.test
|
||||
Automatic-Module-Name: com.sap.sailing.datamining.test
|
||||
|
||||
+194
@@ -0,0 +1,194 @@
|
||||
package com.sap.sailing.datamining.impl.components;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.datamining.data.HasLeaderboardContext;
|
||||
import com.sap.sailing.datamining.data.HasRaceOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.data.HasTackTypeSegmentContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedRaceContext;
|
||||
import com.sap.sailing.datamining.impl.data.LeaderboardWithContext;
|
||||
import com.sap.sailing.datamining.impl.data.RaceOfCompetitorWithContext;
|
||||
import com.sap.sailing.datamining.impl.data.TrackedRaceWithContext;
|
||||
import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.CompetitorWithBoat;
|
||||
import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.base.impl.CourseAreaImpl;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.impl.DegreePosition;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.common.tracking.impl.GPSFixMovingImpl;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl;
|
||||
import com.sap.sailing.domain.leaderboard.impl.LowPoint;
|
||||
import com.sap.sailing.domain.leaderboard.impl.ThresholdBasedResultDiscardingRuleImpl;
|
||||
import com.sap.sailing.domain.ranking.OneDesignRankingMetric;
|
||||
import com.sap.sailing.domain.test.StoredTrackBasedTest;
|
||||
import com.sap.sailing.domain.tracking.DynamicGPSFixTrack;
|
||||
import com.sap.sailing.domain.tracking.MarkPassing;
|
||||
import com.sap.sailing.domain.tracking.impl.DynamicTrackedRaceImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.MarkPassingImpl;
|
||||
import com.sap.sse.common.Distance;
|
||||
import com.sap.sse.common.Distance.NullDistance;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.DegreeBearingImpl;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
public class TestSegmentsTackType extends StoredTrackBasedTest {
|
||||
|
||||
private DynamicTrackedRaceImpl trackedRace;
|
||||
private CompetitorWithBoat competitorA;
|
||||
private HasRaceOfCompetitorContext raceOfCompContext;
|
||||
private TackTypeSegmentRetrievalProcessor resultTTSegmentsRetrieval;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
competitorA = createCompetitorWithBoat("A");
|
||||
trackedRace = createTestTrackedRace("TestRegatta", "TestRace", "F18", createCompetitorAndBoatsMap(competitorA),
|
||||
MillisecondsTimePoint.now(), /* useMarkPassingCalculator */ true, null,
|
||||
OneDesignRankingMetric::new);
|
||||
final Leaderboard leaderboard = new FlexibleLeaderboardImpl("Test",
|
||||
new ThresholdBasedResultDiscardingRuleImpl(new int[0]), new LowPoint(),
|
||||
new CourseAreaImpl("Here", UUID.randomUUID(), /* centerPosition */ null, /* radius */ null));
|
||||
final HasLeaderboardContext leaderboardContext = new LeaderboardWithContext(leaderboard, null);
|
||||
final HasTrackedRaceContext trackedRaceContext = new TrackedRaceWithContext(leaderboardContext,
|
||||
trackedRace.getTrackedRegatta().getRegatta(), null, null, trackedRace);
|
||||
raceOfCompContext = new RaceOfCompetitorWithContext(trackedRaceContext, competitorA, TackTypeSegmentsDataMiningSettings.createDefaultSettings());
|
||||
resultTTSegmentsRetrieval = new TackTypeSegmentRetrievalProcessor(null, Collections.emptySet(), TackTypeSegmentsDataMiningSettings.createDefaultSettings(), 0, null);
|
||||
}
|
||||
|
||||
private Iterable<HasTackTypeSegmentContext> retrieveData() {
|
||||
return resultTTSegmentsRetrieval.retrieveData(raceOfCompContext);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testingSegmentsAreNotNull() {
|
||||
// set up GPS fixes for competitor, as well as mark passings:
|
||||
DynamicGPSFixTrack<Competitor, GPSFixMoving> competitorATrack = trackedRace.getTrack(competitorA);
|
||||
final KnotSpeedWithBearingImpl sogCog = new KnotSpeedWithBearingImpl(10, new DegreeBearingImpl(45));
|
||||
TimePoint timePoint = trackedRace.getStartOfTracking().plus(10);
|
||||
GPSFixMovingImpl currentGPS = new GPSFixMovingImpl(new DegreePosition(54.4680424, 10.234451), timePoint, sogCog);
|
||||
final Duration timeBetweenFixes = Duration.ofMillis(490);
|
||||
for (int i=0; i<20; i++) {
|
||||
competitorATrack.addGPSFix(currentGPS);
|
||||
final Position currentPosition = sogCog.travelTo(currentGPS.getPosition(), timeBetweenFixes);
|
||||
timePoint = timePoint.plus(timeBetweenFixes);
|
||||
currentGPS = new GPSFixMovingImpl(currentPosition, timePoint, sogCog);
|
||||
}
|
||||
TimePoint markPassingTimePoint = trackedRace.getStartOfTracking().plus(20);
|
||||
final List<MarkPassing> markPassingsForCompetitor = new ArrayList<>();
|
||||
final Duration legDuration = Duration.ofSeconds(60);
|
||||
for (Waypoint waypoint : trackedRace.getRace().getCourse().getWaypoints()) {
|
||||
markPassingsForCompetitor.add(new MarkPassingImpl(markPassingTimePoint, waypoint, competitorA));
|
||||
markPassingTimePoint = markPassingTimePoint.plus(legDuration);
|
||||
}
|
||||
trackedRace.updateMarkPassings(competitorA, markPassingsForCompetitor);
|
||||
assertNotNull(trackedRace.getEndOfRace());
|
||||
// now run the actual test:
|
||||
final Iterable<HasTackTypeSegmentContext> allTTSegments = retrieveData();
|
||||
Distance sumDistance = new NullDistance();
|
||||
for (HasTackTypeSegmentContext oneTTSegment : allTTSegments) {
|
||||
if (oneTTSegment != null) {
|
||||
sumDistance = sumDistance.add(oneTTSegment.getDistance());
|
||||
}
|
||||
}
|
||||
assertTrue(sumDistance.compareTo(Distance.NULL) > 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testingMissingMarkPassing() {
|
||||
// set up GPS fixes for competitor, but no mark passings:
|
||||
DynamicGPSFixTrack<Competitor, GPSFixMoving> competitorATrack = trackedRace.getTrack(competitorA);
|
||||
final KnotSpeedWithBearingImpl sogCog = new KnotSpeedWithBearingImpl(10, new DegreeBearingImpl(45));
|
||||
TimePoint timePoint = trackedRace.getStartOfTracking().plus(10);
|
||||
GPSFixMovingImpl currentGPS = new GPSFixMovingImpl(new DegreePosition(54.4680424, 10.234451), timePoint, sogCog);
|
||||
final Duration timeBetweenFixes = Duration.ofMillis(490);
|
||||
for (int i=0; i<20; i++) {
|
||||
competitorATrack.addGPSFix(currentGPS);
|
||||
final Position currentPosition = sogCog.travelTo(currentGPS.getPosition(), timeBetweenFixes);
|
||||
timePoint = timePoint.plus(timeBetweenFixes);
|
||||
currentGPS = new GPSFixMovingImpl(currentPosition, timePoint, sogCog);
|
||||
}
|
||||
// now run the actual test:
|
||||
final Iterable<HasTackTypeSegmentContext> allTTSegments = retrieveData();
|
||||
assertTrue(Util.isEmpty(allTTSegments));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testingFixExactlyOnMarkPassingAndRaceOpenEnded() {
|
||||
final List<TimePoint> expectedSegmentStarts = new ArrayList<>();
|
||||
// set up GPS fixes for competitor, as well as mark passings:
|
||||
DynamicGPSFixTrack<Competitor, GPSFixMoving> competitorATrack = trackedRace.getTrack(competitorA);
|
||||
// start on port tack:
|
||||
final KnotSpeedWithBearingImpl sogCogPortTackUpwind = new KnotSpeedWithBearingImpl(10, new DegreeBearingImpl(45));
|
||||
TimePoint timePoint = trackedRace.getStartOfTracking().plus(10);
|
||||
final Position middleOfStartLine = trackedRace.getApproximatePosition(trackedRace.getRace().getCourse().getFirstWaypoint(), timePoint);
|
||||
final Position topMarkPosition = trackedRace.getApproximatePosition(Util.get(trackedRace.getRace().getCourse().getWaypoints(), 1), timePoint);
|
||||
// start straight "under" the top mark
|
||||
GPSFixMovingImpl currentGPS = new GPSFixMovingImpl(new DegreePosition(middleOfStartLine.getLatDeg(), topMarkPosition.getLngDeg()), timePoint, sogCogPortTackUpwind);
|
||||
expectedSegmentStarts.add(timePoint);
|
||||
final Duration timeBetweenFixes = Duration.ofMillis(490);
|
||||
for (int i=0; i<20; i++) {
|
||||
competitorATrack.addGPSFix(currentGPS);
|
||||
final Position currentPosition = sogCogPortTackUpwind.travelTo(currentGPS.getPosition(), timeBetweenFixes);
|
||||
timePoint = timePoint.plus(timeBetweenFixes);
|
||||
currentGPS = new GPSFixMovingImpl(currentPosition, timePoint, sogCogPortTackUpwind);
|
||||
}
|
||||
// now tack onto starboard tack:
|
||||
final KnotSpeedWithBearingImpl sogCogStarboardTackUpwind = new KnotSpeedWithBearingImpl(10, new DegreeBearingImpl(315));
|
||||
expectedSegmentStarts.add(timePoint);
|
||||
for (int i=0; i<20; i++) {
|
||||
competitorATrack.addGPSFix(currentGPS);
|
||||
final Position currentPosition = sogCogStarboardTackUpwind.travelTo(currentGPS.getPosition(), timeBetweenFixes);
|
||||
timePoint = timePoint.plus(timeBetweenFixes);
|
||||
currentGPS = new GPSFixMovingImpl(currentPosition, timePoint, sogCogStarboardTackUpwind);
|
||||
}
|
||||
final List<MarkPassing> markPassingsForCompetitor = new ArrayList<>();
|
||||
final TimePoint startMarkPassingTimePoint = trackedRace.getStartOfTracking().plus(20);
|
||||
markPassingsForCompetitor.add(new MarkPassingImpl(startMarkPassingTimePoint, trackedRace.getRace().getCourse().getFirstWaypoint(), competitorA));
|
||||
final TimePoint windwardMarkPassingTimePoint = timePoint; // exactly the time point of the last fix
|
||||
markPassingsForCompetitor.add(new MarkPassingImpl(windwardMarkPassingTimePoint, Util.get(trackedRace.getRace().getCourse().getWaypoints(), 1), competitorA));
|
||||
trackedRace.updateMarkPassings(competitorA, markPassingsForCompetitor);
|
||||
// continue sailing downwind:
|
||||
// start on starboard tack:
|
||||
final KnotSpeedWithBearingImpl sogCogStarboardTackDownwind = new KnotSpeedWithBearingImpl(10, new DegreeBearingImpl(225));
|
||||
expectedSegmentStarts.add(timePoint);
|
||||
for (int i=0; i<20; i++) {
|
||||
competitorATrack.addGPSFix(currentGPS);
|
||||
final Position currentPosition = sogCogStarboardTackDownwind.travelTo(currentGPS.getPosition(), timeBetweenFixes);
|
||||
timePoint = timePoint.plus(timeBetweenFixes);
|
||||
currentGPS = new GPSFixMovingImpl(currentPosition, timePoint, sogCogPortTackUpwind);
|
||||
}
|
||||
// now gybe onto port tack:
|
||||
final KnotSpeedWithBearingImpl sogCogPortTackDownwind = new KnotSpeedWithBearingImpl(10, new DegreeBearingImpl(135));
|
||||
expectedSegmentStarts.add(timePoint);
|
||||
for (int i=0; i<20; i++) {
|
||||
competitorATrack.addGPSFix(currentGPS);
|
||||
final Position currentPosition = sogCogPortTackDownwind.travelTo(currentGPS.getPosition(), timeBetweenFixes);
|
||||
timePoint = timePoint.plus(timeBetweenFixes);
|
||||
currentGPS = new GPSFixMovingImpl(currentPosition, timePoint, sogCogPortTackDownwind);
|
||||
}
|
||||
// now run the actual test:
|
||||
final Iterable<HasTackTypeSegmentContext> allTTSegments = retrieveData();
|
||||
assertEquals(4, Util.size(allTTSegments));
|
||||
// assert that all segments are of similar distance; they are not exactly equal
|
||||
// because due to smoothing of COG/SOG, tack type transitions are not exactly where COG goes from 45 to, say, 315
|
||||
final Distance distanceFirstSegment = allTTSegments.iterator().next().getDistance();
|
||||
for (final HasTackTypeSegmentContext ttSegment : allTTSegments) {
|
||||
assertEquals(distanceFirstSegment.getMeters(), ttSegment.getDistance().getMeters(), distanceFirstSegment.scale(0.2).getMeters() /* allow for 20% tolerance */);
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
-1
@@ -259,9 +259,16 @@ LengthOfTheLeg=Length of the Leg
|
||||
LegSailingDomainRetrieverChain=Leg
|
||||
TackType=Long / short tack
|
||||
getTackTypeofRace=Long / short tack of the race
|
||||
tackTypeSegmentsRetrieverChainDefinition=Long/Short tack segments
|
||||
TackTypeSegments=Long/Short segments
|
||||
TackTypeSegmentName=Long/Short tack segments name
|
||||
TackTypeDuration=Long/Short tack duration
|
||||
TackTypeDistance=Long/Short tack distance
|
||||
InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
RatioDistanceLongVsShortTack=Ratio distance long tack / short tack
|
||||
RatioDurationLongVsShortTack=Ratio duration long tack / short tack
|
||||
+6
@@ -259,3 +259,9 @@ LengthOfTheLeg=Délka úseku
|
||||
LegSailingDomainRetrieverChain=Úsek
|
||||
TackType=Dlouhý/krátký obrat
|
||||
getTackTypeofRace=Dlouhý/krátký obrat rozjížďky
|
||||
InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
|
||||
+6
@@ -259,3 +259,9 @@ LengthOfTheLeg=Længde på benet
|
||||
LegSailingDomainRetrieverChain=Ben
|
||||
TackType=Lang/kort stagvende
|
||||
getTackTypeofRace=Lang/kort stagvende for kapsejladsen
|
||||
InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
|
||||
+3
-1
@@ -267,4 +267,6 @@ InTrackingInterval=Im Tracking-Zeitraum der Wettfahrt
|
||||
NumberOfCompetitors=Anzahl Teilnehmer
|
||||
CompetitorInLeaderboard=Teilnehmer aus Rangliste
|
||||
CompetitorSailingDomainRetrieverChain=Teilnehmer in Ranglisten
|
||||
SmoothedSpeed=Geglättete Geschwindigkeit
|
||||
SmoothedSpeed=Geglättete Geschwindigkeit
|
||||
RatioDistanceLongVsShortTack=Verhältnis gesegelte Distanz auf Streck- zu Holebug
|
||||
RatioDurationLongVsShortTack=Verhältnis gesegelte Dauer auf Streck- zu Holebug
|
||||
+6
@@ -259,3 +259,9 @@ LengthOfTheLeg=Longitud del tramo
|
||||
LegSailingDomainRetrieverChain=Tramo
|
||||
TackType=Bordo largo/corto
|
||||
getTackTypeofRace=Bordo largo/corto de la prueba
|
||||
InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
|
||||
+6
@@ -259,3 +259,9 @@ LengthOfTheLeg=Longueur de la portion de parcours
|
||||
LegSailingDomainRetrieverChain=Portion de parcours
|
||||
TackType=Virement long/court
|
||||
getTackTypeofRace=Virement long/court de la course
|
||||
InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
|
||||
+6
@@ -259,3 +259,9 @@ LengthOfTheLeg=Lunghezza della tratta
|
||||
LegSailingDomainRetrieverChain=Tratta
|
||||
TackType=Bordo lungo/corto
|
||||
getTackTypeofRace=Bordo lungo/corto della gara
|
||||
InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
|
||||
+6
@@ -259,3 +259,9 @@ LengthOfTheLeg=レグの長さ
|
||||
LegSailingDomainRetrieverChain=レグ
|
||||
TackType=ロング/ショートタック
|
||||
getTackTypeofRace=レースのロング/ショートタック
|
||||
InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
|
||||
+6
@@ -259,3 +259,9 @@ LengthOfTheLeg=Comprimento da perna
|
||||
LegSailingDomainRetrieverChain=Perna
|
||||
TackType=Cambada longa/curta
|
||||
getTackTypeofRace=Cambada longa/curta da corrida
|
||||
InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
|
||||
+6
@@ -259,3 +259,9 @@ LengthOfTheLeg=Длина отрезка
|
||||
LegSailingDomainRetrieverChain=Отрезок
|
||||
TackType=Длинный /короткий галс
|
||||
getTackTypeofRace=Длинный /короткий галс гонки
|
||||
InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
|
||||
+6
@@ -259,3 +259,9 @@ LengthOfTheLeg=Dolžina stranice
|
||||
LegSailingDomainRetrieverChain=Stranica
|
||||
TackType=Dolgo/kratko prečenje
|
||||
getTackTypeofRace=Dolgo/kratko prečenje plova
|
||||
InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
|
||||
+6
@@ -259,3 +259,9 @@ LengthOfTheLeg=航段长度
|
||||
LegSailingDomainRetrieverChain=航段
|
||||
TackType=长程/短程迎风转向
|
||||
getTackTypeofRace=比赛轮次的长程/短程迎风转向
|
||||
InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.sap.sailing.datamining.data.HasManeuverSpeedDetailsContext;
|
||||
import com.sap.sailing.datamining.data.HasMarkPassingContext;
|
||||
import com.sap.sailing.datamining.data.HasRaceOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.data.HasRaceResultOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.data.HasTackTypeSegmentContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedLegContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedRaceContext;
|
||||
@@ -112,6 +113,7 @@ public class Activator extends AbstractDataMiningActivatorWithPredefinedQueries
|
||||
internalClasses.add(HasBravoFixContext.class);
|
||||
internalClasses.add(HasBravoFixTrackContext.class);
|
||||
internalClasses.add(HasFoilingSegmentContext.class);
|
||||
internalClasses.add(HasTackTypeSegmentContext.class);
|
||||
internalClasses.add(HasManeuverContext.class);
|
||||
internalClasses.add(HasManeuverSpeedDetailsContext.class);
|
||||
internalClasses.add(HasCompleteManeuverCurveWithEstimationDataContext.class);
|
||||
|
||||
+14
-2
@@ -17,6 +17,7 @@ import com.sap.sailing.datamining.data.HasManeuverSpeedDetailsContext;
|
||||
import com.sap.sailing.datamining.data.HasMarkPassingContext;
|
||||
import com.sap.sailing.datamining.data.HasRaceOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.data.HasRaceResultOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.data.HasTackTypeSegmentContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedLegContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedRaceContext;
|
||||
@@ -36,6 +37,7 @@ import com.sap.sailing.datamining.impl.components.ManeuverRetrievalProcessor;
|
||||
import com.sap.sailing.datamining.impl.components.ManeuverSpeedDetailsRetrievalProcessor;
|
||||
import com.sap.sailing.datamining.impl.components.MarkPassingRetrievalProcessor;
|
||||
import com.sap.sailing.datamining.impl.components.RaceOfCompetitorRetrievalProcessor;
|
||||
import com.sap.sailing.datamining.impl.components.TackTypeSegmentRetrievalProcessor;
|
||||
import com.sap.sailing.datamining.impl.components.TrackedLegOfCompetitorRetrievalProcessor;
|
||||
import com.sap.sailing.datamining.impl.components.TrackedLegRetrievalProcessor;
|
||||
import com.sap.sailing.datamining.impl.components.TrackedRaceRetrievalProcessor;
|
||||
@@ -46,6 +48,7 @@ import com.sap.sailing.datamining.shared.ManeuverSettings;
|
||||
import com.sap.sailing.datamining.shared.ManeuverSettingsImpl;
|
||||
import com.sap.sailing.datamining.shared.ManeuverSpeedDetailsSettings;
|
||||
import com.sap.sailing.datamining.shared.ManeuverSpeedDetailsSettingsImpl;
|
||||
import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
import com.sap.sailing.server.interfaces.RacingEventService;
|
||||
import com.sap.sse.datamining.components.DataRetrieverChainDefinition;
|
||||
import com.sap.sse.datamining.impl.components.SimpleDataRetrieverChainDefinition;
|
||||
@@ -86,7 +89,9 @@ public class SailingDataRetrievalChainDefinitions {
|
||||
//
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasRaceOfCompetitorContext> raceOfCompetitorRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
trackedRaceRetrieverChainDefinition, HasRaceOfCompetitorContext.class, "RaceOfCompetitorSailingDomainRetrieverChain");
|
||||
raceOfCompetitorRetrieverChainDefinition.endWith(TrackedRaceRetrievalProcessor.class, RaceOfCompetitorRetrievalProcessor.class, HasRaceOfCompetitorContext.class, "Competitor");
|
||||
// use TackTypeSegmentsDataMiningSettings here to support the per-leg statistics about tack type segments
|
||||
raceOfCompetitorRetrieverChainDefinition.endWith(TrackedRaceRetrievalProcessor.class, RaceOfCompetitorRetrievalProcessor.class, HasRaceOfCompetitorContext.class,
|
||||
TackTypeSegmentsDataMiningSettings.class, TackTypeSegmentsDataMiningSettings.createDefaultSettings(), "Competitor");
|
||||
dataRetrieverChainDefinitions.add(raceOfCompetitorRetrieverChainDefinition);
|
||||
//
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasCompetitorDayContext> competitorDayRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
@@ -106,6 +111,12 @@ public class SailingDataRetrievalChainDefinitions {
|
||||
HasFoilingSegmentContext.class, FoilingSegmentsDataMiningSettings.class, FoilingSegmentsDataMiningSettings.createDefaultSettings(), "FoilingSegments");
|
||||
dataRetrieverChainDefinitions.add(foilingSegmentsRetrieverChainDefinition);
|
||||
//
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasTackTypeSegmentContext> tackTypeSegmentsRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
raceOfCompetitorRetrieverChainDefinition, HasTackTypeSegmentContext.class, "tackTypeSegmentsRetrieverChainDefinition");
|
||||
tackTypeSegmentsRetrieverChainDefinition.endWith(RaceOfCompetitorRetrievalProcessor.class, TackTypeSegmentRetrievalProcessor.class,
|
||||
HasTackTypeSegmentContext.class, TackTypeSegmentsDataMiningSettings.class, TackTypeSegmentsDataMiningSettings.createDefaultSettings(), "TackTypeSegments");
|
||||
dataRetrieverChainDefinitions.add(tackTypeSegmentsRetrieverChainDefinition);
|
||||
//
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasTrackedLegContext> legRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
trackedRaceRetrieverChainDefinition, HasTrackedLegContext.class, "LegSailingDomainRetrieverChain");
|
||||
legRetrieverChainDefinition.endWith(TrackedRaceRetrievalProcessor.class, TrackedLegRetrievalProcessor.class,
|
||||
@@ -114,8 +125,9 @@ public class SailingDataRetrievalChainDefinitions {
|
||||
//
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasTrackedLegOfCompetitorContext> legOfCompetitorRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
legRetrieverChainDefinition, HasTrackedLegOfCompetitorContext.class, "LegOfCompetitorSailingDomainRetrieverChain");
|
||||
// use TackTypeSegmentsDataMiningSettings here to support the per-leg statistics about tack type segments
|
||||
legOfCompetitorRetrieverChainDefinition.endWith(TrackedLegRetrievalProcessor.class, TrackedLegOfCompetitorRetrievalProcessor.class,
|
||||
HasTrackedLegOfCompetitorContext.class, "LegOfCompetitor");
|
||||
HasTrackedLegOfCompetitorContext.class, TackTypeSegmentsDataMiningSettings.class, TackTypeSegmentsDataMiningSettings.createDefaultSettings(), "LegOfCompetitor");
|
||||
dataRetrieverChainDefinitions.add(legOfCompetitorRetrieverChainDefinition);
|
||||
//
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasGPSFixContext> gpsFixRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package com.sap.sailing.datamining.data;
|
||||
|
||||
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.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface HasGPSFixTrackContext {
|
||||
@Connector(scanForStatistics=false)
|
||||
HasRaceOfCompetitorContext getRaceOfCompetitorContext();
|
||||
|
||||
GPSFixTrack<Competitor, GPSFixMoving> getGPSFixTrack();
|
||||
}
|
||||
+6
@@ -172,4 +172,10 @@ public interface HasRaceOfCompetitorContext {
|
||||
|
||||
@Statistic(messageKey="AverageRaceWindSpeed")
|
||||
Speed getAverageRaceWindSpeed();
|
||||
|
||||
@Statistic(messageKey="RatioDurationLongVsShortTack", resultDecimals=2)
|
||||
public double getRatioDurationLongVsShortTack();
|
||||
|
||||
@Statistic(messageKey="RatioDistanceLongVsShortTack", resultDecimals=2)
|
||||
public double getRatioDistanceLongVsShortTack();
|
||||
}
|
||||
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
package com.sap.sailing.datamining.data;
|
||||
|
||||
import com.sap.sailing.domain.common.LegType;
|
||||
import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.common.TackType;
|
||||
import com.sap.sse.common.Distance;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Statistic;
|
||||
|
||||
public interface HasTackTypeSegmentContext {
|
||||
@Connector(scanForStatistics=false)
|
||||
HasGPSFixTrackContext getGPSFixTrackContext();
|
||||
|
||||
TimePoint getStartOfTackTypeSegment();
|
||||
|
||||
TimePoint getEndOfTackTypeSegment();
|
||||
|
||||
@Dimension(messageKey="TackType")
|
||||
TackType getTackType();
|
||||
|
||||
@Dimension(messageKey="LegType")
|
||||
LegType getLegType() throws NoWindException;
|
||||
|
||||
@Dimension(messageKey="LegNumber")
|
||||
int getLegNumber();
|
||||
|
||||
@Dimension(messageKey="TackTypeSegmentName")
|
||||
String getName();
|
||||
|
||||
@Statistic(messageKey="TackTypeDuration")
|
||||
Duration getDuration();
|
||||
|
||||
@Statistic(messageKey="TackTypeDistance")
|
||||
Distance getDistance();
|
||||
}
|
||||
+6
@@ -109,4 +109,10 @@ public interface HasTrackedLegOfCompetitorContext extends HasWindOnTrackedLeg {
|
||||
|
||||
@Statistic(messageKey="VMG", resultDecimals=2)
|
||||
public Speed getVelocityMadeGood();
|
||||
|
||||
@Statistic(messageKey="RatioDurationLongVsShortTack", resultDecimals=2)
|
||||
public double getRatioDurationLongVsShortTack();
|
||||
|
||||
@Statistic(messageKey="RatioDistanceLongVsShortTack", resultDecimals=2)
|
||||
public double getRatioDistanceLongVsShortTack();
|
||||
}
|
||||
+5
-5
@@ -51,7 +51,7 @@ public class FoilingSegmentRetrievalProcessor extends AbstractRetrievalProcessor
|
||||
TimePoint startOfSegment = null;
|
||||
bravoFixTrack.lockForRead();
|
||||
try {
|
||||
for (final BravoFix bravoFix : bravoFixTrack.getFixes(startOfRace, /* fromInclusive */ true, end, /* toInclusive */ false)) {
|
||||
for (final BravoFix bravoFix : bravoFixTrack.getFixes(startOfRace, /* fromInclusive */ true, end, /* toInclusive */ false)) { //geht ganzes Rennen durch
|
||||
if (isAborted()) {
|
||||
break;
|
||||
}
|
||||
@@ -61,10 +61,10 @@ public class FoilingSegmentRetrievalProcessor extends AbstractRetrievalProcessor
|
||||
element.getTrackedRaceContext().getTrackedRace().getTrack(element.getCompetitor()).getEstimatedSpeed(bravoFix.getTimePoint())) <= 0)) ||
|
||||
(settings.getMaximumSpeedNotFoiling() != null && settings.getMaximumSpeedNotFoiling().compareTo(
|
||||
element.getTrackedRaceContext().getTrackedRace().getTrack(element.getCompetitor()).getEstimatedSpeed(bravoFix.getTimePoint())) <= 0);
|
||||
if (currentFixIsFoiling != isFoiling) {
|
||||
if (currentFixIsFoiling) {
|
||||
if (currentFixIsFoiling != isFoiling) { //checken ob boot zum loop davor mit voherigem fix immernoch am fliegen ist, wenn nicht dann muss segment gemacht werden, wenn ja dann wird es zum segment ergänzt
|
||||
if (currentFixIsFoiling) { //wenn ich vorher nicht am fliegen war und jetzt schon start von segment
|
||||
startOfSegment = bravoFix.getTimePoint();
|
||||
} else {
|
||||
} else { // wenn ich vorher am fliegen war und jetzt nicht mehr, segment muss gebildet werden!!!!!
|
||||
if (settings.getMinimumFoilingSegmentDuration() == null ||
|
||||
startOfSegment.until(last).compareTo(settings.getMinimumFoilingSegmentDuration()) >= 0) {
|
||||
addOrMergeFoilingSegment(element, foilingSegments, bravoFixTrack, startOfSegment,
|
||||
@@ -72,7 +72,7 @@ public class FoilingSegmentRetrievalProcessor extends AbstractRetrievalProcessor
|
||||
}
|
||||
startOfSegment = null;
|
||||
}
|
||||
isFoiling = currentFixIsFoiling;
|
||||
isFoiling = currentFixIsFoiling; //aktualisiert das es vorher nicht gleich war also entweder fliegen zuende oder gerade beginnt
|
||||
}
|
||||
last = bravoFix.getTimePoint();
|
||||
}
|
||||
|
||||
+13
-4
@@ -7,17 +7,26 @@ import java.util.concurrent.ExecutorService;
|
||||
import com.sap.sailing.datamining.data.HasRaceOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedRaceContext;
|
||||
import com.sap.sailing.datamining.impl.data.RaceOfCompetitorWithContext;
|
||||
import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.impl.components.AbstractRetrievalProcessor;
|
||||
|
||||
public class RaceOfCompetitorRetrievalProcessor extends AbstractRetrievalProcessor<HasTrackedRaceContext, HasRaceOfCompetitorContext> {
|
||||
/**
|
||||
* Settings will be used to control the retrieval of tack type segments for the
|
||||
* corresponding statistics such as distance/duration relation between long and
|
||||
* short tack for the race of the competitor
|
||||
*/
|
||||
private final TackTypeSegmentsDataMiningSettings settings;
|
||||
|
||||
public RaceOfCompetitorRetrievalProcessor(ExecutorService executor,
|
||||
Collection<Processor<HasRaceOfCompetitorContext, ?>> resultReceivers, int retrievalLevel,
|
||||
String retrievedDataTypeMessageKey) {
|
||||
super(HasTrackedRaceContext.class, HasRaceOfCompetitorContext.class, executor, resultReceivers, retrievalLevel,
|
||||
Collection<Processor<HasRaceOfCompetitorContext, ?>> resultReceivers,
|
||||
TackTypeSegmentsDataMiningSettings settings, int retrievalLevel, String retrievedDataTypeMessageKey) {
|
||||
super(HasTrackedRaceContext.class,
|
||||
HasRaceOfCompetitorContext.class, executor, resultReceivers, retrievalLevel,
|
||||
retrievedDataTypeMessageKey);
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -28,7 +37,7 @@ public class RaceOfCompetitorRetrievalProcessor extends AbstractRetrievalProcess
|
||||
if (isAborted()) {
|
||||
break;
|
||||
}
|
||||
HasRaceOfCompetitorContext raceOfCompetitorWithContext = new RaceOfCompetitorWithContext(element, competitor);
|
||||
HasRaceOfCompetitorContext raceOfCompetitorWithContext = new RaceOfCompetitorWithContext(element, competitor, settings);
|
||||
raceOfCompetitorsWithContext.add(raceOfCompetitorWithContext);
|
||||
}
|
||||
}
|
||||
|
||||
+141
@@ -0,0 +1,141 @@
|
||||
package com.sap.sailing.datamining.impl.components;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import com.sap.sailing.datamining.data.HasRaceOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.data.HasTackTypeSegmentContext;
|
||||
import com.sap.sailing.datamining.impl.data.GPSFixTrackWithContext;
|
||||
import com.sap.sailing.datamining.impl.data.TackTypeSegmentWithContext;
|
||||
import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.common.TackType;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFix;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.GPSFixTrack;
|
||||
import com.sap.sailing.domain.tracking.MarkPassing;
|
||||
import com.sap.sailing.domain.tracking.TrackedLegOfCompetitor;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.impl.components.AbstractRetrievalProcessor;
|
||||
|
||||
public class TackTypeSegmentRetrievalProcessor extends AbstractRetrievalProcessor<HasRaceOfCompetitorContext, HasTackTypeSegmentContext> {
|
||||
private final TackTypeSegmentsDataMiningSettings settings;
|
||||
|
||||
public TackTypeSegmentRetrievalProcessor(ExecutorService executor,
|
||||
Collection<Processor<HasTackTypeSegmentContext, ?>> resultReceivers,
|
||||
TackTypeSegmentsDataMiningSettings settings, int retrievalLevel, String retrievedDataTypeMessageKey) {
|
||||
super(HasRaceOfCompetitorContext.class, HasTackTypeSegmentContext.class, executor, resultReceivers,
|
||||
retrievalLevel, retrievedDataTypeMessageKey);
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<HasTackTypeSegmentContext> retrieveData(HasRaceOfCompetitorContext element) {
|
||||
List<HasTackTypeSegmentContext> tackTypeSegments = new ArrayList<>();
|
||||
final TrackedRace trackedRace = element.getTrackedRaceContext().getTrackedRace();
|
||||
final TimePoint startOfRace = element.getTrackedRaceContext().getTrackedRace().getStartOfRace();
|
||||
final Competitor competitor = element.getCompetitor();
|
||||
if (startOfRace != null) {
|
||||
final GPSFixTrack<Competitor, GPSFixMoving> gpsFixTrack = trackedRace.getTrack(element.getCompetitor());
|
||||
if (gpsFixTrack != null) {
|
||||
final Iterator<MarkPassing> markPassingIterator = trackedRace.getMarkPassings(competitor).iterator();
|
||||
if (markPassingIterator.hasNext()) { // only search for tack type segments if the competitor has started the race
|
||||
MarkPassing legStartMarkPassing = markPassingIterator.next();
|
||||
TrackedLegOfCompetitor trackedLegOfCompetitor = trackedRace.getTrackedLegStartingAt(legStartMarkPassing.getWaypoint()).getTrackedLeg(competitor);
|
||||
MarkPassing nextMarkPassing = markPassingIterator.hasNext() ? markPassingIterator.next() : null;
|
||||
final Waypoint finish = trackedRace.getRace().getCourse().getLastWaypoint();
|
||||
TackType currentTackType = null;
|
||||
boolean segmentEmpty = true;
|
||||
TackType nextTackType = null;
|
||||
TimePoint startOfCurrentSegment = legStartMarkPassing.getTimePoint();
|
||||
GPSFix gpsFix = null;
|
||||
gpsFixTrack.lockForRead();
|
||||
try {
|
||||
// run through all of the competitor's fixes, starting at the first mark passing and finishing when there are
|
||||
// no more fixes left or the finish mark passing has been reached
|
||||
for (final Iterator<GPSFixMoving> i=gpsFixTrack.getFixesIterator(startOfCurrentSegment, /* fromInclusive */ true);
|
||||
i.hasNext() && legStartMarkPassing.getWaypoint() != finish; ) {
|
||||
if (isAborted()) {
|
||||
break;
|
||||
}
|
||||
gpsFix = i.next();
|
||||
while (nextMarkPassing != null && !gpsFix.getTimePoint().before(nextMarkPassing.getTimePoint())) {
|
||||
// reached leg's end; complete the current segment if not empty and move through mark passings
|
||||
// iterator until having found the leg the gpsFix is in, while moving the trackedLegOfCompetitor along
|
||||
legStartMarkPassing = nextMarkPassing;
|
||||
if (!segmentEmpty) {
|
||||
addOrMergeTackTypeSegment(element, tackTypeSegments, gpsFixTrack, startOfCurrentSegment,
|
||||
nextMarkPassing.getTimePoint(), currentTackType);
|
||||
segmentEmpty = gpsFix.getTimePoint().equals(nextMarkPassing.getTimePoint()); // if the fix is exactly at leg start
|
||||
startOfCurrentSegment = nextMarkPassing.getTimePoint();
|
||||
}
|
||||
// if nextMarkPassing is last MarkPassing there will be no leg after, trackedLeg is null
|
||||
trackedLegOfCompetitor = nextMarkPassing.getWaypoint()==finish ? null : trackedRace.getTrackedLegStartingAt(nextMarkPassing.getWaypoint()).getTrackedLeg(competitor);
|
||||
nextMarkPassing = markPassingIterator.hasNext() ? markPassingIterator.next() : null;
|
||||
}
|
||||
try {
|
||||
// no null case like line 87, because for loop checks that mark passing at leg start is not finish mark passing
|
||||
nextTackType = trackedLegOfCompetitor == null ? null : trackedLegOfCompetitor.getTackType(gpsFix.getTimePoint());
|
||||
} catch (NoWindException e) {
|
||||
nextTackType = null;
|
||||
}
|
||||
// invariant: nextMarkPassing is either null or after gpsFix's time and representing the passing of the mark at the end
|
||||
// of the leg gpsFix is in; trackedLegOfCompetitor corresponds to the leg gpsFix is in
|
||||
if (!segmentEmpty && nextTackType != currentTackType) {
|
||||
addOrMergeTackTypeSegment(element, tackTypeSegments, gpsFixTrack, startOfCurrentSegment,
|
||||
gpsFix.getTimePoint() /* don't include the last interval ending at the non-TackType fix */, currentTackType);
|
||||
segmentEmpty = true; // because gpsFix is now exactly at the beginning of the new segment
|
||||
startOfCurrentSegment = gpsFix.getTimePoint();
|
||||
} else {
|
||||
segmentEmpty = false; // gpsFix is in the current segment
|
||||
}
|
||||
currentTackType = nextTackType;
|
||||
}
|
||||
} finally {
|
||||
gpsFixTrack.unlockAfterRead();
|
||||
}
|
||||
if (!segmentEmpty) {
|
||||
addOrMergeTackTypeSegment(element, tackTypeSegments, gpsFixTrack, startOfCurrentSegment, gpsFix.getTimePoint(), currentTackType);
|
||||
// no need to update segmentEmpty / startOfCurrentSegment / lastTackType because now we're done
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return tackTypeSegments;
|
||||
}
|
||||
|
||||
private void addOrMergeTackTypeSegment(HasRaceOfCompetitorContext element,
|
||||
List<HasTackTypeSegmentContext> tackTypeSegments, final GPSFixTrack<Competitor, GPSFixMoving> gpsFixTrack,
|
||||
TimePoint startOfSegment, TimePoint endOfSegment, TackType tackType) {
|
||||
if (settings.getMinimumTackTypeSegmentDuration() == null || startOfSegment.until(endOfSegment)
|
||||
.compareTo(settings.getMinimumTackTypeSegmentDuration()) >= 0) {
|
||||
if (tackTypeSegments.isEmpty() || settings.getMinimumDurationBetweenAdjacentTackTypeSegments() == null) {
|
||||
tackTypeSegments.add(createTackTypeSegment(startOfSegment, endOfSegment, element, gpsFixTrack, tackType));
|
||||
} else {
|
||||
// we wouldn't want to merge segments with different tack types; different from foiling segments where you *would* want to join to closely-adjacent foiled segments
|
||||
final HasTackTypeSegmentContext previousSegment = tackTypeSegments.get(tackTypeSegments.size()-1);
|
||||
final TimePoint previousEnd = previousSegment.getEndOfTackTypeSegment();
|
||||
if (previousSegment.getTackType() == tackType && previousEnd.until(startOfSegment).compareTo(settings.getMinimumDurationBetweenAdjacentTackTypeSegments()) < 0) {
|
||||
// merge:
|
||||
tackTypeSegments.set(tackTypeSegments.size()-1, createTackTypeSegment(previousSegment.getStartOfTackTypeSegment(), endOfSegment, element, gpsFixTrack, tackType));
|
||||
} else {
|
||||
// add; duration between the segments is large enough or tack type is different
|
||||
tackTypeSegments.add(createTackTypeSegment(startOfSegment, endOfSegment, element, gpsFixTrack, tackType));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private HasTackTypeSegmentContext createTackTypeSegment(TimePoint startOfSegment, TimePoint endOfSegment,
|
||||
HasRaceOfCompetitorContext raceOfCompetitorContext, GPSFixTrack<Competitor, GPSFixMoving> gpsFixTrack, TackType tackType) {
|
||||
return new TackTypeSegmentWithContext(new GPSFixTrackWithContext(raceOfCompetitorContext, gpsFixTrack), startOfSegment, endOfSegment, tackType);
|
||||
}
|
||||
|
||||
}
|
||||
+11
-3
@@ -7,17 +7,25 @@ import java.util.concurrent.ExecutorService;
|
||||
import com.sap.sailing.datamining.data.HasTrackedLegContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.impl.data.TrackedLegOfCompetitorWithContext;
|
||||
import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.impl.components.AbstractRetrievalProcessor;
|
||||
|
||||
public class TrackedLegOfCompetitorRetrievalProcessor extends AbstractRetrievalProcessor<HasTrackedLegContext, HasTrackedLegOfCompetitorContext> {
|
||||
/**
|
||||
* Settings will be used to control the retrieval of tack type segments for the
|
||||
* corresponding statistics such as distance/duration relation between long and
|
||||
* short tack for the leg of the competitor
|
||||
*/
|
||||
private final TackTypeSegmentsDataMiningSettings settings;
|
||||
|
||||
public TrackedLegOfCompetitorRetrievalProcessor(ExecutorService executor,
|
||||
Collection<Processor<HasTrackedLegOfCompetitorContext, ?>> resultReceivers, int retrievalLevel,
|
||||
String retrievedDataTypeMessageKey) {
|
||||
Collection<Processor<HasTrackedLegOfCompetitorContext, ?>> resultReceivers,
|
||||
TackTypeSegmentsDataMiningSettings settings, int retrievalLevel, String retrievedDataTypeMessageKey) {
|
||||
super(HasTrackedLegContext.class, HasTrackedLegOfCompetitorContext.class, executor, resultReceivers,
|
||||
retrievalLevel, retrievedDataTypeMessageKey);
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -27,7 +35,7 @@ public class TrackedLegOfCompetitorRetrievalProcessor extends AbstractRetrievalP
|
||||
if (isAborted()) {
|
||||
break;
|
||||
}
|
||||
HasTrackedLegOfCompetitorContext trackedLegOfCompetitorWithContext = new TrackedLegOfCompetitorWithContext(element, element.getTrackedLeg().getTrackedLeg(competitor));
|
||||
HasTrackedLegOfCompetitorContext trackedLegOfCompetitorWithContext = new TrackedLegOfCompetitorWithContext(element, element.getTrackedLeg().getTrackedLeg(competitor), settings);
|
||||
trackedLegOfCompetitorsWithContext.add(trackedLegOfCompetitorWithContext);
|
||||
}
|
||||
return trackedLegOfCompetitorsWithContext;
|
||||
|
||||
+4
-3
@@ -17,9 +17,10 @@ import com.sap.sse.datamining.impl.components.AbstractRetrievalProcessor;
|
||||
public class TrackedRaceRetrievalProcessor extends AbstractRetrievalProcessor<HasLeaderboardContext, HasTrackedRaceContext> {
|
||||
|
||||
public TrackedRaceRetrievalProcessor(ExecutorService executor,
|
||||
Collection<Processor<HasTrackedRaceContext, ?>> resultReceivers, int retrievalLevel,
|
||||
String retrievedDataTypeMessageKey) {
|
||||
super(HasLeaderboardContext.class, HasTrackedRaceContext.class, executor, resultReceivers, retrievalLevel,
|
||||
Collection<Processor<HasTrackedRaceContext, ?>> resultReceivers,
|
||||
int retrievalLevel, String retrievedDataTypeMessageKey) {
|
||||
super(HasLeaderboardContext.class,
|
||||
HasTrackedRaceContext.class, executor, resultReceivers, retrievalLevel,
|
||||
retrievedDataTypeMessageKey);
|
||||
}
|
||||
|
||||
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package com.sap.sailing.datamining.impl.data;
|
||||
|
||||
import com.sap.sailing.datamining.data.HasGPSFixTrackContext;
|
||||
import com.sap.sailing.datamining.data.HasRaceOfCompetitorContext;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.GPSFixTrack;
|
||||
|
||||
public class GPSFixTrackWithContext implements HasGPSFixTrackContext {
|
||||
|
||||
private final HasRaceOfCompetitorContext raceOfCompetitorContext;
|
||||
|
||||
private final GPSFixTrack<Competitor, GPSFixMoving> gpsFixTrack;
|
||||
|
||||
public GPSFixTrackWithContext(HasRaceOfCompetitorContext raceOfCompetitorContext, GPSFixTrack<Competitor, GPSFixMoving> gpsFixTrack) {
|
||||
this.raceOfCompetitorContext = raceOfCompetitorContext;
|
||||
this.gpsFixTrack = gpsFixTrack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HasRaceOfCompetitorContext getRaceOfCompetitorContext() {
|
||||
return raceOfCompetitorContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GPSFixTrack<Competitor, GPSFixMoving> getGPSFixTrack() {
|
||||
return gpsFixTrack;
|
||||
}
|
||||
}
|
||||
+53
-1
@@ -11,7 +11,10 @@ import java.util.function.BiFunction;
|
||||
import com.sap.sailing.datamining.Activator;
|
||||
import com.sap.sailing.datamining.SailingClusterGroups;
|
||||
import com.sap.sailing.datamining.data.HasRaceOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.data.HasTackTypeSegmentContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedRaceContext;
|
||||
import com.sap.sailing.datamining.impl.components.TackTypeSegmentRetrievalProcessor;
|
||||
import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Course;
|
||||
@@ -53,10 +56,12 @@ public class RaceOfCompetitorWithContext implements HasRaceOfCompetitorContext {
|
||||
|
||||
private final HasTrackedRaceContext trackedRaceContext;
|
||||
private final Competitor competitor;
|
||||
private final TackTypeSegmentsDataMiningSettings settings;
|
||||
|
||||
public RaceOfCompetitorWithContext(HasTrackedRaceContext trackedRaceContext, Competitor competitor) {
|
||||
public RaceOfCompetitorWithContext(HasTrackedRaceContext trackedRaceContext, Competitor competitor, TackTypeSegmentsDataMiningSettings settings) {
|
||||
this.trackedRaceContext = trackedRaceContext;
|
||||
this.competitor = competitor;
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -662,4 +667,51 @@ public class RaceOfCompetitorWithContext implements HasRaceOfCompetitorContext {
|
||||
Integer rank = getTrackedRace().getRank(getCompetitor(), timePoint);
|
||||
return rank == 0 ? null : rank;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRatioDurationLongVsShortTack() {
|
||||
final TackTypeRatioCollector<Duration> resultProcessor = new TackTypeRatioCollector<Duration>(Duration.NULL) {
|
||||
@Override
|
||||
protected Duration add(Duration a, Duration b) {
|
||||
return a.plus(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected double divide(Duration a, Duration b) {
|
||||
return a.divide(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Duration getAddable(HasTackTypeSegmentContext element) {
|
||||
return element.getDuration();
|
||||
}
|
||||
};
|
||||
final TackTypeSegmentRetrievalProcessor tackTypeSegmentRetriever = new TackTypeSegmentRetrievalProcessor(
|
||||
/* executor */ null,
|
||||
Collections.emptySet(), settings, 0, "TackTypeSegments");
|
||||
return Util.stream(tackTypeSegmentRetriever.retrieveData(this)).collect(resultProcessor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRatioDistanceLongVsShortTack() {
|
||||
final TackTypeRatioCollector<Distance> resultProcessor = new TackTypeRatioCollector<Distance>(Distance.NULL) {
|
||||
@Override
|
||||
protected Distance add(Distance a, Distance b) {
|
||||
return a.add(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected double divide(Distance a, Distance b) {
|
||||
return a.divide(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Distance getAddable(HasTackTypeSegmentContext element) {
|
||||
return element.getDistance();
|
||||
}
|
||||
};
|
||||
final TackTypeSegmentRetrievalProcessor tackTypeSegmentRetriever = new TackTypeSegmentRetrievalProcessor(/* executor */ null,
|
||||
Collections.emptySet(), settings, 0, "TackTypeSegments");
|
||||
return Util.stream(tackTypeSegmentRetriever.retrieveData(this)).collect(resultProcessor);
|
||||
}
|
||||
}
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
package com.sap.sailing.datamining.impl.data;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.BinaryOperator;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Collector;
|
||||
|
||||
import com.sap.sailing.datamining.data.HasTackTypeSegmentContext;
|
||||
import com.sap.sailing.domain.common.TackType;
|
||||
|
||||
public abstract class TackTypeRatioCollector<ADDABLE> implements Collector<HasTackTypeSegmentContext, Map<TackType, ADDABLE>, Double> {
|
||||
|
||||
private final ADDABLE nullValue;
|
||||
|
||||
public TackTypeRatioCollector(ADDABLE nullValue) {
|
||||
this.nullValue = nullValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Supplier<Map<TackType, ADDABLE>> supplier() {
|
||||
return ()->{
|
||||
final Map<TackType, ADDABLE> result = new HashMap<>();
|
||||
for (final TackType tt : TackType.values()) {
|
||||
result.put(tt, nullValue);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public BiConsumer<Map<TackType, ADDABLE>, HasTackTypeSegmentContext> accumulator() {
|
||||
return (sumPerTackType, element)->{
|
||||
final TackType tt = element.getTackType();
|
||||
synchronized (this) {
|
||||
sumPerTackType.put(tt, add(sumPerTackType.get(tt), getAddable(element)));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public BinaryOperator<Map<TackType, ADDABLE>> combiner() {
|
||||
return (r1, r2) -> {
|
||||
for (final Entry<TackType, ADDABLE> e : r1.entrySet()) {
|
||||
r2.put(e.getKey(), add(e.getValue(), r2.get(e.getKey())));
|
||||
}
|
||||
return r2;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Function<Map<TackType, ADDABLE>, Double> finisher() {
|
||||
return sumPerTackType->{
|
||||
final ADDABLE shortTackSum = sumPerTackType.get(TackType.SHORTTACK);
|
||||
return shortTackSum.equals(nullValue) ? null : divide(sumPerTackType.get(TackType.LONGTACK), shortTackSum);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Set<Characteristics> characteristics() {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
protected abstract ADDABLE add(ADDABLE a, ADDABLE b);
|
||||
|
||||
protected abstract double divide(ADDABLE a, ADDABLE b);
|
||||
|
||||
protected abstract ADDABLE getAddable(HasTackTypeSegmentContext element);
|
||||
}
|
||||
+106
@@ -0,0 +1,106 @@
|
||||
package com.sap.sailing.datamining.impl.data;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import com.sap.sailing.datamining.data.HasGPSFixTrackContext;
|
||||
import com.sap.sailing.datamining.data.HasTackTypeSegmentContext;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.LegType;
|
||||
import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.common.TackType;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.GPSFixTrack;
|
||||
import com.sap.sailing.domain.tracking.TrackedLeg;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sse.common.Distance;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
public class TackTypeSegmentWithContext implements HasTackTypeSegmentContext {
|
||||
private final HasGPSFixTrackContext gpsFixTrackContext;
|
||||
private final TimePoint startOfTackTypeSegment;
|
||||
private final TimePoint endOfTackTypeSegment; // TODO is this exclusive or inclusive? Suggestion: it should be exclusive, as usual in most Java interval specifications; please comment accordingly
|
||||
private final TackType tackType;
|
||||
private static final SimpleDateFormat TIMEPOINT_FORMATTER = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
|
||||
|
||||
public TackTypeSegmentWithContext(GPSFixTrackWithContext gpsFixTrackWithContext, TimePoint startOfTackTypeSegment,
|
||||
TimePoint endOfTackTypeSegment, TackType tackType) {
|
||||
super();
|
||||
this.gpsFixTrackContext = gpsFixTrackWithContext;
|
||||
this.startOfTackTypeSegment = startOfTackTypeSegment;
|
||||
this.endOfTackTypeSegment = endOfTackTypeSegment;
|
||||
this.tackType = tackType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return gpsFixTrackContext.getRaceOfCompetitorContext().getCompetitor().getName() + "@"
|
||||
+ TIMEPOINT_FORMATTER.format(startOfTackTypeSegment.asDate());
|
||||
}
|
||||
|
||||
@Override
|
||||
public HasGPSFixTrackContext getGPSFixTrackContext() {
|
||||
return gpsFixTrackContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TimePoint getStartOfTackTypeSegment() {
|
||||
return startOfTackTypeSegment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TimePoint getEndOfTackTypeSegment() {
|
||||
return endOfTackTypeSegment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Duration getDuration() {
|
||||
return getStartOfTackTypeSegment().until(getEndOfTackTypeSegment());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Distance getDistance() {
|
||||
return getGpsFixTrack().
|
||||
getDistanceTraveled(getStartOfTackTypeSegment(), getEndOfTackTypeSegment());
|
||||
}
|
||||
|
||||
private GPSFixTrack<Competitor, GPSFixMoving> getGpsFixTrack() {
|
||||
return getTrackedRace().getTrack(getCompetitor());
|
||||
}
|
||||
|
||||
private Competitor getCompetitor() {
|
||||
return getGPSFixTrackContext().getRaceOfCompetitorContext().getCompetitor();
|
||||
}
|
||||
|
||||
private TrackedRace getTrackedRace() {
|
||||
return getGPSFixTrackContext().getRaceOfCompetitorContext().getTrackedRaceContext().getTrackedRace();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TackType getTackType() {
|
||||
return tackType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LegType getLegType() throws NoWindException {
|
||||
return getTrackedLeg().getLegType(
|
||||
getStartOfTackTypeSegment().plus(getStartOfTackTypeSegment().until(getEndOfTackTypeSegment()).divide(2)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLegNumber() {
|
||||
final TrackedLeg trackedLeg = getTrackedLeg();
|
||||
return trackedLeg == null ? 0 : getTrackedRace().getRace().getCourse().getIndexOfWaypoint(trackedLeg.getLeg().getTo());
|
||||
}
|
||||
|
||||
private TrackedLeg getTrackedLeg() {
|
||||
return getTrackedRace().getTrackedLeg(getCompetitor(), getStartOfTackTypeSegment()).getTrackedLeg();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TackTypeSegmentWithContext [gpsFixTrackContext=" + gpsFixTrackContext + ", startOfTackTypeSegment="
|
||||
+ startOfTackTypeSegment + ", endOfTackTypeSegment=" + endOfTackTypeSegment + ", tackType=" + tackType
|
||||
+ "]";
|
||||
}
|
||||
}
|
||||
+58
-1
@@ -10,8 +10,11 @@ import java.util.function.Supplier;
|
||||
|
||||
import com.sap.sailing.datamining.Activator;
|
||||
import com.sap.sailing.datamining.SailingClusterGroups;
|
||||
import com.sap.sailing.datamining.data.HasTackTypeSegmentContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedLegContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.impl.components.TackTypeSegmentRetrievalProcessor;
|
||||
import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
import com.sap.sailing.domain.base.Boat;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Leg;
|
||||
@@ -44,6 +47,7 @@ public class TrackedLegOfCompetitorWithContext implements HasTrackedLegOfCompeti
|
||||
private static final long serialVersionUID = 5944904146286262768L;
|
||||
|
||||
private final HasTrackedLegContext trackedLegContext;
|
||||
private final TackTypeSegmentsDataMiningSettings settings;
|
||||
|
||||
private final TrackedLegOfCompetitor trackedLegOfCompetitor;
|
||||
private final Competitor competitor;
|
||||
@@ -54,10 +58,11 @@ public class TrackedLegOfCompetitorWithContext implements HasTrackedLegOfCompeti
|
||||
private boolean isRankAtFinishInitialized;
|
||||
private Wind wind;
|
||||
|
||||
public TrackedLegOfCompetitorWithContext(HasTrackedLegContext trackedLegContext, TrackedLegOfCompetitor trackedLegOfCompetitor) {
|
||||
public TrackedLegOfCompetitorWithContext(HasTrackedLegContext trackedLegContext, TrackedLegOfCompetitor trackedLegOfCompetitor, TackTypeSegmentsDataMiningSettings settings) {
|
||||
this.trackedLegContext = trackedLegContext;
|
||||
this.trackedLegOfCompetitor = trackedLegOfCompetitor;
|
||||
this.competitor = trackedLegOfCompetitor.getCompetitor();
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -516,4 +521,56 @@ public class TrackedLegOfCompetitorWithContext implements HasTrackedLegOfCompeti
|
||||
final TimePoint finishTime = getTrackedLegOfCompetitor().getFinishTime();
|
||||
return getTrackedLegOfCompetitor().getAverageVelocityMadeGood(finishTime == null ? TimePoint.now() : finishTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRatioDurationLongVsShortTack() {
|
||||
final TackTypeRatioCollector<Duration> resultProcessor = new TackTypeRatioCollector<Duration>(Duration.NULL) {
|
||||
@Override
|
||||
protected Duration add(Duration a, Duration b) {
|
||||
return a.plus(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected double divide(Duration a, Duration b) {
|
||||
return a.divide(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Duration getAddable(HasTackTypeSegmentContext element) {
|
||||
return element.getDuration();
|
||||
}
|
||||
};
|
||||
final TackTypeSegmentRetrievalProcessor tackTypeSegmentRetriever = new TackTypeSegmentRetrievalProcessor(
|
||||
/* executor */ null,
|
||||
Collections.emptySet(), settings, 0, "TackTypeSegments");
|
||||
return Util.stream(tackTypeSegmentRetriever.retrieveData(
|
||||
new RaceOfCompetitorWithContext(getTrackedLegContext().getTrackedRaceContext(), competitor, settings)))
|
||||
.filter(tt->tt.getLegNumber() == getTrackedLegContext().getLegNumber()).collect(resultProcessor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRatioDistanceLongVsShortTack() {
|
||||
final TackTypeRatioCollector<Distance> resultProcessor = new TackTypeRatioCollector<Distance>(Distance.NULL) {
|
||||
@Override
|
||||
protected Distance add(Distance a, Distance b) {
|
||||
return a.add(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected double divide(Distance a, Distance b) {
|
||||
return a.divide(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Distance getAddable(HasTackTypeSegmentContext element) {
|
||||
return element.getDistance();
|
||||
}
|
||||
};
|
||||
final TackTypeSegmentRetrievalProcessor tackTypeSegmentRetriever = new TackTypeSegmentRetrievalProcessor(
|
||||
/* executor */ null,
|
||||
Collections.emptySet(), settings, 0, "TackTypeSegments");
|
||||
return Util.stream(tackTypeSegmentRetriever.retrieveData(
|
||||
new RaceOfCompetitorWithContext(getTrackedLegContext().getTrackedRaceContext(), competitor, settings)))
|
||||
.filter(tt->tt.getLegNumber() == getTrackedLegContext().getLegNumber()).collect(resultProcessor);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -3,6 +3,7 @@ package com.sap.sailing.datamining.impl.data;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
import com.sap.sailing.datamining.data.HasTrackedLegContext;
|
||||
import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
import com.sap.sailing.domain.tracking.TrackedLegOfCompetitor;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
@@ -26,7 +27,7 @@ public class TrackedLegOfCompetitorWithSpecificTimePointWithContext extends Trac
|
||||
|
||||
public TrackedLegOfCompetitorWithSpecificTimePointWithContext(HasTrackedLegContext trackedLegContext,
|
||||
TrackedLegOfCompetitor trackedLegOfCompetitor, TimePoint timePoint) {
|
||||
super(trackedLegContext, trackedLegOfCompetitor);
|
||||
super(trackedLegContext, trackedLegOfCompetitor, TackTypeSegmentsDataMiningSettings.createDefaultSettings());
|
||||
this.timePoint = timePoint;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.declination/src/com/sap/sailing/declination/impl/DeclinationStore.java"/>
|
||||
</listAttribute>
|
||||
@@ -8,6 +9,6 @@
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.sap.sailing.declination.impl.DeclinationStore"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="com.sap.sailing.declination"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="2022 2022 1"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="2024 2024 1"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.declination"/>
|
||||
</launchConfiguration>
|
||||
|
||||
+2
-1
@@ -66,7 +66,8 @@ public class SecuredDomainType extends HasPermissionsImpl {
|
||||
EXPORT,
|
||||
SIMULATOR,
|
||||
VIEWSTREAMLETS,
|
||||
VIEWANALYSISCHARTS;
|
||||
VIEWANALYSISCHARTS,
|
||||
COLORED_TAILS;
|
||||
|
||||
private static final Action[] ALL_ACTIONS = DefaultActions.plus(TrackedRaceActions.values());
|
||||
|
||||
|
||||
+2
@@ -28,6 +28,8 @@ public class PremiumRole extends RolePrototype {
|
||||
.withActions(SecuredSecurityTypes.UserActions.BE_PREMIUM).build(),
|
||||
WildcardPermission.builder().withTypes(SecuredDomainType.TRACKED_RACE)
|
||||
.withActions(SecuredDomainType.TrackedRaceActions.VIEWANALYSISCHARTS).build(),
|
||||
WildcardPermission.builder().withTypes(SecuredDomainType.TRACKED_RACE)
|
||||
.withActions(SecuredDomainType.TrackedRaceActions.COLORED_TAILS).build(),
|
||||
WildcardPermission.builder().withTypes(SecuredDomainType.LEADERBOARD)
|
||||
.withActions(SecuredDomainType.LeaderboardActions.PREMIUM_LEADERBOARD_INFORMATION).build());
|
||||
}
|
||||
|
||||
+1
@@ -46,4 +46,5 @@ public interface BravoFix extends SensorFix {
|
||||
|
||||
@Statistic(messageKey = "heel", resultDecimals = 1)
|
||||
Bearing getHeel();
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -41,7 +41,7 @@ public class MongoRaceLogStoreImpl implements RaceLogStore {
|
||||
}
|
||||
|
||||
private void addListener(RaceLogIdentifier identifier, final RaceLog raceLog) {
|
||||
MongoRaceLogStoreVisitor listener = new MongoRaceLogStoreVisitor(identifier, mongoObjectFactory);
|
||||
final MongoRaceLogStoreVisitor listener = new MongoRaceLogStoreVisitor(identifier, mongoObjectFactory);
|
||||
listeners.put(raceLog, listener);
|
||||
raceLog.addListener(listener);
|
||||
}
|
||||
@@ -55,7 +55,7 @@ public class MongoRaceLogStoreImpl implements RaceLogStore {
|
||||
|
||||
@Override
|
||||
public void removeListenersAddedByStoreFrom(RaceLog raceLog) {
|
||||
RaceLogEventVisitor visitor = listeners.get(raceLog);
|
||||
final RaceLogEventVisitor visitor = listeners.get(raceLog);
|
||||
if (visitor != null) {
|
||||
raceLog.removeListener(visitor);
|
||||
}
|
||||
|
||||
+33
@@ -13,6 +13,7 @@ import org.junit.Test;
|
||||
import com.sap.sse.common.MultiTimeRange;
|
||||
import com.sap.sse.common.TimeRange;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
import com.sap.sse.common.impl.MultiTimeRangeImpl;
|
||||
|
||||
public class MultiTimeRangeTest {
|
||||
@@ -104,4 +105,36 @@ public class MultiTimeRangeTest {
|
||||
assertEquals(createMulti(100, 120, 350, 400), createMulti(100, 200, 300, 400).subtract(createMulti(120, 350)));
|
||||
assertEquals(createMulti(100, 120, 350, 360, 370, 400), createMulti(100, 200, 300, 400).subtract(createMulti(120, 350, 360, 370)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOrderingWithOf() {
|
||||
final MillisecondsTimePoint _10 = new MillisecondsTimePoint(10);
|
||||
final MillisecondsTimePoint _20 = new MillisecondsTimePoint(20);
|
||||
final MillisecondsTimePoint _100 = new MillisecondsTimePoint(100);
|
||||
final MillisecondsTimePoint _200 = new MillisecondsTimePoint(200);
|
||||
final MultiTimeRange mtr = MultiTimeRange.of(TimeRange.create(_100, _200), TimeRange.create(_10, _20));
|
||||
assertEquals(TimeRange.create(_10, _20), Util.get(mtr, 0));
|
||||
assertEquals(TimeRange.create(_100, _200), Util.get(mtr, 1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOrderingWithUnion() {
|
||||
final MillisecondsTimePoint _10 = new MillisecondsTimePoint(10);
|
||||
final MillisecondsTimePoint _20 = new MillisecondsTimePoint(20);
|
||||
final MillisecondsTimePoint _100 = new MillisecondsTimePoint(100);
|
||||
final MillisecondsTimePoint _200 = new MillisecondsTimePoint(200);
|
||||
final MultiTimeRange mtr = MultiTimeRange.of(TimeRange.create(_100, _200)).union(TimeRange.create(_10, _20));
|
||||
assertEquals(TimeRange.create(_10, _20), Util.get(mtr, 0));
|
||||
assertEquals(TimeRange.create(_100, _200), Util.get(mtr, 1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEmptyTimeRangeRemoval() {
|
||||
final MillisecondsTimePoint _10 = new MillisecondsTimePoint(10);
|
||||
final MillisecondsTimePoint _100 = new MillisecondsTimePoint(100);
|
||||
final MillisecondsTimePoint _200 = new MillisecondsTimePoint(200);
|
||||
final MultiTimeRange mtr = MultiTimeRange.of(TimeRange.create(_100, _200)).union(TimeRange.create(_10, _10));
|
||||
assertEquals(1, Util.size(mtr));
|
||||
assertEquals(TimeRange.create(_100, _200), Util.get(mtr, 0));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,13 @@ import com.sap.sse.common.Util.Pair;
|
||||
*
|
||||
*/
|
||||
public interface RaceColumn extends Named {
|
||||
/**
|
||||
* Sets the information object used to access the race column's race logs (see
|
||||
* {@link #setRaceLogInformation(RaceLogStore, RegattaLikeIdentifier)}) and (re-)loads the contents of all fleets'
|
||||
* race logs.
|
||||
*/
|
||||
void setRaceLogInformationAndLoad(RaceLogStore raceLogStore, RegattaLikeIdentifier regattaLikeParent);
|
||||
|
||||
/**
|
||||
* Sets the information object used to access the race column's race logs.
|
||||
*/
|
||||
@@ -49,7 +56,6 @@ public interface RaceColumn extends Named {
|
||||
* Gets the race column's race log associated to the passed fleet. Note that the result may be <code>null</code>
|
||||
* particularly for columns in a {@link MetaLeaderboard}.
|
||||
*
|
||||
* @param fleet
|
||||
* @return the race log or <code>null</code> in case this column belongs to a {@link MetaLeaderboard}
|
||||
*/
|
||||
RaceLog getRaceLog(Fleet fleet);
|
||||
|
||||
+9
-3
@@ -74,14 +74,19 @@ public abstract class AbstractRaceColumn extends SimpleAbstractRaceColumn implem
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void setRaceLogInformation(RaceLogStore raceLogStore, RegattaLikeIdentifier regattaLikeParent) {
|
||||
this.raceLogStore = raceLogStore;
|
||||
this.regattaLikeParent = regattaLikeParent;
|
||||
public synchronized void setRaceLogInformationAndLoad(RaceLogStore raceLogStore, RegattaLikeIdentifier regattaLikeParent) {
|
||||
setRaceLogInformation(raceLogStore, regattaLikeParent);
|
||||
for (final Fleet fleet : getFleets()) {
|
||||
reloadRaceLog(fleet);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void setRaceLogInformation(RaceLogStore raceLogStore, RegattaLikeIdentifier regattaLikeParent) {
|
||||
this.raceLogStore = raceLogStore;
|
||||
this.regattaLikeParent = regattaLikeParent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RaceLog getRaceLog(Fleet fleet) {
|
||||
return raceLogs.get(fleet);
|
||||
@@ -191,6 +196,7 @@ public abstract class AbstractRaceColumn extends SimpleAbstractRaceColumn implem
|
||||
|
||||
@Override
|
||||
public void reloadRaceLog(Fleet fleet) {
|
||||
// FIXME bug3286: newOrLoadedRaceLog will have MongoRaceLogStoreListener attached; raceLogAvailable, result of de-serialization, will not; merging newOrLoadedRaceLog into raceLogAvailable will leave resulting log without persistence
|
||||
RaceLogIdentifier identifier = getRaceLogIdentifier(fleet);
|
||||
RaceLog newOrLoadedRaceLog = raceLogStore.getRaceLog(identifier, /* ignoreCache */true);
|
||||
RaceLog raceLogAvailable = raceLogs.get(fleet);
|
||||
|
||||
@@ -284,7 +284,7 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene
|
||||
}
|
||||
this.series = seriesList;
|
||||
for (Series s : series) {
|
||||
linkToRegattaAndConnectRaceLogsAndAddListeners(s);
|
||||
linkToRegattaAndConnectRaceLogsAndAddListeners(s, /* load race logs */ true);
|
||||
}
|
||||
this.persistent = persistent;
|
||||
this.scoringScheme = scoringScheme;
|
||||
@@ -323,14 +323,19 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene
|
||||
return rankingMetricConstructor == null ? OneDesignRankingMetric::new : rankingMetricConstructor;
|
||||
}
|
||||
|
||||
private void registerRaceLogsOnRaceColumns(Series series) {
|
||||
private void registerRaceLogsOnRaceColumns(Series series, boolean loadRaceLogs) {
|
||||
for (RaceColumn raceColumn : series.getRaceColumns()) {
|
||||
setRaceLogInformationOnRaceColumn(raceColumn);
|
||||
setRaceLogInformationOnRaceColumn(raceColumn, loadRaceLogs);
|
||||
}
|
||||
}
|
||||
|
||||
private void setRaceLogInformationOnRaceColumn(RaceColumn raceColumn) {
|
||||
raceColumn.setRaceLogInformation(raceLogStore, new RegattaAsRegattaLikeIdentifier(this));
|
||||
private void setRaceLogInformationOnRaceColumn(RaceColumn raceColumn, boolean loadRaceLogs) {
|
||||
final RegattaLikeIdentifier regattaLikeIdentifier = new RegattaAsRegattaLikeIdentifier(this);
|
||||
if (loadRaceLogs) {
|
||||
raceColumn.setRaceLogInformationAndLoad(raceLogStore, regattaLikeIdentifier);
|
||||
} else {
|
||||
raceColumn.setRaceLogInformation(raceLogStore, regattaLikeIdentifier);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -375,17 +380,14 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene
|
||||
|
||||
/**
|
||||
* {@link RaceColumnListeners} may not be de-serialized (yet) when the regatta is de-serialized. To avoid
|
||||
* re-registering empty objects most probably leading to null pointer exception one needs to initialize all
|
||||
* re-registering empty objects most probably leading to a {link NullPointerException} one needs to initialize all
|
||||
* listeners after all objects have been read.
|
||||
*/
|
||||
public void initializeSeriesAfterDeserialize() {
|
||||
for (Series series : getSeries()) {
|
||||
linkToRegattaAndConnectRaceLogsAndAddListeners(series);
|
||||
if (series.getRaceColumns() != null) {
|
||||
for (RaceColumnInSeries column : series.getRaceColumns()) {
|
||||
column.setRaceLogInformation(raceLogStore, new RegattaAsRegattaLikeIdentifier(this));
|
||||
}
|
||||
} else {
|
||||
for (final Series series : getSeries()) {
|
||||
// the following also transitively invokes setRaceLogInformation(raceLogStore, getRegattaLikeIdentifier()) on all race columns
|
||||
linkToRegattaAndConnectRaceLogsAndAddListeners(series, /* load race logs */ false);
|
||||
if (series.getRaceColumns() == null) {
|
||||
logger.warning("Race Columns were null during deserialization. This should not happen.");
|
||||
}
|
||||
}
|
||||
@@ -594,7 +596,7 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene
|
||||
|
||||
@Override
|
||||
public void raceColumnAddedToContainer(RaceColumn raceColumn) {
|
||||
setRaceLogInformationOnRaceColumn(raceColumn);
|
||||
setRaceLogInformationOnRaceColumn(raceColumn, /* loadRaceLogs */ true);
|
||||
raceColumnListeners.notifyListenersAboutRaceColumnAddedToContainer(raceColumn);
|
||||
}
|
||||
|
||||
@@ -790,7 +792,7 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene
|
||||
public void addSeries(Series seriesToAdd) {
|
||||
Series existingSeries = getSeriesByName(seriesToAdd.getName());
|
||||
if (existingSeries == null) {
|
||||
linkToRegattaAndConnectRaceLogsAndAddListeners(seriesToAdd);
|
||||
linkToRegattaAndConnectRaceLogsAndAddListeners(seriesToAdd, /* load race logs */ true);
|
||||
synchronized (this.series) {
|
||||
ArrayList<Series> newSeriesList = new ArrayList<Series>();
|
||||
for (Series seriesObject : this.series) {
|
||||
@@ -802,10 +804,10 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene
|
||||
}
|
||||
}
|
||||
|
||||
private void linkToRegattaAndConnectRaceLogsAndAddListeners(Series seriesToAdd) {
|
||||
private void linkToRegattaAndConnectRaceLogsAndAddListeners(Series seriesToAdd, boolean loadRaceLogs) {
|
||||
seriesToAdd.setRegatta(this);
|
||||
seriesToAdd.addRaceColumnListener(this);
|
||||
registerRaceLogsOnRaceColumns(seriesToAdd);
|
||||
registerRaceLogsOnRaceColumns(seriesToAdd, loadRaceLogs);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -178,7 +178,7 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements
|
||||
column = createRaceColumn(name, medalRace);
|
||||
column.addRaceColumnListener(this);
|
||||
races.add(column);
|
||||
column.setRaceLogInformation(raceLogStore, new FlexibleLeaderboardAsRegattaLikeIdentifier(this));
|
||||
column.setRaceLogInformationAndLoad(raceLogStore, new FlexibleLeaderboardAsRegattaLikeIdentifier(this));
|
||||
column.setRegattaLikeHelper(regattaLikeHelper);
|
||||
getRaceColumnListeners().notifyListenersAboutRaceColumnAddedToContainer(column);
|
||||
}
|
||||
|
||||
+4
@@ -231,6 +231,10 @@ public class MetaLeaderboardColumn extends SimpleAbstractRaceColumn implements R
|
||||
public void setMasterDataExportOngoingThreadFlag(boolean flagValue) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRaceLogInformationAndLoad(RaceLogStore raceLogStore, RegattaLikeIdentifier regattaLikeParent) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRaceLogInformation(RaceLogStore raceLogStore, RegattaLikeIdentifier regattaLikeParent) {
|
||||
}
|
||||
|
||||
@@ -197,5 +197,4 @@ public interface GPSFixTrack<ItemType, FixType extends GPSFix> extends MappedTra
|
||||
* {@link #getFixes()} if and only if this method returns {@code true}.
|
||||
*/
|
||||
boolean isValid(FixType e);
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -10,8 +10,8 @@ import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.common.SpeedWithBearing;
|
||||
import com.sap.sailing.domain.common.TackType;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.leaderboard.caching.LeaderboardDTOCalculationReuseCache;
|
||||
import com.sap.sailing.domain.ranking.RankingMetric.RankingInfo;
|
||||
import com.sap.sailing.domain.tracking.impl.NoCachingWindLegTypeAndLegBearingCache;
|
||||
import com.sap.sse.common.Bearing;
|
||||
import com.sap.sse.common.Distance;
|
||||
import com.sap.sse.common.Duration;
|
||||
@@ -359,7 +359,7 @@ public interface TrackedLegOfCompetitor extends Serializable {
|
||||
* for this single call. Good, e.g., for test cases.
|
||||
*/
|
||||
default TackType getTackType(TimePoint timePoint) throws NoWindException {
|
||||
return getTackType(timePoint, new NoCachingWindLegTypeAndLegBearingCache());
|
||||
return getTackType(timePoint, new LeaderboardDTOCalculationReuseCache(timePoint));
|
||||
}
|
||||
|
||||
Double getExpeditionAWA(TimePoint at);
|
||||
|
||||
-1
@@ -275,5 +275,4 @@ public class DynamicGPSFixMovingTrackImpl<ItemType> extends GPSFixTrackImpl<Item
|
||||
public void setMillisecondsOverWhichToAverage(long millisecondsOverWhichToAverage) {
|
||||
super.setMillisecondsOverWhichToAverage(millisecondsOverWhichToAverage);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+19
-16
@@ -1251,28 +1251,31 @@ public class TrackedLegOfCompetitorImpl implements TrackedLegOfCompetitor {
|
||||
final TackType result;
|
||||
final MarkPassing start = getMarkPassingForLegStart();
|
||||
final MarkPassing end = getMarkPassingForLegEnd();
|
||||
if (start != null && timePoint.after(start.getTimePoint()) && end != null
|
||||
&& timePoint.before(end.getTimePoint())) {
|
||||
if (start != null && !timePoint.before(start.getTimePoint()) && (end == null || timePoint.before(end.getTimePoint()))) {
|
||||
// TODO: missing solution for cases with PassingInstruction Offset and FixedBearing
|
||||
final Position waypointPosition = cache.getApproximatePosition(getTrackedRace(), getLeg().getTo(),
|
||||
timePoint);
|
||||
final Position waypointPosition = cache.getApproximatePosition(getTrackedRace(), getLeg().getTo(), timePoint);
|
||||
final Wind wind = cache.getWind(getTrackedRace(), competitor, timePoint);
|
||||
final Position competitorPosition = getTrackedRace().getTrack(competitor).getEstimatedPosition(timePoint,
|
||||
/* extrapolate */ true);
|
||||
final Position competitorPosition = getTrackedRace().getTrack(competitor).getEstimatedPosition(timePoint, /* extrapolate */ true);
|
||||
if (waypointPosition != null && wind != null && competitorPosition != null) {
|
||||
final LegType legType = cache.getLegType(getTrackedLeg(), timePoint);
|
||||
final Bearing windBearing = legType == LegType.UPWIND ? wind.getFrom() : wind.getBearing();
|
||||
final Bearing cog = getSpeedOverGround(timePoint).getBearing();
|
||||
final Bearing bearingToWaypoint = competitorPosition.getBearingGreatCircle(waypointPosition);
|
||||
// on reaching legs we won't compare to COG/Wind difference but to a fixed threshold, assuming
|
||||
// that not sailing straight towards the next waypoint is a risk, conceptually making it the short tack
|
||||
final Bearing diffWindToBoat = legType == LegType.REACHING ? MAX_REACHING_TOLERANCE_AWAY_FROM_WAYPOINT :
|
||||
windBearing.getDifferenceTo(cog).abs();
|
||||
final Bearing diffMarkToBoat = bearingToWaypoint.getDifferenceTo(cog).abs();
|
||||
if (diffMarkToBoat.compareTo(diffWindToBoat) < 0) {
|
||||
result = TackType.LONGTACK;
|
||||
final SpeedWithBearing cogSog = getSpeedOverGround(timePoint);
|
||||
if (cogSog != null) {
|
||||
final Bearing cog = cogSog.getBearing();
|
||||
final Bearing bearingToWaypoint = competitorPosition.getBearingGreatCircle(waypointPosition);
|
||||
// on reaching legs we won't compare to COG/Wind difference but to a fixed threshold, assuming
|
||||
// that not sailing straight towards the next waypoint is a risk, conceptually making it the short tack
|
||||
final Bearing diffWindToBoat = legType == LegType.REACHING ? MAX_REACHING_TOLERANCE_AWAY_FROM_WAYPOINT :
|
||||
windBearing.getDifferenceTo(cog).abs();
|
||||
final Bearing diffMarkToBoat = bearingToWaypoint.getDifferenceTo(cog).abs();
|
||||
if (diffMarkToBoat.compareTo(diffWindToBoat) < 0) {
|
||||
result = TackType.LONGTACK;
|
||||
} else {
|
||||
result = TackType.SHORTTACK;
|
||||
}
|
||||
} else {
|
||||
result = TackType.SHORTTACK;
|
||||
// no COG/SOG could be inferred
|
||||
result = null;
|
||||
}
|
||||
} else {
|
||||
result = null;
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.github.sdbg.debug.core.chromeLaunchConfig">
|
||||
<stringAttribute key="applicationArguments" value=""/>
|
||||
<stringAttribute key="applicationName" value=""/>
|
||||
<booleanAttribute key="launchFile" value="false"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.gwt.ui"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="projectName" value="com.sap.sailing.gwt.ui"/>
|
||||
<booleanAttribute key="showLaunchOutput" value="false"/>
|
||||
<stringAttribute key="url" value="http://127.0.0.1:8888/gwt/DataMining.html"/>
|
||||
<stringAttribute key="urlQueryParams" value=""/>
|
||||
<stringAttribute key="applicationArguments" value=""/>
|
||||
<stringAttribute key="applicationName" value=""/>
|
||||
<stringAttribute key="browserSearchOrder" value="chrome,edge,firefox,chromium"/>
|
||||
<booleanAttribute key="launchFile" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.gwt.ui"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="projectName" value="com.sap.sailing.gwt.ui"/>
|
||||
<booleanAttribute key="showLaunchOutput" value="false"/>
|
||||
<stringAttribute key="url" value="http://127.0.0.1:8888/gwt/DataMining.html"/>
|
||||
<stringAttribute key="urlQueryParams" value=""/>
|
||||
</launchConfiguration>
|
||||
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
package com.google.gwt.user.client.rpc.core.com.sap.sailing.datamining.shared;
|
||||
|
||||
import com.google.gwt.user.client.rpc.CustomFieldSerializer;
|
||||
import com.google.gwt.user.client.rpc.SerializationException;
|
||||
import com.google.gwt.user.client.rpc.SerializationStreamReader;
|
||||
import com.google.gwt.user.client.rpc.SerializationStreamWriter;
|
||||
import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
import com.sap.sse.common.Duration;
|
||||
|
||||
public final class TackTypeSegmentsDataMiningSettings_CustomFieldSerializer extends CustomFieldSerializer<TackTypeSegmentsDataMiningSettings> {
|
||||
@Override
|
||||
public boolean hasCustomInstantiateInstance() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TackTypeSegmentsDataMiningSettings instantiateInstance(SerializationStreamReader streamReader) throws SerializationException {
|
||||
return instantiate(streamReader);
|
||||
}
|
||||
|
||||
public static TackTypeSegmentsDataMiningSettings instantiate(SerializationStreamReader streamReader) throws SerializationException {
|
||||
final Duration minimumTackTypeSegmentDuration = (Duration) streamReader.readObject();
|
||||
final Duration minimumDurationBetweenAdjacentTackTypeSegments = (Duration) streamReader.readObject();
|
||||
return new TackTypeSegmentsDataMiningSettings(minimumTackTypeSegmentDuration, minimumDurationBetweenAdjacentTackTypeSegments);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deserializeInstance(SerializationStreamReader streamReader, TackTypeSegmentsDataMiningSettings instance)
|
||||
throws SerializationException {
|
||||
deserialize(streamReader, instance);
|
||||
}
|
||||
|
||||
public static void deserialize(SerializationStreamReader streamReader, TackTypeSegmentsDataMiningSettings instance) {
|
||||
// handled by instantiate
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serializeInstance(SerializationStreamWriter streamWriter, TackTypeSegmentsDataMiningSettings instance)
|
||||
throws SerializationException {
|
||||
serialize(streamWriter, instance);
|
||||
}
|
||||
|
||||
public static void serialize(SerializationStreamWriter streamWriter, TackTypeSegmentsDataMiningSettings instance)
|
||||
throws SerializationException {
|
||||
streamWriter.writeObject(instance.getMinimumTackTypeSegmentDuration());
|
||||
streamWriter.writeObject(instance.getMinimumDurationBetweenAdjacentTackTypeSegments());
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
package com.sap.sailing.gwt.common.client.premium;
|
||||
|
||||
import static com.sap.sailing.gwt.common.client.premium.SailingPremiumIconRessource.INSTANCE;
|
||||
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.ui.Image;
|
||||
import com.sap.sailing.gwt.ui.client.EntryPointLinkFactory;
|
||||
import com.sap.sse.security.shared.HasPermissions.Action;
|
||||
import com.sap.sse.security.shared.dto.SecuredDTO;
|
||||
import com.sap.sse.security.ui.client.premium.PaywallResolver;
|
||||
import com.sap.sse.security.ui.client.premium.PremiumListBox;
|
||||
|
||||
public class SailingPremiumListBox extends PremiumListBox {
|
||||
|
||||
public SailingPremiumListBox(final String label, final String emptyValue, final Action action, final PaywallResolver paywallResolver, SecuredDTO contextDTO) {
|
||||
super(label, emptyValue, action, paywallResolver, contextDTO);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Image createPremiumIcon() {
|
||||
return new Image();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onUserPermissionUpdate(final boolean isPermitted) {
|
||||
super.onUserPermissionUpdate(isPermitted);
|
||||
image.setUrl((isPermitted ? INSTANCE.premiumIconPermitted() : INSTANCE.premiumIcon()).getSafeUri());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSubscribeDialogConfirmation(final Iterable<String> unlockingPlans) {
|
||||
Window.open(EntryPointLinkFactory.createSubscriptionPageLink(unlockingPlans), "_blank", "");
|
||||
}
|
||||
|
||||
}
|
||||
-2
@@ -30,10 +30,8 @@ public class DesktopEntryPoint extends AbstractMvpEntryPoint<StringMessages, Des
|
||||
@Override
|
||||
public void doOnModuleLoad() {
|
||||
Document.get().getBody().addClassName(SharedResources.INSTANCE.mainCss().desktop());
|
||||
|
||||
ServerConfigurationServiceAsync serverConfigService = GWT.create(ServerConfigurationService.class);
|
||||
EntryPointHelper.registerASyncService((ServiceDefTarget) serverConfigService, RemoteServiceMappingConstants.serverConfigurationServiceRemotePath);
|
||||
|
||||
serverConfigService.isStandaloneServer(new AsyncCallback<Boolean>() {
|
||||
@Override
|
||||
public void onSuccess(Boolean result) {
|
||||
|
||||
+5
@@ -12,6 +12,11 @@
|
||||
<li>Added two dimensions on wind fix datamining ("is in race" and "is in tracking time range").</li>
|
||||
<li>Added a simple data mining retriever chain allowing for competitor counting.</li>
|
||||
<li>Added a statistic for smoothed speed on GPS fixes in data mining.</li>
|
||||
<li>Issues with updating the boat tails on the map have been resolved.</li>
|
||||
<li>Several performance improvements for tail updates on the map have been implemented.</li>
|
||||
<li>Colored tails now require a premium subscription.</li>
|
||||
<li>Added data mining fact type for "tack type segment" (long/short tack) which
|
||||
comes with the statistics <em>distance</em> and <em>duration</em>.</li>
|
||||
</ul>
|
||||
<h5 class="articleSubheadline">November 2023</h5>
|
||||
<ul class="bulletList">
|
||||
|
||||
+55
-11
@@ -2,27 +2,55 @@ package com.sap.sailing.gwt.ui.actions;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sse.gwt.client.async.AsyncAction;
|
||||
|
||||
public abstract class AbstractGetMapRelatedDataAction<T> implements AsyncAction<T> {
|
||||
/**
|
||||
* A remote data request that is specific to a race in the scope of a leaderboard and a leaderboard group, and for a set
|
||||
* of competitors each specifies a time range in which to obtain position data, optionally annotated with detail values
|
||||
* of a specific {@link DetailType}.
|
||||
* <p>
|
||||
*
|
||||
* Requests of this type are asynchronous, meaning in particular that the responses can arrive in an order different
|
||||
* from the request order. Even new requests may be assembled and sent before the responses to all outstanding requests
|
||||
* have been received. Sometimes a new request may supersede a request with an outstanding response, in which case
|
||||
* the callback to the request with the outstanding response may have to be informed that it must not apply the
|
||||
* result for one or more competitors. For example, if a request for position data is made with a specific {@link DetailType},
|
||||
* and then, before the response for that request has been received, another request, this time for a different
|
||||
* {@link DetailType}, is constructed and sent because the user has switched to a different {@link DetailType} in the UI,
|
||||
* then the callback of the request with the outstanding response must be told to toss its position data because it
|
||||
* would be annotated with values for the wrong {@link DetailType} now.
|
||||
*
|
||||
* @author Axel Uhl (d043530)
|
||||
*
|
||||
* @param <T>
|
||||
*/
|
||||
public abstract class AbstractGetMapRelatedDataAction<T> {
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final RegattaAndRaceIdentifier raceIdentifier;
|
||||
private final Map<CompetitorDTO, Date> from;
|
||||
private final Map<CompetitorDTO, Date> to;
|
||||
private final Map<String, Date> from;
|
||||
private final Map<String, Date> to;
|
||||
private final boolean extrapolate;
|
||||
|
||||
public AbstractGetMapRelatedDataAction(SailingServiceAsync sailingService,
|
||||
RegattaAndRaceIdentifier raceIdentifier, Map<CompetitorDTO, Date> from,
|
||||
Map<CompetitorDTO, Date> to, boolean extrapolate) {
|
||||
private final DetailType detailType;
|
||||
private final String leaderboardName;
|
||||
private final String leaderboardGroupName;
|
||||
private final UUID leaderboardGroupId;
|
||||
|
||||
public AbstractGetMapRelatedDataAction(SailingServiceAsync sailingService, RegattaAndRaceIdentifier raceIdentifier,
|
||||
Map<String, Date> from, Map<String, Date> to, boolean extrapolate, DetailType detailType,
|
||||
String leaderboardName, String leaderboardGroupName, UUID leaderboardGroupId) {
|
||||
this.sailingService = sailingService;
|
||||
this.raceIdentifier = raceIdentifier;
|
||||
this.from = from;
|
||||
this.to = to;
|
||||
this.extrapolate = extrapolate;
|
||||
this.detailType = detailType;
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.leaderboardGroupName = leaderboardGroupName;
|
||||
this.leaderboardGroupId = leaderboardGroupId;
|
||||
}
|
||||
|
||||
protected SailingServiceAsync getSailingService() {
|
||||
@@ -33,15 +61,31 @@ public abstract class AbstractGetMapRelatedDataAction<T> implements AsyncAction<
|
||||
return raceIdentifier;
|
||||
}
|
||||
|
||||
protected Map<CompetitorDTO, Date> getFrom() {
|
||||
protected Map<String, Date> getFromByCompetitorIdAsString() {
|
||||
return from;
|
||||
}
|
||||
|
||||
protected Map<CompetitorDTO, Date> getTo() {
|
||||
protected Map<String, Date> getToByCompetitorIdAsString() {
|
||||
return to;
|
||||
}
|
||||
|
||||
protected boolean isExtrapolate() {
|
||||
return extrapolate;
|
||||
}
|
||||
|
||||
protected DetailType getDetailType() {
|
||||
return detailType;
|
||||
}
|
||||
|
||||
protected String getLeaderboardName() {
|
||||
return leaderboardName;
|
||||
}
|
||||
|
||||
protected String getLeaderboardGroupName() {
|
||||
return leaderboardGroupName;
|
||||
}
|
||||
|
||||
protected UUID getLeaderboardGroupId() {
|
||||
return leaderboardGroupId;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-21
@@ -8,7 +8,6 @@ import java.util.UUID;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.shared.CompactBoatPositionsDTO;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
@@ -17,26 +16,15 @@ import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.common.impl.TimeRangeImpl;
|
||||
import com.sap.sse.gwt.client.async.TimeRangeAsyncAction;
|
||||
|
||||
public class GetBoatPositionsAction implements TimeRangeAsyncAction<CompactBoatPositionsDTO, Pair<String, DetailType>> {
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final RegattaAndRaceIdentifier raceIdentifier;
|
||||
private final Map<CompetitorDTO, Date> from;
|
||||
private final Map<CompetitorDTO, Date> to;
|
||||
private final boolean extrapolate;
|
||||
private final DetailType detailType;
|
||||
public class GetBoatPositionsAction extends AbstractGetMapRelatedDataAction<CompactBoatPositionsDTO> implements TimeRangeAsyncAction<CompactBoatPositionsDTO, Pair<String, DetailType>> {
|
||||
private final String leaderboardName;
|
||||
private final String leaderboardGroupName;
|
||||
private final UUID leaderboardGroupId;
|
||||
|
||||
public GetBoatPositionsAction(SailingServiceAsync sailingService, RegattaAndRaceIdentifier raceIdentifier,
|
||||
Map<CompetitorDTO, Date> from, Map<CompetitorDTO, Date> to, boolean extrapolate, DetailType detailType,
|
||||
Map<String, Date> from, Map<String, Date> to, boolean extrapolate, DetailType detailType,
|
||||
String leaderboardName, String leaderboardGroupName, UUID leaderboardGroupId) {
|
||||
this.sailingService = sailingService;
|
||||
this.raceIdentifier = raceIdentifier;
|
||||
this.from = from;
|
||||
this.to = to;
|
||||
this.extrapolate = extrapolate;
|
||||
this.detailType = detailType;
|
||||
super(sailingService, raceIdentifier, from, to, extrapolate, detailType, leaderboardName, leaderboardGroupName, leaderboardGroupId);
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.leaderboardGroupName = leaderboardGroupName;
|
||||
this.leaderboardGroupId = leaderboardGroupId;
|
||||
@@ -52,18 +40,18 @@ public class GetBoatPositionsAction implements TimeRangeAsyncAction<CompactBoatP
|
||||
fromByCompetitorIdAsString.put(entry.getKey().getA(), from);
|
||||
toByCompetitorIdAsString.put(entry.getKey().getA(), to);
|
||||
}
|
||||
sailingService.getBoatPositions(raceIdentifier, fromByCompetitorIdAsString, toByCompetitorIdAsString,
|
||||
extrapolate, detailType, leaderboardName, leaderboardGroupName, leaderboardGroupId, callback);
|
||||
getSailingService().getBoatPositions(getRaceIdentifier(), fromByCompetitorIdAsString, toByCompetitorIdAsString,
|
||||
isExtrapolate(), getDetailType(), leaderboardName, leaderboardGroupName, leaderboardGroupId, callback);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Pair<String, DetailType>, TimeRange> getTimeRanges() {
|
||||
final Map<Pair<String, DetailType>, TimeRange> timeRangeByCompetitorId = new HashMap<>(from.size());
|
||||
for (final Map.Entry<CompetitorDTO, Date> entry : from.entrySet()) {
|
||||
final Map<Pair<String, DetailType>, TimeRange> timeRangeByCompetitorId = new HashMap<>(getFromByCompetitorIdAsString().size());
|
||||
for (final Map.Entry<String, Date> entry : getFromByCompetitorIdAsString().entrySet()) {
|
||||
final Date fromDate = entry.getValue();
|
||||
final Date toDate = to.get(entry.getKey());
|
||||
final Date toDate = getToByCompetitorIdAsString().get(entry.getKey());
|
||||
if (fromDate != null && toDate != null) {
|
||||
timeRangeByCompetitorId.put(new Pair<>(entry.getKey().getIdAsString(), detailType),
|
||||
timeRangeByCompetitorId.put(new Pair<>(entry.getKey(), getDetailType()),
|
||||
new TimeRangeImpl(TimePoint.of(fromDate), TimePoint.of(toDate), /* toIsInclusive */ true));
|
||||
}
|
||||
}
|
||||
|
||||
+46
-25
@@ -1,63 +1,69 @@
|
||||
package com.sap.sailing.gwt.ui.actions;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.domain.common.LegIdentifier;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.shared.CompactBoatPositionsDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.CompactRaceMapDataDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.GPSFixDTOWithSpeedWindTackAndLegTypeIterable;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceMapDataDTO;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.gwt.client.async.AsyncAction;
|
||||
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
|
||||
import com.sap.sse.gwt.client.async.TimeRangeActionsExecutor;
|
||||
|
||||
public class GetRaceMapDataAction extends AbstractGetMapRelatedDataAction<RaceMapDataDTO> {
|
||||
/**
|
||||
* When it gets {@ink #dropped(AsyncActionsExecutor) dropped}, at least the
|
||||
* {@link SailingServiceAsync#getBoatPositions(RegattaAndRaceIdentifier, Map, Map, boolean, DetailType, String, String, UUID, AsyncCallback)
|
||||
* getBoatPositions} call must be executed, then through the {@link TimeRangeActionsExecutor}, with the callback
|
||||
* provided to the constructor.
|
||||
*
|
||||
* @author Axel Uhl (d043530)
|
||||
*
|
||||
*/
|
||||
public class GetRaceMapDataAction extends AbstractGetMapRelatedDataAction<RaceMapDataDTO> implements AsyncAction<RaceMapDataDTO> {
|
||||
private final Map<String, CompetitorDTO> competitorsByIdAsString;
|
||||
private final Date date;
|
||||
private final LegIdentifier simulationLegIdentifier;
|
||||
private final byte[] md5OfIdsAsStringOfCompetitorParticipatingInRaceInAlphanumericOrderOfTheirID;
|
||||
private Date timeForEstimation;
|
||||
private boolean targetEstimationRequired;
|
||||
private final DetailType detailType;
|
||||
private final String leaderboardName;
|
||||
private final String leaderboardGroupName;
|
||||
private final UUID leaderboardGroupId;
|
||||
private final TimeRangeActionsExecutor<CompactBoatPositionsDTO, GPSFixDTOWithSpeedWindTackAndLegTypeIterable, Pair<String, DetailType>> timeRangeActionsExecutor;
|
||||
private final GetBoatPositionsCallback getBoatPositionsCallback;
|
||||
|
||||
public GetRaceMapDataAction(SailingServiceAsync sailingService, Map<String, CompetitorDTO> competitorsByIdAsString,
|
||||
RegattaAndRaceIdentifier raceIdentifier, Date date, Map<CompetitorDTO, Date> from,
|
||||
Map<CompetitorDTO, Date> to, boolean extrapolate, LegIdentifier simulationLegIdentifier,
|
||||
public GetRaceMapDataAction(SailingServiceAsync sailingService,
|
||||
TimeRangeActionsExecutor<CompactBoatPositionsDTO, GPSFixDTOWithSpeedWindTackAndLegTypeIterable, Pair<String, DetailType>> timeRangeActionsExecutor,
|
||||
Map<String, CompetitorDTO> competitorsByIdAsString, RegattaAndRaceIdentifier raceIdentifier, Date date, Map<String, Date> from,
|
||||
Map<String, Date> to, boolean extrapolate, LegIdentifier simulationLegIdentifier,
|
||||
byte[] md5OfIdsAsStringOfCompetitorParticipatingInRaceInAlphanumericOrderOfTheirID, Date timeForEstimation,
|
||||
boolean targetEstimationRequired, DetailType detailType, String leaderboardName,
|
||||
String leaderboardGroupName, UUID leaderboardGroupId) {
|
||||
super(sailingService, raceIdentifier, from, to, extrapolate);
|
||||
String leaderboardGroupName, UUID leaderboardGroupId, GetBoatPositionsCallback getBoatPositionsCallback) {
|
||||
super(sailingService, raceIdentifier, from, to, extrapolate, detailType, leaderboardName, leaderboardGroupName, leaderboardGroupId);
|
||||
this.timeRangeActionsExecutor = timeRangeActionsExecutor;
|
||||
this.competitorsByIdAsString = competitorsByIdAsString;
|
||||
this.timeForEstimation = timeForEstimation;
|
||||
this.targetEstimationRequired = targetEstimationRequired;
|
||||
this.date = date;
|
||||
this.simulationLegIdentifier = simulationLegIdentifier;
|
||||
this.md5OfIdsAsStringOfCompetitorParticipatingInRaceInAlphanumericOrderOfTheirID = md5OfIdsAsStringOfCompetitorParticipatingInRaceInAlphanumericOrderOfTheirID;
|
||||
this.detailType = detailType;
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.leaderboardGroupName = leaderboardGroupName;
|
||||
this.leaderboardGroupId = leaderboardGroupId;
|
||||
this.getBoatPositionsCallback = getBoatPositionsCallback;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(final AsyncCallback<RaceMapDataDTO> callback) {
|
||||
Map<String, Date> fromByCompetitorIdAsString = new HashMap<String, Date>();
|
||||
for (Map.Entry<CompetitorDTO, Date> fromEntry : getFrom().entrySet()) {
|
||||
fromByCompetitorIdAsString.put(fromEntry.getKey().getIdAsString(), fromEntry.getValue());
|
||||
}
|
||||
Map<String, Date> toByCompetitorIdAsString = new HashMap<String, Date>();
|
||||
for (Map.Entry<CompetitorDTO, Date> toEntry : getTo().entrySet()) {
|
||||
toByCompetitorIdAsString.put(toEntry.getKey().getIdAsString(), toEntry.getValue());
|
||||
}
|
||||
Map<String, Date> fromByCompetitorIdAsString = getFromByCompetitorIdAsString();
|
||||
Map<String, Date> toByCompetitorIdAsString = getToByCompetitorIdAsString();
|
||||
getSailingService().getRaceMapData(getRaceIdentifier(), date, fromByCompetitorIdAsString, toByCompetitorIdAsString, isExtrapolate(), simulationLegIdentifier,
|
||||
md5OfIdsAsStringOfCompetitorParticipatingInRaceInAlphanumericOrderOfTheirID, timeForEstimation, targetEstimationRequired, detailType,
|
||||
leaderboardName, leaderboardGroupName, leaderboardGroupId,
|
||||
md5OfIdsAsStringOfCompetitorParticipatingInRaceInAlphanumericOrderOfTheirID, timeForEstimation, targetEstimationRequired, getDetailType(),
|
||||
getLeaderboardName(), getLeaderboardGroupName(), getLeaderboardGroupId(),
|
||||
new AsyncCallback<CompactRaceMapDataDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
@@ -70,4 +76,19 @@ public class GetRaceMapDataAction extends AbstractGetMapRelatedDataAction<RaceMa
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* When a request of this type has been dropped, a replacement request needs to be fired for the boat positions.
|
||||
* These have been expected by the caller to fill up the cache. However, this only has to happen for those
|
||||
* competitors whose cached fixes haven't been evicted in the meantime.
|
||||
*/
|
||||
@Override
|
||||
public void dropped(AsyncActionsExecutor executor) {
|
||||
GWT.log("Executing getBoatPositions(...) call instead of a dropped GetRaceMapDataAction:\n"+getFromByCompetitorIdAsString()+"; "+getToByCompetitorIdAsString());
|
||||
// TODO bug5921: if we had the PositionRequest object at hand, we could check if the positions are still required or if they were marked as to be dropped in which case no request would have to be made;
|
||||
// We could then compute the getFrom() and getTo() from the PositionRequest which would filter those time ranges that will be dropped anyhow; if empty, no request will need to be sent anymore.
|
||||
timeRangeActionsExecutor.execute(new GetBoatPositionsAction(getSailingService(), getRaceIdentifier(),
|
||||
getFromByCompetitorIdAsString(), getToByCompetitorIdAsString(), isExtrapolate(), getDetailType(), getLeaderboardName(), getLeaderboardGroupName(), getLeaderboardGroupId()),
|
||||
getBoatPositionsCallback);
|
||||
}
|
||||
}
|
||||
|
||||
+7
-14
@@ -125,9 +125,7 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider {
|
||||
|
||||
@Override
|
||||
public Iterable<CompetitorDTO> getSelectedFilteredCompetitors() {
|
||||
Set<CompetitorDTO> result = new HashSet<>(selectedCompetitors.values());
|
||||
Util.retainAll(getFilteredCompetitors(), result);
|
||||
return result;
|
||||
return Util.filter(getFilteredCompetitors(), c->selectedCompetitors.containsKey(c.getIdAsString()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -137,18 +135,13 @@ public class CompetitorSelectionModel implements CompetitorSelectionProvider {
|
||||
|
||||
@Override
|
||||
public Iterable<CompetitorDTO> getFilteredCompetitors() {
|
||||
Set<CompetitorDTO> currentFilteredList = new LinkedHashSet<>(allCompetitors);
|
||||
if (competitorsFilterSet != null) {
|
||||
for (Filter<CompetitorDTO> filter : competitorsFilterSet.getFilters()) {
|
||||
for (Iterator<CompetitorDTO> i=currentFilteredList.iterator(); i.hasNext(); ) {
|
||||
CompetitorDTO competitorDTO = i.next();
|
||||
if (!filter.matches(competitorDTO)) {
|
||||
i.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
final Iterable<CompetitorDTO> result;
|
||||
if (competitorsFilterSet == null || competitorsFilterSet.getFilters().isEmpty()) {
|
||||
result = allCompetitors;
|
||||
} else {
|
||||
result = Util.filter(allCompetitors, competitorDTO -> competitorsFilterSet.getFilters().stream().allMatch(filter->filter.matches(competitorDTO)));
|
||||
}
|
||||
return currentFilteredList;
|
||||
return result;
|
||||
}
|
||||
|
||||
public void setSelected(CompetitorDTO competitor, boolean selected, CompetitorSelectionChangeListener... listenersNotToNotify) {
|
||||
|
||||
+2
@@ -594,4 +594,6 @@ public interface SailingService extends RemoteService, RemoteReplicationService
|
||||
YellowBrickConfigurationWithSecurityDTO configuration) throws Exception;
|
||||
|
||||
List<CourseAreaDTO> getCourseAreaForEventOfLeaderboard(String leaderboardName);
|
||||
|
||||
String getGoogleMapsLoaderAuthenticationParams();
|
||||
}
|
||||
|
||||
+2
@@ -682,4 +682,6 @@ public interface SailingServiceAsync extends RemoteReplicationServiceAsync {
|
||||
* from the {@link Event}s obtains their {@link CourseArea}s.
|
||||
*/
|
||||
void getCourseAreaForEventOfLeaderboard(String leaderboardName, AsyncCallback<List<CourseAreaDTO>> callback);
|
||||
|
||||
void getGoogleMapsLoaderAuthenticationParams(AsyncCallback<String> callback);
|
||||
}
|
||||
|
||||
+2
@@ -60,4 +60,6 @@ public interface SimulatorService extends RemoteService {
|
||||
List<String> getRacesNames();
|
||||
|
||||
List<String> getCompetitorsNames(int selectedRaceIndex);
|
||||
|
||||
String getGoogleMapsLoaderAuthenticationParams();
|
||||
}
|
||||
|
||||
+2
@@ -47,4 +47,6 @@ public interface SimulatorServiceAsync {
|
||||
AsyncCallback<SimulatorResultsDTO> callback);
|
||||
|
||||
void getCompetitorsNames(int selectedRaceIndex, AsyncCallback<List<String>> asyncCallback);
|
||||
|
||||
void getGoogleMapsLoaderAuthenticationParams(AsyncCallback<String> asyncCallback);
|
||||
}
|
||||
|
||||
+6
@@ -2444,4 +2444,10 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages,
|
||||
String tackTypeUnit();
|
||||
String tackTypeTooltip();
|
||||
String tackType();
|
||||
String tackTypeSegments();
|
||||
String errorMinimumDurationBetweenAdjacentTackTypeSegmentsMustNotBeNegative();
|
||||
String errorMinimumTackTypeSegmentDurationMustNotBeNegative();
|
||||
String minimumDurationBetweenAdjacentTackTypeSegmentsInSeconds();
|
||||
String minimumTackTypeSegmentsDurationInSeconds();
|
||||
String errorNoAuthenticationParamsForGoogleMapsFound(String message);
|
||||
}
|
||||
+7
-1
@@ -2480,4 +2480,10 @@ incrementalScoreCorrectionInPoints=Incremental score correction (points)
|
||||
errorObtainingCourseAreasForLeaderboard=Error obtaining course areas for leaderboard {0}: {1}
|
||||
tackType=Long / short tack
|
||||
tackTypeTooltip=For upwind: If the difference between COG and next waypoint direction is smaller than the one between COG and wind direction it is long tack (1.0); if it is smaller short tack (-1.0). For downwind: Similar to upwind but instead of "wind direction", one use the opposite direction. So where the wind is blowing to. For reaching: Similar to upwind but instead of comparing to "COG and wind direction", one use 10°.
|
||||
tackTypeUnit=L=1.0, S=-1.0, Unknown=0.0
|
||||
tackTypeUnit=L=1.0, S=-1.0, Unknown=0.0
|
||||
tackTypeSegments=Tack type segments
|
||||
errorMinimumDurationBetweenAdjacentTackTypeSegmentsMustNotBeNegative=Minimum duration between adjacent tack type segments must not be negative
|
||||
errorMinimumTackTypeSegmentDurationMustNotBeNegative=Minimum duration of a tack type segment must not be negative
|
||||
minimumDurationBetweenAdjacentTackTypeSegmentsInSeconds=Minimum duration between adjacent tack type segments (s)
|
||||
minimumTackTypeSegmentsDurationInSeconds=Minimum duration of tack type segments (s)
|
||||
errorNoAuthenticationParamsForGoogleMapsFound=Error: No authentication parameters for the Google Maps API were found: {0}
|
||||
+7
-1
@@ -2476,4 +2476,10 @@ incrementalScoreCorrectionInPoints=Inkrementelle Punktestrafe
|
||||
errorObtainingCourseAreasForLeaderboard=Fehler beim Abfragen der Bahnkreise zur Veranstaltung der Rangliste {0}: {1}
|
||||
tackType=Streck-/Holebug
|
||||
tackTypeTooltip=Für Amwind: Wenn der Unterschied zwischen KüG und Peilung zur nächsten Bahnmarke kleiner ist als KüG und Windrichtung, handelt es sich um Streckbug (1.0); wenn es kleiner ist Holebug (-1.0). Für Vorwind: Ähnlich wie zum Amwind, aber statt "Windrichtung" nutzt man die gegenteilige Richtung. Also die, wo der Wind hin weht. Für Halbwind: Ähnlich wie zur Kreuz, aber statt "KüG und Windrichtung" nutzt man 10°.
|
||||
tackTypeUnit=S=1.0, H=-1.0, Unbekannt=0.0
|
||||
tackTypeUnit=S=1.0, H=-1.0, Unbekannt=0.0
|
||||
tackTypeSegments=Streck-/Holebug-Segmente
|
||||
errorMinimumDurationBetweenAdjacentTackTypeSegmentsMustNotBeNegative=Minimale Dauer zwischen zwei Streck-/Holebug-Segmenten darf nicht negativ sein
|
||||
errorMinimumTackTypeSegmentDurationMustNotBeNegative=Minimale Dauer eines Streck-/Holebug-Segments darf nicht negativ sein
|
||||
minimumDurationBetweenAdjacentTackTypeSegmentsInSeconds=Minimaler zeitlicher Abstand zwischen benachbarten Streck-/Holebug-Segmenten (s)
|
||||
minimumTackTypeSegmentsDurationInSeconds=Mindestdauer eines Streck-/Holebug-Segments (s)
|
||||
errorNoAuthenticationParamsForGoogleMapsFound=Fehler: Es wurden keine Authentifizierungs-Parameter für die Google Maps API gefunden: {0}
|
||||
+58
-37
@@ -16,8 +16,15 @@ import com.google.gwt.maps.client.mvc.MVCArray;
|
||||
import com.google.gwt.maps.client.overlays.Polyline;
|
||||
|
||||
/**
|
||||
* One or more {@link Polyline}s connected to form a longer polyline, with the possibility to change
|
||||
* styles from segment to segment. Two different modes currently exist: {@link ColorlineMode#MONOCHROMATIC}
|
||||
* and {@link ColorlineMode#POLYCHROMATIC}. In monochromatic mode the entire line is represented by a single
|
||||
* {@link Polyline} as no style changes are required. In polychromatic mode, each connection between two
|
||||
* dots is a separate {@link Polyline}, and the options for each segment---particularly their color---
|
||||
* is decided by a {@link ColorlineColorProvider} embedded in the {@link ColorlineOptions} used for this
|
||||
* color line.
|
||||
*
|
||||
* @author Tim Hessenmüller (D062243)
|
||||
* @author Tim Hessenm�ller (D062243)
|
||||
*/
|
||||
public class Colorline {
|
||||
private ColorlineOptions options;
|
||||
@@ -43,12 +50,11 @@ public class Colorline {
|
||||
public Colorline(ColorlineColorProvider colorProvider) {
|
||||
this(new ColorlineOptions(colorProvider));
|
||||
}
|
||||
|
||||
public Colorline(ColorlineOptions options) {
|
||||
this.options = options;
|
||||
polylines = new ArrayList<>();
|
||||
|
||||
pathChangeListeners = new HashSet<>();
|
||||
|
||||
clickMapHandlers = new HashSet<>();
|
||||
mouseOverMapHandlers = new HashSet<>();
|
||||
mouseDownMapHandlers = new HashSet<>();
|
||||
@@ -56,13 +62,11 @@ public class Colorline {
|
||||
mouseOutMapHandlers = new HashSet<>();
|
||||
}
|
||||
|
||||
/*public ColorlineOptions getOptions() {
|
||||
return options;
|
||||
}*/
|
||||
public void setOptions(final ColorlineOptions options) {
|
||||
if (this.options.getColorMode() != options.getColorMode()) {
|
||||
// If colorMode changed the path needs to change from one polyline to multiple polylines and vice versa
|
||||
MVCArray<LatLng> path = MVCArray.newInstance(getPath().toArray(new LatLng[0]));
|
||||
final List<LatLng> pathOfLatLngs = getPath();
|
||||
MVCArray<LatLng> path = MVCArray.newInstance(pathOfLatLngs.toArray(new LatLng[pathOfLatLngs.size()]));
|
||||
this.options = options;
|
||||
setPath(path);
|
||||
} else {
|
||||
@@ -70,18 +74,23 @@ public class Colorline {
|
||||
}
|
||||
// Since colorMode and/or options have changed it's best to update the colors of all polylines
|
||||
for (int i = 0; i < polylines.size(); i++) {
|
||||
String color = options.getColorProvider().getColor(i);
|
||||
polylines.get(i).setOptions(options.newPolylineOptionsInstance(color));
|
||||
updatePolylineColor(i);
|
||||
}
|
||||
}
|
||||
|
||||
private void updatePolylineColor(int fixIndexInTail) {
|
||||
String color = options.getColorProvider().getColor(fixIndexInTail);
|
||||
polylines.get(fixIndexInTail).setOptions(options.newPolylineOptionsInstance(color));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an ordered {@link List} of all {@link LatLng} vertices in this {@code Colorline}.
|
||||
*
|
||||
* @return ordered {@link List} of {@link LatLng}.
|
||||
*/
|
||||
public List<LatLng> getPath() {
|
||||
final int cap = getLength();
|
||||
List<LatLng> path = new ArrayList<>(cap);
|
||||
final List<LatLng> path = new ArrayList<>(cap);
|
||||
if (cap > 0) {
|
||||
// In POLYCHROMATIC mode it is possible to have a single invisible vertex if the total path length is 1
|
||||
path.add(polylines.get(0).getPath().get(0));
|
||||
@@ -122,25 +131,30 @@ public class Colorline {
|
||||
|
||||
/**
|
||||
* Inserts a vertex at a specified position in the path.
|
||||
* @param index {@code int} indicating the insertion position.
|
||||
* @param position {@link LatLng} the vertex to insert.
|
||||
* @throws IllegalArgumentException if {@code position} is {@code null}.
|
||||
* @throws IndexOutOfBoundsException if {@code index} is not in bounds of path.
|
||||
*
|
||||
* @param fixIndexInTail
|
||||
* {@code int} indicating the insertion position.
|
||||
* @param position
|
||||
* {@link LatLng} the vertex to insert.
|
||||
* @throws IllegalArgumentException
|
||||
* if {@code position} is {@code null}.
|
||||
* @throws IndexOutOfBoundsException
|
||||
* if {@code index} is not in bounds of path.
|
||||
*/
|
||||
public void insertAt(int index, LatLng position) throws IllegalArgumentException, IndexOutOfBoundsException {
|
||||
public void insertAt(int fixIndexInTail, LatLng position) throws IllegalArgumentException, IndexOutOfBoundsException {
|
||||
if (position == null) throw new IllegalArgumentException("Cannot insert value: null");
|
||||
for (Colorline line : pathChangeListeners) {
|
||||
line.insertAt(index, position);
|
||||
line.insertAt(fixIndexInTail, position);
|
||||
}
|
||||
switch (options.getColorMode()) {
|
||||
case MONOCHROMATIC:
|
||||
if (polylines.isEmpty()) {
|
||||
polylines.add(createPolyline(MVCArray.newInstance(), 0));
|
||||
}
|
||||
polylines.get(0).getPath().insertAt(index, position);
|
||||
polylines.get(0).getPath().insertAt(fixIndexInTail, position);
|
||||
break;
|
||||
case POLYCHROMATIC:
|
||||
if (index == 0) {
|
||||
if (fixIndexInTail == 0) {
|
||||
// Prepend a new Polyline
|
||||
if (polylines.isEmpty() || polylines.get(0).getPath().getLength() == 2) {
|
||||
// There either is no Polyline or the existing Polyline at index 0 is completed
|
||||
@@ -150,43 +164,45 @@ public class Colorline {
|
||||
if (!polylines.isEmpty()) { // If we can connect the new Polyline to an existing one do so
|
||||
path.push(polylines.get(0).getPath().get(0));
|
||||
}
|
||||
polylines.add(0, createPolyline(path, index));
|
||||
polylines.add(0, createPolyline(path, fixIndexInTail));
|
||||
} else {
|
||||
// The Polyline at index 0 is incomplete
|
||||
// Complete it
|
||||
polylines.get(0).getPath().insertAt(0, position);
|
||||
polylines.get(0).getPath().insertAt(0, position); // FIXME bug5921: what does this do to the polyline's color? Shouldn't the color always be determined by the first of the two points in the segment?
|
||||
}
|
||||
} else if (index == getLength()) {
|
||||
if (index == 1 && polylines.get(0).getPath().getLength() == 1) {
|
||||
} else if (fixIndexInTail == getLength()) {
|
||||
if (fixIndexInTail == 1 && polylines.get(0).getPath().getLength() == 1) {
|
||||
// Finish first polyline
|
||||
polylines.get(0).getPath().push(position);
|
||||
} else {
|
||||
// Append a new Polyline
|
||||
MVCArray<LatLng> path = MVCArray.newInstance();
|
||||
path.push(polylines.get(index - 2).getPath().get(1));
|
||||
path.push(polylines.get(fixIndexInTail - 2).getPath().get(1));
|
||||
path.push(position);
|
||||
polylines.add(index - 1, createPolyline(path, index));
|
||||
polylines.add(fixIndexInTail - 1, createPolyline(path, fixIndexInTail));
|
||||
}
|
||||
} else {
|
||||
// Split an existing Polyline into two
|
||||
LatLng end = polylines.get(index - 1).getPath().get(1);
|
||||
polylines.get(index - 1).getPath().setAt(1, position);
|
||||
LatLng end = polylines.get(fixIndexInTail - 1).getPath().get(1);
|
||||
polylines.get(fixIndexInTail - 1).getPath().setAt(1, position);
|
||||
MVCArray<LatLng> path = MVCArray.newInstance();
|
||||
path.push(position);
|
||||
path.push(end);
|
||||
polylines.add(index, createPolyline(path, index));
|
||||
polylines.add(fixIndexInTail, createPolyline(path, fixIndexInTail));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a vertex at a specified position from the displayed path.
|
||||
* If the removed vertex was not at one of the ends the two adjacent vertices will now
|
||||
* directly connect to each other.
|
||||
* @param index {@code int} indication the vertex to be removed from path.
|
||||
* Removes a vertex at a specified position from the displayed path. If the removed vertex was not at one of the
|
||||
* ends the two adjacent vertices will now directly connect to each other.
|
||||
*
|
||||
* @param index
|
||||
* {@code int} indication the vertex to be removed from path.
|
||||
* @return {@link LatLng} vertex that was removed.
|
||||
* @throws IndexOutOfBoundsException if {@code index} is not in bounds of path.
|
||||
* @throws IndexOutOfBoundsException
|
||||
* if {@code index} is not in bounds of path.
|
||||
*/
|
||||
public LatLng removeAt(int index) throws IndexOutOfBoundsException {
|
||||
if (index < 0 || index >= getLength()) {
|
||||
@@ -235,9 +251,13 @@ public class Colorline {
|
||||
|
||||
/**
|
||||
* Sets a specified vertex.
|
||||
* @param index {@code int} vertex to set.
|
||||
* @param position {@link LatLng} to set vertex to.
|
||||
* @throws IndexOutOfBoundsException if {@code index} is not in bounds of path.
|
||||
*
|
||||
* @param index
|
||||
* {@code int} vertex to set.
|
||||
* @param position
|
||||
* {@link LatLng} to set vertex to.
|
||||
* @throws IndexOutOfBoundsException
|
||||
* if {@code index} is not in bounds of path.
|
||||
*/
|
||||
public void setAt(int index, LatLng position) throws IndexOutOfBoundsException {
|
||||
for (Colorline line : pathChangeListeners) {
|
||||
@@ -255,6 +275,7 @@ public class Colorline {
|
||||
} else { // Set a vertex somewhere in the middle which affects 2 polylines
|
||||
polylines.get(index - 1).getPath().setAt(1, position);
|
||||
polylines.get(index).getPath().setAt(0, position);
|
||||
updatePolylineColor(index);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -317,8 +338,8 @@ public class Colorline {
|
||||
return -1;
|
||||
}
|
||||
|
||||
private Polyline createPolyline(MVCArray<LatLng> path, int colorIndex) {
|
||||
Polyline line = options.newPolylineInstance(colorIndex);
|
||||
private Polyline createPolyline(MVCArray<LatLng> path, int fixIndexInTail) {
|
||||
final Polyline line = options.newPolylineInstance(fixIndexInTail);
|
||||
line.setPath(path);
|
||||
if (map != null) {
|
||||
line.setMap(map);
|
||||
|
||||
+5
-1
@@ -2,5 +2,9 @@ package com.sap.sailing.gwt.ui.client.shared.racemap;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface ColorlineColorProvider {
|
||||
public String getColor(int index);
|
||||
/**
|
||||
* @param fixIndexInTail
|
||||
* zero-based index into the visible tail; 0 means the first visible fix
|
||||
*/
|
||||
public String getColor(int fixIndexInTail);
|
||||
}
|
||||
|
||||
+3
-2
@@ -46,12 +46,13 @@ public class ColorlineOptions {
|
||||
}
|
||||
|
||||
|
||||
public Polyline newPolylineInstance(int index) {
|
||||
public Polyline newPolylineInstance(int fixIndexInTail) {
|
||||
if (colorProvider == null) {
|
||||
throw new IllegalStateException("A ColorProvider must be set prior to creating new Polylines.");
|
||||
}
|
||||
return newPolylineInstance(colorProvider.getColor(index));
|
||||
return newPolylineInstance(colorProvider.getColor(fixIndexInTail));
|
||||
}
|
||||
|
||||
public Polyline newPolylineInstance(String strokeColor) {
|
||||
Polyline line = Polyline.newInstance(newPolylineOptionsInstance(strokeColor));
|
||||
line.setEditable(editable);
|
||||
|
||||
+1
-1
@@ -187,7 +187,7 @@ public class CompetitorInfoOverlays implements QuickFlagDataListener {
|
||||
|
||||
@Override
|
||||
public void speedInKnotsChanged(CompetitorDTO competitorDTO, Double quickSpeedInKnots) {
|
||||
String competitorId = competitorDTO.getIdAsString();
|
||||
final String competitorId = competitorDTO.getIdAsString();
|
||||
speedsInKnots.put(competitorId, quickSpeedInKnots);
|
||||
final CompetitorInfoOverlay competitorInfoOverlay = competitorInfoOverlays.get(competitorId);
|
||||
if (competitorInfoOverlay != null) {
|
||||
|
||||
+12
-13
@@ -10,14 +10,14 @@ import com.sap.sailing.gwt.ui.shared.QuickRankDTO;
|
||||
import com.sap.sse.common.Util;
|
||||
|
||||
public class DefaultQuickFlagDataProvider extends AbstractQuickFlagDataProvider {
|
||||
private Map<String, QuickRankDTO> currentQuickRanksFromServer = Collections.emptyMap();
|
||||
private Map<CompetitorDTO, Double> currentQuickSpeedsInKnotsFromServer = Collections.emptyMap();
|
||||
private Map<String, QuickRankDTO> currentQuickRanksFromServerByCompetitorIdAsString = Collections.emptyMap();
|
||||
private Map<String, Double> currentQuickSpeedsInKnotsFromServerByCompetitorIdAsString = Collections.emptyMap();
|
||||
|
||||
@Override
|
||||
public void quickRanksReceivedFromServer(Map<String, QuickRankDTO> receivedQuickRanksFromServer) {
|
||||
final Map<String, QuickRankDTO> oldQuickRanksFromServer = this.currentQuickRanksFromServer;
|
||||
this.currentQuickRanksFromServer = Util.nullToEmptyMap(receivedQuickRanksFromServer);
|
||||
for (final Entry<String, QuickRankDTO> e : currentQuickRanksFromServer.entrySet()) {
|
||||
final Map<String, QuickRankDTO> oldQuickRanksFromServer = this.currentQuickRanksFromServerByCompetitorIdAsString;
|
||||
this.currentQuickRanksFromServerByCompetitorIdAsString = Util.nullToEmptyMap(receivedQuickRanksFromServer);
|
||||
for (final Entry<String, QuickRankDTO> e : currentQuickRanksFromServerByCompetitorIdAsString.entrySet()) {
|
||||
final QuickRankDTO oldQuickRank = oldQuickRanksFromServer.get(e.getKey());
|
||||
if (Util.equalsWithNull(oldQuickRank, e.getValue())) {
|
||||
notifyListenersRankChanged(e.getKey(), oldQuickRank, e.getValue());
|
||||
@@ -27,17 +27,17 @@ public class DefaultQuickFlagDataProvider extends AbstractQuickFlagDataProvider
|
||||
|
||||
@Override
|
||||
public Map<String, QuickRankDTO> getQuickRanks() {
|
||||
return currentQuickRanksFromServer;
|
||||
return currentQuickRanksFromServerByCompetitorIdAsString;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void quickSpeedsInKnotsReceivedFromServer(Map<CompetitorDTO, Double> quickSpeedsFromServerInKnots) {
|
||||
final Map<CompetitorDTO, Double> oldQuickSpeedsFromServerInKnots = this.currentQuickSpeedsInKnotsFromServer;
|
||||
this.currentQuickSpeedsInKnotsFromServer = Util.nullToEmptyMap(quickSpeedsFromServerInKnots);
|
||||
for (final Entry<CompetitorDTO, Double> e : currentQuickSpeedsInKnotsFromServer.entrySet()) {
|
||||
public void quickSpeedsInKnotsReceivedFromServer(Map<String, Double> quickSpeedsFromServerInKnotsByCompetitorIdAsString, Map<String, CompetitorDTO> competitorsByIdAsString) {
|
||||
final Map<String, Double> oldQuickSpeedsFromServerInKnots = this.currentQuickSpeedsInKnotsFromServerByCompetitorIdAsString;
|
||||
this.currentQuickSpeedsInKnotsFromServerByCompetitorIdAsString = Util.nullToEmptyMap(quickSpeedsFromServerInKnotsByCompetitorIdAsString);
|
||||
for (final Entry<String, Double> e : currentQuickSpeedsInKnotsFromServerByCompetitorIdAsString.entrySet()) {
|
||||
final Double oldQuickSpeedInKnots = oldQuickSpeedsFromServerInKnots.get(e.getKey());
|
||||
if (Util.equalsWithNull(oldQuickSpeedInKnots, e.getValue())) {
|
||||
notifyListenersSpeedInKnotsChanged(e.getKey(), e.getValue());
|
||||
notifyListenersSpeedInKnotsChanged(competitorsByIdAsString.get(e.getKey()), e.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,6 @@ public class DefaultQuickFlagDataProvider extends AbstractQuickFlagDataProvider
|
||||
|
||||
@Override
|
||||
public Double getQuickSpeedsInKnots(CompetitorDTO competitor) {
|
||||
return currentQuickSpeedsInKnotsFromServer.get(competitor);
|
||||
return currentQuickSpeedsInKnotsFromServerByCompetitorIdAsString.get(competitor.getIdAsString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+986
-512
File diff suppressed because it is too large
Load Diff
+2
-3
@@ -36,7 +36,7 @@ public class Hoverline {
|
||||
}
|
||||
options.setVisible(false);
|
||||
options.setColorMode(ColorlineMode.MONOCHROMATIC);
|
||||
options.setColorProvider((i) -> polylineOptions.getStrokeColor());
|
||||
options.setColorProvider(indexIntoTail -> polylineOptions.getStrokeColor());
|
||||
hoverline = new Colorline(options);
|
||||
hoverline.setMap(polyline.getMap());
|
||||
hoverline.setPath(polyline.getPath());
|
||||
@@ -90,7 +90,6 @@ public class Hoverline {
|
||||
hoverline.setMap(colorline.getMap());
|
||||
hoverline.setPath(MVCArray.newInstance(colorline.getPath().toArray(new LatLng[0])));
|
||||
colorline.addPathChangeListener(hoverline);
|
||||
|
||||
options.setVisible(false);
|
||||
colorline.addMouseOverHandler(new MouseOverMapHandler() {
|
||||
@Override
|
||||
@@ -101,7 +100,7 @@ public class Hoverline {
|
||||
hoverline.setOptions(options);
|
||||
}
|
||||
});
|
||||
//Workaround for bug4480 (chrome does fire mouseOutMove on mouseclick)
|
||||
// Workaround for bug4480 (chrome does fire mouseOutMove on mouseclick)
|
||||
hoverline.addMouseDownHandler(new MouseDownMapHandler() {
|
||||
@Override
|
||||
public void onEvent(MouseDownMapEvent event) {
|
||||
|
||||
+4
-3
@@ -63,10 +63,11 @@ public interface QuickFlagDataProvider {
|
||||
* {@link LeaderboardDTO leaderboard} should ignore this call if it already has quick ranks information available
|
||||
* from a leaderboard.
|
||||
*
|
||||
* @param quickSpeedsFromServerInKnots
|
||||
* keys are the competitors, values are current speeds of competitors provided in knots (nautical miles per hour)
|
||||
* @param quickSpeedsFromServerInKnotsByCompetitorIdAsString
|
||||
* keys are the {@link CompetitorDTO#getIdAsString() competitor IDs as string}, values are current speeds
|
||||
* of competitors provided in knots (nautical miles per hour)
|
||||
*/
|
||||
void quickSpeedsInKnotsReceivedFromServer(Map<CompetitorDTO, Double> quickSpeedsFromServerInKnots);
|
||||
void quickSpeedsInKnotsReceivedFromServer(Map<String, Double> quickSpeedsFromServerInKnotsByCompetitorIdAsString, Map<String, CompetitorDTO> competitorsByIdAsString);
|
||||
|
||||
/**
|
||||
* @return keys are the {@link CompetitorWithBoatDTO#getIdAsString() competitor IDs are string}, values are the
|
||||
|
||||
+335
-310
File diff suppressed because it is too large
Load Diff
+24
-4
@@ -8,9 +8,11 @@ import com.sap.sailing.datamining.shared.ManeuverSettings;
|
||||
import com.sap.sailing.datamining.shared.ManeuverSettingsImpl;
|
||||
import com.sap.sailing.datamining.shared.ManeuverSpeedDetailsSettings;
|
||||
import com.sap.sailing.datamining.shared.ManeuverSpeedDetailsSettingsImpl;
|
||||
import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.datamining.presentation.ManeuverSettingsDialogComponent;
|
||||
import com.sap.sailing.gwt.ui.datamining.presentation.ManeuverSpeedDetailsSettingsDialogComponent;
|
||||
import com.sap.sailing.gwt.ui.datamining.presentation.TackTypeSegmentsDataMiningSettingsDialogComponent;
|
||||
import com.sap.sailing.gwt.ui.polarmining.FoilingSegmentsDataMiningSettingsDialogComponent;
|
||||
import com.sap.sailing.gwt.ui.polarmining.PolarDataMiningSettingsDialogComponent;
|
||||
import com.sap.sailing.polars.datamining.shared.PolarDataMiningSettings;
|
||||
@@ -28,23 +30,21 @@ public class DataMiningSettingsInfoManagerImpl implements DataMiningSettingsInfo
|
||||
public DataMiningSettingsInfoManagerImpl(StringMessages stringMessages) {
|
||||
this.stringMessages = stringMessages;
|
||||
infosMappedBySettingsType = new HashMap<>();
|
||||
|
||||
// GWT doesn't support Class.isAssignableFrom and Class.getInterfaces.
|
||||
// Adding every implementation of the desired type is necessary.
|
||||
PolarDataMiningSettingsInfo polarDataMiningSettingsInfo = new PolarDataMiningSettingsInfo();
|
||||
infosMappedBySettingsType.put(PolarDataMiningSettings.class, polarDataMiningSettingsInfo);
|
||||
infosMappedBySettingsType.put(PolarDataMiningSettingsImpl.class, polarDataMiningSettingsInfo);
|
||||
|
||||
ManeuverSpeedDetailsSettingsInfo maneuverSpeedDetailsSettingsInfo = new ManeuverSpeedDetailsSettingsInfo();
|
||||
infosMappedBySettingsType.put(ManeuverSpeedDetailsSettings.class, maneuverSpeedDetailsSettingsInfo);
|
||||
infosMappedBySettingsType.put(ManeuverSpeedDetailsSettingsImpl.class, maneuverSpeedDetailsSettingsInfo);
|
||||
|
||||
ManeuverSettingsInfo maneuverSettingsInfo = new ManeuverSettingsInfo();
|
||||
infosMappedBySettingsType.put(ManeuverSettings.class, maneuverSettingsInfo);
|
||||
infosMappedBySettingsType.put(ManeuverSettingsImpl.class, maneuverSettingsInfo);
|
||||
|
||||
FoilingSegmentsDataMiningSettingsInfo foilingDataMiningSettingsInfo = new FoilingSegmentsDataMiningSettingsInfo();
|
||||
infosMappedBySettingsType.put(FoilingSegmentsDataMiningSettings.class, foilingDataMiningSettingsInfo);
|
||||
TackTypeSegmentsDataMiningSettingsInfo tackTypeDataMiningSettingsInfo = new TackTypeSegmentsDataMiningSettingsInfo();
|
||||
infosMappedBySettingsType.put(TackTypeSegmentsDataMiningSettings.class, tackTypeDataMiningSettingsInfo);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -141,4 +141,24 @@ public class DataMiningSettingsInfoManagerImpl implements DataMiningSettingsInfo
|
||||
return "FoilingSegmentsDataMiningSettingsInfo";
|
||||
}
|
||||
}
|
||||
|
||||
private class TackTypeSegmentsDataMiningSettingsInfo implements DataMiningSettingsInfo {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <SettingsType extends SerializableSettings> SettingsDialogComponent<SettingsType> createSettingsDialogComponent(
|
||||
SettingsType settings) {
|
||||
return (SettingsDialogComponent<SettingsType>) new TackTypeSegmentsDataMiningSettingsDialogComponent(
|
||||
(TackTypeSegmentsDataMiningSettings) settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLocalizedName() {
|
||||
return stringMessages.tackTypeSegments();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "TackTypeSegmentsDataMiningSettingsInfo";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
package com.sap.sailing.gwt.ui.datamining.presentation;
|
||||
|
||||
import com.google.gwt.user.client.ui.FocusWidget;
|
||||
import com.google.gwt.user.client.ui.Grid;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.impl.MillisecondsDurationImpl;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator;
|
||||
import com.sap.sse.gwt.client.dialog.DoubleBox;
|
||||
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
|
||||
|
||||
/**
|
||||
* Settings dialog for maneuver settings.
|
||||
*
|
||||
* @author Vladislav Chumak (D069712)
|
||||
*
|
||||
*/
|
||||
public class TackTypeSegmentsDataMiningSettingsDialogComponent implements SettingsDialogComponent<TackTypeSegmentsDataMiningSettings> {
|
||||
|
||||
private TackTypeSegmentsDataMiningSettings settings;
|
||||
private StringMessages stringMessages;
|
||||
private DoubleBox minimumDurationBetweenAdjacentTackTypeSegmentsInSecondsBox;
|
||||
private DoubleBox minimumTackTypeSegmentDurationInSecondsBox;
|
||||
|
||||
public TackTypeSegmentsDataMiningSettingsDialogComponent(TackTypeSegmentsDataMiningSettings settings) {
|
||||
this.settings = settings;
|
||||
this.stringMessages = StringMessages.INSTANCE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Widget getAdditionalWidget(DataEntryDialog<?> dialog) {
|
||||
VerticalPanel vp = new VerticalPanel();
|
||||
Grid grid = new Grid(2, 2);
|
||||
grid.setCellPadding(5);
|
||||
vp.add(grid);
|
||||
setupGrid(grid, dialog);
|
||||
return vp;
|
||||
}
|
||||
|
||||
private void setupGrid(Grid grid, DataEntryDialog<?> dialog) {
|
||||
final Label minDurationBetweenTackTypeSegmentsLabel = dialog.createLabel(stringMessages.minimumDurationBetweenAdjacentTackTypeSegmentsInSeconds());
|
||||
grid.setWidget(0, 0, minDurationBetweenTackTypeSegmentsLabel);
|
||||
minimumDurationBetweenAdjacentTackTypeSegmentsInSecondsBox = dialog.createDoubleBox(
|
||||
settings.getMinimumTackTypeSegmentDuration() == null ? null : settings.getMinimumDurationBetweenAdjacentTackTypeSegments().asSeconds(), 10);
|
||||
grid.setWidget(0, 1, minimumDurationBetweenAdjacentTackTypeSegmentsInSecondsBox);
|
||||
|
||||
final Label minTackTypeSegmentsDurationLabel = dialog.createLabel(stringMessages.minimumTackTypeSegmentsDurationInSeconds());
|
||||
grid.setWidget(1, 0, minTackTypeSegmentsDurationLabel);
|
||||
minimumTackTypeSegmentDurationInSecondsBox = dialog.createDoubleBox(
|
||||
settings.getMinimumTackTypeSegmentDuration() == null ? null : settings.getMinimumTackTypeSegmentDuration().asSeconds(), 10);
|
||||
grid.setWidget(1, 1, minimumTackTypeSegmentDurationInSecondsBox);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TackTypeSegmentsDataMiningSettings getResult() {
|
||||
return new TackTypeSegmentsDataMiningSettings(
|
||||
getDurationFromSeconds(minimumDurationBetweenAdjacentTackTypeSegmentsInSecondsBox.getValue()),
|
||||
getDurationFromSeconds(minimumTackTypeSegmentDurationInSecondsBox.getValue()));
|
||||
}
|
||||
|
||||
private Duration getDurationFromSeconds(Double seconds) {
|
||||
return seconds == null ? null : new MillisecondsDurationImpl((long) (seconds * 1000));
|
||||
}
|
||||
|
||||
@Override
|
||||
public FocusWidget getFocusWidget() {
|
||||
return minimumDurationBetweenAdjacentTackTypeSegmentsInSecondsBox;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Validator<TackTypeSegmentsDataMiningSettings> getValidator() {
|
||||
return new Validator<TackTypeSegmentsDataMiningSettings>() {
|
||||
@Override
|
||||
public String getErrorMessage(TackTypeSegmentsDataMiningSettings valueToValidate) {
|
||||
final String result;
|
||||
if (valueToValidate.getMinimumDurationBetweenAdjacentTackTypeSegments() != null &&
|
||||
valueToValidate.getMinimumDurationBetweenAdjacentTackTypeSegments().compareTo(Duration.NULL) < 0) {
|
||||
result = stringMessages.errorMinimumDurationBetweenAdjacentTackTypeSegmentsMustNotBeNegative();
|
||||
} else if (valueToValidate.getMinimumTackTypeSegmentDuration() != null &&
|
||||
valueToValidate.getMinimumTackTypeSegmentDuration().compareTo(Duration.NULL) < 0) {
|
||||
result = stringMessages.errorMinimumTackTypeSegmentDurationMustNotBeNegative();
|
||||
} else {
|
||||
result = null;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
//package com.sap.sailing.gwt.ui.polarmining;
|
||||
//
|
||||
//import com.google.gwt.user.client.ui.FocusWidget;
|
||||
//import com.google.gwt.user.client.ui.Grid;
|
||||
//import com.google.gwt.user.client.ui.Label;
|
||||
//import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
//import com.google.gwt.user.client.ui.Widget;
|
||||
//import com.sap.sailing.datamining.shared.FoilingSegmentsDataMiningSettings;
|
||||
//import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
|
||||
//import com.sap.sailing.domain.common.impl.KnotSpeedImpl;
|
||||
//import com.sap.sailing.domain.common.impl.MeterDistance;
|
||||
//import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
//import com.sap.sailing.polars.datamining.shared.PolarDataMiningSettings;
|
||||
//import com.sap.sse.common.impl.MillisecondsDurationImpl;
|
||||
//import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
//import com.sap.sse.gwt.client.dialog.DataEntryDialog.Validator;
|
||||
//import com.sap.sse.gwt.client.dialog.DoubleBox;
|
||||
//import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
|
||||
//
|
||||
///**
|
||||
// * Provides a widget for configuring {@link PolarDataMiningSettings}, including validation.
|
||||
// *
|
||||
// * @author D054528 (Frederik Petersen)
|
||||
// *
|
||||
// */
|
||||
//public class TackTypeSegmentsDataMiningSettingsDialogComponent implements SettingsDialogComponent<TackTypeSegmentsDataMiningSettings> {
|
||||
//
|
||||
// private TackTypeSegmentsDataMiningSettings settings;
|
||||
// private StringMessages stringMessages;
|
||||
// private DoubleBox minimumTackTypeSegmentsDurationInSecondsBox;
|
||||
// private DoubleBox minimumDurationBetweenAdjacentTackTypeSegmentsInSecondsBox;
|
||||
//
|
||||
// public TackTypeSegmentsDataMiningSettingsDialogComponent(TackTypeSegmentsDataMiningSettings settings) {
|
||||
// this.settings = settings;
|
||||
// this.stringMessages = StringMessages.INSTANCE;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public Widget getAdditionalWidget(DataEntryDialog<?> dialog) {
|
||||
// VerticalPanel vp = new VerticalPanel();
|
||||
// Grid grid = new Grid(5, 2);
|
||||
// grid.setCellPadding(5);
|
||||
// vp.add(grid);
|
||||
// setupGrid(grid, dialog);
|
||||
// return vp;
|
||||
// }
|
||||
//
|
||||
// private void setupGrid(Grid grid, DataEntryDialog<?> dialog) {
|
||||
// Label minimumFoilingSegmentsDurationInSecondsLabel = new Label(stringMessages.minimumFoilingSegmentsDurationInSeconds() + ":");
|
||||
// minimumFoilingSegmentsDurationInSecondsLabel.setTitle(stringMessages.minimumFoilingSegmentsDurationInSecondsTooltip());
|
||||
// grid.setWidget(0, 0, minimumFoilingSegmentsDurationInSecondsLabel);
|
||||
// if (settings.getMinimumTackTypeSegmentDuration() == null) {
|
||||
// minimumTackTypeSegmentsDurationInSecondsBox = dialog.createDoubleBox(6);
|
||||
// } else {
|
||||
// minimumTackTypeSegmentsDurationInSecondsBox = dialog.createDoubleBox(settings.getMinimumTackTypeSegmentDuration().asSeconds(), 6);
|
||||
// }
|
||||
// grid.setWidget(0, 1, minimumTackTypeSegmentsDurationInSecondsBox);
|
||||
// Label minimumDurationBetweenAdjacentFoilingSegmentsInSecondsBoxLabel = new Label(stringMessages.minimumDurationBetweenAdjacentFoilingSegmentsInSeconds() + ":");
|
||||
// minimumDurationBetweenAdjacentFoilingSegmentsInSecondsBoxLabel.setTitle(stringMessages.minimumDurationBetweenAdjacentFoilingSegmentsInSecondsTooltip());
|
||||
// grid.setWidget(1, 0, minimumDurationBetweenAdjacentFoilingSegmentsInSecondsBoxLabel);
|
||||
// if (settings.getMinimumDurationBetweenAdjacentTackTypeSegments() == null) {
|
||||
// minimumDurationBetweenAdjacentTackTypeSegmentsInSecondsBox = dialog.createDoubleBox(6);
|
||||
// } else {
|
||||
// minimumDurationBetweenAdjacentTackTypeSegmentsInSecondsBox = dialog.createDoubleBox(settings.getMinimumFoilingSegmentDuration().asSeconds(), 6);
|
||||
// }
|
||||
// grid.setWidget(1, 1, minimumDurationBetweenAdjacentTackTypeSegmentsInSecondsBox);
|
||||
// Label maximumSpeedNotFoilingInKnotsLabel = new Label(stringMessages.maximumSpeedNotFoilingInKnots() + ":");
|
||||
// maximumSpeedNotFoilingInKnotsLabel.setTitle(stringMessages.maximumSpeedNotFoilingInKnotsTooltip());
|
||||
// grid.setWidget(2, 0, maximumSpeedNotFoilingInKnotsLabel);
|
||||
// if (settings.getMaximumSpeedNotFoiling() == null) {
|
||||
// maximumSpeedNotTackTypeInKnotsBox = dialog.createDoubleBox(6);
|
||||
// } else {
|
||||
// maximumSpeedNotTackTypeInKnotsBox = dialog.createDoubleBox(settings.getMaximumSpeedNotTackType().getKnots(), 6);
|
||||
// }
|
||||
// grid.setWidget(2, 1, maximumSpeedNotTackTypeInKnotsBox);
|
||||
// Label minimumSpeedForFoilingInKnotsLabel = new Label(stringMessages.minimumSpeedForFoilingInKnots() + ":");
|
||||
// minimumSpeedForFoilingInKnotsLabel.setTitle(stringMessages.minimumSpeedForFoilingInKnotsTooltip());
|
||||
// grid.setWidget(3, 0, minimumSpeedForFoilingInKnotsLabel);
|
||||
// if (settings.getMinimumSpeedForTackType() == null) {
|
||||
// minimumSpeedForTackTypeInKnotsBox = dialog.createDoubleBox(6);
|
||||
// } else {
|
||||
// minimumSpeedForTackTypeInKnotsBox = dialog.createDoubleBox(settings.getMinimumSpeedForTackType().getKnots(), 6);
|
||||
// }
|
||||
// grid.setWidget(3, 1, minimumSpeedForTackTypeInKnotsBox);
|
||||
// Label minimumRideHeightInMetersLabel = new Label(stringMessages.minimumRideHeightInMeters() + ":");
|
||||
// minimumRideHeightInMetersLabel.setTitle(stringMessages.minimumRideHeightInMetersTooltip());
|
||||
// grid.setWidget(4, 0, minimumRideHeightInMetersLabel);
|
||||
// if (settings.getMinimumRideHeight() == null) {
|
||||
// minimumRideHeightInMetersBox = dialog.createDoubleBox(6);
|
||||
// } else {
|
||||
// minimumRideHeightInMetersBox = dialog.createDoubleBox(settings.getMinimumRideHeight().getMeters(), 6);
|
||||
// }
|
||||
// grid.setWidget(4, 1, minimumRideHeightInMetersBox);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public FoilingSegmentsDataMiningSettings getResult() {
|
||||
// return new FoilingSegmentsDataMiningSettings(
|
||||
// minimumTackTypeSegmentsDurationInSecondsBox.getValue() == null ? null
|
||||
// : new MillisecondsDurationImpl((long) (minimumTackTypeSegmentsDurationInSecondsBox.getValue() * 1000.)),
|
||||
// minimumDurationBetweenAdjacentTackTypeSegmentsInSecondsBox.getValue() == null ? null
|
||||
// : new MillisecondsDurationImpl((long) (minimumDurationBetweenAdjacentTackTypeSegmentsInSecondsBox.getValue() * 1000.)),
|
||||
// minimumSpeedForTackTypeInKnotsBox.getValue() == null ? null
|
||||
// : new KnotSpeedImpl(minimumSpeedForFoilingInKnotsBox.getValue()),
|
||||
// maximumSpeedNotFoilingInKnotsBox.getValue() == null ? null
|
||||
// : new KnotSpeedImpl(maximumSpeedNotFoilingInKnotsBox.getValue()), minimumRideHeightInMetersBox.getValue() == null ? null
|
||||
// : new MeterDistance(minimumRideHeightInMetersBox.getValue()));
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public FocusWidget getFocusWidget() {
|
||||
// return minimumTackTypeSegmentsDurationInSecondsBox;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public Validator<FoilingSegmentsDataMiningSettings> getValidator() {
|
||||
// return new FoilingSegmentsDataMiningSettingsValidator(stringMessages);
|
||||
// }
|
||||
//
|
||||
//}
|
||||
+6
-6
@@ -25,7 +25,7 @@ import com.sap.sse.common.Util;
|
||||
* whereas the {@link QuickRankDTO#legNumberOneBased leg numbers} will continue to be accepted from the quick ranks
|
||||
* coming from the server. Likewise, if the leaderboard does not provide the current speed over ground value, e.g.,
|
||||
* because the leaderboard contains no leg details, the speed value is taken from the GPS fix, through
|
||||
* {@link #quickSpeedsInKnotsReceivedFromServer(Map)}. IF the leaderboard contains the SOG values,
|
||||
* {@link #quickSpeedsInKnotsReceivedFromServer(Map, Map)}. IF the leaderboard contains the SOG values,
|
||||
* {@link #quickSpeedsInKnots} is filled from the leaderboard.
|
||||
* <p>
|
||||
*
|
||||
@@ -182,12 +182,12 @@ public class QuickFlagDataFromLeaderboardDTOProvider extends AbstractQuickFlagDa
|
||||
}
|
||||
|
||||
@Override
|
||||
public void quickSpeedsInKnotsReceivedFromServer(Map<CompetitorDTO, Double> quickSpeedsFromServerInKnots) {
|
||||
for (final Entry<CompetitorDTO, Double> e : quickSpeedsFromServerInKnots.entrySet()) {
|
||||
quickSpeedsInKnots.put(e.getKey().getIdAsString(), e.getValue());
|
||||
public void quickSpeedsInKnotsReceivedFromServer(Map<String, Double> quickSpeedsFromServerInKnotsByCompetitorIdAsString, Map<String, CompetitorDTO> competitorsByIdAsString) {
|
||||
for (final Entry<String, Double> e : quickSpeedsFromServerInKnotsByCompetitorIdAsString.entrySet()) {
|
||||
quickSpeedsInKnots.put(e.getKey(), e.getValue());
|
||||
// pass the quick speed info on in case we have no speed info from the leaderboard
|
||||
if (speedsFromLeaderboardInKnots.get(e.getKey().getIdAsString()) == null) {
|
||||
notifyListenersSpeedInKnotsChanged(e.getKey(), e.getValue());
|
||||
if (speedsFromLeaderboardInKnots.get(e.getKey()) == null) {
|
||||
notifyListenersSpeedInKnotsChanged(competitorsByIdAsString.get(e.getKey()), e.getValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-4
@@ -26,16 +26,12 @@ public class TagFooterPanel extends FlowPanel {
|
||||
*/
|
||||
protected TagFooterPanel(TaggingComponent taggingComponent, SailingServiceAsync sailingService, StringMessages stringMessages, UserService userService) {
|
||||
this.taggingComponent = taggingComponent;
|
||||
|
||||
tagModificationPanel = new TagModificationPanel(taggingComponent, this, sailingService, stringMessages, userService);
|
||||
tagButtonPanel = new TagButtonPanel(taggingComponent, this, stringMessages, userService);
|
||||
|
||||
// Tag-buttons are only shown if amount of tag-buttons is greater then 0!
|
||||
setTagButtonsVisibility(true);
|
||||
|
||||
// input fields are hidden by default
|
||||
setInputFieldsVisibility(false);
|
||||
|
||||
tagButtonPanel.loadAllTagButtons();
|
||||
}
|
||||
|
||||
|
||||
-8
@@ -172,7 +172,6 @@ public class TaggingComponent extends ComponentWithoutSettings
|
||||
RaceTimesInfoProvider raceTimesInfoProvider, TimePoint timePointToHighlight, String tagToHighlight,
|
||||
StrippedLeaderboardDTO leaderboardDTO, SailingServiceWriteAsync sailingServiceWrite) {
|
||||
super(parent, context);
|
||||
|
||||
this.stringMessages = stringMessages;
|
||||
this.sailingService = sailingService;
|
||||
this.sailingServiceWrite = sailingServiceWrite;
|
||||
@@ -182,19 +181,15 @@ public class TaggingComponent extends ComponentWithoutSettings
|
||||
this.timePointToHighlight = timePointToHighlight;
|
||||
this.tagToHighlight = tagToHighlight;
|
||||
this.leaderboardDTO = leaderboardDTO;
|
||||
|
||||
style = TaggingPanelResources.INSTANCE.style();
|
||||
style.ensureInjected();
|
||||
TaggingPanelResources.INSTANCE.cellListStyle().ensureInjected();
|
||||
TaggingPanelResources.INSTANCE.cellTableStyle().ensureInjected();
|
||||
|
||||
tagCellList = new CellList<TagDTO>(new TagCell(this, stringMessages, userService, false),
|
||||
TaggingPanelResources.INSTANCE);
|
||||
tagSelectionModel = new SingleSelectionModel<TagDTO>();
|
||||
tagListProvider = new TagListProvider();
|
||||
|
||||
tagButtons = new ArrayList<TagButton>();
|
||||
|
||||
taggingPanel = new DockLayoutPanel(Style.Unit.PX) {
|
||||
@Override
|
||||
public void onResize() {
|
||||
@@ -210,13 +205,10 @@ public class TaggingComponent extends ComponentWithoutSettings
|
||||
filterbarPanel = new TagFilterPanel(this, stringMessages, userService);
|
||||
contentPanel = new FlowPanel();
|
||||
createTagsButton = new Button();
|
||||
|
||||
userService.addUserStatusEventHandler(this);
|
||||
raceTimesInfoProvider.addRaceTimesInfoProviderListener(this);
|
||||
|
||||
generateRandomId();
|
||||
registerStorageEventHandler();
|
||||
|
||||
setCurrentState(State.VIEW);
|
||||
initializePanel();
|
||||
}
|
||||
|
||||
+31
-1
@@ -1,12 +1,27 @@
|
||||
package com.sap.sailing.gwt.ui.server;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.osgi.framework.BundleActivator;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
import com.sap.sailing.gwt.ui.shared.racemap.GoogleMapsLoader;
|
||||
|
||||
public class Activator implements BundleActivator {
|
||||
private static final Logger logger = Logger.getLogger(Activator.class.getName());
|
||||
|
||||
private static BundleContext context;
|
||||
private SailingServiceImpl sailingServiceToStopWhenStopping;
|
||||
private static Activator INSTANCE;
|
||||
|
||||
private final static String GOOGLE_MAPS_LOADER_AUTHENTICATION_PARAMS_PROPERTY_NAME = "google.maps.authenticationparams";
|
||||
|
||||
/**
|
||||
* Required by {@link GoogleMapsLoader#load(Runnable, String)} and to be provided through a system property named
|
||||
* after {@link GOOGLE_MAPS_LOADER_AUTHENTICATION_PARAMS_PROPERTY_NAME}. The value would be something like
|
||||
* {@code client=abcde&channel=fghij}.
|
||||
*/
|
||||
private String googleMapsLoaderAuthenticationParams;
|
||||
|
||||
public Activator() {
|
||||
INSTANCE = this;
|
||||
@@ -15,8 +30,14 @@ public class Activator implements BundleActivator {
|
||||
@Override
|
||||
public void start(BundleContext context) throws Exception {
|
||||
Activator.context = context;
|
||||
googleMapsLoaderAuthenticationParams = context.getProperty(GOOGLE_MAPS_LOADER_AUTHENTICATION_PARAMS_PROPERTY_NAME);
|
||||
if (googleMapsLoaderAuthenticationParams == null) {
|
||||
googleMapsLoaderAuthenticationParams = "key=AIzaSyD1Se4tIkt-wglccbco3S7twaHiG20hR9E";
|
||||
logger.warning("Did not find a value for the "+GOOGLE_MAPS_LOADER_AUTHENTICATION_PARAMS_PROPERTY_NAME+
|
||||
" system property. Using a test key for the Google Maps API instead. Your mileage may vary.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
if (sailingServiceToStopWhenStopping != null) {
|
||||
@@ -34,6 +55,15 @@ public class Activator implements BundleActivator {
|
||||
public static BundleContext getDefault() {
|
||||
return context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a URL parameter string, e.g., like {@code client=abcde&channel=fghij}, provided to this activator through
|
||||
* a system property named after {@link GOOGLE_MAPS_LOADER_AUTHENTICATION_PARAMS_PROPERTY_NAME}. Won't be {@code null}
|
||||
* because the entire bundle won't activate if not set.
|
||||
*/
|
||||
public String getGoogleMapsLoaderAuthenticationParams() {
|
||||
return googleMapsLoaderAuthenticationParams;
|
||||
}
|
||||
|
||||
public void setSailingService(SailingServiceImpl sailingServiceImpl) {
|
||||
sailingServiceToStopWhenStopping = sailingServiceImpl;
|
||||
|
||||
+5
-1
@@ -1790,7 +1790,6 @@ public class SailingServiceImpl extends ResultCachingProxiedRemoteServiceServlet
|
||||
final HashSet<String> raceCompetitorIdsAsStrings;
|
||||
final TrackedRace trackedRace = getExistingTrackedRace(raceIdentifier);
|
||||
getSecurityService().checkCurrentUserReadPermission(trackedRace);
|
||||
|
||||
// if md5OfIdsAsStringOfCompetitorParticipatingInRaceInAlphanumericOrderOfTheirID is null, Arrays.equals will return false, and the
|
||||
// competitor set will be calculated and returned to the client
|
||||
if (trackedRace == null || Arrays.equals(md5OfIdsAsStringOfCompetitorParticipatingInRaceInAlphanumericOrderOfTheirID, trackedRace.getRace().getCompetitorMD5())) {
|
||||
@@ -6258,4 +6257,9 @@ public class SailingServiceImpl extends ResultCachingProxiedRemoteServiceServlet
|
||||
raceMetadata.getRaceUrl(), hasRememberedRegatta(raceMetadata.getRaceId()),
|
||||
raceMetadata.getTimePointOfLastFix(), raceMetadata.getNumberOfCompetitors())));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGoogleMapsLoaderAuthenticationParams() {
|
||||
return Activator.getInstance().getGoogleMapsLoaderAuthenticationParams();
|
||||
}
|
||||
}
|
||||
|
||||
+5
@@ -956,4 +956,9 @@ public class SimulatorServiceImpl extends DelegatingProxiedRemoteServiceServlet
|
||||
}
|
||||
return timepointAsMillis - startTimePoint2asMillis;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGoogleMapsLoaderAuthenticationParams() {
|
||||
return Activator.getInstance().getGoogleMapsLoaderAuthenticationParams();
|
||||
}
|
||||
}
|
||||
|
||||
+8
@@ -70,4 +70,12 @@ public class GPSFixDTOWithSpeedWindTackAndLegType extends GPSFixDTO implements I
|
||||
this.degreesBoatToTheWind = degreesBoatToTheWind;
|
||||
this.detailValue = detailValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "GPSFixDTOWithSpeedWindTackAndLegType [speedWithBearing=" + speedWithBearing + ", extrapolated="
|
||||
+ extrapolated + ", tack=" + tack + ", legType=" + legType + ", degreesBoatToTheWind="
|
||||
+ degreesBoatToTheWind + ", detailValue=" + detailValue + ", timepoint=" + timepoint + ", position="
|
||||
+ position + "]";
|
||||
}
|
||||
}
|
||||
|
||||
+6
-11
@@ -8,20 +8,15 @@ import com.google.gwt.dom.client.Document;
|
||||
import com.google.gwt.dom.client.ScriptElement;
|
||||
|
||||
/**
|
||||
* The {@link #load(Runnable)} method can be used by clients to request the loading of the Google Maps API.
|
||||
* The {@link #load(Runnable, String)} method can be used by clients to request the loading of the Google Maps API.
|
||||
* The callback passed will be invoked immediately if the API has already been loaded (e.g., by another
|
||||
* client call to the {@link #load(Runnable)} method within the same frame / document); it will be queued
|
||||
* client call to the {@link #load(Runnable, String)} method within the same frame / document); it will be queued
|
||||
* for invocation by a Google Maps API callback function registered otherwise. This callback function
|
||||
* is injected at most once when the {@link #load(Runnable)} method is invoked for the first time and
|
||||
* will trigger all callbacks registered through the {@link #load(Runnable)} method until the maps API
|
||||
* is injected at most once when the {@link #load(Runnable, String)} method is invoked for the first time and
|
||||
* will trigger all callbacks registered through the {@link #load(Runnable, String)} method until the maps API
|
||||
* invokes the callback registered.
|
||||
*/
|
||||
public class GoogleMapsLoader {
|
||||
/**
|
||||
* These params define the required information to authenticate with the Google Maps API.
|
||||
*/
|
||||
public static final String AUTHENTICATION_PARAMS = "client=gme-sapglobalmarketing&channel=sapsailing.com";
|
||||
|
||||
/**
|
||||
* Note: If you use 3, it will take the newest stable available. We want that, although we didn't test with that yet!
|
||||
* Google Release notes: https://developers.google.com/maps/documentation/javascript/releases.
|
||||
@@ -45,7 +40,7 @@ public class GoogleMapsLoader {
|
||||
/**
|
||||
* @param callback must not be {@code null}.
|
||||
*/
|
||||
public static void load(Runnable callback) {
|
||||
public static void load(Runnable callback, String authenticationParams) {
|
||||
if (loaded) {
|
||||
Scheduler.get().scheduleDeferred(() -> callback.run());
|
||||
} else {
|
||||
@@ -54,7 +49,7 @@ public class GoogleMapsLoader {
|
||||
loading = true;
|
||||
installCallback();
|
||||
final ScriptElement scriptElement = Document.get().createScriptElement();
|
||||
scriptElement.setSrc("https://maps.googleapis.com/maps/api/js?v="+API_VERSION+"&" + AUTHENTICATION_PARAMS
|
||||
scriptElement.setSrc("https://maps.googleapis.com/maps/api/js?v="+API_VERSION+"&" + authenticationParams
|
||||
+ "&libraries="+LIBRARIES+"&callback=googleMapsLoadedCallback");
|
||||
Document.get().getHead().appendChild(scriptElement);
|
||||
}
|
||||
|
||||
-1
@@ -32,7 +32,6 @@ import com.sap.sse.security.ui.authentication.generic.GenericAuthorizedContentDe
|
||||
import com.sap.sse.security.ui.client.premium.PaywallResolver;
|
||||
|
||||
public class SimulatorEntryPoint extends AbstractSailingReadEntryPoint {
|
||||
|
||||
private final SimulatorServiceAsync simulatorService = GWT.create(SimulatorService.class);
|
||||
private int xRes = 40;
|
||||
private int yRes = 20;
|
||||
|
||||
+11
-105
@@ -134,7 +134,6 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
|
||||
@Override
|
||||
public void onSuccess(SimulatorResultsDTO result) {
|
||||
|
||||
String notificationMessage = result.getNotificationMessage();
|
||||
if (Util.hasLength(notificationMessage) && warningAlreadyShown == false) {
|
||||
errorReporter.reportError(notificationMessage, true);
|
||||
@@ -234,11 +233,8 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
if (windParams.isShowStreamlets()) {
|
||||
windStreamletsCanvasOverlay.addToMap();
|
||||
}
|
||||
|
||||
refreshWindFieldOverlay(windFieldDTO);
|
||||
|
||||
timeListeners.clear();
|
||||
|
||||
if (windParams.isShowArrows()) {
|
||||
timeListeners.add(windFieldCanvasOverlay);
|
||||
}
|
||||
@@ -257,7 +253,6 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
for (int i = 0; i < replayPathCanvasOverlays.size(); ++i) {
|
||||
timeListeners.add(replayPathCanvasOverlays.get(i));
|
||||
}
|
||||
|
||||
if (summaryView) {
|
||||
if (windFieldCanvasOverlay != null) {
|
||||
windFieldCanvasOverlay.setVisible(false);
|
||||
@@ -279,45 +274,14 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
windStreamletsCanvasOverlay.setVisible(true);
|
||||
}
|
||||
}
|
||||
|
||||
legendCanvasOverlay.addToMap();
|
||||
legendCanvasOverlay.setVisible(true);
|
||||
legendCanvasOverlay.draw();
|
||||
|
||||
busyIndicator.setBusy(false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*public SimulatorMap(SimulatorServiceAsync simulatorSvc, StringMessages stringMessages, ErrorReporter errorReporter, int xRes, int yRes, int border, StreamletParameters streamletPars, Timer timer,
|
||||
WindFieldGenParamsDTO windParams, SimpleBusyIndicator busyIndicator, char mode,
|
||||
SimulatorMainPanel parent) {
|
||||
this.simulatorService = simulatorSvc;
|
||||
this.stringMessages = stringMessages;
|
||||
this.errorReporter = errorReporter;
|
||||
this.xRes = xRes;
|
||||
this.yRes = yRes;
|
||||
this.border = border;
|
||||
this.timer = timer;
|
||||
this.timePanel = null;
|
||||
timer.addTimeListener(this);
|
||||
this.windParams = windParams;
|
||||
this.busyIndicator = busyIndicator;
|
||||
this.mode = mode;
|
||||
this.colorPalette = new ColorPaletteGenerator();
|
||||
this.dataInitialized = false;
|
||||
this.overlaysInitialized = false;
|
||||
this.windFieldCanvasOverlay = null;
|
||||
this.windLineGuidesCanvasOverlay = null;
|
||||
this.windGridCanvasOverlay = null;
|
||||
this.windLineCanvasOverlay = null;
|
||||
this.replayPathCanvasOverlays = null;
|
||||
this.raceCourseCanvasOverlay = null;
|
||||
this.timeListeners = new LinkedList<TimeListenerWithStoppingCriteria>();
|
||||
this.initializeData();
|
||||
this.parent = parent;
|
||||
}*/
|
||||
|
||||
public SimulatorMap(SimulatorServiceAsync simulatorSvc, StringMessages stringMessages, ErrorReporter errorReporter,
|
||||
int xRes, int yRes, int border, StreamletParameters streamletPars, Timer timer,
|
||||
TimePanel<TimePanelSettings> timePanel, WindFieldGenParamsDTO windParams,
|
||||
@@ -362,13 +326,9 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
mapOptions.setScaleControl(true);
|
||||
mapOptions.setRotateControl(true);
|
||||
mapOptions.setStreetViewControl(false);
|
||||
|
||||
MapTypeStyle[] mapTypeStyles;
|
||||
|
||||
if (windParams.isShowStreamlets()) {
|
||||
|
||||
mapTypeStyles = new MapTypeStyle[11];
|
||||
|
||||
// hide all transit lines including ferry lines
|
||||
mapTypeStyles[0] = GoogleMapStyleHelper.createHiddenStyle(MapTypeStyleFeatureType.TRANSIT);
|
||||
// hide points of interest
|
||||
@@ -380,7 +340,6 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
mapTypeStyles[4] = GoogleMapStyleHelper.createColorStyle(MapTypeStyleFeatureType.LANDSCAPE, new RGBColor(255, 255, 255), -100, -70);
|
||||
mapTypeStyles[5] = GoogleMapStyleHelper.createColorStyle(MapTypeStyleFeatureType.POI, new RGBColor(255, 255, 255), -100, -70);
|
||||
mapTypeStyles[6] = GoogleMapStyleHelper.createElementStyleOnlyLightness(MapTypeStyleFeatureType.ROAD, MapTypeStyleElementType.ALL, -40);
|
||||
|
||||
MapTypeStyle mapStyle = MapTypeStyle.newInstance();
|
||||
mapStyle.setFeatureType(MapTypeStyleFeatureType.ADMINISTRATIVE);
|
||||
mapStyle.setElementType(MapTypeStyleElementType.LABELS__TEXT__FILL);
|
||||
@@ -388,7 +347,6 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
typeStylers[0] = MapTypeStyler.newInvertLightnessStyler(true);
|
||||
mapStyle.setStylers(typeStylers);
|
||||
mapTypeStyles[7] = mapStyle;
|
||||
|
||||
mapStyle = MapTypeStyle.newInstance();
|
||||
mapStyle.setFeatureType(MapTypeStyleFeatureType.ADMINISTRATIVE);
|
||||
mapStyle.setElementType(MapTypeStyleElementType.LABELS__TEXT__STROKE);
|
||||
@@ -396,7 +354,6 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
typeStylers[0] = MapTypeStyler.newInvertLightnessStyler(true);
|
||||
mapStyle.setStylers(typeStylers);
|
||||
mapTypeStyles[8] = mapStyle;
|
||||
|
||||
mapStyle = MapTypeStyle.newInstance();
|
||||
mapStyle.setFeatureType(MapTypeStyleFeatureType.ADMINISTRATIVE);
|
||||
mapStyle.setElementType(MapTypeStyleElementType.GEOMETRY__FILL);
|
||||
@@ -406,7 +363,6 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
typeStylers[2] = MapTypeStyler.newSaturationStyler(-100);
|
||||
mapStyle.setStylers(typeStylers);
|
||||
mapTypeStyles[9] = mapStyle;
|
||||
|
||||
mapStyle = MapTypeStyle.newInstance();
|
||||
mapStyle.setFeatureType(MapTypeStyleFeatureType.ADMINISTRATIVE);
|
||||
mapStyle.setElementType(MapTypeStyleElementType.GEOMETRY__STROKE);
|
||||
@@ -414,11 +370,8 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
typeStylers[0] = MapTypeStyler.newLightnessStyler(-70);
|
||||
mapStyle.setStylers(typeStylers);
|
||||
mapTypeStyles[10] = mapStyle;
|
||||
|
||||
} else {
|
||||
|
||||
mapTypeStyles = new MapTypeStyle[4];
|
||||
|
||||
// hide all transit lines including ferry lines
|
||||
mapTypeStyles[0] = GoogleMapStyleHelper.createHiddenStyle(MapTypeStyleFeatureType.TRANSIT);
|
||||
// hide points of interest
|
||||
@@ -427,37 +380,27 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
mapTypeStyles[2] = GoogleMapStyleHelper.createSimplifiedStyle(MapTypeStyleFeatureType.ROAD);
|
||||
// set water color
|
||||
mapTypeStyles[3] = GoogleMapStyleHelper.createColorStyle(MapTypeStyleFeatureType.WATER, new RGBColor(0, 136, 255), -35, -34);
|
||||
|
||||
}
|
||||
|
||||
mapOptions.setMapTypeStyles(mapTypeStyles);
|
||||
|
||||
ScaleControlOptions scaleControlOptions = ScaleControlOptions.newInstance();
|
||||
scaleControlOptions.setPosition(ControlPosition.BOTTOM_RIGHT);
|
||||
mapOptions.setScaleControlOptions(scaleControlOptions);
|
||||
|
||||
ZoomControlOptions zoomControlOptions = ZoomControlOptions.newInstance();
|
||||
zoomControlOptions.setPosition(ControlPosition.TOP_RIGHT);
|
||||
mapOptions.setZoomControlOptions(zoomControlOptions);
|
||||
|
||||
PanControlOptions panControlOptions = PanControlOptions.newInstance();
|
||||
panControlOptions.setPosition(ControlPosition.TOP_RIGHT);
|
||||
mapOptions.setPanControlOptions(panControlOptions);
|
||||
|
||||
map = new MapWidget(mapOptions);
|
||||
|
||||
map.setTitle(stringMessages.simulator() + " " + stringMessages.map());
|
||||
mapOptions.setDisableDoubleClickZoom(true);
|
||||
|
||||
if (mode == SailingSimulatorConstants.ModeFreestyle) {
|
||||
map.setZoom(14);
|
||||
} else if (mode == SailingSimulatorConstants.ModeEvent) {
|
||||
map.setZoom(12);
|
||||
}
|
||||
|
||||
add(map, 0, 0);
|
||||
map.setSize("100%", "100%");
|
||||
|
||||
if (windParams.isShowStreamlets()) {
|
||||
map.addBoundsChangeHandler(new BoundsChangeMapHandler() {
|
||||
@Override
|
||||
@@ -473,43 +416,7 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/*map.addZoomChangeHandler(new ZoomChangeMapHandler() {
|
||||
|
||||
@Override
|
||||
public void onEvent(ZoomChangeMapEvent event) {
|
||||
// TODO Auto-generated method stub
|
||||
windRoseCanvasOverlay.removeFromMap();
|
||||
windNeedleCanvasOverlay.removeFromMap();
|
||||
mapPan = true;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
map.addDragStartHandler(new DragStartMapHandler() {
|
||||
|
||||
@Override
|
||||
public void onEvent(DragStartMapEvent event) {
|
||||
// TODO Auto-generated method stub
|
||||
windRoseCanvasOverlay.removeFromMap();
|
||||
windNeedleCanvasOverlay.removeFromMap();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
map.addDragEndHandler(new DragEndMapHandler() {
|
||||
|
||||
@Override
|
||||
public void onEvent(DragEndMapEvent event) {
|
||||
// TODO Auto-generated method stub
|
||||
windRoseCanvasOverlay.addToMap();
|
||||
windNeedleCanvasOverlay.addToMap();
|
||||
}
|
||||
|
||||
});*/
|
||||
|
||||
map.addIdleHandler(new IdleMapHandler() {
|
||||
|
||||
@Override
|
||||
public void onEvent(IdleMapEvent event) {
|
||||
// TODO Auto-generated method stub
|
||||
@@ -520,13 +427,9 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
mapPan = false;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
initializeOverlays();
|
||||
|
||||
dataInitialized = true;
|
||||
|
||||
if (mode == SailingSimulatorConstants.ModeFreestyle) {
|
||||
LatLng kiel = LatLng.newInstance(54.43450, 10.19559167); // regatta area for TV on Kieler Woche
|
||||
// LatLng trave = LatLng.newInstance(54.007063, 10.838356); // in front of Timmendorfer Strand
|
||||
@@ -534,7 +437,17 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
}
|
||||
}
|
||||
};
|
||||
GoogleMapsLoader.load(onLoad);
|
||||
simulatorService.getGoogleMapsLoaderAuthenticationParams(new AsyncCallback<String>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(stringMessages.errorNoAuthenticationParamsForGoogleMapsFound(caught.getMessage()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(String googleMapsLoaderAuthenticationParams) {
|
||||
GoogleMapsLoader.load(onLoad, googleMapsLoaderAuthenticationParams);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void initializeOverlays() {
|
||||
@@ -721,16 +634,13 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
|
||||
private void generatePath(final WindPatternDisplay windPatternDisplay, boolean summaryView, final SimulatorUISelectionDTO selection) {
|
||||
LOGGER.info("In generatePath");
|
||||
|
||||
if (windPatternDisplay == null) {
|
||||
errorReporter.reportError(stringMessages.pleaseSelectAValidWindPattern());
|
||||
return;
|
||||
}
|
||||
|
||||
if ((windStreamletsCanvasOverlay != null)&&(windStreamletsCanvasOverlay.isVisible())) {
|
||||
windStreamletsCanvasOverlay.setVisible(false);
|
||||
}
|
||||
|
||||
if (mode != SailingSimulatorConstants.ModeMeasured) {
|
||||
Position startPointDTO = new DegreePosition(raceCourseCanvasOverlay.getStartPoint().getLatitude(),
|
||||
raceCourseCanvasOverlay.getStartPoint().getLongitude());
|
||||
@@ -740,17 +650,13 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
raceCourseCanvasOverlay.getEndPoint().getLongitude());
|
||||
windParams.setRaceCourseEnd(endPointDTO);
|
||||
}
|
||||
|
||||
windParams.setxRes(xRes);
|
||||
windParams.setyRes(yRes);
|
||||
windParams.setBorder(border);
|
||||
|
||||
busyIndicator.setBusy(true);
|
||||
timer.pause();
|
||||
timer.setTime(windParams.getStartTime().getTime());
|
||||
|
||||
simulatorService.getSimulatorResults(mode, raceCourseDirection, windParams, windPatternDisplay, true, selection, new ResultManager(summaryView));
|
||||
|
||||
}
|
||||
|
||||
private boolean isCourseSet() {
|
||||
|
||||
-5
@@ -238,21 +238,16 @@ public class WindLineCanvasOverlay extends FullCanvasOverlay implements TimeList
|
||||
final Point corner0 = getPointInDivPixel(corners[0]);
|
||||
final Point corner1 = getPointInDivPixel(corners[1]);
|
||||
final Point corner3 = getPointInDivPixel(corners[3]);
|
||||
|
||||
final int canvasWidth = (int) Math.sqrt(Math.pow(corner0.getX() - corner1.getX(), 2)
|
||||
+ Math.pow(corner0.getY() - corner1.getY(), 2));
|
||||
final int canvasHeight = (int) Math.sqrt(Math.pow(corner3.getX() - corner0.getX(), 2)
|
||||
+ Math.pow(corner3.getY() - corner0.getY(), 2));
|
||||
|
||||
final int canvasRadius = (int) Math.sqrt(canvasWidth * canvasWidth / 4 + canvasHeight * canvasHeight / 4);
|
||||
canvas.setSize("" + 2 * canvasRadius + "px", "" + 2 * canvasRadius + "px");
|
||||
canvas.setCoordinateSpaceWidth(2 * canvasRadius); canvas.setCoordinateSpaceHeight(2 * canvasRadius);
|
||||
|
||||
final Point anchorPoint = getAnchorPoint();
|
||||
|
||||
setWidgetPosLeft(anchorPoint.getX());
|
||||
setWidgetPosTop(anchorPoint.getY());
|
||||
|
||||
setCanvasPosition(anchorPoint.getX(), anchorPoint.getY());
|
||||
}
|
||||
}
|
||||
|
||||
-3
@@ -69,17 +69,14 @@ public abstract class FullCanvasOverlay extends CanvasOverlayV3 implements Requi
|
||||
}
|
||||
int canvasWidth = mapWidth;
|
||||
int canvasHeight = mapHeight;
|
||||
|
||||
canvas.setWidth(String.valueOf(canvasWidth));
|
||||
canvas.setHeight(String.valueOf(canvasHeight));
|
||||
canvas.setCoordinateSpaceWidth(canvasWidth);
|
||||
canvas.setCoordinateSpaceHeight(canvasHeight);
|
||||
|
||||
Point sw = mapProjection.fromLatLngToDivPixel(getMap().getBounds().getSouthWest());
|
||||
Point ne = mapProjection.fromLatLngToDivPixel(getMap().getBounds().getNorthEast());
|
||||
setWidgetPosLeft(Math.min(sw.getX(), ne.getX()));
|
||||
setWidgetPosTop(Math.min(sw.getY(), ne.getY()));
|
||||
|
||||
setCanvasPosition(getWidgetPosLeft(), getWidgetPosTop());
|
||||
}
|
||||
|
||||
|
||||
+35
-41
@@ -25,49 +25,43 @@ public abstract class MovingCanvasOverlay extends FullCanvasOverlay {
|
||||
|
||||
@Override
|
||||
public void setCanvasSettings() {
|
||||
|
||||
// do nothing, if mapProjection is not available
|
||||
if (mapProjection == null)
|
||||
return;
|
||||
|
||||
int canvasWidth = getMap().getDiv().getClientWidth();
|
||||
int canvasHeight = getMap().getDiv().getClientHeight();
|
||||
|
||||
// calculate pixel-positions of old and new canvas-bounds using the same, current mapProjection
|
||||
// start from LatLng, as the canvas might have jumped to new bounds that do not intersect with the old bounds
|
||||
Point nwOldPx;
|
||||
if (nw == null) {
|
||||
nwOldPx = null;
|
||||
} else {
|
||||
nwOldPx = mapProjection.fromLatLngToDivPixel(nw);
|
||||
if (mapProjection != null) {
|
||||
final int canvasWidth = getMap().getDiv().getClientWidth();
|
||||
final int canvasHeight = getMap().getDiv().getClientHeight();
|
||||
// calculate pixel-positions of old and new canvas-bounds using the same, current mapProjection
|
||||
// start from LatLng, as the canvas might have jumped to new bounds that do not intersect with the old bounds
|
||||
final Point nwOldPx;
|
||||
if (nw == null) {
|
||||
nwOldPx = null;
|
||||
} else {
|
||||
nwOldPx = mapProjection.fromLatLngToDivPixel(nw);
|
||||
}
|
||||
nw = LatLng.newInstance(getMap().getBounds().getNorthEast().getLatitude(), getMap().getBounds().getSouthWest().getLongitude());
|
||||
final Point nwNewPx = mapProjection.fromLatLngToDivPixel(nw);
|
||||
widgetPosLeft = Math.round(nwNewPx.getX());
|
||||
widgetPosTop = Math.round(nwNewPx.getY());
|
||||
// calculate the translation-vector between old and new origin in pixels
|
||||
if (nwOldPx == null) {
|
||||
diffPx = new Vector(0, 0);
|
||||
} else {
|
||||
double oldPosLeft = Math.round(nwOldPx.getX());
|
||||
double oldPosTop = Math.round(nwOldPx.getY());
|
||||
diffPx = new Vector(oldPosLeft - widgetPosLeft, oldPosTop - widgetPosTop);
|
||||
}
|
||||
// store canvas-content, because setWidth() and setHeight() will clear canvas and change Context2d
|
||||
Context2d ctxt = canvas.getContext2d();
|
||||
final ImageData canvasContent = ctxt.getImageData(0, 0, canvas.getElement().getClientWidth(), canvas.getElement().getClientHeight());
|
||||
canvas.setWidth(String.valueOf(canvasWidth));
|
||||
canvas.setHeight(String.valueOf(canvasHeight));
|
||||
canvas.setCoordinateSpaceWidth(canvasWidth);
|
||||
canvas.setCoordinateSpaceHeight(canvasHeight);
|
||||
// get updated Context2d and restore canvas-content moved by translation-vector
|
||||
ctxt = canvas.getContext2d();
|
||||
ctxt.putImageData(canvasContent, diffPx.x, diffPx.y);
|
||||
// update canvas position
|
||||
setCanvasPosition(widgetPosLeft, widgetPosTop);
|
||||
}
|
||||
nw = LatLng.newInstance(getMap().getBounds().getNorthEast().getLatitude(), getMap().getBounds().getSouthWest().getLongitude());
|
||||
Point nwNewPx = mapProjection.fromLatLngToDivPixel(nw);
|
||||
widgetPosLeft = Math.round(nwNewPx.getX());
|
||||
widgetPosTop = Math.round(nwNewPx.getY());
|
||||
|
||||
// calculate the translation-vector between old and new origin in pixels
|
||||
if (nwOldPx == null) {
|
||||
diffPx = new Vector(0, 0);
|
||||
} else {
|
||||
double oldPosLeft = Math.round(nwOldPx.getX());
|
||||
double oldPosTop = Math.round(nwOldPx.getY());
|
||||
diffPx = new Vector(oldPosLeft - widgetPosLeft, oldPosTop - widgetPosTop);
|
||||
}
|
||||
|
||||
// store canvas-content, because setWidth() and setHeight() will clear canvas and change Context2d
|
||||
Context2d ctxt = canvas.getContext2d();
|
||||
ImageData canvasContent = ctxt.getImageData(0, 0, canvas.getElement().getClientWidth(), canvas.getElement().getClientHeight());
|
||||
canvas.setWidth(String.valueOf(canvasWidth));
|
||||
canvas.setHeight(String.valueOf(canvasHeight));
|
||||
canvas.setCoordinateSpaceWidth(canvasWidth);
|
||||
canvas.setCoordinateSpaceHeight(canvasHeight);
|
||||
// get updated Context2d and restore canvas-content moved by translation-vector
|
||||
ctxt = canvas.getContext2d();
|
||||
ctxt.putImageData(canvasContent, diffPx.x, diffPx.y);
|
||||
|
||||
// update canvas position
|
||||
setCanvasPosition(widgetPosLeft, widgetPosTop);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package com.sap.sailing.server.gateway.interfaces;
|
||||
|
||||
public interface MasterDataImportConstants {
|
||||
String MASTER_DATA_RESOURCE_BASE_URL = "/v1/masterdata/leaderboardgroups";
|
||||
String QUERY_PARAM_UUIDS = "uuids[]";
|
||||
String QUERY_PARAM_COMPRESS = "compress";
|
||||
String QUERY_PARAM_EXPORT_WIND = "exportWind";
|
||||
String QUERY_PARAM_EXPORT_DEVICE_CONFIGS = "exportDeviceConfigs";
|
||||
String QUERY_PARAM_EXPORT_TRACKED_RACES_AND_START_TRACKING = "exportTrackedRacesAndStartTracking";
|
||||
}
|
||||
+6
-5
@@ -41,23 +41,24 @@ import com.sap.sailing.domain.leaderboard.RegattaLeaderboard;
|
||||
import com.sap.sailing.domain.masterdataimport.TopLevelMasterData;
|
||||
import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.server.gateway.interfaces.MasterDataImportConstants;
|
||||
import com.sap.sailing.shared.server.gateway.jaxrs.AbstractSailingServerResource;
|
||||
import com.sap.sse.security.SecurityService;
|
||||
import com.sap.sse.security.shared.impl.SecuredSecurityTypes.PublicReadableActions;
|
||||
import com.sap.sse.security.shared.impl.SecuredSecurityTypes.ServerActions;
|
||||
import com.sap.sse.security.shared.impl.User;
|
||||
|
||||
@Path("/v1/masterdata/leaderboardgroups")
|
||||
@Path(MasterDataImportConstants.MASTER_DATA_RESOURCE_BASE_URL)
|
||||
public class MasterDataResource extends AbstractSailingServerResource {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(MasterDataResource.class.getName());
|
||||
|
||||
@POST
|
||||
@Produces("application/x-java-serialized-object")
|
||||
public Response getMasterDataByLeaderboardGroups(@QueryParam("uuids[]") List<UUID> requestedLeaderboardGroupsUuids,
|
||||
@QueryParam("compress") Boolean compress, @QueryParam("exportWind") Boolean exportWind,
|
||||
@QueryParam("exportDeviceConfigs") Boolean exportDeviceConfigs,
|
||||
@QueryParam("exportTrackedRacesAndStartTracking") Boolean exportTrackedRacesAndStartTracking)
|
||||
public Response getMasterDataByLeaderboardGroups(@QueryParam(MasterDataImportConstants.QUERY_PARAM_UUIDS) List<UUID> requestedLeaderboardGroupsUuids,
|
||||
@QueryParam(MasterDataImportConstants.QUERY_PARAM_COMPRESS) Boolean compress, @QueryParam(MasterDataImportConstants.QUERY_PARAM_EXPORT_WIND) Boolean exportWind,
|
||||
@QueryParam(MasterDataImportConstants.QUERY_PARAM_EXPORT_DEVICE_CONFIGS) Boolean exportDeviceConfigs,
|
||||
@QueryParam(MasterDataImportConstants.QUERY_PARAM_EXPORT_TRACKED_RACES_AND_START_TRACKING) Boolean exportTrackedRacesAndStartTracking)
|
||||
throws UnsupportedEncodingException {
|
||||
final SecurityService securityService = getSecurityService();
|
||||
User user = securityService.getCurrentUser();
|
||||
|
||||
+2
-2
@@ -339,7 +339,7 @@ public class ImportMasterDataOperation extends
|
||||
} else if (override) {
|
||||
for (RaceColumn raceColumn : existingLeaderboards.get(leaderboard.getName()).getRaceColumns()) {
|
||||
for (Fleet fleet : raceColumn.getFleets()) {
|
||||
TrackedRace trackedRace = raceColumn.getTrackedRace(fleet);
|
||||
final TrackedRace trackedRace = raceColumn.getTrackedRace(fleet);
|
||||
if (trackedRace != null) {
|
||||
raceColumn.releaseTrackedRace(fleet);
|
||||
}
|
||||
@@ -414,7 +414,7 @@ public class ImportMasterDataOperation extends
|
||||
|
||||
private void addAllImportedEvents(MongoObjectFactory mongoObjectFactory, RaceLogStore mongoRaceLogStore,
|
||||
final RaceLog log, RaceLogIdentifier identifier) {
|
||||
RaceLogEventVisitor storeVisitor = MongoRaceLogStoreFactory.INSTANCE
|
||||
final RaceLogEventVisitor storeVisitor = MongoRaceLogStoreFactory.INSTANCE
|
||||
.getMongoRaceLogStoreVisitor(identifier, mongoObjectFactory);
|
||||
log.lockForRead();
|
||||
try {
|
||||
|
||||
@@ -8,6 +8,7 @@ Bundle-Activator: com.sap.sailing.server.impl.Activator
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Import-Package: com.sap.sailing.server.gateway.deserialization,
|
||||
com.sap.sailing.server.gateway.interfaces,
|
||||
javax.mail;version="1.4.0",
|
||||
javax.mail.internet;version="1.4.0",
|
||||
javax.mail.util;version="1.4.0",
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -clean"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dfile.encoding=cp1252 -Dexpedition.udp.port=2010 -Xmx6000m -XX:+UseG1GC -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Dkiwo.results=${project_loc:com.sap.sailing.kiworesultimport.test}/resources -Dpersistentcompetitors.clear=false -DAnniversaryRaceDeterminator.enabled=true -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dfile.encoding=cp1252 -Dexpedition.udp.port=2010 -Xmx6000m -XX:+UseG1GC -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Dkiwo.results=${project_loc:com.sap.sailing.kiworesultimport.test}/resources -Dpersistentcompetitors.clear=false -DAnniversaryRaceDeterminator.enabled=true -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120 -Dmanage2sail.accesstoken=${MANAGE2SAIL_ACCESS_TOKEN} -Dgoogle.maps.authenticationparams=${GOOGLE_MAPS_AUTHENTICATION_PARAMS}"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<stringAttribute key="profilingTraceType-ALLOCATION_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%INCREASE_COUNT%CTX_KEY%8192%CTX_ENTRY%KEY_MIN_SIZE%CTX_KEY%32%CTX_ENTRY%KEY_MAX_SIZE%CTX_KEY%65536%CTX_ENTRY%KEY_INC_LINE_NRS%CTX_KEY%true%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%CLASS_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ADAPTIVE%CTX_KEY%false%CTX_ENTRY%"/>
|
||||
@@ -28,292 +28,288 @@
|
||||
<stringAttribute key="profilingTraceType-PERFORMANCE_HOTSPOT_TRACE" value="KEY_IGNORE_SLEEPING_THREADS%CTX_KEY%false%CTX_ENTRY%KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%true%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
|
||||
<stringAttribute key="profilingTraceType-SYNCHRONIZATION_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
|
||||
<setAttribute key="selected_target_bundles">
|
||||
<setEntry value="routeconverter@default:default"/>
|
||||
<setEntry value="org.apache.commons.codec@default:default"/>
|
||||
<setEntry value="org.apache.poi@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress@default:default"/>
|
||||
<setEntry value="org.apache.poi.source@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress.source@default:default"/>
|
||||
<setEntry value="org.dom4j@default:default"/>
|
||||
<setEntry value="org.apache.xmlbeans@default:default"/>
|
||||
<setEntry value="org.apache.commons.math@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
|
||||
<setEntry value="javax.validation@default:default"/>
|
||||
<setEntry value="org.apache.commons.fileupload@default:default"/>
|
||||
<setEntry value="org.jvnet.mimepull@default:default"/>
|
||||
<setEntry value="org.apache.commons.math3@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core.source@default:default"/>
|
||||
<setEntry value="org.mongodb.bson@default:default"/>
|
||||
<setEntry value="org.mongodb.bson.source@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.warurl@default:default"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="slf4j.jdk14@default:default"/>
|
||||
<setEntry value="lz4-java@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.command@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.shell@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.http@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.http.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.io@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.io.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml.source@default:default"/>
|
||||
<setEntry value="slf4j.api@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="jcl.over.slf4j@default:default"/>
|
||||
<setEntry value="com.sun.mail.javax.mail@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.lang@default:default"/>
|
||||
<setEntry value="org.apache.commons.logging@default:default"/>
|
||||
<setEntry value="jackson-jaxrs@default:default"/>
|
||||
<setEntry value="com.sun.jersey@default:default"/>
|
||||
<setEntry value="javax.ws.rs@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils.source@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
|
||||
<setEntry value="org.owasp.encoder@default:default"/>
|
||||
<setEntry value="org.owasp.encoder.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web.source@default:default"/>
|
||||
<setEntry value="jackson-core-asl@default:default"/>
|
||||
<setEntry value="jackson-mapper-asl@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.client@default:default"/>
|
||||
<setEntry value="javax.xml@default:default"/>
|
||||
<setEntry value="com.sun.activation.javax.activation@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.console@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.launcher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.eclipse.osgi.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.function@default:default"/>
|
||||
<setEntry value="org.osgi.util.function.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.position@default:default"/>
|
||||
<setEntry value="org.osgi.util.position.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml.source@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services.source@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.cm@default:default"/>
|
||||
<setEntry value="com.sun.istack.commons-runtime@default:default"/>
|
||||
<setEntry value="jaxb-api@default:default"/>
|
||||
<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
|
||||
<setEntry value="javax.xml.stream@default:default"/>
|
||||
<setEntry value="javax.xml.ws@default:default"/>
|
||||
<setEntry value="javax.xml.soap@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.util.source@default:default"/>
|
||||
<setEntry value="com.chargebee.chargebee-java@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch.source@default:default"/>
|
||||
<setEntry value="bcprov-ext@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.tree@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.tree.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp.source@default:default"/>
|
||||
<setEntry value="org.apache.geronimo.specs.geronimo-jta_1.1_spec@default:default"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle@3:true"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle.source@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-el@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-jsp@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.standard-impl@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.taglibs-standard-spec@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi-servlet-api@default:default"/>
|
||||
<setEntry value="org.apache.xalan@default:default"/>
|
||||
<setEntry value="org.apache.xml.serializer@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.event@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.annotations@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.jndi@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.plus@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc.source@default:default"/>
|
||||
<setEntry value="org.osgi.service.packageadmin@default:default"/>
|
||||
<setEntry value="org.osgi.service.url@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math.source@default:default"/>
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.google.gson.source@default:default"/>
|
||||
</setAttribute>
|
||||
<setEntry value="bcprov-ext@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api.source"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api@default:default"/>
|
||||
<setEntry value="com.chargebee.chargebee-java@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-core@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-data@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-math@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch.source"/>
|
||||
<setEntry value="com.github.mwiede.jsch@default:default"/>
|
||||
<setEntry value="com.google.gson.source"/>
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client.source"/>
|
||||
<setEntry value="com.rabbitmq.client@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc.source"/>
|
||||
<setEntry value="com.sap.db.jdbc@default:default"/>
|
||||
<setEntry value="com.sun.activation.javax.activation@default:default"/>
|
||||
<setEntry value="com.sun.istack.commons-runtime@default:default"/>
|
||||
<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
|
||||
<setEntry value="com.sun.jersey@default:default"/>
|
||||
<setEntry value="com.sun.mail.javax.mail@default:default"/>
|
||||
<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
|
||||
<setEntry value="jackson-core-asl@default:default"/>
|
||||
<setEntry value="jackson-jaxrs@default:default"/>
|
||||
<setEntry value="jackson-mapper-asl@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="javax.validation@default:default"/>
|
||||
<setEntry value="javax.ws.rs@default:default"/>
|
||||
<setEntry value="javax.xml.soap@default:default"/>
|
||||
<setEntry value="javax.xml.stream@default:default"/>
|
||||
<setEntry value="javax.xml.ws@default:default"/>
|
||||
<setEntry value="javax.xml@default:default"/>
|
||||
<setEntry value="jaxb-api@default:default"/>
|
||||
<setEntry value="jcl.over.slf4j@default:default"/>
|
||||
<setEntry value="lz4-java@default:default"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle.source"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle@3:true"/>
|
||||
<setEntry value="org.apache.commons.beanutils.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils@default:default"/>
|
||||
<setEntry value="org.apache.commons.codec@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4.source"/>
|
||||
<setEntry value="org.apache.commons.collections4@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress.source"/>
|
||||
<setEntry value="org.apache.commons.compress@default:default"/>
|
||||
<setEntry value="org.apache.commons.fileupload@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="org.apache.commons.lang@default:default"/>
|
||||
<setEntry value="org.apache.commons.logging@default:default"/>
|
||||
<setEntry value="org.apache.commons.math3@default:default"/>
|
||||
<setEntry value="org.apache.commons.math@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.command@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.shell@default:default"/>
|
||||
<setEntry value="org.apache.geronimo.specs.geronimo-jta_1.1_spec@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.source"/>
|
||||
<setEntry value="org.apache.poi.ooxml@default:default"/>
|
||||
<setEntry value="org.apache.poi.source"/>
|
||||
<setEntry value="org.apache.poi@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core.source"/>
|
||||
<setEntry value="org.apache.shiro.core@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache.source"/>
|
||||
<setEntry value="org.apache.shiro.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web.source"/>
|
||||
<setEntry value="org.apache.shiro.web@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.standard-impl@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.taglibs-standard-spec@default:default"/>
|
||||
<setEntry value="org.apache.xalan@default:default"/>
|
||||
<setEntry value="org.apache.xml.serializer@default:default"/>
|
||||
<setEntry value="org.apache.xmlbeans@default:default"/>
|
||||
<setEntry value="org.dom4j@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.cm@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.console@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.event@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.launcher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.annotations@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy.source"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.http.source"/>
|
||||
<setEntry value="org.eclipse.jetty.http@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.io.source"/>
|
||||
<setEntry value="org.eclipse.jetty.io@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx.source"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jndi@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi-servlet-api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp@default:false"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.warurl@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.plus@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security.source"/>
|
||||
<setEntry value="org.eclipse.jetty.security@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server.source"/>
|
||||
<setEntry value="org.eclipse.jetty.server@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet.source"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax.source"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.source"/>
|
||||
<setEntry value="org.eclipse.jetty.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml.source"/>
|
||||
<setEntry value="org.eclipse.jetty.xml@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services.source"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.source"/>
|
||||
<setEntry value="org.eclipse.osgi.util.source"/>
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="org.jvnet.mimepull@default:default"/>
|
||||
<setEntry value="org.mongodb.bson.source"/>
|
||||
<setEntry value="org.mongodb.bson@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core.source"/>
|
||||
<setEntry value="org.mongodb.driver-core@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-el@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-jsp@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis.source"/>
|
||||
<setEntry value="org.objectweb.asm.analysis@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons.source"/>
|
||||
<setEntry value="org.objectweb.asm.commons@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.source"/>
|
||||
<setEntry value="org.objectweb.asm.tree.source"/>
|
||||
<setEntry value="org.objectweb.asm.tree@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util.source"/>
|
||||
<setEntry value="org.objectweb.asm.util@default:default"/>
|
||||
<setEntry value="org.objectweb.asm@default:default"/>
|
||||
<setEntry value="org.osgi.service.packageadmin@default:default"/>
|
||||
<setEntry value="org.osgi.service.url@default:default"/>
|
||||
<setEntry value="org.osgi.util.function.source"/>
|
||||
<setEntry value="org.osgi.util.function@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement.source"/>
|
||||
<setEntry value="org.osgi.util.measurement@default:default"/>
|
||||
<setEntry value="org.osgi.util.position.source"/>
|
||||
<setEntry value="org.osgi.util.position@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise.source"/>
|
||||
<setEntry value="org.osgi.util.promise@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml.source"/>
|
||||
<setEntry value="org.osgi.util.xml@default:default"/>
|
||||
<setEntry value="org.owasp.encoder.source"/>
|
||||
<setEntry value="org.owasp.encoder@default:default"/>
|
||||
<setEntry value="routeconverter@default:default"/>
|
||||
<setEntry value="slf4j.api@default:default"/>
|
||||
<setEntry value="slf4j.jdk14@default:false"/>
|
||||
</setAttribute>
|
||||
<setAttribute key="selected_workspace_bundles">
|
||||
<setEntry value="com.sap.sailing.geocoding@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain@default:default"/>
|
||||
<setEntry value="com.sap.sailing.news@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.interfaces@default:default"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="com.sap.sailing.declination@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
|
||||
<setEntry value="com.sap.sailing.udpconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.simulator@default:default"/>
|
||||
<setEntry value="com.sap.sailing.www@5:true"/>
|
||||
<setEntry value="com.sap.sailing.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailti.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.monitoring@7:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.oceanraceadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars@5:true"/>
|
||||
<setEntry value="com.sap.sailing.windestimation@5:true"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
|
||||
<setEntry value="com.sap.sailing.competitorimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
|
||||
<setEntry value="com.sap.sailing.grib@default:default"/>
|
||||
<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
|
||||
<setEntry value="net.sf.marineapi@default:default"/>
|
||||
<setEntry value="com.sap.sailing.routeconverterjava11extension@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.hanaexport@5:true"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt@default:default"/>
|
||||
<setEntry value="com.google.gwt.servlet@default:default"/>
|
||||
<setEntry value="com.sap.sse.security@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.ui@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
|
||||
<setEntry value="com.sap.sse@default:default"/>
|
||||
<setEntry value="com.sap.sse.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
|
||||
<setEntry value="com.sap.sse.mongodb@default:default"/>
|
||||
<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication@6:true"/>
|
||||
<setEntry value="com.sap.sse.filestorage@4:true"/>
|
||||
<setEntry value="com.sap.sse.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sse.mail@5:true"/>
|
||||
<setEntry value="com.sap.sse.threadmanager@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.common@default:default"/>
|
||||
<setEntry value="org.json.simple@default:default"/>
|
||||
<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<setEntry value="com.googlecode.java-diff-utils@default:default"/>
|
||||
<setEntry value="org.mp4parser.isoparser@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sse.security.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws@4:true"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.debranding@default:default"/>
|
||||
<setEntry value="elemental2@default:default"/>
|
||||
</setAttribute>
|
||||
<setEntry value="com.google.gwt.servlet@default:default"/>
|
||||
<setEntry value="com.googlecode.java-diff-utils@default:default"/>
|
||||
<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.competitorimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.declination@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.oceanraceadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain@default:default"/>
|
||||
<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.geocoding@default:default"/>
|
||||
<setEntry value="com.sap.sailing.grib@default:default"/>
|
||||
<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
|
||||
<setEntry value="com.sap.sailing.hanaexport@5:true"/>
|
||||
<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail@default:default"/>
|
||||
<setEntry value="com.sap.sailing.monitoring@7:true"/>
|
||||
<setEntry value="com.sap.sailing.news@4:true"/>
|
||||
<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.polars@5:true"/>
|
||||
<setEntry value="com.sap.sailing.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.routeconverterjava11extension@default:false"/>
|
||||
<setEntry value="com.sap.sailing.sailti.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.interface@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.simulator@default:default"/>
|
||||
<setEntry value="com.sap.sailing.udpconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.windestimation@5:true"/>
|
||||
<setEntry value="com.sap.sailing.www@5:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
|
||||
<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sse.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.ui@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining@default:default"/>
|
||||
<setEntry value="com.sap.sse.debranding@default:default"/>
|
||||
<setEntry value="com.sap.sse.filestorage@4:true"/>
|
||||
<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws@4:true"/>
|
||||
<setEntry value="com.sap.sse.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sse.mail@5:true"/>
|
||||
<setEntry value="com.sap.sse.mongodb@default:default"/>
|
||||
<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sse.security.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.ui@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
|
||||
<setEntry value="com.sap.sse.security@default:default"/>
|
||||
<setEntry value="com.sap.sse.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sse.threadmanager@default:default"/>
|
||||
<setEntry value="com.sap.sse@default:default"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="elemental2@default:default"/>
|
||||
<setEntry value="net.sf.marineapi@default:default"/>
|
||||
<setEntry value="org.json.simple@default:default"/>
|
||||
<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<setEntry value="org.mp4parser.isoparser@default:default"/>
|
||||
</setAttribute>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console 12001 -clean"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dfile.encoding=cp1252 -Dexpedition.udp.port=5010 -Xmx6000m -XX:ThreadPriorityPolicy=2 -XX:+UseG1GC -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Dkiwo.results=${project_loc:com.sap.sailing.kiworesultimport.test}/resources -Dpersistentcompetitors.clear=false -Dpolardata.source.url=https://www.sapsailing.com -Dwindestimation.source.url=https://www.sapsailing.com -Drestore.tracked.races=true -Dorg.eclipse.jetty.server.Request.maxFormContentSize=50000000 -DAnniversaryRaceDeterminator.enabled=true -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120 -Dchargebee.site=sailytics-test -Dmanage2sail.accesstoken=${MANAGE2SAIL_ACCESS_TOKEN} -Dchargebee.apikey=test_G8QP4NUM1f4MCeZeni1VFC04cdIGZSNyp -Dsubscriptions.disableMailVerificationRequirement=true -Dgwt.rpc.version=9"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dfile.encoding=cp1252 -Dexpedition.udp.port=5010 -Xmx6000m -XX:ThreadPriorityPolicy=2 -XX:+UseG1GC -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Dkiwo.results=${project_loc:com.sap.sailing.kiworesultimport.test}/resources -Dpersistentcompetitors.clear=false -Dpolardata.source.url=https://www.sapsailing.com -Dwindestimation.source.url=https://www.sapsailing.com -Drestore.tracked.races=true -Dorg.eclipse.jetty.server.Request.maxFormContentSize=50000000 -DAnniversaryRaceDeterminator.enabled=true -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120 -Dchargebee.site=sailytics-test -Dmanage2sail.accesstoken=${MANAGE2SAIL_ACCESS_TOKEN} -Dchargebee.apikey=test_G8QP4NUM1f4MCeZeni1VFC04cdIGZSNyp -Dsubscriptions.disableMailVerificationRequirement=true -Dgoogle.maps.authenticationparams=${GOOGLE_MAPS_AUTHENTICATION_PARAMS} -Dgwt.rpc.version=9 -Digtimi.client.id=${IGTIMI_CLIENT_ID} -Digtimi.client.secret=${IGTIMI_CLIENT_SECRET}"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<stringAttribute key="profilingTraceType-ALLOCATION_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%INCREASE_COUNT%CTX_KEY%8192%CTX_ENTRY%KEY_MIN_SIZE%CTX_KEY%32%CTX_ENTRY%KEY_MAX_SIZE%CTX_KEY%65536%CTX_ENTRY%KEY_INC_LINE_NRS%CTX_KEY%true%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%CLASS_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ADAPTIVE%CTX_KEY%false%CTX_ENTRY%"/>
|
||||
|
||||
@@ -13,13 +13,14 @@
|
||||
<intAttribute key="default_start_level" value="4"/>
|
||||
<setAttribute key="deselected_workspace_bundles"/>
|
||||
<booleanAttribute key="includeOptional" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.pde.ui.launcher.PDESourceLookupDirector"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;classpathContainer path=&quot;com.google.gwt.eclipse.core.GWT_CONTAINER&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.classpathContainer"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -clean"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dfile.encoding=cp1252 -Dexpedition.udp.port=5010 -Xmx6000m -XX:+UseG1GC -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Dkiwo.results=${project_loc:com.sap.sailing.kiworesultimport.test}/resources -Dpersistentcompetitors.clear=false -Dpolardata.source.url=https://www.sapsailing.com -Dwindestimation.source.url=https://www.sapsailing.com -Drestore.tracked.races=true -Dorg.eclipse.jetty.server.Request.maxFormContentSize=50000000 -Dmongo.uri="mongodb://silent,klo,homemp3/winddb?replicaSet=rs0&retryWrites=true" -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dfile.encoding=cp1252 -Dexpedition.udp.port=5010 -Xmx6000m -XX:+UseG1GC -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Dkiwo.results=${project_loc:com.sap.sailing.kiworesultimport.test}/resources -Dpersistentcompetitors.clear=false -Dpolardata.source.url=https://www.sapsailing.com -Dwindestimation.source.url=https://www.sapsailing.com -Drestore.tracked.races=true -Dorg.eclipse.jetty.server.Request.maxFormContentSize=50000000 -Dmongo.uri="mongodb://silent,klo,homemp3/winddb?replicaSet=rs0&retryWrites=true" -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120 -Dmanage2sail.accesstoken=${MANAGE2SAIL_ACCESS_TOKEN} -Dgoogle.maps.authenticationparams=${GOOGLE_MAPS_AUTHENTICATION_PARAMS} -Digtimi.client.id=${IGTIMI_CLIENT_ID} -Digtimi.client.secret=${IGTIMI_CLIENT_SECRET}"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<stringAttribute key="profilingTraceType-ALLOCATION_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%INCREASE_COUNT%CTX_KEY%8192%CTX_ENTRY%KEY_MIN_SIZE%CTX_KEY%32%CTX_ENTRY%KEY_MAX_SIZE%CTX_KEY%65536%CTX_ENTRY%KEY_INC_LINE_NRS%CTX_KEY%true%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%CLASS_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ADAPTIVE%CTX_KEY%false%CTX_ENTRY%"/>
|
||||
@@ -29,292 +30,288 @@
|
||||
<stringAttribute key="profilingTraceType-PERFORMANCE_HOTSPOT_TRACE" value="KEY_IGNORE_SLEEPING_THREADS%CTX_KEY%false%CTX_ENTRY%KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%true%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
|
||||
<stringAttribute key="profilingTraceType-SYNCHRONIZATION_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
|
||||
<setAttribute key="selected_target_bundles">
|
||||
<setEntry value="routeconverter@default:default"/>
|
||||
<setEntry value="org.apache.commons.codec@default:default"/>
|
||||
<setEntry value="org.apache.poi@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress@default:default"/>
|
||||
<setEntry value="org.apache.poi.source@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress.source@default:default"/>
|
||||
<setEntry value="org.dom4j@default:default"/>
|
||||
<setEntry value="org.apache.xmlbeans@default:default"/>
|
||||
<setEntry value="org.apache.commons.math@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
|
||||
<setEntry value="javax.validation@default:default"/>
|
||||
<setEntry value="org.apache.commons.fileupload@default:default"/>
|
||||
<setEntry value="org.jvnet.mimepull@default:default"/>
|
||||
<setEntry value="org.apache.commons.math3@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core.source@default:default"/>
|
||||
<setEntry value="org.mongodb.bson@default:default"/>
|
||||
<setEntry value="org.mongodb.bson.source@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.warurl@default:default"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="slf4j.jdk14@default:default"/>
|
||||
<setEntry value="lz4-java@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.command@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.shell@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.http@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.http.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.io@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.io.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml.source@default:default"/>
|
||||
<setEntry value="slf4j.api@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="jcl.over.slf4j@default:default"/>
|
||||
<setEntry value="com.sun.mail.javax.mail@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.lang@default:default"/>
|
||||
<setEntry value="org.apache.commons.logging@default:default"/>
|
||||
<setEntry value="jackson-jaxrs@default:default"/>
|
||||
<setEntry value="com.sun.jersey@default:default"/>
|
||||
<setEntry value="javax.ws.rs@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils.source@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
|
||||
<setEntry value="org.owasp.encoder@default:default"/>
|
||||
<setEntry value="org.owasp.encoder.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web.source@default:default"/>
|
||||
<setEntry value="jackson-core-asl@default:default"/>
|
||||
<setEntry value="jackson-mapper-asl@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.client@default:default"/>
|
||||
<setEntry value="javax.xml@default:default"/>
|
||||
<setEntry value="com.sun.activation.javax.activation@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.console@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.launcher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.eclipse.osgi.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.function@default:default"/>
|
||||
<setEntry value="org.osgi.util.function.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.position@default:default"/>
|
||||
<setEntry value="org.osgi.util.position.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml.source@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services.source@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.cm@default:default"/>
|
||||
<setEntry value="com.sun.istack.commons-runtime@default:default"/>
|
||||
<setEntry value="jaxb-api@default:default"/>
|
||||
<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
|
||||
<setEntry value="javax.xml.stream@default:default"/>
|
||||
<setEntry value="javax.xml.ws@default:default"/>
|
||||
<setEntry value="javax.xml.soap@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.util.source@default:default"/>
|
||||
<setEntry value="com.chargebee.chargebee-java@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch.source@default:default"/>
|
||||
<setEntry value="bcprov-ext@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.tree@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.tree.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp.source@default:default"/>
|
||||
<setEntry value="org.apache.geronimo.specs.geronimo-jta_1.1_spec@default:default"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle@3:true"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle.source@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-el@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-jsp@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.standard-impl@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.taglibs-standard-spec@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi-servlet-api@default:default"/>
|
||||
<setEntry value="org.apache.xalan@default:default"/>
|
||||
<setEntry value="org.apache.xml.serializer@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.event@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.annotations@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.jndi@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.plus@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc.source@default:default"/>
|
||||
<setEntry value="org.osgi.service.packageadmin@default:default"/>
|
||||
<setEntry value="org.osgi.service.url@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math.source@default:default"/>
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.google.gson.source@default:default"/>
|
||||
</setAttribute>
|
||||
<setEntry value="bcprov-ext@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api.source"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api@default:default"/>
|
||||
<setEntry value="com.chargebee.chargebee-java@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-core@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-data@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-math@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch.source"/>
|
||||
<setEntry value="com.github.mwiede.jsch@default:default"/>
|
||||
<setEntry value="com.google.gson.source"/>
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client.source"/>
|
||||
<setEntry value="com.rabbitmq.client@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc.source"/>
|
||||
<setEntry value="com.sap.db.jdbc@default:default"/>
|
||||
<setEntry value="com.sun.activation.javax.activation@default:default"/>
|
||||
<setEntry value="com.sun.istack.commons-runtime@default:default"/>
|
||||
<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
|
||||
<setEntry value="com.sun.jersey@default:default"/>
|
||||
<setEntry value="com.sun.mail.javax.mail@default:default"/>
|
||||
<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
|
||||
<setEntry value="jackson-core-asl@default:default"/>
|
||||
<setEntry value="jackson-jaxrs@default:default"/>
|
||||
<setEntry value="jackson-mapper-asl@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="javax.validation@default:default"/>
|
||||
<setEntry value="javax.ws.rs@default:default"/>
|
||||
<setEntry value="javax.xml.soap@default:default"/>
|
||||
<setEntry value="javax.xml.stream@default:default"/>
|
||||
<setEntry value="javax.xml.ws@default:default"/>
|
||||
<setEntry value="javax.xml@default:default"/>
|
||||
<setEntry value="jaxb-api@default:default"/>
|
||||
<setEntry value="jcl.over.slf4j@default:default"/>
|
||||
<setEntry value="lz4-java@default:default"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle.source"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle@3:true"/>
|
||||
<setEntry value="org.apache.commons.beanutils.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils@default:default"/>
|
||||
<setEntry value="org.apache.commons.codec@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4.source"/>
|
||||
<setEntry value="org.apache.commons.collections4@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress.source"/>
|
||||
<setEntry value="org.apache.commons.compress@default:default"/>
|
||||
<setEntry value="org.apache.commons.fileupload@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="org.apache.commons.lang@default:default"/>
|
||||
<setEntry value="org.apache.commons.logging@default:default"/>
|
||||
<setEntry value="org.apache.commons.math3@default:default"/>
|
||||
<setEntry value="org.apache.commons.math@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.command@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.shell@default:default"/>
|
||||
<setEntry value="org.apache.geronimo.specs.geronimo-jta_1.1_spec@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.source"/>
|
||||
<setEntry value="org.apache.poi.ooxml@default:default"/>
|
||||
<setEntry value="org.apache.poi.source"/>
|
||||
<setEntry value="org.apache.poi@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core.source"/>
|
||||
<setEntry value="org.apache.shiro.core@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache.source"/>
|
||||
<setEntry value="org.apache.shiro.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web.source"/>
|
||||
<setEntry value="org.apache.shiro.web@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.standard-impl@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.taglibs-standard-spec@default:default"/>
|
||||
<setEntry value="org.apache.xalan@default:default"/>
|
||||
<setEntry value="org.apache.xml.serializer@default:default"/>
|
||||
<setEntry value="org.apache.xmlbeans@default:default"/>
|
||||
<setEntry value="org.dom4j@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.cm@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.console@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.event@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.launcher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.annotations@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy.source"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.http.source"/>
|
||||
<setEntry value="org.eclipse.jetty.http@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.io.source"/>
|
||||
<setEntry value="org.eclipse.jetty.io@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx.source"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jndi@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi-servlet-api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp@default:false"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.warurl@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.plus@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security.source"/>
|
||||
<setEntry value="org.eclipse.jetty.security@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server.source"/>
|
||||
<setEntry value="org.eclipse.jetty.server@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet.source"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax.source"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.source"/>
|
||||
<setEntry value="org.eclipse.jetty.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml.source"/>
|
||||
<setEntry value="org.eclipse.jetty.xml@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services.source"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.source"/>
|
||||
<setEntry value="org.eclipse.osgi.util.source"/>
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="org.jvnet.mimepull@default:default"/>
|
||||
<setEntry value="org.mongodb.bson.source"/>
|
||||
<setEntry value="org.mongodb.bson@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core.source"/>
|
||||
<setEntry value="org.mongodb.driver-core@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-el@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-jsp@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis.source"/>
|
||||
<setEntry value="org.objectweb.asm.analysis@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons.source"/>
|
||||
<setEntry value="org.objectweb.asm.commons@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.source"/>
|
||||
<setEntry value="org.objectweb.asm.tree.source"/>
|
||||
<setEntry value="org.objectweb.asm.tree@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util.source"/>
|
||||
<setEntry value="org.objectweb.asm.util@default:default"/>
|
||||
<setEntry value="org.objectweb.asm@default:default"/>
|
||||
<setEntry value="org.osgi.service.packageadmin@default:default"/>
|
||||
<setEntry value="org.osgi.service.url@default:default"/>
|
||||
<setEntry value="org.osgi.util.function.source"/>
|
||||
<setEntry value="org.osgi.util.function@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement.source"/>
|
||||
<setEntry value="org.osgi.util.measurement@default:default"/>
|
||||
<setEntry value="org.osgi.util.position.source"/>
|
||||
<setEntry value="org.osgi.util.position@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise.source"/>
|
||||
<setEntry value="org.osgi.util.promise@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml.source"/>
|
||||
<setEntry value="org.osgi.util.xml@default:default"/>
|
||||
<setEntry value="org.owasp.encoder.source"/>
|
||||
<setEntry value="org.owasp.encoder@default:default"/>
|
||||
<setEntry value="routeconverter@default:default"/>
|
||||
<setEntry value="slf4j.api@default:default"/>
|
||||
<setEntry value="slf4j.jdk14@default:false"/>
|
||||
</setAttribute>
|
||||
<setAttribute key="selected_workspace_bundles">
|
||||
<setEntry value="com.sap.sailing.geocoding@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain@default:default"/>
|
||||
<setEntry value="com.sap.sailing.news@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.interfaces@default:default"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="com.sap.sailing.declination@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
|
||||
<setEntry value="com.sap.sailing.udpconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.simulator@default:default"/>
|
||||
<setEntry value="com.sap.sailing.www@5:true"/>
|
||||
<setEntry value="com.sap.sailing.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailti.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.monitoring@7:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.oceanraceadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars@5:true"/>
|
||||
<setEntry value="com.sap.sailing.windestimation@5:true"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
|
||||
<setEntry value="com.sap.sailing.competitorimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
|
||||
<setEntry value="com.sap.sailing.grib@default:default"/>
|
||||
<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
|
||||
<setEntry value="net.sf.marineapi@default:default"/>
|
||||
<setEntry value="com.sap.sailing.routeconverterjava11extension@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.hanaexport@5:true"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt@default:default"/>
|
||||
<setEntry value="com.google.gwt.servlet@default:default"/>
|
||||
<setEntry value="com.sap.sse.security@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.ui@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
|
||||
<setEntry value="com.sap.sse@default:default"/>
|
||||
<setEntry value="com.sap.sse.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
|
||||
<setEntry value="com.sap.sse.mongodb@default:default"/>
|
||||
<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication@6:true"/>
|
||||
<setEntry value="com.sap.sse.filestorage@4:true"/>
|
||||
<setEntry value="com.sap.sse.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sse.mail@5:true"/>
|
||||
<setEntry value="com.sap.sse.threadmanager@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.common@default:default"/>
|
||||
<setEntry value="org.json.simple@default:default"/>
|
||||
<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<setEntry value="com.googlecode.java-diff-utils@default:default"/>
|
||||
<setEntry value="org.mp4parser.isoparser@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sse.security.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws@4:true"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.debranding@default:default"/>
|
||||
<setEntry value="elemental2@default:default"/>
|
||||
</setAttribute>
|
||||
<setEntry value="com.google.gwt.servlet@default:default"/>
|
||||
<setEntry value="com.googlecode.java-diff-utils@default:default"/>
|
||||
<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.competitorimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.declination@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.oceanraceadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain@default:default"/>
|
||||
<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.geocoding@default:default"/>
|
||||
<setEntry value="com.sap.sailing.grib@default:default"/>
|
||||
<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
|
||||
<setEntry value="com.sap.sailing.hanaexport@5:true"/>
|
||||
<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail@default:default"/>
|
||||
<setEntry value="com.sap.sailing.monitoring@7:true"/>
|
||||
<setEntry value="com.sap.sailing.news@4:true"/>
|
||||
<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.polars@5:true"/>
|
||||
<setEntry value="com.sap.sailing.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.routeconverterjava11extension@default:false"/>
|
||||
<setEntry value="com.sap.sailing.sailti.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.interface@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.simulator@default:default"/>
|
||||
<setEntry value="com.sap.sailing.udpconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.windestimation@5:true"/>
|
||||
<setEntry value="com.sap.sailing.www@5:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
|
||||
<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sse.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.ui@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining@default:default"/>
|
||||
<setEntry value="com.sap.sse.debranding@default:default"/>
|
||||
<setEntry value="com.sap.sse.filestorage@4:true"/>
|
||||
<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws@4:true"/>
|
||||
<setEntry value="com.sap.sse.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sse.mail@5:true"/>
|
||||
<setEntry value="com.sap.sse.mongodb@default:default"/>
|
||||
<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sse.security.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.ui@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
|
||||
<setEntry value="com.sap.sse.security@default:default"/>
|
||||
<setEntry value="com.sap.sse.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sse.threadmanager@default:default"/>
|
||||
<setEntry value="com.sap.sse@default:default"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="elemental2@default:default"/>
|
||||
<setEntry value="net.sf.marineapi@default:default"/>
|
||||
<setEntry value="org.json.simple@default:default"/>
|
||||
<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<setEntry value="org.mp4parser.isoparser@default:default"/>
|
||||
</setAttribute>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
<intAttribute key="default_start_level" value="4"/>
|
||||
<setAttribute key="deselected_workspace_bundles"/>
|
||||
<booleanAttribute key="includeOptional" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.pde.ui.launcher.PDESourceLookupDirector"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;classpathContainer path=&quot;com.google.gwt.eclipse.core.GWT_CONTAINER&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.classpathContainer"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
|
||||
@@ -21,7 +22,7 @@
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -clean"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea --illegal-access=permit -Dosgi.java.profile=file:///${project_loc:java}/target/configuration/JavaSE-11.profile --add-modules=ALL-SYSTEM -Djavax.xml.bind.JAXBContextFactory=com.sun.xml.bind.v2.ContextFactory -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dfile.encoding=cp1252 -Dexpedition.udp.port=5010 -Xmx6000m -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Dkiwo.results=${project_loc:com.sap.sailing.kiworesultimport.test}/resources -Dpersistentcompetitors.clear=false -Dpolardata.source.url=https://www.sapsailing.com -Drestore.tracked.races=true -Dmongo.uri=mongodb://localhost/winddb -DAnniversaryRaceDeterminator.enabled=true -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea --illegal-access=permit -Dosgi.java.profile=file:///${project_loc:java}/target/configuration/JavaSE-11.profile --add-modules=ALL-SYSTEM -Djavax.xml.bind.JAXBContextFactory=com.sun.xml.bind.v2.ContextFactory -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dfile.encoding=cp1252 -Dexpedition.udp.port=5010 -Xmx6000m -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Dkiwo.results=${project_loc:com.sap.sailing.kiworesultimport.test}/resources -Dpersistentcompetitors.clear=false -Dpolardata.source.url=https://www.sapsailing.com -Drestore.tracked.races=true -Dmongo.uri=mongodb://localhost/winddb -DAnniversaryRaceDeterminator.enabled=true -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120 -Dmanage2sail.accesstoken=${MANAGE2SAIL_ACCESS_TOKEN} -Dgoogle.maps.authenticationparams=${GOOGLE_MAPS_AUTHENTICATION_PARAMS}"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<stringAttribute key="profilingTraceType-ALLOCATION_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%INCREASE_COUNT%CTX_KEY%8192%CTX_ENTRY%KEY_MIN_SIZE%CTX_KEY%32%CTX_ENTRY%KEY_MAX_SIZE%CTX_KEY%65536%CTX_ENTRY%KEY_INC_LINE_NRS%CTX_KEY%true%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%CLASS_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ADAPTIVE%CTX_KEY%false%CTX_ENTRY%"/>
|
||||
@@ -31,292 +32,288 @@
|
||||
<stringAttribute key="profilingTraceType-PERFORMANCE_HOTSPOT_TRACE" value="KEY_IGNORE_SLEEPING_THREADS%CTX_KEY%false%CTX_ENTRY%KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%true%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
|
||||
<stringAttribute key="profilingTraceType-SYNCHRONIZATION_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
|
||||
<setAttribute key="selected_target_bundles">
|
||||
<setEntry value="routeconverter@default:default"/>
|
||||
<setEntry value="org.apache.commons.codec@default:default"/>
|
||||
<setEntry value="org.apache.poi@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress@default:default"/>
|
||||
<setEntry value="org.apache.poi.source@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress.source@default:default"/>
|
||||
<setEntry value="org.dom4j@default:default"/>
|
||||
<setEntry value="org.apache.xmlbeans@default:default"/>
|
||||
<setEntry value="org.apache.commons.math@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
|
||||
<setEntry value="javax.validation@default:default"/>
|
||||
<setEntry value="org.apache.commons.fileupload@default:default"/>
|
||||
<setEntry value="org.jvnet.mimepull@default:default"/>
|
||||
<setEntry value="org.apache.commons.math3@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core.source@default:default"/>
|
||||
<setEntry value="org.mongodb.bson@default:default"/>
|
||||
<setEntry value="org.mongodb.bson.source@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.warurl@default:default"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="slf4j.jdk14@default:default"/>
|
||||
<setEntry value="lz4-java@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.command@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.shell@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.http@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.http.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.io@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.io.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml.source@default:default"/>
|
||||
<setEntry value="slf4j.api@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="jcl.over.slf4j@default:default"/>
|
||||
<setEntry value="com.sun.mail.javax.mail@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.lang@default:default"/>
|
||||
<setEntry value="org.apache.commons.logging@default:default"/>
|
||||
<setEntry value="jackson-jaxrs@default:default"/>
|
||||
<setEntry value="com.sun.jersey@default:default"/>
|
||||
<setEntry value="javax.ws.rs@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils.source@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
|
||||
<setEntry value="org.owasp.encoder@default:default"/>
|
||||
<setEntry value="org.owasp.encoder.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web.source@default:default"/>
|
||||
<setEntry value="jackson-core-asl@default:default"/>
|
||||
<setEntry value="jackson-mapper-asl@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.client@default:default"/>
|
||||
<setEntry value="javax.xml@default:default"/>
|
||||
<setEntry value="com.sun.activation.javax.activation@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.console@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.launcher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.eclipse.osgi.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.function@default:default"/>
|
||||
<setEntry value="org.osgi.util.function.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.position@default:default"/>
|
||||
<setEntry value="org.osgi.util.position.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml.source@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services.source@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.cm@default:default"/>
|
||||
<setEntry value="com.sun.istack.commons-runtime@default:default"/>
|
||||
<setEntry value="jaxb-api@default:default"/>
|
||||
<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
|
||||
<setEntry value="javax.xml.stream@default:default"/>
|
||||
<setEntry value="javax.xml.ws@default:default"/>
|
||||
<setEntry value="javax.xml.soap@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.util.source@default:default"/>
|
||||
<setEntry value="com.chargebee.chargebee-java@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch.source@default:default"/>
|
||||
<setEntry value="bcprov-ext@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.tree@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.tree.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp.source@default:default"/>
|
||||
<setEntry value="org.apache.geronimo.specs.geronimo-jta_1.1_spec@default:default"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle@3:true"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle.source@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-el@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-jsp@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.standard-impl@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.taglibs-standard-spec@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi-servlet-api@default:default"/>
|
||||
<setEntry value="org.apache.xalan@default:default"/>
|
||||
<setEntry value="org.apache.xml.serializer@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.event@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.annotations@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.jndi@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.plus@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc.source@default:default"/>
|
||||
<setEntry value="org.osgi.service.packageadmin@default:default"/>
|
||||
<setEntry value="org.osgi.service.url@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math.source@default:default"/>
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.google.gson.source@default:default"/>
|
||||
</setAttribute>
|
||||
<setEntry value="bcprov-ext@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api.source"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api@default:default"/>
|
||||
<setEntry value="com.chargebee.chargebee-java@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-core@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-data@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-math@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch.source"/>
|
||||
<setEntry value="com.github.mwiede.jsch@default:default"/>
|
||||
<setEntry value="com.google.gson.source"/>
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client.source"/>
|
||||
<setEntry value="com.rabbitmq.client@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc.source"/>
|
||||
<setEntry value="com.sap.db.jdbc@default:default"/>
|
||||
<setEntry value="com.sun.activation.javax.activation@default:default"/>
|
||||
<setEntry value="com.sun.istack.commons-runtime@default:default"/>
|
||||
<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
|
||||
<setEntry value="com.sun.jersey@default:default"/>
|
||||
<setEntry value="com.sun.mail.javax.mail@default:default"/>
|
||||
<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
|
||||
<setEntry value="jackson-core-asl@default:default"/>
|
||||
<setEntry value="jackson-jaxrs@default:default"/>
|
||||
<setEntry value="jackson-mapper-asl@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="javax.validation@default:default"/>
|
||||
<setEntry value="javax.ws.rs@default:default"/>
|
||||
<setEntry value="javax.xml.soap@default:default"/>
|
||||
<setEntry value="javax.xml.stream@default:default"/>
|
||||
<setEntry value="javax.xml.ws@default:default"/>
|
||||
<setEntry value="javax.xml@default:default"/>
|
||||
<setEntry value="jaxb-api@default:default"/>
|
||||
<setEntry value="jcl.over.slf4j@default:default"/>
|
||||
<setEntry value="lz4-java@default:default"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle.source"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle@3:true"/>
|
||||
<setEntry value="org.apache.commons.beanutils.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils@default:default"/>
|
||||
<setEntry value="org.apache.commons.codec@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4.source"/>
|
||||
<setEntry value="org.apache.commons.collections4@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress.source"/>
|
||||
<setEntry value="org.apache.commons.compress@default:default"/>
|
||||
<setEntry value="org.apache.commons.fileupload@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="org.apache.commons.lang@default:default"/>
|
||||
<setEntry value="org.apache.commons.logging@default:default"/>
|
||||
<setEntry value="org.apache.commons.math3@default:default"/>
|
||||
<setEntry value="org.apache.commons.math@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.command@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.shell@default:default"/>
|
||||
<setEntry value="org.apache.geronimo.specs.geronimo-jta_1.1_spec@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.source"/>
|
||||
<setEntry value="org.apache.poi.ooxml@default:default"/>
|
||||
<setEntry value="org.apache.poi.source"/>
|
||||
<setEntry value="org.apache.poi@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core.source"/>
|
||||
<setEntry value="org.apache.shiro.core@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache.source"/>
|
||||
<setEntry value="org.apache.shiro.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web.source"/>
|
||||
<setEntry value="org.apache.shiro.web@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.standard-impl@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.taglibs-standard-spec@default:default"/>
|
||||
<setEntry value="org.apache.xalan@default:default"/>
|
||||
<setEntry value="org.apache.xml.serializer@default:default"/>
|
||||
<setEntry value="org.apache.xmlbeans@default:default"/>
|
||||
<setEntry value="org.dom4j@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.cm@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.console@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.event@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.launcher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.annotations@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy.source"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.http.source"/>
|
||||
<setEntry value="org.eclipse.jetty.http@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.io.source"/>
|
||||
<setEntry value="org.eclipse.jetty.io@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx.source"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jndi@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi-servlet-api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp@default:false"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.warurl@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.plus@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security.source"/>
|
||||
<setEntry value="org.eclipse.jetty.security@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server.source"/>
|
||||
<setEntry value="org.eclipse.jetty.server@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet.source"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax.source"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.source"/>
|
||||
<setEntry value="org.eclipse.jetty.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml.source"/>
|
||||
<setEntry value="org.eclipse.jetty.xml@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services.source"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.source"/>
|
||||
<setEntry value="org.eclipse.osgi.util.source"/>
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="org.jvnet.mimepull@default:default"/>
|
||||
<setEntry value="org.mongodb.bson.source"/>
|
||||
<setEntry value="org.mongodb.bson@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core.source"/>
|
||||
<setEntry value="org.mongodb.driver-core@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-el@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-jsp@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis.source"/>
|
||||
<setEntry value="org.objectweb.asm.analysis@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons.source"/>
|
||||
<setEntry value="org.objectweb.asm.commons@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.source"/>
|
||||
<setEntry value="org.objectweb.asm.tree.source"/>
|
||||
<setEntry value="org.objectweb.asm.tree@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util.source"/>
|
||||
<setEntry value="org.objectweb.asm.util@default:default"/>
|
||||
<setEntry value="org.objectweb.asm@default:default"/>
|
||||
<setEntry value="org.osgi.service.packageadmin@default:default"/>
|
||||
<setEntry value="org.osgi.service.url@default:default"/>
|
||||
<setEntry value="org.osgi.util.function.source"/>
|
||||
<setEntry value="org.osgi.util.function@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement.source"/>
|
||||
<setEntry value="org.osgi.util.measurement@default:default"/>
|
||||
<setEntry value="org.osgi.util.position.source"/>
|
||||
<setEntry value="org.osgi.util.position@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise.source"/>
|
||||
<setEntry value="org.osgi.util.promise@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml.source"/>
|
||||
<setEntry value="org.osgi.util.xml@default:default"/>
|
||||
<setEntry value="org.owasp.encoder.source"/>
|
||||
<setEntry value="org.owasp.encoder@default:default"/>
|
||||
<setEntry value="routeconverter@default:default"/>
|
||||
<setEntry value="slf4j.api@default:default"/>
|
||||
<setEntry value="slf4j.jdk14@default:false"/>
|
||||
</setAttribute>
|
||||
<setAttribute key="selected_workspace_bundles">
|
||||
<setEntry value="com.sap.sailing.geocoding@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain@default:default"/>
|
||||
<setEntry value="com.sap.sailing.news@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.interfaces@default:default"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="com.sap.sailing.declination@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
|
||||
<setEntry value="com.sap.sailing.udpconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.simulator@default:default"/>
|
||||
<setEntry value="com.sap.sailing.www@5:true"/>
|
||||
<setEntry value="com.sap.sailing.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailti.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.monitoring@7:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.oceanraceadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars@5:true"/>
|
||||
<setEntry value="com.sap.sailing.windestimation@5:true"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
|
||||
<setEntry value="com.sap.sailing.competitorimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
|
||||
<setEntry value="com.sap.sailing.grib@default:default"/>
|
||||
<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
|
||||
<setEntry value="net.sf.marineapi@default:default"/>
|
||||
<setEntry value="com.sap.sailing.routeconverterjava11extension@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.hanaexport@5:true"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt@default:default"/>
|
||||
<setEntry value="com.google.gwt.servlet@default:default"/>
|
||||
<setEntry value="com.sap.sse.security@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.ui@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
|
||||
<setEntry value="com.sap.sse@default:default"/>
|
||||
<setEntry value="com.sap.sse.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
|
||||
<setEntry value="com.sap.sse.mongodb@default:default"/>
|
||||
<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication@6:true"/>
|
||||
<setEntry value="com.sap.sse.filestorage@4:true"/>
|
||||
<setEntry value="com.sap.sse.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sse.mail@5:true"/>
|
||||
<setEntry value="com.sap.sse.threadmanager@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.common@default:default"/>
|
||||
<setEntry value="org.json.simple@default:default"/>
|
||||
<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<setEntry value="com.googlecode.java-diff-utils@default:default"/>
|
||||
<setEntry value="org.mp4parser.isoparser@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sse.security.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws@4:true"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.debranding@default:default"/>
|
||||
<setEntry value="elemental2@default:default"/>
|
||||
</setAttribute>
|
||||
<setEntry value="com.google.gwt.servlet@default:default"/>
|
||||
<setEntry value="com.googlecode.java-diff-utils@default:default"/>
|
||||
<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.competitorimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.declination@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.oceanraceadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain@default:default"/>
|
||||
<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.geocoding@default:default"/>
|
||||
<setEntry value="com.sap.sailing.grib@default:default"/>
|
||||
<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
|
||||
<setEntry value="com.sap.sailing.hanaexport@5:true"/>
|
||||
<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail@default:default"/>
|
||||
<setEntry value="com.sap.sailing.monitoring@7:true"/>
|
||||
<setEntry value="com.sap.sailing.news@4:true"/>
|
||||
<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.polars@5:true"/>
|
||||
<setEntry value="com.sap.sailing.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.routeconverterjava11extension@default:false"/>
|
||||
<setEntry value="com.sap.sailing.sailti.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.interface@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.simulator@default:default"/>
|
||||
<setEntry value="com.sap.sailing.udpconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.windestimation@5:true"/>
|
||||
<setEntry value="com.sap.sailing.www@5:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
|
||||
<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sse.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.ui@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining@default:default"/>
|
||||
<setEntry value="com.sap.sse.debranding@default:default"/>
|
||||
<setEntry value="com.sap.sse.filestorage@4:true"/>
|
||||
<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws@4:true"/>
|
||||
<setEntry value="com.sap.sse.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sse.mail@5:true"/>
|
||||
<setEntry value="com.sap.sse.mongodb@default:default"/>
|
||||
<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sse.security.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.ui@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
|
||||
<setEntry value="com.sap.sse.security@default:default"/>
|
||||
<setEntry value="com.sap.sse.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sse.threadmanager@default:default"/>
|
||||
<setEntry value="com.sap.sse@default:default"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="elemental2@default:default"/>
|
||||
<setEntry value="net.sf.marineapi@default:default"/>
|
||||
<setEntry value="org.json.simple@default:default"/>
|
||||
<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<setEntry value="org.mp4parser.isoparser@default:default"/>
|
||||
</setAttribute>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
<intAttribute key="default_start_level" value="4"/>
|
||||
<setAttribute key="deselected_workspace_bundles"/>
|
||||
<booleanAttribute key="includeOptional" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
|
||||
@@ -20,296 +21,292 @@
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -clean"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djetty.port=8889 -Dreplication.exchangeName=sapsailinganalytics-replica -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dexpedition.udp.port=2011 -Xmx6000m -XX:+UseG1GC -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Dmongo.dbName=replica -DAnniversaryRaceDeterminator.enabled=true -Dpolardata.source.url=http://127.0.0.1:8888 -Dwindestimation.source.url=http://127.0.0.1:8888 -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djetty.port=8889 -Dreplication.exchangeName=sapsailinganalytics-replica -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dexpedition.udp.port=2011 -Xmx6000m -XX:+UseG1GC -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Dmongo.dbName=replica -DAnniversaryRaceDeterminator.enabled=true -Dpolardata.source.url=http://127.0.0.1:8888 -Dwindestimation.source.url=http://127.0.0.1:8888 -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120 -Dmanage2sail.accesstoken=${MANAGE2SAIL_ACCESS_TOKEN} -Dgoogle.maps.authenticationparams=${GOOGLE_MAPS_AUTHENTICATION_PARAMS}"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<setAttribute key="selected_target_bundles">
|
||||
<setEntry value="routeconverter@default:default"/>
|
||||
<setEntry value="org.apache.commons.codec@default:default"/>
|
||||
<setEntry value="org.apache.poi@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress@default:default"/>
|
||||
<setEntry value="org.apache.poi.source@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress.source@default:default"/>
|
||||
<setEntry value="org.dom4j@default:default"/>
|
||||
<setEntry value="org.apache.xmlbeans@default:default"/>
|
||||
<setEntry value="org.apache.commons.math@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
|
||||
<setEntry value="javax.validation@default:default"/>
|
||||
<setEntry value="org.apache.commons.fileupload@default:default"/>
|
||||
<setEntry value="org.jvnet.mimepull@default:default"/>
|
||||
<setEntry value="org.apache.commons.math3@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core.source@default:default"/>
|
||||
<setEntry value="org.mongodb.bson@default:default"/>
|
||||
<setEntry value="org.mongodb.bson.source@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.warurl@default:default"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="slf4j.jdk14@default:default"/>
|
||||
<setEntry value="lz4-java@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.command@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.shell@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.http@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.http.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.io@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.io.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml.source@default:default"/>
|
||||
<setEntry value="slf4j.api@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="jcl.over.slf4j@default:default"/>
|
||||
<setEntry value="com.sun.mail.javax.mail@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.lang@default:default"/>
|
||||
<setEntry value="org.apache.commons.logging@default:default"/>
|
||||
<setEntry value="jackson-jaxrs@default:default"/>
|
||||
<setEntry value="com.sun.jersey@default:default"/>
|
||||
<setEntry value="javax.ws.rs@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils.source@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
|
||||
<setEntry value="org.owasp.encoder@default:default"/>
|
||||
<setEntry value="org.owasp.encoder.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web.source@default:default"/>
|
||||
<setEntry value="jackson-core-asl@default:default"/>
|
||||
<setEntry value="jackson-mapper-asl@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.client@default:default"/>
|
||||
<setEntry value="javax.xml@default:default"/>
|
||||
<setEntry value="com.sun.activation.javax.activation@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.console@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.launcher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.eclipse.osgi.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.function@default:default"/>
|
||||
<setEntry value="org.osgi.util.function.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.position@default:default"/>
|
||||
<setEntry value="org.osgi.util.position.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml.source@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services.source@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.cm@default:default"/>
|
||||
<setEntry value="com.sun.istack.commons-runtime@default:default"/>
|
||||
<setEntry value="jaxb-api@default:default"/>
|
||||
<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
|
||||
<setEntry value="javax.xml.stream@default:default"/>
|
||||
<setEntry value="javax.xml.ws@default:default"/>
|
||||
<setEntry value="javax.xml.soap@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.util.source@default:default"/>
|
||||
<setEntry value="com.chargebee.chargebee-java@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch.source@default:default"/>
|
||||
<setEntry value="bcprov-ext@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.tree@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.tree.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp.source@default:default"/>
|
||||
<setEntry value="org.apache.geronimo.specs.geronimo-jta_1.1_spec@default:default"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle@3:true"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle.source@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-el@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-jsp@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.standard-impl@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.taglibs-standard-spec@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi-servlet-api@default:default"/>
|
||||
<setEntry value="org.apache.xalan@default:default"/>
|
||||
<setEntry value="org.apache.xml.serializer@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.event@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.annotations@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.jndi@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.plus@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc.source@default:default"/>
|
||||
<setEntry value="org.osgi.service.packageadmin@default:default"/>
|
||||
<setEntry value="org.osgi.service.url@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math.source@default:default"/>
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.google.gson.source@default:default"/>
|
||||
</setAttribute>
|
||||
<setEntry value="bcprov-ext@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api.source"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api@default:default"/>
|
||||
<setEntry value="com.chargebee.chargebee-java@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-core@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-data@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-math@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch.source"/>
|
||||
<setEntry value="com.github.mwiede.jsch@default:default"/>
|
||||
<setEntry value="com.google.gson.source"/>
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client.source"/>
|
||||
<setEntry value="com.rabbitmq.client@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc.source"/>
|
||||
<setEntry value="com.sap.db.jdbc@default:default"/>
|
||||
<setEntry value="com.sun.activation.javax.activation@default:default"/>
|
||||
<setEntry value="com.sun.istack.commons-runtime@default:default"/>
|
||||
<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
|
||||
<setEntry value="com.sun.jersey@default:default"/>
|
||||
<setEntry value="com.sun.mail.javax.mail@default:default"/>
|
||||
<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
|
||||
<setEntry value="jackson-core-asl@default:default"/>
|
||||
<setEntry value="jackson-jaxrs@default:default"/>
|
||||
<setEntry value="jackson-mapper-asl@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="javax.validation@default:default"/>
|
||||
<setEntry value="javax.ws.rs@default:default"/>
|
||||
<setEntry value="javax.xml.soap@default:default"/>
|
||||
<setEntry value="javax.xml.stream@default:default"/>
|
||||
<setEntry value="javax.xml.ws@default:default"/>
|
||||
<setEntry value="javax.xml@default:default"/>
|
||||
<setEntry value="jaxb-api@default:default"/>
|
||||
<setEntry value="jcl.over.slf4j@default:default"/>
|
||||
<setEntry value="lz4-java@default:default"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle.source"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle@3:true"/>
|
||||
<setEntry value="org.apache.commons.beanutils.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils@default:default"/>
|
||||
<setEntry value="org.apache.commons.codec@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4.source"/>
|
||||
<setEntry value="org.apache.commons.collections4@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress.source"/>
|
||||
<setEntry value="org.apache.commons.compress@default:default"/>
|
||||
<setEntry value="org.apache.commons.fileupload@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="org.apache.commons.lang@default:default"/>
|
||||
<setEntry value="org.apache.commons.logging@default:default"/>
|
||||
<setEntry value="org.apache.commons.math3@default:default"/>
|
||||
<setEntry value="org.apache.commons.math@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.command@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.shell@default:default"/>
|
||||
<setEntry value="org.apache.geronimo.specs.geronimo-jta_1.1_spec@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.source"/>
|
||||
<setEntry value="org.apache.poi.ooxml@default:default"/>
|
||||
<setEntry value="org.apache.poi.source"/>
|
||||
<setEntry value="org.apache.poi@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core.source"/>
|
||||
<setEntry value="org.apache.shiro.core@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache.source"/>
|
||||
<setEntry value="org.apache.shiro.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web.source"/>
|
||||
<setEntry value="org.apache.shiro.web@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.standard-impl@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.taglibs-standard-spec@default:default"/>
|
||||
<setEntry value="org.apache.xalan@default:default"/>
|
||||
<setEntry value="org.apache.xml.serializer@default:default"/>
|
||||
<setEntry value="org.apache.xmlbeans@default:default"/>
|
||||
<setEntry value="org.dom4j@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.cm@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.console@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.event@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.launcher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.annotations@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy.source"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.http.source"/>
|
||||
<setEntry value="org.eclipse.jetty.http@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.io.source"/>
|
||||
<setEntry value="org.eclipse.jetty.io@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx.source"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jndi@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi-servlet-api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp@default:false"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.warurl@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.plus@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security.source"/>
|
||||
<setEntry value="org.eclipse.jetty.security@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server.source"/>
|
||||
<setEntry value="org.eclipse.jetty.server@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet.source"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax.source"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.source"/>
|
||||
<setEntry value="org.eclipse.jetty.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml.source"/>
|
||||
<setEntry value="org.eclipse.jetty.xml@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services.source"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.source"/>
|
||||
<setEntry value="org.eclipse.osgi.util.source"/>
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="org.jvnet.mimepull@default:default"/>
|
||||
<setEntry value="org.mongodb.bson.source"/>
|
||||
<setEntry value="org.mongodb.bson@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core.source"/>
|
||||
<setEntry value="org.mongodb.driver-core@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-el@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-jsp@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis.source"/>
|
||||
<setEntry value="org.objectweb.asm.analysis@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons.source"/>
|
||||
<setEntry value="org.objectweb.asm.commons@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.source"/>
|
||||
<setEntry value="org.objectweb.asm.tree.source"/>
|
||||
<setEntry value="org.objectweb.asm.tree@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util.source"/>
|
||||
<setEntry value="org.objectweb.asm.util@default:default"/>
|
||||
<setEntry value="org.objectweb.asm@default:default"/>
|
||||
<setEntry value="org.osgi.service.packageadmin@default:default"/>
|
||||
<setEntry value="org.osgi.service.url@default:default"/>
|
||||
<setEntry value="org.osgi.util.function.source"/>
|
||||
<setEntry value="org.osgi.util.function@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement.source"/>
|
||||
<setEntry value="org.osgi.util.measurement@default:default"/>
|
||||
<setEntry value="org.osgi.util.position.source"/>
|
||||
<setEntry value="org.osgi.util.position@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise.source"/>
|
||||
<setEntry value="org.osgi.util.promise@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml.source"/>
|
||||
<setEntry value="org.osgi.util.xml@default:default"/>
|
||||
<setEntry value="org.owasp.encoder.source"/>
|
||||
<setEntry value="org.owasp.encoder@default:default"/>
|
||||
<setEntry value="routeconverter@default:default"/>
|
||||
<setEntry value="slf4j.api@default:default"/>
|
||||
<setEntry value="slf4j.jdk14@default:false"/>
|
||||
</setAttribute>
|
||||
<setAttribute key="selected_workspace_bundles">
|
||||
<setEntry value="com.sap.sailing.geocoding@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain@default:default"/>
|
||||
<setEntry value="com.sap.sailing.news@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.interfaces@default:default"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="com.sap.sailing.declination@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
|
||||
<setEntry value="com.sap.sailing.udpconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.simulator@default:default"/>
|
||||
<setEntry value="com.sap.sailing.www@5:true"/>
|
||||
<setEntry value="com.sap.sailing.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailti.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.monitoring@7:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.oceanraceadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars@5:true"/>
|
||||
<setEntry value="com.sap.sailing.windestimation@5:true"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
|
||||
<setEntry value="com.sap.sailing.competitorimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
|
||||
<setEntry value="com.sap.sailing.grib@default:default"/>
|
||||
<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
|
||||
<setEntry value="net.sf.marineapi@default:default"/>
|
||||
<setEntry value="com.sap.sailing.routeconverterjava11extension@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.hanaexport@5:true"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt@default:default"/>
|
||||
<setEntry value="com.google.gwt.servlet@default:default"/>
|
||||
<setEntry value="com.sap.sse.security@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.ui@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
|
||||
<setEntry value="com.sap.sse@default:default"/>
|
||||
<setEntry value="com.sap.sse.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
|
||||
<setEntry value="com.sap.sse.mongodb@default:default"/>
|
||||
<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication@6:true"/>
|
||||
<setEntry value="com.sap.sse.filestorage@4:true"/>
|
||||
<setEntry value="com.sap.sse.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sse.mail@5:true"/>
|
||||
<setEntry value="com.sap.sse.threadmanager@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.common@default:default"/>
|
||||
<setEntry value="org.json.simple@default:default"/>
|
||||
<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<setEntry value="com.googlecode.java-diff-utils@default:default"/>
|
||||
<setEntry value="org.mp4parser.isoparser@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sse.security.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws@4:true"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.debranding@default:default"/>
|
||||
<setEntry value="elemental2@default:default"/>
|
||||
</setAttribute>
|
||||
<setEntry value="com.google.gwt.servlet@default:default"/>
|
||||
<setEntry value="com.googlecode.java-diff-utils@default:default"/>
|
||||
<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.competitorimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.declination@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.oceanraceadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain@default:default"/>
|
||||
<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.geocoding@default:default"/>
|
||||
<setEntry value="com.sap.sailing.grib@default:default"/>
|
||||
<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
|
||||
<setEntry value="com.sap.sailing.hanaexport@5:true"/>
|
||||
<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail@default:default"/>
|
||||
<setEntry value="com.sap.sailing.monitoring@7:true"/>
|
||||
<setEntry value="com.sap.sailing.news@4:true"/>
|
||||
<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.polars@5:true"/>
|
||||
<setEntry value="com.sap.sailing.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.routeconverterjava11extension@default:false"/>
|
||||
<setEntry value="com.sap.sailing.sailti.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.interface@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.simulator@default:default"/>
|
||||
<setEntry value="com.sap.sailing.udpconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.windestimation@5:true"/>
|
||||
<setEntry value="com.sap.sailing.www@5:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
|
||||
<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sse.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.ui@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining@default:default"/>
|
||||
<setEntry value="com.sap.sse.debranding@default:default"/>
|
||||
<setEntry value="com.sap.sse.filestorage@4:true"/>
|
||||
<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws@4:true"/>
|
||||
<setEntry value="com.sap.sse.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sse.mail@5:true"/>
|
||||
<setEntry value="com.sap.sse.mongodb@default:default"/>
|
||||
<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sse.security.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.ui@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
|
||||
<setEntry value="com.sap.sse.security@default:default"/>
|
||||
<setEntry value="com.sap.sse.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sse.threadmanager@default:default"/>
|
||||
<setEntry value="com.sap.sse@default:default"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="elemental2@default:default"/>
|
||||
<setEntry value="net.sf.marineapi@default:default"/>
|
||||
<setEntry value="org.json.simple@default:default"/>
|
||||
<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<setEntry value="org.mp4parser.isoparser@default:default"/>
|
||||
</setAttribute>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
|
||||
+308
-311
@@ -1,314 +1,311 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
|
||||
<booleanAttribute key="append.args" value="true"/>
|
||||
<booleanAttribute key="automaticAdd" value="false"/>
|
||||
<booleanAttribute key="automaticValidate" value="true"/>
|
||||
<stringAttribute key="bootstrap" value=""/>
|
||||
<stringAttribute key="checked" value="[NONE]"/>
|
||||
<booleanAttribute key="clearConfig" value="false"/>
|
||||
<stringAttribute key="configLocation" value="${workspace_loc}/target"/>
|
||||
<booleanAttribute key="default" value="true"/>
|
||||
<booleanAttribute key="default_auto_start" value="false"/>
|
||||
<intAttribute key="default_start_level" value="4"/>
|
||||
<setAttribute key="deselected_workspace_bundles"/>
|
||||
<booleanAttribute key="includeOptional" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/sapjvm_8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -clean"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djetty.port=8889 -Dreplication.exchangeName=sapsailinganalytics-replica -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dexpedition.udp.port=2011 -Xmx6000m -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Djava.library.path=${project_loc:com.sap.sailing.monitoring}/../../configuration/native-libraries -Dtractrac.mtb.cache.dir=/Users/spamies/Projects/sailing/tmp/mtb -Dmongo.dbName=replica -DAnniversaryRaceDeterminator.enabled=true -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<setAttribute key="selected_target_bundles">
|
||||
<setEntry value="routeconverter@default:default"/>
|
||||
<setEntry value="org.apache.commons.codec@default:default"/>
|
||||
<setEntry value="org.apache.poi@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress@default:default"/>
|
||||
<setEntry value="org.apache.poi.source@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress.source@default:default"/>
|
||||
<setEntry value="org.dom4j@default:default"/>
|
||||
<setEntry value="org.apache.xmlbeans@default:default"/>
|
||||
<setEntry value="org.apache.commons.math@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
|
||||
<setEntry value="javax.validation@default:default"/>
|
||||
<setEntry value="org.apache.commons.fileupload@default:default"/>
|
||||
<setEntry value="org.jvnet.mimepull@default:default"/>
|
||||
<setEntry value="org.apache.commons.math3@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core.source@default:default"/>
|
||||
<setEntry value="org.mongodb.bson@default:default"/>
|
||||
<setEntry value="org.mongodb.bson.source@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.warurl@default:default"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="slf4j.jdk14@default:default"/>
|
||||
<setEntry value="lz4-java@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.command@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.shell@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.http@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.http.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.io@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.io.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml.source@default:default"/>
|
||||
<setEntry value="slf4j.api@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="jcl.over.slf4j@default:default"/>
|
||||
<setEntry value="com.sun.mail.javax.mail@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.lang@default:default"/>
|
||||
<setEntry value="org.apache.commons.logging@default:default"/>
|
||||
<setEntry value="jackson-jaxrs@default:default"/>
|
||||
<setEntry value="com.sun.jersey@default:default"/>
|
||||
<setEntry value="javax.ws.rs@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils.source@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
|
||||
<setEntry value="org.owasp.encoder@default:default"/>
|
||||
<setEntry value="org.owasp.encoder.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache.source@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web.source@default:default"/>
|
||||
<setEntry value="jackson-core-asl@default:default"/>
|
||||
<setEntry value="jackson-mapper-asl@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.client@default:default"/>
|
||||
<setEntry value="javax.xml@default:default"/>
|
||||
<setEntry value="com.sun.activation.javax.activation@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.console@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.launcher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.eclipse.osgi.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.function@default:default"/>
|
||||
<setEntry value="org.osgi.util.function.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.position@default:default"/>
|
||||
<setEntry value="org.osgi.util.position.source@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml.source@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services.source@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.cm@default:default"/>
|
||||
<setEntry value="com.sun.istack.commons-runtime@default:default"/>
|
||||
<setEntry value="jaxb-api@default:default"/>
|
||||
<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
|
||||
<setEntry value="javax.xml.stream@default:default"/>
|
||||
<setEntry value="javax.xml.ws@default:default"/>
|
||||
<setEntry value="javax.xml.soap@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.util.source@default:default"/>
|
||||
<setEntry value="com.chargebee.chargebee-java@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch.source@default:default"/>
|
||||
<setEntry value="bcprov-ext@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.tree@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.tree.source@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp.source@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp.source@default:default"/>
|
||||
<setEntry value="org.apache.geronimo.specs.geronimo-jta_1.1_spec@default:default"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle@3:true"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle.source@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-el@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-jsp@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.standard-impl@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.taglibs-standard-spec@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi-servlet-api@default:default"/>
|
||||
<setEntry value="org.apache.xalan@default:default"/>
|
||||
<setEntry value="org.apache.xml.serializer@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.event@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.annotations@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.jndi@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.plus@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc.source@default:default"/>
|
||||
<setEntry value="org.osgi.service.packageadmin@default:default"/>
|
||||
<setEntry value="org.osgi.service.url@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph.source@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math.source@default:default"/>
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.google.gson.source@default:default"/>
|
||||
</setAttribute>
|
||||
<setAttribute key="selected_workspace_bundles">
|
||||
<setEntry value="com.sap.sailing.geocoding@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain@default:default"/>
|
||||
<setEntry value="com.sap.sailing.news@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.interfaces@default:default"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="com.sap.sailing.declination@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
|
||||
<setEntry value="com.sap.sailing.udpconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.simulator@default:default"/>
|
||||
<setEntry value="com.sap.sailing.www@5:true"/>
|
||||
<setEntry value="com.sap.sailing.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailti.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.monitoring@7:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.oceanraceadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars@5:true"/>
|
||||
<setEntry value="com.sap.sailing.windestimation@5:true"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
|
||||
<setEntry value="com.sap.sailing.competitorimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
|
||||
<setEntry value="com.sap.sailing.grib@default:default"/>
|
||||
<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
|
||||
<setEntry value="net.sf.marineapi@default:default"/>
|
||||
<setEntry value="com.sap.sailing.routeconverterjava11extension@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.hanaexport@5:true"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt@default:default"/>
|
||||
<setEntry value="com.google.gwt.servlet@default:default"/>
|
||||
<setEntry value="com.sap.sse.security@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.ui@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
|
||||
<setEntry value="com.sap.sse@default:default"/>
|
||||
<setEntry value="com.sap.sse.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
|
||||
<setEntry value="com.sap.sse.mongodb@default:default"/>
|
||||
<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication@6:true"/>
|
||||
<setEntry value="com.sap.sse.filestorage@4:true"/>
|
||||
<setEntry value="com.sap.sse.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sse.mail@5:true"/>
|
||||
<setEntry value="com.sap.sse.threadmanager@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.common@default:default"/>
|
||||
<setEntry value="org.json.simple@default:default"/>
|
||||
<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<setEntry value="com.googlecode.java-diff-utils@default:default"/>
|
||||
<setEntry value="org.mp4parser.isoparser@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sse.security.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws@4:true"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.debranding@default:default"/>
|
||||
<setEntry value="elemental2@default:default"/>
|
||||
</setAttribute>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="yk-options" value=" additional-options2=onexit\=snapshot "/>
|
||||
<booleanAttribute key="append.args" value="true"/>
|
||||
<booleanAttribute key="automaticAdd" value="false"/>
|
||||
<booleanAttribute key="automaticValidate" value="true"/>
|
||||
<stringAttribute key="bootstrap" value=""/>
|
||||
<stringAttribute key="checked" value="[NONE]"/>
|
||||
<booleanAttribute key="clearConfig" value="false"/>
|
||||
<stringAttribute key="configLocation" value="${workspace_loc}/target"/>
|
||||
<booleanAttribute key="default" value="true"/>
|
||||
<booleanAttribute key="default_auto_start" value="false"/>
|
||||
<intAttribute key="default_start_level" value="4"/>
|
||||
<setAttribute key="deselected_workspace_bundles"/>
|
||||
<booleanAttribute key="includeOptional" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/sapjvm_8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -clean"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djetty.port=8889 -Dreplication.exchangeName=sapsailinganalytics-replica -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dexpedition.udp.port=2011 -Xmx6000m -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Djava.library.path=${project_loc:com.sap.sailing.monitoring}/../../configuration/native-libraries -Dtractrac.mtb.cache.dir=/Users/spamies/Projects/sailing/tmp/mtb -Dmongo.dbName=replica -DAnniversaryRaceDeterminator.enabled=true -Djava.naming.factory.url.pkgs=org.eclipse.jetty.jndi -Djava.naming.factory.initial=org.eclipse.jetty.jndi.InitialContextFactory -Dorg.eclipse.jetty.annotations.maxWait=120 -Dmanage2sail.accesstoken=${MANAGE2SAIL_ACCESS_TOKEN} -Dgoogle.maps.authenticationparams=${GOOGLE_MAPS_AUTHENTICATION_PARAMS}"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<setAttribute key="selected_target_bundles">
|
||||
<setEntry value="bcprov-ext@default:default"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api.source"/>
|
||||
<setEntry value="com.amazon.aws.aws-java-api@default:default"/>
|
||||
<setEntry value="com.chargebee.chargebee-java@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-core.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-core@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-data.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-data@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-graph@default:default"/>
|
||||
<setEntry value="com.github.haifengl.smile-math.source"/>
|
||||
<setEntry value="com.github.haifengl.smile-math@default:default"/>
|
||||
<setEntry value="com.github.mwiede.jsch.source"/>
|
||||
<setEntry value="com.github.mwiede.jsch@default:default"/>
|
||||
<setEntry value="com.google.gson.source"/>
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.rabbitmq.client.source"/>
|
||||
<setEntry value="com.rabbitmq.client@default:default"/>
|
||||
<setEntry value="com.sap.db.jdbc.source"/>
|
||||
<setEntry value="com.sap.db.jdbc@default:default"/>
|
||||
<setEntry value="com.sun.activation.javax.activation@default:default"/>
|
||||
<setEntry value="com.sun.istack.commons-runtime@default:default"/>
|
||||
<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
|
||||
<setEntry value="com.sun.jersey@default:default"/>
|
||||
<setEntry value="com.sun.mail.javax.mail@default:default"/>
|
||||
<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
|
||||
<setEntry value="jackson-core-asl@default:default"/>
|
||||
<setEntry value="jackson-jaxrs@default:default"/>
|
||||
<setEntry value="jackson-mapper-asl@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="javax.validation@default:default"/>
|
||||
<setEntry value="javax.ws.rs@default:default"/>
|
||||
<setEntry value="javax.xml.soap@default:default"/>
|
||||
<setEntry value="javax.xml.stream@default:default"/>
|
||||
<setEntry value="javax.xml.ws@default:default"/>
|
||||
<setEntry value="javax.xml@default:default"/>
|
||||
<setEntry value="jaxb-api@default:default"/>
|
||||
<setEntry value="jcl.over.slf4j@default:default"/>
|
||||
<setEntry value="lz4-java@default:default"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle.source"/>
|
||||
<setEntry value="org.apache.aries.spifly.dynamic.bundle@3:true"/>
|
||||
<setEntry value="org.apache.commons.beanutils.source@default:default"/>
|
||||
<setEntry value="org.apache.commons.beanutils@default:default"/>
|
||||
<setEntry value="org.apache.commons.codec@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections4.source"/>
|
||||
<setEntry value="org.apache.commons.collections4@default:default"/>
|
||||
<setEntry value="org.apache.commons.collections@default:default"/>
|
||||
<setEntry value="org.apache.commons.compress.source"/>
|
||||
<setEntry value="org.apache.commons.compress@default:default"/>
|
||||
<setEntry value="org.apache.commons.fileupload@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="org.apache.commons.lang@default:default"/>
|
||||
<setEntry value="org.apache.commons.logging@default:default"/>
|
||||
<setEntry value="org.apache.commons.math3@default:default"/>
|
||||
<setEntry value="org.apache.commons.math@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.command@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.shell@default:default"/>
|
||||
<setEntry value="org.apache.geronimo.specs.geronimo-jta_1.1_spec@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
|
||||
<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
|
||||
<setEntry value="org.apache.poi.ooxml.source"/>
|
||||
<setEntry value="org.apache.poi.ooxml@default:default"/>
|
||||
<setEntry value="org.apache.poi.source"/>
|
||||
<setEntry value="org.apache.poi@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
|
||||
<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
|
||||
<setEntry value="org.apache.shiro.core.source"/>
|
||||
<setEntry value="org.apache.shiro.core@default:default"/>
|
||||
<setEntry value="org.apache.shiro.ehcache.source"/>
|
||||
<setEntry value="org.apache.shiro.ehcache@default:default"/>
|
||||
<setEntry value="org.apache.shiro.web.source"/>
|
||||
<setEntry value="org.apache.shiro.web@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.standard-impl@default:default"/>
|
||||
<setEntry value="org.apache.taglibs.taglibs-standard-spec@default:default"/>
|
||||
<setEntry value="org.apache.xalan@default:default"/>
|
||||
<setEntry value="org.apache.xml.serializer@default:default"/>
|
||||
<setEntry value="org.apache.xmlbeans@default:default"/>
|
||||
<setEntry value="org.dom4j@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.cm@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.console@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.event@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.launcher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.annotations@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.apache-jsp@4:true"/>
|
||||
<setEntry value="org.eclipse.jetty.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy.source"/>
|
||||
<setEntry value="org.eclipse.jetty.deploy@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.http.source"/>
|
||||
<setEntry value="org.eclipse.jetty.http@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.io.source"/>
|
||||
<setEntry value="org.eclipse.jetty.io@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx.source"/>
|
||||
<setEntry value="org.eclipse.jetty.jmx@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.jndi@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi-servlet-api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.jsp@default:false"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot.warurl@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
|
||||
<setEntry value="org.eclipse.jetty.plus@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.security.source"/>
|
||||
<setEntry value="org.eclipse.jetty.security@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.server.source"/>
|
||||
<setEntry value="org.eclipse.jetty.server@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet.source"/>
|
||||
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax.source"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.source"/>
|
||||
<setEntry value="org.eclipse.jetty.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp.source"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common.source"/>
|
||||
<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml.source"/>
|
||||
<setEntry value="org.eclipse.jetty.xml@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.services.source"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.source"/>
|
||||
<setEntry value="org.eclipse.osgi.util.source"/>
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.hyperic.sigar@default:default"/>
|
||||
<setEntry value="org.jvnet.mimepull@default:default"/>
|
||||
<setEntry value="org.mongodb.bson.source"/>
|
||||
<setEntry value="org.mongodb.bson@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-core.source"/>
|
||||
<setEntry value="org.mongodb.driver-core@default:default"/>
|
||||
<setEntry value="org.mongodb.driver-sync@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-el@default:default"/>
|
||||
<setEntry value="org.mortbay.jasper.apache-jsp@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.analysis.source"/>
|
||||
<setEntry value="org.objectweb.asm.analysis@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.commons.source"/>
|
||||
<setEntry value="org.objectweb.asm.commons@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.source"/>
|
||||
<setEntry value="org.objectweb.asm.tree.source"/>
|
||||
<setEntry value="org.objectweb.asm.tree@default:default"/>
|
||||
<setEntry value="org.objectweb.asm.util.source"/>
|
||||
<setEntry value="org.objectweb.asm.util@default:default"/>
|
||||
<setEntry value="org.objectweb.asm@default:default"/>
|
||||
<setEntry value="org.osgi.service.packageadmin@default:default"/>
|
||||
<setEntry value="org.osgi.service.url@default:default"/>
|
||||
<setEntry value="org.osgi.util.function.source"/>
|
||||
<setEntry value="org.osgi.util.function@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement.source"/>
|
||||
<setEntry value="org.osgi.util.measurement@default:default"/>
|
||||
<setEntry value="org.osgi.util.position.source"/>
|
||||
<setEntry value="org.osgi.util.position@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise.source"/>
|
||||
<setEntry value="org.osgi.util.promise@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml.source"/>
|
||||
<setEntry value="org.osgi.util.xml@default:default"/>
|
||||
<setEntry value="org.owasp.encoder.source"/>
|
||||
<setEntry value="org.owasp.encoder@default:default"/>
|
||||
<setEntry value="routeconverter@default:default"/>
|
||||
<setEntry value="slf4j.api@default:default"/>
|
||||
<setEntry value="slf4j.jdk14@default:false"/>
|
||||
</setAttribute>
|
||||
<setAttribute key="selected_workspace_bundles">
|
||||
<setEntry value="com.google.gwt.servlet@default:default"/>
|
||||
<setEntry value="com.googlecode.java-diff-utils@default:default"/>
|
||||
<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.competitorimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
|
||||
<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.declination@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.oceanraceadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.domain.yellowbrickadapter@5:true"/>
|
||||
<setEntry value="com.sap.sailing.domain@default:default"/>
|
||||
<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
|
||||
<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.geocoding@default:default"/>
|
||||
<setEntry value="com.sap.sailing.grib@default:default"/>
|
||||
<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
|
||||
<setEntry value="com.sap.sailing.hanaexport@5:true"/>
|
||||
<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.landscape.ui@default:default"/>
|
||||
<setEntry value="com.sap.sailing.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.manage2sail@default:default"/>
|
||||
<setEntry value="com.sap.sailing.monitoring@7:true"/>
|
||||
<setEntry value="com.sap.sailing.news@4:true"/>
|
||||
<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sailing.polars@5:true"/>
|
||||
<setEntry value="com.sap.sailing.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.routeconverterjava11extension@default:false"/>
|
||||
<setEntry value="com.sap.sailing.sailti.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.server.interface@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
|
||||
<setEntry value="com.sap.sailing.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
|
||||
<setEntry value="com.sap.sailing.shared.server@5:true"/>
|
||||
<setEntry value="com.sap.sailing.simulator@default:default"/>
|
||||
<setEntry value="com.sap.sailing.udpconnector@default:default"/>
|
||||
<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.windestimation@5:true"/>
|
||||
<setEntry value="com.sap.sailing.www@5:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
|
||||
<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
|
||||
<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
|
||||
<setEntry value="com.sap.sse.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.ui@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining@default:default"/>
|
||||
<setEntry value="com.sap.sse.debranding@default:default"/>
|
||||
<setEntry value="com.sap.sse.filestorage@4:true"/>
|
||||
<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape.aws@4:true"/>
|
||||
<setEntry value="com.sap.sse.landscape.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.landscape@default:default"/>
|
||||
<setEntry value="com.sap.sse.mail@5:true"/>
|
||||
<setEntry value="com.sap.sse.mongodb@default:default"/>
|
||||
<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.replication@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.common@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.datamining@5:true"/>
|
||||
<setEntry value="com.sap.sse.security.interface@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.persistence@default:default"/>
|
||||
<setEntry value="com.sap.sse.security.ui@6:true"/>
|
||||
<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
|
||||
<setEntry value="com.sap.sse.security@default:default"/>
|
||||
<setEntry value="com.sap.sse.shared.android@default:default"/>
|
||||
<setEntry value="com.sap.sse.threadmanager@default:default"/>
|
||||
<setEntry value="com.sap.sse@default:default"/>
|
||||
<setEntry value="com.tractrac.clientmodule@default:default"/>
|
||||
<setEntry value="elemental2@default:default"/>
|
||||
<setEntry value="net.sf.marineapi@default:default"/>
|
||||
<setEntry value="org.json.simple@default:default"/>
|
||||
<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<setEntry value="org.mp4parser.isoparser@default:default"/>
|
||||
</setAttribute>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="yk-options" value=" additional-options2=onexit\=snapshot "/>
|
||||
</launchConfiguration>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user