use of org.camunda.bpm.engine.runtime.VariableInstanceQuery in project camunda-bpm-platform by camunda.
the class VariableInstanceQueryTest method testQueryByTaskIds.
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml" })
public void testQueryByTaskIds() {
// given
Map<String, Object> variables = new HashMap<String, Object>();
variables.put("stringVar", "test");
ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables);
ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("oneTaskProcess");
ProcessInstance processInstance3 = runtimeService.startProcessInstanceByKey("oneTaskProcess");
Task task1 = taskService.createTaskQuery().processInstanceId(processInstance1.getId()).singleResult();
Task task2 = taskService.createTaskQuery().processInstanceId(processInstance2.getId()).singleResult();
Task task3 = taskService.createTaskQuery().processInstanceId(processInstance3.getId()).singleResult();
taskService.setVariableLocal(task1.getId(), "taskVariable", "aCustomValue");
taskService.setVariableLocal(task2.getId(), "anotherTaskVariable", "aCustomValue");
// when
VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().taskIdIn(task1.getId(), task2.getId(), task3.getId());
// then
List<VariableInstance> result = query.list();
assertFalse(result.isEmpty());
assertEquals(2, result.size());
assertEquals(2, query.count());
for (VariableInstance var : result) {
assertEquals("string", var.getTypeName());
if (var.getName().equals("taskVariable")) {
assertEquals("taskVariable", var.getName());
assertEquals("aCustomValue", var.getValue());
} else if (var.getName().equals("anotherTaskVariable")) {
assertEquals("anotherTaskVariable", var.getName());
assertEquals("aCustomValue", var.getValue());
} else {
fail("An unexpected variable '" + var.getName() + "' was found with value " + var.getValue());
}
}
}
use of org.camunda.bpm.engine.runtime.VariableInstanceQuery in project camunda-bpm-platform by camunda.
the class VariableInstanceQueryTest method testQueryByNameAndVariableValueNotEquals_String.
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml" })
public void testQueryByNameAndVariableValueNotEquals_String() {
// given
Map<String, Object> variables1 = new HashMap<String, Object>();
variables1.put("stringVar", "test");
runtimeService.startProcessInstanceByKey("oneTaskProcess", variables1);
Map<String, Object> variables2 = new HashMap<String, Object>();
variables2.put("stringVar", "test123");
runtimeService.startProcessInstanceByKey("oneTaskProcess", variables2);
// when
VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueNotEquals("stringVar", "test123");
// then
List<VariableInstance> result = query.list();
assertFalse(result.isEmpty());
assertEquals(1, result.size());
assertEquals(1, query.count());
VariableInstance var = result.get(0);
assertEquals("stringVar", var.getName());
assertEquals("test", var.getValue());
assertEquals("string", var.getTypeName());
}
use of org.camunda.bpm.engine.runtime.VariableInstanceQuery in project camunda-bpm-platform by camunda.
the class VariableInstanceQueryTest method testQueryByNameAndVariableValueLessThanOrEqual_String.
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml" })
public void testQueryByNameAndVariableValueLessThanOrEqual_String() {
// given
Map<String, Object> variables1 = new HashMap<String, Object>();
variables1.put("stringVar", "a");
runtimeService.startProcessInstanceByKey("oneTaskProcess", variables1);
Map<String, Object> variables2 = new HashMap<String, Object>();
variables2.put("stringVar", "b");
runtimeService.startProcessInstanceByKey("oneTaskProcess", variables2);
Map<String, Object> variables3 = new HashMap<String, Object>();
variables3.put("stringVar", "c");
runtimeService.startProcessInstanceByKey("oneTaskProcess", variables3);
// when
VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueLessThanOrEqual("stringVar", "c");
// then
List<VariableInstance> result = query.list();
assertFalse(result.isEmpty());
assertEquals(3, result.size());
assertEquals(3, query.count());
for (VariableInstance var : result) {
assertEquals("stringVar", var.getName());
assertEquals("string", var.getTypeName());
if (var.getValue().equals("a")) {
assertEquals("a", var.getValue());
} else if (var.getValue().equals("b")) {
assertEquals("b", var.getValue());
} else if (var.getValue().equals("c")) {
assertEquals("c", var.getValue());
} else {
fail("A non expected value occured: " + var.getValue());
}
}
}
use of org.camunda.bpm.engine.runtime.VariableInstanceQuery in project camunda-bpm-platform by camunda.
the class VariableInstanceQueryTest method testQueryByCaseExecutionIds.
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn" })
public void testQueryByCaseExecutionIds() {
CaseInstance instance1 = caseService.withCaseDefinitionByKey("oneTaskCase").setVariable("aVariableName", "abc").create();
CaseInstance instance2 = caseService.withCaseDefinitionByKey("oneTaskCase").setVariable("anotherVariableName", "xyz").create();
VariableInstanceQuery query = runtimeService.createVariableInstanceQuery();
query.caseExecutionIdIn(instance1.getId(), instance2.getId()).orderByVariableName().asc();
List<VariableInstance> result = query.list();
assertEquals(2, result.size());
for (VariableInstance variableInstance : result) {
if (variableInstance.getName().equals("aVariableName")) {
assertEquals("aVariableName", variableInstance.getName());
assertEquals("abc", variableInstance.getValue());
} else if (variableInstance.getName().equals("anotherVariableName")) {
assertEquals("anotherVariableName", variableInstance.getName());
assertEquals("xyz", variableInstance.getValue());
} else {
fail("Unexpected variable: " + variableInstance.getName());
}
}
}
use of org.camunda.bpm.engine.runtime.VariableInstanceQuery in project camunda-bpm-platform by camunda.
the class VariableInstanceQueryTest method testQueryByNameAndVariableLessThanAndEqual_Double.
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml" })
public void testQueryByNameAndVariableLessThanAndEqual_Double() {
// given
Map<String, Object> variables1 = new HashMap<String, Object>();
variables1.put("doubleValue", 123.456);
runtimeService.startProcessInstanceByKey("oneTaskProcess", variables1);
Map<String, Object> variables2 = new HashMap<String, Object>();
variables2.put("doubleValue", 654.321);
runtimeService.startProcessInstanceByKey("oneTaskProcess", variables2);
Map<String, Object> variables3 = new HashMap<String, Object>();
variables3.put("doubleValue", 999.999);
runtimeService.startProcessInstanceByKey("oneTaskProcess", variables3);
// when
VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueLessThanOrEqual("doubleValue", 999.999);
// then
List<VariableInstance> result = query.list();
assertFalse(result.isEmpty());
assertEquals(3, result.size());
assertEquals(3, query.count());
for (VariableInstance var : result) {
assertEquals("doubleValue", var.getName());
assertEquals("double", var.getTypeName());
if (var.getValue().equals(123.456)) {
assertEquals(123.456, var.getValue());
} else if (var.getValue().equals(654.321)) {
assertEquals(654.321, var.getValue());
} else if (var.getValue().equals(999.999)) {
assertEquals(999.999, var.getValue());
} else {
fail("A non expected value occured: " + var.getValue());
}
}
}
Aggregations