package eu.dnetlib.manager.wf; import java.util.List; import java.util.stream.Collectors; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import eu.dnetlib.common.controller.AbstractDnetController; import eu.dnetlib.is.info.KeyValue; import eu.dnetlib.manager.wf.model.WorkflowInstance; @RestController @RequestMapping("/ajax/wf_instances") public class WfInstancesController extends AbstractDnetController { private WorkflowManagerService wfManagerService; @GetMapping("/instance/{id}") public WorkflowInstance getWfInstance(@PathVariable final String id) throws Exception { return wfManagerService.findWorkflowInstance(id); } @GetMapping("/search") public List> listWfInstances(@RequestParam final String section) throws Exception { return wfManagerService.streamWfInstancesBySection(section) .map(x -> new KeyValue<>(x.getId(), x.getName())) .collect(Collectors.toList()); } @GetMapping("/sections") public List> listWfFamilies() throws Exception { return wfManagerService.streamSections() .map(x -> new KeyValue<>(x.getValue(), x.getCount())) .collect(Collectors.toList()); } }