Marked the sailing data retrievers with the new annotation

This commit is contained in:
Lennart Hensler committed 2014-06-06 11:31:02 +02:00
1 parent 1e85d41559
commit ff8b36173e
8 files changed
+66 -2

No files matched your search

@@ -8,6 +8,8 @@ import com.sap.sailing.datamining.impl.data.SailingDataMiningClassesWithFunction
import com.sap.sse.datamining.functions.ClassesWithFunctionsService;
public class Activator implements BundleActivator {
public static final String dataRetrieverGroupName = "Sailing";
private static BundleContext context;
@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
import com.sap.sailing.datamining.Activator;
import com.sap.sailing.datamining.data.HasGPSFixContext;
import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
import com.sap.sailing.datamining.impl.data.GPSFixWithContext;
@@ -13,7 +14,11 @@ import com.sap.sailing.domain.tracking.GPSFixTrack;
import com.sap.sailing.domain.tracking.TrackedLegOfCompetitor;
import com.sap.sse.datamining.components.Processor;
import com.sap.sse.datamining.impl.components.AbstractSimpleRetrievalProcessor;
import com.sap.sse.datamining.shared.annotations.DataRetriever;
@DataRetriever(dataType=HasGPSFixContext.class,
groupName=Activator.dataRetrieverGroupName,
level=5)
public class GPSFixRetrievalProcessor extends AbstractSimpleRetrievalProcessor<HasTrackedLegOfCompetitorContext, HasGPSFixContext> {
public GPSFixRetrievalProcessor(ExecutorService executor, Collection<Processor<HasGPSFixContext>> resultReceivers) {
@@ -3,11 +3,16 @@ package com.sap.sailing.datamining.impl.components;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
import com.sap.sailing.datamining.Activator;
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
import com.sap.sailing.server.RacingEventService;
import com.sap.sse.datamining.components.Processor;
import com.sap.sse.datamining.impl.components.AbstractSimpleRetrievalProcessor;
import com.sap.sse.datamining.shared.annotations.DataRetriever;
@DataRetriever(dataType=LeaderboardGroup.class,
groupName=Activator.dataRetrieverGroupName,
level=0)
public class LeaderboardGroupRetrievalProcessor extends
AbstractSimpleRetrievalProcessor<RacingEventService, LeaderboardGroup> {
@@ -4,13 +4,18 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
import com.sap.sailing.datamining.Activator;
import com.sap.sailing.domain.leaderboard.Leaderboard;
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
import com.sap.sailing.domain.leaderboard.RegattaLeaderboard;
import com.sap.sse.datamining.components.FilterCriteria;
import com.sap.sse.datamining.components.Processor;
import com.sap.sse.datamining.impl.components.AbstractSimpleFilteringRetrievalProcessor;
import com.sap.sse.datamining.shared.annotations.DataRetriever;
@DataRetriever(dataType=RegattaLeaderboard.class,
groupName=Activator.dataRetrieverGroupName,
level=1)
public class RegattaLeaderboardFilteringRetrievalProcessor extends
AbstractSimpleFilteringRetrievalProcessor<LeaderboardGroup, RegattaLeaderboard> {
@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
import com.sap.sailing.datamining.Activator;
import com.sap.sailing.datamining.data.HasTrackedLegContext;
import com.sap.sailing.datamining.data.HasTrackedRaceContext;
import com.sap.sailing.datamining.impl.data.TrackedLegWithContext;
@@ -11,7 +12,11 @@ import com.sap.sailing.domain.tracking.TrackedLeg;
import com.sap.sse.datamining.components.FilterCriteria;
import com.sap.sse.datamining.components.Processor;
import com.sap.sse.datamining.impl.components.AbstractSimpleFilteringRetrievalProcessor;
import com.sap.sse.datamining.shared.annotations.DataRetriever;
@DataRetriever(dataType=HasTrackedLegContext.class,
groupName=Activator.dataRetrieverGroupName,
level=3)
public class TrackedLegFilteringRetrievalProcessor extends
AbstractSimpleFilteringRetrievalProcessor<HasTrackedRaceContext, HasTrackedLegContext> {
@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
import com.sap.sailing.datamining.Activator;
import com.sap.sailing.datamining.data.HasTrackedLegContext;
import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
import com.sap.sailing.datamining.impl.data.TrackedLegOfCompetitorWithContext;
@@ -11,7 +12,11 @@ import com.sap.sailing.domain.base.Competitor;
import com.sap.sse.datamining.components.FilterCriteria;
import com.sap.sse.datamining.components.Processor;
import com.sap.sse.datamining.impl.components.AbstractSimpleFilteringRetrievalProcessor;
import com.sap.sse.datamining.shared.annotations.DataRetriever;
@DataRetriever(dataType=HasTrackedLegOfCompetitorContext.class,
groupName=Activator.dataRetrieverGroupName,
level=4)
public class TrackedLegOfCompetitorFilteringRetrievalProcessor extends
AbstractSimpleFilteringRetrievalProcessor<HasTrackedLegContext, HasTrackedLegOfCompetitorContext> {
@@ -15,7 +15,11 @@ import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sse.datamining.components.FilterCriteria;
import com.sap.sse.datamining.components.Processor;
import com.sap.sse.datamining.impl.components.AbstractSimpleFilteringRetrievalProcessor;
import com.sap.sse.datamining.shared.annotations.DataRetriever;
@DataRetriever(dataType=HasTrackedRaceContext.class,
groupName="Sailing",
level=2)
public class TrackedRaceFilteringRetrievalProcessor extends
AbstractSimpleFilteringRetrievalProcessor<Leaderboard, HasTrackedRaceContext> {
@@ -1,11 +1,44 @@
package com.sap.sse.datamining.shared.annotations;
/**
* Annotation to mark the concrete data retrievers for a specific domain.<br />
* This is necessary to link the base data types with the data retrievers, to be able
* to construct the queries more easily.<br />
* <br />
* Attributes:
* <ul>
* <li><b>dataType</b> The type, that is retrieved.</ li>
* <li><b>groupName</b> The group name for corresponding retrievers. This is used
* for hierarchical base data types.</ li>
* <li><b>level</b> The level of this retriever in the group, where 0 is the highest
* level. This means, that the level 0 retriever retrieves the data,
* that is less specific (e.g. HasTrackedRaceContext is less specific
* than HasTrackedLegContext).</ li>
* </ul>
*
* @author Lennart Hensler (D054527)
*/
public @interface DataRetriever {
public static final String DEFAULT_GROUP = "Default";
/**
* The type, that is retrieved.
*/
public Class<?> dataType();
public String groupName();
/**
* The group name for corresponding retrievers. This is used for hierarchical base data types.<br />
* The default group is specified in {@link #DEFAULT_GROUP}.
*/
public String groupName() default DEFAULT_GROUP;
public int level();
/**
* The level of this retriever in the group, where 0 is the highest level. This means, that the level 0 retriever
* retrieves the data, that is less specific (e.g. HasTrackedRaceContext is less specific than HasTrackedLegContext).<br />
* <br />
* The default level is 0.
*/
public int level() default 0;
}