package org.molgenis.script;
import org.molgenis.data.DataService;
import org.molgenis.ui.MolgenisPluginController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import static java.util.stream.Collectors.toList;
import static org.molgenis.script.ScriptMetaData.SCRIPT;
import static org.molgenis.script.ScriptParameterMetaData.SCRIPT_PARAMETER;
import static org.molgenis.script.ScriptPluginController.URI;
@Controller
@RequestMapping(URI)
public class ScriptPluginController extends MolgenisPluginController
{
public static final String ID = "scripts";
public static final String URI = MolgenisPluginController.PLUGIN_URI_PREFIX + ID;
private final DataService dataService;
@Autowired
public ScriptPluginController(DataService dataService)
{
super(URI);
this.dataService = dataService;
}
@RequestMapping(method = RequestMethod.GET)
public String listScripts(Model model)
{
model.addAttribute("scripts", dataService.findAll(SCRIPT, Script.class).collect(toList()));
model.addAttribute("parameters",
dataService.findAll(SCRIPT_PARAMETER, ScriptParameter.class).collect(toList()));
return "view-scripts";
}
}