package uk.ac.imperial.lsds.seep.api; import java.util.List; import uk.ac.imperial.lsds.seep.api.data.ITuple; import uk.ac.imperial.lsds.seep.api.operator.LogicalOperator; import uk.ac.imperial.lsds.seep.infrastructure.ControlEndPoint; import uk.ac.imperial.lsds.seep.scheduler.ScheduleDescription; import uk.ac.imperial.lsds.seep.scheduler.Stage; import uk.ac.imperial.lsds.seep.scheduler.StageType; public class ScheduleAPITest implements ScheduleComposer { @Override public ScheduleDescription compose() { // First declare the general operators we need // Declare Source LogicalOperator src = schedAPI.newStatelessSource(new CustomSource(), 0); // Declare processor LogicalOperator p = schedAPI.newStatelessOperator(new Processor(), 1); // Declare sink LogicalOperator snk = schedAPI.newStatelessSink(new CustomSink(), 2); // Then add the operators in stages ControlEndPoint location = null; Stage source = schedAPI.createStage(0, src.getOperatorId(), StageType.SOURCE_STAGE, location); ControlEndPoint location2 = null; Stage intermediate = schedAPI.createStage(1, p.getOperatorId(), StageType.INTERMEDIATE_STAGE, location2); ControlEndPoint location3 = null; Stage sink = schedAPI.createStage(2, snk.getOperatorId(), StageType.SINK_STAGE, location3); // Create the schedule by chaining the stages sink.dependsOn(intermediate); intermediate.dependsOn(source); return schedAPI.build(); } class CustomSource implements uk.ac.imperial.lsds.seep.api.operator.sources.Source { @Override public void setUp() { // TODO Auto-generated method stub } @Override public void processData(ITuple data, API api) { // TODO Auto-generated method stub } @Override public void processDataGroup(List<ITuple> dataList, API api) { // TODO Auto-generated method stub } @Override public void close() { // TODO Auto-generated method stub } } class Processor implements SeepTask{ @Override public void setUp() { // TODO Auto-generated method stub } @Override public void processData(ITuple data, API api) { // TODO Auto-generated method stub } @Override public void processDataGroup(List<ITuple> dataList, API api) { // TODO Auto-generated method stub } @Override public void close() { // TODO Auto-generated method stub } } class CustomSink implements uk.ac.imperial.lsds.seep.api.operator.sinks.Sink { @Override public void setUp() { // TODO Auto-generated method stub } @Override public void processData(ITuple data, API api) { // TODO Auto-generated method stub } @Override public void processDataGroup(List<ITuple> dataList, API api) { // TODO Auto-generated method stub } @Override public void close() { // TODO Auto-generated method stub } } }