mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-02 17:19:37 +00:00
First attempt for correct transitive annotation handling
This commit is contained in:
1 parent
9ca4744652
commit
a3b29e6e0f
30 files changed
+469
-251
No files matched your search
+1
-2
@@ -28,7 +28,6 @@ import com.sap.sse.datamining.test.functions.test_classes.ExtendingInterface;
|
||||
import com.sap.sse.datamining.test.functions.test_classes.ExternalLibraryClass;
|
||||
import com.sap.sse.datamining.test.functions.test_classes.MarkedContainer;
|
||||
import com.sap.sse.datamining.test.functions.test_classes.SimpleClassWithMarkedMethods;
|
||||
import com.sap.sse.datamining.test.util.ConcurrencyTestsUtil;
|
||||
import com.sap.sse.datamining.test.util.FunctionTestsUtil;
|
||||
import com.sap.sse.datamining.test.util.TestsUtil;
|
||||
|
||||
@@ -40,7 +39,7 @@ public class TestFunctionProvider {
|
||||
|
||||
@Before
|
||||
public void initializeFunctionRegistry() {
|
||||
functionRegistry = new SimpleFunctionRegistry(ConcurrencyTestsUtil.getExecutor());
|
||||
functionRegistry = new SimpleFunctionRegistry();
|
||||
|
||||
Collection<Class<?>> internalClassesToScan = new HashSet<>();
|
||||
internalClassesToScan.add(SimpleClassWithMarkedMethods.class);
|
||||
|
||||
-47
@@ -1,47 +0,0 @@
|
||||
package com.sap.sse.datamining.impl.functions;
|
||||
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.functions.FunctionRegistry;
|
||||
import com.sap.sse.datamining.impl.functions.SimpleFunctionRegistry;
|
||||
import com.sap.sse.datamining.test.functions.test_classes.DataTypeWithContext;
|
||||
import com.sap.sse.datamining.test.functions.test_classes.ExternalLibraryClass;
|
||||
import com.sap.sse.datamining.test.functions.test_classes.SimpleClassWithMarkedMethods;
|
||||
import com.sap.sse.datamining.test.util.ConcurrencyTestsUtil;
|
||||
import com.sap.sse.datamining.test.util.FunctionTestsUtil;
|
||||
|
||||
public class TestSimpleFunctionRegistryAccess {
|
||||
|
||||
private FunctionRegistry functionRegistry;
|
||||
|
||||
@Before
|
||||
public void initializeTheFunctionRegistry() {
|
||||
functionRegistry = new SimpleFunctionRegistry(ConcurrencyTestsUtil.getExecutor());
|
||||
|
||||
Collection<Class<?>> internalClassesToScan = new HashSet<>();
|
||||
internalClassesToScan.add(SimpleClassWithMarkedMethods.class);
|
||||
internalClassesToScan.add(DataTypeWithContext.class);
|
||||
functionRegistry.registerAllWithInternalFunctionPolicy(internalClassesToScan);
|
||||
|
||||
Collection<Class<?>> externalClassesToScan = new HashSet<>();
|
||||
externalClassesToScan.add(ExternalLibraryClass.class);
|
||||
functionRegistry.registerAllWithExternalFunctionPolicy(externalClassesToScan);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAllDimensions() {
|
||||
Collection<Function<?>> modifiableExpectedDimensions = FunctionTestsUtil.getDimensionsFor(DataTypeWithContext.class);
|
||||
modifiableExpectedDimensions.addAll(FunctionTestsUtil.getDimensionsFor(SimpleClassWithMarkedMethods.class));
|
||||
Collection<Function<?>> expectedDimensions = modifiableExpectedDimensions;
|
||||
assertThat(functionRegistry.getAllDimensions(), is(expectedDimensions));
|
||||
}
|
||||
|
||||
}
|
||||
+72
-47
@@ -4,72 +4,97 @@ import static org.hamcrest.Matchers.is;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sse.datamining.factories.FunctionFactory;
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.functions.FunctionRegistry;
|
||||
import com.sap.sse.datamining.impl.functions.SimpleFunctionRegistry;
|
||||
import com.sap.sse.datamining.test.functions.test_classes.ExternalLibraryClass;
|
||||
import com.sap.sse.datamining.test.functions.test_classes.SimpleClassWithMarkedMethods;
|
||||
import com.sap.sse.datamining.test.util.ConcurrencyTestsUtil;
|
||||
import com.sap.sse.datamining.test.util.FunctionTestsUtil;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Boat;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Competitor;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Leg;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Named;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_contexts.Test_HasLegContext;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_contexts.Test_HasRaceContext;
|
||||
|
||||
|
||||
public class TestSimpleFunctionRegistryRegistrations {
|
||||
|
||||
@Test
|
||||
public void testSimpleRegistration() {
|
||||
Method dimension = FunctionTestsUtil.getMethodFromSimpleClassWithMarkedMethod("dimension");
|
||||
|
||||
FunctionRegistry registry = new SimpleFunctionRegistry(ConcurrencyTestsUtil.getExecutor());
|
||||
registry.register(dimension);
|
||||
|
||||
Set<Function<?>> expectedRegisteredFunctionsAsSet = new HashSet<>();
|
||||
expectedRegisteredFunctionsAsSet.add(FunctionFactory.createMethodWrappingFunction(dimension));
|
||||
Iterable<Function<?>> expectedRegisteredFunctions = expectedRegisteredFunctionsAsSet;
|
||||
assertThat(registry.getAllFunctions(), is(expectedRegisteredFunctions));
|
||||
assertThat(registry.getFunctionsOf(SimpleClassWithMarkedMethods.class), is(expectedRegisteredFunctions));
|
||||
|
||||
private Set<Class<?>> internalClassesToScan;
|
||||
|
||||
@Before
|
||||
public void initializeClassesToScan() {
|
||||
internalClassesToScan = new HashSet<>();
|
||||
internalClassesToScan.add(Test_HasLegContext.class);
|
||||
internalClassesToScan.add(Test_HasRaceContext.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegistrationByFunctionRetrievers() {
|
||||
FunctionRegistry registry = new SimpleFunctionRegistry(ConcurrencyTestsUtil.getExecutor());
|
||||
registerMethodsOfTestClasses(registry);
|
||||
|
||||
Set<Function<?>> expectedRegisteredFunctionsAsSet = new HashSet<>();
|
||||
expectedRegisteredFunctionsAsSet.addAll(FunctionTestsUtil.getMarkedMethodsOfSimpleClassWithMarkedMethod());
|
||||
expectedRegisteredFunctionsAsSet.addAll(FunctionTestsUtil.getMethodsOfExternalLibraryClass());
|
||||
Iterable<Function<?>> expectedRegisteredFunctions = expectedRegisteredFunctionsAsSet;
|
||||
assertThat(registry.getAllFunctions(), is(expectedRegisteredFunctions));
|
||||
}
|
||||
|
||||
private void registerMethodsOfTestClasses(FunctionRegistry registry) {
|
||||
Collection<Class<?>> internalClassesToScan = new HashSet<>();
|
||||
internalClassesToScan.add(SimpleClassWithMarkedMethods.class);
|
||||
public void testRegistration() throws NoSuchMethodException, SecurityException {
|
||||
FunctionRegistry registry = new SimpleFunctionRegistry();
|
||||
registry.registerAllWithInternalFunctionPolicy(internalClassesToScan);
|
||||
|
||||
Collection<Class<?>> externalClassesToScan = new HashSet<>();
|
||||
externalClassesToScan.add(ExternalLibraryClass.class);
|
||||
registry.registerAllWithExternalFunctionPolicy(externalClassesToScan);
|
||||
Collection<Function<?>> expectedDimensions = createExpectedDimensions();
|
||||
assertThat(registry.getAllDimensions(), is(expectedDimensions));
|
||||
|
||||
Collection<Function<?>> expectedStatistics = createExpectedStatistics();
|
||||
assertThat(registry.getAllStatistics(), is(expectedStatistics));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTheMultipleRegistrationOfTheSameFunction() {
|
||||
Method dimension = FunctionTestsUtil.getMethodFromSimpleClassWithMarkedMethod("dimension");
|
||||
|
||||
private Collection<Function<?>> createExpectedDimensions() throws NoSuchMethodException, SecurityException {
|
||||
Collection<Function<?>> dimensions = new HashSet<>();
|
||||
|
||||
FunctionRegistry registry = new SimpleFunctionRegistry(ConcurrencyTestsUtil.getExecutor());
|
||||
registry.register(dimension);
|
||||
registry.register(dimension);
|
||||
registry.register(dimension);
|
||||
Method getNameMethod = Test_Named.class.getMethod("getName", new Class<?>[0]);
|
||||
Function<?> getName = FunctionFactory.createMethodWrappingFunction(getNameMethod);
|
||||
|
||||
Set<Function<?>> expectedRegisteredFunctionsAsSet = new HashSet<>();
|
||||
expectedRegisteredFunctionsAsSet.add(FunctionFactory.createMethodWrappingFunction(dimension));
|
||||
Iterable<Function<?>> expectedRegisteredFunctions = expectedRegisteredFunctionsAsSet;
|
||||
assertThat(registry.getAllFunctions(), is(expectedRegisteredFunctions));
|
||||
Method getRegattaMethod = Test_HasRaceContext.class.getMethod("getRegatta", new Class<?>[0]);
|
||||
Function<?> getRegatta = FunctionFactory.createMethodWrappingFunction(getRegattaMethod);
|
||||
dimensions.add(FunctionFactory.createCompoundFunction(null, Arrays.asList(getRegatta, getName)));
|
||||
|
||||
Method getRaceMethod = Test_HasRaceContext.class.getMethod("getRace", new Class<?>[0]);
|
||||
Function<?> getRace = FunctionFactory.createMethodWrappingFunction(getRaceMethod);
|
||||
dimensions.add(FunctionFactory.createCompoundFunction(null, Arrays.asList(getRace, getName)));
|
||||
|
||||
Method getBoatClassMethod = Test_HasRaceContext.class.getMethod("getBoatClass", new Class<?>[0]);
|
||||
Function<?> getBoatClass = FunctionFactory.createMethodWrappingFunction(getBoatClassMethod);
|
||||
dimensions.add(FunctionFactory.createCompoundFunction(null, Arrays.asList(getBoatClass, getName)));
|
||||
|
||||
Method getYearMethod = Test_HasRaceContext.class.getMethod("getYear", new Class<?>[0]);
|
||||
dimensions.add(FunctionFactory.createMethodWrappingFunction(getYearMethod));
|
||||
|
||||
Method getLegNumberMethod = Test_HasLegContext.class.getMethod("getLegNumber", new Class<?>[0]);
|
||||
dimensions.add(FunctionFactory.createMethodWrappingFunction(getLegNumberMethod));
|
||||
|
||||
Method getCompetitorMethod = Test_HasLegContext.class.getMethod("getCompetitor", new Class<?>[0]);
|
||||
Function<?> getCompetitor = FunctionFactory.createMethodWrappingFunction(getCompetitorMethod);
|
||||
|
||||
Method getTeamMethod = Test_Competitor.class.getMethod("getTeam", new Class<?>[0]);
|
||||
Function<?> getTeam = FunctionFactory.createMethodWrappingFunction(getTeamMethod);
|
||||
dimensions.add(FunctionFactory.createCompoundFunction(null, Arrays.asList(getCompetitor, getTeam, getName)));
|
||||
|
||||
Method getBoatMethod = Test_Competitor.class.getMethod("getBoat", new Class<?>[0]);
|
||||
Function<?> getBoat = FunctionFactory.createMethodWrappingFunction(getBoatMethod);
|
||||
Method getSailIDMethod = Test_Boat.class.getMethod("getSailID", new Class<?>[0]);
|
||||
Function<?> getSailID = FunctionFactory.createMethodWrappingFunction(getSailIDMethod);
|
||||
dimensions.add(FunctionFactory.createCompoundFunction(null, Arrays.asList(getCompetitor, getBoat, getSailID)));
|
||||
|
||||
return dimensions;
|
||||
}
|
||||
|
||||
private Collection<Function<?>> createExpectedStatistics() throws NoSuchMethodException, SecurityException {
|
||||
Method getLegMethod = Test_HasLegContext.class.getMethod("getLeg", new Class<?>[0]);
|
||||
Function<?> getLeg = FunctionFactory.createMethodWrappingFunction(getLegMethod);
|
||||
Method getDistanceTraveledMethod = Test_Leg.class.getMethod("getDistanceTraveled", new Class<?>[0]);
|
||||
Function<?> getDistanceTraveled = FunctionFactory.createMethodWrappingFunction(getDistanceTraveledMethod);
|
||||
|
||||
Collection<Function<?>> statistics = new HashSet<>();
|
||||
statistics.add(FunctionFactory.createCompoundFunction("getDistanceTraveled", Arrays.asList(getLeg, getDistanceTraveled)));
|
||||
return statistics;
|
||||
}
|
||||
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
|
||||
public interface Test_Boat {
|
||||
|
||||
@Dimension(messageKey="SailID")
|
||||
public String getSailID();
|
||||
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes;
|
||||
|
||||
public interface Test_BoatClass extends Test_Named {
|
||||
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
|
||||
public interface Test_Competitor {
|
||||
|
||||
@Connector
|
||||
public Test_Team getTeam();
|
||||
|
||||
@Connector
|
||||
public Test_Boat getBoat();
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes;
|
||||
|
||||
import com.sap.sse.datamining.shared.Unit;
|
||||
import com.sap.sse.datamining.shared.annotations.Statistic;
|
||||
|
||||
public interface Test_Leg {
|
||||
|
||||
@Statistic(messageKey="DistanceTraveled", resultUnit=Unit.Meters, resultDecimals=0)
|
||||
public double getDistanceTraveled();
|
||||
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
|
||||
public interface Test_Named {
|
||||
|
||||
@Dimension(messageKey="Name")
|
||||
public String getName();
|
||||
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes;
|
||||
|
||||
public interface Test_Race extends Test_Named {
|
||||
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes;
|
||||
|
||||
public interface Test_Regatta extends Test_Named {
|
||||
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes;
|
||||
|
||||
public interface Test_Team extends Test_Named {
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes.impl;
|
||||
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_BoatClass;
|
||||
|
||||
public class Test_BoatClassImpl extends Test_NamedImpl implements Test_BoatClass {
|
||||
|
||||
public Test_BoatClassImpl(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes.impl;
|
||||
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Boat;
|
||||
|
||||
public class Test_BoatImpl implements Test_Boat {
|
||||
|
||||
private String sailID;
|
||||
|
||||
public Test_BoatImpl(String sailID) {
|
||||
this.sailID = sailID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSailID() {
|
||||
return sailID;
|
||||
}
|
||||
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes.impl;
|
||||
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Boat;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Competitor;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Team;
|
||||
|
||||
public class Test_CompetitorImpl implements Test_Competitor {
|
||||
|
||||
private Test_Team team;
|
||||
private Test_Boat boat;
|
||||
|
||||
public Test_CompetitorImpl(Test_Team team, Test_Boat boat) {
|
||||
this.team = team;
|
||||
this.boat = boat;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Test_Team getTeam() {
|
||||
return team;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Test_Boat getBoat() {
|
||||
return boat;
|
||||
}
|
||||
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes.impl;
|
||||
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Leg;
|
||||
|
||||
public class Test_LegImpl implements Test_Leg {
|
||||
|
||||
private double distanceTraveled;
|
||||
|
||||
public Test_LegImpl(double distanceTraveled) {
|
||||
this.distanceTraveled = distanceTraveled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getDistanceTraveled() {
|
||||
return distanceTraveled;
|
||||
}
|
||||
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes.impl;
|
||||
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Named;
|
||||
|
||||
public abstract class Test_NamedImpl implements Test_Named {
|
||||
|
||||
private String name;
|
||||
|
||||
public Test_NamedImpl(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes.impl;
|
||||
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Race;
|
||||
|
||||
public class Test_RaceImpl extends Test_NamedImpl implements Test_Race {
|
||||
|
||||
public Test_RaceImpl(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes.impl;
|
||||
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Regatta;
|
||||
|
||||
public class Test_RegattaImpl extends Test_NamedImpl implements Test_Regatta {
|
||||
|
||||
public Test_RegattaImpl(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_classes.impl;
|
||||
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Team;
|
||||
|
||||
public class Test_TeamImpl extends Test_NamedImpl implements Test_Team {
|
||||
|
||||
public Test_TeamImpl(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_contexts;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Competitor;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Leg;
|
||||
|
||||
public interface Test_HasLegContext extends Test_HasRaceContext {
|
||||
|
||||
@Connector
|
||||
public Test_Leg getLeg();
|
||||
|
||||
@Dimension(messageKey="LegNumber")
|
||||
public int getLegNumber();
|
||||
|
||||
@Connector
|
||||
public Test_Competitor getCompetitor();
|
||||
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_contexts;
|
||||
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_BoatClass;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Competitor;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Leg;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Race;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Regatta;
|
||||
|
||||
public class Test_HasLegContextImpl extends Test_HasRaceContextImpl implements Test_HasLegContext {
|
||||
|
||||
private Test_Leg leg;
|
||||
private int legNumber;
|
||||
private Test_Competitor competitor;
|
||||
|
||||
public Test_HasLegContextImpl(Test_Regatta regatta, Test_Race race, Test_BoatClass boatClass, int year,
|
||||
Test_Leg leg, int legNumber, Test_Competitor competitor) {
|
||||
super(regatta, race, boatClass, year);
|
||||
this.leg = leg;
|
||||
this.legNumber = legNumber;
|
||||
this.competitor = competitor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Test_Leg getLeg() {
|
||||
return leg;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLegNumber() {
|
||||
return legNumber;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Test_Competitor getCompetitor() {
|
||||
return competitor;
|
||||
}
|
||||
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_contexts;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Connector;
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_BoatClass;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Race;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Regatta;
|
||||
|
||||
public interface Test_HasRaceContext {
|
||||
|
||||
@Connector
|
||||
public Test_Regatta getRegatta();
|
||||
|
||||
@Connector
|
||||
public Test_Race getRace();
|
||||
|
||||
@Connector
|
||||
public Test_BoatClass getBoatClass();
|
||||
|
||||
@Dimension(messageKey="Year")
|
||||
public int getYear();
|
||||
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
package com.sap.sse.datamining.test.functions.registry.test_contexts;
|
||||
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_BoatClass;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Race;
|
||||
import com.sap.sse.datamining.test.functions.registry.test_classes.Test_Regatta;
|
||||
|
||||
public class Test_HasRaceContextImpl implements Test_HasRaceContext {
|
||||
|
||||
private Test_Regatta regatta;
|
||||
private Test_Race race;
|
||||
private Test_BoatClass boatClass;
|
||||
private int year;
|
||||
|
||||
public Test_HasRaceContextImpl(Test_Regatta regatta, Test_Race race, Test_BoatClass boatClass, int year) {
|
||||
this.regatta = regatta;
|
||||
this.race = race;
|
||||
this.boatClass = boatClass;
|
||||
this.year = year;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Test_Regatta getRegatta() {
|
||||
return regatta;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Test_Race getRace() {
|
||||
return race;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Test_BoatClass getBoatClass() {
|
||||
return boatClass;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getYear() {
|
||||
return year;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user