Cleaned the sailing data mining domain

This commit is contained in:
Lennart Hensler
2017-02-16 16:05:01 +01:00
parent 152fa24042
commit 2a22240137
21 changed files with 36 additions and 122 deletions
@@ -16,7 +16,7 @@ Race=Race
Competitor=Competitor
Boat=Boat
Team=Team
CompetitorSearchTag=Competitor Search Tag
SearchTag=Search Tag
LeaderboardSailingDomainRetrieverChain=Leaderboards
RaceSailingDomainRetrieverChain=Races
LegSailingDomainRetrieverChain=Legs
@@ -3,7 +3,7 @@ DistanceTraveled=zur
Boat=Boot
Team=Team
Name=Name
CompetitorSearchTag=Teilnehmer Such-Tag
CompetitorSearchTag=Such-Tag
Nationality=Nationalitäts
Acronym=Abkürzung
SailID=Segelnummer
@@ -16,7 +16,7 @@ Race=レース
Competitor=競技者
Boat=
Team=チーム
CompetitorSearchTag=競技者検索タグ
SearchTag=競技者検索タグ
LeaderboardSailingDomainRetrieverChain=リーダーボード
RaceSailingDomainRetrieverChain=レース
LegSailingDomainRetrieverChain=レグ
@@ -16,7 +16,7 @@ Race=Гонка
Competitor=Участник
Boat=Лодка
Team=Команда
CompetitorSearchTag=Тег поиска участника
SearchTag=Тег поиска участника
LeaderboardSailingDomainRetrieverChain=Таблицы лидеров
RaceSailingDomainRetrieverChain=Гонки
LegSailingDomainRetrieverChain=Отрезки
@@ -65,8 +65,8 @@
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="Team" resname="Team">
<source>Team</source>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="CompetitorSearchTag" resname="CompetitorSearchTag">
<source>Competitor Search Tag</source>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="SearchTag" resname="SearchTag">
<source>Search Tag</source>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="LeaderboardSailingDomainRetrieverChain" resname="LeaderboardSailingDomainRetrieverChain">
<source>Leaderboards</source>
@@ -83,8 +83,8 @@
<source>Team</source>
<target state="signed-off">チーム</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="CompetitorSearchTag" resname="CompetitorSearchTag">
<source>Competitor Search Tag</source>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="SearchTag" resname="SearchTag">
<source>Search Tag</source>
<target>競技者検索タグ</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="LeaderboardSailingDomainRetrieverChain" resname="LeaderboardSailingDomainRetrieverChain">
@@ -83,8 +83,8 @@
<source>Team</source>
<target state="signed-off">Команда</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="CompetitorSearchTag" resname="CompetitorSearchTag">
<source>Competitor Search Tag</source>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="SearchTag" resname="SearchTag">
<source>Search Tag</source>
<target state="signed-off">Тег поиска участника</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="LeaderboardSailingDomainRetrieverChain" resname="LeaderboardSailingDomainRetrieverChain">
@@ -83,8 +83,8 @@
<source>Team</source>
<target state="signed-off">团队</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="CompetitorSearchTag" resname="CompetitorSearchTag">
<source>Competitor Search Tag</source>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="SearchTag" resname="SearchTag">
<source>Search Tag</source>
<target>参赛队搜索标记</target>
</trans-unit>
<trans-unit datatype="x-urn:x-sap:sls-mlt:java:flexible-converter:messageformat" id="LeaderboardSailingDomainRetrieverChain" resname="LeaderboardSailingDomainRetrieverChain">
@@ -5,8 +5,11 @@ import com.sap.sailing.domain.common.Positioned;
import com.sap.sailing.domain.tracking.Maneuver;
import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Timed;
import com.sap.sse.datamining.annotations.Connector;
public interface HasManeuver extends Positioned, Timed {
@Connector
Maneuver getManeuver();
@Override
@@ -3,8 +3,6 @@ package com.sap.sailing.datamining.data;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.ManeuverType;
import com.sap.sailing.domain.common.NauticalSide;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Tack;
import com.sap.sse.datamining.annotations.Connector;
import com.sap.sse.datamining.annotations.Dimension;
import com.sap.sse.datamining.annotations.Statistic;
@@ -13,27 +11,15 @@ public interface HasManeuverContext extends HasWindOnTrackedLeg, HasManeuver, Ha
@Connector(scanForStatistics=false)
HasTrackedLegOfCompetitorContext getTrackedLegOfCompetitorContext();
//TODO Clean-Up:
// Move Dimensions and Statistics to Maneuver and connect to it
@Dimension(messageKey="ManeuverType", ordinal=12)
ManeuverType getManeuverType();
@Dimension(messageKey="Tack", ordinal=13)
Tack getTack();
@Dimension(messageKey="ToSide")
@Dimension(messageKey="ToSide", ordinal=16)
NauticalSide getToSide();
@Connector(messageKey="SpeedBefore", ordinal=0)
SpeedWithBearing getSpeedBefore();
@Connector(messageKey="SpeedAfter", ordinal=1)
SpeedWithBearing getSpeedAfter();
@Statistic(messageKey="DirectionChange", resultDecimals=2, ordinal=2)
Double getDirectionChangeInDegrees();
@Statistic(messageKey="AbsoluteDirectionChange", resultDecimals=2, ordinal=3)
Double getAbsoluteDirectionChangeInDegrees();
@Statistic(messageKey="ManeuverLoss", resultDecimals=0, ordinal=4)
Distance getManeuverLoss();
@@ -2,8 +2,6 @@ package com.sap.sailing.datamining.data;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.common.NauticalSide;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Tack;
import com.sap.sse.datamining.annotations.Connector;
import com.sap.sse.datamining.annotations.Dimension;
import com.sap.sse.datamining.annotations.Statistic;
@@ -11,27 +9,13 @@ import com.sap.sse.datamining.annotations.Statistic;
public interface HasMarkPassingContext extends HasWindOnTrackedLeg, HasManeuver, HasTrackedLegOfCompetitor {
@Connector(scanForStatistics=false)
HasTrackedLegOfCompetitorContext getTrackedLegOfCompetitorContext();
//TODO Clean-Up:
// Move Dimensions and Statistics to Maneuver/MarkPassingManeuver and connect to it
// Find a way to implement HasManeuverContext and HasMarkPassingManeuver with a base class
@Dimension(messageKey="Tack", ordinal=12)
Tack getTack();
@Connector(messageKey="Waypoint", ordinal=13)
@Connector(messageKey="Waypoint", ordinal=14)
Waypoint getWaypoint();
@Dimension(messageKey="PassingSide", ordinal=13)
@Dimension(messageKey="PassingSide", ordinal=15)
NauticalSide getPassingSide();
@Connector(messageKey="SpeedBefore", ordinal=0)
SpeedWithBearing getSpeedBefore();
@Connector(messageKey="SpeedAfter", ordinal=1)
SpeedWithBearing getSpeedAfter();
@Statistic(messageKey="DirectionChange", resultDecimals=2, ordinal=2)
Double getDirectionChangeInDegrees();
@Statistic(messageKey="RelativeScore", ordinal=3, resultDecimals=2)
Double getRelativeRank();
@@ -19,9 +19,6 @@ public interface HasRaceOfCompetitorContext {
@Statistic(messageKey="")
public Competitor getCompetitor();
@Dimension(messageKey="CompetitorSearchTag", ordinal=11) // TODO Clean me: Move Dimension to Competitor when possible
public String getCompetitorSearchTag();
@Dimension(messageKey="TackAtStart", ordinal=12)
public Tack getTackAtStart() throws NoWindException;
@@ -21,9 +21,6 @@ public interface HasRaceResultOfCompetitorContext {
@Dimension(messageKey="Regatta", ordinal=4)
String getRegattaName();
@Dimension(messageKey="CompetitorSearchTag", ordinal=5) // TODO Clean me: Move Dimension to Competitor when possible
public String getCompetitorSearchTag();
@Dimension(messageKey="RelativeScoreInPercent", ordinal=6)
public ClusterDTO getPercentageClusterForRelativeScore();
@@ -14,9 +14,6 @@ public interface HasTrackedLegOfCompetitorContext extends HasWindOnTrackedLeg {
public TrackedLegOfCompetitor getTrackedLegOfCompetitor();
@Dimension(messageKey="CompetitorSearchTag", ordinal=11) // TODO Clean me: Move Dimension to Competitor when possible
public String getCompetitorSearchTag();
@Dimension(messageKey="RelativeScoreInRaceInPercent", ordinal=12)
public ClusterDTO getPercentageClusterForRelativeScoreInRace();
@@ -5,8 +5,6 @@ import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.ManeuverType;
import com.sap.sailing.domain.common.NauticalSide;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Tack;
import com.sap.sailing.domain.common.Wind;
import com.sap.sailing.domain.tracking.Maneuver;
@@ -37,35 +35,15 @@ public class ManeuverWithContext implements HasManeuverContext {
}
@Override
public Tack getTack() {
return getManeuver().getNewTack();
}
@Override
public SpeedWithBearing getSpeedBefore() {
return getManeuver().getSpeedWithBearingBefore();
}
@Override
public SpeedWithBearing getSpeedAfter() {
return getManeuver().getSpeedWithBearingAfter();
}
@Override
public Double getDirectionChangeInDegrees() {
return getManeuver().getDirectionChangeInDegrees();
public NauticalSide getToSide() {
return getManeuver().getDirectionChangeInDegrees() >= 0 ? NauticalSide.STARBOARD : NauticalSide.PORT;
}
@Override
public Double getAbsoluteDirectionChangeInDegrees() {
return Math.abs(getManeuver().getDirectionChangeInDegrees());
}
@Override
public NauticalSide getToSide() {
return getManeuver().getDirectionChangeInDegrees() >= 0 ? NauticalSide.STARBOARD : NauticalSide.PORT;
}
@Override
public Distance getManeuverLoss() {
return getManeuver().getManeuverLoss();
@@ -5,8 +5,6 @@ import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.common.NauticalSide;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Tack;
import com.sap.sailing.domain.common.Wind;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.tracking.MarkPassingManeuver;
@@ -36,11 +34,6 @@ public class MarkPassingWithContext implements HasMarkPassingContext {
public MarkPassingManeuver getManeuver() {
return maneuver;
}
@Override
public Tack getTack() {
return getManeuver().getNewTack();
}
@Override
public Waypoint getWaypoint() {
@@ -52,21 +45,6 @@ public class MarkPassingWithContext implements HasMarkPassingContext {
return getManeuver().getSide();
}
@Override
public SpeedWithBearing getSpeedBefore() {
return getManeuver().getSpeedWithBearingBefore();
}
@Override
public SpeedWithBearing getSpeedAfter() {
return getManeuver().getSpeedWithBearingAfter();
}
@Override
public Double getDirectionChangeInDegrees() {
return getManeuver().getDirectionChangeInDegrees();
}
@Override
public Double getRelativeRank() {
Leaderboard leaderboard = getTrackedLegOfCompetitorContext().getTrackedLegContext().getTrackedRaceContext().getLeaderboardContext().getLeaderboard();
@@ -52,11 +52,6 @@ public class RaceOfCompetitorWithContext implements HasRaceOfCompetitorContext {
public Competitor getCompetitor() {
return competitor;
}
@Override
public String getCompetitorSearchTag() {
return getCompetitor().getSearchTag();
}
@Override
public Tack getTackAtStart() throws NoWindException {
@@ -77,11 +77,6 @@ public class RaceResultOfCompetitorWithContext implements HasRaceResultOfCompeti
final String result = leaderboard.getName();
return result;
}
@Override
public String getCompetitorSearchTag() {
return getCompetitor().getSearchTag();
}
@Override
public ClusterDTO getPercentageClusterForRelativeScore() {
@@ -51,11 +51,6 @@ public class TrackedLegOfCompetitorWithContext implements HasTrackedLegOfCompeti
public Competitor getCompetitor() {
return competitor;
}
@Override
public String getCompetitorSearchTag() {
return getCompetitor().getSearchTag();
}
@Override
public ClusterDTO getPercentageClusterForRelativeScoreInRace() {
@@ -8,6 +8,7 @@ import com.sap.sse.common.Duration;
import com.sap.sse.common.IsManagedByCache;
import com.sap.sse.common.NamedWithID;
import com.sap.sse.datamining.annotations.Connector;
import com.sap.sse.datamining.annotations.Dimension;
public interface Competitor extends NamedWithID, IsManagedByCache<SharedDomainFactory> {
@Connector(messageKey="Team", ordinal=9)
@@ -22,6 +23,7 @@ public interface Competitor extends NamedWithID, IsManagedByCache<SharedDomainFa
boolean hasEmail();
@Dimension(messageKey="SearchTag", ordinal=11)
String getSearchTag();
/**
@@ -5,16 +5,23 @@ import com.sap.sailing.domain.common.ManeuverType;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Tack;
import com.sap.sailing.domain.common.tracking.GPSFix;
import com.sap.sse.datamining.annotations.Connector;
import com.sap.sse.datamining.annotations.Dimension;
import com.sap.sse.datamining.annotations.Statistic;
public interface Maneuver extends GPSFix {
ManeuverType getType();
@Dimension(messageKey="Tack", ordinal=13)
Tack getNewTack();
@Connector(messageKey="SpeedBefore", ordinal=0)
SpeedWithBearing getSpeedWithBearingBefore();
@Connector(messageKey="SpeedAfter", ordinal=1)
SpeedWithBearing getSpeedWithBearingAfter();
@Statistic(messageKey="DirectionChange", resultDecimals=2, ordinal=2)
double getDirectionChangeInDegrees();
Distance getManeuverLoss();