public Builder target(String target) { definition.setTarget(target); return this; }
private QueryDefinition getTasksWithPotentialOwnerQueryDefinition() { final QueryDefinition query = new QueryDefinition(); query.setName("getAllTasks"); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("select ti.taskId, ti.activationTime, ti.actualOwner, ti.createdBy, ti.createdOn, ti.deploymentId, ti.description, ti.dueDate, ti.name, ti.parentId, ti.priority, ti.processId, ti.processInstanceId, ti.processSessionId, ti.status, ti.workItemId, oe.id, eo.entity_id from AuditTaskImpl ti left join PeopleAssignments_PotOwners po on ti.taskId = po.task_id left join OrganizationalEntity oe on po.entity_id = oe.id left join PeopleAssignments_ExclOwners eo on ti.taskId = eo.task_id"); query.setTarget("PO_TASK"); return query; }
protected QueryDefinition getProcessInstanceWithVariablesQueryDefinition() { final QueryDefinition query = new QueryDefinition(); query.setName("allProcessInstancesWithVars"); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("select pil.*, v.variableId, v.value " + "from ProcessInstanceLog pil " + "inner join (select vil.processInstanceId ,vil.variableId, max(vil.ID) maxvilid from VariableInstanceLog vil " + "group by vil.processInstanceId, vil.variableId) x on (x.processInstanceId = pil.processInstanceId) " + "inner join VariableInstanceLog v " + "on (v.variableId = x.variableId and v.id = x.maxvilid and v.processInstanceId = pil.processInstanceId) " + "where pil.status = 1"); query.setTarget("CUSTOM"); return query; }
private QueryDefinition createQueryDefinition(String target) { QueryDefinition query = new QueryDefinition(); query.setName("allProcessInstances"); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("select * from ProcessInstanceLog where status = 1"); query.setTarget(target); return query; }
private QueryDefinition createErrorsQueryDefinition() { String queryExpression = "select * from ExecutionErrorInfo where ERROR_ACK = 0"; QueryDefinition query = new QueryDefinition(); query.setName("unAckErrors"); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression(queryExpression); query.setTarget("CUSTOM"); return query; }
@Before public void registerQuery() { QueryDefinition query = new QueryDefinition(); query.setName(QUERY_NAME); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression(TASK_QUERY); query.setTarget("CUSTOM"); queryClient.registerQuery(query); }
@Before public void registerQuery() { QueryDefinition query = new QueryDefinition(); query.setName(QUERY_NAME); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression(PROCESS_INSTANCE_QUERY); query.setTarget("CUSTOM"); queryClient.registerQuery(query); }
"on p.PROCESSINSTANCEID = var.PROCESSINSTANCEID"); query.setTarget("CUSTOM");
@Test public void testGetProcessInstanceCustomWithoutVarsMapper() throws Exception { Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("stringData", "waiting for signal"); parameters.put("personData", createPersonInstance(CONTAINER_ID)); Long pid = processClient.startProcess(CONTAINER_ID, PROCESS_ID_USERTASK, parameters); QueryDefinition query = new QueryDefinition(); query.setName("jbpmProcessSearch"); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("select p.PROCESSINSTANCEID, p.PROCESSID, p.PROCESSNAME, p.PROCESSVERSION, p.STATUS, p.EXTERNALID, " + "pr.STARTDATE as START_DATE, p.USER_IDENTITY, p.PROCESSINSTANCEDESCRIPTION, p.CORRELATIONKEY, " + "p.PARENTPROCESSINSTANCEID, pr.LASTMODIFICATIONDATE from PROCESSINSTANCELOG p " + "inner join PROCESSINSTANCEINFO pr on p.PROCESSINSTANCEID = pr.INSTANCEID"); query.setTarget("CUSTOM"); try { queryClient.registerQuery(query); List<ProcessInstanceCustomVars> instance = queryClient.query(query.getName(), QueryServicesClient.QUERY_MAP_PI_CUSTOM, 0, 10, ProcessInstanceCustomVars.class); assertNotNull(instance); assertEquals(1, instance.size()); assertNull(instance.get(0).getVariables()); } finally { processClient.abortProcessInstance(CONTAINER_ID, pid); queryClient.unregisterQuery(query.getName()); } }
"inner join PROCESSINSTANCELOG p on t.processinstanceid = p.processinstanceid " + "WHERE t.processinstanceid = " + pid); query.setTarget("CUSTOM");
@Test public void testGetFilteredProcessInstancesWithQueryDataService() throws Exception { // don't run the test on local server as it does not properly support authentication assumeFalse(TestConfig.isLocalServer()); Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("stringData", "waiting for signal"); parameters.put("personData", createPersonInstance("john")); List<Long> processInstanceIds = createProcessInstances(parameters); QueryDefinition query = new QueryDefinition(); query.setName("allProcessInstancesForUser"); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("select * from ProcessInstanceLog where status = 1"); query.setTarget("FILTERED_PROCESS"); try { queryClient.registerQuery(query); // default user (yoda) does not have engineering role so should not be able to find any instances List<ProcessInstance> instances = queryClient.query(query.getName(), QueryServicesClient.QUERY_MAP_PI, 0, 10, ProcessInstance.class); assertNotNull(instances); assertEquals(0, instances.size()); // switch to john user who has engineering role changeUser(USER_JOHN); instances = queryClient.query(query.getName(), QueryServicesClient.QUERY_MAP_PI, 0, 10, ProcessInstance.class); assertNotNull(instances); assertEquals(5, instances.size()); } finally { abortProcessInstances(processInstanceIds); queryClient.unregisterQuery(query.getName()); changeUser(TestConfig.getUsername()); } }
query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("select * from AuditTaskImpl where status = 'Reserved'"); query.setTarget("CUSTOM");
"inner join TASKVARIABLEIMPL d on t.id=d.taskid " + "WHERE t.processinstanceid = " + pid); query.setTarget("CUSTOM");
query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("select * from AuditTaskImpl where status = 'Reserved'"); query.setTarget("CUSTOM"); try {
@Test public void testInvalidQuery() { QueryDefinition query = new QueryDefinition(); query.setName("invalidQuery"); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("this is an invalid query"); query.setTarget("CUSTOM"); try { assertClientException( () -> queryClient.registerQuery(query), 500, "Can't get metadata on specified data set: invalidQuery"); assertClientException( () -> queryClient.getQuery(query.getName()), 404, "Could not find query definition with name \"" + query.getName() + "\"", "Query invalidQuery not found"); } catch (Throwable e) { try { queryClient.unregisterQuery(query.getName()); } catch (KieServicesException ex) { // expected in case the query wasn't registered } throw e; } }
query.setSource("${org.kie.server.persistence.ds}"); query.setExpression("select * from ProcessInstanceLog where status = 1"); query.setTarget("PROCESS"); try {