Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.33 KB | None | 0 0
  1. //
  2. // Source code recreated from a .class file by IntelliJ IDEA
  3. // (powered by Fernflower decompiler)
  4. //
  5.  
  6. package com.myspace.demo;
  7.  
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiOperation;
  10. import io.swagger.annotations.ApiParam;
  11. import java.util.List;
  12. import java.util.Optional;
  13. import java.util.function.Function;
  14. import java.util.function.Predicate;
  15. import java.util.stream.Collectors;
  16. import javax.ws.rs.Consumes;
  17. import javax.ws.rs.DELETE;
  18. import javax.ws.rs.GET;
  19. import javax.ws.rs.POST;
  20. import javax.ws.rs.Path;
  21. import javax.ws.rs.PathParam;
  22. import javax.ws.rs.Produces;
  23. import org.drools.core.runtime.process.InternalProcessRuntime;
  24. import org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl;
  25. import org.kie.api.runtime.process.ProcessInstance;
  26. import org.kie.bootstrap.process.ProcessRuntimeProvider;
  27.  
  28. @Path("/orders")
  29. @Api("Deals with orders created by customer")
  30. public class OrdersResource {
  31. private InternalProcessRuntime processRuntime = ProcessRuntimeProvider.getProcessRuntime();
  32. private String processId = "demo.orders";
  33.  
  34. public OrdersResource() {
  35. }
  36.  
  37. @POST
  38. @Produces({"application/json"})
  39. @Consumes({"application/json"})
  40. @ApiOperation(
  41. value = "Creates new instance of orders",
  42. tags = {"OrdersModel"}
  43. )
  44. public OrdersModel createResource(@ApiParam(value = "OrdersModel Object that needs to be created",required = true) OrdersModel resource) {
  45. if(resource == null) {
  46. resource = new OrdersModel();
  47. }
  48.  
  49. ProcessInstance pi = this.processRuntime.startProcess(this.processId, resource.toMap());
  50. return OrdersModel.fromMap(Long.valueOf(pi.getId()), ((WorkflowProcessInstanceImpl)pi).getVariables());
  51. }
  52.  
  53. @GET
  54. @Produces({"application/json"})
  55. @ApiOperation(
  56. value = "Returns a list of orders",
  57. tags = {"OrdersModel"}
  58. )
  59. public List<OrdersModel> getResources() {
  60. return (List)this.processRuntime.getProcessInstances().stream().filter((pi) -> {
  61. return pi.getProcessId().equals(this.processId);
  62. }).map((pi) -> {
  63. return OrdersModel.fromMap(Long.valueOf(pi.getId()), ((WorkflowProcessInstanceImpl)pi).getVariables());
  64. }).collect(Collectors.toList());
  65. }
  66.  
  67. @GET
  68. @Path("/{id}")
  69. @Produces({"application/json"})
  70. @ApiOperation(
  71. value = "Returns information about specified orders",
  72. tags = {"OrdersModel"}
  73. )
  74. public OrdersModel getResource(@PathParam("id") Long id) {
  75. return (OrdersModel)Optional.ofNullable(this.processRuntime.getProcessInstance(id.longValue(), true)).map((pi) -> {
  76. return OrdersModel.fromMap(Long.valueOf(pi.getId()), ((WorkflowProcessInstanceImpl)pi).getVariables());
  77. }).orElse((Object)null);
  78. }
  79.  
  80. @DELETE
  81. @Path("/{id}")
  82. @Produces({"application/json"})
  83. @ApiOperation(
  84. value = "Cancels specified orders",
  85. tags = {"OrdersModel"}
  86. )
  87. public OrdersModel deleteResource(@PathParam("id") Long id) {
  88. OrdersModel item = (OrdersModel)Optional.ofNullable(this.processRuntime.getProcessInstance(id.longValue(), true)).map((pi) -> {
  89. return OrdersModel.fromMap(Long.valueOf(pi.getId()), ((WorkflowProcessInstanceImpl)pi).getVariables());
  90. }).orElse((Object)null);
  91. this.processRuntime.abortProcessInstance(id.longValue());
  92. return item;
  93. }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement