mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-06 02:52:22 +00:00
Merge branch 'dataMining' into polars
Conflicts: java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/SimpleDataRetrieverChainBuilder.java java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/SimpleDataRetrieverChainDefinition.java
This commit is contained in:
commit
9a4d340362
138 files changed
+1100
-767
No files matched your search
@@ -13,6 +13,7 @@ Require-Bundle: com.sap.sailing.domain,
|
||||
com.sap.sailing.domain.common,
|
||||
com.sap.sailing.datamining.shared,
|
||||
com.sap.sse.datamining,
|
||||
com.sap.sse.datamining.annotations;bundle-version="1.0.0",
|
||||
com.sap.sse.datamining.shared,
|
||||
com.sap.sse,
|
||||
com.sap.sse.common,
|
||||
|
||||
@@ -91,7 +91,7 @@ public class Activator extends AbstractDataMiningActivator implements DataMining
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<DataRetrieverChainDefinition<?, ?, ?>> getDataRetrieverChainDefinitions() {
|
||||
public Iterable<DataRetrieverChainDefinition<?, ?>> getDataRetrieverChainDefinitions() {
|
||||
return dataRetrieverChainDefinitions.getDataRetrieverChainDefinitions();
|
||||
}
|
||||
|
||||
|
||||
+9
-11
@@ -24,57 +24,55 @@ import com.sap.sailing.datamining.impl.data.LeaderboardGroupWithContext;
|
||||
import com.sap.sailing.server.RacingEventService;
|
||||
import com.sap.sse.datamining.components.DataRetrieverChainDefinition;
|
||||
import com.sap.sse.datamining.impl.components.SimpleDataRetrieverChainDefinition;
|
||||
import com.sap.sse.datamining.impl.components.SimpleDataRetrieverChainDefinition.EmptySettings;
|
||||
|
||||
public class SailingDataRetrievalChainDefinitions {
|
||||
|
||||
private final Collection<DataRetrieverChainDefinition<?, ?, ?>> dataRetrieverChainDefinitions;
|
||||
private final Collection<DataRetrieverChainDefinition<?, ?>> dataRetrieverChainDefinitions;
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
public SailingDataRetrievalChainDefinitions() {
|
||||
dataRetrieverChainDefinitions = new ArrayList<>();
|
||||
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasLeaderboardContext, EmptySettings> leaderboardRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasLeaderboardContext> leaderboardRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
RacingEventService.class, HasLeaderboardContext.class, "LeaderboardSailingDomainRetrieverChain");
|
||||
leaderboardRetrieverChainDefinition.startWith(LeaderboardGroupRetrievalProcessor.class, LeaderboardGroupWithContext.class, "LeaderboardGroup");
|
||||
leaderboardRetrieverChainDefinition.endWith(LeaderboardGroupRetrievalProcessor.class, LeaderboardRetrievalProcessor.class,
|
||||
HasLeaderboardContext.class, "Leaderboard");
|
||||
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasRaceResultOfCompetitorContext, EmptySettings> raceResultOfCompetitorRetrieverChainDefinition =
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasRaceResultOfCompetitorContext> raceResultOfCompetitorRetrieverChainDefinition =
|
||||
new SimpleDataRetrieverChainDefinition<>(leaderboardRetrieverChainDefinition, HasRaceResultOfCompetitorContext.class, "RaceResultSailingDomainRetrieverChain");
|
||||
raceResultOfCompetitorRetrieverChainDefinition.endWith(LeaderboardRetrievalProcessor.class, CompetitorOfRaceInLeaderboardRetrievalProcessor.class, HasRaceResultOfCompetitorContext.class, "Competitor");
|
||||
dataRetrieverChainDefinitions.add(raceResultOfCompetitorRetrieverChainDefinition);
|
||||
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasTrackedRaceContext, EmptySettings> trackedRaceRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasTrackedRaceContext> trackedRaceRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
leaderboardRetrieverChainDefinition, HasTrackedRaceContext.class, "RaceSailingDomainRetrieverChain");
|
||||
trackedRaceRetrieverChainDefinition.endWith(LeaderboardRetrievalProcessor.class, TrackedRaceRetrievalProcessor.class,
|
||||
HasTrackedRaceContext.class, "Race");
|
||||
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasMarkPassingContext, EmptySettings> markPassingRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasMarkPassingContext> markPassingRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
trackedRaceRetrieverChainDefinition, HasMarkPassingContext.class, "MarkPassingSailingDomainRetrieverChain");
|
||||
markPassingRetrieverChainDefinition.endWith(TrackedRaceRetrievalProcessor.class, MarkPassingRetrievalProcessor.class, HasMarkPassingContext.class, "MarkPassing");
|
||||
dataRetrieverChainDefinitions.add(markPassingRetrieverChainDefinition);
|
||||
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasRaceOfCompetitorContext, EmptySettings> raceOfCompetitorRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasRaceOfCompetitorContext> raceOfCompetitorRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
trackedRaceRetrieverChainDefinition, HasRaceOfCompetitorContext.class, "RaceOfCompetitorSailingDomainRetrieverChain");
|
||||
raceOfCompetitorRetrieverChainDefinition.endWith(TrackedRaceRetrievalProcessor.class, RaceOfCompetitorRetrievalProcessor.class, HasRaceOfCompetitorContext.class, "Competitor");
|
||||
dataRetrieverChainDefinitions.add(raceOfCompetitorRetrieverChainDefinition);
|
||||
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasTrackedLegOfCompetitorContext, EmptySettings> legOfCompetitorRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasTrackedLegOfCompetitorContext> legOfCompetitorRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
trackedRaceRetrieverChainDefinition, HasTrackedLegOfCompetitorContext.class, "LegSailingDomainRetrieverChain");
|
||||
legOfCompetitorRetrieverChainDefinition.addAfter(TrackedRaceRetrievalProcessor.class, TrackedLegRetrievalProcessor.class, HasTrackedLegContext.class, "Leg");
|
||||
legOfCompetitorRetrieverChainDefinition.endWith(TrackedLegRetrievalProcessor.class, TrackedLegOfCompetitorRetrievalProcessor.class,
|
||||
HasTrackedLegOfCompetitorContext.class, "LegOfCompetitor");
|
||||
dataRetrieverChainDefinitions.add(legOfCompetitorRetrieverChainDefinition);
|
||||
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasGPSFixContext, EmptySettings> gpsFixRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
final DataRetrieverChainDefinition<RacingEventService, HasGPSFixContext> gpsFixRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>(
|
||||
legOfCompetitorRetrieverChainDefinition, HasGPSFixContext.class, "GPSFixSailingDomainRetrieverChain");
|
||||
gpsFixRetrieverChainDefinition.endWith(TrackedLegOfCompetitorRetrievalProcessor.class, GPSFixRetrievalProcessor.class,
|
||||
HasGPSFixContext.class, "GpsFix");
|
||||
dataRetrieverChainDefinitions.add(gpsFixRetrieverChainDefinition);
|
||||
}
|
||||
|
||||
public Iterable<DataRetrieverChainDefinition<?, ?, ?>> getDataRetrieverChainDefinitions() {
|
||||
public Iterable<DataRetrieverChainDefinition<?, ?>> getDataRetrieverChainDefinitions() {
|
||||
return dataRetrieverChainDefinitions;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -3,8 +3,8 @@ package com.sap.sailing.datamining.data;
|
||||
import java.util.Locale;
|
||||
|
||||
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
import com.sap.sse.datamining.shared.impl.dto.ClusterDTO;
|
||||
import com.sap.sse.i18n.ResourceBundleStringMessages;
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ package com.sap.sailing.datamining.data;
|
||||
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
import com.sap.sailing.domain.polars.PolarDataService;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface HasLeaderboardGroupContext {
|
||||
|
||||
|
||||
+2
-2
@@ -4,8 +4,8 @@ import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.common.Speed;
|
||||
import com.sap.sailing.domain.tracking.MarkPassing;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface HasMarkPassingContext {
|
||||
|
||||
|
||||
+3
-3
@@ -3,9 +3,9 @@ package com.sap.sailing.datamining.data;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.Distance;
|
||||
import com.sap.sailing.domain.common.Speed;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Statistic;
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Statistic;
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
|
||||
public interface HasRaceOfCompetitorContext {
|
||||
|
||||
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package com.sap.sailing.datamining.data;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.shared.annotations.Statistic;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Statistic;
|
||||
|
||||
public interface HasRaceResultOfCompetitorContext {
|
||||
|
||||
|
||||
+2
-2
@@ -2,8 +2,8 @@ package com.sap.sailing.datamining.data;
|
||||
|
||||
import com.sap.sailing.domain.common.LegType;
|
||||
import com.sap.sailing.domain.tracking.TrackedLeg;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface HasTrackedLegContext {
|
||||
|
||||
|
||||
+3
-3
@@ -3,9 +3,9 @@ package com.sap.sailing.datamining.data;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.Distance;
|
||||
import com.sap.sailing.domain.tracking.TrackedLegOfCompetitor;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Statistic;
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Statistic;
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
|
||||
public interface HasTrackedLegOfCompetitorContext {
|
||||
|
||||
|
||||
+2
-2
@@ -6,8 +6,8 @@ import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.RaceDefinition;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface HasTrackedRaceContext {
|
||||
|
||||
|
||||
@@ -24,6 +24,6 @@ Export-Package: com.sap.sailing.domain.common,
|
||||
com.sap.sailing.domain.common.trackfiles,
|
||||
com.sap.sailing.domain.common.tracking,
|
||||
com.sap.sailing.domain.common.tracking.impl
|
||||
Require-Bundle: com.sap.sse.datamining.shared,
|
||||
com.sap.sse.common,
|
||||
com.sap.sse.security.common
|
||||
Require-Bundle: com.sap.sse.common,
|
||||
com.sap.sse.security.common,
|
||||
com.sap.sse.datamining.annotations;bundle-version="1.0.0"
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.domain.common;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface Moving {
|
||||
@Connector(messageKey="Speed")
|
||||
|
||||
@@ -4,8 +4,8 @@ import java.io.Serializable;
|
||||
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.datamining.shared.annotations.Statistic;
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
import com.sap.sse.datamining.annotations.Statistic;
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
|
||||
/**
|
||||
* A speed, convertible in various units of measure. Can be negative.
|
||||
|
||||
@@ -6,9 +6,9 @@ Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Require-Bundle: com.sap.sailing.domain.common,
|
||||
com.sap.sse.datamining.shared,
|
||||
com.sap.sse.common,
|
||||
com.sap.sse.shared.android
|
||||
com.sap.sse.shared.android,
|
||||
com.sap.sse.datamining.annotations;bundle-version="1.0.0"
|
||||
Export-Package: com.sap.sailing.domain.abstractlog,
|
||||
com.sap.sailing.domain.abstractlog.impl,
|
||||
com.sap.sailing.domain.abstractlog.race,
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.domain.base;
|
||||
|
||||
import com.sap.sse.common.Named;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface Boat extends Named {
|
||||
BoatClass getBoatClass();
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.IsManagedByCache;
|
||||
import com.sap.sse.common.Named;
|
||||
import com.sap.sse.common.WithID;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface Competitor extends Named, WithID, IsManagedByCache<SharedDomainFactory> {
|
||||
@Connector(messageKey="Team", ordinal=9)
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package com.sap.sailing.domain.base;
|
||||
import com.sap.sse.common.CountryCode;
|
||||
import com.sap.sse.common.IsManagedByCache;
|
||||
import com.sap.sse.common.Named;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface Nationality extends Named, IsManagedByCache<SharedDomainFactory> {
|
||||
@Dimension(messageKey="Acronym")
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.domain.base;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface WithNationality {
|
||||
@Connector(messageKey="Nationality", ordinal=8)
|
||||
|
||||
@@ -337,6 +337,13 @@ Computes leaderboard information for sailing races and offers RESTful APIs to al
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.sap.sse.datamining.annotations"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.sap.sse.datamining.shared"
|
||||
download-size="0"
|
||||
|
||||
+8
-7
@@ -22,21 +22,22 @@ public interface DataMiningService extends RemoteService {
|
||||
Date getComponentsChangedTimepoint();
|
||||
|
||||
HashSet<FunctionDTO> getAllStatistics(String localeInfoName);
|
||||
HashSet<FunctionDTO> getStatisticsFor(DataRetrieverChainDefinitionDTO<SerializableSettings> retrieverChainDefinition, String localeInfoName);
|
||||
HashSet<FunctionDTO> getStatisticsFor(DataRetrieverChainDefinitionDTO retrieverChainDefinition, String localeInfoName);
|
||||
|
||||
HashSet<AggregationProcessorDefinitionDTO> getAggregatorDefinitionsFor(FunctionDTO extractionFunction, String localeInfoName);
|
||||
|
||||
HashSet<FunctionDTO> getDimensionsFor(FunctionDTO statisticToCalculate, String localeInfoName);
|
||||
HashMap<DataRetrieverLevelDTO, HashSet<FunctionDTO>> getDimensionsMappedByLevelFor(
|
||||
DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinitionDTO, String localeInfoName);
|
||||
DataRetrieverChainDefinitionDTO dataRetrieverChainDefinitionDTO, String localeInfoName);
|
||||
HashMap<DataRetrieverLevelDTO, HashSet<FunctionDTO>> getReducedDimensionsMappedByLevelFor(
|
||||
DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinitionDTO, String localeInfoName);
|
||||
DataRetrieverChainDefinitionDTO dataRetrieverChainDefinitionDTO, String localeInfoName);
|
||||
|
||||
ArrayList<DataRetrieverChainDefinitionDTO<SerializableSettings>> getDataRetrieverChainDefinitions(String localeName);
|
||||
ArrayList<DataRetrieverChainDefinitionDTO<SerializableSettings>> getDataRetrieverChainDefinitionsFor(FunctionDTO statisticToCalculate, String localeInfoName);
|
||||
ArrayList<DataRetrieverChainDefinitionDTO> getDataRetrieverChainDefinitions(String localeName);
|
||||
ArrayList<DataRetrieverChainDefinitionDTO> getDataRetrieverChainDefinitionsFor(FunctionDTO statisticToCalculate, String localeInfoName);
|
||||
|
||||
QueryResultDTO<HashSet<Object>> getDimensionValuesFor(DataMiningSession session, DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinitionDTO, DataRetrieverLevelDTO retrieverLevel,
|
||||
HashSet<FunctionDTO> dimensionDTOs, HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> filterSelectionDTO, String localeInfoName);
|
||||
QueryResultDTO<HashSet<Object>> getDimensionValuesFor(DataMiningSession session, DataRetrieverChainDefinitionDTO dataRetrieverChainDefinitionDTO, DataRetrieverLevelDTO retrieverLevel,
|
||||
HashSet<FunctionDTO> dimensionDTOs, HashMap<DataRetrieverLevelDTO, SerializableSettings> retrieverSettings,
|
||||
HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> filterSelectionDTO, String localeInfoName);
|
||||
|
||||
<ResultType> QueryResultDTO<ResultType> runQuery(DataMiningSession session, StatisticQueryDefinitionDTO queryDefinition);
|
||||
|
||||
|
||||
+8
-7
@@ -23,24 +23,25 @@ public interface DataMiningServiceAsync {
|
||||
public void getComponentsChangedTimepoint(AsyncCallback<Date> asyncCallback);
|
||||
|
||||
void getAllStatistics(String localeInfoName, AsyncCallback<HashSet<FunctionDTO>> callback);
|
||||
void getStatisticsFor(DataRetrieverChainDefinitionDTO<?> currentRetrieverChainDefinition, String localeName,
|
||||
void getStatisticsFor(DataRetrieverChainDefinitionDTO currentRetrieverChainDefinition, String localeName,
|
||||
AsyncCallback<HashSet<FunctionDTO>> asyncCallback);
|
||||
|
||||
void getAggregatorDefinitionsFor(FunctionDTO extractionFunction, String localeInfoName,
|
||||
AsyncCallback<HashSet<AggregationProcessorDefinitionDTO>> asyncCallback);
|
||||
|
||||
void getDimensionsFor(FunctionDTO statisticToCalculate, String localeInfoName, AsyncCallback<HashSet<FunctionDTO>> callback);
|
||||
void getDimensionsMappedByLevelFor(DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinitionDTO, String localeInfoName,
|
||||
void getDimensionsMappedByLevelFor(DataRetrieverChainDefinitionDTO dataRetrieverChainDefinitionDTO, String localeInfoName,
|
||||
AsyncCallback<HashMap<DataRetrieverLevelDTO, HashSet<FunctionDTO>>> callback);
|
||||
public void getReducedDimensionsMappedByLevelFor(DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinitionDTO, String localeInfoName,
|
||||
public void getReducedDimensionsMappedByLevelFor(DataRetrieverChainDefinitionDTO dataRetrieverChainDefinitionDTO, String localeInfoName,
|
||||
AsyncCallback<HashMap<DataRetrieverLevelDTO, HashSet<FunctionDTO>>> callback);
|
||||
|
||||
void getDataRetrieverChainDefinitions(String localeInfoName, AsyncCallback<ArrayList<DataRetrieverChainDefinitionDTO<SerializableSettings>>> asyncCallback);
|
||||
void getDataRetrieverChainDefinitions(String localeInfoName, AsyncCallback<ArrayList<DataRetrieverChainDefinitionDTO>> asyncCallback);
|
||||
void getDataRetrieverChainDefinitionsFor(FunctionDTO statisticToCalculate, String localeInfoName,
|
||||
AsyncCallback<ArrayList<DataRetrieverChainDefinitionDTO<SerializableSettings>>> callback);
|
||||
AsyncCallback<ArrayList<DataRetrieverChainDefinitionDTO>> callback);
|
||||
|
||||
void getDimensionValuesFor(DataMiningSession session, DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinitionDTO, DataRetrieverLevelDTO retrieverLevel,
|
||||
HashSet<FunctionDTO> dimensionDTOs, HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> filterSelectionDTO,
|
||||
void getDimensionValuesFor(DataMiningSession session, DataRetrieverChainDefinitionDTO dataRetrieverChainDefinitionDTO, DataRetrieverLevelDTO retrieverLevel,
|
||||
HashSet<FunctionDTO> dimensionDTOs, HashMap<DataRetrieverLevelDTO, SerializableSettings> retrieverSettings,
|
||||
HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> filterSelectionDTO,
|
||||
String localeInfoName, AsyncCallback<QueryResultDTO<HashSet<Object>>> callback);
|
||||
|
||||
<ResultType> void runQuery(DataMiningSession session, StatisticQueryDefinitionDTO queryDefinition, AsyncCallback<QueryResultDTO<ResultType>> callback);
|
||||
|
||||
+1
-2
@@ -1,10 +1,9 @@
|
||||
package com.sap.sailing.gwt.ui.datamining;
|
||||
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
|
||||
|
||||
public interface DataRetrieverChainDefinitionChangedListener {
|
||||
|
||||
public void dataRetrieverChainDefinitionChanged(DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinitionDTO);
|
||||
public void dataRetrieverChainDefinitionChanged(DataRetrieverChainDefinitionDTO dataRetrieverChainDefinitionDTO);
|
||||
|
||||
}
|
||||
+7
-1
@@ -1,15 +1,21 @@
|
||||
package com.sap.sailing.gwt.ui.datamining;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
import com.sap.sse.datamining.shared.dto.StatisticQueryDefinitionDTO;
|
||||
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
|
||||
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverLevelDTO;
|
||||
|
||||
public interface DataRetrieverChainDefinitionProvider extends DataMiningComponentProvider {
|
||||
|
||||
public DataRetrieverChainDefinitionDTO<SerializableSettings> getDataRetrieverChainDefinition();
|
||||
public DataRetrieverChainDefinitionDTO getDataRetrieverChainDefinition();
|
||||
|
||||
public void addDataRetrieverChainDefinitionChangedListener(DataRetrieverChainDefinitionChangedListener listener);
|
||||
|
||||
public void applyQueryDefinition(StatisticQueryDefinitionDTO queryDefinition);
|
||||
|
||||
// TODO This is just a quick fix. Delete, after the settings have been improved.
|
||||
public HashMap<DataRetrieverLevelDTO, SerializableSettings> getRetrieverSettings();
|
||||
|
||||
}
|
||||
+3
@@ -4,6 +4,7 @@ import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
import com.sap.sse.datamining.shared.dto.StatisticQueryDefinitionDTO;
|
||||
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverLevelDTO;
|
||||
import com.sap.sse.datamining.shared.impl.dto.FunctionDTO;
|
||||
@@ -12,6 +13,8 @@ public interface FilterSelectionProvider extends DataMiningComponentProvider, Da
|
||||
|
||||
public void addSelectionChangedListener(FilterSelectionChangedListener listener);
|
||||
|
||||
public HashMap<DataRetrieverLevelDTO, SerializableSettings> getRetrieverSettings();
|
||||
|
||||
public HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> getSelection();
|
||||
|
||||
public void applySelection(StatisticQueryDefinitionDTO queryDefinition);
|
||||
|
||||
+2
-3
@@ -23,7 +23,6 @@ import com.sap.sailing.gwt.ui.datamining.FilterSelectionChangedListener;
|
||||
import com.sap.sailing.gwt.ui.datamining.FilterSelectionPresenter;
|
||||
import com.sap.sailing.gwt.ui.datamining.FilterSelectionProvider;
|
||||
import com.sap.sse.common.settings.AbstractSettings;
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
|
||||
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverLevelDTO;
|
||||
import com.sap.sse.datamining.shared.impl.dto.FunctionDTO;
|
||||
@@ -33,7 +32,7 @@ public class PlainFilterSelectionPresenter implements FilterSelectionPresenter,
|
||||
DataRetrieverChainDefinitionChangedListener {
|
||||
|
||||
private final FilterSelectionProvider filterSelectionProvider;
|
||||
private DataRetrieverChainDefinitionDTO<SerializableSettings> retrieverChain;
|
||||
private DataRetrieverChainDefinitionDTO retrieverChain;
|
||||
|
||||
private final HorizontalPanel mainPanel;
|
||||
private final VerticalPanel presentationPanel;
|
||||
@@ -55,7 +54,7 @@ public class PlainFilterSelectionPresenter implements FilterSelectionPresenter,
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dataRetrieverChainDefinitionChanged(DataRetrieverChainDefinitionDTO<SerializableSettings> newDataRetrieverChainDefinition) {
|
||||
public void dataRetrieverChainDefinitionChanged(DataRetrieverChainDefinitionDTO newDataRetrieverChainDefinition) {
|
||||
if (!Objects.equals(retrieverChain, newDataRetrieverChainDefinition)) {
|
||||
retrieverChain = newDataRetrieverChainDefinition;
|
||||
presentationPanel.clear();
|
||||
|
||||
+5
-1
@@ -179,6 +179,10 @@ public class BufferingQueryDefinitionProviderWithControls extends AbstractQueryD
|
||||
queryDTO.appendDimensionToGroupBy(dimension);
|
||||
}
|
||||
|
||||
for (Entry<DataRetrieverLevelDTO, SerializableSettings> retrieverSettingsEntry : filterSelectionProvider.getRetrieverSettings().entrySet()) {
|
||||
queryDTO.setRetrieverSettings(retrieverSettingsEntry.getKey(), retrieverSettingsEntry.getValue());
|
||||
}
|
||||
|
||||
for (Entry<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> filterSelectionEntry : filterSelectionProvider.getSelection().entrySet()) {
|
||||
queryDTO.setFilterSelectionFor(filterSelectionEntry.getKey(), filterSelectionEntry.getValue());
|
||||
}
|
||||
@@ -263,7 +267,7 @@ public class BufferingQueryDefinitionProviderWithControls extends AbstractQueryD
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dataRetrieverChainDefinitionChanged(DataRetrieverChainDefinitionDTO<SerializableSettings> newDataRetrieverChainDefinition) {
|
||||
public void dataRetrieverChainDefinitionChanged(DataRetrieverChainDefinitionDTO newDataRetrieverChainDefinition) {
|
||||
if (isAwatingReload()) {
|
||||
statisticProvider.dataRetrieverChainDefinitionChanged(retrieverChainProvider.getDataRetrieverChainDefinition());
|
||||
statisticProvider.reloadComponents();
|
||||
|
||||
+59
-36
@@ -2,8 +2,9 @@ package com.sap.sailing.gwt.ui.datamining.selection;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
@@ -30,6 +31,7 @@ import com.sap.sse.common.settings.SerializableSettings;
|
||||
import com.sap.sse.common.settings.Settings;
|
||||
import com.sap.sse.datamining.shared.dto.StatisticQueryDefinitionDTO;
|
||||
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
|
||||
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverLevelDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
|
||||
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
|
||||
@@ -43,8 +45,11 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever
|
||||
private boolean isAwaitingReload;
|
||||
|
||||
private final HorizontalPanel mainPanel;
|
||||
private final ValueListBox<DataRetrieverChainDefinitionDTO<SerializableSettings>> retrieverChainsListBox;
|
||||
private final ValueListBox<DataRetrieverChainDefinitionDTO> retrieverChainsListBox;
|
||||
private Anchor settingsAnchor;
|
||||
|
||||
// TODO FIXME This is currently the only use case for processors with settings. That's why it's hard coded.
|
||||
private Map<DataRetrieverChainDefinitionDTO, PolarSheetGenerationSettings> settingsMappedByRetrieverChain;
|
||||
|
||||
public SimpleDataRetrieverChainDefinitionProvider(final StringMessages stringMessages, DataMiningServiceAsync dataMiningService, ErrorReporter errorReporter) {
|
||||
this.stringMessages = stringMessages;
|
||||
@@ -52,6 +57,7 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever
|
||||
this.errorReporter = errorReporter;
|
||||
listeners = new HashSet<>();
|
||||
isAwaitingReload = false;
|
||||
settingsMappedByRetrieverChain = new HashMap<>();
|
||||
|
||||
mainPanel = new HorizontalPanel();
|
||||
mainPanel.setSpacing(5);
|
||||
@@ -75,17 +81,17 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever
|
||||
updateRetrieverChains();
|
||||
}
|
||||
|
||||
private ValueListBox<DataRetrieverChainDefinitionDTO<SerializableSettings>> createRetrieverChainsListBox() {
|
||||
ValueListBox<DataRetrieverChainDefinitionDTO<SerializableSettings>> retrieverChainsListBox = new ValueListBox<>(new AbstractRenderer<DataRetrieverChainDefinitionDTO<SerializableSettings>>() {
|
||||
private ValueListBox<DataRetrieverChainDefinitionDTO> createRetrieverChainsListBox() {
|
||||
ValueListBox<DataRetrieverChainDefinitionDTO> retrieverChainsListBox = new ValueListBox<>(new AbstractRenderer<DataRetrieverChainDefinitionDTO>() {
|
||||
@Override
|
||||
public String render(DataRetrieverChainDefinitionDTO<SerializableSettings> retrieverChain) {
|
||||
public String render(DataRetrieverChainDefinitionDTO retrieverChain) {
|
||||
return retrieverChain == null ? "" : retrieverChain.getName();
|
||||
}
|
||||
|
||||
});
|
||||
retrieverChainsListBox.addValueChangeHandler(new ValueChangeHandler<DataRetrieverChainDefinitionDTO<SerializableSettings>>() {
|
||||
retrieverChainsListBox.addValueChangeHandler(new ValueChangeHandler<DataRetrieverChainDefinitionDTO>() {
|
||||
@Override
|
||||
public void onValueChange(ValueChangeEvent<DataRetrieverChainDefinitionDTO<SerializableSettings>> event) {
|
||||
public void onValueChange(ValueChangeEvent<DataRetrieverChainDefinitionDTO> event) {
|
||||
notifyListeners();
|
||||
}
|
||||
});
|
||||
@@ -109,23 +115,21 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever
|
||||
|
||||
private void updateRetrieverChains() {
|
||||
dataMiningService.getDataRetrieverChainDefinitions(LocaleInfo.getCurrentLocale().getLocaleName(),
|
||||
new AsyncCallback<ArrayList<DataRetrieverChainDefinitionDTO<SerializableSettings>>>() {
|
||||
new AsyncCallback<ArrayList<DataRetrieverChainDefinitionDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(ArrayList<DataRetrieverChainDefinitionDTO<SerializableSettings>> dataRetrieverChainDefinitions) {
|
||||
if (dataRetrieverChainDefinitions.iterator().hasNext()) {
|
||||
List<DataRetrieverChainDefinitionDTO<SerializableSettings>> sortedRetrieverChains = new ArrayList<>();
|
||||
for (DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinition : dataRetrieverChainDefinitions) {
|
||||
sortedRetrieverChains.add(dataRetrieverChainDefinition);
|
||||
}
|
||||
Collections.sort(sortedRetrieverChains);
|
||||
public void onSuccess(ArrayList<DataRetrieverChainDefinitionDTO> dataRetrieverChainDefinitions) {
|
||||
settingsMappedByRetrieverChain.clear();
|
||||
if (!dataRetrieverChainDefinitions.isEmpty()) {
|
||||
fillSettings(dataRetrieverChainDefinitions);
|
||||
Collections.sort(dataRetrieverChainDefinitions);
|
||||
|
||||
DataRetrieverChainDefinitionDTO<SerializableSettings> currentRetrieverChain = getDataRetrieverChainDefinition();
|
||||
DataRetrieverChainDefinitionDTO<SerializableSettings> retrieverChainToBeSelected = sortedRetrieverChains.contains(currentRetrieverChain) ?
|
||||
DataRetrieverChainDefinitionDTO currentRetrieverChain = getDataRetrieverChainDefinition();
|
||||
DataRetrieverChainDefinitionDTO retrieverChainToBeSelected = dataRetrieverChainDefinitions.contains(currentRetrieverChain) ?
|
||||
currentRetrieverChain :
|
||||
sortedRetrieverChains.get(0);
|
||||
dataRetrieverChainDefinitions.get(0);
|
||||
|
||||
retrieverChainsListBox.setValue(retrieverChainToBeSelected);
|
||||
retrieverChainsListBox.setAcceptableValues(sortedRetrieverChains);
|
||||
retrieverChainsListBox.setAcceptableValues(dataRetrieverChainDefinitions);
|
||||
|
||||
if (isAwaitingReload || !retrieverChainToBeSelected.equals(currentRetrieverChain)) {
|
||||
isAwaitingReload = false;
|
||||
@@ -133,7 +137,7 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever
|
||||
}
|
||||
} else {
|
||||
retrieverChainsListBox.setValue(null);
|
||||
retrieverChainsListBox.setAcceptableValues(new ArrayList<DataRetrieverChainDefinitionDTO<SerializableSettings>>());
|
||||
retrieverChainsListBox.setAcceptableValues(new ArrayList<DataRetrieverChainDefinitionDTO>());
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
@@ -144,8 +148,21 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever
|
||||
});
|
||||
}
|
||||
|
||||
private void fillSettings(ArrayList<DataRetrieverChainDefinitionDTO> dataRetrieverChainDefinitions) {
|
||||
for (DataRetrieverChainDefinitionDTO retrieverChain : dataRetrieverChainDefinitions) {
|
||||
if (retrieverChain.hasSettings()) {
|
||||
// TODO FIXME This is currently the only use case for processors with settings. That's why it's hard coded.
|
||||
for (SerializableSettings settings : retrieverChain.getDefaultSettings().values()) {
|
||||
if (settings instanceof PolarSheetGenerationSettings) {
|
||||
settingsMappedByRetrieverChain.put(retrieverChain, (PolarSheetGenerationSettings) settings);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataRetrieverChainDefinitionDTO<SerializableSettings> getDataRetrieverChainDefinition() {
|
||||
public DataRetrieverChainDefinitionDTO getDataRetrieverChainDefinition() {
|
||||
return retrieverChainsListBox.getValue();
|
||||
}
|
||||
|
||||
@@ -155,7 +172,7 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever
|
||||
}
|
||||
|
||||
private void notifyListeners() {
|
||||
DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinition = getDataRetrieverChainDefinition();
|
||||
DataRetrieverChainDefinitionDTO dataRetrieverChainDefinition = getDataRetrieverChainDefinition();
|
||||
for (DataRetrieverChainDefinitionChangedListener listener : listeners) {
|
||||
listener.dataRetrieverChainDefinitionChanged(dataRetrieverChainDefinition);
|
||||
}
|
||||
@@ -164,12 +181,9 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public void applyQueryDefinition(StatisticQueryDefinitionDTO queryDefinition) {
|
||||
//FIXME since the sse.datamining.shared bundle cannot have a dependency on sse.common, we can't use extends-wildcards in the classes. They
|
||||
// should be limited to Settings objects. This is enforced everywhere but in the shared classes.
|
||||
retrieverChainsListBox.setValue((DataRetrieverChainDefinitionDTO<SerializableSettings>) queryDefinition.getDataRetrieverChainDefinition(), false);
|
||||
retrieverChainsListBox.setValue(queryDefinition.getDataRetrieverChainDefinition(), false);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -196,6 +210,20 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever
|
||||
public String getDependentCssClassName() {
|
||||
return "simpleDataRetrieverChainDefinition";
|
||||
}
|
||||
|
||||
// TODO This is just a quick fix. Delete, after the settings have been improved.
|
||||
@Override
|
||||
public HashMap<DataRetrieverLevelDTO, SerializableSettings> getRetrieverSettings() {
|
||||
HashMap<DataRetrieverLevelDTO, SerializableSettings> retrieverSettings = new HashMap<>();
|
||||
if (settingsMappedByRetrieverChain.containsKey(getDataRetrieverChainDefinition())) {
|
||||
for (DataRetrieverLevelDTO retrieverLevel : getDataRetrieverChainDefinition().getRetrieverLevels()) {
|
||||
if (retrieverLevel.getDefaultSettings() instanceof PolarSheetGenerationSettings) {
|
||||
retrieverSettings.put(retrieverLevel, settingsMappedByRetrieverChain.get(getDataRetrieverChainDefinition()));
|
||||
}
|
||||
}
|
||||
}
|
||||
return retrieverSettings;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasSettings() {
|
||||
@@ -206,21 +234,16 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever
|
||||
@Override
|
||||
public SettingsDialogComponent<SerializableSettings> getSettingsDialogComponent() {
|
||||
SettingsDialogComponent<? extends Settings> result = null;
|
||||
if (hasSettings()) {
|
||||
Settings settings = getDataRetrieverChainDefinition().getSettings();
|
||||
// FIXME here the association between settings and their dialogs is done
|
||||
// Maybe someone will come up with something smarter
|
||||
if (settings instanceof PolarSheetGenerationSettings) {
|
||||
PolarSheetGenerationSettings polarSettings = (PolarSheetGenerationSettings) settings;
|
||||
result = new PolarSheetGenerationSettingsDialogComponent(polarSettings);
|
||||
}
|
||||
if (settingsMappedByRetrieverChain.containsKey(getDataRetrieverChainDefinition())) {
|
||||
result = new PolarSheetGenerationSettingsDialogComponent(settingsMappedByRetrieverChain.get(getDataRetrieverChainDefinition()));
|
||||
}
|
||||
return (SettingsDialogComponent<SerializableSettings>) result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateSettings(SerializableSettings newSettings) {
|
||||
getDataRetrieverChainDefinition().setSettings(newSettings);
|
||||
public void updateSettings(SerializableSettings newSettings) {
|
||||
// TODO FIXME This is currently the only use case for processors with settings. That's why it's hard coded.
|
||||
settingsMappedByRetrieverChain.put(getDataRetrieverChainDefinition(), (PolarSheetGenerationSettings) newSettings);
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -41,7 +41,7 @@ public class SimpleStatisticProvider implements StatisticProvider {
|
||||
private final Set<StatisticChangedListener> listeners;
|
||||
|
||||
private boolean isAwaitingReload;
|
||||
private DataRetrieverChainDefinitionDTO<SerializableSettings> currentRetrieverChainDefinition;
|
||||
private DataRetrieverChainDefinitionDTO currentRetrieverChainDefinition;
|
||||
private final Collection<FunctionDTO> extractionFunctions;
|
||||
private final Collection<AggregationProcessorDefinitionDTO> aggregatorDefinitions;
|
||||
|
||||
@@ -95,7 +95,7 @@ public class SimpleStatisticProvider implements StatisticProvider {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dataRetrieverChainDefinitionChanged(DataRetrieverChainDefinitionDTO<SerializableSettings> newRetrieverChainDefinition) {
|
||||
public void dataRetrieverChainDefinitionChanged(DataRetrieverChainDefinitionDTO newRetrieverChainDefinition) {
|
||||
if (!Objects.equals(currentRetrieverChainDefinition, newRetrieverChainDefinition)) {
|
||||
currentRetrieverChainDefinition = newRetrieverChainDefinition;
|
||||
if (!isAwaitingReload && currentRetrieverChainDefinition != null) {
|
||||
|
||||
+3
-1
@@ -31,6 +31,7 @@ import com.sap.sailing.gwt.ui.datamining.FilterSelectionChangedListener;
|
||||
import com.sap.sailing.gwt.ui.datamining.ManagedDataMiningQueriesCounter;
|
||||
import com.sap.sailing.gwt.ui.datamining.execution.ManagedDataMiningQueryCallback;
|
||||
import com.sap.sailing.gwt.ui.datamining.execution.SimpleManagedDataMiningQueriesCounter;
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
import com.sap.sse.datamining.shared.DataMiningSession;
|
||||
import com.sap.sse.datamining.shared.GroupKey;
|
||||
import com.sap.sse.datamining.shared.impl.GenericGroupKey;
|
||||
@@ -159,6 +160,7 @@ class DimensionFilterSelectionProvider {
|
||||
final FunctionDTO dimension = getSelectedDimension();
|
||||
HashSet<FunctionDTO> dimensionDTOs = new HashSet<>();
|
||||
dimensionDTOs.add(dimension);
|
||||
HashMap<DataRetrieverLevelDTO, SerializableSettings> retrieverSettingsDTO = retrieverLevelSelectionProvider.getRetrieverSettings();
|
||||
HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> filterSelectionDTO = retrieverLevelSelectionProvider.getCompleteFilterSelection();
|
||||
DataRetrieverLevelDTO retrieverLevel = retrieverLevelSelectionProvider.getRetrieverLevel();
|
||||
if (filterSelectionDTO.containsKey(retrieverLevel)) {
|
||||
@@ -167,7 +169,7 @@ class DimensionFilterSelectionProvider {
|
||||
busyIndicator.setVisible(true);
|
||||
counter.increase();
|
||||
dataMiningService.getDimensionValuesFor(session, retrieverLevelSelectionProvider.getDataRetrieverChain(),
|
||||
retrieverLevel, dimensionDTOs, filterSelectionDTO,
|
||||
retrieverLevel, dimensionDTOs, retrieverSettingsDTO, filterSelectionDTO,
|
||||
LocaleInfo.getCurrentLocale().getLocaleName(), new ManagedDataMiningQueryCallback<HashSet<Object>>(counter) {
|
||||
@Override
|
||||
protected void handleSuccess(QueryResultDTO<HashSet<Object>> result) {
|
||||
|
||||
+12
-4
@@ -49,7 +49,7 @@ public class ListRetrieverChainFilterSelectionProvider implements FilterSelectio
|
||||
|
||||
private boolean isAwaitingReload;
|
||||
private boolean blockDataUpdates;
|
||||
private DataRetrieverChainDefinitionDTO<SerializableSettings> retrieverChain;
|
||||
private DataRetrieverChainDefinitionDTO retrieverChain;
|
||||
private final Map<DataRetrieverLevelDTO, RetrieverLevelFilterSelectionProvider> selectionProvidersMappedByRetrievedDataType;
|
||||
|
||||
private final DockLayoutPanel mainPanel;
|
||||
@@ -59,6 +59,9 @@ public class ListRetrieverChainFilterSelectionProvider implements FilterSelectio
|
||||
private final ScrollPanel selectionPanel;
|
||||
private final FilterSelectionPresenter selectionPresenter;
|
||||
private final ScrollPanel selectionPresenterScrollPanel;
|
||||
|
||||
// TODO This is just a quick fix. Delete, after the settings have been improved.
|
||||
private final DataRetrieverChainDefinitionProvider retrieverChainProvider;
|
||||
|
||||
public ListRetrieverChainFilterSelectionProvider(DataMiningSession session, StringMessages stringMessages,
|
||||
DataMiningServiceAsync dataMiningService, ErrorReporter errorReporter,
|
||||
@@ -67,6 +70,7 @@ public class ListRetrieverChainFilterSelectionProvider implements FilterSelectio
|
||||
this.stringMessages = stringMessages;
|
||||
this.dataMiningService = dataMiningService;
|
||||
this.errorReporter = errorReporter;
|
||||
this.retrieverChainProvider = retrieverChainProvider;
|
||||
listeners = new HashSet<>();
|
||||
retrieverChainProvider.addDataRetrieverChainDefinitionChangedListener(this);
|
||||
|
||||
@@ -115,7 +119,7 @@ public class ListRetrieverChainFilterSelectionProvider implements FilterSelectio
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dataRetrieverChainDefinitionChanged(DataRetrieverChainDefinitionDTO<SerializableSettings> newDataRetrieverChainDefinition) {
|
||||
public void dataRetrieverChainDefinitionChanged(DataRetrieverChainDefinitionDTO newDataRetrieverChainDefinition) {
|
||||
if (!Objects.equals(retrieverChain, newDataRetrieverChainDefinition)) {
|
||||
retrieverChain = newDataRetrieverChainDefinition;
|
||||
if (!isAwaitingReload && retrieverChain != null) {
|
||||
@@ -123,9 +127,8 @@ public class ListRetrieverChainFilterSelectionProvider implements FilterSelectio
|
||||
} else if (!isAwaitingReload) {
|
||||
clearContent();
|
||||
}
|
||||
} else if (retrieverChain != null && retrieverChain.settingsHaveChanged() && !isAwaitingReload) {
|
||||
} else if (retrieverChain != null && !isAwaitingReload) {
|
||||
updateRetrievalLevels();
|
||||
retrieverChain.resetSettingsChangeFlag();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -203,6 +206,11 @@ public class ListRetrieverChainFilterSelectionProvider implements FilterSelectio
|
||||
mainPanel.setWidgetHidden(selectionPresenterScrollPanel, getSelection().isEmpty());
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<DataRetrieverLevelDTO, SerializableSettings> getRetrieverSettings() {
|
||||
return retrieverChainProvider.getRetrieverSettings();
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> getSelection() {
|
||||
|
||||
+7
-3
@@ -31,7 +31,7 @@ public class RetrieverLevelFilterSelectionProvider implements Component<Abstract
|
||||
|
||||
private final DataMiningSession session;
|
||||
private final ListRetrieverChainFilterSelectionProvider retrieverChainSelectionProvider;
|
||||
private final DataRetrieverChainDefinitionDTO<SerializableSettings> retrieverChain;
|
||||
private final DataRetrieverChainDefinitionDTO retrieverChain;
|
||||
private final DataRetrieverLevelDTO retrieverLevel;
|
||||
private final Collection<FunctionDTO> availableDimensions;
|
||||
|
||||
@@ -39,7 +39,7 @@ public class RetrieverLevelFilterSelectionProvider implements Component<Abstract
|
||||
private final Collection<DimensionFilterSelectionProvider> dimensionSelectionProviders;
|
||||
|
||||
public RetrieverLevelFilterSelectionProvider(DataMiningSession session, DataMiningServiceAsync dataMiningService,
|
||||
ErrorReporter errorReporter, ListRetrieverChainFilterSelectionProvider retrieverChainSelectionProvider, DataRetrieverChainDefinitionDTO<SerializableSettings> retrieverChain,
|
||||
ErrorReporter errorReporter, ListRetrieverChainFilterSelectionProvider retrieverChainSelectionProvider, DataRetrieverChainDefinitionDTO retrieverChain,
|
||||
DataRetrieverLevelDTO retrieverLevel) {
|
||||
this.dataMiningService = dataMiningService;
|
||||
this.errorReporter = errorReporter;
|
||||
@@ -150,6 +150,10 @@ public class RetrieverLevelFilterSelectionProvider implements Component<Abstract
|
||||
retrieverChainSelectionProvider.retrieverLevelFilterSelectionChanged(this, dimensionFilterSelectionProvider);
|
||||
}
|
||||
|
||||
HashMap<DataRetrieverLevelDTO, SerializableSettings> getRetrieverSettings() {
|
||||
return retrieverChainSelectionProvider.getRetrieverSettings();
|
||||
}
|
||||
|
||||
HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> getCompleteFilterSelection() {
|
||||
return retrieverChainSelectionProvider.getSelection();
|
||||
}
|
||||
@@ -189,7 +193,7 @@ public class RetrieverLevelFilterSelectionProvider implements Component<Abstract
|
||||
initializeDimensionSelectionProviders();
|
||||
}
|
||||
|
||||
DataRetrieverChainDefinitionDTO<SerializableSettings> getDataRetrieverChain() {
|
||||
DataRetrieverChainDefinitionDTO getDataRetrieverChain() {
|
||||
return retrieverChain;
|
||||
}
|
||||
|
||||
|
||||
+31
-21
@@ -76,7 +76,7 @@ public class DataMiningServiceImpl extends RemoteServiceServlet implements DataM
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashSet<FunctionDTO> getStatisticsFor(DataRetrieverChainDefinitionDTO<SerializableSettings> retrieverChainDefinition, String localeInfoName) {
|
||||
public HashSet<FunctionDTO> getStatisticsFor(DataRetrieverChainDefinitionDTO retrieverChainDefinition, String localeInfoName) {
|
||||
Class<?> retrievedDataType = getDataMiningServer().getDataRetrieverChainDefinition(retrieverChainDefinition.getId()).getRetrievedDataType();
|
||||
Iterable<Function<?>> statistics = getDataMiningServer().getStatisticsFor(retrievedDataType);
|
||||
return functionsAsDTOs(statistics, localeInfoName);
|
||||
@@ -120,8 +120,8 @@ public class DataMiningServiceImpl extends RemoteServiceServlet implements DataM
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<DataRetrieverLevelDTO, HashSet<FunctionDTO>> getDimensionsMappedByLevelFor(DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinitionDTO, String localeInfoName) {
|
||||
DataRetrieverChainDefinition<?, ?, ?> dataRetrieverChainDefinition = getDataMiningServer().getDataRetrieverChainDefinition(dataRetrieverChainDefinitionDTO.getId());
|
||||
public HashMap<DataRetrieverLevelDTO, HashSet<FunctionDTO>> getDimensionsMappedByLevelFor(DataRetrieverChainDefinitionDTO dataRetrieverChainDefinitionDTO, String localeInfoName) {
|
||||
DataRetrieverChainDefinition<?, ?> dataRetrieverChainDefinition = getDataMiningServer().getDataRetrieverChainDefinition(dataRetrieverChainDefinitionDTO.getId());
|
||||
Map<DataRetrieverLevel<?, ?>, Iterable<Function<?>>> dimensions = getDataMiningServer()
|
||||
.getDimensionsMappedByLevelFor(dataRetrieverChainDefinition);
|
||||
return dimensionsMappedByLevelAsDTOs(dimensions, localeInfoName);
|
||||
@@ -129,11 +129,8 @@ public class DataMiningServiceImpl extends RemoteServiceServlet implements DataM
|
||||
|
||||
@Override
|
||||
public HashMap<DataRetrieverLevelDTO, HashSet<FunctionDTO>> getReducedDimensionsMappedByLevelFor(
|
||||
DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinitionDTO, String localeInfoName) {
|
||||
DataRetrieverChainDefinition<?, ?, ?> dataRetrieverChainDefinition = getDataMiningServer().getDataRetrieverChainDefinition(dataRetrieverChainDefinitionDTO.getId());
|
||||
if (dataRetrieverChainDefinitionDTO.hasSettings()) {
|
||||
dataRetrieverChainDefinition.setSettings(dataRetrieverChainDefinitionDTO.getSettings());
|
||||
}
|
||||
DataRetrieverChainDefinitionDTO dataRetrieverChainDefinitionDTO, String localeInfoName) {
|
||||
DataRetrieverChainDefinition<?, ?> dataRetrieverChainDefinition = getDataMiningServer().getDataRetrieverChainDefinition(dataRetrieverChainDefinitionDTO.getId());
|
||||
Map<DataRetrieverLevel<?, ?>, Iterable<Function<?>>> reducedDimensions = getDataMiningServer()
|
||||
.getReducedDimensionsMappedByLevelFor(dataRetrieverChainDefinition);
|
||||
return dimensionsMappedByLevelAsDTOs(reducedDimensions, localeInfoName);
|
||||
@@ -163,26 +160,26 @@ public class DataMiningServiceImpl extends RemoteServiceServlet implements DataM
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<DataRetrieverChainDefinitionDTO<SerializableSettings>> getDataRetrieverChainDefinitions(String localeInfoName) {
|
||||
Iterable<DataRetrieverChainDefinition<?, ?, ?>> dataRetrieverChainDefinitions = getDataMiningServer().getDataRetrieverChainDefinitions();
|
||||
public ArrayList<DataRetrieverChainDefinitionDTO> getDataRetrieverChainDefinitions(String localeInfoName) {
|
||||
Iterable<DataRetrieverChainDefinition<?, ?>> dataRetrieverChainDefinitions = getDataMiningServer().getDataRetrieverChainDefinitions();
|
||||
return dataRetrieverChainDefinitionsAsDTOs(dataRetrieverChainDefinitions, localeInfoName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<DataRetrieverChainDefinitionDTO<SerializableSettings>> getDataRetrieverChainDefinitionsFor(FunctionDTO statisticToCalculate, String localeInfoName) {
|
||||
public ArrayList<DataRetrieverChainDefinitionDTO> getDataRetrieverChainDefinitionsFor(FunctionDTO statisticToCalculate, String localeInfoName) {
|
||||
Class<?> baseDataType = getBaseDataType(statisticToCalculate);
|
||||
@SuppressWarnings("unchecked")
|
||||
Iterable<DataRetrieverChainDefinition<?, ?, ?>> dataRetrieverChainDefinitions = (Iterable<DataRetrieverChainDefinition<?, ?, ?>>)(Iterable<?>) getDataMiningServer().getDataRetrieverChainDefinitionsByDataType(baseDataType);
|
||||
Iterable<DataRetrieverChainDefinition<?, ?>> dataRetrieverChainDefinitions = (Iterable<DataRetrieverChainDefinition<?, ?>>)(Iterable<?>) getDataMiningServer().getDataRetrieverChainDefinitionsByDataType(baseDataType);
|
||||
return dataRetrieverChainDefinitionsAsDTOs(dataRetrieverChainDefinitions, localeInfoName);
|
||||
}
|
||||
|
||||
private ArrayList<DataRetrieverChainDefinitionDTO<SerializableSettings>> dataRetrieverChainDefinitionsAsDTOs(
|
||||
Iterable<DataRetrieverChainDefinition<?, ?, ?>> dataRetrieverChainDefinitions, String localeInfoName) {
|
||||
private ArrayList<DataRetrieverChainDefinitionDTO> dataRetrieverChainDefinitionsAsDTOs(
|
||||
Iterable<DataRetrieverChainDefinition<?, ?>> dataRetrieverChainDefinitions, String localeInfoName) {
|
||||
ResourceBundleStringMessages serverStringMessages = getDataMiningServer().getStringMessages();
|
||||
Locale locale = ResourceBundleStringMessages.Util.getLocaleFor(localeInfoName);
|
||||
|
||||
ArrayList<DataRetrieverChainDefinitionDTO<SerializableSettings>> DTOs = new ArrayList<>();
|
||||
for (DataRetrieverChainDefinition<?, ?, ?> dataRetrieverChainDefinition : dataRetrieverChainDefinitions) {
|
||||
ArrayList<DataRetrieverChainDefinitionDTO> DTOs = new ArrayList<>();
|
||||
for (DataRetrieverChainDefinition<?, ?> dataRetrieverChainDefinition : dataRetrieverChainDefinitions) {
|
||||
DTOs.add(dtoFactory.createDataRetrieverChainDefinitionDTO(dataRetrieverChainDefinition,
|
||||
serverStringMessages, locale));
|
||||
}
|
||||
@@ -190,15 +187,17 @@ public class DataMiningServiceImpl extends RemoteServiceServlet implements DataM
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryResultDTO<HashSet<Object>> getDimensionValuesFor(DataMiningSession session, DataRetrieverChainDefinitionDTO<SerializableSettings> dataRetrieverChainDefinitionDTO,
|
||||
DataRetrieverLevelDTO retrieverLevelDTO, HashSet<FunctionDTO> dimensionDTOs, HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> filterSelectionDTO, String localeInfoName) {
|
||||
public QueryResultDTO<HashSet<Object>> getDimensionValuesFor(DataMiningSession session, DataRetrieverChainDefinitionDTO dataRetrieverChainDefinitionDTO,
|
||||
DataRetrieverLevelDTO retrieverLevelDTO, HashSet<FunctionDTO> dimensionDTOs, HashMap<DataRetrieverLevelDTO, SerializableSettings> retrieverSettingsDTO,
|
||||
HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> filterSelectionDTO, String localeInfoName) {
|
||||
DataMiningServer dataMiningServer = getDataMiningServer();
|
||||
DataRetrieverChainDefinition<RacingEventService, ?, ?> retrieverChainDefinition = dataMiningServer.getDataRetrieverChainDefinition(dataRetrieverChainDefinitionDTO.getId());
|
||||
DataRetrieverChainDefinition<RacingEventService, ?> retrieverChainDefinition = dataMiningServer.getDataRetrieverChainDefinition(dataRetrieverChainDefinitionDTO.getId());
|
||||
DataRetrieverLevel<?, ?> retrieverLevel = retrieverChainDefinition.getDataRetrieverLevel(retrieverLevelDTO.getLevel());
|
||||
Iterable<Function<?>> dimensions = functionDTOsAsFunctions(dimensionDTOs);
|
||||
Map<DataRetrieverLevel<?, ?>, SerializableSettings> retrieverSettings = retrieverSettingsDTOAsRetrieverSettings(retrieverSettingsDTO, retrieverChainDefinition);
|
||||
Map<DataRetrieverLevel<?, ?>, Map<Function<?>, Collection<?>>> filterSelection = filterSelectionDTOAsFilterSelection(filterSelectionDTO, retrieverChainDefinition);
|
||||
Locale locale = ResourceBundleStringMessages.Util.getLocaleFor(localeInfoName);
|
||||
Query<HashSet<Object>> dimensionValuesQuery = dataMiningServer.createDimensionValuesQuery(retrieverChainDefinition, retrieverLevel, dimensions, filterSelection, locale);
|
||||
Query<HashSet<Object>> dimensionValuesQuery = dataMiningServer.createDimensionValuesQuery(retrieverChainDefinition, retrieverLevel, dimensions, retrieverSettings, filterSelection, locale);
|
||||
QueryResult<HashSet<Object>> result = dataMiningServer.runNewQueryAndAbortPreviousQueries(session, dimensionValuesQuery);
|
||||
return dataMiningServer.convertToDTO(result);
|
||||
}
|
||||
@@ -215,9 +214,20 @@ public class DataMiningServiceImpl extends RemoteServiceServlet implements DataM
|
||||
return functions;
|
||||
}
|
||||
|
||||
private Map<DataRetrieverLevel<?, ?>, SerializableSettings> retrieverSettingsDTOAsRetrieverSettings(
|
||||
HashMap<DataRetrieverLevelDTO, SerializableSettings> retrieverSettingsDTO,
|
||||
DataRetrieverChainDefinition<RacingEventService, ?> retrieverChainDefinition) {
|
||||
Map<DataRetrieverLevel<?, ?>, SerializableSettings> retrieverSettings = new HashMap<>();
|
||||
for (DataRetrieverLevelDTO retrieverLevelDTO : retrieverSettingsDTO.keySet()) {
|
||||
DataRetrieverLevel<?, ?> retrieverLevel = retrieverChainDefinition.getDataRetrieverLevel(retrieverLevelDTO.getLevel());
|
||||
retrieverSettings.put(retrieverLevel, retrieverSettingsDTO.get(retrieverLevelDTO));
|
||||
}
|
||||
return retrieverSettings;
|
||||
}
|
||||
|
||||
private Map<DataRetrieverLevel<?, ?>, Map<Function<?>, Collection<?>>> filterSelectionDTOAsFilterSelection(
|
||||
HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> filterSelectionDTO,
|
||||
DataRetrieverChainDefinition<?, ?, ?> retrieverChainDefinition) {
|
||||
DataRetrieverChainDefinition<?, ?> retrieverChainDefinition) {
|
||||
Map<DataRetrieverLevel<?, ?>, Map<Function<?>, Collection<?>>> filterSelection = new HashMap<>();
|
||||
for (DataRetrieverLevelDTO retrieverLevelDTO : filterSelectionDTO.keySet()) {
|
||||
HashMap<FunctionDTO, HashSet<? extends Serializable>> retrievalLevelSelection = filterSelectionDTO.get(retrieverLevelDTO);
|
||||
|
||||
@@ -8,6 +8,7 @@ Bundle-Vendor: SAP
|
||||
Require-Bundle: org.eclipse.osgi;bundle-version="3.10.1",
|
||||
com.sap.sse;bundle-version="1.0.0",
|
||||
com.sap.sse.datamining;bundle-version="1.0.0",
|
||||
com.sap.sse.datamining.annotations;bundle-version="1.0.0",
|
||||
com.sap.sse.datamining.shared;bundle-version="1.0.0",
|
||||
com.sap.sailing.datamining,
|
||||
com.sap.sailing.server;bundle-version="1.0.0",
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ public class Activator extends AbstractDataMiningActivator implements DataMining
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<DataRetrieverChainDefinition<?, ?, ?>> getDataRetrieverChainDefinitions() {
|
||||
public Iterable<DataRetrieverChainDefinition<?, ?>> getDataRetrieverChainDefinitions() {
|
||||
return dataRetrieverChainDefinitions.getDataRetrieverChainDefinitions();
|
||||
}
|
||||
|
||||
|
||||
+6
-7
@@ -21,17 +21,16 @@ import com.sap.sailing.polars.datamining.data.HasLegPolarContext;
|
||||
import com.sap.sailing.polars.datamining.data.HasRaceColumnPolarContext;
|
||||
import com.sap.sailing.server.RacingEventService;
|
||||
import com.sap.sse.datamining.components.DataRetrieverChainDefinition;
|
||||
import com.sap.sse.datamining.impl.components.DataRetrieverChainDefinitionWithSettings;
|
||||
import com.sap.sse.datamining.impl.components.SimpleDataRetrieverChainDefinition;
|
||||
|
||||
public class PolarsDataRetrievalChainDefinitions {
|
||||
|
||||
private final Collection<DataRetrieverChainDefinition<?, ?, ?>> dataRetrieverChainDefinitions;
|
||||
private final Collection<DataRetrieverChainDefinition<?, ?>> dataRetrieverChainDefinitions;
|
||||
|
||||
public PolarsDataRetrievalChainDefinitions() {
|
||||
dataRetrieverChainDefinitions = new ArrayList<>();
|
||||
DataRetrieverChainDefinition<RacingEventService, HasGPSFixPolarContext, ?> definition1 = new DataRetrieverChainDefinitionWithSettings<RacingEventService, HasGPSFixPolarContext, PolarSheetGenerationSettings>(
|
||||
RacingEventService.class, HasGPSFixPolarContext.class, "PolarChain1",
|
||||
PolarSheetGenerationSettingsImpl.createStandardPolarSettings());
|
||||
DataRetrieverChainDefinition<RacingEventService, HasGPSFixPolarContext> definition1 = new SimpleDataRetrieverChainDefinition<>(
|
||||
RacingEventService.class, HasGPSFixPolarContext.class, "PolarChain1");
|
||||
definition1.startWith(PolarLeaderboardGroupRetrievalProcessor.class, HasLeaderboardGroupPolarContext.class,
|
||||
"LeaderboardGroup");
|
||||
definition1.addAfter(PolarLeaderboardGroupRetrievalProcessor.class, PolarLeaderboardRetrievalProcessor.class,
|
||||
@@ -45,11 +44,11 @@ public class PolarsDataRetrievalChainDefinitions {
|
||||
definition1.addAfter(PolarLegRetrievalProcessor.class, PolarCompetitorRetrievalProcessor.class,
|
||||
HasCompetitorPolarContext.class, "Competitor");
|
||||
definition1.endWith(PolarCompetitorRetrievalProcessor.class, PolarGPSFixRetrievalProcessor.class,
|
||||
HasGPSFixPolarContext.class, "GPSFix");
|
||||
HasGPSFixPolarContext.class, PolarSheetGenerationSettings.class, PolarSheetGenerationSettingsImpl.createStandardPolarSettings(), "GPSFix");
|
||||
dataRetrieverChainDefinitions.add(definition1);
|
||||
}
|
||||
|
||||
public Iterable<DataRetrieverChainDefinition<?, ?, ?>> getDataRetrieverChainDefinitions() {
|
||||
public Iterable<DataRetrieverChainDefinition<?, ?>> getDataRetrieverChainDefinitions() {
|
||||
return dataRetrieverChainDefinitions;
|
||||
}
|
||||
|
||||
|
||||
+5
-3
@@ -25,14 +25,16 @@ import com.sap.sse.datamining.impl.components.AbstractRetrievalProcessor;
|
||||
|
||||
public class PolarGPSFixRetrievalProcessor extends AbstractRetrievalProcessor<HasCompetitorPolarContext, HasGPSFixPolarContext> {
|
||||
|
||||
public PolarGPSFixRetrievalProcessor(ExecutorService executor,
|
||||
Collection<Processor<HasGPSFixPolarContext, ?>> resultReceivers, int retrievalLevel) {
|
||||
private final PolarSheetGenerationSettings settings;
|
||||
|
||||
public PolarGPSFixRetrievalProcessor(ExecutorService executor, Collection<Processor<HasGPSFixPolarContext, ?>> resultReceivers,
|
||||
PolarSheetGenerationSettings settings, int retrievalLevel) {
|
||||
super(HasCompetitorPolarContext.class, HasGPSFixPolarContext.class, executor, resultReceivers, retrievalLevel);
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Iterable<HasGPSFixPolarContext> retrieveData(HasCompetitorPolarContext element) {
|
||||
PolarSheetGenerationSettings settings = (PolarSheetGenerationSettings) getSettings();
|
||||
ClusterGroup<Speed> windSpeedRangeGroup = toClusterGroup(settings.getWindSpeedStepping());
|
||||
TrackedRace trackedRace = element.getTrackedRace();
|
||||
Competitor competitor = element.getCompetitor();
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package com.sap.sailing.polars.datamining.data;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Leg;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface HasCompetitorPolarContext {
|
||||
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.RaceColumn;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface HasFleetPolarContext {
|
||||
|
||||
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package com.sap.sailing.polars.datamining.data;
|
||||
|
||||
import com.sap.sailing.polars.datamining.shared.PolarStatistic;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.shared.annotations.Statistic;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Statistic;
|
||||
import com.sap.sse.datamining.shared.impl.dto.ClusterDTO;
|
||||
|
||||
public interface HasGPSFixPolarContext {
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.polars.datamining.data;
|
||||
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface HasLeaderboardGroupPolarContext {
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.polars.datamining.data;
|
||||
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface HasLeaderboardPolarContext {
|
||||
|
||||
|
||||
+2
-2
@@ -2,8 +2,8 @@ package com.sap.sailing.polars.datamining.data;
|
||||
|
||||
import com.sap.sailing.domain.base.Leg;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface HasLegPolarContext {
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.polars.datamining.data;
|
||||
|
||||
import com.sap.sailing.domain.base.RaceColumn;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface HasRaceColumnPolarContext {
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ Require-Bundle:
|
||||
com.sap.sailing.domain.common;bundle-version="1.0.0",
|
||||
com.sap.sailing.domain,
|
||||
com.sap.sse.datamining,
|
||||
com.sap.sse.datamining.annotations;bundle-version="1.0.0",
|
||||
com.sap.sse.datamining.shared;bundle-version="1.0.0",
|
||||
com.sap.sse.common,
|
||||
com.sap.sse,
|
||||
|
||||
+1
-1
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.polars.mining;
|
||||
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
import com.sap.sse.datamining.data.Cluster;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
|
||||
public interface AngleClusterPolarClusterKey extends BasePolarClusterKey {
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.polars.mining;
|
||||
|
||||
import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface BasePolarClusterKey {
|
||||
|
||||
|
||||
-13
@@ -17,7 +17,6 @@ import com.sap.sailing.domain.common.Speed;
|
||||
import com.sap.sailing.domain.common.Tack;
|
||||
import com.sap.sailing.domain.polars.NotEnoughDataHasBeenAddedException;
|
||||
import com.sap.sailing.domain.polars.PolarsChangedListener;
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
import com.sap.sse.datamining.components.AdditionalResultDataBuilder;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.factories.GroupKeyFactory;
|
||||
@@ -193,16 +192,4 @@ public class CubicRegressionPerCourseProcessor implements
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SerializableSettings getSettings() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSettings(SerializableSettings settings) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.polars.mining;
|
||||
|
||||
import com.sap.sailing.domain.common.LegType;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface LegTypePolarClusterKey extends BasePolarClusterKey {
|
||||
|
||||
|
||||
+1
-1
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.polars.mining;
|
||||
|
||||
import com.sap.sailing.domain.common.Speed;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
import com.sap.sse.datamining.data.Cluster;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
|
||||
public interface MovingAveragePolarClusterKey extends LegTypePolarClusterKey {
|
||||
|
||||
|
||||
-13
@@ -22,7 +22,6 @@ import com.sap.sailing.domain.tracking.WindWithConfidence;
|
||||
import com.sap.sailing.polars.regression.MovingAverageBoatSpeedEstimator;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
import com.sap.sse.datamining.components.AdditionalResultDataBuilder;
|
||||
import com.sap.sse.datamining.data.Cluster;
|
||||
import com.sap.sse.datamining.data.ClusterGroup;
|
||||
@@ -221,16 +220,4 @@ public class MovingAverageProcessorImpl implements MovingAverageProcessor {
|
||||
return speedClusterGroup;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SerializableSettings getSettings() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSettings(SerializableSettings settings) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
-13
@@ -21,7 +21,6 @@ import com.sap.sailing.domain.polars.NotEnoughDataHasBeenAddedException;
|
||||
import com.sap.sailing.domain.polars.PolarsChangedListener;
|
||||
import com.sap.sailing.polars.regression.IncrementalLeastSquares;
|
||||
import com.sap.sailing.polars.regression.impl.IncrementalAnyOrderLeastSquaresImpl;
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
import com.sap.sse.datamining.components.AdditionalResultDataBuilder;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.data.Cluster;
|
||||
@@ -217,16 +216,4 @@ public class SpeedRegressionPerAngleClusterProcessor implements
|
||||
return angleClusterGroup;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SerializableSettings getSettings() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSettings(SerializableSettings settings) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -34,5 +34,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.deckmanadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@3:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@5:true,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.monitoring@default:default,com.sap.sailing.news@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@4:true,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5:true,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@4:true,com.sap.sailing.www@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt.theme@5:true,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.deckmanadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@3:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@5:true,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.monitoring@default:default,com.sap.sailing.news@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@4:true,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5:true,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@4:true,com.sap.sailing.www@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt.theme@5:true,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -15,5 +15,5 @@ Export-Package: com.sap.sse.common,
|
||||
com.sap.sse.common.settings,
|
||||
com.sap.sse.common.util
|
||||
Require-Bundle: org.json.simple;bundle-version="1.1.0",
|
||||
com.sap.sse.datamining.shared
|
||||
com.sap.sse.datamining.annotations;bundle-version="1.0.0"
|
||||
Bundle-ActivationPolicy: lazy
|
||||
@@ -2,7 +2,7 @@ package com.sap.sse.common;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface Named extends Serializable {
|
||||
@Dimension(messageKey="Name")
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.sap.sse.datamining.annotations</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,7 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
||||
@@ -0,0 +1,3 @@
|
||||
eclipse.preferences.version=1
|
||||
pluginProject.extensions=false
|
||||
resolve.requirebundle=false
|
||||
@@ -0,0 +1,9 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Data Mining Annotations
|
||||
Bundle-SymbolicName: com.sap.sse.datamining.annotations
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Export-Package: com.sap.sse.datamining.annotations,
|
||||
com.sap.sse.datamining.annotations.data
|
||||
@@ -0,0 +1,4 @@
|
||||
source.. = src/
|
||||
output.. = bin/
|
||||
bin.includes = META-INF/,\
|
||||
.
|
||||
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>root</artifactId>
|
||||
<groupId>com.sap.sailing</groupId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.sap.sse.datamining.annotations</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.eclipse.tycho</groupId>
|
||||
<artifactId>tycho-source-plugin</artifactId>
|
||||
<version>${tycho-version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>plugin-source</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>plugin-source</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sse.datamining.shared.annotations;
|
||||
package com.sap.sse.datamining.annotations;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sse.datamining.shared.annotations;
|
||||
package com.sap.sse.datamining.annotations;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package com.sap.sse.datamining.shared.annotations;
|
||||
package com.sap.sse.datamining.annotations;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
@@ -7,7 +7,7 @@ import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
import java.util.Locale;
|
||||
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
|
||||
/**
|
||||
* Methods marked with this annotation will be used as computable statistic for the data mining framework. The method will be called,
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package com.sap.sse.datamining.annotations.data;
|
||||
|
||||
public enum Unit {
|
||||
|
||||
None, Knots, Meters
|
||||
|
||||
}
|
||||
@@ -6,10 +6,11 @@ Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Export-Package: com.sap.sse.datamining.shared,
|
||||
com.sap.sse.datamining.shared.annotations,
|
||||
com.sap.sse.datamining.shared.data,
|
||||
com.sap.sse.datamining.shared.dto,
|
||||
com.sap.sse.datamining.shared.impl,
|
||||
com.sap.sse.datamining.shared.impl.dto,
|
||||
com.sap.sse.datamining.shared.util
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Require-Bundle: com.sap.sse.datamining.annotations;bundle-version="1.0.0",
|
||||
com.sap.sse.common;bundle-version="1.0.0"
|
||||
+1
-1
@@ -2,7 +2,7 @@ package com.sap.sse.datamining.shared;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
|
||||
public interface AdditionalResultData extends Serializable {
|
||||
|
||||
|
||||
+1
-1
@@ -3,8 +3,8 @@ package com.sap.sse.datamining.shared;
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
import com.sap.sse.datamining.shared.data.QueryResultState;
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
|
||||
public interface QueryResultBase<ResultType> extends Serializable {
|
||||
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
package com.sap.sse.datamining.shared.data;
|
||||
|
||||
public enum Unit {
|
||||
|
||||
None, Knots, Meters
|
||||
|
||||
}
|
||||
+4
-3
@@ -4,8 +4,8 @@ import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
import com.sap.sse.datamining.shared.impl.dto.AggregationProcessorDefinitionDTO;
|
||||
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
|
||||
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverLevelDTO;
|
||||
@@ -15,8 +15,9 @@ public interface StatisticQueryDefinitionDTO extends Serializable {
|
||||
|
||||
public String getLocaleInfoName();
|
||||
|
||||
public DataRetrieverChainDefinitionDTO<?> getDataRetrieverChainDefinition();
|
||||
public Map<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> getFilterSelection();
|
||||
public DataRetrieverChainDefinitionDTO getDataRetrieverChainDefinition();
|
||||
public HashMap<DataRetrieverLevelDTO, SerializableSettings> getRetrieverSettings();
|
||||
public HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> getFilterSelection();
|
||||
public ArrayList<FunctionDTO> getDimensionsToGroupBy();
|
||||
public FunctionDTO getStatisticToCalculate();
|
||||
public AggregationProcessorDefinitionDTO getAggregatorDefinition();
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sse.datamining.shared.impl;
|
||||
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
import com.sap.sse.datamining.shared.AdditionalResultData;
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
|
||||
public class AdditionalResultDataImpl implements AdditionalResultData {
|
||||
private static final long serialVersionUID = -9054872418326676943L;
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sse.datamining.shared.impl;
|
||||
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
import com.sap.sse.datamining.shared.AdditionalResultData;
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
|
||||
/**
|
||||
* Null Object pattern for {@link AdditionalResultData} with the values:
|
||||
|
||||
+1
-1
@@ -3,11 +3,11 @@ package com.sap.sse.datamining.shared.impl;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
import com.sap.sse.datamining.shared.AdditionalResultData;
|
||||
import com.sap.sse.datamining.shared.GroupKey;
|
||||
import com.sap.sse.datamining.shared.QueryResultBase;
|
||||
import com.sap.sse.datamining.shared.data.QueryResultState;
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
|
||||
public abstract class QueryResultBaseImpl<ResultType> implements QueryResultBase<ResultType> {
|
||||
private static final long serialVersionUID = 5696532932535299241L;
|
||||
|
||||
+34
-31
@@ -2,32 +2,30 @@ package com.sap.sse.datamining.shared.impl.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
|
||||
public class DataRetrieverChainDefinitionDTO<Settings extends Serializable> implements Serializable, Comparable<DataRetrieverChainDefinitionDTO<Settings>> {
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
|
||||
public class DataRetrieverChainDefinitionDTO implements Serializable, Comparable<DataRetrieverChainDefinitionDTO> {
|
||||
private static final long serialVersionUID = 7806173601799997214L;
|
||||
|
||||
private UUID id;
|
||||
private String name;
|
||||
private String dataSourceTypeName;
|
||||
private Settings settings;
|
||||
|
||||
private ArrayList<DataRetrieverLevelDTO> retrieverLevels;
|
||||
|
||||
private boolean settingsHaveChanged = false;
|
||||
|
||||
/**
|
||||
* <b>Constructor for the GWT-Serialization. Don't use this!</b>
|
||||
*/
|
||||
@Deprecated
|
||||
DataRetrieverChainDefinitionDTO() { }
|
||||
|
||||
public DataRetrieverChainDefinitionDTO(UUID id, String name, String dataSourceTypeName, ArrayList<DataRetrieverLevelDTO> retrieverLevels,
|
||||
Settings settings) {
|
||||
public DataRetrieverChainDefinitionDTO(UUID id, String name, String dataSourceTypeName, ArrayList<DataRetrieverLevelDTO> retrieverLevels) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.dataSourceTypeName = dataSourceTypeName;
|
||||
this.settings = settings;
|
||||
this.retrieverLevels = new ArrayList<>(retrieverLevels);
|
||||
}
|
||||
|
||||
@@ -38,14 +36,6 @@ public class DataRetrieverChainDefinitionDTO<Settings extends Serializable> impl
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public boolean hasSettings() {
|
||||
return settings != null;
|
||||
}
|
||||
|
||||
public Settings getSettings() {
|
||||
return settings;
|
||||
}
|
||||
|
||||
public String getDataSourceTypeName() {
|
||||
return dataSourceTypeName;
|
||||
@@ -90,9 +80,35 @@ public class DataRetrieverChainDefinitionDTO<Settings extends Serializable> impl
|
||||
return getRetrieverLevel(retrieverLevel.getLevel() - 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return <code>true</code>, if any retriever level of this chain has settings.
|
||||
*/
|
||||
public boolean hasSettings() {
|
||||
for (DataRetrieverLevelDTO retrieverLevel : retrieverLevels) {
|
||||
if (retrieverLevel.hasSettings()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return the default settings mapped by the retriever levels or an empty map, if there are {@link #hasSettings() no settings}.
|
||||
*/
|
||||
public HashMap<DataRetrieverLevelDTO, SerializableSettings> getDefaultSettings() {
|
||||
HashMap<DataRetrieverLevelDTO, SerializableSettings> settings = new HashMap<>();
|
||||
for (DataRetrieverLevelDTO retrieverLevel : retrieverLevels) {
|
||||
if (retrieverLevel.hasSettings()) {
|
||||
settings.put(retrieverLevel, retrieverLevel.getDefaultSettings());
|
||||
}
|
||||
}
|
||||
return settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(DataRetrieverChainDefinitionDTO<Settings> d) {
|
||||
return this.getName().compareTo(d.getName());
|
||||
public int compareTo(DataRetrieverChainDefinitionDTO other) {
|
||||
return this.getName().compareTo(other.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -117,7 +133,7 @@ public class DataRetrieverChainDefinitionDTO<Settings extends Serializable> impl
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
DataRetrieverChainDefinitionDTO<?> other = (DataRetrieverChainDefinitionDTO<?>) obj;
|
||||
DataRetrieverChainDefinitionDTO other = (DataRetrieverChainDefinitionDTO) obj;
|
||||
if (id == null) {
|
||||
if (other.id != null)
|
||||
return false;
|
||||
@@ -125,18 +141,5 @@ public class DataRetrieverChainDefinitionDTO<Settings extends Serializable> impl
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setSettings(Settings newSettings) {
|
||||
settings = newSettings;
|
||||
settingsHaveChanged = true;
|
||||
}
|
||||
|
||||
public boolean settingsHaveChanged() {
|
||||
return settingsHaveChanged ;
|
||||
}
|
||||
|
||||
public void resetSettingsChangeFlag() {
|
||||
settingsHaveChanged = false;
|
||||
}
|
||||
|
||||
}
|
||||
+15
-1
@@ -2,12 +2,16 @@ package com.sap.sse.datamining.shared.impl.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
|
||||
public class DataRetrieverLevelDTO implements Serializable, Comparable<DataRetrieverLevelDTO> {
|
||||
private static final long serialVersionUID = 6911713148350359643L;
|
||||
|
||||
private int retrieverLevel;
|
||||
private String retrieverTypeName;
|
||||
private LocalizedTypeDTO retrievedDataType;
|
||||
private SerializableSettings defaultSettings;
|
||||
|
||||
|
||||
/**
|
||||
* <b>Constructor for the GWT-Serialization. Don't use this!</b>
|
||||
@@ -15,10 +19,12 @@ public class DataRetrieverLevelDTO implements Serializable, Comparable<DataRetri
|
||||
@Deprecated
|
||||
DataRetrieverLevelDTO() { }
|
||||
|
||||
public DataRetrieverLevelDTO(int retrieverLevel, String retrieverTypeName, LocalizedTypeDTO retrievedDataType) {
|
||||
public DataRetrieverLevelDTO(int retrieverLevel, String retrieverTypeName,
|
||||
LocalizedTypeDTO retrievedDataType, SerializableSettings defaultSettings) {
|
||||
this.retrieverLevel = retrieverLevel;
|
||||
this.retrieverTypeName = retrieverTypeName;
|
||||
this.retrievedDataType = retrievedDataType;
|
||||
this.defaultSettings = defaultSettings;
|
||||
}
|
||||
|
||||
public int getLevel() {
|
||||
@@ -32,6 +38,14 @@ public class DataRetrieverLevelDTO implements Serializable, Comparable<DataRetri
|
||||
public LocalizedTypeDTO getRetrievedDataType() {
|
||||
return retrievedDataType;
|
||||
}
|
||||
|
||||
public boolean hasSettings() {
|
||||
return getDefaultSettings() != null;
|
||||
}
|
||||
|
||||
public SerializableSettings getDefaultSettings() {
|
||||
return defaultSettings;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(DataRetrieverLevelDTO otherRetrieverLevel) {
|
||||
|
||||
+14
-3
@@ -5,6 +5,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
import com.sap.sse.datamining.shared.dto.StatisticQueryDefinitionDTO;
|
||||
|
||||
public class ModifiableStatisticQueryDefinitionDTO implements StatisticQueryDefinitionDTO {
|
||||
@@ -14,7 +15,8 @@ public class ModifiableStatisticQueryDefinitionDTO implements StatisticQueryDefi
|
||||
private FunctionDTO statisticToCalculate;
|
||||
private AggregationProcessorDefinitionDTO aggregatorDefinition;
|
||||
private ArrayList<FunctionDTO> dimensionsToGroupBy;
|
||||
private DataRetrieverChainDefinitionDTO<? extends Serializable> dataRetrieverChainDefinition;
|
||||
private DataRetrieverChainDefinitionDTO dataRetrieverChainDefinition;
|
||||
private HashMap<DataRetrieverLevelDTO, SerializableSettings> retrieverSettings;
|
||||
private HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> filterSelection;
|
||||
|
||||
/**
|
||||
@@ -23,7 +25,7 @@ public class ModifiableStatisticQueryDefinitionDTO implements StatisticQueryDefi
|
||||
@Deprecated
|
||||
ModifiableStatisticQueryDefinitionDTO() { }
|
||||
|
||||
public ModifiableStatisticQueryDefinitionDTO(String localeInfoName, FunctionDTO statisticToCalculate, AggregationProcessorDefinitionDTO aggregatorDefinition, DataRetrieverChainDefinitionDTO<? extends Serializable> dataRetrieverChainDefinition) {
|
||||
public ModifiableStatisticQueryDefinitionDTO(String localeInfoName, FunctionDTO statisticToCalculate, AggregationProcessorDefinitionDTO aggregatorDefinition, DataRetrieverChainDefinitionDTO dataRetrieverChainDefinition) {
|
||||
this.localeInfoName = localeInfoName;
|
||||
this.statisticToCalculate = statisticToCalculate;
|
||||
this.aggregatorDefinition = aggregatorDefinition;
|
||||
@@ -32,6 +34,10 @@ public class ModifiableStatisticQueryDefinitionDTO implements StatisticQueryDefi
|
||||
this.dimensionsToGroupBy = new ArrayList<FunctionDTO>();
|
||||
}
|
||||
|
||||
public void setRetrieverSettings(DataRetrieverLevelDTO retrieverLevel, SerializableSettings settings) {
|
||||
retrieverSettings.put(retrieverLevel, settings);
|
||||
}
|
||||
|
||||
public void setFilterSelectionFor(DataRetrieverLevelDTO retrieverLevel, HashMap<FunctionDTO, HashSet<? extends Serializable>> levelFilterSelection) {
|
||||
filterSelection.put(retrieverLevel, levelFilterSelection);
|
||||
}
|
||||
@@ -46,9 +52,14 @@ public class ModifiableStatisticQueryDefinitionDTO implements StatisticQueryDefi
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataRetrieverChainDefinitionDTO<?> getDataRetrieverChainDefinition() {
|
||||
public DataRetrieverChainDefinitionDTO getDataRetrieverChainDefinition() {
|
||||
return dataRetrieverChainDefinition;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<DataRetrieverLevelDTO, SerializableSettings> getRetrieverSettings() {
|
||||
return retrieverSettings;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<DataRetrieverLevelDTO, HashMap<FunctionDTO, HashSet<? extends Serializable>>> getFilterSelection() {
|
||||
|
||||
@@ -7,7 +7,8 @@ Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Fragment-Host: com.sap.sse.datamining
|
||||
Require-Bundle: org.mockito.mockito-core;bundle-version="1.9.5",
|
||||
org.hamcrest;bundle-version="1.1.0"
|
||||
org.hamcrest;bundle-version="1.1.0",
|
||||
com.sap.sse.datamining.annotations;bundle-version="1.0.0"
|
||||
Import-Package: junit.framework;version="4.8.2",
|
||||
org.junit;version="4.8.2",
|
||||
org.junit.runner;version="4.8.2"
|
||||
+3
-3
@@ -45,7 +45,7 @@ public class TestDimensionsValuesQuery {
|
||||
private static final ResourceBundleStringMessages stringMessages = TestsUtil.getTestStringMessagesWithProductiveMessages();
|
||||
private static final Locale locale = Locale.ENGLISH;
|
||||
|
||||
private DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext, ?> dataRetrieverChainDefinition;
|
||||
private DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> dataRetrieverChainDefinition;
|
||||
private Collection<Test_Regatta> dataSource;
|
||||
|
||||
//Test_HasRaceContext dimensions
|
||||
@@ -97,7 +97,7 @@ public class TestDimensionsValuesQuery {
|
||||
raceDimensions.add(dimensionBoatClassName);
|
||||
raceDimensions.add(dimensionYear);
|
||||
Map<DataRetrieverLevel<?, ?>, Map<Function<?>, Collection<?>>> filterSelection = new HashMap<>();
|
||||
Query<HashSet<Object>> dimensionsValueQuery = server.createDimensionValuesQuery(dataRetrieverChainDefinition, dataRetrieverChainDefinition.getDataRetrieverLevel(/*race*/ 1), raceDimensions, filterSelection, locale);
|
||||
Query<HashSet<Object>> dimensionsValueQuery = server.createDimensionValuesQuery(dataRetrieverChainDefinition, dataRetrieverChainDefinition.getDataRetrieverLevel(/*race*/ 1), raceDimensions, new HashMap<>(), filterSelection, locale);
|
||||
|
||||
Map<GroupKey, HashSet<Object>> expectedRaceResultData = buildExpectedRaceResultData();
|
||||
QueryResult<HashSet<Object>> result = dimensionsValueQuery.run();
|
||||
@@ -107,7 +107,7 @@ public class TestDimensionsValuesQuery {
|
||||
legDimensions.add(dimensionLegNumber);
|
||||
legDimensions.add(dimensionCompetitorName);
|
||||
legDimensions.add(dimensionCompetitorSailID);
|
||||
dimensionsValueQuery = server.createDimensionValuesQuery(dataRetrieverChainDefinition, dataRetrieverChainDefinition.getDataRetrieverLevel(/*leg*/ 2), legDimensions, filterSelection, locale);
|
||||
dimensionsValueQuery = server.createDimensionValuesQuery(dataRetrieverChainDefinition, dataRetrieverChainDefinition.getDataRetrieverLevel(/*leg*/ 2), legDimensions, new HashMap<>(), filterSelection, locale);
|
||||
|
||||
Map<GroupKey, HashSet<Object>> expectedLegResultData = buildExpectedLegResultData();
|
||||
result = dimensionsValueQuery.run();
|
||||
|
||||
+2
-2
@@ -19,6 +19,7 @@ import com.sap.sse.datamining.ModifiableDataMiningServer;
|
||||
import com.sap.sse.datamining.Query;
|
||||
import com.sap.sse.datamining.QueryState;
|
||||
import com.sap.sse.datamining.StatisticQueryDefinition;
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
import com.sap.sse.datamining.components.AggregationProcessorDefinition;
|
||||
import com.sap.sse.datamining.components.DataRetrieverChainDefinition;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
@@ -29,7 +30,6 @@ import com.sap.sse.datamining.impl.components.aggregators.ParallelGroupedNumberD
|
||||
import com.sap.sse.datamining.impl.data.QueryResultImpl;
|
||||
import com.sap.sse.datamining.shared.GroupKey;
|
||||
import com.sap.sse.datamining.shared.data.QueryResultState;
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
import com.sap.sse.datamining.shared.impl.AdditionalResultDataImpl;
|
||||
import com.sap.sse.datamining.shared.impl.GenericGroupKey;
|
||||
import com.sap.sse.datamining.test.util.FunctionTestsUtil;
|
||||
@@ -70,7 +70,7 @@ public class TestStatisticQuery {
|
||||
FunctionFactory functionFactory = FunctionTestsUtil.getFunctionFactory();
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
DataRetrieverChainDefinition<Collection<Number>, Number, ?> retrieverChain = new SingleDataRetrieverChainDefinition<>((Class<Collection<Number>>)(Class<?>) Collection.class, Number.class, "Number");
|
||||
DataRetrieverChainDefinition<Collection<Number>, Number> retrieverChain = new SingleDataRetrieverChainDefinition<>((Class<Collection<Number>>)(Class<?>) Collection.class, Number.class, "Number");
|
||||
retrieverChain.startWith(NumberRetrievalProcessor.class, Number.class, "Number");
|
||||
|
||||
Method getCrossSumMethod = FunctionTestsUtil.getMethodFromClass(Number.class, "getCrossSum");
|
||||
|
||||
+79
-10
@@ -1,8 +1,10 @@
|
||||
package com.sap.sse.datamining.impl.components;
|
||||
|
||||
import static com.sap.sse.datamining.test.util.ConcurrencyTestsUtil.getExecutor;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.hamcrest.Matchers.not;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -14,7 +16,6 @@ import com.sap.sse.datamining.components.DataRetrieverChainBuilder;
|
||||
import com.sap.sse.datamining.components.DataRetrieverChainDefinition;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.impl.components.SimpleDataRetrieverChainDefinition.EmptySettings;
|
||||
import com.sap.sse.datamining.impl.criterias.AbstractFilterCriterion;
|
||||
import com.sap.sse.datamining.test.data.Test_HasLegOfCompetitorContext;
|
||||
import com.sap.sse.datamining.test.data.Test_HasRaceContext;
|
||||
@@ -23,13 +24,14 @@ import com.sap.sse.datamining.test.util.ComponentTestsUtil;
|
||||
import com.sap.sse.datamining.test.util.ConcurrencyTestsUtil;
|
||||
import com.sap.sse.datamining.test.util.components.NullProcessor;
|
||||
import com.sap.sse.datamining.test.util.components.TestLegOfCompetitorWithContextRetrievalProcessor;
|
||||
import com.sap.sse.datamining.test.util.components.TestNullRetrievalProcessorWithSettings;
|
||||
import com.sap.sse.datamining.test.util.components.TestRaceWithContextRetrievalProcessor;
|
||||
import com.sap.sse.datamining.test.util.components.TestRegattaRetrievalProcessor;
|
||||
import com.sap.sse.datamining.test.util.components.Test_NullRetrievalProcessorSettings;
|
||||
|
||||
public class TestDataRetrieverChainCreation {
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
private DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext, EmptySettings> dataRetrieverChainDefinition;
|
||||
private DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> dataRetrieverChainDefinition;
|
||||
|
||||
private FilterCriterion<Test_HasRaceContext> raceFilter;
|
||||
private FilterCriterion<Test_HasLegOfCompetitorContext> legOfCompetitorFilter;
|
||||
@@ -79,7 +81,7 @@ public class TestDataRetrieverChainCreation {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test(expected=IllegalStateException.class)
|
||||
public void testCreationWithExistingChainDefinition() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?, ?> chainClone = new SimpleDataRetrieverChainDefinition<>(dataRetrieverChainDefinition, Void.class, "TestRetrieverChain");
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?> chainClone = new SimpleDataRetrieverChainDefinition<>(dataRetrieverChainDefinition, Void.class, "TestRetrieverChain");
|
||||
assertThat(chainClone.getDataSourceType().equals(dataRetrieverChainDefinition.getDataSourceType()), is(true));
|
||||
|
||||
List<DataRetrieverLevel<?, ?>> cloneDataRetrieverTypesWithInformation = (List<DataRetrieverLevel<?, ?>>) chainClone.getDataRetrieverLevels();
|
||||
@@ -96,18 +98,27 @@ public class TestDataRetrieverChainCreation {
|
||||
|
||||
try {
|
||||
chainBuilder.getCurrentRetrievedDataType();
|
||||
fail("An IllegalStateException is expected.");
|
||||
} catch (IllegalStateException e) {
|
||||
}
|
||||
try {
|
||||
chainBuilder.setFilter(null);
|
||||
fail("An IllegalStateException is expected.");
|
||||
} catch (IllegalStateException e) {
|
||||
}
|
||||
try {
|
||||
chainBuilder.setSettings(null);
|
||||
fail("An IllegalStateException is expected.");
|
||||
} catch (IllegalStateException e) {
|
||||
}
|
||||
try {
|
||||
chainBuilder.addResultReceiver(null);
|
||||
fail("An IllegalStateException is expected.");
|
||||
} catch (IllegalStateException e) {
|
||||
}
|
||||
try {
|
||||
chainBuilder.build();
|
||||
fail("An IllegalStateException is expected.");
|
||||
} catch (IllegalStateException e) {
|
||||
}
|
||||
}
|
||||
@@ -138,7 +149,7 @@ public class TestDataRetrieverChainCreation {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test(expected=IllegalStateException.class)
|
||||
public void testAddAfterWithoutStarting() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Void.class, "TestRetrieverChain");
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Void.class, "TestRetrieverChain");
|
||||
|
||||
Class<Processor<Collection<Test_Regatta>, Test_Regatta>> regattaRetrieverClass = (Class<Processor<Collection<Test_Regatta>, Test_Regatta>>)(Class<?>) TestRegattaRetrievalProcessor.class;
|
||||
Class<Processor<Test_Regatta, Test_HasRaceContext>> raceRetrieverClass =
|
||||
@@ -151,7 +162,7 @@ public class TestDataRetrieverChainCreation {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test(expected=IllegalStateException.class)
|
||||
public void testStartingTwice() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Void.class, "TestRetrieverChain");
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Void.class, "TestRetrieverChain");
|
||||
Class<Processor<Collection<Test_Regatta>, Test_Regatta>> regattaRetrieverClass = (Class<Processor<Collection<Test_Regatta>, Test_Regatta>>)(Class<?>) TestRegattaRetrievalProcessor.class;
|
||||
dataRetrieverChainDefinition.startWith(regattaRetrieverClass, Test_Regatta.class, "regatta");
|
||||
dataRetrieverChainDefinition.startWith(regattaRetrieverClass, Test_Regatta.class, "regatta");
|
||||
@@ -160,14 +171,14 @@ public class TestDataRetrieverChainCreation {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test(expected=IllegalArgumentException.class)
|
||||
public void testStartingWithProcessorWithoutUsableConstructor() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Void.class, "TestRetrieverChain");
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Void.class, "TestRetrieverChain");
|
||||
dataRetrieverChainDefinition.startWith((Class<Processor<Collection<Test_Regatta>, Test_Regatta>>)(Class<?>) Processor.class, Test_Regatta.class, "regatta");
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test(expected=IllegalArgumentException.class)
|
||||
public void testAddingProcessorWithoutUsableConstructor() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Void.class, "TestRetrieverChain");
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Void.class, "TestRetrieverChain");
|
||||
Class<Processor<Collection<Test_Regatta>, Test_Regatta>> regattaRetrieverClass = (Class<Processor<Collection<Test_Regatta>, Test_Regatta>>)(Class<?>) TestRegattaRetrievalProcessor.class;
|
||||
dataRetrieverChainDefinition.startWith(regattaRetrieverClass, Test_Regatta.class, "regatta");
|
||||
|
||||
@@ -179,7 +190,7 @@ public class TestDataRetrieverChainCreation {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test(expected=IllegalArgumentException.class)
|
||||
public void testAddingRetrieverThatDoesntMatch() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Void.class, "TestRetrieverChain");
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Void.class, "TestRetrieverChain");
|
||||
Class<Processor<Collection<Test_Regatta>, Test_Regatta>> regattaRetrieverClass = (Class<Processor<Collection<Test_Regatta>, Test_Regatta>>)(Class<?>) TestRegattaRetrievalProcessor.class;
|
||||
dataRetrieverChainDefinition.startWith(regattaRetrieverClass, Test_Regatta.class, "regatta");
|
||||
|
||||
@@ -231,7 +242,7 @@ public class TestDataRetrieverChainCreation {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test(expected=IllegalStateException.class)
|
||||
public void testStartBuildingWithIncompleteChain() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Test_HasLegOfCompetitorContext.class, "TestRetrieverChain");
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Test_HasLegOfCompetitorContext.class, "TestRetrieverChain");
|
||||
Class<Processor<Collection<Test_Regatta>, Test_Regatta>> regattaRetrieverClass = (Class<Processor<Collection<Test_Regatta>, Test_Regatta>>)(Class<?>) TestRegattaRetrievalProcessor.class;
|
||||
dataRetrieverChainDefinition.startWith(regattaRetrieverClass, Test_Regatta.class, "regatta");
|
||||
|
||||
@@ -243,5 +254,63 @@ public class TestDataRetrieverChainCreation {
|
||||
|
||||
dataRetrieverChainDefinition.startBuilding(ConcurrencyTestsUtil.getExecutor());
|
||||
}
|
||||
|
||||
@Test(expected=IllegalStateException.class)
|
||||
public void testSteppingToFar() {
|
||||
DataRetrieverChainBuilder<Collection<Test_Regatta>> chainBuilder = dataRetrieverChainDefinition.startBuilding(ConcurrencyTestsUtil.getExecutor());
|
||||
while (chainBuilder.canStepFurther()) {
|
||||
chainBuilder.stepFurther();
|
||||
}
|
||||
chainBuilder.stepFurther();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRetrieverChainWithSettingsCreation() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> chainWithSettings =
|
||||
new SimpleDataRetrieverChainDefinition<>(dataRetrieverChainDefinition, Test_HasLegOfCompetitorContext.class, "TestRetrieverChain");
|
||||
chainWithSettings.endWith(TestLegOfCompetitorWithContextRetrievalProcessor.class, TestNullRetrievalProcessorWithSettings.class, Test_HasLegOfCompetitorContext.class,
|
||||
Test_NullRetrievalProcessorSettings.class, new Test_NullRetrievalProcessorSettings("Default Settings"), "legOfCompetitor");
|
||||
|
||||
DataRetrieverChainBuilder<Collection<Test_Regatta>> chainBuilder = chainWithSettings.startBuilding(getExecutor());
|
||||
while (chainBuilder.canStepFurther()) {
|
||||
chainBuilder.stepFurther();
|
||||
}
|
||||
|
||||
chainBuilder.build();
|
||||
|
||||
Test_NullRetrievalProcessorSettings settings = new Test_NullRetrievalProcessorSettings("Settings Value");
|
||||
chainBuilder.setSettings(settings);
|
||||
|
||||
chainBuilder.build();
|
||||
}
|
||||
|
||||
@Test(expected=NullPointerException.class)
|
||||
public void testRetrieverChainDefinitionWithSettingsButWithoutDefaultSettings() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> chainWithSettings =
|
||||
new SimpleDataRetrieverChainDefinition<>(dataRetrieverChainDefinition, Test_HasLegOfCompetitorContext.class, "TestRetrieverChain");
|
||||
chainWithSettings.endWith(TestLegOfCompetitorWithContextRetrievalProcessor.class, TestNullRetrievalProcessorWithSettings.class, Test_HasLegOfCompetitorContext.class,
|
||||
Test_NullRetrievalProcessorSettings.class, null, "legOfCompetitor");
|
||||
}
|
||||
|
||||
@Test(expected=IllegalArgumentException.class)
|
||||
public void testRetrieverChainWithWrongSettingsCreation() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> chainWithSettings =
|
||||
new SimpleDataRetrieverChainDefinition<>(dataRetrieverChainDefinition, Test_HasLegOfCompetitorContext.class, "TestRetrieverChain");
|
||||
chainWithSettings.endWith(TestLegOfCompetitorWithContextRetrievalProcessor.class, TestNullRetrievalProcessorWithSettings.class, Test_HasLegOfCompetitorContext.class,
|
||||
Test_NullRetrievalProcessorSettings.class, new Test_NullRetrievalProcessorSettings("Default Settings"), "legOfCompetitor");
|
||||
|
||||
DataRetrieverChainBuilder<Collection<Test_Regatta>> chainBuilder = chainWithSettings.startBuilding(getExecutor());
|
||||
while (chainBuilder.canStepFurther()) {
|
||||
chainBuilder.stepFurther();
|
||||
}
|
||||
chainBuilder.setSettings("Error");
|
||||
}
|
||||
|
||||
@Test(expected=IllegalStateException.class)
|
||||
public void testRetrieverWithNoSettingsButSettedSettingsCreated() {
|
||||
DataRetrieverChainBuilder<Collection<Test_Regatta>> chainBuilder = dataRetrieverChainDefinition.startBuilding(ConcurrencyTestsUtil.getExecutor());
|
||||
chainBuilder.stepFurther(); // Initialization
|
||||
chainBuilder.setSettings("Error");
|
||||
}
|
||||
|
||||
}
|
||||
+6
-8
@@ -14,7 +14,6 @@ import com.sap.sse.datamining.ModifiableDataMiningServer;
|
||||
import com.sap.sse.datamining.components.DataRetrieverChainDefinition;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.impl.components.SimpleDataRetrieverChainDefinition;
|
||||
import com.sap.sse.datamining.impl.components.SimpleDataRetrieverChainDefinition.EmptySettings;
|
||||
import com.sap.sse.datamining.test.data.Test_HasLegOfCompetitorContext;
|
||||
import com.sap.sse.datamining.test.data.Test_HasRaceContext;
|
||||
import com.sap.sse.datamining.test.data.Test_HasRaceContextImpl;
|
||||
@@ -27,9 +26,8 @@ import com.sap.sse.datamining.test.util.components.TestRegattaRetrievalProcessor
|
||||
|
||||
public class TestDataRetrieverChainDefinitionManagement {
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
private DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasRaceContext, EmptySettings> raceRetrieverChainDefinition;
|
||||
private DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext, ?> legRetrieverChainDefinition;
|
||||
private DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasRaceContext> raceRetrieverChainDefinition;
|
||||
private DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> legRetrieverChainDefinition;
|
||||
private ModifiableDataMiningServer server;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -63,7 +61,7 @@ public class TestDataRetrieverChainDefinitionManagement {
|
||||
public void testGetDataRetrieverChainDefinitions() {
|
||||
Class<Collection<Test_Regatta>> dataSourceType = (Class<Collection<Test_Regatta>>)(Class<?>) Collection.class;
|
||||
|
||||
Collection<DataRetrieverChainDefinition<?, ?, ?>> expectedRetrieverChainDefinitions = new HashSet<>();
|
||||
Collection<DataRetrieverChainDefinition<?, ?>> expectedRetrieverChainDefinitions = new HashSet<>();
|
||||
expectedRetrieverChainDefinitions.add(raceRetrieverChainDefinition);
|
||||
assertThat(server.getDataRetrieverChainDefinitions(dataSourceType, Test_HasRaceContext.class), is(expectedRetrieverChainDefinitions));
|
||||
|
||||
@@ -109,7 +107,7 @@ public class TestDataRetrieverChainDefinitionManagement {
|
||||
server.unregisterDataRetrieverChainDefinition(legRetrieverChainDefinition);
|
||||
assertThat(server.getComponentsChangedTimepoint().after(beforeUnregistration), is(false));
|
||||
|
||||
Collection<DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext, ?>> expectedEmptyDataRetrieverChainDefinitions = new HashSet<>();
|
||||
Collection<DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext>> expectedEmptyDataRetrieverChainDefinitions = new HashSet<>();
|
||||
assertThat(server.getDataRetrieverChainDefinitions(dataSourceType, Test_HasLegOfCompetitorContext.class), is(expectedEmptyDataRetrieverChainDefinitions));
|
||||
}
|
||||
|
||||
@@ -123,14 +121,14 @@ public class TestDataRetrieverChainDefinitionManagement {
|
||||
server.registerDataRetrieverChainDefinition(legRetrieverChainDefinition);
|
||||
assertThat(server.getComponentsChangedTimepoint().after(beforeRegistration), is(false));
|
||||
|
||||
Collection<DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext, ?>> expectedDataRetrieverChainDefinitions = new HashSet<>();
|
||||
Collection<DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext>> expectedDataRetrieverChainDefinitions = new HashSet<>();
|
||||
expectedDataRetrieverChainDefinitions.add(legRetrieverChainDefinition);
|
||||
assertThat(server.getDataRetrieverChainDefinitions(dataSourceType, Test_HasLegOfCompetitorContext.class), is(expectedDataRetrieverChainDefinitions));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetDataRetrieverChainDefinitionsForNotRegisteredChain() {
|
||||
Collection<DataRetrieverChainDefinition<Test_Regatta, Test_HasRaceContextImpl, ?>> expectedEmptyDataRetrieverChainDefinitions = new HashSet<>();
|
||||
Collection<DataRetrieverChainDefinition<Test_Regatta, Test_HasRaceContextImpl>> expectedEmptyDataRetrieverChainDefinitions = new HashSet<>();
|
||||
assertThat(server.getDataRetrieverChainDefinitions(Test_Regatta.class, Test_HasRaceContextImpl.class), is(expectedEmptyDataRetrieverChainDefinitions));
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -10,8 +10,8 @@ import java.util.Locale;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
import com.sap.sse.datamining.test.data.impl.ContainerElement;
|
||||
import com.sap.sse.datamining.test.data.impl.ContainerElementImpl;
|
||||
import com.sap.sse.datamining.test.data.impl.MarkedContainer;
|
||||
|
||||
+4
-4
@@ -81,7 +81,7 @@ public class TestFunctionManagerAsFunctionProvider {
|
||||
|
||||
@Test
|
||||
public void testGetDimensionsForDataRetrieverChainDefinition() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext, ?> dataRetrieverChainDefinition = createDataRetrieverChainDefinition();
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> dataRetrieverChainDefinition = createDataRetrieverChainDefinition();
|
||||
|
||||
List<? extends DataRetrieverLevel<?, ?>> dataRetrieverLevels = dataRetrieverChainDefinition.getDataRetrieverLevels();
|
||||
Map<DataRetrieverLevel<?, ?>, Iterable<Function<?>>> expectedDimensions = new HashMap<>();
|
||||
@@ -94,7 +94,7 @@ public class TestFunctionManagerAsFunctionProvider {
|
||||
|
||||
@Test
|
||||
public void testGetReducedDimensionsForDataRetrieverChainDefinition() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext, ?> retrieverChain = createDataRetrieverChainDefinition();
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> retrieverChain = createDataRetrieverChainDefinition();
|
||||
|
||||
Map<DataRetrieverLevel<?, ?>, Iterable<Function<?>>> expectedDimensions = server.getDimensionsMappedByLevelFor(retrieverChain);
|
||||
for (DataRetrieverLevel<?, ?> retrieverLevel : expectedDimensions.keySet()) {
|
||||
@@ -115,8 +115,8 @@ public class TestFunctionManagerAsFunctionProvider {
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext, ?> createDataRetrieverChainDefinition() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext, ?> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Test_HasLegOfCompetitorContext.class, "TestRetrieverChain");
|
||||
public DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> createDataRetrieverChainDefinition() {
|
||||
DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> dataRetrieverChainDefinition = new SimpleDataRetrieverChainDefinition<>((Class<Collection<Test_Regatta>>)(Class<?>) Collection.class, Test_HasLegOfCompetitorContext.class, "TestRetrieverChain");
|
||||
Class<Processor<Collection<Test_Regatta>, Test_Regatta>> regattaRetrieverClass = (Class<Processor<Collection<Test_Regatta>, Test_Regatta>>)(Class<?>) TestRegattaRetrievalProcessor.class;
|
||||
dataRetrieverChainDefinition.startWith(regattaRetrieverClass, Test_Regatta.class, "regatta");
|
||||
|
||||
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package com.sap.sse.datamining.test.data;
|
||||
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Statistic;
|
||||
import com.sap.sse.datamining.components.management.FunctionRegistry;
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.shared.annotations.Statistic;
|
||||
import com.sap.sse.datamining.test.domain.Test_DeadConnectorEnd;
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.sap.sse.datamining.test.data;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
import com.sap.sse.datamining.test.domain.Test_Competitor;
|
||||
import com.sap.sse.datamining.test.domain.Test_Leg;
|
||||
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.sap.sse.datamining.test.data;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
import com.sap.sse.datamining.test.domain.Test_BoatClass;
|
||||
import com.sap.sse.datamining.test.domain.Test_Race;
|
||||
import com.sap.sse.datamining.test.domain.Test_Regatta;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sse.datamining.test.data.impl;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface ContainerElement {
|
||||
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.sap.sse.datamining.test.data.impl;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Statistic;
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
import com.sap.sse.datamining.annotations.Statistic;
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
|
||||
public interface DataTypeInterface {
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sse.datamining.test.data.impl;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
/*
|
||||
* DON'T CHANGE THE METHOD/CLASS NAMES!
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sse.datamining.test.data.impl;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface ExtendingInterface {
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sse.datamining.test.data.impl;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface MarkedContainer {
|
||||
|
||||
|
||||
+2
-2
@@ -2,8 +2,8 @@ package com.sap.sse.datamining.test.data.impl;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.shared.annotations.Statistic;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Statistic;
|
||||
import com.sap.sse.i18n.ResourceBundleStringMessages;
|
||||
|
||||
/*
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sse.datamining.test.domain;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface Test_Boat {
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sse.datamining.test.domain;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
|
||||
public interface Test_Competitor {
|
||||
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.sap.sse.datamining.test.domain;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Statistic;
|
||||
import com.sap.sse.datamining.shared.data.Unit;
|
||||
import com.sap.sse.datamining.annotations.Statistic;
|
||||
import com.sap.sse.datamining.annotations.data.Unit;
|
||||
|
||||
public interface Test_Leg {
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sse.datamining.test.domain;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
public interface Test_Named {
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ package com.sap.sse.datamining.test.util.components;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
|
||||
/*
|
||||
* DON'T CHANGE THE METHOD/CLASS NAMES!
|
||||
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package com.sap.sse.datamining.test.util.components;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.impl.components.AbstractRetrievalProcessor;
|
||||
import com.sap.sse.datamining.test.data.Test_HasLegOfCompetitorContext;
|
||||
|
||||
public class TestNullRetrievalProcessorWithSettings extends AbstractRetrievalProcessor<Test_HasLegOfCompetitorContext, Test_HasLegOfCompetitorContext>{
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private Test_NullRetrievalProcessorSettings settings;
|
||||
|
||||
public TestNullRetrievalProcessorWithSettings(ExecutorService executor, Collection<Processor<Test_HasLegOfCompetitorContext, ?>> resultReceivers,
|
||||
Test_NullRetrievalProcessorSettings settings, int retrievalLevel) {
|
||||
super(Test_HasLegOfCompetitorContext.class, Test_HasLegOfCompetitorContext.class, executor, resultReceivers, retrievalLevel);
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Iterable<Test_HasLegOfCompetitorContext> retrieveData(Test_HasLegOfCompetitorContext legWithContext) {
|
||||
Collection<Test_HasLegOfCompetitorContext> legsWithContext = new ArrayList<>();
|
||||
legsWithContext.add(legWithContext);
|
||||
return legsWithContext;
|
||||
}
|
||||
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.sap.sse.datamining.test.util.components;
|
||||
|
||||
import com.sap.sse.common.settings.SerializableSettings;
|
||||
|
||||
public class Test_NullRetrievalProcessorSettings extends SerializableSettings {
|
||||
private static final long serialVersionUID = -373296620115384430L;
|
||||
|
||||
private final String value;
|
||||
|
||||
public Test_NullRetrievalProcessorSettings(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
}
|
||||
Loaded 100 of 138 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user