Search in sources :

Example 26 with Result

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);
}
Also used : ArrayList(java.util.ArrayList) ResultImpl(ddf.catalog.data.impl.ResultImpl) MetacardImpl(ddf.catalog.data.impl.MetacardImpl) Result(ddf.catalog.data.Result) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 27 with Result

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()));
}
Also used : MigrationMetadata(org.codice.ddf.migration.MigrationMetadata) Result(ddf.catalog.data.Result) Test(org.junit.Test)

Example 28 with Result

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);
}
Also used : Objects(java.util.Objects) Result(ddf.catalog.data.Result)

Example 29 with Result

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());
}
Also used : Filter(org.opengis.filter.Filter) DateTime(org.joda.time.DateTime) Result(ddf.catalog.data.Result) Test(org.junit.Test)

Example 30 with Result

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());
}
Also used : Serializable(java.io.Serializable) Set(java.util.Set) TreeSet(java.util.TreeSet) HashSet(java.util.HashSet) SourceResponse(ddf.catalog.operation.SourceResponse) CreateResponse(ddf.catalog.operation.CreateResponse) Matchers.containsString(org.hamcrest.Matchers.containsString) Result(ddf.catalog.data.Result) Metacard(ddf.catalog.data.Metacard) QueryImpl(ddf.catalog.operation.impl.QueryImpl) DeleteResponse(ddf.catalog.operation.DeleteResponse) Filter(org.opengis.filter.Filter) QueryRequestImpl(ddf.catalog.operation.impl.QueryRequestImpl) List(java.util.List) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) DeleteRequest(ddf.catalog.operation.DeleteRequest) Map(java.util.Map) Test(org.junit.Test)

Aggregations

Result (ddf.catalog.data.Result)361 Test (org.junit.Test)205 Metacard (ddf.catalog.data.Metacard)159 SourceResponse (ddf.catalog.operation.SourceResponse)153 ArrayList (java.util.ArrayList)137 ResultImpl (ddf.catalog.data.impl.ResultImpl)120 MetacardImpl (ddf.catalog.data.impl.MetacardImpl)119 QueryRequestImpl (ddf.catalog.operation.impl.QueryRequestImpl)102 QueryImpl (ddf.catalog.operation.impl.QueryImpl)91 Filter (org.opengis.filter.Filter)91 QueryResponse (ddf.catalog.operation.QueryResponse)87 QueryRequest (ddf.catalog.operation.QueryRequest)84 QueryResponseImpl (ddf.catalog.operation.impl.QueryResponseImpl)50 Serializable (java.io.Serializable)50 BinaryContent (ddf.catalog.data.BinaryContent)48 HashMap (java.util.HashMap)45 SourceResponseImpl (ddf.catalog.operation.impl.SourceResponseImpl)43 UnsupportedQueryException (ddf.catalog.source.UnsupportedQueryException)39 Map (java.util.Map)36 DateTime (org.joda.time.DateTime)33