package org.molgenis.compute.commandline; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.molgenis.util.Tuple; public class FreemarkerHelper { ComputeBundle computeBundle; public FreemarkerHelper(ComputeBundle computeBundle) { this.computeBundle = computeBundle; } public String helloWorld(String name) { return "hello " + name; } public List<String> unfoldCSV(Tuple tuple) { return Worksheet.unfoldWorksheetCSV(Arrays.asList(new Tuple[] { tuple })); } /** * We want to re-fold one tuple */ public List<Tuple> foldOn(Tuple tuple, String targets) { // first unfuld, then refold again List<Tuple> unfolded = Worksheet.unfoldWorksheet(Arrays.asList(new Tuple[] { tuple })); // fold again List<Tuple> folded = Worksheet.foldWorksheet(unfolded, this.computeBundle.getComputeParameters(), Arrays.asList(targets.split(","))); return folded; } public List<String> stringList(List<Tuple> folded, String var) { List<String> lst = new ArrayList<String>(); for (int i = 0; i < folded.size(); i++) { lst.add(folded.get(i).getString(var)); } return lst; } }