Example usage for com.amazonaws.services.cloudsearchv2.model DescribeDomainsRequest DescribeDomainsRequest

List of usage examples for com.amazonaws.services.cloudsearchv2.model DescribeDomainsRequest DescribeDomainsRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.cloudsearchv2.model DescribeDomainsRequest DescribeDomainsRequest.

Prototype

DescribeDomainsRequest

Source Link

Usage

From source file:com.clicktravel.infrastructure.persistence.aws.cloudsearch.CloudSearchEngine.java

License:Apache License

private void cacheDomainEndpoints() {
    if (!initialized) {
        throw new IllegalStateException("CloudSearchEngine not initialized");
    }/*from   www .  j  a  v a  2  s. c  o m*/
    if (!domainEndpointsCached) {
        final Set<String> managedDomains = new HashSet<>();
        for (final DocumentConfiguration documentConfiguration : documentConfigurations.values()) {
            final String domainName = documentConfigurationHolder.schemaName() + "-"
                    + documentConfiguration.namespace();
            managedDomains.add(domainName);
        }
        final DescribeDomainsRequest describeDomainsRequest = new DescribeDomainsRequest();
        describeDomainsRequest.setDomainNames(managedDomains);
        final DescribeDomainsResult describeDomainsResult = cloudSearchClient
                .describeDomains(describeDomainsRequest);
        final List<DomainStatus> domainStatusList = describeDomainsResult.getDomainStatusList();
        if (domainStatusList.size() != managedDomains.size()) {
            logger.info("Unable to cache CloudSearch document/search endpoints for: " + managedDomains);
        } else {
            for (final DomainStatus domainStatus : domainStatusList) {
                if (domainStatus.isCreated() && !domainStatus.isDeleted()) {
                    final String documentServiceEndpoint = domainStatus.getDocService().getEndpoint();
                    final String searchServiceEndpoint = domainStatus.getSearchService().getEndpoint();
                    if (documentServiceEndpoint == null || searchServiceEndpoint == null) {
                        domainEndpointsCached = false;
                        return;
                    }
                    final AmazonCloudSearchDomain documentServiceClient = AmazonCloudSearchDomainClientBuilder
                            .build(awsCredentials, documentServiceEndpoint);
                    final AmazonCloudSearchDomain searchServiceClient = AmazonCloudSearchDomainClientBuilder
                            .build(awsCredentials, searchServiceEndpoint);
                    documentServiceClients.put(domainStatus.getDomainName(), documentServiceClient);
                    searchServiceClients.put(domainStatus.getDomainName(), searchServiceClient);
                }
            }
            domainEndpointsCached = true;
        }
    }
}

From source file:com.clicktravel.infrastructure.persistence.aws.cloudsearch.manager.CloudSearchInfrastructureManager.java

License:Apache License

public void init() {
    final Map<String, Collection<IndexDefinition>> domainsToBeCreated = new HashMap<>();
    for (final CloudSearchEngine cloudSearchEngine : cloudSearchEngines) {
        final DocumentConfigurationHolder documentConfigurationHolder = cloudSearchEngine
                .documentConfigurationHolder();
        for (final DocumentConfiguration documentConfiguration : documentConfigurationHolder
                .documentConfigurations()) {
            final String domainName = documentConfigurationHolder.schemaName() + "-"
                    + documentConfiguration.namespace();
            domainsToBeCreated.put(domainName, documentConfiguration.indexDefinitions());
        }//w ww. ja va 2s.  c o  m
    }

    final Collection<String> existingDomains = new ArrayList<>();
    final DescribeDomainsRequest describeDomainsRequest = new DescribeDomainsRequest()
            .withDomainNames(domainsToBeCreated.keySet());
    final DescribeDomainsResult describeDomainsResult = cloudSearchClient
            .describeDomains(describeDomainsRequest);
    for (final DomainStatus domainStatus : describeDomainsResult.getDomainStatusList()) {
        if (domainStatus.isCreated() && !domainStatus.isDeleted()) {
            existingDomains.add(domainStatus.getDomainName());
        }
    }
    for (final Entry<String, Collection<IndexDefinition>> entry : domainsToBeCreated.entrySet()) {
        final String domainName = entry.getKey();
        if (existingDomains.contains(domainName)) {
            logger.debug("CloudSearch domain already exists: " + domainName);
        } else {
            createCloudSearchDomain(domainName, entry.getValue());
        }
    }

    for (final CloudSearchEngine cloudSearchEngine : cloudSearchEngines) {
        cloudSearchEngine.initialize(cloudSearchClient, awsCredentials);
    }

}

From source file:com.digitalpebble.stormcrawler.aws.bolt.CloudSearchIndexerBolt.java

License:Apache License

@SuppressWarnings({ "rawtypes", "unchecked" })
@Override//  w ww  . ja  v  a 2s.  c om
public void prepare(Map conf, TopologyContext context, OutputCollector collector) {
    super.prepare(conf, context, collector);
    _collector = collector;

    this.eventCounter = context.registerMetric("CloudSearchIndexer", new MultiCountMetric(), 10);

    maxTimeBuffered = ConfUtils.getInt(conf, CloudSearchConstants.MAX_TIME_BUFFERED, 10);

    maxDocsInBatch = ConfUtils.getInt(conf, CloudSearchConstants.MAX_DOCS_BATCH, -1);

    buffer = new StringBuffer(MAX_SIZE_BATCH_BYTES).append('[');

    dumpBatchFilesToTemp = ConfUtils.getBoolean(conf, "cloudsearch.batch.dump", false);

    if (dumpBatchFilesToTemp) {
        // only dumping to local file
        // no more config required
        return;
    }

    String endpoint = ConfUtils.getString(conf, "cloudsearch.endpoint");

    if (StringUtils.isBlank(endpoint)) {
        String message = "Missing CloudSearch endpoint";
        LOG.error(message);
        throw new RuntimeException(message);
    }

    String regionName = ConfUtils.getString(conf, CloudSearchConstants.REGION);

    AmazonCloudSearchClient cl = new AmazonCloudSearchClient();
    if (StringUtils.isNotBlank(regionName)) {
        cl.setRegion(RegionUtils.getRegion(regionName));
    }

    String domainName = null;

    // retrieve the domain name
    DescribeDomainsResult domains = cl.describeDomains(new DescribeDomainsRequest());

    Iterator<DomainStatus> dsiter = domains.getDomainStatusList().iterator();
    while (dsiter.hasNext()) {
        DomainStatus ds = dsiter.next();
        if (ds.getDocService().getEndpoint().equals(endpoint)) {
            domainName = ds.getDomainName();
            break;
        }
    }
    // check domain name
    if (StringUtils.isBlank(domainName)) {
        throw new RuntimeException("No domain name found for CloudSearch endpoint");
    }

    DescribeIndexFieldsResult indexDescription = cl
            .describeIndexFields(new DescribeIndexFieldsRequest().withDomainName(domainName));
    for (IndexFieldStatus ifs : indexDescription.getIndexFields()) {
        String indexname = ifs.getOptions().getIndexFieldName();
        String indextype = ifs.getOptions().getIndexFieldType();
        LOG.info("CloudSearch index name {} of type {}", indexname, indextype);
        csfields.put(indexname, indextype);
    }

    client = new AmazonCloudSearchDomainClient();
    client.setEndpoint(endpoint);
}

From source file:com.haskins.cloudtrailviewer.dialog.resourcedetail.detailpanels.CsDomainDetail.java

License:Open Source License

@Override
public String retrieveDetails(ResourceDetailRequest detailRequest) {

    String response = null;/*from  www. j a  v  a2s  .co m*/

    try {

        AmazonCloudSearch client = new AmazonCloudSearchClient(credentials);
        client.setRegion(Region.getRegion(Regions.fromName(detailRequest.getRegion())));

        DescribeDomainsRequest request = new DescribeDomainsRequest();
        request.setDomainNames(Collections.singletonList(detailRequest.getResourceName()));

        DescribeDomainsResult result = client.describeDomains(request);
        buildUI(result);

    } catch (IllegalArgumentException | AmazonClientException e) {
        response = e.getMessage();
        LOGGER.log(Level.WARNING, "Problem retrieving CloudSearch details from AWS", e);
    }

    return response;
}

From source file:org.apache.nutch.indexwriter.cloudsearch.CloudSearchIndexWriter.java

License:Apache License

@Override
public void open(IndexWriterParams parameters) throws IOException {
    //    LOG.debug("CloudSearchIndexWriter.open() name={} ", name);

    endpoint = parameters.get(CloudSearchConstants.ENDPOINT);
    dumpBatchFilesToTemp = parameters.getBoolean(CloudSearchConstants.BATCH_DUMP, false);
    this.regionName = parameters.get(CloudSearchConstants.REGION);

    if (StringUtils.isBlank(endpoint) && !dumpBatchFilesToTemp) {
        String message = "Missing CloudSearch endpoint. Should set it set via -D "
                + CloudSearchConstants.ENDPOINT + " or in nutch-site.xml";
        message += "\n" + describe();
        LOG.error(message);//from  w w  w  . java  2 s  . c  om
        throw new RuntimeException(message);
    }

    maxDocsInBatch = parameters.getInt(CloudSearchConstants.MAX_DOCS_BATCH, -1);

    buffer = new StringBuffer(MAX_SIZE_BATCH_BYTES).append('[');

    if (dumpBatchFilesToTemp) {
        // only dumping to local file
        // no more config required
        return;
    }

    if (StringUtils.isBlank(endpoint)) {
        throw new RuntimeException("endpoint not set for CloudSearch");
    }

    AmazonCloudSearchClient cl = new AmazonCloudSearchClient();
    if (StringUtils.isNotBlank(regionName)) {
        cl.setRegion(RegionUtils.getRegion(regionName));
    }

    String domainName = null;

    // retrieve the domain name
    DescribeDomainsResult domains = cl.describeDomains(new DescribeDomainsRequest());

    Iterator<DomainStatus> dsiter = domains.getDomainStatusList().iterator();
    while (dsiter.hasNext()) {
        DomainStatus ds = dsiter.next();
        if (ds.getDocService().getEndpoint().equals(endpoint)) {
            domainName = ds.getDomainName();
            break;
        }
    }

    // check domain name
    if (StringUtils.isBlank(domainName)) {
        throw new RuntimeException("No domain name found for CloudSearch endpoint");
    }

    DescribeIndexFieldsResult indexDescription = cl
            .describeIndexFields(new DescribeIndexFieldsRequest().withDomainName(domainName));
    for (IndexFieldStatus ifs : indexDescription.getIndexFields()) {
        String indexname = ifs.getOptions().getIndexFieldName();
        String indextype = ifs.getOptions().getIndexFieldType();
        LOG.info("CloudSearch index name {} of type {}", indexname, indextype);
        csfields.put(indexname, indextype);
    }

    client = new AmazonCloudSearchDomainClient();
    client.setEndpoint(endpoint);
}