Search in sources :

Example 1 with WorkflowFormPropertyTO

use of org.apache.syncope.common.lib.to.WorkflowFormPropertyTO 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 WorkflowFormPropertyTO

use of org.apache.syncope.common.lib.to.WorkflowFormPropertyTO in project syncope by apache.

the class IdentityRecertificationITCase method recertification.

@Test
public void recertification() {
    execTask(taskService, TaskType.SCHEDULED, "e95555d2-1b09-42c8-b25b-f4c4ec598989", "JOB_FIRED", 50, false);
    List<WorkflowFormTO> forms = userWorkflowService.getForms();
    assertFalse(forms.isEmpty());
    for (WorkflowFormTO form : forms) {
        userWorkflowService.claimForm(form.getTaskId());
        WorkflowFormPropertyTO approve = form.getProperty("approve").get();
        approve.setValue("true");
        userWorkflowService.submitForm(form);
    }
    forms = userWorkflowService.getForms();
    assertTrue(forms.isEmpty());
}
Also used : WorkflowFormPropertyTO(org.apache.syncope.common.lib.to.WorkflowFormPropertyTO) WorkflowFormTO(org.apache.syncope.common.lib.to.WorkflowFormTO) Test(org.junit.jupiter.api.Test)

Example 3 with WorkflowFormPropertyTO

use of org.apache.syncope.common.lib.to.WorkflowFormPropertyTO in project syncope by apache.

the class FlowableUserWorkflowAdapter method getFormTO.

@SuppressWarnings("unchecked")
protected WorkflowFormTO getFormTO(final String processInstanceId, final String taskId, final String formKey, final List<FormProperty> properties) {
    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));
    properties.stream().map(fProp -> {
        WorkflowFormPropertyTO propertyTO = new WorkflowFormPropertyTO();
        BeanUtils.copyProperties(fProp, propertyTO, PROPERTY_IGNORE_PROPS);
        propertyTO.setType(fromFlowableFormType(fProp.getType()));
        if (propertyTO.getType() == WorkflowFormPropertyType.Date) {
            propertyTO.setDatePattern((String) fProp.getType().getInformation("datePattern"));
        }
        if (propertyTO.getType() == WorkflowFormPropertyType.Enum) {
            propertyTO.getEnumValues().putAll((Map<String, String>) fProp.getType().getInformation("values"));
        }
        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) Map(java.util.Map) HashMap(java.util.HashMap) WorkflowFormTO(org.apache.syncope.common.lib.to.WorkflowFormTO) UserPatch(org.apache.syncope.common.lib.patch.UserPatch)

Example 4 with WorkflowFormPropertyTO

use of org.apache.syncope.common.lib.to.WorkflowFormPropertyTO in project syncope by apache.

the class JSONTest method map.

@Test
public void map() throws IOException {
    WorkflowFormPropertyTO prop = new WorkflowFormPropertyTO();
    prop.getEnumValues().put("key1", "value1");
    prop.getEnumValues().put("key2", "value2");
    ObjectMapper mapper = new ObjectMapper();
    StringWriter writer = new StringWriter();
    mapper.writeValue(writer, prop);
    WorkflowFormPropertyTO unserializedProp = mapper.readValue(writer.toString(), WorkflowFormPropertyTO.class);
    assertEquals(prop, unserializedProp);
}
Also used : StringWriter(java.io.StringWriter) WorkflowFormPropertyTO(org.apache.syncope.common.lib.to.WorkflowFormPropertyTO) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Test(org.junit.jupiter.api.Test)

Aggregations

WorkflowFormPropertyTO (org.apache.syncope.common.lib.to.WorkflowFormPropertyTO)4 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)3 WorkflowFormTO (org.apache.syncope.common.lib.to.WorkflowFormTO)3 JsonNode (com.fasterxml.jackson.databind.JsonNode)2 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)2 IOException (java.io.IOException)2 InputStream (java.io.InputStream)2 OutputStream (java.io.OutputStream)2 ArrayList (java.util.ArrayList)2 Collections (java.util.Collections)2 HashMap (java.util.HashMap)2 HashSet (java.util.HashSet)2 List (java.util.List)2 Map (java.util.Map)2 Set (java.util.Set)2 Collectors (java.util.stream.Collectors)2 Resource (javax.annotation.Resource)2 IOUtils (org.apache.commons.io.IOUtils)2 StringUtils (org.apache.commons.lang3.StringUtils)2 Pair (org.apache.commons.lang3.tuple.Pair)2