Class HvlBpmnProcessRestController

java.lang.Object
tr.com.havelsan.javarch.bpmn.admin.starter.module.process.controller.HvlBpmnProcessRestController
All Implemented Interfaces:
HvlBpmnProcessOperationalRestService, HvlBpmnProcessRestService

@RestController @RequestMapping("${hvl.bpmn.service.process.controller-path:/process}") @HvlActuatorService(name="HvlBpmnProcessRestService", groupName="HvlBpmnProcess") public class HvlBpmnProcessRestController extends Object implements HvlBpmnProcessRestService, HvlBpmnProcessOperationalRestService
The class in which service endpoints are defined for process instance operations.
  • Field Details

  • Constructor Details

    • HvlBpmnProcessRestController

      public HvlBpmnProcessRestController(HvlBpmnProcessService processService, HvlBpmnProcessVersionService processVersionService)
      Instantiates a new HvlBpmnProcessRestController.
      Parameters:
      processService - the process service
      processVersionService - the process version service
  • Method Details

    • save

      public tr.com.havelsan.javarch.service.data.HvlResponse<Long> save(@Valid @RequestBody @Valid HvlBpmnProcessModel bpmnModel, @RequestParam(required=false) Long sourceProcessId)
      Adds provided object.
      Specified by:
      save in interface HvlBpmnProcessOperationalRestService
      Parameters:
      bpmnModel - the bpmn model
      sourceProcessId - the source process's id if cloning is wanted
      Returns:
      the hvl response
    • update

      public tr.com.havelsan.javarch.service.data.HvlResponse<Long> update(@Valid @RequestBody @Valid HvlBpmnProcessModel processModel, @RequestParam Boolean newVersion)
      Edits object associated provided object.
      Specified by:
      update in interface HvlBpmnProcessOperationalRestService
      Parameters:
      processModel - the bpmn model
      newVersion - the new version
      Returns:
      the hvl response
    • delete

      public tr.com.havelsan.javarch.service.data.HvlResponse<Void> delete(@NotNull @PathVariable("id") @NotNull Long id)
      Removes object according to provided parameter.
      Specified by:
      delete in interface HvlBpmnProcessOperationalRestService
      Parameters:
      id - the id
      Returns:
      the hvl response
    • queryList

      public tr.com.havelsan.javarch.service.data.HvlResponse<List<HvlBpmnProcessModel>> queryList(@NotNull @Valid @RequestBody @NotNull @Valid HvlBpmnProcessQueryModel bpmnQueryModel)
      Returns a list of process matching the query criteria.
      Specified by:
      queryList in interface HvlBpmnProcessRestService
      Parameters:
      bpmnQueryModel - the bpmn query model
      Returns:
      the hvl response
    • queryPage

      public tr.com.havelsan.javarch.service.data.HvlResponse<tr.com.havelsan.javarch.data.commons.pageable.HvlPage<HvlBpmnProcessModel>> queryPage(@NotNull @Valid @RequestBody @NotNull @Valid HvlBpmnProcessQueryModel bpmnQueryModel)
      Returns a page of process matching the query criteria.
      Specified by:
      queryPage in interface HvlBpmnProcessRestService
      Parameters:
      bpmnQueryModel - the bpmn query model
      Returns:
      the hvl response
    • queryCategoryList

      public tr.com.havelsan.javarch.service.data.HvlResponse<List<String>> queryCategoryList(@NotBlank @Size(min=3,max=64) @PathVariable("namespace") @NotBlank @Size(min=3,max=64) String namespace)
      Returns a list of category by provided namespace.
      Specified by:
      queryCategoryList in interface HvlBpmnProcessRestService
      Parameters:
      namespace - the namespace
      Returns:
      the hvl response
    • deployProcess

      public tr.com.havelsan.javarch.service.data.HvlResponse<Void> deployProcess(@NotNull @PathVariable("processId") @NotNull Long processId)
      Deploy process.
      Specified by:
      deployProcess in interface HvlBpmnProcessOperationalRestService
      Parameters:
      processId - the process id
      Returns:
      the hvl response
    • importProcess

      public tr.com.havelsan.javarch.service.data.HvlResponse<Long> importProcess(@RequestPart org.springframework.web.multipart.MultipartFile xmlFile)
      Imports a bpmn xml.
      Specified by:
      importProcess in interface HvlBpmnProcessOperationalRestService
      Parameters:
      xmlFile - the xml file
      Returns:
      the hvl response
    • importAll

      public tr.com.havelsan.javarch.service.data.HvlResponse<List<HvlBpmnProcessModel>> importAll(@RequestPart org.springframework.web.multipart.MultipartFile zipFile)
      Imports all bpmn xml files from a zip file.
      Specified by:
      importAll in interface HvlBpmnProcessOperationalRestService
      Parameters:
      zipFile - the zip file
      Returns:
      the hvl response
    • exportProcess

      public tr.com.havelsan.javarch.service.data.HvlResponseEntity<byte[]> exportProcess(@NotNull @PathVariable("processId") @NotNull Long processId)
      Exports process as bpmn xml.
      Specified by:
      exportProcess in interface HvlBpmnProcessOperationalRestService
      Parameters:
      processId - the process id
      Returns:
      the hvl response entity
    • exportAll

      public tr.com.havelsan.javarch.service.data.HvlResponseEntity<byte[]> exportAll(@NotEmpty @RequestBody @NotEmpty List<Long> processIdList)
      Exports all processes as zip file.
      Specified by:
      exportAll in interface HvlBpmnProcessOperationalRestService
      Parameters:
      processIdList - the process id list
      Returns:
      the hvl response entity
    • getCurrentVersion

      public tr.com.havelsan.javarch.service.data.HvlResponse<Long> getCurrentVersion(@NotBlank @PathVariable("processCode") @NotBlank String processCode)
      Gets current version of process.
      Specified by:
      getCurrentVersion in interface HvlBpmnProcessRestService
      Parameters:
      processCode - the process code
      Returns:
      the current version
    • getProcessById

      public tr.com.havelsan.javarch.service.data.HvlResponse<HvlBpmnProcessModel> getProcessById(@NotNull @PathVariable("id") @NotNull Long id)
      Gets process by id.
      Specified by:
      getProcessById in interface HvlBpmnProcessRestService
      Parameters:
      id - the id
      Returns:
      the process by id
    • getProcessByVersion

      public tr.com.havelsan.javarch.service.data.HvlResponse<HvlBpmnProcessModel> getProcessByVersion(@NotBlank @PathVariable("processCode") @NotBlank String processCode, @NotNull @PathVariable("processVersion") @NotNull Long processVersion)
      Gets process by version.
      Specified by:
      getProcessByVersion in interface HvlBpmnProcessRestService
      Parameters:
      processCode - the process code
      processVersion - the process version
      Returns:
      the process by version
    • getProcessVersionList

      public tr.com.havelsan.javarch.service.data.HvlResponse<List<Long>> getProcessVersionList(@NotBlank @PathVariable("processCode") @NotBlank String processCode)
      Gets process version list.
      Specified by:
      getProcessVersionList in interface HvlBpmnProcessRestService
      Parameters:
      processCode - the process code
      Returns:
      the process version list
    • lock

      public tr.com.havelsan.javarch.service.data.HvlResponse<Void> lock(@NotNull @PathVariable("id") @NotNull Long id)
      Lock the process.
      Specified by:
      lock in interface HvlBpmnProcessOperationalRestService
      Parameters:
      id - the id
      Returns:
      the hvl response
    • unlock

      public tr.com.havelsan.javarch.service.data.HvlResponse<Void> unlock(@NotNull @PathVariable("id") @NotNull Long id)
      Unlock the process.
      Specified by:
      unlock in interface HvlBpmnProcessOperationalRestService
      Parameters:
      id - the id
      Returns:
      the hvl response
    • isLocked

      public tr.com.havelsan.javarch.service.data.HvlResponse<Boolean> isLocked(@NotNull @PathVariable("id") @NotNull Long id)
      Check the process is locked.
      Specified by:
      isLocked in interface HvlBpmnProcessRestService
      Parameters:
      id - the id
      Returns:
      the hvl response
    • getProcessModelNode

      public com.fasterxml.jackson.databind.node.ObjectNode getProcessModelNode(@NotNull @PathVariable("modelId") @NotNull Long modelId)
      Gets process model node.
      Specified by:
      getProcessModelNode in interface HvlBpmnProcessRestService
      Parameters:
      modelId - the model id
      Returns:
      the process model node
    • saveProcessModelNode

      public tr.com.havelsan.javarch.service.data.HvlResponse<Void> saveProcessModelNode(@NotNull @PathVariable("modelId") @NotNull Long modelId, @NotEmpty @RequestBody @NotEmpty org.springframework.util.MultiValueMap<String,String> values)
      Saves process model node.
      Specified by:
      saveProcessModelNode in interface HvlBpmnProcessOperationalRestService
      Parameters:
      modelId - the model id
      values - the values
      Returns:
      the hvl response
    • getNamespaceList

      public tr.com.havelsan.javarch.service.data.HvlResponse<List<String>> getNamespaceList()
      Gets namespace list.
      Specified by:
      getNamespaceList in interface HvlBpmnProcessRestService
      Returns:
      the namespace list