use of org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionEntity in project camunda-bpm-platform by camunda.
the class MultiTenancyRepositoryServiceTest method getPreviousProcessDefinitionWithTenantId.
@Test
public void getPreviousProcessDefinitionWithTenantId() {
testRule.deployForTenant(TENANT_ONE, emptyProcess);
testRule.deployForTenant(TENANT_ONE, emptyProcess);
testRule.deployForTenant(TENANT_ONE, emptyProcess);
testRule.deployForTenant(TENANT_TWO, emptyProcess);
testRule.deployForTenant(TENANT_TWO, emptyProcess);
List<ProcessDefinition> latestProcessDefinitions = repositoryService.createProcessDefinitionQuery().latestVersion().orderByTenantId().asc().list();
ProcessDefinitionEntity previousDefinitionTenantOne = getPreviousDefinition((ProcessDefinitionEntity) latestProcessDefinitions.get(0));
ProcessDefinitionEntity previousDefinitionTenantTwo = getPreviousDefinition((ProcessDefinitionEntity) latestProcessDefinitions.get(1));
assertThat(previousDefinitionTenantOne.getVersion(), is(2));
assertThat(previousDefinitionTenantOne.getTenantId(), is(TENANT_ONE));
assertThat(previousDefinitionTenantTwo.getVersion(), is(1));
assertThat(previousDefinitionTenantTwo.getTenantId(), is(TENANT_TWO));
}
use of org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionEntity in project camunda-bpm-platform by camunda.
the class BpmnParseTest method testParseNamespaceInConditionExpressionType.
@Deployment
public void testParseNamespaceInConditionExpressionType() {
CommandExecutor commandExecutor = processEngineConfiguration.getCommandExecutorTxRequired();
ProcessDefinitionEntity processDefinitionEntity = commandExecutor.execute(new Command<ProcessDefinitionEntity>() {
@Override
public ProcessDefinitionEntity execute(CommandContext commandContext) {
return Context.getProcessEngineConfiguration().getDeploymentCache().findDeployedLatestProcessDefinitionByKey("resolvableNamespacesProcess");
}
});
// Test that the process definition has been deployed
assertNotNull(processDefinitionEntity);
PvmActivity activity = processDefinitionEntity.findActivity("ExclusiveGateway_1");
assertNotNull(activity);
// Test that the conditions has been resolved
for (PvmTransition transition : activity.getOutgoingTransitions()) {
if (transition.getDestination().getId().equals("Task_2")) {
assertTrue(transition.getProperty("conditionText").equals("#{approved}"));
} else if (transition.getDestination().getId().equals("Task_3")) {
assertTrue(transition.getProperty("conditionText").equals("#{!approved}"));
} else {
fail("Something went wrong");
}
}
}
use of org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionEntity in project camunda-bpm-platform by camunda.
the class BpmnParseTest method findActivityInDeployedProcessDefinition.
protected ActivityImpl findActivityInDeployedProcessDefinition(String activityId) {
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();
assertNotNull(processDefinition);
ProcessDefinitionEntity cachedProcessDefinition = processEngineConfiguration.getDeploymentCache().getProcessDefinitionCache().get(processDefinition.getId());
return cachedProcessDefinition.findActivity(activityId);
}
use of org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionEntity in project camunda-bpm-platform by camunda.
the class BpmnParseTest method testParseDiagramInterchangeElements.
@Deployment
public void testParseDiagramInterchangeElements() {
// Graphical information is not yet exposed publicly, so we need to do some
// plumbing
CommandExecutor commandExecutor = processEngineConfiguration.getCommandExecutorTxRequired();
ProcessDefinitionEntity processDefinitionEntity = commandExecutor.execute(new Command<ProcessDefinitionEntity>() {
@Override
public ProcessDefinitionEntity execute(CommandContext commandContext) {
return Context.getProcessEngineConfiguration().getDeploymentCache().findDeployedLatestProcessDefinitionByKey("myProcess");
}
});
assertNotNull(processDefinitionEntity);
assertEquals(7, processDefinitionEntity.getActivities().size());
// Check if diagram has been created based on Diagram Interchange when it's
// not a headless instance
List<String> resourceNames = repositoryService.getDeploymentResourceNames(processDefinitionEntity.getDeploymentId());
if (processEngineConfiguration.isCreateDiagramOnDeploy()) {
assertEquals(2, resourceNames.size());
} else {
assertEquals(1, resourceNames.size());
}
for (ActivityImpl activity : processDefinitionEntity.getActivities()) {
if (activity.getId().equals("theStart")) {
assertActivityBounds(activity, 70, 255, 30, 30);
} else if (activity.getId().equals("task1")) {
assertActivityBounds(activity, 176, 230, 100, 80);
} else if (activity.getId().equals("gateway1")) {
assertActivityBounds(activity, 340, 250, 40, 40);
} else if (activity.getId().equals("task2")) {
assertActivityBounds(activity, 445, 138, 100, 80);
} else if (activity.getId().equals("gateway2")) {
assertActivityBounds(activity, 620, 250, 40, 40);
} else if (activity.getId().equals("task3")) {
assertActivityBounds(activity, 453, 304, 100, 80);
} else if (activity.getId().equals("theEnd")) {
assertActivityBounds(activity, 713, 256, 28, 28);
}
for (PvmTransition sequenceFlow : activity.getOutgoingTransitions()) {
assertTrue(((TransitionImpl) sequenceFlow).getWaypoints().size() >= 4);
TransitionImpl transitionImpl = (TransitionImpl) sequenceFlow;
if (transitionImpl.getId().equals("flowStartToTask1")) {
assertSequenceFlowWayPoints(transitionImpl, 100, 270, 176, 270);
} else if (transitionImpl.getId().equals("flowTask1ToGateway1")) {
assertSequenceFlowWayPoints(transitionImpl, 276, 270, 340, 270);
} else if (transitionImpl.getId().equals("flowGateway1ToTask2")) {
assertSequenceFlowWayPoints(transitionImpl, 360, 250, 360, 178, 445, 178);
} else if (transitionImpl.getId().equals("flowGateway1ToTask3")) {
assertSequenceFlowWayPoints(transitionImpl, 360, 290, 360, 344, 453, 344);
} else if (transitionImpl.getId().equals("flowTask2ToGateway2")) {
assertSequenceFlowWayPoints(transitionImpl, 545, 178, 640, 178, 640, 250);
} else if (transitionImpl.getId().equals("flowTask3ToGateway2")) {
assertSequenceFlowWayPoints(transitionImpl, 553, 344, 640, 344, 640, 290);
} else if (transitionImpl.getId().equals("flowGateway2ToEnd")) {
assertSequenceFlowWayPoints(transitionImpl, 660, 270, 713, 270);
}
}
}
}
use of org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionEntity in project camunda-bpm-platform by camunda.
the class BpmnParse method parseBPMNShape.
public void parseBPMNShape(Element bpmnShapeElement) {
String bpmnElement = bpmnShapeElement.attribute("bpmnElement");
if (bpmnElement != null && !"".equals(bpmnElement)) {
// participants / processes
if (participantProcesses.get(bpmnElement) != null) {
ProcessDefinitionEntity procDef = getProcessDefinition(participantProcesses.get(bpmnElement));
procDef.setGraphicalNotationDefined(true);
// The participation that references this process, has a bounds to be
// rendered + a name as wel
parseDIBounds(bpmnShapeElement, procDef.getParticipantProcess());
return;
}
for (ProcessDefinitionEntity processDefinition : getProcessDefinitions()) {
ActivityImpl activity = processDefinition.findActivity(bpmnElement);
if (activity != null) {
parseDIBounds(bpmnShapeElement, activity);
// collapsed or expanded
String isExpanded = bpmnShapeElement.attribute("isExpanded");
if (isExpanded != null) {
activity.setProperty(PROPERTYNAME_ISEXPANDED, parseBooleanAttribute(isExpanded));
}
} else {
Lane lane = processDefinition.getLaneForId(bpmnElement);
if (lane != null) {
// The shape represents a lane
parseDIBounds(bpmnShapeElement, lane);
} else if (!elementIds.contains(bpmnElement)) {
// It might not be an
// activity nor a
// lane, but it might
// still reference
// 'something'
addError("Invalid reference in 'bpmnElement' attribute, activity " + bpmnElement + " not found", bpmnShapeElement);
}
}
}
} else {
addError("'bpmnElement' attribute is required on BPMNShape", bpmnShapeElement);
}
}
Aggregations