Search in sources :

Example 1 with NotFoundException

use of org.apache.syncope.core.persistence.api.dao.NotFoundException in project syncope by apache.

the class FlowableUserWorkflowAdapter method getHistoricFormTO.

protected WorkflowFormTO getHistoricFormTO(final String processInstanceId, final String taskId, final String formKey, final List<HistoricFormPropertyEntity> props) {
    WorkflowFormTO formTO = new WorkflowFormTO();
    User user = userDAO.findByWorkflowId(processInstanceId);
    if (user == null) {
        throw new NotFoundException("User with workflow id " + processInstanceId);
    }
    formTO.setUsername(user.getUsername());
    formTO.setTaskId(taskId);
    formTO.setKey(formKey);
    formTO.setUserTO(engine.getRuntimeService().getVariable(processInstanceId, USER_TO, UserTO.class));
    formTO.setUserPatch(engine.getRuntimeService().getVariable(processInstanceId, USER_PATCH, UserPatch.class));
    props.stream().map(prop -> {
        WorkflowFormPropertyTO propertyTO = new WorkflowFormPropertyTO();
        propertyTO.setId(prop.getPropertyId());
        propertyTO.setName(prop.getPropertyId());
        propertyTO.setValue(prop.getPropertyValue());
        return propertyTO;
    }).forEachOrdered(propertyTO -> {
        formTO.getProperties().add(propertyTO);
    });
    return formTO;
}
Also used : SyncopeClientException(org.apache.syncope.common.lib.SyncopeClientException) WorkflowException(org.apache.syncope.core.workflow.api.WorkflowException) Autowired(org.springframework.beans.factory.annotation.Autowired) UserPatch(org.apache.syncope.common.lib.patch.UserPatch) ResourceOperation(org.apache.syncope.common.lib.types.ResourceOperation) StringUtils(org.apache.commons.lang3.StringUtils) Pair(org.apache.commons.lang3.tuple.Pair) DomainProcessEngine(org.apache.syncope.core.workflow.flowable.spring.DomainProcessEngine) Map(java.util.Map) AbstractUserWorkflowAdapter(org.apache.syncope.core.workflow.java.AbstractUserWorkflowAdapter) PropagationByResource(org.apache.syncope.core.provisioning.api.PropagationByResource) JsonNode(com.fasterxml.jackson.databind.JsonNode) AuthContextUtils(org.apache.syncope.core.spring.security.AuthContextUtils) FormType(org.flowable.engine.form.FormType) Resource(javax.annotation.Resource) Set(java.util.Set) Model(org.flowable.engine.repository.Model) WorkflowFormTO(org.apache.syncope.common.lib.to.WorkflowFormTO) Deployment(org.flowable.engine.repository.Deployment) Task(org.flowable.task.api.Task) Collectors(java.util.stream.Collectors) NotFoundException(org.apache.syncope.core.persistence.api.dao.NotFoundException) Query(org.flowable.engine.common.api.query.Query) IOUtils(org.apache.commons.io.IOUtils) List(java.util.List) WorkflowFormPropertyType(org.apache.syncope.common.lib.types.WorkflowFormPropertyType) FormProperty(org.flowable.engine.form.FormProperty) WorkflowFormPropertyTO(org.apache.syncope.common.lib.to.WorkflowFormPropertyTO) WorkflowDefinitionFormat(org.apache.syncope.core.workflow.api.WorkflowDefinitionFormat) TaskFormData(org.flowable.engine.form.TaskFormData) ProcessDefinition(org.flowable.engine.repository.ProcessDefinition) BpmnXMLConverter(org.flowable.bpmn.converter.BpmnXMLConverter) HashMap(java.util.HashMap) BeanUtils(org.apache.syncope.core.spring.BeanUtils) WorkflowResult(org.apache.syncope.core.provisioning.api.WorkflowResult) ProcessInstance(org.flowable.engine.runtime.ProcessInstance) ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) FlowableException(org.flowable.engine.common.api.FlowableException) BpmnModel(org.flowable.bpmn.model.BpmnModel) ModelDataJsonConstants(org.flowable.editor.constants.ModelDataJsonConstants) OutputStream(java.io.OutputStream) HistoricActivityInstance(org.flowable.engine.history.HistoricActivityInstance) WorkflowDefinitionTO(org.apache.syncope.common.lib.to.WorkflowDefinitionTO) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) User(org.apache.syncope.core.persistence.api.entity.user.User) IOException(java.io.IOException) InvalidEntityException(org.apache.syncope.core.persistence.api.attrvalue.validation.InvalidEntityException) PasswordPatch(org.apache.syncope.common.lib.patch.PasswordPatch) UserTO(org.apache.syncope.common.lib.to.UserTO) HistoricTaskInstance(org.flowable.task.api.history.HistoricTaskInstance) Collections(java.util.Collections) BpmnJsonConverter(org.flowable.editor.language.json.converter.BpmnJsonConverter) InputStream(java.io.InputStream) ParsingValidationException(org.apache.syncope.core.persistence.api.attrvalue.validation.ParsingValidationException) HistoricFormPropertyEntity(org.flowable.engine.impl.persistence.entity.HistoricFormPropertyEntity) Transactional(org.springframework.transaction.annotation.Transactional) User(org.apache.syncope.core.persistence.api.entity.user.User) UserTO(org.apache.syncope.common.lib.to.UserTO) WorkflowFormPropertyTO(org.apache.syncope.common.lib.to.WorkflowFormPropertyTO) NotFoundException(org.apache.syncope.core.persistence.api.dao.NotFoundException) WorkflowFormTO(org.apache.syncope.common.lib.to.WorkflowFormTO) UserPatch(org.apache.syncope.common.lib.patch.UserPatch)

Example 2 with NotFoundException

use of org.apache.syncope.core.persistence.api.dao.NotFoundException in project syncope by apache.

the class FlowableUserWorkflowAdapter method checkTask.

protected Pair<Task, TaskFormData> checkTask(final String taskId, final String authUser) {
    Task task;
    try {
        task = engine.getTaskService().createTaskQuery().taskId(taskId).singleResult();
        if (task == null) {
            throw new FlowableException("NULL result");
        }
    } catch (FlowableException e) {
        throw new NotFoundException("Flowable Task " + taskId, e);
    }
    TaskFormData formData;
    try {
        formData = engine.getFormService().getTaskFormData(task.getId());
    } catch (FlowableException e) {
        throw new NotFoundException("Form for Flowable Task " + taskId, e);
    }
    if (!adminUser.equals(authUser)) {
        User user = userDAO.findByUsername(authUser);
        if (user == null) {
            throw new NotFoundException("Syncope User " + authUser);
        }
    }
    return Pair.of(task, formData);
}
Also used : Task(org.flowable.task.api.Task) FlowableException(org.flowable.engine.common.api.FlowableException) User(org.apache.syncope.core.persistence.api.entity.user.User) NotFoundException(org.apache.syncope.core.persistence.api.dao.NotFoundException) TaskFormData(org.flowable.engine.form.TaskFormData)

Example 3 with NotFoundException

use of org.apache.syncope.core.persistence.api.dao.NotFoundException in project syncope by apache.

the class CamelRouteLogic method update.

@PreAuthorize("hasRole('" + CamelEntitlement.ROUTE_UPDATE + "')")
public void update(final AnyTypeKind anyTypeKind, final CamelRouteTO routeTO) {
    CamelRoute route = routeDAO.find(routeTO.getKey());
    if (route == null) {
        throw new NotFoundException("CamelRoute with key=" + routeTO.getKey());
    }
    if (route.getAnyTypeKind() != anyTypeKind) {
        SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidRequest);
        sce.getElements().add("Found " + anyTypeKind + ", expected " + route.getAnyTypeKind());
        throw sce;
    }
    String originalContent = route.getContent();
    LOG.debug("Updating route {} with content {}", routeTO.getKey(), routeTO.getContent());
    binder.update(route, routeTO);
    try {
        context.updateContext(routeTO.getKey());
    } catch (CamelException e) {
        // if an exception was thrown while updating the context, restore the former route definition
        LOG.debug("Update of route {} failed, reverting", routeTO.getKey());
        context.restoreRoute(routeTO.getKey(), originalContent);
        throw e;
    }
}
Also used : CamelException(org.apache.syncope.core.provisioning.camel.CamelException) SyncopeClientException(org.apache.syncope.common.lib.SyncopeClientException) NotFoundException(org.apache.syncope.core.persistence.api.dao.NotFoundException) CamelRoute(org.apache.syncope.core.persistence.api.entity.CamelRoute) PreAuthorize(org.springframework.security.access.prepost.PreAuthorize)

Example 4 with NotFoundException

use of org.apache.syncope.core.persistence.api.dao.NotFoundException in project syncope by apache.

the class CamelRouteLogic method read.

@PreAuthorize("hasRole('" + CamelEntitlement.ROUTE_READ + "')")
@Transactional(readOnly = true)
public CamelRouteTO read(final AnyTypeKind anyTypeKind, final String key) {
    CamelRoute route = routeDAO.find(key);
    if (route == null) {
        throw new NotFoundException("CamelRoute with key=" + key);
    }
    if (route.getAnyTypeKind() != anyTypeKind) {
        SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidRequest);
        sce.getElements().add("Found " + anyTypeKind + ", expected " + route.getAnyTypeKind());
        throw sce;
    }
    return binder.getRouteTO(route);
}
Also used : SyncopeClientException(org.apache.syncope.common.lib.SyncopeClientException) NotFoundException(org.apache.syncope.core.persistence.api.dao.NotFoundException) CamelRoute(org.apache.syncope.core.persistence.api.entity.CamelRoute) PreAuthorize(org.springframework.security.access.prepost.PreAuthorize) Transactional(org.springframework.transaction.annotation.Transactional)

Example 5 with NotFoundException

use of org.apache.syncope.core.persistence.api.dao.NotFoundException in project syncope by apache.

the class JPAConnInstanceDAO method save.

@Override
public ConnInstance save(final ConnInstance connector) {
    final ConnInstance merged = entityManager().merge(connector);
    merged.getResources().forEach(resource -> {
        try {
            connRegistry.registerConnector(resource);
        } catch (NotFoundException e) {
            LOG.error("While registering connector for resource", e);
        }
    });
    return merged;
}
Also used : NotFoundException(org.apache.syncope.core.persistence.api.dao.NotFoundException) ConnInstance(org.apache.syncope.core.persistence.api.entity.ConnInstance) JPAConnInstance(org.apache.syncope.core.persistence.jpa.entity.JPAConnInstance)

Aggregations

NotFoundException (org.apache.syncope.core.persistence.api.dao.NotFoundException)110 PreAuthorize (org.springframework.security.access.prepost.PreAuthorize)87 SyncopeClientException (org.apache.syncope.common.lib.SyncopeClientException)41 Transactional (org.springframework.transaction.annotation.Transactional)21 Date (java.util.Date)12 ExternalResource (org.apache.syncope.core.persistence.api.entity.resource.ExternalResource)10 SchedulerException (org.quartz.SchedulerException)10 ArrayList (java.util.ArrayList)8 List (java.util.List)8 AnyType (org.apache.syncope.core.persistence.api.entity.AnyType)8 Report (org.apache.syncope.core.persistence.api.entity.Report)8 SchedTask (org.apache.syncope.core.persistence.api.entity.task.SchedTask)8 User (org.apache.syncope.core.persistence.api.entity.user.User)8 HashMap (java.util.HashMap)7 Collectors (java.util.stream.Collectors)7 Pair (org.apache.commons.lang3.tuple.Pair)7 ExecTO (org.apache.syncope.common.lib.to.ExecTO)7 Autowired (org.springframework.beans.factory.annotation.Autowired)7 StringUtils (org.apache.commons.lang3.StringUtils)6 DuplicateException (org.apache.syncope.core.persistence.api.dao.DuplicateException)6