Search in sources :

Example 1 with WorkflowProcessDefinitionDto

use of eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessDefinitionDto in project CzechIdMng by bcvsolutions.

the class WorkflowDefinitionAssembler method toResource.

@Override
public ResourceWrapper<WorkflowProcessDefinitionDto> toResource(WorkflowProcessDefinitionDto entity) {
    ResourceWrapper<WorkflowProcessDefinitionDto> wrapper = new ResourceWrapper<WorkflowProcessDefinitionDto>(entity);
    Link selfLink = linkTo(methodOn(WorkflowDefinitionController.class).get(entity.getKey())).withSelfRel();
    wrapper.add(selfLink);
    return wrapper;
}
Also used : ResourceWrapper(eu.bcvsolutions.idm.core.api.rest.domain.ResourceWrapper) WorkflowDefinitionController(eu.bcvsolutions.idm.core.workflow.rest.WorkflowDefinitionController) WorkflowProcessDefinitionDto(eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessDefinitionDto) Link(org.springframework.hateoas.Link)

Example 2 with WorkflowProcessDefinitionDto

use of eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessDefinitionDto in project CzechIdMng by bcvsolutions.

the class DefaultWorkflowProcessDefinitionService method toDto.

private WorkflowProcessDefinitionDto toDto(ProcessDefinition processDefinition) {
    WorkflowProcessDefinitionDto dto = new WorkflowProcessDefinitionDto();
    dto.setId(processDefinition.getKey());
    dto.setCategory(processDefinition.getCategory());
    dto.setDeploymentId(processDefinition.getDeploymentId());
    dto.setDescription(processDefinition.getDescription());
    dto.setDiagramResourceName(processDefinition.getDiagramResourceName());
    dto.setGraphicalNotation(processDefinition.hasGraphicalNotation());
    dto.setKey(processDefinition.getKey());
    dto.setName(processDefinition.getName());
    dto.setResourceName(processDefinition.getResourceName());
    dto.setStartFormKey(processDefinition.hasStartFormKey());
    dto.setSuspended(processDefinition.isSuspended());
    dto.setTenantId(processDefinition.getTenantId());
    dto.setVersion(processDefinition.getVersion());
    return dto;
}
Also used : WorkflowProcessDefinitionDto(eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessDefinitionDto)

Example 3 with WorkflowProcessDefinitionDto

use of eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessDefinitionDto in project CzechIdMng by bcvsolutions.

the class DefaultWorkflowProcessDefinitionService method find.

@Override
public Page<WorkflowProcessDefinitionDto> find(WorkflowFilterDto filter, Pageable pageable, BasePermission... permission) {
    ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery();
    query.active();
    query.latestVersion();
    if (filter != null && filter.getCategory() != null && !StringUtils.isEmpty(filter.getCategory())) {
        query.processDefinitionCategoryLike(filter.getCategory() + '%');
    }
    if (filter.getProcessDefinitionKey() != null) {
        query.processDefinitionKeyLike('%' + filter.getProcessDefinitionKey() + '%');
    }
    if (filter.getName() != null) {
        query.processDefinitionNameLike('%' + filter.getName() + '%');
    }
    if (pageable != null && pageable.getSort() != null) {
        pageable.getSort().forEach(order -> {
            if (SORT_BY_KEY.equals(order.getProperty())) {
                // Sort by key
                query.orderByProcessDefinitionKey();
                if (order.isAscending()) {
                    query.asc();
                } else {
                    query.desc();
                }
            }
            if (SORT_BY_NAME.equals(order.getProperty())) {
                // Sort by name
                query.orderByProcessDefinitionName();
                if (order.isAscending()) {
                    query.asc();
                } else {
                    query.desc();
                }
            }
        });
    }
    // paginator
    long count = query.count();
    List<ProcessDefinition> processInstances = // without pagination
    pageable == null ? // without pagination
    query.list() : query.listPage((pageable.getPageNumber() * pageable.getPageSize()), pageable.getPageSize());
    List<WorkflowProcessDefinitionDto> dtos = new ArrayList<>();
    if (processInstances != null) {
        for (ProcessDefinition instance : processInstances) {
            dtos.add(toDto(instance));
        }
    }
    return toPage(dtos, count, pageable != null ? pageable.getPageNumber() : -1, pageable != null ? pageable.getPageSize() : -1);
}
Also used : ArrayList(java.util.ArrayList) ProcessDefinitionQuery(org.activiti.engine.repository.ProcessDefinitionQuery) ProcessDefinition(org.activiti.engine.repository.ProcessDefinition) WorkflowProcessDefinitionDto(eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessDefinitionDto)

Example 4 with WorkflowProcessDefinitionDto

use of eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessDefinitionDto in project CzechIdMng by bcvsolutions.

the class DefaultWorkflowProcessDefinitionService method findAllProcessDefinitions.

/**
 * Find all last version and active process definitions
 */
@Override
public List<WorkflowProcessDefinitionDto> findAllProcessDefinitions() {
    ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery();
    query.active();
    query.latestVersion();
    List<ProcessDefinition> processDefinitions = query.list();
    List<WorkflowProcessDefinitionDto> processDefinitionDtos = new ArrayList<>();
    if (processDefinitions == null) {
        return processDefinitionDtos;
    }
    for (ProcessDefinition p : processDefinitions) {
        processDefinitionDtos.add(toDto(p));
    }
    return processDefinitionDtos;
}
Also used : ArrayList(java.util.ArrayList) ProcessDefinitionQuery(org.activiti.engine.repository.ProcessDefinitionQuery) ProcessDefinition(org.activiti.engine.repository.ProcessDefinition) WorkflowProcessDefinitionDto(eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessDefinitionDto)

Example 5 with WorkflowProcessDefinitionDto

use of eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessDefinitionDto in project CzechIdMng by bcvsolutions.

the class DeployAndRunProcessTest method testOverrideAutoDeployedDefinition.

@Test
public void testOverrideAutoDeployedDefinition() {
    WorkflowProcessDefinitionDto definitionOne = definitionService.getByName(TEST_PROCESS_KEY_OVERRIDE);
    // 
    Assert.assertNotNull(definitionOne);
    Assert.assertEquals("Process for test deploy and run Override", definitionOne.getName());
}
Also used : WorkflowProcessDefinitionDto(eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessDefinitionDto) AbstractCoreWorkflowIntegrationTest(eu.bcvsolutions.idm.core.AbstractCoreWorkflowIntegrationTest) Test(org.junit.Test)

Aggregations

WorkflowProcessDefinitionDto (eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessDefinitionDto)9 ArrayList (java.util.ArrayList)4 AbstractCoreWorkflowIntegrationTest (eu.bcvsolutions.idm.core.AbstractCoreWorkflowIntegrationTest)2 ProcessDefinition (org.activiti.engine.repository.ProcessDefinition)2 ProcessDefinitionQuery (org.activiti.engine.repository.ProcessDefinitionQuery)2 Test (org.junit.Test)2 ResultCodeException (eu.bcvsolutions.idm.core.api.exception.ResultCodeException)1 ResourceWrapper (eu.bcvsolutions.idm.core.api.rest.domain.ResourceWrapper)1 IdentityLinkDto (eu.bcvsolutions.idm.core.workflow.model.dto.IdentityLinkDto)1 WorkflowHistoricTaskInstanceDto (eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowHistoricTaskInstanceDto)1 WorkflowTaskInstanceDto (eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowTaskInstanceDto)1 WorkflowDefinitionController (eu.bcvsolutions.idm.core.workflow.rest.WorkflowDefinitionController)1 ApiOperation (io.swagger.annotations.ApiOperation)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 FormProperty (org.activiti.engine.form.FormProperty)1 TaskFormData (org.activiti.engine.form.TaskFormData)1 HistoricIdentityLink (org.activiti.engine.history.HistoricIdentityLink)1 IdentityLink (org.activiti.engine.task.IdentityLink)1 InputStreamResource (org.springframework.core.io.InputStreamResource)1