| package org.apache.airavata.k8s.api.server.controller; |
| |
| import org.apache.airavata.k8s.api.resources.experiment.ExperimentResource; |
| import org.apache.airavata.k8s.api.resources.workflow.WorkflowResource; |
| import org.apache.airavata.k8s.api.server.service.WorkflowService; |
| import org.springframework.http.MediaType; |
| import org.springframework.web.bind.annotation.*; |
| |
| import javax.annotation.Resource; |
| import java.util.List; |
| |
| /** |
| * TODO: Class level comments please |
| * |
| * @author dimuthu |
| * @since 1.0.0-SNAPSHOT |
| */ |
| @RestController |
| @RequestMapping(path="/workflow") |
| public class WorkflowController { |
| |
| @Resource |
| private WorkflowService workflowService; |
| |
| @PostMapping(path = "create/{name}") |
| public long createWorkflow(@PathVariable("name") String name, @RequestBody String workflowGraph) { |
| return this.workflowService.createWorkflow(new WorkflowResource().setName(name).setWorkflowGraphXML(workflowGraph)); |
| } |
| |
| @GetMapping(path = "", produces = MediaType.APPLICATION_JSON_VALUE) |
| public List<WorkflowResource> getAllWorkflows() { |
| return this.workflowService.getAll(); |
| } |
| |
| @GetMapping(path = "{id}/launch", produces = MediaType.APPLICATION_JSON_VALUE) |
| public long launchExperiment(@PathVariable("id") long id) { |
| return this.workflowService.launchWorkflow(id); |
| } |
| } |