Search in sources :

Example 16 with IdmRequestItemDto

use of eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto in project CzechIdMng by bcvsolutions.

the class DefaultRequestManager method get.

private <R extends Requestable> R get(UUID requestId, R dto) {
    Assert.notNull(dto, "DTO is required!");
    Assert.notNull(requestId, "Request ID is required!");
    // Exists item for same original owner?
    IdmRequestItemDto item = this.findRequestItem(requestId, dto);
    if (item == null || dto == null) {
        return dto;
    } else if (RequestOperationType.REMOVE == item.getOperation()) {
        addRequestItemToDto(dto, item);
        return dto;
    }
    try {
        @SuppressWarnings("unchecked") R requestedDto = this.convertItemToDto(item, (Class<? extends R>) dto.getClass());
        addRequestItemToDto((R) requestedDto, item);
        this.addEmbedded((AbstractDto) requestedDto, requestId);
        return (R) requestedDto;
    } catch (IOException | ReflectiveOperationException | IllegalArgumentException | IntrospectionException e) {
        throw new ResultCodeException(CoreResultCode.JSON_CANNOT_BE_CONVERT_TO_DTO, ImmutableMap.of("json", item.getData()), e);
    }
}
Also used : IdmRequestItemDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto) IntrospectionException(java.beans.IntrospectionException) ResultCodeException(eu.bcvsolutions.idm.core.api.exception.ResultCodeException) IOException(java.io.IOException)

Example 17 with IdmRequestItemDto

use of eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto in project CzechIdMng by bcvsolutions.

the class DefaultRequestManager method onDeleteRequestable.

@Override
@Transactional
public <R extends Requestable> void onDeleteRequestable(R requestable) {
    Assert.notNull(requestable, "Requestable DTO cannot be null!");
    // Search requests with that deleting owner
    IdmRequestFilter requestFilter = new IdmRequestFilter();
    requestFilter.setOwnerType(requestable.getClass().getName());
    requestFilter.setOwnerId((UUID) requestable.getId());
    List<IdmRequestDto> requests = requestService.find(requestFilter, null).getContent();
    // 
    requests.stream().filter(// We need filtered request which
    request -> RequestState.APPROVED != request.getState()).forEach(request -> {
        // 
        request = changeRequestState(// 
        requestable, // 
        request, new // 
        ResultCodeException(// 
        CoreResultCode.REQUEST_OWNER_WAS_DELETED, // 
        ImmutableMap.of("owner", requestable.toString())));
        requestService.save(request);
    });
    // Search request items with that deleting owner
    IdmRequestItemFilter requestItemFilter = new IdmRequestItemFilter();
    requestItemFilter.setOwnerType(requestable.getClass().getName());
    requestItemFilter.setOwnerId((UUID) requestable.getId());
    List<IdmRequestItemDto> requestItems = requestItemService.find(requestItemFilter, null).getContent();
    // 
    requestItems.stream().filter(// We need filtered request which invoked that
    item -> RequestState.APPROVED != item.getState()).forEach(item -> {
        // 
        item = changeItemState(// 
        requestable, // 
        item, new // 
        ResultCodeException(// 
        CoreResultCode.REQUEST_OWNER_WAS_DELETED, // 
        ImmutableMap.of("owner", requestable.toString())));
        requestItemService.save(item);
        IdmRequestItemFilter subItemFilter = new IdmRequestItemFilter();
        subItemFilter.setRequestId(item.getRequest());
        // Search all items for that request
        List<IdmRequestItemDto> subItems = requestItemService.find(subItemFilter, null).getContent();
        // TODO: This can be (maybe) removed ... because that 'cancel' is implemented
        // during realization of item
        // Check if items in same request does not contains same ID of deleting owner in
        // the DATA Json.
        // If yes, then state will be changed to cancel.
        // 
        subItems.stream().filter(// We need filtered request
        subItem -> RequestState.APPROVED != subItem.getState()).filter(// 
        subItem -> !requestable.getId().equals(subItem.getOwnerId())).filter(// 
        subItem -> subItem.getData() != null).filter(subItem -> // 
        subItem.getData().indexOf(requestable.getId().toString()) != // 
        -1).forEach(subItem -> {
            // 
            subItem = changeItemState(// 
            requestable, // 
            subItem, new // 
            ResultCodeException(// 
            CoreResultCode.REQUEST_OWNER_FROM_OTHER_REQUEST_WAS_DELETED, ImmutableMap.of("owner", requestable.toString(), "otherRequest", // 
            subItem.toString())));
            requestItemService.save(subItem);
        });
    });
// 
}
Also used : DtoUtils(eu.bcvsolutions.idm.core.api.utils.DtoUtils) IdmRequestItemDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto) IdmFormAttributeDto(eu.bcvsolutions.idm.core.eav.api.dto.IdmFormAttributeDto) Autowired(org.springframework.beans.factory.annotation.Autowired) FormService(eu.bcvsolutions.idm.core.eav.api.service.FormService) SecurityService(eu.bcvsolutions.idm.core.security.api.service.SecurityService) Map(java.util.Map) IdmRequestDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestDto) PageRequest(org.springframework.data.domain.PageRequest) Page(org.springframework.data.domain.Page) IntrospectionException(java.beans.IntrospectionException) Serializable(java.io.Serializable) InvocationTargetException(java.lang.reflect.InvocationTargetException) PropertyDescriptor(java.beans.PropertyDescriptor) Builder(eu.bcvsolutions.idm.core.api.dto.OperationResultDto.Builder) Lazy(org.springframework.context.annotation.Lazy) GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) RequestOperationType(eu.bcvsolutions.idm.core.api.domain.RequestOperationType) ArrayList(java.util.ArrayList) LinkedHashMap(java.util.LinkedHashMap) Introspector(java.beans.Introspector) Strings(com.google.common.base.Strings) AbstractDto(eu.bcvsolutions.idm.core.api.dto.AbstractDto) IdmBasePermission(eu.bcvsolutions.idm.core.security.api.domain.IdmBasePermission) Lists(com.google.common.collect.Lists) BaseEntity(eu.bcvsolutions.idm.core.api.entity.BaseEntity) LookupService(eu.bcvsolutions.idm.core.api.service.LookupService) Service(org.springframework.stereotype.Service) WorkflowProcessInstanceService(eu.bcvsolutions.idm.core.workflow.service.WorkflowProcessInstanceService) IdmFormInstanceDto(eu.bcvsolutions.idm.core.eav.api.dto.IdmFormInstanceDto) Requestable(eu.bcvsolutions.idm.core.api.domain.Requestable) CoreException(eu.bcvsolutions.idm.core.api.exception.CoreException) OperationState(eu.bcvsolutions.idm.core.api.domain.OperationState) IOException(java.io.IOException) Field(java.lang.reflect.Field) BaseFilter(eu.bcvsolutions.idm.core.api.dto.filter.BaseFilter) IdmFormDefinitionDto(eu.bcvsolutions.idm.core.eav.api.dto.IdmFormDefinitionDto) IdmRoleDto(eu.bcvsolutions.idm.core.api.dto.IdmRoleDto) IdmRequestItemService(eu.bcvsolutions.idm.core.api.service.IdmRequestItemService) CoreResultCode(eu.bcvsolutions.idm.core.api.domain.CoreResultCode) FormValueService(eu.bcvsolutions.idm.core.eav.api.service.FormValueService) RequestEventType(eu.bcvsolutions.idm.core.model.event.RequestEvent.RequestEventType) BaseDto(eu.bcvsolutions.idm.core.api.dto.BaseDto) EntityEventManager(eu.bcvsolutions.idm.core.api.service.EntityEventManager) Embedded(eu.bcvsolutions.idm.core.api.domain.Embedded) RequestEvent(eu.bcvsolutions.idm.core.model.event.RequestEvent) RequestState(eu.bcvsolutions.idm.core.api.domain.RequestState) RoleRequestException(eu.bcvsolutions.idm.core.api.exception.RoleRequestException) CoreGroupPermission(eu.bcvsolutions.idm.core.model.domain.CoreGroupPermission) IdmFormValueDto(eu.bcvsolutions.idm.core.eav.api.dto.IdmFormValueDto) ResultCodeException(eu.bcvsolutions.idm.core.api.exception.ResultCodeException) BasePermission(eu.bcvsolutions.idm.core.security.api.domain.BasePermission) ProcessInstance(org.activiti.engine.runtime.ProcessInstance) Pageable(org.springframework.data.domain.Pageable) ImmutableMap(com.google.common.collect.ImmutableMap) Collection(java.util.Collection) ReadWriteDtoService(eu.bcvsolutions.idm.core.api.service.ReadWriteDtoService) RequestManager(eu.bcvsolutions.idm.core.api.service.RequestManager) AcceptedException(eu.bcvsolutions.idm.core.api.exception.AcceptedException) UUID(java.util.UUID) Collectors(java.util.stream.Collectors) List(java.util.List) ExceptionUtils(eu.bcvsolutions.idm.core.api.utils.ExceptionUtils) Modifier(java.lang.reflect.Modifier) Entry(java.util.Map.Entry) Identifiable(eu.bcvsolutions.idm.core.api.domain.Identifiable) RoleRequestApprovalProcessor(eu.bcvsolutions.idm.core.model.event.processor.role.RoleRequestApprovalProcessor) PageImpl(org.springframework.data.domain.PageImpl) IdmRequestService(eu.bcvsolutions.idm.core.api.service.IdmRequestService) FormableEntity(eu.bcvsolutions.idm.core.eav.api.entity.FormableEntity) IdmRequestItem(eu.bcvsolutions.idm.core.model.entity.IdmRequestItem) HashMap(java.util.HashMap) MessageFormat(java.text.MessageFormat) ConfidentialStorage(eu.bcvsolutions.idm.core.api.service.ConfidentialStorage) ReadDtoService(eu.bcvsolutions.idm.core.api.service.ReadDtoService) RequestFilterPredicate(eu.bcvsolutions.idm.core.api.domain.RequestFilterPredicate) ImmutableList(com.google.common.collect.ImmutableList) CollectionUtils(org.apache.commons.collections.CollectionUtils) Propagation(org.springframework.transaction.annotation.Propagation) OperationResultDto(eu.bcvsolutions.idm.core.api.dto.OperationResultDto) EntityUtils(eu.bcvsolutions.idm.core.api.utils.EntityUtils) Qualifier(org.springframework.beans.factory.annotation.Qualifier) JsonIgnore(com.fasterxml.jackson.annotation.JsonIgnore) Niceable(eu.bcvsolutions.idm.core.api.domain.Niceable) IdmRequestItemFilter(eu.bcvsolutions.idm.core.api.dto.filter.IdmRequestItemFilter) EntityEvent(eu.bcvsolutions.idm.core.api.event.EntityEvent) Codeable(eu.bcvsolutions.idm.core.api.domain.Codeable) IdmRequestAttributeValueDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestAttributeValueDto) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) JsonProcessingException(com.fasterxml.jackson.core.JsonProcessingException) IdmRequestItemChangesDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestItemChangesDto) MethodDescriptor(java.beans.MethodDescriptor) ApplicationContext(org.springframework.context.ApplicationContext) ConfigurationMap(eu.bcvsolutions.idm.core.api.domain.ConfigurationMap) IdmRequestItemAttributeDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestItemAttributeDto) Comparator(java.util.Comparator) IdmRequestFilter(eu.bcvsolutions.idm.core.api.dto.filter.IdmRequestFilter) Transactional(org.springframework.transaction.annotation.Transactional) Assert(org.springframework.util.Assert) IdmRequestItemDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto) IdmRequestFilter(eu.bcvsolutions.idm.core.api.dto.filter.IdmRequestFilter) IdmRequestItemFilter(eu.bcvsolutions.idm.core.api.dto.filter.IdmRequestItemFilter) ResultCodeException(eu.bcvsolutions.idm.core.api.exception.ResultCodeException) IdmRequestDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestDto) Transactional(org.springframework.transaction.annotation.Transactional)

Example 18 with IdmRequestItemDto

use of eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto in project CzechIdMng by bcvsolutions.

the class DefaultIdmRequestService method toDto.

@Override
public IdmRequestDto toDto(IdmRequest entity, IdmRequestDto dto) {
    IdmRequestDto requestDto = super.toDto(entity, dto);
    // Load and add WF process DTO to embedded. Prevents of many requests from FE.
    if (requestDto != null && requestDto.getWfProcessId() != null) {
        if (RequestState.IN_PROGRESS == requestDto.getState()) {
            // Instance of process should exists only in 'IN_PROGRESS' state
            WorkflowProcessInstanceDto processInstanceDto = workflowProcessInstanceService.get(requestDto.getWfProcessId());
            // size
            if (processInstanceDto != null) {
                processInstanceDto.setProcessVariables(null);
            }
            requestDto.getEmbedded().put(AbstractRequestDto.WF_PROCESS_FIELD, processInstanceDto);
        } else {
            // In others states we need load historic process
            WorkflowHistoricProcessInstanceDto processHistDto = workflowHistoricProcessInstanceService.get(requestDto.getWfProcessId());
            // size
            if (processHistDto != null) {
                processHistDto.setProcessVariables(null);
            }
            requestDto.getEmbedded().put(AbstractRequestDto.WF_PROCESS_FIELD, processHistDto);
        }
    }
    // Load and add owner DTO to embedded. Prevents of many requests from FE.
    if (requestDto != null && requestDto.getOwnerId() != null && requestDto.getOwnerType() != null) {
        try {
            @SuppressWarnings("unchecked") Requestable requestable = requestManager.get(requestDto.getId(), requestDto.getOwnerId(), (Class<Requestable>) Class.forName(requestDto.getOwnerType()));
            if (requestable instanceof AbstractDto) {
                // If is requestable realized REMOVE, then requestable DTO does not contains
                // data (only ID). In this case we don't want send this DTO to FE.
                AbstractDto requestableDto = (AbstractDto) requestable;
                IdmRequestItemDto itemDto = DtoUtils.getEmbedded(requestableDto, Requestable.REQUEST_ITEM_FIELD, IdmRequestItemDto.class, null);
                if (itemDto != null && RequestOperationType.REMOVE == itemDto.getOperation() && itemDto.getState().isTerminatedState()) {
                    requestable = null;
                }
                // Minimise response size
                requestableDto.setEmbedded(null);
            }
            if (requestable == null) {
                // Entity was not found ... maybe was deleted or not exists yet
                LOG.debug(MessageFormat.format("Owner [{0}, {1}] not found for request {2}.", requestDto.getOwnerType(), requestDto.getOwnerId(), requestDto.getId()));
            }
            requestDto.getEmbedded().put(IdmRequestDto.OWNER_FIELD, requestable);
        } catch (ClassNotFoundException e) {
            // Only print warning
            LOG.warn(MessageFormat.format("Class not found for request {0}.", requestDto.getId()), e);
        }
    }
    return requestDto;
}
Also used : IdmRequestItemDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto) Requestable(eu.bcvsolutions.idm.core.api.domain.Requestable) AbstractDto(eu.bcvsolutions.idm.core.api.dto.AbstractDto) IdmRequestDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestDto) WorkflowProcessInstanceDto(eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessInstanceDto) WorkflowHistoricProcessInstanceDto(eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowHistoricProcessInstanceDto)

Example 19 with IdmRequestItemDto

use of eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto in project CzechIdMng by bcvsolutions.

the class DefaultIdmRequestItemService method toDto.

@Override
public IdmRequestItemDto toDto(IdmRequestItem entity, IdmRequestItemDto dto) {
    IdmRequestItemDto requestItemDto = super.toDto(entity, dto);
    // Load and add WF process DTO to embedded. Prevents of many requests from FE.
    if (requestItemDto != null && requestItemDto.getWfProcessId() != null) {
        if (RequestState.IN_PROGRESS == requestItemDto.getState()) {
            // Instance of process should exists only in 'IN_PROGRESS' state
            WorkflowProcessInstanceDto processInstanceDto = workflowProcessInstanceService.get(requestItemDto.getWfProcessId());
            // size
            if (processInstanceDto != null) {
                processInstanceDto.setProcessVariables(null);
            }
            requestItemDto.getEmbedded().put(AbstractRequestDto.WF_PROCESS_FIELD, processInstanceDto);
        } else {
            // In others states we need load historic process
            WorkflowHistoricProcessInstanceDto processHistDto = workflowHistoricProcessInstanceService.get(requestItemDto.getWfProcessId());
            // size
            if (processHistDto != null) {
                processHistDto.setProcessVariables(null);
            }
            requestItemDto.getEmbedded().put(AbstractRequestDto.WF_PROCESS_FIELD, processHistDto);
        }
    }
    // Load and add owner DTO to embedded. Prevents of many requests from FE.
    if (requestItemDto != null && requestItemDto.getOwnerId() != null && requestItemDto.getOwnerType() != null) {
        try {
            @SuppressWarnings("unchecked") Requestable requestable = requestManager.convertItemToDto(requestItemDto, (Class<Requestable>) Class.forName(requestItemDto.getOwnerType()));
            // Item for remove operation does not contains the JSON data, so we need load owner via lookupService
            if (requestable == null && RequestOperationType.REMOVE == requestItemDto.getOperation()) {
                requestable = (Requestable) lookupService.lookupDto(requestItemDto.getOwnerType(), requestItemDto.getOwnerId());
            }
            if (requestable == null) {
                // Entity was not found ... maybe was deleted or not exists yet
                LOG.debug(MessageFormat.format("Owner [{0}, {1}] not found for request {2}.", requestItemDto.getOwnerType(), requestItemDto.getOwnerId(), requestItemDto.getId()));
            }
            requestItemDto.getEmbedded().put(IdmRequestDto.OWNER_FIELD, requestable);
        } catch (ClassNotFoundException e) {
            // Only print warning
            LOG.warn(MessageFormat.format("Class not found for request item {0}.", requestItemDto.getId()), e);
        } catch (JsonParseException e) {
            // Only print warning
            LOG.warn(MessageFormat.format("JsonParseException for request item {0}.", requestItemDto.getId()), e);
        } catch (JsonMappingException e) {
            // Only print warning
            LOG.warn(MessageFormat.format("JsonMappingException for request item {0}.", requestItemDto.getId()), e);
        } catch (IOException e) {
            // Only print warning
            LOG.warn(MessageFormat.format("IOException for request item {0}.", requestItemDto.getId()), e);
        }
    }
    return requestItemDto;
}
Also used : IdmRequestItemDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto) Requestable(eu.bcvsolutions.idm.core.api.domain.Requestable) JsonMappingException(com.fasterxml.jackson.databind.JsonMappingException) IOException(java.io.IOException) WorkflowProcessInstanceDto(eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessInstanceDto) JsonParseException(com.fasterxml.jackson.core.JsonParseException) WorkflowHistoricProcessInstanceDto(eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowHistoricProcessInstanceDto)

Example 20 with IdmRequestItemDto

use of eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto in project CzechIdMng by bcvsolutions.

the class RequestManagerTest method testDeleteRequestIntegrityWithWf.

@Test
public void testDeleteRequestIntegrityWithWf() {
    // Log as admin, but not user 'admin' (we don't want to skip WF)
    IdmIdentityDto adminUser = getHelper().createIdentity();
    loginAsAdmin(adminUser.getUsername());
    // Create role
    IdmRoleDto role = getHelper().createRole();
    // Create request
    IdmRequestDto request = requestManager.createRequest(role);
    Assert.assertNotNull(request);
    // Create guarantee
    IdmIdentityDto guarantee = getHelper().createIdentity();
    IdmRoleGuaranteeDto roleGuarantee = new IdmRoleGuaranteeDto();
    roleGuarantee.setRole(role.getId());
    roleGuarantee.setGuarantee(guarantee.getId());
    Requestable requestablePost = requestManager.post(request.getId(), roleGuarantee);
    IdmRequestItemDto changeRequestItem = DtoUtils.getEmbedded((AbstractDto) requestablePost, Requestable.REQUEST_ITEM_FIELD, IdmRequestItemDto.class);
    Assert.assertEquals(RequestOperationType.ADD, changeRequestItem.getOperation());
    Assert.assertTrue(requestablePost instanceof IdmRoleGuaranteeDto);
    // Change role (without save)
    role.setDescription(getHelper().createName());
    role.setPriority(1000);
    // Create request item
    Requestable requestable = requestManager.post(request.getId(), role);
    Assert.assertNotNull(requestable);
    Assert.assertNotNull(requestable.getRequestItem());
    changeRequestItem = DtoUtils.getEmbedded((AbstractDto) requestable, Requestable.REQUEST_ITEM_FIELD, IdmRequestItemDto.class);
    Assert.assertEquals(RequestOperationType.UPDATE, changeRequestItem.getOperation());
    Assert.assertTrue(requestable instanceof IdmRoleDto);
    // Start request
    IdmRequestDto executedRequest = requestManager.startRequest(request.getId(), true);
    executedRequest = requestService.get(executedRequest.getId());
    Assert.assertEquals(RequestState.IN_PROGRESS, executedRequest.getState());
    String processId = executedRequest.getWfProcessId();
    Assert.assertNotNull(processId);
    // Wf process is in progress
    WorkflowProcessInstanceDto processInstace = workflowProcessInstanceService.get(processId);
    Assert.assertNotNull(processInstace);
    // Two items should be created
    Assert.assertEquals(2, requestManager.findRequestItems(request.getId(), null).size());
    // Delete the request
    requestService.delete(executedRequest);
    IdmRequestDto requestDeleted = requestService.get(executedRequest.getId());
    Assert.assertNull(requestDeleted);
    // Process should be deleted (canceled)
    processInstace = workflowProcessInstanceService.get(processId);
    Assert.assertNull(processInstace);
}
Also used : IdmRoleDto(eu.bcvsolutions.idm.core.api.dto.IdmRoleDto) IdmRequestItemDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto) IdmRoleGuaranteeDto(eu.bcvsolutions.idm.core.api.dto.IdmRoleGuaranteeDto) Requestable(eu.bcvsolutions.idm.core.api.domain.Requestable) AbstractDto(eu.bcvsolutions.idm.core.api.dto.AbstractDto) IdmRequestDto(eu.bcvsolutions.idm.core.api.dto.IdmRequestDto) IdmIdentityDto(eu.bcvsolutions.idm.core.api.dto.IdmIdentityDto) WorkflowProcessInstanceDto(eu.bcvsolutions.idm.core.workflow.model.dto.WorkflowProcessInstanceDto) AbstractCoreWorkflowIntegrationTest(eu.bcvsolutions.idm.core.AbstractCoreWorkflowIntegrationTest) Test(org.junit.Test)

Aggregations

IdmRequestItemDto (eu.bcvsolutions.idm.core.api.dto.IdmRequestItemDto)27 IdmRequestDto (eu.bcvsolutions.idm.core.api.dto.IdmRequestDto)21 Requestable (eu.bcvsolutions.idm.core.api.domain.Requestable)14 IdmRoleDto (eu.bcvsolutions.idm.core.api.dto.IdmRoleDto)12 ResultCodeException (eu.bcvsolutions.idm.core.api.exception.ResultCodeException)10 AbstractCoreWorkflowIntegrationTest (eu.bcvsolutions.idm.core.AbstractCoreWorkflowIntegrationTest)9 Test (org.junit.Test)9 AbstractDto (eu.bcvsolutions.idm.core.api.dto.AbstractDto)8 IdmRequestItemFilter (eu.bcvsolutions.idm.core.api.dto.filter.IdmRequestItemFilter)7 IOException (java.io.IOException)7 OperationResultDto (eu.bcvsolutions.idm.core.api.dto.OperationResultDto)6 IdmRequestItemService (eu.bcvsolutions.idm.core.api.service.IdmRequestItemService)6 IdmFormValueDto (eu.bcvsolutions.idm.core.eav.api.dto.IdmFormValueDto)6 RequestOperationType (eu.bcvsolutions.idm.core.api.domain.RequestOperationType)5 RequestState (eu.bcvsolutions.idm.core.api.domain.RequestState)5 IdmRequestItemChangesDto (eu.bcvsolutions.idm.core.api.dto.IdmRequestItemChangesDto)5 RequestManager (eu.bcvsolutions.idm.core.api.service.RequestManager)5 IdmFormInstanceDto (eu.bcvsolutions.idm.core.eav.api.dto.IdmFormInstanceDto)5 WorkflowProcessInstanceService (eu.bcvsolutions.idm.core.workflow.service.WorkflowProcessInstanceService)5 ArrayList (java.util.ArrayList)5