public Builder name(String name) { definition.setName(name); return this; }
public QueryDefinition replaceQuery(String queryName, String payload, String marshallingType) { logger.debug("About to unmarshal queryDefinition from payload: '{}'", payload); QueryDefinition queryDefinition = marshallerHelper.unmarshal(payload, marshallingType, QueryDefinition.class); queryDefinition.setName(queryName); SqlQueryDefinition actualDefinition = build(context, queryDefinition); logger.debug("Built sql query definition for {} with content {}", queryName, actualDefinition); queryService.replaceQuery(actualDefinition); return convertQueryDefinition(actualDefinition); }
public QueryDefinition registerQuery(String queryName, String payload, String marshallingType) throws QueryAlreadyRegisteredException { logger.debug("About to unmarshal queryDefinition from payload: '{}'", payload); QueryDefinition queryDefinition = marshallerHelper.unmarshal(payload, marshallingType, QueryDefinition.class); queryDefinition.setName(queryName); SqlQueryDefinition actualDefinition = build(context, queryDefinition); logger.debug("Built sql query definition for {} with content {}", queryName, actualDefinition); queryService.registerQuery(actualDefinition); return convertQueryDefinition(actualDefinition); }
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); }
query.setName("jbpmProcessWithVarsSearch"); 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, " +
@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()); } }
query.setName("jbpmHumanTasksPO"); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("select t.actualowner_id as actualowner, t.CREATEDBY_ID as createdby, t.CREATEDON as CREATEDON, t.EXPIRATIONTIME as expirationDate, " +
@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.setName("getTasksByState"); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("select * from AuditTaskImpl where status = 'Reserved'");
query.setName("jbpmGetTaskWithPO"); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("select t.id as TASKID, t.name as NAME, t.FORMNAME AS FORMNAME, t.subject as SUBJECT, " +
query.setName("getTasksByState"); query.setSource(System.getProperty("org.kie.server.persistence.ds", "jdbc/jbpm-ds")); query.setExpression("select * from AuditTaskImpl where status = 'Reserved'");
@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.setName("allProcessInstances"); query.setSource("${org.kie.server.persistence.ds}"); query.setExpression("select * from ProcessInstanceLog where status = 1");