use of org.activiti.bpmn.model.FlowElement in project Activiti by Activiti.
the class MapExceptionConverterTest method testMapExceptionWithNoExceptionClass.
@Test
public void testMapExceptionWithNoExceptionClass() throws Exception {
resourceName = "mapException/mapExceptionNoExceptionClass.bpmn";
BpmnModel bpmnModel = readXMLFile();
FlowElement flowElement = bpmnModel.getMainProcess().getFlowElement("servicetaskWithAndTrueAndChildren");
assertNotNull(flowElement);
assertTrue(flowElement instanceof ServiceTask);
assertEquals("servicetaskWithAndTrueAndChildren", flowElement.getId());
ServiceTask serviceTask = (ServiceTask) flowElement;
assertNotNull(serviceTask.getMapExceptions());
assertEquals(1, serviceTask.getMapExceptions().size());
assertNotNull(serviceTask.getMapExceptions().get(0).getClassName());
assertEquals(0, serviceTask.getMapExceptions().get(0).getClassName().length());
}
use of org.activiti.bpmn.model.FlowElement in project Activiti by Activiti.
the class ValuedDataObjectConverterTest method validateModel.
private void validateModel(BpmnModel model) {
FlowElement flowElement = model.getMainProcess().getFlowElement("start1");
assertNotNull(flowElement);
assertTrue(flowElement instanceof StartEvent);
assertEquals("start1", flowElement.getId());
// verify the main process data objects
List<ValuedDataObject> dataObjects = model.getProcess(null).getDataObjects();
assertEquals(7, dataObjects.size());
Map<String, ValuedDataObject> objectMap = new HashMap<String, ValuedDataObject>();
for (ValuedDataObject valueObj : dataObjects) {
objectMap.put(valueObj.getId(), valueObj);
}
ValuedDataObject dataObj = objectMap.get("dObj1");
assertEquals("dObj1", dataObj.getId());
assertEquals("StringTest", dataObj.getName());
assertEquals("xsd:string", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof String);
assertEquals("Testing1&2&3", dataObj.getValue());
dataObj = objectMap.get("dObj2");
assertEquals("dObj2", dataObj.getId());
assertEquals("BooleanTest", dataObj.getName());
assertEquals("xsd:boolean", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof Boolean);
assertEquals(new Boolean(true), dataObj.getValue());
dataObj = objectMap.get("dObj3");
assertEquals("dObj3", dataObj.getId());
assertEquals("DateTest", dataObj.getName());
assertEquals("xsd:datetime", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof Date);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
assertEquals("2013-09-16T11:23:00", sdf.format(dataObj.getValue()));
dataObj = objectMap.get("dObj4");
assertEquals("dObj4", dataObj.getId());
assertEquals("DoubleTest", dataObj.getName());
assertEquals("xsd:double", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof Double);
assertEquals(new Double(123456789), dataObj.getValue());
dataObj = objectMap.get("dObj5");
assertEquals("dObj5", dataObj.getId());
assertEquals("IntegerTest", dataObj.getName());
assertEquals("xsd:int", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof Integer);
assertEquals(new Integer(123), dataObj.getValue());
dataObj = objectMap.get("dObj6");
assertEquals("dObj6", dataObj.getId());
assertEquals("LongTest", dataObj.getName());
assertEquals("xsd:long", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof Long);
assertEquals(new Long(-123456), dataObj.getValue());
assertEquals(1, dataObj.getExtensionElements().size());
List<ExtensionElement> testValues = dataObj.getExtensionElements().get("testvalue");
assertNotNull(testValues);
assertEquals(1, testValues.size());
assertEquals("testvalue", testValues.get(0).getName());
assertEquals("test", testValues.get(0).getElementText());
dataObj = objectMap.get("NoData");
assertEquals("NoData", dataObj.getId());
assertEquals("NoData", dataObj.getName());
assertEquals("xsd:datetime", dataObj.getItemSubjectRef().getStructureRef());
assertNull(dataObj.getValue());
flowElement = model.getMainProcess().getFlowElement("userTask1");
assertNotNull(flowElement);
assertTrue(flowElement instanceof UserTask);
assertEquals("userTask1", flowElement.getId());
UserTask userTask = (UserTask) flowElement;
assertEquals("kermit", userTask.getAssignee());
flowElement = model.getMainProcess().getFlowElement("subprocess1");
assertNotNull(flowElement);
assertTrue(flowElement instanceof SubProcess);
assertEquals("subprocess1", flowElement.getId());
SubProcess subProcess = (SubProcess) flowElement;
assertEquals(11, subProcess.getFlowElements().size());
// verify the sub process data objects
dataObjects = subProcess.getDataObjects();
assertEquals(6, dataObjects.size());
objectMap = new HashMap<String, ValuedDataObject>();
for (ValuedDataObject valueObj : dataObjects) {
objectMap.put(valueObj.getId(), valueObj);
}
dataObj = objectMap.get("dObj7");
assertEquals("dObj7", dataObj.getId());
assertEquals("StringSubTest", dataObj.getName());
assertEquals("xsd:string", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof String);
assertEquals("Testing456", dataObj.getValue());
dataObj = objectMap.get("dObj8");
assertEquals("dObj8", dataObj.getId());
assertEquals("BooleanSubTest", dataObj.getName());
assertEquals("xsd:boolean", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof Boolean);
assertEquals(new Boolean(false), dataObj.getValue());
dataObj = objectMap.get("dObj9");
assertEquals("dObj9", dataObj.getId());
assertEquals("DateSubTest", dataObj.getName());
assertEquals("xsd:datetime", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof Date);
assertEquals("2013-11-11T22:00:00", sdf.format(dataObj.getValue()));
dataObj = objectMap.get("dObj10");
assertEquals("dObj10", dataObj.getId());
assertEquals("DoubleSubTest", dataObj.getName());
assertEquals("xsd:double", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof Double);
assertEquals(new Double(678912345), dataObj.getValue());
dataObj = objectMap.get("dObj11");
assertEquals("dObj11", dataObj.getId());
assertEquals("IntegerSubTest", dataObj.getName());
assertEquals("xsd:int", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof Integer);
assertEquals(new Integer(45), dataObj.getValue());
dataObj = objectMap.get("dObj12");
assertEquals("dObj12", dataObj.getId());
assertEquals("LongSubTest", dataObj.getName());
assertEquals("xsd:long", dataObj.getItemSubjectRef().getStructureRef());
assertTrue(dataObj.getValue() instanceof Long);
assertEquals(new Long(456123), dataObj.getValue());
}
use of org.activiti.bpmn.model.FlowElement in project Activiti by Activiti.
the class SubProcessConverterTest method validateModel.
private void validateModel(BpmnModel model) {
FlowElement flowElement = model.getMainProcess().getFlowElement("start1");
assertNotNull(flowElement);
assertTrue(flowElement instanceof StartEvent);
assertEquals("start1", flowElement.getId());
flowElement = model.getMainProcess().getFlowElement("userTask1");
assertNotNull(flowElement);
assertTrue(flowElement instanceof UserTask);
assertEquals("userTask1", flowElement.getId());
UserTask userTask = (UserTask) flowElement;
assertTrue(userTask.getCandidateUsers().size() == 1);
assertTrue(userTask.getCandidateGroups().size() == 1);
assertTrue(userTask.getFormProperties().size() == 2);
flowElement = model.getMainProcess().getFlowElement("subprocess1");
assertNotNull(flowElement);
assertTrue(flowElement instanceof SubProcess);
assertEquals("subprocess1", flowElement.getId());
SubProcess subProcess = (SubProcess) flowElement;
assertTrue(subProcess.getLoopCharacteristics().isSequential());
assertEquals("10", subProcess.getLoopCharacteristics().getLoopCardinality());
assertEquals("${assignee == \"\"}", subProcess.getLoopCharacteristics().getCompletionCondition());
assertTrue(subProcess.getFlowElements().size() == 5);
assertEquals(1, subProcess.getExecutionListeners().size());
ActivitiListener listenerSubProcess = subProcess.getExecutionListeners().get(0);
assertEquals("SubProcessTestClass", listenerSubProcess.getImplementation());
assertEquals(ImplementationType.IMPLEMENTATION_TYPE_CLASS, listenerSubProcess.getImplementationType());
assertEquals("start", listenerSubProcess.getEvent());
flowElement = model.getMainProcess().getFlowElement("boundaryEvent1");
assertNotNull(flowElement);
assertTrue(flowElement instanceof BoundaryEvent);
assertEquals("boundaryEvent1", flowElement.getId());
BoundaryEvent boundaryEvent = (BoundaryEvent) flowElement;
assertNotNull(boundaryEvent.getAttachedToRef());
assertEquals("subprocess1", boundaryEvent.getAttachedToRef().getId());
assertEquals(1, boundaryEvent.getEventDefinitions().size());
assertTrue(boundaryEvent.getEventDefinitions().get(0) instanceof TimerEventDefinition);
assertEquals(1, model.getMainProcess().getExecutionListeners().size());
ActivitiListener listenerMainProcess = model.getMainProcess().getExecutionListeners().get(0);
assertEquals("TestClass", listenerMainProcess.getImplementation());
assertEquals(ImplementationType.IMPLEMENTATION_TYPE_CLASS, listenerMainProcess.getImplementationType());
assertEquals("start", listenerMainProcess.getEvent());
}
use of org.activiti.bpmn.model.FlowElement in project Activiti by Activiti.
the class SubProcessWithExtensionsConverterTest method validateModel.
private void validateModel(BpmnModel model) {
FlowElement flowElement = model.getMainProcess().getFlowElement("start1");
assertNotNull(flowElement);
assertTrue(flowElement instanceof StartEvent);
assertEquals("start1", flowElement.getId());
flowElement = model.getMainProcess().getFlowElement("subprocess1");
assertNotNull(flowElement);
assertTrue(flowElement instanceof SubProcess);
assertEquals("subprocess1", flowElement.getId());
SubProcess subProcess = (SubProcess) flowElement;
assertTrue(subProcess.getLoopCharacteristics().isSequential());
assertEquals("10", subProcess.getLoopCharacteristics().getLoopCardinality());
assertEquals("${assignee == \"\"}", subProcess.getLoopCharacteristics().getCompletionCondition());
assertTrue(subProcess.getFlowElements().size() == 5);
/*
* Verify Subprocess attributes extension
*/
Map<String, String> attributes = getSubprocessAttributes(flowElement);
assertEquals(2, attributes.size());
for (String key : attributes.keySet()) {
if (key.equals("Attr3")) {
assertTrue("3".equals(attributes.get(key)));
} else if (key.equals("Attr4")) {
assertTrue("4".equals(attributes.get(key)));
} else {
fail("Unknown key value");
}
}
/*
* Verify Subprocess localization extension
*/
localization = getLocalization(flowElement);
assertEquals("rbkfn-2", localization.getResourceBundleKeyForName());
assertEquals("rbkfd-2", localization.getResourceBundleKeyForDescription());
assertEquals("leifn-2", localization.getLabeledEntityIdForName());
assertEquals("leifd-2", localization.getLabeledEntityIdForDescription());
}
use of org.activiti.bpmn.model.FlowElement in project Activiti by Activiti.
the class TextAnnotationConverterTest method validateModel.
private void validateModel(BpmnModel model) {
FlowElement flowElement = model.getFlowElement("_5");
assertNotNull(flowElement);
assertTrue(flowElement instanceof ScriptTask);
assertEquals("_5", flowElement.getId());
ScriptTask scriptTask = (ScriptTask) flowElement;
assertEquals("_5", scriptTask.getId());
assertEquals("Send Hello Message", scriptTask.getName());
}
Aggregations