mirror of
				https://github.com/spring-projects/spring-data-elasticsearch.git
				synced 2025-10-31 14:48:56 +00:00 
			
		
		
		
	Fix update call in reactive client (Elasticsearch 7 client)
Original Pull Request #2281 Closes #2276
This commit is contained in:
		
							parent
							
								
									b549601d34
								
							
						
					
					
						commit
						8377f64a8a
					
				| @ -337,8 +337,13 @@ public class RequestConverters { | |||||||
| 	public static Request index(IndexRequest indexRequest) { | 	public static Request index(IndexRequest indexRequest) { | ||||||
| 		String method = Strings.hasLength(indexRequest.id()) ? HttpMethod.PUT.name() : HttpMethod.POST.name(); | 		String method = Strings.hasLength(indexRequest.id()) ? HttpMethod.PUT.name() : HttpMethod.POST.name(); | ||||||
| 		boolean isCreate = (indexRequest.opType() == DocWriteRequest.OpType.CREATE); | 		boolean isCreate = (indexRequest.opType() == DocWriteRequest.OpType.CREATE); | ||||||
| 		String endpoint = endpoint(indexRequest.index(), indexRequest.type(), indexRequest.id(), | 		String endpoint; | ||||||
| 				isCreate ? "_create" : null); | 		if (indexRequest.opType() == DocWriteRequest.OpType.CREATE) { | ||||||
|  | 			endpoint = indexRequest.type().equals("_doc") ? endpoint(indexRequest.index(), "_create", indexRequest.id()) | ||||||
|  | 					: endpoint(indexRequest.index(), indexRequest.type(), indexRequest.id(), "_create"); | ||||||
|  | 		} else { | ||||||
|  | 			endpoint = endpoint(indexRequest.index(), indexRequest.type(), indexRequest.id()); | ||||||
|  | 		} | ||||||
| 		Request request = new Request(method, endpoint); | 		Request request = new Request(method, endpoint); | ||||||
| 
 | 
 | ||||||
| 		Params parameters = new Params(request); | 		Params parameters = new Params(request); | ||||||
| @ -363,7 +368,9 @@ public class RequestConverters { | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	public static Request update(UpdateRequest updateRequest) { | 	public static Request update(UpdateRequest updateRequest) { | ||||||
| 		String endpoint = endpoint(updateRequest.index(), updateRequest.type(), updateRequest.id(), "_update"); | 		String endpoint = updateRequest.type().equals("_doc") | ||||||
|  | 				? endpoint(updateRequest.index(), "_update", updateRequest.id()) | ||||||
|  | 				: endpoint(updateRequest.index(), updateRequest.type(), updateRequest.id(), "_update"); | ||||||
| 		Request request = new Request(HttpMethod.POST.name(), endpoint); | 		Request request = new Request(HttpMethod.POST.name(), endpoint); | ||||||
| 
 | 
 | ||||||
| 		Params parameters = new Params(request); | 		Params parameters = new Params(request); | ||||||
| @ -501,8 +508,11 @@ public class RequestConverters { | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	public static Request explain(ExplainRequest explainRequest) { | 	public static Request explain(ExplainRequest explainRequest) { | ||||||
|  | 		String endpoint = explainRequest.type().equals("_doc") | ||||||
|  | 				? endpoint(explainRequest.index(), "_explain", explainRequest.id()) | ||||||
|  | 				: endpoint(explainRequest.index(), explainRequest.type(), explainRequest.id(), "_explain"); | ||||||
| 		Request request = new Request(HttpMethod.GET.name(), | 		Request request = new Request(HttpMethod.GET.name(), | ||||||
| 				endpoint(explainRequest.index(), explainRequest.type(), explainRequest.id(), "_explain")); | 				endpoint(explainRequest.index(), explainRequest.type(), explainRequest.id(), endpoint)); | ||||||
| 
 | 
 | ||||||
| 		Params params = new Params(request); | 		Params params = new Params(request); | ||||||
| 		params.withStoredFields(explainRequest.storedFields()); | 		params.withStoredFields(explainRequest.storedFields()); | ||||||
|  | |||||||
| @ -372,7 +372,7 @@ public class ReactiveElasticsearchClientUnitTests { | |||||||
| 				.exchange(requestBodyUriSpec -> verify(requestBodyUriSpec).contentType(MediaType.APPLICATION_JSON)); | 				.exchange(requestBodyUriSpec -> verify(requestBodyUriSpec).contentType(MediaType.APPLICATION_JSON)); | ||||||
| 
 | 
 | ||||||
| 		URI uri = hostProvider.when(HOST).captureUri(); | 		URI uri = hostProvider.when(HOST).captureUri(); | ||||||
| 		assertThat(uri.getRawPath()).isEqualTo("/twitter/_doc/10/_create"); | 		assertThat(uri.getRawPath()).isEqualTo("/twitter/_create/10"); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	@Test // DATAES-488 | 	@Test // DATAES-488 | ||||||
| @ -435,7 +435,7 @@ public class ReactiveElasticsearchClientUnitTests { | |||||||
| 		hostProvider.when(HOST) // | 		hostProvider.when(HOST) // | ||||||
| 				.receiveUpdateOk(); | 				.receiveUpdateOk(); | ||||||
| 
 | 
 | ||||||
| 		client.update(new UpdateRequest("twitter", "doc", "1").doc(Collections.singletonMap("user", "cstrobl"))).then() // | 		client.update(new UpdateRequest("twitter", "1").doc(Collections.singletonMap("user", "cstrobl"))).then() // | ||||||
| 				.as(StepVerifier::create) // | 				.as(StepVerifier::create) // | ||||||
| 				.verifyComplete(); | 				.verifyComplete(); | ||||||
| 
 | 
 | ||||||
| @ -444,7 +444,7 @@ public class ReactiveElasticsearchClientUnitTests { | |||||||
| 				.exchange(requestBodyUriSpec -> verify(requestBodyUriSpec).contentType(MediaType.APPLICATION_JSON)); | 				.exchange(requestBodyUriSpec -> verify(requestBodyUriSpec).contentType(MediaType.APPLICATION_JSON)); | ||||||
| 
 | 
 | ||||||
| 		URI uri = hostProvider.when(HOST).captureUri(); | 		URI uri = hostProvider.when(HOST).captureUri(); | ||||||
| 		assertThat(uri.getRawPath()).isEqualTo("/twitter/doc/1/_update"); | 		assertThat(uri.getRawPath()).isEqualTo("/twitter/_update/1"); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	@Test // DATAES-488 | 	@Test // DATAES-488 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user