/******************************************************************************* * Copyright (c) 2014 Imperial College London * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Raul Castro Fernandez - initial API and implementation ******************************************************************************/ import java.util.ArrayList; import operators.Processor; import operators.Sink; import operators.Source; import uk.ac.imperial.lsds.seep.api.QueryBuilder; import uk.ac.imperial.lsds.seep.api.QueryComposer; import uk.ac.imperial.lsds.seep.api.QueryPlan; import uk.ac.imperial.lsds.seep.operator.Connectable; public class Base implements QueryComposer{ public QueryPlan compose() { /** Declare operators **/ // Declare Source ArrayList<String> srcFields = new ArrayList<String>(); srcFields.add("value1"); srcFields.add("value2"); srcFields.add("value3"); Connectable src = QueryBuilder.newStatelessSource(new Source(), -1, srcFields); // Declare processor ArrayList<String> pFields = new ArrayList<String>(); pFields.add("value1"); pFields.add("value2"); pFields.add("value3"); Connectable p = QueryBuilder.newStatelessOperator(new Processor(), 1, pFields); // Declare sink ArrayList<String> snkFields = new ArrayList<String>(); snkFields.add("value1"); snkFields.add("value2"); snkFields.add("value3"); Connectable snk = QueryBuilder.newStatelessSink(new Sink(), -2, snkFields); /** Connect operators **/ src.connectTo(p, true, 0); p.connectTo(snk, true, 0); return QueryBuilder.build(); } }