package org.molgenis.compute.test.reader; import java.io.IOException; import java.util.List; import org.molgenis.compute.design.ComputeParameter; import org.molgenis.compute.design.ComputeProtocol; import org.molgenis.compute.design.Workflow; import org.molgenis.compute.design.WorkflowElement; import org.molgenis.compute.test.reader.WorkflowReader; import org.molgenis.framework.db.Database; import org.molgenis.framework.db.DatabaseException; import org.molgenis.framework.db.QueryRule; import app.DatabaseFactory; /** * Created with IntelliJ IDEA. User: georgebyelas Date: 24/08/2012 Time: 11:17 * To change this template use File | Settings | File Templates. */ public class WorkflowReaderDBJDBC implements WorkflowReader { public Workflow getWorkflow(String name) throws IOException { Database db = null; try { db = DatabaseFactory.create(); db.beginTx(); Workflow w = db.find(Workflow.class, new QueryRule(Workflow.NAME, QueryRule.Operator.EQUALS, name)).get(0); List<WorkflowElement> workflowElements = db.find(WorkflowElement.class, new QueryRule( WorkflowElement.WORKFLOW_NAME, QueryRule.Operator.EQUALS, w.getName())); for (WorkflowElement we : workflowElements) { String protocol_name = we.getProtocol_Name(); ComputeProtocol protocol = db.find(ComputeProtocol.class, new QueryRule(ComputeProtocol.NAME, QueryRule.Operator.EQUALS, protocol_name)).get(0); we.setProtocol(protocol); // we.getPreviousSteps_Id(); // List<WorkflowElement> prev = db.find(WorkflowElement.class, // new QueryRule(WorkflowElement_PreviousSteps., // QueryRule.Operator.EQUALS, we.getName())); int i = 0; } db.close(); return w; } catch (DatabaseException e) { e.printStackTrace(); } return null; } public List<ComputeParameter> getParameters() { // TODO: we do not use JDBC workflow reader - otherwise it should be // implemented return null; } }