private void compareMergedQuery(StructuredQuery<?> expected, StructuredQuery<?> actual) { assertEquals(expected.getKind(), actual.getKind()); assertEquals(expected.getStartCursor(), actual.getStartCursor()); assertEquals(expected.getEndCursor(), actual.getEndCursor()); assertEquals(expected.getOffset(), actual.getOffset()); assertEquals(expected.getLimit(), actual.getLimit()); assertEquals(expected.getFilter(), actual.getFilter()); assertEquals(expected.getOrderBy(), actual.getOrderBy()); assertEquals(expected.getProjection(), actual.getProjection()); assertEquals(expected.getDistinctOn(), actual.getDistinctOn()); }
private void compareBaseBuilderFields(StructuredQuery<?> query) { assertEquals(NAMESPACE, query.getNamespace()); assertEquals(KIND, query.getKind()); assertEquals(START_CURSOR, query.getStartCursor()); assertEquals(END_CURSOR, query.getEndCursor()); assertEquals(OFFSET, query.getOffset()); assertEquals(LIMIT, query.getLimit()); assertEquals(FILTER, query.getFilter()); assertEquals(ORDER_BY, query.getOrderBy()); }
private static <T> String queryKind(Query<T> query) { final String kind; if (query instanceof StructuredQuery) { kind = ((StructuredQuery<T>) query).getKind(); } else if (query instanceof GqlQuery) { kind = "<gql>"; } else { kind = "<unknown>"; } return kind; }
/** * Copy all the behavior characteristics of the orignial query into the builder. */ public static <T, B extends StructuredQuery.Builder<T>> B clone(final StructuredQuery<?> orig, final Supplier<B> into) { final B builder = into.get(); builder.setNamespace(orig.getNamespace()); builder.setEndCursor(orig.getEndCursor()); builder.setFilter(orig.getFilter()); builder.setKind(orig.getKind()); builder.setLimit(orig.getLimit()); builder.setOffset(orig.getOffset()); builder.setStartCursor(orig.getStartCursor()); addOrderBy(builder, orig.getOrderBy()); return builder; }