@SuppressWarnings("unchecked") public ProcessInstanceQueryFilterSpecBuilder lowerThan(ProcessInstanceField field, Comparable<?> value) { parameters.add(new QueryParam(field.toString(), "LOWER_THAN", Arrays.asList(value))); return this; }
@SuppressWarnings("unchecked") public ProcessInstanceQueryFilterSpecBuilder between(ProcessInstanceField field, Comparable<?> start, Comparable<?> end) { parameters.add(new QueryParam(field.toString(), "BETWEEN", Arrays.asList(start, end))); return this; }
@SuppressWarnings("unchecked") public ProcessInstanceQueryFilterSpecBuilder likeTo(ProcessInstanceField field, boolean caseSensitive, Comparable<?> value) { parameters.add(new QueryParam(field.toString(), "LIKE_TO", Arrays.asList(value, caseSensitive))); return this; }
@SuppressWarnings("unchecked") public ProcessInstanceQueryFilterSpecBuilder greaterOrEqualTo(ProcessInstanceField field, Comparable<?> value) { parameters.add(new QueryParam(field.toString(), "GREATER_OR_EQUALS_TO", Arrays.asList(value))); return this; }
public ProcessInstanceQueryFilterSpecBuilder isNull(ProcessInstanceField field) { parameters.add(new QueryParam(field.toString(), "IS_NULL", null)); return this; }
public ProcessInstanceQueryFilterSpecBuilder in(ProcessInstanceField field, List<?> values) { parameters.add(new QueryParam(field.toString(), "IN", values)); return this; }
@SuppressWarnings("unchecked") public ProcessInstanceQueryFilterSpecBuilder greaterThan(ProcessInstanceField field, Comparable<?> value) { parameters.add(new QueryParam(field.toString(), "GREATER_THAN", Arrays.asList(value))); return this; }
@SuppressWarnings("unchecked") public ProcessInstanceQueryFilterSpecBuilder lowerOrEqualTo(ProcessInstanceField field, Comparable<?> value) { parameters.add(new QueryParam(field.toString(), "LOWER_OR_EQUALS_TO", Arrays.asList(value))); return this; }
public ProcessInstanceQueryFilterSpecBuilder equalsTo(ProcessInstanceField field, Comparable<?>... values) { parameters.add(new QueryParam(field.toString(), "EQUALS_TO", Arrays.asList(values))); return this; }
public ProcessInstanceQueryFilterSpecBuilder isNotNull(ProcessInstanceField field) { parameters.add(new QueryParam(field.toString(), "NOT_NULL", null)); return this; }
public ProcessInstanceQueryFilterSpecBuilder notEqualsTo(ProcessInstanceField field, Comparable<?>... values) { parameters.add(new QueryParam(field.toString(), "NOT_EQUALS_TO", Arrays.asList(values))); return this; }
public ProcessInstanceQueryFilterSpecBuilder notIn(ProcessInstanceField field, List<?> values) { parameters.add(new QueryParam(field.toString(), "NOT_IN", values)); return this; }
public ProcessInstanceQueryFilterSpecBuilder orderBy(ProcessInstanceField field, boolean isAscending) { filterSpec.setOrderBy(field.toString()); filterSpec.setAscending(isAscending); return this; }
@Test public void testGetEqualsTo() { ProcessInstanceQueryFilterSpec filterSpec = new ProcessInstanceQueryFilterSpecBuilder().equalsTo(ProcessInstanceField.PROCESSID, "test-process").get(); QueryParam[] params = filterSpec.getParameters(); assertEquals(1, params.length); QueryParam param = params[0]; assertEquals(ProcessInstanceField.PROCESSID.toString(), param.getColumn()); assertEquals("EQUALS_TO", param.getOperator()); assertEquals("test-process", param.getValue().stream().findFirst().get()); }
assertEquals(ProcessInstanceField.PROCESSID.toString(), paramEqualsTo.getColumn()); assertEquals("EQUALS_TO", paramEqualsTo.getOperator()); assertEquals("test-process", paramEqualsTo.getValue().stream().findFirst().get()); assertEquals(ProcessInstanceField.START_DATE.toString(), paramBetween.getColumn()); assertEquals("BETWEEN", paramBetween.getOperator()); List<?> values = paramBetween.getValue();
@Test public void testGetBetween() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date from = null; Date to = null; try { from = sdf.parse("2017-05-10"); to = sdf.parse("2017-05-14"); } catch (ParseException e) { e.printStackTrace(); } ProcessInstanceQueryFilterSpec filterSpec = new ProcessInstanceQueryFilterSpecBuilder().between(ProcessInstanceField.START_DATE, from, to).get(); QueryParam[] params = filterSpec.getParameters(); assertEquals(1, params.length); QueryParam param = params[0]; assertEquals(ProcessInstanceField.START_DATE.toString(), param.getColumn()); assertEquals("BETWEEN", param.getOperator()); List<?> values = param.getValue(); assertEquals(2, values.size()); assertEquals(from, values.get(0)); assertEquals(to, values.get(1)); }