use of ddf.catalog.data.Result in project ddf by codice.
the class MigrationFileWriterTest method testWriteMetacardsWriteObjectFails.
@Test(expected = IOException.class)
public void testWriteMetacardsWriteObjectFails() throws Exception {
whenNew(ObjectOutputStream.class).withAnyArguments().thenReturn(mockObjectOutputStream);
doThrow(IOException.class).when(mockObjectOutputStream).writeObject(anyObject());
List<Result> results = new ArrayList<>();
results.add(new ResultImpl(new MetacardImpl()));
mockFile = testFolder.newFile("mockFile");
fileWriter.writeMetacards(mockFile, results);
}
use of ddf.catalog.data.Result in project ddf by codice.
the class MetacardsMigratableTest method exportWhenResultSetLargerThanExportPageSize.
@Test
public void exportWhenResultSetLargerThanExportPageSize() throws Exception {
List<Result> result1 = Arrays.asList(mock(Result.class), mock(Result.class));
List<Result> result2 = Collections.singletonList(mock(Result.class));
List<Integer> startIndices = setupProviderResponses(result1, result2);
MigrationMetadata metadata = migratable.export(EXPORT_PATH);
verify(mockTaskManager).exportMetacardQuery(result1, 1);
assertThat("Invalid start index for first query", startIndices.get(0), is(1));
verify(mockTaskManager).exportMetacardQuery(result2, 2);
assertThat("Invalid start index for second query", startIndices.get(1), is(config.getExportQueryPageSize() + 1));
verify(mockTaskManager).close();
assertThat(metadata.getMigrationWarnings(), is(empty()));
}
use of ddf.catalog.data.Result in project ddf by codice.
the class SolrCatalogProvider method queryPendingNrtIndex.
private void queryPendingNrtIndex(QueryRequest request, SourceResponse response) throws UnsupportedQueryException {
if (request == null || request.getQuery() == null) {
return;
}
Set<String> ids = filterAdapter.adapt(request.getQuery(), new MetacardIdEqualityFilterDelegate());
if (ids.size() == 0) {
return;
}
for (Result result : response.getResults()) {
ids.remove(result.getMetacard().getId());
}
List<Result> pendingResults = pendingNrtIndex.getAllPresent(ids).values().stream().filter(Objects::nonNull).map(ResultImpl::new).collect(Collectors.toList());
response.getResults().addAll(pendingResults);
}
use of ddf.catalog.data.Result in project ddf by codice.
the class SolrProviderTest method testDateGreaterThanOrEqualTo.
@Test()
public void testDateGreaterThanOrEqualTo() throws Exception {
deleteAllIn(provider);
DateTime now = new DateTime();
addMetacardWithModifiedDate(now);
/** POSITIVE CASE **/
Filter filter = filterBuilder.dateGreaterThanOrEqual(Metacard.MODIFIED, dateBeforeNow(now));
List<Result> results = getResultsForFilteredQuery(filter);
assertEquals(1, results.size());
/** NEGATIVE CASE **/
filter = filterBuilder.dateGreaterThanOrEqual(Metacard.MODIFIED, dateAfterNow(now));
results = getResultsForFilteredQuery(filter);
assertEquals(0, results.size());
}
use of ddf.catalog.data.Result in project ddf by codice.
the class SolrProviderTest method testDeleteAlternativeAttribute.
/**
* Testing if another attribute can be used to delete records other than {@link Metacard#ID}
*
* @throws IngestException
* @throws UnsupportedQueryException
*/
@Test
public void testDeleteAlternativeAttribute() throws IngestException, UnsupportedQueryException {
deleteAllIn(provider);
MockMetacard metacard = new MockMetacard(Library.getFlagstaffRecord());
CreateResponse createResponse = create(metacard);
DeleteResponse deleteResponse = provider.delete(new DeleteRequest() {
@Override
public boolean hasProperties() {
return false;
}
@Override
public Serializable getPropertyValue(String name) {
return null;
}
@Override
public Set<String> getPropertyNames() {
return null;
}
@Override
public Map<String, Serializable> getProperties() {
return null;
}
@Override
public boolean containsPropertyName(String name) {
return false;
}
@Override
public List<? extends Serializable> getAttributeValues() {
return Arrays.asList(MockMetacard.DEFAULT_TITLE);
}
@Override
public String getAttributeName() {
return Metacard.TITLE;
}
});
Metacard deletedMetacard = deleteResponse.getDeletedMetacards().get(0);
verifyDeletedRecord(metacard, createResponse, deleteResponse, deletedMetacard);
// verify it is really not in SOLR
Filter filter = filterBuilder.attribute(Metacard.TITLE).like().text(MockMetacard.DEFAULT_TITLE);
QueryImpl query = new QueryImpl(filter);
SourceResponse sourceResponse = provider.query(new QueryRequestImpl(query));
List<Result> results = sourceResponse.getResults();
assertEquals(0, results.size());
}
Aggregations