use of org.camunda.bpm.model.cmmn.instance.camunda.CamundaVariableTransitionEvent in project camunda-bpm-platform by camunda.
the class SentryHandlerTest method sentryTransformWithMultipleVariableEvent.
@Test
public void sentryTransformWithMultipleVariableEvent() {
// given
ExtensionElements extensionElements = createElement(sentry, "extensionElements", ExtensionElements.class);
CamundaVariableOnPart variableOnPart = createElement(extensionElements, null, CamundaVariableOnPart.class);
CamundaVariableTransitionEvent transitionEvent = createElement(variableOnPart, null, CamundaVariableTransitionEvent.class);
transitionEvent.setTextContent("create");
CamundaVariableTransitionEvent additionalTransitionEvent = createElement(variableOnPart, null, CamundaVariableTransitionEvent.class);
additionalTransitionEvent.setTextContent("delete");
variableOnPart.setVariableName("aVariable");
CmmnSentryDeclaration sentryDeclaration = sentryHandler.handleElement(sentry, context);
// then
assertNotNull(sentryDeclaration);
List<CmmnVariableOnPartDeclaration> variableOnParts = sentryDeclaration.getVariableOnParts();
assertNotNull(variableOnParts);
assertFalse(variableOnParts.isEmpty());
assertEquals(1, variableOnParts.size());
CmmnVariableOnPartDeclaration transformedVariableOnPart = variableOnParts.get(0);
assertEquals("aVariable", transformedVariableOnPart.getVariableName());
// when there are multiple variable events then, only first variable event is considered.
assertEquals(VariableTransition.create.name(), transformedVariableOnPart.getVariableEvent());
}
use of org.camunda.bpm.model.cmmn.instance.camunda.CamundaVariableTransitionEvent in project camunda-bpm-platform by camunda.
the class SentryHandlerTest method sentryTransformShouldFailWithInvalidVariableEvent.
@Test
public void sentryTransformShouldFailWithInvalidVariableEvent() {
// given
ExtensionElements extensionElements = createElement(sentry, "extensionElements", ExtensionElements.class);
CamundaVariableOnPart variableOnPart = createElement(extensionElements, null, CamundaVariableOnPart.class);
CamundaVariableTransitionEvent transitionEvent = createElement(variableOnPart, null, CamundaVariableTransitionEvent.class);
transitionEvent.setTextContent("invalid");
variableOnPart.setVariableName("aVariable");
thrown.expect(CmmnTransformException.class);
thrown.expectMessage("The variableOnPart of the sentry with id 'aSentry' must have one valid variable event.");
sentryHandler.handleElement(sentry, context);
}
use of org.camunda.bpm.model.cmmn.instance.camunda.CamundaVariableTransitionEvent in project camunda-cmmn-model by camunda.
the class CamundaVariableOnPartImpl method setVariableEvent.
public void setVariableEvent(VariableTransition variableTransition) {
CamundaVariableTransitionEvent child = camundaVariableEventChild.getChild(this);
child.setValue(variableTransition);
}
use of org.camunda.bpm.model.cmmn.instance.camunda.CamundaVariableTransitionEvent in project camunda-cmmn-model by camunda.
the class CamundaVariableTransitionEventImpl method registerType.
public static void registerType(ModelBuilder modelBuilder) {
ModelElementTypeBuilder typeBuilder = modelBuilder.defineType(CamundaVariableTransitionEvent.class, CAMUNDA_ELEMENT_VARIABLE_EVENT).namespaceUri(CAMUNDA_NS).instanceProvider(new ModelTypeInstanceProvider<CamundaVariableTransitionEvent>() {
public CamundaVariableTransitionEvent newInstance(ModelTypeInstanceContext instanceContext) {
return new CamundaVariableTransitionEventImpl(instanceContext);
}
});
typeBuilder.build();
}
Aggregations