use of ddf.catalog.operation.impl.QueryImpl in project ddf by codice.
the class AbstractFederationStrategy method getModifiedQuery.
private Query getModifiedQuery(Query originalQuery, int numberOfSources, int offset, int pageSize) {
Query query = null;
// If offset is not specified, our offset is 1
if (offset > 1 && numberOfSources > 1) {
final int modifiedOffset = 1;
int modifiedPageSize = computeModifiedPageSize(offset, pageSize);
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Creating new query for federated sources to query each source from {} to {}.", modifiedOffset, modifiedPageSize);
LOGGER.debug("original offset: {}", offset);
LOGGER.debug("original page size: {}", pageSize);
LOGGER.debug("modified offset: {}", modifiedOffset);
LOGGER.debug("modified page size: {}", modifiedPageSize);
}
/**
* Federated sources always query from offset of 1. When all query results are received
* from all federated sources and merged together - then the offset is applied.
*
*/
query = new QueryImpl(originalQuery, modifiedOffset, modifiedPageSize, originalQuery.getSortBy(), originalQuery.requestsTotalResultsCount(), originalQuery.getTimeoutMillis());
} else {
query = originalQuery;
}
return query;
}
use of ddf.catalog.operation.impl.QueryImpl in project ddf by codice.
the class ConfluenceSourceTest method testQueryNonConfluenceAttribute.
@Test
public void testQueryNonConfluenceAttribute() throws Exception {
QueryRequest request = new QueryRequestImpl(new QueryImpl(builder.attribute("someAttribute").is().like().text("someValue"), 1, 1, null, false, 1000));
SourceResponse response = confluence.query(request);
assertThat(response.getHits(), is(0L));
}
use of ddf.catalog.operation.impl.QueryImpl in project ddf by codice.
the class ConfluenceSourceTest method testQuery.
@Test
public void testQuery() throws Exception {
QueryRequest request = new QueryRequestImpl(new QueryImpl(builder.attribute("anyText").is().like().text("searchValue"), 1, 1, new SortByImpl("title", SortOrder.DESCENDING), false, 1000));
InputStream entity = new ByteArrayInputStream(JSON_RESPONSE.getBytes(StandardCharsets.UTF_8));
when(clientResponse.getEntity()).thenReturn(entity);
when(clientResponse.getStatus()).thenReturn(Response.Status.OK.getStatusCode());
SourceResponse response = confluence.query(request);
assertThat(response.getHits(), is(1L));
assertThat(response.getResults().get(0).getMetacard(), notNullValue());
}
use of ddf.catalog.operation.impl.QueryImpl in project ddf by codice.
the class ConfluenceSourceTest method testNonConfluenceQuery.
@Test
public void testNonConfluenceQuery() throws Exception {
QueryRequest request = new QueryRequestImpl(new QueryImpl(builder.attribute("metacard-tags").is().like().text("nonConfluecneTag"), 1, 1, new SortByImpl("title", SortOrder.DESCENDING), false, 1000));
SourceResponse response = confluence.query(request);
assertThat(response.getHits(), is(0L));
}
use of ddf.catalog.operation.impl.QueryImpl in project ddf by codice.
the class ConfluenceSourceTest method testQueryWithSpace.
@Test
public void testQueryWithSpace() throws Exception {
QueryRequest request = new QueryRequestImpl(new QueryImpl(builder.attribute("anyText").is().like().text("searchValue"), 1, 1, new SortByImpl("title", SortOrder.DESCENDING), false, 1000));
InputStream entity = new ByteArrayInputStream(JSON_RESPONSE.getBytes(StandardCharsets.UTF_8));
confluence.setConfluenceSpaces(Collections.singletonList("DDF"));
when(clientResponse.getEntity()).thenReturn(entity);
when(clientResponse.getStatus()).thenReturn(Response.Status.OK.getStatusCode());
SourceResponse response = confluence.query(request);
assertThat(response.getHits(), is(1L));
Metacard mcard = response.getResults().get(0).getMetacard();
assertThat(mcard, notNullValue());
assertThat(mcard.getAttribute("attrib1").getValue(), is("val1"));
assertThat(mcard.getAttribute("attrib2").getValues().size(), is(3));
}
Aggregations