Search in sources :

Example 81 with SourceUnavailableException

use of ddf.catalog.source.SourceUnavailableException in project ddf by codice.

the class CatalogFrameworkImplTest method testNullEntriesCreate.

@Test(expected = IngestException.class)
public void testNullEntriesCreate() throws IngestException {
    MockEventProcessor eventAdmin = new MockEventProcessor();
    MockMemoryProvider provider = new MockMemoryProvider("Provider", "Provider", "v1.0", "DDF", new HashSet<ContentType>(), true, new Date());
    CatalogFramework framework = this.createDummyCatalogFramework(provider, storageProvider, eventAdmin, true);
    // call framework with null request
    try {
        framework.create((CreateRequest) null);
    } catch (SourceUnavailableException e) {
        fail();
    }
}
Also used : SourceUnavailableException(ddf.catalog.source.SourceUnavailableException) ContentType(ddf.catalog.data.ContentType) CatalogFramework(ddf.catalog.CatalogFramework) Date(java.util.Date) Test(org.junit.Test)

Example 82 with SourceUnavailableException

use of ddf.catalog.source.SourceUnavailableException in project ddf by codice.

the class CatalogFrameworkImplTest method testNullFederatedQuery.

/**
 * Tests that the framework properly throws a catalog exception when the federated query being
 * passed in is null.
 *
 * @throws UnsupportedQueryException
 */
@Test(expected = UnsupportedQueryException.class)
public void testNullFederatedQuery() throws UnsupportedQueryException {
    boolean isAvailable = false;
    CatalogProvider provider = new MockMemoryProvider("Provider", "Provider", "v1.0", "DDF", new HashSet<ContentType>(), isAvailable, new Date());
    createDefaultFederatedSourceList(isAvailable);
    CatalogFramework framework = this.createDummyCatalogFramework(provider, storageProvider, null, true);
    try {
        framework.query(null, null);
    } catch (FederationException e) {
        fail();
    } catch (SourceUnavailableException e) {
        fail();
    }
}
Also used : SourceUnavailableException(ddf.catalog.source.SourceUnavailableException) ContentType(ddf.catalog.data.ContentType) CatalogProvider(ddf.catalog.source.CatalogProvider) CatalogFramework(ddf.catalog.CatalogFramework) FederationException(ddf.catalog.federation.FederationException) Date(java.util.Date) Test(org.junit.Test)

Example 83 with SourceUnavailableException

use of ddf.catalog.source.SourceUnavailableException in project ddf by codice.

the class CswEndpointTest method testDeleteTransaction.

@Test
public void testDeleteTransaction() throws CswException, UnsupportedQueryException, SourceUnavailableException, FederationException, IngestException {
    DeleteType deleteType = mock(DeleteType.class);
    doReturn(CswConstants.CSW_RECORD).when(deleteType).getTypeName();
    doReturn("").when(deleteType).getHandle();
    QueryConstraintType queryConstraintType = new QueryConstraintType();
    queryConstraintType.setCqlText("title = \"foo\"");
    doReturn(queryConstraintType).when(deleteType).getConstraint();
    when(catalogFramework.delete(any(DeleteRequest.class))).thenAnswer((Answer<DeleteResponse>) invocation -> {
        DeleteRequest request = (DeleteRequest) invocation.getArguments()[0];
        long numResults = request.getAttributeValues().size();
        when(deleteResponse.getDeletedMetacards()).thenReturn(populateMetacardList((int) numResults));
        return deleteResponse;
    });
    DeleteAction deleteAction = new DeleteActionImpl(deleteType, DefaultCswRecordMap.getPrefixToUriMapping());
    CswTransactionRequest deleteRequest = new CswTransactionRequest();
    deleteRequest.getDeleteActions().add(deleteAction);
    deleteRequest.setVersion(CswConstants.VERSION_2_0_2);
    deleteRequest.setService(CswConstants.CSW);
    deleteRequest.setVerbose(false);
    TransactionResponseType response = csw.transaction(deleteRequest);
    assertThat(response, notNullValue());
    TransactionSummaryType summary = response.getTransactionSummary();
    assertThat(summary, notNullValue());
    assertThat(summary.getTotalDeleted().intValue(), is(BATCH_TOTAL));
    assertThat(summary.getTotalInserted().intValue(), is(0));
    assertThat(summary.getTotalUpdated().intValue(), is(0));
    verifyMarshalResponse(response, "net.opengis.cat.csw.v_2_0_2:net.opengis.filter.v_1_1_0:net.opengis.gml.v_3_1_1", cswQnameOutPutSchema);
}
Also used : UpdateActionImpl(org.codice.ddf.spatial.ogc.csw.catalog.common.transaction.UpdateActionImpl) Arrays(java.util.Arrays) StringUtils(org.apache.commons.lang.StringUtils) CreateRequest(ddf.catalog.operation.CreateRequest) Matchers.hasItems(org.hamcrest.Matchers.hasItems) MediaType(javax.ws.rs.core.MediaType) ServiceIdentification(net.opengis.ows.v_1_0_0.ServiceIdentification) Matchers.nullValue(org.hamcrest.Matchers.nullValue) Map(java.util.Map) ComparisonOperatorType(net.opengis.filter.v_1_1_0.ComparisonOperatorType) PrincipalCollection(org.apache.shiro.subject.PrincipalCollection) Mockito.doReturn(org.mockito.Mockito.doReturn) ServiceReference(org.osgi.framework.ServiceReference) TransactionSummaryType(net.opengis.cat.csw.v_2_0_2.TransactionSummaryType) DefaultSecurityManager(org.apache.shiro.mgt.DefaultSecurityManager) Matchers.notNullValue(org.hamcrest.Matchers.notNullValue) ArgumentMatchers.anyList(org.mockito.ArgumentMatchers.anyList) ResourceNotFoundException(ddf.catalog.resource.ResourceNotFoundException) Serializable(java.io.Serializable) Stream(java.util.stream.Stream) Matchers.contains(org.hamcrest.Matchers.contains) ParseException(org.locationtech.jts.io.ParseException) QueryResponseTransformer(ddf.catalog.transform.QueryResponseTransformer) ElementSetNameType(net.opengis.cat.csw.v_2_0_2.ElementSetNameType) Matchers.is(org.hamcrest.Matchers.is) CswConstants(org.codice.ddf.spatial.ogc.csw.catalog.common.CswConstants) UpdateResponse(ddf.catalog.operation.UpdateResponse) UriInfo(javax.ws.rs.core.UriInfo) QName(javax.xml.namespace.QName) CswRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.CswRequest) Mockito.mock(org.mockito.Mockito.mock) ResourceResponse(ddf.catalog.operation.ResourceResponse) SpatialOperatorType(net.opengis.filter.v_1_1_0.SpatialOperatorType) Iterables(com.google.common.collect.Iterables) DescribeRecordRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.DescribeRecordRequest) DefaultCswRecordMap(org.codice.ddf.spatial.ogc.csw.catalog.common.converter.DefaultCswRecordMap) CatalogFramework(ddf.catalog.CatalogFramework) QueryResponseImpl(ddf.catalog.operation.impl.QueryResponseImpl) DeleteResponse(ddf.catalog.operation.DeleteResponse) Resource(ddf.catalog.resource.Resource) ArrayList(java.util.ArrayList) UpdateImpl(ddf.catalog.operation.impl.UpdateImpl) Answer(org.mockito.stubbing.Answer) Subject(org.apache.shiro.subject.Subject) MetacardImpl(ddf.catalog.data.impl.MetacardImpl) ResourceRequest(ddf.catalog.operation.ResourceRequest) QueryRequest(ddf.catalog.operation.QueryRequest) Matchers.hasSize(org.hamcrest.Matchers.hasSize) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) CswActionTransformerProvider(org.codice.ddf.spatial.ogc.csw.catalog.endpoint.transformer.CswActionTransformerProvider) Result(ddf.catalog.data.Result) SimplePrincipalCollection(org.apache.shiro.subject.SimplePrincipalCollection) CswRecordCollection(org.codice.ddf.spatial.ogc.csw.catalog.common.CswRecordCollection) CapabilitiesType(net.opengis.cat.csw.v_2_0_2.CapabilitiesType) IngestException(ddf.catalog.source.IngestException) StringWriter(java.io.StringWriter) JAXBElement(javax.xml.bind.JAXBElement) ServiceProvider(net.opengis.ows.v_1_0_0.ServiceProvider) Mockito.times(org.mockito.Mockito.times) IOException(java.io.IOException) Test(org.junit.Test) FederationException(ddf.catalog.federation.FederationException) CreateResponseImpl(ddf.catalog.operation.impl.CreateResponseImpl) UpdateAction(org.codice.ddf.spatial.ogc.csw.catalog.actions.UpdateAction) GetRecordsType(net.opengis.cat.csw.v_2_0_2.GetRecordsType) Query(ddf.catalog.operation.Query) CswTransactionRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.transaction.CswTransactionRequest) Matchers.hasItem(org.hamcrest.Matchers.hasItem) GetRecordsRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.GetRecordsRequest) ArrayDeque(java.util.ArrayDeque) Mockito.reset(org.mockito.Mockito.reset) TransactionResponseType(net.opengis.cat.csw.v_2_0_2.TransactionResponseType) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) QueryFilterTransformer(ddf.catalog.transform.QueryFilterTransformer) URL(java.net.URL) DescribeRecordResponseType(net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType) UnsupportedQueryException(ddf.catalog.source.UnsupportedQueryException) URISyntaxException(java.net.URISyntaxException) LoggerFactory(org.slf4j.LoggerFactory) DeleteAction(org.codice.ddf.spatial.ogc.csw.catalog.actions.DeleteAction) SectionsType(net.opengis.ows.v_1_0_0.SectionsType) GetCapabilitiesRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.GetCapabilitiesRequest) InsertActionImpl(org.codice.ddf.spatial.ogc.csw.catalog.common.transaction.InsertActionImpl) Assert.fail(org.junit.Assert.fail) DeleteType(net.opengis.cat.csw.v_2_0_2.DeleteType) TransformerManager(org.codice.ddf.spatial.ogc.csw.catalog.common.transformer.TransformerManager) URI(java.net.URI) DeleteActionImpl(org.codice.ddf.spatial.ogc.csw.catalog.common.transaction.DeleteActionImpl) Bundle(org.osgi.framework.Bundle) InvalidSyntaxException(org.osgi.framework.InvalidSyntaxException) Collection(java.util.Collection) GetRecordByIdType(net.opengis.cat.csw.v_2_0_2.GetRecordByIdType) CswException(org.codice.ddf.spatial.ogc.csw.catalog.common.CswException) ResultImpl(ddf.catalog.data.impl.ResultImpl) UUID(java.util.UUID) Collectors(java.util.stream.Collectors) JAXBException(javax.xml.bind.JAXBException) BundleContext(org.osgi.framework.BundleContext) DeleteRequest(ddf.catalog.operation.DeleteRequest) Objects(java.util.Objects) QueryResponse(ddf.catalog.operation.QueryResponse) List(java.util.List) Operation(net.opengis.ows.v_1_0_0.Operation) Matchers.equalTo(org.hamcrest.Matchers.equalTo) Optional(java.util.Optional) Queue(java.util.Queue) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) SourceUnavailableException(ddf.catalog.source.SourceUnavailableException) Marshaller(javax.xml.bind.Marshaller) HashMap(java.util.HashMap) DescribeRecordType(net.opengis.cat.csw.v_2_0_2.DescribeRecordType) ResultType(net.opengis.cat.csw.v_2_0_2.ResultType) Update(ddf.catalog.operation.Update) SchemaComponentType(net.opengis.cat.csw.v_2_0_2.SchemaComponentType) HashSet(java.util.HashSet) GetCapabilitiesType(net.opengis.cat.csw.v_2_0_2.GetCapabilitiesType) SortBy(org.opengis.filter.sort.SortBy) UpdateResponseImpl(ddf.catalog.operation.impl.UpdateResponseImpl) ArgumentCaptor(org.mockito.ArgumentCaptor) ImmutableList(com.google.common.collect.ImmutableList) OperationsMetadata(net.opengis.ows.v_1_0_0.OperationsMetadata) Metacard(ddf.catalog.data.Metacard) QueryType(net.opengis.cat.csw.v_2_0_2.QueryType) MimeType(javax.activation.MimeType) UpdateRequest(ddf.catalog.operation.UpdateRequest) GmdConstants(org.codice.ddf.spatial.ogc.csw.catalog.common.GmdConstants) LinkedList(java.util.LinkedList) DomainType(net.opengis.ows.v_1_0_0.DomainType) JAXBContext(javax.xml.bind.JAXBContext) GetRecordByIdRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.GetRecordByIdRequest) SimpleSession(org.apache.shiro.session.mgt.SimpleSession) Matchers.empty(org.hamcrest.Matchers.empty) ElementSetType(net.opengis.cat.csw.v_2_0_2.ElementSetType) Logger(org.slf4j.Logger) Mockito.when(org.mockito.Mockito.when) Mockito.verify(org.mockito.Mockito.verify) ResourceNotSupportedException(ddf.catalog.resource.ResourceNotSupportedException) DeleteResponseImpl(ddf.catalog.operation.impl.DeleteResponseImpl) FilterCapabilities(net.opengis.filter.v_1_1_0.FilterCapabilities) Collectors.toList(java.util.stream.Collectors.toList) SourceResponse(ddf.catalog.operation.SourceResponse) ThreadContext(org.apache.shiro.util.ThreadContext) AcceptVersionsType(net.opengis.ows.v_1_0_0.AcceptVersionsType) QueryConstraintType(net.opengis.cat.csw.v_2_0_2.QueryConstraintType) Collections(java.util.Collections) DeleteResponse(ddf.catalog.operation.DeleteResponse) CswTransactionRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.transaction.CswTransactionRequest) DeleteAction(org.codice.ddf.spatial.ogc.csw.catalog.actions.DeleteAction) DeleteType(net.opengis.cat.csw.v_2_0_2.DeleteType) DeleteActionImpl(org.codice.ddf.spatial.ogc.csw.catalog.common.transaction.DeleteActionImpl) TransactionSummaryType(net.opengis.cat.csw.v_2_0_2.TransactionSummaryType) DeleteRequest(ddf.catalog.operation.DeleteRequest) QueryConstraintType(net.opengis.cat.csw.v_2_0_2.QueryConstraintType) TransactionResponseType(net.opengis.cat.csw.v_2_0_2.TransactionResponseType) Test(org.junit.Test)

Example 84 with SourceUnavailableException

use of ddf.catalog.source.SourceUnavailableException in project ddf by codice.

the class GazetteerBuildSuggesterIndexCommandTest method unsuccessfulRunPrintsErrors.

@Test
public void unsuccessfulRunPrintsErrors() throws Exception {
    final String exceptionMessage = "The source is unavailable.";
    doThrow(new SourceUnavailableException(exceptionMessage)).when(catalogFramework).query(any());
    command.executeWithSubject();
    final String output = consoleInterceptor.getOutput();
    assertThat(output, containsString("Error: " + exceptionMessage));
}
Also used : SourceUnavailableException(ddf.catalog.source.SourceUnavailableException) Matchers.containsString(org.hamcrest.Matchers.containsString) Test(org.junit.Test)

Example 85 with SourceUnavailableException

use of ddf.catalog.source.SourceUnavailableException in project ddf by codice.

the class CatalogBundle method isCatalogProviderReady.

private boolean isCatalogProviderReady() {
    CatalogProvider provider = getService(CatalogProvider.class);
    CatalogFramework framework = getService(CatalogFramework.class);
    if (framework != null && provider != null) {
        SourceInfoRequestLocal sourceInfoRequestEnterprise = new SourceInfoRequestLocal(true);
        try {
            SourceInfoResponse sources = framework.getSourceInfo(sourceInfoRequestEnterprise);
            return sources.getSourceInfo().stream().filter(descriptor -> descriptor.getSourceId().equals(provider.getId())).map(descriptor -> descriptor.isAvailable() && provider.isAvailable()).findFirst().orElse(false);
        } catch (SourceUnavailableException ignored) {
        }
    }
    return false;
}
Also used : SourceInfoResponse(ddf.catalog.operation.SourceInfoResponse) Awaitility.await(org.awaitility.Awaitility.await) SourceInfoRequestLocal(ddf.catalog.operation.impl.SourceInfoRequestLocal) Logger(org.slf4j.Logger) NotCompliantMBeanException(javax.management.NotCompliantMBeanException) InvalidSyntaxException(org.osgi.framework.InvalidSyntaxException) SourceUnavailableException(ddf.catalog.source.SourceUnavailableException) CatalogFramework(ddf.catalog.CatalogFramework) FederatedSource(ddf.catalog.source.FederatedSource) SourceInfoRequestEnterprise(ddf.catalog.operation.impl.SourceInfoRequestEnterprise) LoggerFactory(org.slf4j.LoggerFactory) IOException(java.io.IOException) TimeUnit(java.util.concurrent.TimeUnit) List(java.util.List) CatalogProvider(ddf.catalog.source.CatalogProvider) Configuration(org.osgi.service.cm.Configuration) Map(java.util.Map) Optional(java.util.Optional) DictionaryMap(org.codice.ddf.configuration.DictionaryMap) ServiceReference(org.osgi.framework.ServiceReference) SourceUnavailableException(ddf.catalog.source.SourceUnavailableException) CatalogProvider(ddf.catalog.source.CatalogProvider) CatalogFramework(ddf.catalog.CatalogFramework) SourceInfoRequestLocal(ddf.catalog.operation.impl.SourceInfoRequestLocal) SourceInfoResponse(ddf.catalog.operation.SourceInfoResponse)

Aggregations

SourceUnavailableException (ddf.catalog.source.SourceUnavailableException)87 FederationException (ddf.catalog.federation.FederationException)39 UnsupportedQueryException (ddf.catalog.source.UnsupportedQueryException)38 QueryRequestImpl (ddf.catalog.operation.impl.QueryRequestImpl)33 Metacard (ddf.catalog.data.Metacard)30 IngestException (ddf.catalog.source.IngestException)30 QueryResponse (ddf.catalog.operation.QueryResponse)29 QueryImpl (ddf.catalog.operation.impl.QueryImpl)28 ArrayList (java.util.ArrayList)26 Test (org.junit.Test)26 QueryRequest (ddf.catalog.operation.QueryRequest)24 CatalogFramework (ddf.catalog.CatalogFramework)22 HashMap (java.util.HashMap)19 Result (ddf.catalog.data.Result)18 Filter (org.opengis.filter.Filter)18 CreateResponse (ddf.catalog.operation.CreateResponse)17 List (java.util.List)16 Map (java.util.Map)16 ContentType (ddf.catalog.data.ContentType)14 IOException (java.io.IOException)14