mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-04 01:59:35 +00:00
Improved some class names
This commit is contained in:
1 parent
3a876c3b6b
commit
6da8edb237
35 files changed
+135
-135
No files matched your search
+2
-2
@@ -26,9 +26,9 @@ import com.sap.sse.datamining.impl.components.GroupedDataEntry;
|
||||
import com.sap.sse.datamining.shared.QueryDefinition;
|
||||
import com.sap.sse.datamining.shared.dto.FunctionDTO;
|
||||
|
||||
public final class DataMiningFactory {
|
||||
public final class SailingDataMiningFactory {
|
||||
|
||||
private DataMiningFactory() {
|
||||
private SailingDataMiningFactory() {
|
||||
}
|
||||
|
||||
public static <ElementType> Query<Double> createQuery(RacingEventService dataSource, final QueryDefinition queryDefinition, final FunctionProvider functionProvider) {
|
||||
+14
-14
@@ -21,15 +21,15 @@ import com.sap.sailing.datamining.impl.components.TrackedRaceFilteringRetrievalP
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
import com.sap.sailing.domain.leaderboard.RegattaLeaderboard;
|
||||
import com.sap.sailing.server.RacingEventService;
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.functions.FunctionProvider;
|
||||
import com.sap.sse.datamining.impl.DataMiningActivator;
|
||||
import com.sap.sse.datamining.impl.criterias.AndCompoundFilterCriteria;
|
||||
import com.sap.sse.datamining.impl.criterias.CompoundFilterCriteria;
|
||||
import com.sap.sse.datamining.impl.criterias.NonFilteringFilterCriteria;
|
||||
import com.sap.sse.datamining.impl.criterias.NullaryFunctionValuesFilterCriteria;
|
||||
import com.sap.sse.datamining.impl.criterias.AndCompoundFilterCriterion;
|
||||
import com.sap.sse.datamining.impl.criterias.CompoundFilterCriterion;
|
||||
import com.sap.sse.datamining.impl.criterias.NonFilteringFilterCriterion;
|
||||
import com.sap.sse.datamining.impl.criterias.NullaryFunctionValuesFilterCriterion;
|
||||
import com.sap.sse.datamining.shared.dto.FunctionDTO;
|
||||
|
||||
public final class SailingDataRetrieverFactory {
|
||||
@@ -84,24 +84,24 @@ public final class SailingDataRetrieverFactory {
|
||||
+ dataRetrievalLevel + "'");
|
||||
}
|
||||
|
||||
private static <BaseDataType> FilterCriteria<BaseDataType> getFilterCriteriaForBaseDataType(Class<BaseDataType> baseDataType,
|
||||
private static <BaseDataType> FilterCriterion<BaseDataType> getFilterCriteriaForBaseDataType(Class<BaseDataType> baseDataType,
|
||||
Map<FunctionDTO, Iterable<? extends Serializable>> filterSelection, FunctionProvider functionProvider) {
|
||||
CompoundFilterCriteria<BaseDataType> criteria = null;
|
||||
CompoundFilterCriterion<BaseDataType> criteria = null;
|
||||
for (Entry<FunctionDTO, Iterable<? extends Serializable>> filterSelectionEntry : filterSelection.entrySet()) {
|
||||
Function<?> function = functionProvider.getFunctionForDTO(filterSelectionEntry.getKey());
|
||||
if (baseDataType.equals(function.getDeclaringType())) {
|
||||
if (criteria == null) {
|
||||
criteria = new AndCompoundFilterCriteria<>();
|
||||
criteria = new AndCompoundFilterCriterion<>();
|
||||
}
|
||||
|
||||
Collection<Object> filterValues = new ArrayList<>();
|
||||
for (Object filterValue : filterSelectionEntry.getValue()) {
|
||||
filterValues.add(filterValue);
|
||||
}
|
||||
criteria.addCriteria(new NullaryFunctionValuesFilterCriteria<BaseDataType>(function, filterValues));
|
||||
criteria.addCriteria(new NullaryFunctionValuesFilterCriterion<BaseDataType>(function, filterValues));
|
||||
}
|
||||
}
|
||||
return criteria != null ? criteria : new NonFilteringFilterCriteria<BaseDataType>();
|
||||
return criteria != null ? criteria : new NonFilteringFilterCriterion<BaseDataType>();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -123,16 +123,16 @@ public final class SailingDataRetrieverFactory {
|
||||
return new LeaderboardGroupRetrievalProcessor(executor, leaderboardGroupSpecificResultReceivers);
|
||||
case RegattaLeaderboard:
|
||||
Collection<Processor<RegattaLeaderboard>> regattaLeaderboardSpecificResultReceivers = (Collection<Processor<RegattaLeaderboard>>)(Collection<?>) retrievalResultReceivers;
|
||||
return new RegattaLeaderboardFilteringRetrievalProcessor(executor, regattaLeaderboardSpecificResultReceivers, new NonFilteringFilterCriteria<RegattaLeaderboard>());
|
||||
return new RegattaLeaderboardFilteringRetrievalProcessor(executor, regattaLeaderboardSpecificResultReceivers, new NonFilteringFilterCriterion<RegattaLeaderboard>());
|
||||
case TrackedLeg:
|
||||
Collection<Processor<HasTrackedLegContext>> trackedLegSpecificResultReceivers = (Collection<Processor<HasTrackedLegContext>>)(Collection<?>) retrievalResultReceivers;
|
||||
return new TrackedLegFilteringRetrievalProcessor(executor, trackedLegSpecificResultReceivers, new NonFilteringFilterCriteria<HasTrackedLegContext>());
|
||||
return new TrackedLegFilteringRetrievalProcessor(executor, trackedLegSpecificResultReceivers, new NonFilteringFilterCriterion<HasTrackedLegContext>());
|
||||
case TrackedLegOfCompetitor:
|
||||
Collection<Processor<HasTrackedLegOfCompetitorContext>> trackedLegOfCompetitorSpecificResultReceivers = (Collection<Processor<HasTrackedLegOfCompetitorContext>>)(Collection<?>) retrievalResultReceivers;
|
||||
return new TrackedLegOfCompetitorFilteringRetrievalProcessor(executor, trackedLegOfCompetitorSpecificResultReceivers, new NonFilteringFilterCriteria<HasTrackedLegOfCompetitorContext>());
|
||||
return new TrackedLegOfCompetitorFilteringRetrievalProcessor(executor, trackedLegOfCompetitorSpecificResultReceivers, new NonFilteringFilterCriterion<HasTrackedLegOfCompetitorContext>());
|
||||
case TrackedRace:
|
||||
Collection<Processor<HasTrackedRaceContext>> trackedRaceSpecificResultReceivers = (Collection<Processor<HasTrackedRaceContext>>)(Collection<?>) retrievalResultReceivers;
|
||||
return new TrackedRaceFilteringRetrievalProcessor(executor, trackedRaceSpecificResultReceivers, new NonFilteringFilterCriteria<HasTrackedRaceContext>());
|
||||
return new TrackedRaceFilteringRetrievalProcessor(executor, trackedRaceSpecificResultReceivers, new NonFilteringFilterCriterion<HasTrackedRaceContext>());
|
||||
}
|
||||
throw new IllegalArgumentException("No data retriever implemented for the given data retrieval level '"
|
||||
+ retrievalLevel + "'");
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@ import com.sap.sailing.datamining.Activator;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
import com.sap.sailing.domain.leaderboard.RegattaLeaderboard;
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.impl.components.AbstractSimpleFilteringRetrievalProcessor;
|
||||
import com.sap.sse.datamining.shared.annotations.DataRetriever;
|
||||
@@ -20,7 +20,7 @@ public class RegattaLeaderboardFilteringRetrievalProcessor extends
|
||||
AbstractSimpleFilteringRetrievalProcessor<LeaderboardGroup, RegattaLeaderboard> {
|
||||
|
||||
public RegattaLeaderboardFilteringRetrievalProcessor(ExecutorService executor,
|
||||
Collection<Processor<RegattaLeaderboard>> resultReceivers, FilterCriteria<RegattaLeaderboard> criteria) {
|
||||
Collection<Processor<RegattaLeaderboard>> resultReceivers, FilterCriterion<RegattaLeaderboard> criteria) {
|
||||
super(executor, resultReceivers, criteria);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ import com.sap.sailing.datamining.data.HasTrackedLegContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedRaceContext;
|
||||
import com.sap.sailing.datamining.impl.data.TrackedLegWithContext;
|
||||
import com.sap.sailing.domain.tracking.TrackedLeg;
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.impl.components.AbstractSimpleFilteringRetrievalProcessor;
|
||||
import com.sap.sse.datamining.shared.annotations.DataRetriever;
|
||||
@@ -21,7 +21,7 @@ public class TrackedLegFilteringRetrievalProcessor extends
|
||||
AbstractSimpleFilteringRetrievalProcessor<HasTrackedRaceContext, HasTrackedLegContext> {
|
||||
|
||||
public TrackedLegFilteringRetrievalProcessor(ExecutorService executor,
|
||||
Collection<Processor<HasTrackedLegContext>> resultReceivers, FilterCriteria<HasTrackedLegContext> criteria) {
|
||||
Collection<Processor<HasTrackedLegContext>> resultReceivers, FilterCriterion<HasTrackedLegContext> criteria) {
|
||||
super(executor, resultReceivers, criteria);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ import com.sap.sailing.datamining.data.HasTrackedLegContext;
|
||||
import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
|
||||
import com.sap.sailing.datamining.impl.data.TrackedLegOfCompetitorWithContext;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.impl.components.AbstractSimpleFilteringRetrievalProcessor;
|
||||
import com.sap.sse.datamining.shared.annotations.DataRetriever;
|
||||
@@ -22,7 +22,7 @@ public class TrackedLegOfCompetitorFilteringRetrievalProcessor extends
|
||||
|
||||
public TrackedLegOfCompetitorFilteringRetrievalProcessor(ExecutorService executor,
|
||||
Collection<Processor<HasTrackedLegOfCompetitorContext>> resultReceivers,
|
||||
FilterCriteria<HasTrackedLegOfCompetitorContext> criteria) {
|
||||
FilterCriterion<HasTrackedLegOfCompetitorContext> criteria) {
|
||||
super(executor, resultReceivers, criteria);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@ import com.sap.sailing.domain.base.RaceColumn;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.impl.components.AbstractSimpleFilteringRetrievalProcessor;
|
||||
import com.sap.sse.datamining.shared.annotations.DataRetriever;
|
||||
@@ -23,7 +23,7 @@ public class TrackedRaceFilteringRetrievalProcessor extends
|
||||
AbstractSimpleFilteringRetrievalProcessor<Leaderboard, HasTrackedRaceContext> {
|
||||
|
||||
public TrackedRaceFilteringRetrievalProcessor(ExecutorService executor,
|
||||
Collection<Processor<HasTrackedRaceContext>> resultReceivers, FilterCriteria<HasTrackedRaceContext> criteria) {
|
||||
Collection<Processor<HasTrackedRaceContext>> resultReceivers, FilterCriterion<HasTrackedRaceContext> criteria) {
|
||||
super(executor, resultReceivers, criteria);
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -9,7 +9,7 @@ import org.osgi.framework.BundleContext;
|
||||
import org.osgi.util.tracker.ServiceTracker;
|
||||
|
||||
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
|
||||
import com.sap.sailing.datamining.factories.DataMiningFactory;
|
||||
import com.sap.sailing.datamining.factories.SailingDataMiningFactory;
|
||||
import com.sap.sailing.datamining.shared.SailingDataMiningSerializationDummy;
|
||||
import com.sap.sailing.gwt.ui.datamining.DataMiningService;
|
||||
import com.sap.sailing.server.RacingEventService;
|
||||
@@ -91,14 +91,14 @@ public class DataMiningServiceImpl extends RemoteServiceServlet implements DataM
|
||||
|
||||
@Override
|
||||
public QueryResult<Set<Object>> getDimensionValuesFor(Collection<FunctionDTO> dimensions) throws Exception {
|
||||
Query<Set<Object>> dimensionValuesQuery = DataMiningFactory.createDimensionValuesQuery(getRacingEventService(), dimensions, getDataMiningServer().getFunctionProvider());
|
||||
Query<Set<Object>> dimensionValuesQuery = SailingDataMiningFactory.createDimensionValuesQuery(getRacingEventService(), dimensions, getDataMiningServer().getFunctionProvider());
|
||||
return dimensionValuesQuery.run();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <ResultType extends Number> QueryResult<ResultType> runQuery(QueryDefinition queryDefinition) throws Exception {
|
||||
@SuppressWarnings("unchecked") // TODO Fix after the data mining has been cleaned
|
||||
Query<ResultType> query = (Query<ResultType>) DataMiningFactory.createQuery(getRacingEventService(), queryDefinition, getDataMiningServer().getFunctionProvider());
|
||||
Query<ResultType> query = (Query<ResultType>) SailingDataMiningFactory.createQuery(getRacingEventService(), queryDefinition, getDataMiningServer().getFunctionProvider());
|
||||
return query.run();
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@ import org.junit.Test;
|
||||
|
||||
import com.sap.sse.datamining.AdditionalResultDataBuilder;
|
||||
import com.sap.sse.datamining.Query;
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.factories.FunctionFactory;
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
@@ -117,7 +117,7 @@ public class TestProcessorQuery {
|
||||
dimensions.add(getLengthFunction);
|
||||
Processor<Number> lengthGrouper = new ParallelMultiDimensionsValueNestingGroupingProcessor<>(executor, Arrays.asList(crossSumExtractor), dimensions);
|
||||
|
||||
FilterCriteria<Number> retrievalFilterCriteria = new FilterCriteria<Number>() {
|
||||
FilterCriterion<Number> retrievalFilterCriteria = new FilterCriterion<Number>() {
|
||||
@Override
|
||||
public boolean matches(Number element) {
|
||||
return element.getValue() >= 10;
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sse.datamining.AdditionalResultDataBuilder;
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.test.util.ConcurrencyTestsUtil;
|
||||
|
||||
@@ -109,7 +109,7 @@ public class TestAbstractFilteringRetrievalProcessor {
|
||||
}
|
||||
};
|
||||
|
||||
FilterCriteria<Integer> elementGreaterZeroFilterCriteria = new FilterCriteria<Integer>() {
|
||||
FilterCriterion<Integer> elementGreaterZeroFilterCriteria = new FilterCriterion<Integer>() {
|
||||
@Override
|
||||
public boolean matches(Integer element) {
|
||||
return element >= 0;
|
||||
|
||||
+2
-2
@@ -13,7 +13,7 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sse.datamining.AdditionalResultDataBuilder;
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
import com.sap.sse.datamining.test.util.ConcurrencyTestsUtil;
|
||||
|
||||
@@ -27,7 +27,7 @@ public class TestFilteringProcessors {
|
||||
|
||||
@Test
|
||||
public void testFilteringProcessor() {
|
||||
FilterCriteria<Integer> elementIsEvenCriteria = new FilterCriteria<Integer>() {
|
||||
FilterCriterion<Integer> elementIsEvenCriteria = new FilterCriterion<Integer>() {
|
||||
@Override
|
||||
public boolean matches(Integer element) {
|
||||
return element % 2 == 0;
|
||||
|
||||
+10
-10
@@ -10,31 +10,31 @@ import java.util.Collection;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.factories.FunctionFactory;
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.test.functions.test_classes.DataTypeWithContext;
|
||||
import com.sap.sse.datamining.test.functions.test_classes.DataTypeWithContextImpl;
|
||||
import com.sap.sse.datamining.test.util.FunctionTestsUtil;
|
||||
import com.sap.sse.datamining.test.util.StringRegexFilterCriteria;
|
||||
import com.sap.sse.datamining.test.util.StringRegexFilterCriterion;
|
||||
|
||||
public class TestFilterCriterias {
|
||||
|
||||
@Test
|
||||
public void testRegexFilterCriteria() {
|
||||
FilterCriteria<String> regexFilterCriteria = new StringRegexFilterCriteria(".*");
|
||||
FilterCriterion<String> regexFilterCriteria = new StringRegexFilterCriterion(".*");
|
||||
assertTrue(regexFilterCriteria.matches("some Random stuff"));
|
||||
assertFalse(regexFilterCriteria.matches(null));
|
||||
|
||||
String[] stringsToMatch = new String[] {"Regatta", "Other Regatta", "Third Regatta"};
|
||||
|
||||
regexFilterCriteria = new StringRegexFilterCriteria(stringsToMatch[0] + "|" + stringsToMatch[1] + "|" + stringsToMatch[2]);
|
||||
regexFilterCriteria = new StringRegexFilterCriterion(stringsToMatch[0] + "|" + stringsToMatch[1] + "|" + stringsToMatch[2]);
|
||||
for (String stringToMatch : stringsToMatch) {
|
||||
assertTrue("Failed to match " + stringToMatch, regexFilterCriteria.matches(stringToMatch));
|
||||
}
|
||||
assertFalse("'Fourth Regatta' shouldn't be matched", regexFilterCriteria.matches("Fourth Regatta"));
|
||||
|
||||
regexFilterCriteria = new StringRegexFilterCriteria(".*Regatta");
|
||||
regexFilterCriteria = new StringRegexFilterCriterion(".*Regatta");
|
||||
for (String stringToMatch : stringsToMatch) {
|
||||
assertTrue("Failed to match " + stringToMatch, regexFilterCriteria.matches(stringToMatch));
|
||||
}
|
||||
@@ -43,17 +43,17 @@ public class TestFilterCriterias {
|
||||
|
||||
@Test
|
||||
public void testCompoundFilterCriterias() {
|
||||
StringRegexFilterCriteria startsWithBar = new StringRegexFilterCriteria("Bar.*");
|
||||
StringRegexFilterCriteria endWithFoo = new StringRegexFilterCriteria(".*Foo");
|
||||
StringRegexFilterCriterion startsWithBar = new StringRegexFilterCriterion("Bar.*");
|
||||
StringRegexFilterCriterion endWithFoo = new StringRegexFilterCriterion(".*Foo");
|
||||
|
||||
CompoundFilterCriteria<String> compoundCriteria = new AndCompoundFilterCriteria<String>();
|
||||
CompoundFilterCriterion<String> compoundCriteria = new AndCompoundFilterCriterion<String>();
|
||||
compoundCriteria.addCriteria(startsWithBar);
|
||||
compoundCriteria.addCriteria(endWithFoo);
|
||||
|
||||
assertTrue(compoundCriteria.matches("BarAndFoo"));
|
||||
assertFalse(compoundCriteria.matches("BarFo"));
|
||||
|
||||
compoundCriteria = new OrCompoundFilterCriteria<String>();
|
||||
compoundCriteria = new OrCompoundFilterCriterion<String>();
|
||||
compoundCriteria.addCriteria(startsWithBar);
|
||||
compoundCriteria.addCriteria(endWithFoo);
|
||||
|
||||
@@ -66,7 +66,7 @@ public class TestFilterCriterias {
|
||||
public void testNullaryFunctionValuesFilterCriteria() {
|
||||
Function<String> getRegattaName = FunctionFactory.createMethodWrappingFunction(FunctionTestsUtil.getMethodFromClass(DataTypeWithContext.class, "getRegattaName"));
|
||||
Collection<String> valuesToMatch = Arrays.asList("Regatta", "Other Regatta");
|
||||
FilterCriteria<DataTypeWithContext> nullaryFunctionFilterCriteria = new NullaryFunctionValuesFilterCriteria<>(getRegattaName, valuesToMatch);
|
||||
FilterCriterion<DataTypeWithContext> nullaryFunctionFilterCriteria = new NullaryFunctionValuesFilterCriterion<>(getRegattaName, valuesToMatch);
|
||||
|
||||
DataTypeWithContext regatta = new DataTypeWithContextImpl("Regatta", "Race Name", 7);
|
||||
assertThat(nullaryFunctionFilterCriteria.matches(regatta), is(true));
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ public class TestCompoundFunction {
|
||||
public void testConstruction() {
|
||||
List<Function<?>> functions = new ArrayList<>();
|
||||
functions.add(getContainerElementFunction);
|
||||
new CompoundFunction<String>("IllegalCompoundFunction", functions, String.class);
|
||||
new ConcatenatingCompoundFunction<String>("IllegalCompoundFunction", functions, String.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertThat;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.factories.FunctionFactory;
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.test.functions.test_classes.DataTypeInterface;
|
||||
@@ -35,7 +35,7 @@ public class TestDeclaringTypeOrParameterTypeCriteria {
|
||||
|
||||
@Test
|
||||
public void testMatchingTypeWithBigHierarchy() {
|
||||
FilterCriteria<Function<?>> criteria = new IsDeclaringTypeFilterCriteria(DataTypeWithContextImpl.class);
|
||||
FilterCriterion<Function<?>> criteria = new IsDeclaringTypeFilterCriterion(DataTypeWithContextImpl.class);
|
||||
|
||||
assertThat(criteria.matches(getSpeedInKnotsValue), is(true));
|
||||
assertThat(criteria.matches(getRaceNameLengthValue), is(true));
|
||||
|
||||
+4
-4
@@ -7,14 +7,14 @@ import java.lang.reflect.Method;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.test.util.FunctionTestsUtil;
|
||||
|
||||
public class TestFunctionFilterCriterias {
|
||||
|
||||
@Test
|
||||
public void testMethodIsCorrectDimensionFilterCriteria() {
|
||||
FilterCriteria<Method> filterCriteria = new MethodIsCorrectDimensionFilterCriteria();
|
||||
FilterCriterion<Method> filterCriteria = new MethodIsCorrectDimensionFilterCriterion();
|
||||
|
||||
Method dimension = FunctionTestsUtil.getMethodFromSimpleClassWithMarkedMethod("dimension");
|
||||
assertThat(filterCriteria.matches(dimension), is(true));
|
||||
@@ -28,7 +28,7 @@ public class TestFunctionFilterCriterias {
|
||||
|
||||
@Test
|
||||
public void testMethodIsCorrectSideEffectFreeValueFilterCriteria() {
|
||||
FilterCriteria<Method> filterCriteria = new MethodIsCorrectStatisticFilterCriteria();
|
||||
FilterCriterion<Method> filterCriteria = new MethodIsCorrectStatisticFilterCriterion();
|
||||
|
||||
Method sideEffectFreeValue = FunctionTestsUtil.getMethodFromSimpleClassWithMarkedMethod("sideEffectFreeValue");
|
||||
assertThat(filterCriteria.matches(sideEffectFreeValue), is(true));
|
||||
@@ -39,7 +39,7 @@ public class TestFunctionFilterCriterias {
|
||||
|
||||
@Test
|
||||
public void testMethodIsCorrectExternalLibraryFunctionFilterCriteria() {
|
||||
FilterCriteria<Method> filterCriteria = new MethodIsCorrectExternalFunctionFilterCriteria();
|
||||
FilterCriterion<Method> filterCriteria = new MethodIsCorrectExternalFunctionFilterCriterion();
|
||||
|
||||
Method foo = FunctionTestsUtil.getMethodFromExternalLibraryClass("foo");
|
||||
assertThat(filterCriteria.matches(foo), is(true));
|
||||
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
package com.sap.sse.datamining.test.util;
|
||||
|
||||
import com.sap.sse.datamining.impl.criterias.RegexFilterCriteria;
|
||||
|
||||
public class StringRegexFilterCriteria extends RegexFilterCriteria<String> {
|
||||
|
||||
public StringRegexFilterCriteria(String regex) {
|
||||
super(regex);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getValueToMatch(String data) {
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package com.sap.sse.datamining.test.util;
|
||||
|
||||
import com.sap.sse.datamining.impl.criterias.RegexFilterCriterion;
|
||||
|
||||
public class StringRegexFilterCriterion extends RegexFilterCriterion<String> {
|
||||
|
||||
public StringRegexFilterCriterion(String regex) {
|
||||
super(regex);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getValueToMatch(String data) {
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sse.datamining.components;
|
||||
|
||||
public interface FilterCriteria<T> {
|
||||
public interface FilterCriterion<T> {
|
||||
|
||||
public boolean matches(T element);
|
||||
|
||||
+3
-3
@@ -5,7 +5,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.impl.functions.CompoundFunction;
|
||||
import com.sap.sse.datamining.impl.functions.ConcatenatingCompoundFunction;
|
||||
import com.sap.sse.datamining.impl.functions.MethodWrappingFunction;
|
||||
|
||||
public class FunctionFactory {
|
||||
@@ -28,14 +28,14 @@ public class FunctionFactory {
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a {@link CompoundFunction} for the given functions.<br>
|
||||
* Creates a {@link ConcatenatingCompoundFunction} for the given functions.<br>
|
||||
* Throws a {@link ClassCastException}, if the return type of the last function doesn't match the generic <code>ReturnType</code> parameter.
|
||||
*
|
||||
* @throws ClassCastException
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public static <ReturnType> Function<ReturnType> createCompoundFunction(String name, List<Function<?>> functions) throws ClassCastException {
|
||||
return new CompoundFunction<ReturnType>(name, functions, (Class<ReturnType>) functions.get(functions.size() - 1).getReturnType());
|
||||
return new ConcatenatingCompoundFunction<ReturnType>(name, functions, (Class<ReturnType>) functions.get(functions.size() - 1).getReturnType());
|
||||
}
|
||||
|
||||
public static Function<?> createCompoundFunction(String name, List<Function<?>> previousFunctions,
|
||||
|
||||
+3
-3
@@ -4,16 +4,16 @@ import java.util.Collection;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
|
||||
public abstract class AbstractFilteringRetrievalProcessor<InputType, WorkingType, ResultType>
|
||||
extends AbstractRetrievalProcessor<InputType, WorkingType, ResultType> {
|
||||
|
||||
private final FilterCriteria<ResultType> criteria;
|
||||
private final FilterCriterion<ResultType> criteria;
|
||||
|
||||
public AbstractFilteringRetrievalProcessor(ExecutorService executor,
|
||||
Collection<Processor<ResultType>> resultReceivers, FilterCriteria<ResultType> criteria) {
|
||||
Collection<Processor<ResultType>> resultReceivers, FilterCriterion<ResultType> criteria) {
|
||||
super(executor, resultReceivers);
|
||||
this.criteria = criteria;
|
||||
}
|
||||
|
||||
+2
-2
@@ -3,14 +3,14 @@ package com.sap.sse.datamining.impl.components;
|
||||
import java.util.Collection;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
|
||||
public abstract class AbstractSimpleFilteringRetrievalProcessor<InputType, ResultType> extends
|
||||
AbstractFilteringRetrievalProcessor<InputType, ResultType, ResultType> {
|
||||
|
||||
public AbstractSimpleFilteringRetrievalProcessor(ExecutorService executor,
|
||||
Collection<Processor<ResultType>> resultReceivers, FilterCriteria<ResultType> criteria) {
|
||||
Collection<Processor<ResultType>> resultReceivers, FilterCriterion<ResultType> criteria) {
|
||||
super(executor, resultReceivers, criteria);
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -5,14 +5,14 @@ import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import com.sap.sse.datamining.AdditionalResultDataBuilder;
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.components.Processor;
|
||||
|
||||
public class ParallelFilteringProcessor<InputType> extends AbstractSimpleParallelProcessor<InputType, InputType> {
|
||||
|
||||
private final FilterCriteria<InputType> filterCriteria;
|
||||
private final FilterCriterion<InputType> filterCriteria;
|
||||
|
||||
public ParallelFilteringProcessor(ExecutorService executor, Collection<Processor<InputType>> resultReceivers, FilterCriteria<InputType> filterCriteria) {
|
||||
public ParallelFilteringProcessor(ExecutorService executor, Collection<Processor<InputType>> resultReceivers, FilterCriterion<InputType> filterCriteria) {
|
||||
super(executor, resultReceivers);
|
||||
this.filterCriteria = filterCriteria;
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
package com.sap.sse.datamining.impl.criterias;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
|
||||
public class AndCompoundFilterCriteria<DataType> extends CompoundFilterCriteria<DataType> {
|
||||
public class AndCompoundFilterCriterion<DataType> extends CompoundFilterCriterion<DataType> {
|
||||
|
||||
@Override
|
||||
public boolean matches(DataType data) {
|
||||
for (FilterCriteria<DataType> criteria : getCriterias()) {
|
||||
for (FilterCriterion<DataType> criteria : getCriterias()) {
|
||||
if (!criteria.matches(data)) {
|
||||
return false;
|
||||
}
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
package com.sap.sse.datamining.impl.criterias;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
|
||||
public abstract class CompoundFilterCriteria<DataType> implements FilterCriteria<DataType> {
|
||||
|
||||
private Collection<FilterCriteria<DataType>> criterias;
|
||||
|
||||
public CompoundFilterCriteria() {
|
||||
this.criterias = Collections.newSetFromMap(new ConcurrentHashMap<FilterCriteria<DataType>, Boolean>());
|
||||
}
|
||||
|
||||
public void addCriteria(FilterCriteria<DataType> criteria) {
|
||||
criterias.add(criteria);
|
||||
}
|
||||
|
||||
protected Collection<FilterCriteria<DataType>> getCriterias() {
|
||||
return criterias;
|
||||
}
|
||||
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package com.sap.sse.datamining.impl.criterias;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
|
||||
public abstract class CompoundFilterCriterion<DataType> implements FilterCriterion<DataType> {
|
||||
|
||||
private Collection<FilterCriterion<DataType>> criterias;
|
||||
|
||||
public CompoundFilterCriterion() {
|
||||
this.criterias = Collections.newSetFromMap(new ConcurrentHashMap<FilterCriterion<DataType>, Boolean>());
|
||||
}
|
||||
|
||||
public void addCriteria(FilterCriterion<DataType> criteria) {
|
||||
criterias.add(criteria);
|
||||
}
|
||||
|
||||
protected Collection<FilterCriterion<DataType>> getCriterias() {
|
||||
return criterias;
|
||||
}
|
||||
|
||||
}
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package com.sap.sse.datamining.impl.criterias;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
|
||||
public class NonFilteringFilterCriteria<T> implements FilterCriteria<T> {
|
||||
public class NonFilteringFilterCriterion<T> implements FilterCriterion<T> {
|
||||
|
||||
@Override
|
||||
public boolean matches(T element) {
|
||||
+3
-3
@@ -4,15 +4,15 @@ import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.Objects;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
|
||||
public class NullaryFunctionValuesFilterCriteria<DataType> implements FilterCriteria<DataType> {
|
||||
public class NullaryFunctionValuesFilterCriterion<DataType> implements FilterCriterion<DataType> {
|
||||
|
||||
private Function<?> function;
|
||||
private Collection<?> valuesToMatch;
|
||||
|
||||
public NullaryFunctionValuesFilterCriteria(Function<?> function, Collection<?> valuesToMatch) {
|
||||
public NullaryFunctionValuesFilterCriterion(Function<?> function, Collection<?> valuesToMatch) {
|
||||
this.function = function;
|
||||
this.valuesToMatch = new HashSet<>(valuesToMatch);
|
||||
}
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
package com.sap.sse.datamining.impl.criterias;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
|
||||
public class OrCompoundFilterCriteria<DataType> extends CompoundFilterCriteria<DataType> {
|
||||
public class OrCompoundFilterCriterion<DataType> extends CompoundFilterCriterion<DataType> {
|
||||
|
||||
@Override
|
||||
public boolean matches(DataType data) {
|
||||
for (FilterCriteria<DataType> criteria : getCriterias()) {
|
||||
for (FilterCriterion<DataType> criteria : getCriterias()) {
|
||||
if (criteria.matches(data)) {
|
||||
return true;
|
||||
}
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
package com.sap.sse.datamining.impl.criterias;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
|
||||
public abstract class RegexFilterCriteria<DataType> implements FilterCriteria<DataType> {
|
||||
public abstract class RegexFilterCriterion<DataType> implements FilterCriterion<DataType> {
|
||||
|
||||
private String regex;
|
||||
|
||||
public RegexFilterCriteria(String regex) {
|
||||
public RegexFilterCriterion(String regex) {
|
||||
this.regex = regex;
|
||||
}
|
||||
|
||||
+3
-3
@@ -9,7 +9,7 @@ import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.i18n.DataMiningStringMessages;
|
||||
import com.sap.sse.datamining.shared.Unit;
|
||||
|
||||
public class CompoundFunction<ReturnType> extends AbstractFunction<ReturnType> {
|
||||
public class ConcatenatingCompoundFunction<ReturnType> extends AbstractFunction<ReturnType> {
|
||||
|
||||
private static final String SIMPLE_NAME_CHAIN_CONNECTOR = " -> ";
|
||||
private static final String LOCALIZED_NAME_CHAIN_CONNECTOR = " ";
|
||||
@@ -18,7 +18,7 @@ public class CompoundFunction<ReturnType> extends AbstractFunction<ReturnType> {
|
||||
private final List<Function<?>> functions;
|
||||
private final int ordinal;
|
||||
|
||||
public CompoundFunction(String name, List<Function<?>> functions, Class<ReturnType> returnType) throws IllegalArgumentException {
|
||||
public ConcatenatingCompoundFunction(String name, List<Function<?>> functions, Class<ReturnType> returnType) throws IllegalArgumentException {
|
||||
super(isLastFunctionADimension(functions));
|
||||
checkThatReturnTypesMatch(functions, returnType);
|
||||
|
||||
@@ -187,7 +187,7 @@ public class CompoundFunction<ReturnType> extends AbstractFunction<ReturnType> {
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
CompoundFunction<?> other = (CompoundFunction<?>) obj;
|
||||
ConcatenatingCompoundFunction<?> other = (ConcatenatingCompoundFunction<?>) obj;
|
||||
if (functions == null) {
|
||||
if (other.functions != null)
|
||||
return false;
|
||||
+3
-3
@@ -6,11 +6,11 @@ import java.util.HashSet;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.functions.FunctionProvider;
|
||||
import com.sap.sse.datamining.functions.FunctionRegistry;
|
||||
import com.sap.sse.datamining.impl.functions.criterias.FunctionMatchesDTOFilterCriteria;
|
||||
import com.sap.sse.datamining.impl.functions.criterias.FunctionMatchesDTOFilterCriterion;
|
||||
import com.sap.sse.datamining.shared.dto.FunctionDTO;
|
||||
|
||||
public class RegistryFunctionProvider implements FunctionProvider {
|
||||
@@ -148,7 +148,7 @@ public class RegistryFunctionProvider implements FunctionProvider {
|
||||
|
||||
private Collection<Function<?>> getFunctionsForDTO(FunctionDTO functionDTO) {
|
||||
Collection<Function<?>> functionsMatchingDTO = new HashSet<>();
|
||||
FilterCriteria<Function<?>> functionDTOFilterCriteria = new FunctionMatchesDTOFilterCriteria(functionDTO);
|
||||
FilterCriterion<Function<?>> functionDTOFilterCriteria = new FunctionMatchesDTOFilterCriterion(functionDTO);
|
||||
for (FunctionRegistry functionRegistry : functionRegistries) {
|
||||
for (Function<?> function : functionRegistry.getAllFunctions()) {
|
||||
if (functionDTOFilterCriteria.matches(function)) {
|
||||
|
||||
+3
-3
@@ -1,15 +1,15 @@
|
||||
package com.sap.sse.datamining.impl.functions.criterias;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.factories.FunctionDTOFactory;
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.shared.dto.FunctionDTO;
|
||||
|
||||
public class FunctionMatchesDTOFilterCriteria implements FilterCriteria<Function<?>> {
|
||||
public class FunctionMatchesDTOFilterCriterion implements FilterCriterion<Function<?>> {
|
||||
|
||||
private FunctionDTO functionDTOToMatch;
|
||||
|
||||
public FunctionMatchesDTOFilterCriteria(FunctionDTO functionDTOToMatch) {
|
||||
public FunctionMatchesDTOFilterCriterion(FunctionDTO functionDTOToMatch) {
|
||||
this.functionDTOToMatch = functionDTOToMatch;
|
||||
}
|
||||
|
||||
+3
-3
@@ -4,14 +4,14 @@ import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
|
||||
public class IsDeclaringTypeFilterCriteria implements FilterCriteria<Function<?>> {
|
||||
public class IsDeclaringTypeFilterCriterion implements FilterCriterion<Function<?>> {
|
||||
|
||||
private final Collection<Class<?>> expectingTypes;
|
||||
|
||||
public IsDeclaringTypeFilterCriteria(Class<?> expectingType) {
|
||||
public IsDeclaringTypeFilterCriterion(Class<?> expectingType) {
|
||||
this.expectingTypes = getSupertypesOf(expectingType);
|
||||
this.expectingTypes.add(expectingType);
|
||||
}
|
||||
+2
-2
@@ -2,10 +2,10 @@ package com.sap.sse.datamining.impl.functions.criterias;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
|
||||
public class MethodIsCorrectDimensionFilterCriteria implements FilterCriteria<Method> {
|
||||
public class MethodIsCorrectDimensionFilterCriterion implements FilterCriterion<Method> {
|
||||
|
||||
@Override
|
||||
public boolean matches(Method method) {
|
||||
+2
-2
@@ -2,9 +2,9 @@ package com.sap.sse.datamining.impl.functions.criterias;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
|
||||
public class MethodIsCorrectExternalFunctionFilterCriteria implements FilterCriteria<Method> {
|
||||
public class MethodIsCorrectExternalFunctionFilterCriterion implements FilterCriterion<Method> {
|
||||
|
||||
@Override
|
||||
public boolean matches(Method method) {
|
||||
+2
-2
@@ -2,10 +2,10 @@ package com.sap.sse.datamining.impl.functions.criterias;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.components.FilterCriterion;
|
||||
import com.sap.sse.datamining.shared.annotations.Statistic;
|
||||
|
||||
public class MethodIsCorrectStatisticFilterCriteria implements FilterCriteria<Method> {
|
||||
public class MethodIsCorrectStatisticFilterCriterion implements FilterCriterion<Method> {
|
||||
|
||||
@Override
|
||||
public boolean matches(Method method) {
|
||||
Reference in new issue
Block a user