mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-06-01 09:42: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
|
@Override
|
||||||
|
@Deprecated
|
||||||
public Mono<org.elasticsearch.action.admin.indices.mapping.get.GetMappingsResponse> getMapping(HttpHeaders headers,
|
public Mono<org.elasticsearch.action.admin.indices.mapping.get.GetMappingsResponse> getMapping(HttpHeaders headers,
|
||||||
org.elasticsearch.action.admin.indices.mapping.get.GetMappingsRequest getMappingsRequest) {
|
org.elasticsearch.action.admin.indices.mapping.get.GetMappingsRequest getMappingsRequest) {
|
||||||
return sendRequest(getMappingsRequest, requestCreator.getMapping(),
|
return sendRequest(getMappingsRequest, requestCreator.getMapping(),
|
||||||
|
@ -812,6 +812,7 @@ public class RequestConverters {
|
|||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public static Request putMapping(PutMappingRequest putMappingRequest) {
|
public static Request putMapping(PutMappingRequest putMappingRequest) {
|
||||||
// The concreteIndex is an internal concept, not applicable to requests made over the REST API.
|
// The concreteIndex is an internal concept, not applicable to requests made over the REST API.
|
||||||
if (putMappingRequest.getConcreteIndex() != null) {
|
if (putMappingRequest.getConcreteIndex() != null) {
|
||||||
|
@ -184,10 +184,12 @@ abstract class AbstractDefaultIndexOperations implements IndexOperations {
|
|||||||
protected abstract void doRefresh(IndexCoordinates indexCoordinates);
|
protected abstract void doRefresh(IndexCoordinates indexCoordinates);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Deprecated
|
||||||
public boolean addAlias(AliasQuery query) {
|
public boolean addAlias(AliasQuery query) {
|
||||||
return doAddAlias(query, getIndexCoordinates());
|
return doAddAlias(query, getIndexCoordinates());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
protected abstract boolean doAddAlias(AliasQuery query, IndexCoordinates index);
|
protected abstract boolean doAddAlias(AliasQuery query, IndexCoordinates index);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -198,10 +200,12 @@ abstract class AbstractDefaultIndexOperations implements IndexOperations {
|
|||||||
protected abstract List<AliasMetadata> doQueryForAlias(IndexCoordinates index);
|
protected abstract List<AliasMetadata> doQueryForAlias(IndexCoordinates index);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Deprecated
|
||||||
public boolean removeAlias(AliasQuery query) {
|
public boolean removeAlias(AliasQuery query) {
|
||||||
return doRemoveAlias(query, getIndexCoordinates());
|
return doRemoveAlias(query, getIndexCoordinates());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
protected abstract boolean doRemoveAlias(AliasQuery query, IndexCoordinates index);
|
protected abstract boolean doRemoveAlias(AliasQuery query, IndexCoordinates index);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -141,6 +141,7 @@ class DefaultIndexOperations extends AbstractDefaultIndexOperations implements I
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Deprecated
|
||||||
protected boolean doAddAlias(AliasQuery query, IndexCoordinates index) {
|
protected boolean doAddAlias(AliasQuery query, IndexCoordinates index) {
|
||||||
|
|
||||||
IndicesAliasesRequest request = requestFactory.indicesAddAliasesRequest(query, index);
|
IndicesAliasesRequest request = requestFactory.indicesAddAliasesRequest(query, index);
|
||||||
@ -149,6 +150,7 @@ class DefaultIndexOperations extends AbstractDefaultIndexOperations implements I
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Deprecated
|
||||||
protected boolean doRemoveAlias(AliasQuery query, IndexCoordinates index) {
|
protected boolean doRemoveAlias(AliasQuery query, IndexCoordinates index) {
|
||||||
|
|
||||||
Assert.notNull(index, "No index defined for Alias");
|
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.IndicesAliasesRequest;
|
||||||
import org.elasticsearch.action.admin.indices.alias.get.GetAliasesRequest;
|
import org.elasticsearch.action.admin.indices.alias.get.GetAliasesRequest;
|
||||||
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
|
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.settings.get.GetSettingsRequest;
|
||||||
import org.elasticsearch.action.admin.indices.template.delete.DeleteIndexTemplateRequest;
|
import org.elasticsearch.action.admin.indices.template.delete.DeleteIndexTemplateRequest;
|
||||||
import org.elasticsearch.client.GetAliasesResponse;
|
import org.elasticsearch.client.GetAliasesResponse;
|
||||||
import org.elasticsearch.client.indices.CreateIndexRequest;
|
import org.elasticsearch.client.indices.CreateIndexRequest;
|
||||||
|
import org.elasticsearch.client.indices.GetIndexRequest;
|
||||||
import org.elasticsearch.client.indices.GetIndexTemplatesRequest;
|
import org.elasticsearch.client.indices.GetIndexTemplatesRequest;
|
||||||
|
import org.elasticsearch.client.indices.GetMappingsRequest;
|
||||||
import org.elasticsearch.client.indices.IndexTemplatesExistRequest;
|
import org.elasticsearch.client.indices.IndexTemplatesExistRequest;
|
||||||
import org.elasticsearch.client.indices.PutIndexTemplateRequest;
|
import org.elasticsearch.client.indices.PutIndexTemplateRequest;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@ -153,7 +153,7 @@ class DefaultReactiveIndexOperations implements ReactiveIndexOperations {
|
|||||||
@Override
|
@Override
|
||||||
public Mono<Boolean> exists() {
|
public Mono<Boolean> exists() {
|
||||||
|
|
||||||
GetIndexRequest request = requestFactory.getIndexRequestReactive(getIndexCoordinates().getIndexName());
|
GetIndexRequest request = requestFactory.getIndexRequest(getIndexCoordinates());
|
||||||
return Mono.from(operations.executeWithIndicesClient(client -> client.existsIndex(request)));
|
return Mono.from(operations.executeWithIndicesClient(client -> client.existsIndex(request)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ class DefaultReactiveIndexOperations implements ReactiveIndexOperations {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Mono<Boolean> putMapping(Mono<Document> mapping) {
|
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))));
|
.flatMap(request -> Mono.from(operations.executeWithIndicesClient(client -> client.putMapping(request))));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,13 +193,13 @@ class DefaultReactiveIndexOperations implements ReactiveIndexOperations {
|
|||||||
public Mono<Document> getMapping() {
|
public Mono<Document> getMapping() {
|
||||||
|
|
||||||
IndexCoordinates indexCoordinates = getIndexCoordinates();
|
IndexCoordinates indexCoordinates = getIndexCoordinates();
|
||||||
GetMappingsRequest request = requestFactory.getMappingRequestReactive(indexCoordinates);
|
GetMappingsRequest request = requestFactory.getMappingsRequest(indexCoordinates);
|
||||||
|
|
||||||
return Mono.from(operations.executeWithIndicesClient(client -> client.getMapping(request)))
|
return Mono.from(operations.executeWithIndicesClient(client -> client.getMapping(request)))
|
||||||
.flatMap(getMappingsResponse -> {
|
.flatMap(getMappingsResponse -> {
|
||||||
Document document = Document.create();
|
Map<String, Object> source = getMappingsResponse.mappings().get(indexCoordinates.getIndexName())
|
||||||
document.put("properties",
|
.getSourceAsMap();
|
||||||
getMappingsResponse.mappings().get(indexCoordinates.getIndexName()).get("properties").getSourceAsMap());
|
Document document = Document.from(source);
|
||||||
return Mono.just(document);
|
return Mono.just(document);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -153,6 +153,7 @@ class DefaultTransportIndexOperations extends AbstractDefaultIndexOperations imp
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Deprecated
|
||||||
protected boolean doRemoveAlias(AliasQuery query, IndexCoordinates index) {
|
protected boolean doRemoveAlias(AliasQuery query, IndexCoordinates index) {
|
||||||
|
|
||||||
Assert.notNull(index, "No index defined for Alias");
|
Assert.notNull(index, "No index defined for Alias");
|
||||||
|
@ -133,6 +133,7 @@ class RequestFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// region alias
|
// region alias
|
||||||
|
@Deprecated
|
||||||
public IndicesAliasesRequest.AliasActions aliasAction(AliasQuery query, IndexCoordinates index) {
|
public IndicesAliasesRequest.AliasActions aliasAction(AliasQuery query, IndexCoordinates index) {
|
||||||
|
|
||||||
Assert.notNull(index, "No index defined for Alias");
|
Assert.notNull(index, "No index defined for Alias");
|
||||||
@ -178,6 +179,7 @@ class RequestFactory {
|
|||||||
return getAliasesRequest;
|
return getAliasesRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public IndicesAliasesRequest indicesAddAliasesRequest(AliasQuery query, IndexCoordinates index) {
|
public IndicesAliasesRequest indicesAddAliasesRequest(AliasQuery query, IndexCoordinates index) {
|
||||||
IndicesAliasesRequest.AliasActions aliasAction = aliasAction(query, index);
|
IndicesAliasesRequest.AliasActions aliasAction = aliasAction(query, index);
|
||||||
IndicesAliasesRequest request = new IndicesAliasesRequest();
|
IndicesAliasesRequest request = new IndicesAliasesRequest();
|
||||||
@ -253,6 +255,7 @@ class RequestFactory {
|
|||||||
return requestBuilder;
|
return requestBuilder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public IndicesAliasesRequest indicesRemoveAliasesRequest(AliasQuery query, IndexCoordinates index) {
|
public IndicesAliasesRequest indicesRemoveAliasesRequest(AliasQuery query, IndexCoordinates index) {
|
||||||
|
|
||||||
String[] indexNames = index.getIndexNames();
|
String[] indexNames = index.getIndexNames();
|
||||||
@ -264,6 +267,7 @@ class RequestFactory {
|
|||||||
.addAliasAction(aliasAction);
|
.addAliasAction(aliasAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
IndicesAliasesRequestBuilder indicesRemoveAliasesRequestBuilder(Client client, AliasQuery query,
|
IndicesAliasesRequestBuilder indicesRemoveAliasesRequestBuilder(Client client, AliasQuery query,
|
||||||
IndexCoordinates index) {
|
IndexCoordinates index) {
|
||||||
|
|
||||||
@ -347,26 +351,7 @@ class RequestFactory {
|
|||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
// region index management
|
// 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) {
|
public CreateIndexRequest createIndexRequest(IndexCoordinates index, @Nullable Document settings, @Nullable Document mapping) {
|
||||||
CreateIndexRequest request = new CreateIndexRequest(index.getIndexName());
|
CreateIndexRequest request = new CreateIndexRequest(index.getIndexName());
|
||||||
|
|
||||||
@ -381,38 +366,6 @@ class RequestFactory {
|
|||||||
return request;
|
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,
|
public CreateIndexRequestBuilder createIndexRequestBuilder(Client client, IndexCoordinates index,
|
||||||
@Nullable Document settings, @Nullable Document mapping) {
|
@Nullable Document settings, @Nullable Document mapping) {
|
||||||
|
|
||||||
@ -431,29 +384,10 @@ class RequestFactory {
|
|||||||
return createIndexRequestBuilder;
|
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) {
|
public GetIndexRequest getIndexRequest(IndexCoordinates index) {
|
||||||
return new GetIndexRequest(index.getIndexNames());
|
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) {
|
public IndicesExistsRequest indicesExistsRequest(IndexCoordinates index) {
|
||||||
|
|
||||||
String[] indexNames = index.getIndexNames();
|
String[] indexNames = index.getIndexNames();
|
||||||
@ -485,15 +419,6 @@ class RequestFactory {
|
|||||||
return request;
|
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) {
|
public PutMappingRequestBuilder putMappingRequestBuilder(Client client, IndexCoordinates index, Document mapping) {
|
||||||
|
|
||||||
String[] indexNames = index.getIndexNames();
|
String[] indexNames = index.getIndexNames();
|
||||||
@ -503,13 +428,6 @@ class RequestFactory {
|
|||||||
return requestBuilder;
|
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) {
|
public GetSettingsRequest getSettingsRequest(String indexName, boolean includeDefaults) {
|
||||||
return new GetSettingsRequest().indices(indexName).includeDefaults(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.PutTemplateRequest;
|
||||||
import org.springframework.data.elasticsearch.core.index.TemplateData;
|
import org.springframework.data.elasticsearch.core.index.TemplateData;
|
||||||
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
|
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.ReactiveElasticsearchRestTemplateConfiguration;
|
||||||
import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest;
|
import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest;
|
||||||
import org.springframework.lang.Nullable;
|
import org.springframework.lang.Nullable;
|
||||||
@ -67,7 +66,7 @@ public class ReactiveIndexOperationsTest {
|
|||||||
public static final String TESTINDEX = "reactive-index-operations-testindex";
|
public static final String TESTINDEX = "reactive-index-operations-testindex";
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@Import({ ReactiveElasticsearchRestTemplateConfiguration.class, ElasticsearchRestTemplateConfiguration.class })
|
@Import({ ReactiveElasticsearchRestTemplateConfiguration.class })
|
||||||
static class Config {}
|
static class Config {}
|
||||||
|
|
||||||
@Autowired private ReactiveElasticsearchOperations operations;
|
@Autowired private ReactiveElasticsearchOperations operations;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user