Search in sources :

Example 11 with WorkflowDefinitionConversion

use of org.activiti.workflow.simple.converter.WorkflowDefinitionConversion in project Activiti by Activiti.

the class WorkflowConversionTest method convertAndDeploy.

// Helper methods -----------------------------------------------------------------------------
protected String convertAndDeploy(WorkflowDefinition workflowDefinition) {
    // Convert
    WorkflowDefinitionConversion conversion = conversionFactory.createWorkflowDefinitionConversion(workflowDefinition);
    conversion.convert();
    log.info("Converted process : " + conversion.getBpmn20Xml());
    //    InputStream is = conversion.getWorkflowDiagramImage();
    //    try {
    //      write(is, new FileOutputStream("temp" + UUID.randomUUID().toString() + ".png"), new byte[1024]);
    //    } catch (FileNotFoundException e) {
    //      e.printStackTrace();
    //    } catch (IOException e) {
    //      e.printStackTrace();
    //    }
    // Deploy
    long processDefinitionCount = activitiRule.getRepositoryService().createProcessDefinitionQuery().count();
    deployProcessDefinition(conversion);
    assertEquals(processDefinitionCount + 1, activitiRule.getRepositoryService().createProcessDefinitionQuery().count());
    return getDeployedProcessKey();
}
Also used : WorkflowDefinitionConversion(org.activiti.workflow.simple.converter.WorkflowDefinitionConversion)

Example 12 with WorkflowDefinitionConversion

use of org.activiti.workflow.simple.converter.WorkflowDefinitionConversion in project Activiti by Activiti.

the class WorkflowDefinitionConversionTest method testHumanStepBasicFormField.

/**
	 * Test basic form-fields (text, number, date, list, ...)
	 */
@Test
public void testHumanStepBasicFormField() throws Exception {
    // TODO: finish test once all types are present
    WorkflowDefinition definition = new WorkflowDefinition();
    definition.setId("process");
    HumanStepDefinition humanStep = new HumanStepDefinition();
    humanStep.setId("step1");
    FormDefinition form = new FormDefinition();
    humanStep.setForm(form);
    FormPropertyGroup group = new FormPropertyGroup();
    group.setId("group");
    group.setTitle("My group");
    humanStep.getForm().addFormPropertyGroup(group);
    // Add simple text
    TextPropertyDefinition textProperty = new TextPropertyDefinition();
    textProperty.setName("text");
    textProperty.setMandatory(true);
    group.addFormProperty(textProperty);
    definition.addStep(humanStep);
    WorkflowDefinitionConversion conversion = conversionFactory.createWorkflowDefinitionConversion(definition);
    conversion.convert();
    // Check content-model
    M2Model model = AlfrescoConversionUtil.getContentModel(conversion);
    assertNotNull(model);
    M2Type type = model.getTypes().get(0);
    assertNotNull(type);
    // Simple text
    M2Property property = getPropertyFromType("text", type);
    assertEquals("d:text", property.getPropertyType());
    assertEquals(Boolean.TRUE, property.getMandatory().isMandatory());
}
Also used : WorkflowDefinitionConversion(org.activiti.workflow.simple.converter.WorkflowDefinitionConversion) HumanStepDefinition(org.activiti.workflow.simple.definition.HumanStepDefinition) M2Type(org.activiti.workflow.simple.alfresco.model.M2Type) TextPropertyDefinition(org.activiti.workflow.simple.definition.form.TextPropertyDefinition) M2Property(org.activiti.workflow.simple.alfresco.model.M2Property) M2Model(org.activiti.workflow.simple.alfresco.model.M2Model) WorkflowDefinition(org.activiti.workflow.simple.definition.WorkflowDefinition) FormPropertyGroup(org.activiti.workflow.simple.definition.form.FormPropertyGroup) FormDefinition(org.activiti.workflow.simple.definition.form.FormDefinition) Test(org.junit.Test)

Example 13 with WorkflowDefinitionConversion

use of org.activiti.workflow.simple.converter.WorkflowDefinitionConversion in project Activiti by Activiti.

the class WorkflowDefinitionConversionTest method testReviewStep.

@Test
public void testReviewStep() throws Exception {
    WorkflowDefinition definition = new WorkflowDefinition();
    definition.setId("process");
    AlfrescoReviewStepDefinition review = new AlfrescoReviewStepDefinition();
    review.setName("Review");
    review.setAssignmentPropertyName("bpm:people");
    review.setAssignmentType(HumanStepAssignmentType.USERS);
    review.setRequiredApprovalCount("1");
    AlfrescoEmailStepDefinition emailStepDefinition = new AlfrescoEmailStepDefinition();
    emailStepDefinition.setName("Send rejection email");
    review.getRejectionSteps().add(emailStepDefinition);
    definition.addStep(review);
    WorkflowDefinitionConversion conversion = conversionFactory.createWorkflowDefinitionConversion(definition);
    conversion.convert();
    new File("target/repo").mkdir();
    new File("target/share").mkdir();
    conversionFactory.getArtifactExporter().exportArtifacts(conversion, new File("target/repo"), new File("target/share"), false);
}
Also used : AlfrescoReviewStepDefinition(org.activiti.workflow.simple.alfresco.step.AlfrescoReviewStepDefinition) WorkflowDefinitionConversion(org.activiti.workflow.simple.converter.WorkflowDefinitionConversion) AlfrescoEmailStepDefinition(org.activiti.workflow.simple.alfresco.step.AlfrescoEmailStepDefinition) WorkflowDefinition(org.activiti.workflow.simple.definition.WorkflowDefinition) File(java.io.File) Test(org.junit.Test)

Example 14 with WorkflowDefinitionConversion

use of org.activiti.workflow.simple.converter.WorkflowDefinitionConversion in project Activiti by Activiti.

the class WorkflowDefinitionConversionTest method testEmptyWorkflowDefinitionConversion.

/**
	 * Check if all required artifacts are created when converting an empty workflow-definition.
	 */
@Test
public void testEmptyWorkflowDefinitionConversion() {
    WorkflowDefinition definition = new WorkflowDefinition();
    definition.setDescription("This is the description");
    definition.setId("workflowdefinition");
    definition.setName("My workflow definition");
    WorkflowDefinitionConversion conversion = conversionFactory.createWorkflowDefinitionConversion(definition);
    conversion.convert();
    BpmnModel bpmnModel = conversion.getBpmnModel();
    assertNotNull(bpmnModel);
    Process process = bpmnModel.getMainProcess();
    assertNotNull(process);
    assertEquals("This is the description", process.getDocumentation());
    assertEquals("My workflow definition", process.getName());
    assertEquals("workflowdefinition", process.getId());
    // Default start-task key should be used, as no custom startform-config is present
    boolean startTaskFound = false;
    for (FlowElement element : process.getFlowElements()) {
        if (element instanceof StartEvent) {
            assertEquals("bpm:startTask", ((StartEvent) element).getFormKey());
            startTaskFound = true;
        }
    }
    assertTrue(startTaskFound);
    // Check presence of content-model
    M2Model contentModel = AlfrescoConversionUtil.getContentModel(conversion);
    assertNotNull(contentModel);
    // Check presence of form-config and default workflow-details
    Module module = AlfrescoConversionUtil.getExtension(conversion).getModules().get(0);
    assertNotNull(module);
    assertEquals(1L, module.getConfigurations().size());
    Configuration config = module.getConfigurations().get(0);
    assertEquals(1L, config.getForms().size());
    assertEquals("activiti$workflowdefinition", config.getCondition());
    assertEquals(AlfrescoConversionConstants.EVALUATOR_STRING_COMPARE, config.getEvaluator());
}
Also used : WorkflowDefinitionConversion(org.activiti.workflow.simple.converter.WorkflowDefinitionConversion) Configuration(org.activiti.workflow.simple.alfresco.model.config.Configuration) FlowElement(org.activiti.bpmn.model.FlowElement) M2Model(org.activiti.workflow.simple.alfresco.model.M2Model) StartEvent(org.activiti.bpmn.model.StartEvent) WorkflowDefinition(org.activiti.workflow.simple.definition.WorkflowDefinition) Process(org.activiti.bpmn.model.Process) Module(org.activiti.workflow.simple.alfresco.model.config.Module) BpmnModel(org.activiti.bpmn.model.BpmnModel) Test(org.junit.Test)

Example 15 with WorkflowDefinitionConversion

use of org.activiti.workflow.simple.converter.WorkflowDefinitionConversion in project Activiti by Activiti.

the class WorkflowDefinitionConversionTest method testConvertEmailStep.

@Test
public void testConvertEmailStep() throws Exception {
    WorkflowDefinition definition = new WorkflowDefinition();
    AlfrescoEmailStepDefinition emailStep = new AlfrescoEmailStepDefinition();
    emailStep.setTo("fred");
    emailStep.setSubject("jos");
    definition.addStep(emailStep);
    WorkflowDefinitionConversion conversion = conversionFactory.createWorkflowDefinitionConversion(definition);
    conversion.convert();
    // Process should contain a single service-task
    ServiceTask task = null;
    for (FlowElement element : conversion.getProcess().getFlowElements()) {
        if (element instanceof ServiceTask) {
            if (task != null) {
                Assert.fail("More than one service-task found");
            }
            task = (ServiceTask) element;
        }
    }
    assertNotNull(task);
    assertEquals(AlfrescoConversionConstants.CLASSNAME_SCRIPT_DELEGATE, task.getImplementation());
}
Also used : WorkflowDefinitionConversion(org.activiti.workflow.simple.converter.WorkflowDefinitionConversion) ServiceTask(org.activiti.bpmn.model.ServiceTask) AlfrescoEmailStepDefinition(org.activiti.workflow.simple.alfresco.step.AlfrescoEmailStepDefinition) FlowElement(org.activiti.bpmn.model.FlowElement) WorkflowDefinition(org.activiti.workflow.simple.definition.WorkflowDefinition) Test(org.junit.Test)

Aggregations

WorkflowDefinitionConversion (org.activiti.workflow.simple.converter.WorkflowDefinitionConversion)18 WorkflowDefinition (org.activiti.workflow.simple.definition.WorkflowDefinition)16 Test (org.junit.Test)10 HumanStepDefinition (org.activiti.workflow.simple.definition.HumanStepDefinition)6 FormDefinition (org.activiti.workflow.simple.definition.form.FormDefinition)6 BpmnModel (org.activiti.bpmn.model.BpmnModel)4 FlowElement (org.activiti.bpmn.model.FlowElement)4 Process (org.activiti.bpmn.model.Process)4 M2Model (org.activiti.workflow.simple.alfresco.model.M2Model)4 RepositoryService (org.activiti.engine.RepositoryService)3 ProcessDefinition (org.activiti.engine.repository.ProcessDefinition)3 M2Type (org.activiti.workflow.simple.alfresco.model.M2Type)3 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)2 ByteArrayOutputStream (java.io.ByteArrayOutputStream)2 File (java.io.File)2 IOException (java.io.IOException)2 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 UserTask (org.activiti.bpmn.model.UserTask)2 BpmnJsonConverter (org.activiti.editor.language.json.converter.BpmnJsonConverter)2 ProcessEngineConfiguration (org.activiti.engine.ProcessEngineConfiguration)2