package org.molgenis.compute.ui; import java.util.Hashtable; import org.molgenis.compute.workflowgenerator.WorkflowGeneratorDB; import org.molgenis.framework.db.Database; import org.molgenis.framework.ui.EasyPluginController; import org.molgenis.framework.ui.FreemarkerView; import org.molgenis.framework.ui.ScreenController; import org.molgenis.framework.ui.ScreenView; import org.molgenis.protocol.Workflow; import org.molgenis.util.Tuple; // hardcoded test - don't be scared with listing !! public class HelloGridWorld extends EasyPluginController<HelloGridWorldView> { private WorkflowGeneratorDB processing = new WorkflowGeneratorDB(); public HelloGridWorld(String name, ScreenController<?> parent) { super(name, parent); this.setModel(new HelloGridWorldView(this)); // the default model } public ScreenView getView() { return new FreemarkerView("HelloGridWorld.ftl", getModel()); } @Override public void reload(Database db) throws Exception { } public void buttonRunGrid(Database db, Tuple request) throws Exception { System.out.println("Run on the Grid"); String outputname = request.getString("outputGridName"); // only one user value goes from ui String applicationName = null; Hashtable<String, String> userValues = new Hashtable<String, String>(); userValues.put("output_name", outputname); applicationName = "HelloGridWorld" + "_" + processing.getFormattedTime(); // get NGS workflow Workflow workflow = db.query(Workflow.class).equals(Workflow.NAME, "HelloGridWorld").find().get(0); // set few necessary parameters // should it come from some settings file processing.setRemoteLocation("/home/byelas/"); // and local settings for debugging processing.setToWriteLocally(true); processing.setLocalLocation("/test/"); processing.processSingleWorksheet(db, request, userValues, workflow, applicationName, WorkflowGeneratorDB.ENV_GRID); getModel().setSuccess("start workflow succesfull"); } }