package org.molgenis.compute.test.util; import app.DatabaseFactory; import org.molgenis.compute.commandline.WorksheetHelper; import org.molgenis.compute.design.ComputeParameter; import org.molgenis.compute.design.Workflow; import org.molgenis.compute.test.generator.ComputeGenerator; import org.molgenis.compute.test.generator.ComputeGeneratorDBWorksheet; import org.molgenis.framework.db.Database; import org.molgenis.framework.db.DatabaseException; import org.molgenis.framework.db.Query; import org.molgenis.util.Tuple; import org.molgenis.util.cmdline.CmdLineException; import java.io.File; import java.util.List; public class WorksheetImporter { public static void main(String[] args) throws CmdLineException, DatabaseException { System.out.println(">> Start.."); // read the parameters ImportWorksheetOptions options = new ImportWorksheetOptions(args); // get workflow from database Database db = DatabaseFactory.create(); Query<Workflow> wf_query = db.query(Workflow.class).eq(Workflow.NAME, options.workflow_name); if (wf_query.count() < 1) throw new RuntimeException("Workflow name=" + options.workflow_name + " not known in database. Please import"); Workflow workflow = wf_query.find().get(0); List<ComputeParameter> parameters = db.query(ComputeParameter.class).find(); // load targets from a worksheet List<Tuple> worksheet = null; try { worksheet = (new WorksheetHelper()).readTuplesFromFile(new File(options.worksheet_file)); // "/Users/mdijkstra/Documents/work/git/molgenis_apps/modules/compute/workflows/in-house_worksheet.csv")); } catch (Exception e1) { e1.printStackTrace(); } for (Tuple t : worksheet) { t.set("McId", options.McId); t.set("McDir", "database"); t.set("McWorksheet", options.worksheet_file); t.set("McParameters", "database"); t.set("McWorkflow", "database"); t.set("McProtocols", "database"); } // generate ComputeTasks ComputeGenerator generator = new ComputeGeneratorDBWorksheet(); generator.generateTasks(workflow, parameters, worksheet, options.backend_name); System.out.println("... generated"); } }