List of usage examples for com.amazonaws.services.cloudsearchv2.model DomainStatus isDeleted
public Boolean isDeleted()
True if the search domain has been deleted.
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 ww w .ja v a 2 s . c om 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()); }//from ww w. j a v a 2 s . c om } 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); } }