Search in sources :

Example 1 with ResultIterable

use of ddf.catalog.util.impl.ResultIterable in project ddf by codice.

the class DuplicateCommands method duplicateInBatches.

/**
 * In batches, loops through a query of the queryFacade and an ingest to the ingestFacade of the
 * metacards from the response until there are no more metacards from the queryFacade or the
 * maxMetacards has been reached.
 *
 * @param queryFacade - the CatalogFacade to duplicate from
 * @param ingestFacade - the CatalogFacade to duplicate to
 * @param filter - the filter to query with
 */
protected void duplicateInBatches(CatalogFacade queryFacade, CatalogFacade ingestFacade, Filter filter, String sourceId) throws InterruptedException {
    AtomicInteger queryIndex = new AtomicInteger(1);
    final long originalQuerySize;
    if (maxMetacards > 0 && maxMetacards < batchSize) {
        originalQuerySize = maxMetacards;
    } else {
        originalQuerySize = batchSize;
    }
    Function<Integer, QueryRequest> queryTemplate = (index) -> new QueryRequestImpl(new QueryImpl(filter, index, (int) originalQuerySize, new SortByImpl(Metacard.EFFECTIVE, SortOrder.DESCENDING), true, TimeUnit.MINUTES.toMillis(5)), Collections.singletonList(sourceId));
    List<Metacard> initialMetacards = ResultIterable.resultIterable((queryRequest -> {
        SourceResponse response = queryFacade.query(queryRequest);
        if (response.getHits() != -1) {
            maxMetacards = (int) response.getHits();
        }
        return response;
    }), queryTemplate.apply(queryIndex.get()), (int) originalQuerySize).stream().map(Result::getMetacard).collect(Collectors.toList());
    if (initialMetacards.isEmpty()) {
        LOGGER.debug("Query returned 0 results.");
        console.println(String.format("No results were returned by the source [%s]", sourceId));
        return;
    }
    ingestMetacards(ingestFacade, initialMetacards);
    if (initialMetacards.size() < originalQuerySize) {
        // all done if results exhausted in the first batch
        printProgressAndFlush(start, maxMetacards < 1 ? initialMetacards.size() : maxMetacards, ingestedCount.get());
        return;
    }
    final long totalWanted = maxMetacards;
    final AtomicBoolean done = new AtomicBoolean(false);
    if (multithreaded > 1) {
        BlockingQueue<Runnable> blockingQueue = new ArrayBlockingQueue<>(multithreaded);
        RejectedExecutionHandler rejectedExecutionHandler = new ThreadPoolExecutor.CallerRunsPolicy();
        final ExecutorService executorService = new ThreadPoolExecutor(multithreaded, multithreaded, 0L, TimeUnit.MILLISECONDS, blockingQueue, StandardThreadFactoryBuilder.newThreadFactory("duplicateCommandsThread"), rejectedExecutionHandler);
        console.printf("Running a maximum of %d threads during replication.%n", multithreaded);
        printProgressAndFlush(start, Math.max(totalWanted, initialMetacards.size()), ingestedCount.get());
        int index;
        while (!done.get()) {
            index = queryIndex.addAndGet(batchSize);
            final int taskIndex = index;
            executorService.submit(() -> {
                int querySize = (int) getQuerySizeFromIndex(totalWanted, taskIndex);
                if (querySize < 1) {
                    // If we don't need any more metacards, we're finished
                    done.set(true);
                    return;
                }
                List<Metacard> metacards = ResultIterable.resultIterable(queryFacade::query, queryTemplate.apply(taskIndex), querySize).stream().map(Result::getMetacard).collect(Collectors.toList());
                if (metacards.size() < querySize) {
                    done.set(true);
                }
                if (!metacards.isEmpty()) {
                    ingestMetacards(ingestFacade, metacards);
                }
                printProgressAndFlush(start, Math.max(totalWanted, ingestedCount.get()), ingestedCount.get());
            });
        }
        executorService.shutdown();
        try {
            executorService.awaitTermination(1, TimeUnit.SECONDS);
        } catch (InterruptedException e) {
            executorService.shutdownNow();
            throw e;
        }
        printProgressAndFlush(start, Math.max(totalWanted, ingestedCount.get()), ingestedCount.get());
    } else {
        // Single threaded
        ResultIterable iter;
        if (maxMetacards > 0) {
            iter = ResultIterable.resultIterable(queryFacade::query, queryTemplate.apply(1 + batchSize), maxMetacards);
        } else {
            iter = ResultIterable.resultIterable(queryFacade::query, queryTemplate.apply(1 + batchSize));
        }
        Iterables.partition(iter, batchSize).forEach((batch) -> {
            printProgressAndFlush(start, totalWanted, ingestedCount.get());
            if (batch.isEmpty()) {
                return;
            }
            ingestMetacards(ingestFacade, batch.stream().map(Result::getMetacard).collect(Collectors.toList()));
        });
    }
    printProgressAndFlush(start, totalWanted, ingestedCount.get());
    if (failedCount.get() > 0) {
        LOGGER.info("Not all records were ingested. [{}] failed", failedCount.get());
        if (StringUtils.isNotBlank(failedDir)) {
            try {
                writeFailedMetacards(failedMetacards);
            } catch (IOException e) {
                console.println("Error occurred while writing failed metacards to failedDir.");
            }
        }
    }
}
Also used : QueryRequestImpl(ddf.catalog.operation.impl.QueryRequestImpl) Iterables(com.google.common.collect.Iterables) ResultIterable(ddf.catalog.util.impl.ResultIterable) Arrays(java.util.Arrays) StringUtils(org.apache.commons.lang.StringUtils) CreateRequest(ddf.catalog.operation.CreateRequest) SourceUnavailableException(ddf.catalog.source.SourceUnavailableException) ThreadPoolExecutor(java.util.concurrent.ThreadPoolExecutor) LoggerFactory(org.slf4j.LoggerFactory) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Function(java.util.function.Function) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) CreateResponse(ddf.catalog.operation.CreateResponse) Metacard(ddf.catalog.data.Metacard) RejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) MetacardImpl(ddf.catalog.data.impl.MetacardImpl) QueryRequest(ddf.catalog.operation.QueryRequest) SortByImpl(ddf.catalog.filter.impl.SortByImpl) ObjectOutputStream(java.io.ObjectOutputStream) Result(ddf.catalog.data.Result) ExecutorService(java.util.concurrent.ExecutorService) SortOrder(org.opengis.filter.sort.SortOrder) CreateRequestImpl(ddf.catalog.operation.impl.CreateRequestImpl) QueryImpl(ddf.catalog.operation.impl.QueryImpl) Logger(org.slf4j.Logger) StandardThreadFactoryBuilder(org.codice.ddf.platform.util.StandardThreadFactoryBuilder) IngestException(ddf.catalog.source.IngestException) FileOutputStream(java.io.FileOutputStream) Set(java.util.Set) IOException(java.io.IOException) BlockingQueue(java.util.concurrent.BlockingQueue) Collectors(java.util.stream.Collectors) File(java.io.File) TimeUnit(java.util.concurrent.TimeUnit) ArrayBlockingQueue(java.util.concurrent.ArrayBlockingQueue) SourceResponse(ddf.catalog.operation.SourceResponse) List(java.util.List) CatalogFacade(org.codice.ddf.commands.catalog.facade.CatalogFacade) Filter(org.opengis.filter.Filter) Option(org.apache.karaf.shell.api.action.Option) Collections(java.util.Collections) Result(ddf.catalog.data.Result) QueryImpl(ddf.catalog.operation.impl.QueryImpl) ArrayBlockingQueue(java.util.concurrent.ArrayBlockingQueue) QueryRequest(ddf.catalog.operation.QueryRequest) SourceResponse(ddf.catalog.operation.SourceResponse) RejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler) IOException(java.io.IOException) ResultIterable(ddf.catalog.util.impl.ResultIterable) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Metacard(ddf.catalog.data.Metacard) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) SortByImpl(ddf.catalog.filter.impl.SortByImpl) QueryRequestImpl(ddf.catalog.operation.impl.QueryRequestImpl) ExecutorService(java.util.concurrent.ExecutorService) ThreadPoolExecutor(java.util.concurrent.ThreadPoolExecutor)

Example 2 with ResultIterable

use of ddf.catalog.util.impl.ResultIterable in project ddf by codice.

the class CswEndpoint method queryCsw.

private CswRecordCollection queryCsw(GetRecordsType request) throws CswException {
    if (LOGGER.isDebugEnabled()) {
        try {
            Writer writer = new StringWriter();
            try {
                Marshaller marshaller = CswQueryFactory.getJaxBContext().createMarshaller();
                marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
                JAXBElement<GetRecordsType> jaxbElement = new ObjectFactory().createGetRecords(request);
                marshaller.marshal(jaxbElement, writer);
            } catch (JAXBException e) {
                LOGGER.debug("Unable to marshall {} to XML", GetRecordsType.class, e);
            }
            LOGGER.debug(writer.toString());
        } catch (Exception e) {
            LOGGER.debug("Unable to create debug message for getRecordsType", e);
        }
    }
    QueryType query = (QueryType) request.getAbstractQuery().getValue();
    CswRecordCollection response = new CswRecordCollection();
    response.setRequest(request);
    response.setOutputSchema(request.getOutputSchema());
    response.setMimeType(request.getOutputFormat());
    response.setElementName(query.getElementName());
    response.setElementSetType((query.getElementSetName() != null) ? query.getElementSetName().getValue() : null);
    response.setResultType((ResultType) ObjectUtils.defaultIfNull(request.getResultType(), ResultType.HITS));
    if (ResultType.HITS.equals(request.getResultType()) || ResultType.RESULTS.equals(request.getResultType())) {
        QueryRequest queryRequest = queryFactory.getQuery(request);
        try {
            queryRequest = queryFactory.updateQueryRequestTags(queryRequest, request.getOutputSchema());
            LOGGER.debug("Attempting to execute paged query: {}", queryRequest);
            AtomicLong hitCount = new AtomicLong(0);
            QueryFunction qf = qr -> {
                SourceResponse sr = framework.query(qr);
                hitCount.compareAndSet(0, sr.getHits());
                return sr;
            };
            ResultIterable results = ResultIterable.resultIterable(qf, queryRequest, request.getMaxRecords().intValue());
            List<Result> resultList = results.stream().collect(Collectors.toList());
            // The hitCount Atomic is used here instead of just defaulting
            // to the size of the resultList because the size of the resultList
            // can be limited to request.getMaxRecords().intValue() which would
            // lead to an incorrect response for hits.
            // hitCount is set within the QueryFunction and will correspond to
            // all responses.
            long totalHits = hitCount.get();
            totalHits = totalHits != 0 ? totalHits : resultList.size();
            QueryResponse queryResponse = new QueryResponseImpl(queryRequest, resultList, totalHits);
            response.setSourceResponse(queryResponse);
        } catch (UnsupportedQueryException | CatalogQueryException e) {
            LOGGER.debug("Unable to query", e);
            throw new CswException(e);
        }
    }
    return response;
}
Also used : ScalarCapabilitiesType(net.opengis.filter.v_1_1_0.ScalarCapabilitiesType) Arrays(java.util.Arrays) StringUtils(org.apache.commons.lang.StringUtils) WKTReader(org.locationtech.jts.io.WKTReader) CreateRequest(ddf.catalog.operation.CreateRequest) Produces(javax.ws.rs.Produces) XMLUtils(org.codice.ddf.platform.util.XMLUtils) SpatialOperatorsType(net.opengis.filter.v_1_1_0.SpatialOperatorsType) RequestMethodType(net.opengis.ows.v_1_0_0.RequestMethodType) Future(java.util.concurrent.Future) MediaType(javax.ws.rs.core.MediaType) ServiceIdentification(net.opengis.ows.v_1_0_0.ServiceIdentification) Document(org.w3c.dom.Document) Map(java.util.Map) HeaderParam(javax.ws.rs.HeaderParam) BigInteger(java.math.BigInteger) ComparisonOperatorType(net.opengis.filter.v_1_1_0.ComparisonOperatorType) Csw(org.codice.ddf.spatial.ogc.csw.catalog.common.Csw) ServiceReference(org.osgi.framework.ServiceReference) HTTP(net.opengis.ows.v_1_0_0.HTTP) TransactionSummaryType(net.opengis.cat.csw.v_2_0_2.TransactionSummaryType) CancellationException(java.util.concurrent.CancellationException) StandardThreadFactoryBuilder(org.codice.ddf.platform.util.StandardThreadFactoryBuilder) ResourceRequestById(ddf.catalog.operation.impl.ResourceRequestById) Set(java.util.Set) LogicalOperators(net.opengis.filter.v_1_1_0.LogicalOperators) ResourceNotFoundException(ddf.catalog.resource.ResourceNotFoundException) Serializable(java.io.Serializable) MimeTypeParseException(javax.activation.MimeTypeParseException) Stream(java.util.stream.Stream) ParseException(org.locationtech.jts.io.ParseException) SpatialCapabilitiesType(net.opengis.filter.v_1_1_0.SpatialCapabilitiesType) 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) SecurityUtils(org.apache.shiro.SecurityUtils) CswRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.CswRequest) ResourceResponse(ddf.catalog.operation.ResourceResponse) SpatialOperatorType(net.opengis.filter.v_1_1_0.SpatialOperatorType) Iterables(com.google.common.collect.Iterables) ResultIterable(ddf.catalog.util.impl.ResultIterable) GeometryOperandsType(net.opengis.filter.v_1_1_0.GeometryOperandsType) DescribeRecordRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.DescribeRecordRequest) GET(javax.ws.rs.GET) CatalogFramework(ddf.catalog.CatalogFramework) QueryResponseImpl(ddf.catalog.operation.impl.QueryResponseImpl) ResponsiblePartySubsetType(net.opengis.ows.v_1_0_0.ResponsiblePartySubsetType) DeleteResponse(ddf.catalog.operation.DeleteResponse) Callable(java.util.concurrent.Callable) Resource(ddf.catalog.resource.Resource) ArrayList(java.util.ArrayList) IdCapabilitiesType(net.opengis.filter.v_1_1_0.IdCapabilitiesType) Subject(org.apache.shiro.subject.Subject) DCP(net.opengis.ows.v_1_0_0.DCP) EID(net.opengis.filter.v_1_1_0.EID) CodeType(net.opengis.ows.v_1_0_0.CodeType) QueryRequest(ddf.catalog.operation.QueryRequest) CswActionTransformerProvider(org.codice.ddf.spatial.ogc.csw.catalog.endpoint.transformer.CswActionTransformerProvider) Result(ddf.catalog.data.Result) CreateRequestImpl(ddf.catalog.operation.impl.CreateRequestImpl) ObjectFactory(net.opengis.cat.csw.v_2_0_2.ObjectFactory) 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) IOException(java.io.IOException) FederationException(ddf.catalog.federation.FederationException) UpdateAction(org.codice.ddf.spatial.ogc.csw.catalog.actions.UpdateAction) GetRecordsType(net.opengis.cat.csw.v_2_0_2.GetRecordsType) ExecutionException(java.util.concurrent.ExecutionException) AtomicLong(java.util.concurrent.atomic.AtomicLong) CswTransactionRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.transaction.CswTransactionRequest) Paths(java.nio.file.Paths) DocumentBuilder(javax.xml.parsers.DocumentBuilder) LinkedBlockingDeque(java.util.concurrent.LinkedBlockingDeque) InsertResultType(net.opengis.cat.csw.v_2_0_2.InsertResultType) GetRecordsRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.GetRecordsRequest) TransactionResponseType(net.opengis.cat.csw.v_2_0_2.TransactionResponseType) InsertAction(org.codice.ddf.spatial.ogc.csw.catalog.actions.InsertAction) QueryFilterTransformer(ddf.catalog.transform.QueryFilterTransformer) UpdateRequestImpl(ddf.catalog.operation.impl.UpdateRequestImpl) URL(java.net.URL) DescribeRecordResponseType(net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType) UnsupportedQueryException(ddf.catalog.source.UnsupportedQueryException) LoggerFactory(org.slf4j.LoggerFactory) DeleteAction(org.codice.ddf.spatial.ogc.csw.catalog.actions.DeleteAction) CompletionService(java.util.concurrent.CompletionService) GetCapabilitiesRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.GetCapabilitiesRequest) LogSanitizer(org.codice.ddf.log.sanitizer.LogSanitizer) QueryParam(javax.ws.rs.QueryParam) Consumes(javax.ws.rs.Consumes) DeleteRequestImpl(ddf.catalog.operation.impl.DeleteRequestImpl) TransformerManager(org.codice.ddf.spatial.ogc.csw.catalog.common.transformer.TransformerManager) Bundle(org.osgi.framework.Bundle) Splitter(com.google.common.base.Splitter) CatalogQueryException(ddf.catalog.util.impl.CatalogQueryException) Context(javax.ws.rs.core.Context) InvalidSyntaxException(org.osgi.framework.InvalidSyntaxException) OnlineResourceType(net.opengis.ows.v_1_0_0.OnlineResourceType) Collection(java.util.Collection) GetRecordByIdType(net.opengis.cat.csw.v_2_0_2.GetRecordByIdType) CswException(org.codice.ddf.spatial.ogc.csw.catalog.common.CswException) Collectors(java.util.stream.Collectors) JAXBException(javax.xml.bind.JAXBException) ObjectUtils(org.apache.commons.lang.ObjectUtils) BundleContext(org.osgi.framework.BundleContext) Objects(java.util.Objects) QueryResponse(ddf.catalog.operation.QueryResponse) List(java.util.List) Attribute(ddf.catalog.data.Attribute) Operation(net.opengis.ows.v_1_0_0.Operation) SAXException(org.xml.sax.SAXException) Writer(java.io.Writer) Entry(java.util.Map.Entry) Optional(java.util.Optional) Geometry(org.locationtech.jts.geom.Geometry) ComparisonOperatorsType(net.opengis.filter.v_1_1_0.ComparisonOperatorsType) ExecutorCompletionService(java.util.concurrent.ExecutorCompletionService) SourceUnavailableException(ddf.catalog.source.SourceUnavailableException) ThreadPoolExecutor(java.util.concurrent.ThreadPoolExecutor) SimpleLiteral(net.opengis.cat.csw.v_2_0_2.dc.elements.SimpleLiteral) Marshaller(javax.xml.bind.Marshaller) AttributeImpl(ddf.catalog.data.impl.AttributeImpl) HashMap(java.util.HashMap) DescribeRecordType(net.opengis.cat.csw.v_2_0_2.DescribeRecordType) ResultType(net.opengis.cat.csw.v_2_0_2.ResultType) Function(java.util.function.Function) SchemaComponentType(net.opengis.cat.csw.v_2_0_2.SchemaComponentType) HashSet(java.util.HashSet) GetCapabilitiesType(net.opengis.cat.csw.v_2_0_2.GetCapabilitiesType) CreateResponse(ddf.catalog.operation.CreateResponse) 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) ResourceImpl(ddf.catalog.resource.impl.ResourceImpl) LinkedList(java.util.LinkedList) SpatialOperatorNameType(net.opengis.filter.v_1_1_0.SpatialOperatorNameType) DomainType(net.opengis.ows.v_1_0_0.DomainType) BoundingBoxType(net.opengis.ows.v_1_0_0.BoundingBoxType) GetRecordByIdRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.GetRecordByIdRequest) ElementSetType(net.opengis.cat.csw.v_2_0_2.ElementSetType) POST(javax.ws.rs.POST) Logger(org.slf4j.Logger) ResourceNotSupportedException(ddf.catalog.resource.ResourceNotSupportedException) TimeUnit(java.util.concurrent.TimeUnit) FilterCapabilities(net.opengis.filter.v_1_1_0.FilterCapabilities) SourceResponse(ddf.catalog.operation.SourceResponse) QueryFunction(ddf.catalog.util.impl.QueryFunction) Element(org.w3c.dom.Element) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) BriefRecordType(net.opengis.cat.csw.v_2_0_2.BriefRecordType) QueryConstraintType(net.opengis.cat.csw.v_2_0_2.QueryConstraintType) Collections(java.util.Collections) Envelope(org.locationtech.jts.geom.Envelope) FrameworkUtil(org.osgi.framework.FrameworkUtil) UnsupportedQueryException(ddf.catalog.source.UnsupportedQueryException) CswException(org.codice.ddf.spatial.ogc.csw.catalog.common.CswException) Result(ddf.catalog.data.Result) StringWriter(java.io.StringWriter) ObjectFactory(net.opengis.cat.csw.v_2_0_2.ObjectFactory) Marshaller(javax.xml.bind.Marshaller) QueryRequest(ddf.catalog.operation.QueryRequest) SourceResponse(ddf.catalog.operation.SourceResponse) JAXBException(javax.xml.bind.JAXBException) GetRecordsType(net.opengis.cat.csw.v_2_0_2.GetRecordsType) ResultIterable(ddf.catalog.util.impl.ResultIterable) CancellationException(java.util.concurrent.CancellationException) ResourceNotFoundException(ddf.catalog.resource.ResourceNotFoundException) MimeTypeParseException(javax.activation.MimeTypeParseException) ParseException(org.locationtech.jts.io.ParseException) IngestException(ddf.catalog.source.IngestException) IOException(java.io.IOException) FederationException(ddf.catalog.federation.FederationException) ExecutionException(java.util.concurrent.ExecutionException) UnsupportedQueryException(ddf.catalog.source.UnsupportedQueryException) CatalogQueryException(ddf.catalog.util.impl.CatalogQueryException) InvalidSyntaxException(org.osgi.framework.InvalidSyntaxException) CswException(org.codice.ddf.spatial.ogc.csw.catalog.common.CswException) JAXBException(javax.xml.bind.JAXBException) SAXException(org.xml.sax.SAXException) SourceUnavailableException(ddf.catalog.source.SourceUnavailableException) ResourceNotSupportedException(ddf.catalog.resource.ResourceNotSupportedException) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) AtomicLong(java.util.concurrent.atomic.AtomicLong) QueryResponseImpl(ddf.catalog.operation.impl.QueryResponseImpl) QueryFunction(ddf.catalog.util.impl.QueryFunction) QueryResponse(ddf.catalog.operation.QueryResponse) CswRecordCollection(org.codice.ddf.spatial.ogc.csw.catalog.common.CswRecordCollection) CatalogQueryException(ddf.catalog.util.impl.CatalogQueryException) QueryType(net.opengis.cat.csw.v_2_0_2.QueryType) StringWriter(java.io.StringWriter) Writer(java.io.Writer)

Aggregations

Iterables (com.google.common.collect.Iterables)2 Metacard (ddf.catalog.data.Metacard)2 Result (ddf.catalog.data.Result)2 CreateRequest (ddf.catalog.operation.CreateRequest)2 CreateResponse (ddf.catalog.operation.CreateResponse)2 QueryRequest (ddf.catalog.operation.QueryRequest)2 SourceResponse (ddf.catalog.operation.SourceResponse)2 CreateRequestImpl (ddf.catalog.operation.impl.CreateRequestImpl)2 IngestException (ddf.catalog.source.IngestException)2 SourceUnavailableException (ddf.catalog.source.SourceUnavailableException)2 ResultIterable (ddf.catalog.util.impl.ResultIterable)2 IOException (java.io.IOException)2 ArrayList (java.util.ArrayList)2 Arrays (java.util.Arrays)2 Collections (java.util.Collections)2 HashSet (java.util.HashSet)2 List (java.util.List)2 Set (java.util.Set)2 ThreadPoolExecutor (java.util.concurrent.ThreadPoolExecutor)2 TimeUnit (java.util.concurrent.TimeUnit)2