mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-05-30 16:52:11 +00:00
Use correct classes in reactive operations.
Original Pull Request #1724 Closes #1721
This commit is contained in:
parent
2f5773a5ff
commit
3f39f5d5b7
@ -685,6 +685,7 @@ public class DefaultReactiveElasticsearchClient implements ReactiveElasticsearch
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public Mono<org.elasticsearch.action.admin.indices.mapping.get.GetMappingsResponse> getMapping(HttpHeaders headers,
|
||||
org.elasticsearch.action.admin.indices.mapping.get.GetMappingsRequest getMappingsRequest) {
|
||||
return sendRequest(getMappingsRequest, requestCreator.getMapping(),
|
||||
|
@ -812,6 +812,7 @@ public class RequestConverters {
|
||||
return request;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static Request putMapping(PutMappingRequest putMappingRequest) {
|
||||
// The concreteIndex is an internal concept, not applicable to requests made over the REST API.
|
||||
if (putMappingRequest.getConcreteIndex() != null) {
|
||||
|
@ -184,10 +184,12 @@ abstract class AbstractDefaultIndexOperations implements IndexOperations {
|
||||
protected abstract void doRefresh(IndexCoordinates indexCoordinates);
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public boolean addAlias(AliasQuery query) {
|
||||
return doAddAlias(query, getIndexCoordinates());
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
protected abstract boolean doAddAlias(AliasQuery query, IndexCoordinates index);
|
||||
|
||||
@Override
|
||||
@ -198,10 +200,12 @@ abstract class AbstractDefaultIndexOperations implements IndexOperations {
|
||||
protected abstract List<AliasMetadata> doQueryForAlias(IndexCoordinates index);
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public boolean removeAlias(AliasQuery query) {
|
||||
return doRemoveAlias(query, getIndexCoordinates());
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
protected abstract boolean doRemoveAlias(AliasQuery query, IndexCoordinates index);
|
||||
|
||||
@Override
|
||||
|
@ -141,6 +141,7 @@ class DefaultIndexOperations extends AbstractDefaultIndexOperations implements I
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
protected boolean doAddAlias(AliasQuery query, IndexCoordinates index) {
|
||||
|
||||
IndicesAliasesRequest request = requestFactory.indicesAddAliasesRequest(query, index);
|
||||
@ -149,6 +150,7 @@ class DefaultIndexOperations extends AbstractDefaultIndexOperations implements I
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
protected boolean doRemoveAlias(AliasQuery query, IndexCoordinates index) {
|
||||
|
||||
Assert.notNull(index, "No index defined for Alias");
|
||||
|
@ -27,13 +27,13 @@ import java.util.Set;
|
||||
import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest;
|
||||
import org.elasticsearch.action.admin.indices.alias.get.GetAliasesRequest;
|
||||
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
|
||||
import org.elasticsearch.action.admin.indices.get.GetIndexRequest;
|
||||
import org.elasticsearch.action.admin.indices.mapping.get.GetMappingsRequest;
|
||||
import org.elasticsearch.action.admin.indices.settings.get.GetSettingsRequest;
|
||||
import org.elasticsearch.action.admin.indices.template.delete.DeleteIndexTemplateRequest;
|
||||
import org.elasticsearch.client.GetAliasesResponse;
|
||||
import org.elasticsearch.client.indices.CreateIndexRequest;
|
||||
import org.elasticsearch.client.indices.GetIndexRequest;
|
||||
import org.elasticsearch.client.indices.GetIndexTemplatesRequest;
|
||||
import org.elasticsearch.client.indices.GetMappingsRequest;
|
||||
import org.elasticsearch.client.indices.IndexTemplatesExistRequest;
|
||||
import org.elasticsearch.client.indices.PutIndexTemplateRequest;
|
||||
import org.slf4j.Logger;
|
||||
@ -153,7 +153,7 @@ class DefaultReactiveIndexOperations implements ReactiveIndexOperations {
|
||||
@Override
|
||||
public Mono<Boolean> exists() {
|
||||
|
||||
GetIndexRequest request = requestFactory.getIndexRequestReactive(getIndexCoordinates().getIndexName());
|
||||
GetIndexRequest request = requestFactory.getIndexRequest(getIndexCoordinates());
|
||||
return Mono.from(operations.executeWithIndicesClient(client -> client.existsIndex(request)));
|
||||
}
|
||||
|
||||
@ -185,7 +185,7 @@ class DefaultReactiveIndexOperations implements ReactiveIndexOperations {
|
||||
|
||||
@Override
|
||||
public Mono<Boolean> putMapping(Mono<Document> mapping) {
|
||||
return mapping.map(document -> requestFactory.putMappingRequestReactive(getIndexCoordinates(), document)) //
|
||||
return mapping.map(document -> requestFactory.putMappingRequest(getIndexCoordinates(), document)) //
|
||||
.flatMap(request -> Mono.from(operations.executeWithIndicesClient(client -> client.putMapping(request))));
|
||||
}
|
||||
|
||||
@ -193,13 +193,13 @@ class DefaultReactiveIndexOperations implements ReactiveIndexOperations {
|
||||
public Mono<Document> getMapping() {
|
||||
|
||||
IndexCoordinates indexCoordinates = getIndexCoordinates();
|
||||
GetMappingsRequest request = requestFactory.getMappingRequestReactive(indexCoordinates);
|
||||
GetMappingsRequest request = requestFactory.getMappingsRequest(indexCoordinates);
|
||||
|
||||
return Mono.from(operations.executeWithIndicesClient(client -> client.getMapping(request)))
|
||||
.flatMap(getMappingsResponse -> {
|
||||
Document document = Document.create();
|
||||
document.put("properties",
|
||||
getMappingsResponse.mappings().get(indexCoordinates.getIndexName()).get("properties").getSourceAsMap());
|
||||
Map<String, Object> source = getMappingsResponse.mappings().get(indexCoordinates.getIndexName())
|
||||
.getSourceAsMap();
|
||||
Document document = Document.from(source);
|
||||
return Mono.just(document);
|
||||
});
|
||||
}
|
||||
|
@ -153,6 +153,7 @@ class DefaultTransportIndexOperations extends AbstractDefaultIndexOperations imp
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
protected boolean doRemoveAlias(AliasQuery query, IndexCoordinates index) {
|
||||
|
||||
Assert.notNull(index, "No index defined for Alias");
|
||||
|
@ -133,6 +133,7 @@ class RequestFactory {
|
||||
}
|
||||
|
||||
// region alias
|
||||
@Deprecated
|
||||
public IndicesAliasesRequest.AliasActions aliasAction(AliasQuery query, IndexCoordinates index) {
|
||||
|
||||
Assert.notNull(index, "No index defined for Alias");
|
||||
@ -178,6 +179,7 @@ class RequestFactory {
|
||||
return getAliasesRequest;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public IndicesAliasesRequest indicesAddAliasesRequest(AliasQuery query, IndexCoordinates index) {
|
||||
IndicesAliasesRequest.AliasActions aliasAction = aliasAction(query, index);
|
||||
IndicesAliasesRequest request = new IndicesAliasesRequest();
|
||||
@ -253,6 +255,7 @@ class RequestFactory {
|
||||
return requestBuilder;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public IndicesAliasesRequest indicesRemoveAliasesRequest(AliasQuery query, IndexCoordinates index) {
|
||||
|
||||
String[] indexNames = index.getIndexNames();
|
||||
@ -264,6 +267,7 @@ class RequestFactory {
|
||||
.addAliasAction(aliasAction);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
IndicesAliasesRequestBuilder indicesRemoveAliasesRequestBuilder(Client client, AliasQuery query,
|
||||
IndexCoordinates index) {
|
||||
|
||||
@ -347,26 +351,7 @@ class RequestFactory {
|
||||
// endregion
|
||||
|
||||
// region index management
|
||||
/**
|
||||
* creates a CreateIndexRequest from the rest-high-level-client library.
|
||||
*
|
||||
* @param index name of the index
|
||||
* @param settings optional settings
|
||||
* @return request
|
||||
*/
|
||||
public CreateIndexRequest createIndexRequest(IndexCoordinates index, @Nullable Document settings) {
|
||||
return createIndexRequest(index, settings, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* creates a CreateIndexRequest from the rest-high-level-client library.
|
||||
*
|
||||
* @param index name of the index
|
||||
* @param settings optional settings
|
||||
* @param mapping optional mapping
|
||||
* @return request
|
||||
* @since 4.2
|
||||
*/
|
||||
public CreateIndexRequest createIndexRequest(IndexCoordinates index, @Nullable Document settings, @Nullable Document mapping) {
|
||||
CreateIndexRequest request = new CreateIndexRequest(index.getIndexName());
|
||||
|
||||
@ -381,38 +366,6 @@ class RequestFactory {
|
||||
return request;
|
||||
}
|
||||
|
||||
/**
|
||||
* creates a CreateIndexRequest from the elasticsearch library, used by the reactive methods.
|
||||
*
|
||||
* @param indexName name of the index
|
||||
* @param settings optional settings
|
||||
* @return request
|
||||
*/
|
||||
public org.elasticsearch.action.admin.indices.create.CreateIndexRequest createIndexRequestReactive(String indexName,
|
||||
@Nullable Document settings) {
|
||||
|
||||
org.elasticsearch.action.admin.indices.create.CreateIndexRequest request = new org.elasticsearch.action.admin.indices.create.CreateIndexRequest(
|
||||
indexName);
|
||||
request.index(indexName);
|
||||
|
||||
if (settings != null && !settings.isEmpty()) {
|
||||
request.settings(settings);
|
||||
}
|
||||
return request;
|
||||
}
|
||||
|
||||
public CreateIndexRequestBuilder createIndexRequestBuilder(Client client, IndexCoordinates index,
|
||||
@Nullable Document settings) {
|
||||
|
||||
String indexName = index.getIndexName();
|
||||
CreateIndexRequestBuilder createIndexRequestBuilder = client.admin().indices().prepareCreate(indexName);
|
||||
|
||||
if (settings != null) {
|
||||
createIndexRequestBuilder.setSettings(settings);
|
||||
}
|
||||
return createIndexRequestBuilder;
|
||||
}
|
||||
|
||||
public CreateIndexRequestBuilder createIndexRequestBuilder(Client client, IndexCoordinates index,
|
||||
@Nullable Document settings, @Nullable Document mapping) {
|
||||
|
||||
@ -431,29 +384,10 @@ class RequestFactory {
|
||||
return createIndexRequestBuilder;
|
||||
}
|
||||
|
||||
/**
|
||||
* creates a GetIndexRequest from the rest-high-level-client library.
|
||||
*
|
||||
* @param index name of the index
|
||||
* @return request
|
||||
*/
|
||||
public GetIndexRequest getIndexRequest(IndexCoordinates index) {
|
||||
return new GetIndexRequest(index.getIndexNames());
|
||||
}
|
||||
|
||||
/**
|
||||
* creates a CreateIndexRequest from the elasticsearch library, used by the reactive methods.
|
||||
*
|
||||
* @param indexName name of the index
|
||||
* @return request
|
||||
*/
|
||||
public org.elasticsearch.action.admin.indices.get.GetIndexRequest getIndexRequestReactive(String indexName) {
|
||||
|
||||
org.elasticsearch.action.admin.indices.get.GetIndexRequest request = new org.elasticsearch.action.admin.indices.get.GetIndexRequest();
|
||||
request.indices(indexName);
|
||||
return request;
|
||||
}
|
||||
|
||||
public IndicesExistsRequest indicesExistsRequest(IndexCoordinates index) {
|
||||
|
||||
String[] indexNames = index.getIndexNames();
|
||||
@ -485,15 +419,6 @@ class RequestFactory {
|
||||
return request;
|
||||
}
|
||||
|
||||
public org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest putMappingRequestReactive(
|
||||
IndexCoordinates index, Document mapping) {
|
||||
org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest request = new org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest(
|
||||
index.getIndexName());
|
||||
request.type("not-used-but-must-be-there");
|
||||
request.source(mapping);
|
||||
return request;
|
||||
}
|
||||
|
||||
public PutMappingRequestBuilder putMappingRequestBuilder(Client client, IndexCoordinates index, Document mapping) {
|
||||
|
||||
String[] indexNames = index.getIndexNames();
|
||||
@ -503,13 +428,6 @@ class RequestFactory {
|
||||
return requestBuilder;
|
||||
}
|
||||
|
||||
public org.elasticsearch.action.admin.indices.mapping.get.GetMappingsRequest getMappingRequestReactive(
|
||||
IndexCoordinates index) {
|
||||
org.elasticsearch.action.admin.indices.mapping.get.GetMappingsRequest request = new org.elasticsearch.action.admin.indices.mapping.get.GetMappingsRequest();
|
||||
request.indices(index.getIndexName());
|
||||
return request;
|
||||
}
|
||||
|
||||
public GetSettingsRequest getSettingsRequest(String indexName, boolean includeDefaults) {
|
||||
return new GetSettingsRequest().indices(indexName).includeDefaults(includeDefaults);
|
||||
}
|
||||
|
@ -51,7 +51,6 @@ import org.springframework.data.elasticsearch.core.index.GetTemplateRequest;
|
||||
import org.springframework.data.elasticsearch.core.index.PutTemplateRequest;
|
||||
import org.springframework.data.elasticsearch.core.index.TemplateData;
|
||||
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
|
||||
import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration;
|
||||
import org.springframework.data.elasticsearch.junit.jupiter.ReactiveElasticsearchRestTemplateConfiguration;
|
||||
import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest;
|
||||
import org.springframework.lang.Nullable;
|
||||
@ -67,7 +66,7 @@ public class ReactiveIndexOperationsTest {
|
||||
public static final String TESTINDEX = "reactive-index-operations-testindex";
|
||||
|
||||
@Configuration
|
||||
@Import({ ReactiveElasticsearchRestTemplateConfiguration.class, ElasticsearchRestTemplateConfiguration.class })
|
||||
@Import({ ReactiveElasticsearchRestTemplateConfiguration.class })
|
||||
static class Config {}
|
||||
|
||||
@Autowired private ReactiveElasticsearchOperations operations;
|
||||
|
Loading…
x
Reference in New Issue
Block a user