Moved the function interfaces to the sse bundle

This commit is contained in:
Lennart Hensler committed 2014-02-18 13:49:49 +01:00
1 parent cb990de9d2
commit 27ecfd461f
43 files changed
+67 -75

No files matched your search

@@ -10,8 +10,7 @@ Import-Package: com.google.gwt.i18n.client,
org.osgi.framework;version="1.7.0"
Export-Package: com.sap.sailing.datamining,
com.sap.sailing.datamining.data,
com.sap.sailing.datamining.factories,
com.sap.sailing.datamining.function
com.sap.sailing.datamining.factories
Require-Bundle: com.sap.sailing.domain;bundle-version="1.0.0",
com.sap.sailing.domain.common,
com.sap.sailing.datamining.shared;bundle-version="1.0.0",
@@ -1,6 +1,6 @@
package com.sap.sailing.datamining;
import com.sap.sailing.datamining.function.FunctionProvider;
import com.sap.sse.datamining.functions.FunctionProvider;
public interface DataMiningService {
@@ -1,18 +0,0 @@
package com.sap.sailing.datamining;
import java.util.Locale;
import com.sap.sailing.datamining.shared.Message;
public interface DataMiningStringMessages {
public Locale getLocaleFrom(String localeName);
public String get(Locale locale, Message message);
public String get(Locale locale, Message message, String... parameters);
public String get(Locale locale, Message message, Message... parameters);
public String get(Locale locale, String messageKey);
public String get(Locale locale, String messageKey, String... parameters);
}
@@ -3,11 +3,11 @@ package com.sap.sailing.datamining.factories;
import java.util.Locale;
import java.util.concurrent.ThreadPoolExecutor;
import com.sap.sailing.datamining.DataMiningStringMessages;
import com.sap.sailing.datamining.builders.AggregationWorkerBuilder;
import com.sap.sailing.datamining.impl.GroupDividingParallelAggregator;
import com.sap.sailing.datamining.shared.Components.AggregatorType;
import com.sap.sailing.datamining.shared.Components.ValueType;
import com.sap.sse.datamining.DataMiningStringMessages;
import com.sap.sse.datamining.components.ParallelAggregator;
import com.sap.sse.datamining.workers.AggregationWorker;
import com.sap.sse.datamining.workers.WorkerBuilder;
@@ -3,12 +3,12 @@ package com.sap.sailing.datamining.factories;
import java.util.Locale;
import java.util.concurrent.ThreadPoolExecutor;
import com.sap.sailing.datamining.DataMiningStringMessages;
import com.sap.sailing.datamining.i18n.DataMiningResourceBundleManager;
import com.sap.sailing.datamining.impl.Activator;
import com.sap.sailing.datamining.impl.QueryImpl;
import com.sap.sailing.datamining.shared.QueryDefinition;
import com.sap.sailing.server.RacingEventService;
import com.sap.sse.datamining.DataMiningStringMessages;
import com.sap.sse.datamining.Query;
import com.sap.sse.datamining.components.ParallelAggregator;
import com.sap.sse.datamining.components.ParallelDataRetriever;
@@ -3,12 +3,12 @@ package com.sap.sailing.datamining.factories;
import java.util.Locale;
import java.util.concurrent.ThreadPoolExecutor;
import com.sap.sailing.datamining.DataMiningStringMessages;
import com.sap.sailing.datamining.builders.ExtractionWorkerBuilder;
import com.sap.sailing.datamining.impl.GroupDividingParallelExtractor;
import com.sap.sailing.datamining.shared.Components.StatisticType;
import com.sap.sailing.datamining.shared.Message;
import com.sap.sse.datamining.DataMiningStringMessages;
import com.sap.sse.datamining.components.ParallelExtractor;
import com.sap.sse.datamining.shared.Message;
import com.sap.sse.datamining.shared.Unit;
import com.sap.sse.datamining.workers.ExtractionWorker;
import com.sap.sse.datamining.workers.WorkerBuilder;
@@ -1,13 +0,0 @@
package com.sap.sailing.datamining.function;
import java.util.Collection;
public interface ClassesWithFunctionsService {
public boolean hasInternalClassesWithMarkedMethods();
public Collection<Class<?>> getInternalClassesWithMarkedMethods();
public boolean hasExternalLibraryClasses();
public Collection<Class<?>> getExternalLibraryClasses();
}
@@ -1,49 +0,0 @@
package com.sap.sailing.datamining.function;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import com.sap.sailing.datamining.DataMiningStringMessages;
import com.sap.sse.datamining.annotations.Dimension;
import com.sap.sse.datamining.annotations.SideEffectFreeValue;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
public interface Function<ReturnType> {
public Class<?> getDeclaringClass();
public Iterable<Class<?>> getParameters();
public boolean isDimension();
public String getLocalizedName(Locale locale, DataMiningStringMessages stringMessages);
/**
* Tries to invoke the function for the given <code>instance</code> without parameters.
*
* @return The result of the function or <code>null</code>, if an {@link InvocationTargetException},
* {@link IllegalAccessException} or {@link IllegalArgumentException} was thrown.
*/
public ReturnType tryToInvoke(Object instance);
/**
* Tries to invoke the function for the given <code>instance</code> and the given <code>parameters</code>.
*
* @return The result of the function or <code>null</code>, if an {@link InvocationTargetException},
* {@link IllegalAccessException} or {@link IllegalArgumentException} was thrown.
*/
public ReturnType tryToInvoke(Object instance, Object... parameters);
/**
* Creates the corresponding DTO for this function, with the function name as display name.
*/
public FunctionDTO asDTO();
/**
* Creates the corresponding DTO for this function, with the retrieved string message for the given locale and the
* contained message key. The message key is provided with the {@link Dimension} or {@link SideEffectFreeValue}
* annotation.<br>
* If the function has no message key, the function name is used as display name.
*/
public FunctionDTO asDTO(Locale locale, DataMiningStringMessages stringMessages);
}
@@ -1,18 +0,0 @@
package com.sap.sailing.datamining.function;
import java.util.Collection;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
public interface FunctionProvider {
public Collection<Function<?>> getDimensionsFor(Class<?> dataType);
public Collection<Function<?>> getFunctionsFor(Class<?> sourceType);
/**
* @return The first function, that matches the given DTO or <code>null</code>
*/
public Function<?> getFunctionFor(FunctionDTO functionDTO);
}
@@ -1,17 +0,0 @@
package com.sap.sailing.datamining.function;
import java.lang.reflect.Method;
import java.util.Collection;
public interface FunctionRegistry {
public void register(Method method);
public void register(Function<?> function);
public void registerFunctionsRetrievedBy(ParallelFunctionRetriever functionRetriever);
public void registerAll(Iterable<Function<?>> functions);
public Collection<Function<?>> getAllRegisteredFunctions();
public Iterable<Function<?>> getRegisteredFunctionsOf(Class<?> declaringClass);
public Collection<Function<?>> getAllDimensions();
}
@@ -1,7 +0,0 @@
package com.sap.sailing.datamining.function;
import com.sap.sse.datamining.components.ParallelDataRetriever;
public interface ParallelFunctionRetriever extends ParallelDataRetriever<Function<?>> {
}
@@ -5,8 +5,8 @@ import java.util.Locale;
import java.util.Map;
import java.util.ResourceBundle;
import com.sap.sailing.datamining.DataMiningStringMessages;
import com.sap.sailing.datamining.shared.Message;
import com.sap.sse.datamining.DataMiningStringMessages;
import com.sap.sse.datamining.shared.Message;
public class DataMiningResourceBundleManager implements DataMiningStringMessages {
@@ -11,15 +11,15 @@ import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
import com.sap.sailing.datamining.DataMiningService;
import com.sap.sailing.datamining.function.ClassesWithFunctionsService;
import com.sap.sailing.datamining.function.FunctionProvider;
import com.sap.sailing.datamining.function.FunctionRegistry;
import com.sap.sailing.datamining.function.ParallelFunctionRetriever;
import com.sap.sailing.datamining.impl.function.DataMiningClassesWithFunctionsService;
import com.sap.sailing.datamining.impl.function.PartitionParallelExternalFunctionRetriever;
import com.sap.sailing.datamining.impl.function.PartitioningParallelMarkedFunctionRetriever;
import com.sap.sailing.datamining.impl.function.RegistryFunctionsProvider;
import com.sap.sailing.datamining.impl.function.SimpleFunctionRegistry;
import com.sap.sse.datamining.functions.ClassesWithFunctionsService;
import com.sap.sse.datamining.functions.FunctionProvider;
import com.sap.sse.datamining.functions.FunctionRegistry;
import com.sap.sse.datamining.functions.ParallelFunctionRetriever;
public class Activator implements BundleActivator {
@@ -5,8 +5,8 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import com.sap.sailing.datamining.DataMiningService;
import com.sap.sailing.datamining.function.FunctionProvider;
import com.sap.sailing.datamining.function.FunctionRegistry;
import com.sap.sse.datamining.functions.FunctionProvider;
import com.sap.sse.datamining.functions.FunctionRegistry;
public class DataMiningServiceImpl implements DataMiningService {
@@ -6,8 +6,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ExecutionException;
import com.sap.sailing.datamining.DataMiningStringMessages;
import com.sap.sailing.datamining.shared.Message;
import com.sap.sse.datamining.DataMiningStringMessages;
import com.sap.sse.datamining.Query;
import com.sap.sse.datamining.components.ParallelAggregator;
import com.sap.sse.datamining.components.ParallelDataRetriever;
@@ -15,6 +14,7 @@ import com.sap.sse.datamining.components.ParallelExtractor;
import com.sap.sse.datamining.components.ParallelFilter;
import com.sap.sse.datamining.components.ParallelGrouper;
import com.sap.sse.datamining.shared.GroupKey;
import com.sap.sse.datamining.shared.Message;
import com.sap.sse.datamining.shared.QueryResult;
import com.sap.sse.datamining.shared.impl.QueryResultImpl;
@@ -4,8 +4,8 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.Objects;
import com.sap.sailing.datamining.function.Function;
import com.sap.sse.datamining.components.FilterCriteria;
import com.sap.sse.datamining.functions.Function;
public class NullaryFunctionFilterCriteria<DataType, ValueType> implements FilterCriteria<DataType> {
@@ -2,7 +2,7 @@ package com.sap.sailing.datamining.impl.function;
import java.util.logging.Logger;
import com.sap.sailing.datamining.function.Function;
import com.sap.sse.datamining.functions.Function;
public abstract class AbstractFunction<ReturnType> implements Function<ReturnType> {
@@ -8,10 +8,9 @@ import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ThreadPoolExecutor;
import com.sap.sailing.datamining.function.Function;
import com.sap.sailing.datamining.function.FunctionRetrievalWorker;
import com.sap.sailing.datamining.function.ParallelFunctionRetriever;
import com.sap.sailing.datamining.impl.AbstractParallelComponent;
import com.sap.sse.datamining.functions.Function;
import com.sap.sse.datamining.functions.ParallelFunctionRetriever;
import com.sap.sse.datamining.workers.ComponentWorker;
public abstract class AbstractPartitioningParallelFunctionRetriever
@@ -5,7 +5,7 @@ import java.util.HashSet;
import com.sap.sailing.datamining.data.GPSFixWithContext;
import com.sap.sailing.datamining.data.TrackedLegOfCompetitorWithContext;
import com.sap.sailing.datamining.function.ClassesWithFunctionsService;
import com.sap.sse.datamining.functions.ClassesWithFunctionsService;
public class DataMiningClassesWithFunctionsService implements ClassesWithFunctionsService {
@@ -4,8 +4,8 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import com.sap.sailing.datamining.function.Function;
import com.sap.sse.datamining.components.FilterCriteria;
import com.sap.sse.datamining.functions.Function;
public class DeclaringTypeOrParameterTypeCriteria implements FilterCriteria<Function<?>> {
@@ -5,10 +5,9 @@ import java.util.Collection;
import java.util.HashSet;
import com.sap.sailing.datamining.factories.FunctionFactory;
import com.sap.sailing.datamining.function.Function;
import com.sap.sailing.datamining.function.FunctionRetrievalWorker;
import com.sap.sailing.datamining.impl.AbstractComponentWorker;
import com.sap.sse.datamining.components.FilterCriteria;
import com.sap.sse.datamining.functions.Function;
public class FilteringFunctionRetrievalWorker extends AbstractComponentWorker<Collection<Function<?>>> implements FunctionRetrievalWorker {
@@ -1,7 +1,7 @@
package com.sap.sailing.datamining.impl.function;
import com.sap.sailing.datamining.function.Function;
import com.sap.sse.datamining.components.FilterCriteria;
import com.sap.sse.datamining.functions.Function;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
public class FunctionDTOFilterCriteria implements FilterCriteria<Function<?>> {
@@ -1,15 +1,12 @@
package com.sap.sailing.datamining.function;
package com.sap.sailing.datamining.impl.function;
import java.lang.reflect.Method;
import java.util.Collection;
import com.sap.sailing.datamining.impl.criterias.CompoundFilterCriteria;
import com.sap.sailing.datamining.impl.criterias.OrCompoundFilterCriteria;
import com.sap.sailing.datamining.impl.function.FilteringFunctionRetrievalWorker;
import com.sap.sailing.datamining.impl.function.MethodIsCorrectDimensionFilterCriteria;
import com.sap.sailing.datamining.impl.function.MethodIsCorrectExternalFunctionFilterCriteria;
import com.sap.sailing.datamining.impl.function.MethodIsCorrectSideEffectFreeValueFilterCriteria;
import com.sap.sse.datamining.components.FilterCriteria;
import com.sap.sse.datamining.functions.Function;
import com.sap.sse.datamining.workers.DataRetrievalWorker;
import com.sap.sse.datamining.workers.WorkReceiver;
@@ -8,7 +8,7 @@ import java.util.List;
import java.util.Locale;
import java.util.logging.Level;
import com.sap.sailing.datamining.DataMiningStringMessages;
import com.sap.sse.datamining.DataMiningStringMessages;
import com.sap.sse.datamining.annotations.Dimension;
import com.sap.sse.datamining.annotations.SideEffectFreeValue;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
@@ -3,8 +3,6 @@ package com.sap.sailing.datamining.impl.function;
import java.util.Collection;
import java.util.concurrent.ThreadPoolExecutor;
import com.sap.sailing.datamining.function.FunctionRetrievalWorker;
public class PartitionParallelExternalFunctionRetriever extends AbstractPartitioningParallelFunctionRetriever {
public PartitionParallelExternalFunctionRetriever(Collection<Class<?>> externalClasses, ThreadPoolExecutor executor) {
@@ -3,8 +3,6 @@ package com.sap.sailing.datamining.impl.function;
import java.util.Collection;
import java.util.concurrent.ThreadPoolExecutor;
import com.sap.sailing.datamining.function.FunctionRetrievalWorker;
public class PartitioningParallelMarkedFunctionRetriever extends AbstractPartitioningParallelFunctionRetriever {
public PartitioningParallelMarkedFunctionRetriever(Collection<Class<?>> classesToScan, ThreadPoolExecutor executor) {
@@ -7,13 +7,13 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import com.sap.sailing.datamining.builders.FilterByCriteriaBuilder;
import com.sap.sailing.datamining.function.Function;
import com.sap.sailing.datamining.function.FunctionProvider;
import com.sap.sailing.datamining.function.FunctionRegistry;
import com.sap.sailing.datamining.impl.Activator;
import com.sap.sailing.datamining.impl.PartitioningParallelFilter;
import com.sap.sse.datamining.components.FilterCriteria;
import com.sap.sse.datamining.components.ParallelFilter;
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.shared.dto.FunctionDTO;
import com.sap.sse.datamining.workers.FiltrationWorker;
import com.sap.sse.datamining.workers.WorkerBuilder;
@@ -11,9 +11,9 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import com.sap.sailing.datamining.factories.FunctionFactory;
import com.sap.sailing.datamining.function.Function;
import com.sap.sailing.datamining.function.FunctionRegistry;
import com.sap.sailing.datamining.function.ParallelFunctionRetriever;
import com.sap.sse.datamining.functions.Function;
import com.sap.sse.datamining.functions.FunctionRegistry;
import com.sap.sse.datamining.functions.ParallelFunctionRetriever;
public class SimpleFunctionRegistry implements FunctionRegistry {