Skip to content

Commit

Permalink
Make changes on public APIs direct under 'search' (#8393)
Browse files Browse the repository at this point in the history
* Address PR feedback on search package.
  • Loading branch information
sima-zhu authored Feb 26, 2020
1 parent 057090e commit 11119d0
Show file tree
Hide file tree
Showing 20 changed files with 229 additions and 210 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.search;

import java.util.HashMap;
Expand All @@ -12,7 +13,7 @@
* <p>
* If the schema is known, user can convert the properties to a specific object type
*/
public class Document extends HashMap<String, Object> {
public final class Document extends HashMap<String, Object> {
private static final long serialVersionUID = 1L;

/**
Expand All @@ -25,9 +26,9 @@ public Document() {
/**
* Constructs a new {@code Document} with the same mappings as the specified {@code Map}.
*
* @param m the map whose mappings are to be placed in this map
* @param propertyMap the map whose mappings are to be placed in this map
*/
public Document(Map<? extends String, ?> m) {
super(m);
public Document(Map<? extends String, ?> propertyMap) {
super(propertyMap);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* An {@code IndexBatchException} is thrown whenever Azure Cognitive Search index call was only partially successful.
* Users can inspect the indexingResults to determine the operation(s) that have failed.
*/
public class IndexBatchException extends AzureException {
public final class IndexBatchException extends AzureException {
private static final long serialVersionUID = -3478124828996650248L;
private static final String MESSAGE_FORMAT = "%s of %s indexing actions in the batch failed. The remaining"
+ " actions succeeded and modified the index. Check indexingResults for the status of each index action.";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* @see SearchIndexClientBuilder
* @see SearchServiceClientBuilder
*/
public class SearchApiKeyCredential {
public final class SearchApiKeyCredential {
private final String apiKey;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
* Cognitive Search Asynchronous Client to query an index and upload, merge, or delete documents
*/
@ServiceClient(builder = SearchIndexClientBuilder.class, isAsync = true)
public class SearchIndexAsyncClient {
public final class SearchIndexAsyncClient {

/*
* Representation of the Multi-Status HTTP response code.
Expand All @@ -61,7 +61,7 @@ public class SearchIndexAsyncClient {
/**
* Search REST API Version
*/
private final SearchServiceVersion apiVersion;
private final SearchServiceVersion searchServiceVersion;

/**
* The endpoint for the Azure Cognitive Search service.
Expand Down Expand Up @@ -91,31 +91,31 @@ public class SearchIndexAsyncClient {
/**
* Package private constructor to be used by {@link SearchIndexClientBuilder}
*/
SearchIndexAsyncClient(String endpoint, String indexName, SearchServiceVersion apiVersion,
HttpPipeline httpPipeline) {
SearchIndexAsyncClient(String endpoint, String indexName, SearchServiceVersion searchServiceVersion,
HttpPipeline httpPipeline) {

SearchServiceUrlParts parts = SearchServiceUrlParser.parseServiceUrlParts(endpoint);

if (CoreUtils.isNullOrEmpty(indexName)) {
throw logger.logExceptionAsError(new NullPointerException("Invalid indexName"));
}
if (apiVersion == null) {
throw logger.logExceptionAsError(new NullPointerException("Invalid apiVersion"));
if (searchServiceVersion == null) {
throw logger.logExceptionAsError(new NullPointerException("Invalid search service version"));
}
if (httpPipeline == null) {
throw logger.logExceptionAsError(new NullPointerException("Invalid httpPipeline"));
}

this.endpoint = endpoint;
this.indexName = indexName;
this.apiVersion = apiVersion;
this.searchServiceVersion = searchServiceVersion;
this.httpPipeline = httpPipeline;

restClient = new SearchIndexRestClientBuilder()
.searchServiceName(parts.serviceName)
.indexName(indexName)
.searchDnsSuffix(parts.dnsSuffix)
.apiVersion(apiVersion.getVersion())
.apiVersion(searchServiceVersion.getVersion())
.pipeline(httpPipeline)
.serializer(SERIALIZER)
.build();
Expand Down Expand Up @@ -342,8 +342,8 @@ Mono<Response<IndexDocumentsResult>> deleteDocumentsWithResponse(Iterable<?> doc
*
* @return The version of the Search service the client is using.
*/
public SearchServiceVersion getApiVersion() {
return this.apiVersion;
public SearchServiceVersion getServiceVersion() {
return this.searchServiceVersion;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
* Cognitive Search Synchronous Client to query an index and upload, merge, or delete documents
*/
@ServiceClient(builder = SearchIndexClientBuilder.class)
public class SearchIndexClient {
public final class SearchIndexClient {

private final SearchIndexAsyncClient asyncClient;

Expand Down Expand Up @@ -231,8 +231,8 @@ public Response<IndexDocumentsResult> deleteDocumentsWithResponse(Iterable<?> do
*
* @return The version of the Search service the client is using.
*/
public SearchServiceVersion getApiVersion() {
return asyncClient.getApiVersion();
public SearchServiceVersion getServiceVersion() {
return asyncClient.getServiceVersion();
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
* {@code .endpoint()} the index name through {@code .indexName()} the API key through {@code .credential()}
*/
@ServiceClientBuilder(serviceClients = {SearchIndexClient.class, SearchIndexAsyncClient.class})
public class SearchIndexClientBuilder {
public final class SearchIndexClientBuilder {

// This header tells the server to return the request id in the HTTP response. Useful for correlation with what
// request was sent.
Expand All @@ -50,7 +50,7 @@ public class SearchIndexClientBuilder {
private static final String VERSION = "version";

SearchApiKeyCredential searchApiKeyCredential;
SearchServiceVersion apiVersion;
SearchServiceVersion searchServiceVersion;
String endpoint;
HttpClient httpClient;
HttpLogOptions httpLogOptions;
Expand All @@ -68,7 +68,7 @@ public class SearchIndexClientBuilder {
* Default Constructor
*/
public SearchIndexClientBuilder() {
apiVersion = SearchServiceVersion.getLatest();
searchServiceVersion = SearchServiceVersion.getLatest();
policies = new ArrayList<>();
httpClient = HttpClient.createDefault();
httpLogOptions = new HttpLogOptions();
Expand All @@ -83,14 +83,14 @@ public SearchIndexClientBuilder() {
/**
* Sets the api version to work against
*
* @param apiVersion api version
* @param searchServiceVersion api version
* @return the updated SearchIndexClientBuilder object
*/
public SearchIndexClientBuilder apiVersion(SearchServiceVersion apiVersion) {
if (apiVersion == null) {
throw logger.logExceptionAsError(new IllegalArgumentException("Invalid apiVersion"));
public SearchIndexClientBuilder searchServiceVersion(SearchServiceVersion searchServiceVersion) {
if (searchServiceVersion == null) {
throw logger.logExceptionAsError(new IllegalArgumentException("Invalid searchServiceVersion"));
}
this.apiVersion = apiVersion;
this.searchServiceVersion = searchServiceVersion;
return this;
}

Expand Down Expand Up @@ -236,7 +236,7 @@ public SearchIndexAsyncClient buildAsyncClient() {
policies.add(retryPolicy == null ? new RetryPolicy() : retryPolicy);
HttpPolicyProviders.addAfterRetryPolicies(policies);

return new SearchIndexAsyncClient(endpoint, indexName, apiVersion, prepareForBuildClient());
return new SearchIndexAsyncClient(endpoint, indexName, searchServiceVersion, prepareForBuildClient());
}

HttpPipeline prepareForBuildClient() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public final class SearchServiceAsyncClient {
/**
* Search REST API Version
*/
private final SearchServiceVersion apiVersion;
private final SearchServiceVersion searchServiceVersion;

/**
* The endpoint for the Azure Cognitive Search service.
Expand All @@ -65,25 +65,25 @@ public final class SearchServiceAsyncClient {
*/
private final HttpPipeline httpPipeline;

SearchServiceAsyncClient(String endpoint, SearchServiceVersion apiVersion, HttpPipeline httpPipeline) {
SearchServiceAsyncClient(String endpoint, SearchServiceVersion searchServiceVersion, HttpPipeline httpPipeline) {

SearchServiceUrlParts parts = SearchServiceUrlParser.parseServiceUrlParts(endpoint);

if (apiVersion == null) {
if (searchServiceVersion == null) {
throw logger.logExceptionAsError(new NullPointerException("Invalid apiVersion"));
}
if (httpPipeline == null) {
throw logger.logExceptionAsError(new NullPointerException("Invalid httpPipeline"));
}

this.endpoint = endpoint;
this.apiVersion = apiVersion;
this.searchServiceVersion = searchServiceVersion;
this.httpPipeline = httpPipeline;

this.restClient = new SearchServiceRestClientBuilder()
.searchServiceName(parts.serviceName)
.searchDnsSuffix(parts.dnsSuffix)
.apiVersion(apiVersion.getVersion())
.apiVersion(searchServiceVersion.getVersion())
.pipeline(httpPipeline)
.build();
}
Expand All @@ -105,16 +105,16 @@ HttpPipeline getHttpPipeline() {
* @return a {@link SearchIndexAsyncClient} created from the service client configuration
*/
public SearchIndexAsyncClient getIndexClient(String indexName) {
return new SearchIndexAsyncClient(endpoint, indexName, apiVersion, httpPipeline);
return new SearchIndexAsyncClient(endpoint, indexName, searchServiceVersion, httpPipeline);
}

/**
* Gets Client Api Version.
* Gets search service version.
*
* @return the apiVersion value.
* @return the search service version value.
*/
public SearchServiceVersion getApiVersion() {
return this.apiVersion;
public SearchServiceVersion getServiceVersion() {
return this.searchServiceVersion;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,12 @@ public SearchIndexClient getIndexClient(String indexName) {
}

/**
* Gets Client Api Version.
* Gets search service version.
*
* @return the apiVersion value.
* @return the search service version value.
*/
public SearchServiceVersion getApiVersion() {
return this.asyncClient.getApiVersion();
public SearchServiceVersion getServiceVersion() {
return this.asyncClient.getServiceVersion();
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@
* {@code .endpoint()} the API key through {@code .credential()}
*/
@ServiceClientBuilder(serviceClients = {SearchServiceClient.class, SearchServiceAsyncClient.class})
public class SearchServiceClientBuilder {
public final class SearchServiceClientBuilder {
private final ClientLogger logger = new ClientLogger(SearchServiceClientBuilder.class);

private static final String SEARCH_PROPERTIES = "azure-search.properties";
private static final String NAME = "name";
private static final String VERSION = "version";

SearchApiKeyCredential searchApiKeyCredential;
SearchServiceVersion apiVersion;
SearchServiceVersion searchServiceVersion;
String endpoint;
HttpClient httpClient;
HttpLogOptions httpLogOptions;
Expand All @@ -53,7 +53,7 @@ public class SearchServiceClientBuilder {
* Default Constructor
*/
public SearchServiceClientBuilder() {
apiVersion = SearchServiceVersion.getLatest();
searchServiceVersion = SearchServiceVersion.getLatest();
policies = new ArrayList<>();
httpClient = HttpClient.createDefault();
httpLogOptions = new HttpLogOptions();
Expand All @@ -66,14 +66,14 @@ public SearchServiceClientBuilder() {
/**
* Sets the api version to work against
*
* @param apiVersion api version
* @param searchServiceVersion api version
* @return the updated SearchServiceClientBuilder object
*/
public SearchServiceClientBuilder apiVersion(SearchServiceVersion apiVersion) {
if (apiVersion == null) {
throw logger.logExceptionAsError(new IllegalArgumentException("Invalid apiVersion"));
public SearchServiceClientBuilder searchServiceVersion(SearchServiceVersion searchServiceVersion) {
if (searchServiceVersion == null) {
throw logger.logExceptionAsError(new IllegalArgumentException("Invalid searchServiceVersion"));
}
this.apiVersion = apiVersion;
this.searchServiceVersion = searchServiceVersion;
return this;
}

Expand Down Expand Up @@ -169,7 +169,7 @@ public SearchServiceClient buildClient() {
* @return a {@link SearchIndexAsyncClient} created from the configurations in this builder.
*/
public SearchServiceAsyncClient buildAsyncClient() {
return new SearchServiceAsyncClient(endpoint, apiVersion, prepareForBuildClient());
return new SearchServiceAsyncClient(endpoint, searchServiceVersion, prepareForBuildClient());
}

HttpPipeline prepareForBuildClient() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
/**
* Ensure all suggest parameters are correct Use this whenever SuggestOptions are passed to the search service
*/
class SuggestOptionsHandler {
final class SuggestOptionsHandler {

/**
* Ensures that all suggest parameters are correctly set. This method should be used when {@link SuggestOptions} is
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public final class SearchResult {
* @return the additionalProperties value.
*/
@JsonIgnore
public Document getDocument() {
public Document getDocument() {
return this.additionalProperties;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ private static SearchIndexAsyncClient createAdvancedClient() {
.endpoint(ENDPOINT)
.credential(new SearchApiKeyCredential(API_KEY))
.indexName("hotels")
.apiVersion(SearchServiceVersion.V2019_05_06)
.searchServiceVersion(SearchServiceVersion.V2019_05_06)
.addPolicy(new RetryPolicy())
.httpClient(
new NettyAsyncHttpClientBuilder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -335,19 +335,19 @@ public void canUpdateConnectionData() {
}

DataSource createTestBlobDataSource(DataDeletionDetectionPolicy deletionDetectionPolicy) {
return DataSources.azureBlobStorage(BLOB_DATASOURCE_TEST_NAME, FAKE_STORAGE_CONNECTION_STRING, "fakecontainer",
return DataSources.createFromAzureBlobStorage(BLOB_DATASOURCE_TEST_NAME, FAKE_STORAGE_CONNECTION_STRING, "fakecontainer",
"/fakefolder/", FAKE_DESCRIPTION, deletionDetectionPolicy);
}

DataSource createTestTableStorageDataSource() {
return DataSources.azureTableStorage("azs-java-test-tablestorage", FAKE_STORAGE_CONNECTION_STRING, "faketable",
return DataSources.createFromAzureTableStorage("azs-java-test-tablestorage", FAKE_STORAGE_CONNECTION_STRING, "faketable",
"fake query", FAKE_DESCRIPTION, null);
}

DataSource createTestCosmosDataSource(DataDeletionDetectionPolicy deletionDetectionPolicy,
boolean useChangeDetection) {

return DataSources.cosmos("azs-java-test-cosmos", FAKE_COSMOS_CONNECTION_STRING, "faketable",
return DataSources.createFromCosmos("azs-java-test-cosmos", FAKE_COSMOS_CONNECTION_STRING, "faketable",
"SELECT ... FROM x where x._ts > @HighWaterMark", useChangeDetection, FAKE_DESCRIPTION,
deletionDetectionPolicy);
}
Expand Down
Loading

0 comments on commit 11119d0

Please sign in to comment.