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:
Lennart Hensler
2015-09-16 15:32:22 +02:00
138 changed files with 1100 additions and 767 deletions
@@ -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>
@@ -0,0 +1,47 @@
package com.sap.sse.datamining.annotations;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Methods marked with this annotation indicate, that the result type contains marked methods.<br />
* The marked method has to match the following conditions or the data mining could fail:
* <ul>
* <li>Has no parameters</li>
* <li>The return type isn't <code>void</code></li>
* <li>Is side effect free</li>
* </ul>
*
* @author Lennart Hensler (D054527)
*/
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Connector {
/**
* The message key used for internationalization.<br />
* If there are more than one ordinal in a function (e.g. if the function is an instance of ConcatenatingCompoundFunction),
* then the messages will be concatenated (separated by a space).
*/
public String messageKey() default "";
/**
* The ordinal used for the sorting of functions. The default value is {@link Integer#MAX_VALUE}.<br />
* <br />
* The standard sorting with this ordinal is ascending (The function with ordinal 0 is the first and the
* function with <code>Integer.MAX_VALUE</code> is the last in the list).<br />
* If there are more than one ordinal in a function (e.g. if the function is an instance of ConcatenatingCompoundFunction),
* then the smallest ordinal is the used ordinal.
*/
public int ordinal() default Integer.MAX_VALUE;
/**
* If <code>false</code>, the connection won't be used to find {@link Statistic Statistics}.
*/
public boolean scanForStatistics() default true;
}
@@ -0,0 +1,51 @@
package com.sap.sse.datamining.annotations;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.Locale;
/**
* Methods marked with this annotation will be used as dimensions for the data mining framework. The method will be called,
* if the dimension value of a data element is requested.<br />
* The marked method has to match the following conditions or the data mining could fail:
* <ul>
* <li>Has no parameters (except if the parameter list is exactly {@link Locale}, {@link ResourceBundleStringMessages})</li>
* <li>The return type isn't <code>void</code></li>
* <li>Is side effect free</li>
* </ul>
*
* The return type of a marked method should be:
* <ul>
* <li>A primitive type or wrapper class.</li>
* <li>Classes that implement <code>equals()</code>, <code>hashCode()</code> and <code>toString()</code>.
* </ul>
* Otherwise the grouping could become incorrect and the result presentation will be unreadable.
*
* @author Lennart Hensler (D054527)
*/
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Dimension {
/**
* The message key used for internationalization.<br />
* If there are more than one ordinal in a function (e.g. if the function is an instance of ConcatenatingCompoundFunction),
* then the messages will be concatenated (separated by a space).
*/
public String messageKey();
/**
* The ordinal used for the sorting of functions. The default value is {@link Integer#MAX_VALUE}.<br />
* <br />
* The standard sorting with this ordinal is ascending (The function with ordinal 0 is the first and the
* function with <code>Integer.MAX_VALUE</code> is the last in the list).<br />
* If there are more than one ordinal in a function (e.g. if the function is an instance of ConcatenatingCompoundFunction),
* then the smallest ordinal is the used ordinal.
*/
public int ordinal() default Integer.MAX_VALUE;
}
@@ -0,0 +1,58 @@
package com.sap.sse.datamining.annotations;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.Locale;
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,
* if the statistic value of a data element is extracted.<br />
* The marked method has to match the following conditions or the data mining could fail:
* <ul>
* <li>Has no parameters (except if the parameter list is exactly {@link Locale}, {@link ResourceBundleStringMessages})</li>
* <li>The return type isn't <code>void</code></li>
* <li>Is side effect free</li>
* </ul>
*
* The return type of the method has to be processable by an aggregator of the data mining framework (e.g. <code>int</code> or <code>double</code>)
*
* @author Lennart Hensler (D054527)
*/
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Statistic {
/**
* The message key used for internationalization.<br />
* If there are more than one ordinal in a function (e.g. if the function is an instance of ConcatenatingCompoundFunction),
* then the messages will be concatenated (separated by a space).
*/
public String messageKey();
/**
* The ordinal used for the sorting of functions. The default value is {@link Integer#MAX_VALUE}.<br />
* <br />
* The standard sorting with this ordinal is ascending (The function with ordinal 0 is the first and the
* function with <code>Integer.MAX_VALUE</code> is the last in the list).<br />
* If there are more than one ordinal in a function (e.g. if the function is an instance of ConcatenatingCompoundFunction),
* then the smallest ordinal is the used ordinal.
*/
public int ordinal() default Integer.MAX_VALUE;
/**
* The {@link Unit} of the methods return value. The default value is {@link Unit#None}.
*/
public Unit resultUnit() default Unit.None;
/**
* The number of decimals of the methods return value. The default value is <code>0</code>.
*/
public int resultDecimals() default 0;
}
@@ -0,0 +1,7 @@
package com.sap.sse.datamining.annotations.data;
public enum Unit {
None, Knots, Meters
}