diff --git a/server/src/main/java/org/elasticsearch/action/bulk/BulkRequestBuilder.java b/server/src/main/java/org/elasticsearch/action/bulk/BulkRequestBuilder.java index 0d993d797b287..24d6fad554935 100644 --- a/server/src/main/java/org/elasticsearch/action/bulk/BulkRequestBuilder.java +++ b/server/src/main/java/org/elasticsearch/action/bulk/BulkRequestBuilder.java @@ -48,11 +48,9 @@ public class BulkRequestBuilder extends ActionRequestLazyBuilder(); private ActiveShardCount waitForActiveShards; private TimeValue timeout; - private String timeoutString; private String globalPipeline; private String globalRouting; private WriteRequest.RefreshPolicy refreshPolicy; - private String refreshPolicyString; public BulkRequestBuilder(ElasticsearchClient client, @Nullable String globalIndex) { super(client, BulkAction.INSTANCE); @@ -166,7 +164,7 @@ public final BulkRequestBuilder setTimeout(TimeValue timeout) { * A timeout to wait if the index operation can't be performed immediately. Defaults to {@code 1m}. */ public final BulkRequestBuilder setTimeout(String timeout) { - this.timeoutString = timeout; + this.timeout = TimeValue.parseTimeValue(timeout, null, getClass().getSimpleName() + ".timeout"); return this; } @@ -195,7 +193,7 @@ public BulkRequestBuilder setRefreshPolicy(WriteRequest.RefreshPolicy refreshPol @Override public BulkRequestBuilder setRefreshPolicy(String refreshPolicy) { - this.refreshPolicyString = refreshPolicy; + this.refreshPolicy = WriteRequest.RefreshPolicy.parse(refreshPolicy); return this; } @@ -223,9 +221,6 @@ public BulkRequest request() { if (timeout != null) { request.timeout(timeout); } - if (timeoutString != null) { - request.timeout(timeoutString); - } if (globalPipeline != null) { request.pipeline(globalPipeline); } @@ -235,9 +230,6 @@ public BulkRequest request() { if (refreshPolicy != null) { request.setRefreshPolicy(refreshPolicy); } - if (refreshPolicyString != null) { - request.setRefreshPolicy(refreshPolicyString); - } return request; } @@ -247,12 +239,6 @@ private void validate() { "Must use only request builders, requests, or byte arrays within a single bulk request. Cannot mix and match" ); } - if (timeout != null && timeoutString != null) { - throw new IllegalStateException("Must use only one setTimeout method"); - } - if (refreshPolicy != null && refreshPolicyString != null) { - throw new IllegalStateException("Must use only one setRefreshPolicy method"); - } } private int countNonEmptyLists(List... lists) { diff --git a/server/src/main/java/org/elasticsearch/action/delete/DeleteRequestBuilder.java b/server/src/main/java/org/elasticsearch/action/delete/DeleteRequestBuilder.java index dac5421bdeee0..f2b1dc7cd556c 100644 --- a/server/src/main/java/org/elasticsearch/action/delete/DeleteRequestBuilder.java +++ b/server/src/main/java/org/elasticsearch/action/delete/DeleteRequestBuilder.java @@ -29,7 +29,6 @@ public class DeleteRequestBuilder extends ReplicationRequestBuilder */ public IndexRequest source(XContentType xContentType, Object... source) { + return source(getXContentBuilder(xContentType, source)); + } + + /** + * Returns an XContentBuilder for the given xContentType and source array + *

+ * Note: the number of objects passed to this method as varargs must be an even + * number. Also the first argument in each pair (the field name) must have a + * valid String representation. + *

+ */ + public static XContentBuilder getXContentBuilder(XContentType xContentType, Object... source) { if (source.length % 2 != 0) { throw new IllegalArgumentException("The number of object passed must be even but was [" + source.length + "]"); } @@ -489,11 +501,14 @@ public IndexRequest source(XContentType xContentType, Object... source) { try { XContentBuilder builder = XContentFactory.contentBuilder(xContentType); builder.startObject(); - for (int i = 0; i < source.length; i++) { - builder.field(source[i++].toString(), source[i]); + // This for loop increments by 2 because the source array contains adjacent key/value pairs: + for (int i = 0; i < source.length; i = i + 2) { + String field = source[i].toString(); + Object value = source[i + 1]; + builder.field(field, value); } builder.endObject(); - return source(builder); + return builder; } catch (IOException e) { throw new ElasticsearchGenerationException("Failed to generate", e); } diff --git a/server/src/main/java/org/elasticsearch/action/index/IndexRequestBuilder.java b/server/src/main/java/org/elasticsearch/action/index/IndexRequestBuilder.java index 7e39bf5875686..0cb04fbdba1a6 100644 --- a/server/src/main/java/org/elasticsearch/action/index/IndexRequestBuilder.java +++ b/server/src/main/java/org/elasticsearch/action/index/IndexRequestBuilder.java @@ -43,7 +43,6 @@ public class IndexRequestBuilder extends ReplicationRequestBuilder */ public IndexRequestBuilder setSource(XContentType xContentType, Object... source) { - if (source.length % 2 != 0) { - throw new IllegalArgumentException("The number of object passed must be even but was [" + source.length + "]"); - } - try { - XContentBuilder builder = XContentFactory.contentBuilder(xContentType); - builder.startObject(); - for (int i = 0; i < source.length; i++) { - builder.field(source[i++].toString(), source[i]); - } - builder.endObject(); - return setSource(builder); - } catch (IOException e) { - throw new ElasticsearchGenerationException("Failed to generate", e); - } + return setSource(IndexRequest.getXContentBuilder(xContentType, source)); } /** @@ -278,13 +264,12 @@ public IndexRequestBuilder setRefreshPolicy(WriteRequest.RefreshPolicy refreshPo } public IndexRequestBuilder setRefreshPolicy(String refreshPolicy) { - this.refreshPolicyString = refreshPolicy; + this.refreshPolicy = WriteRequest.RefreshPolicy.parse(refreshPolicy); return this; } @Override public IndexRequest request() { - validate(); IndexRequest request = new IndexRequest(); super.apply(request); request.id(id); @@ -300,9 +285,6 @@ public IndexRequest request() { if (refreshPolicy != null) { request.setRefreshPolicy(refreshPolicy); } - if (refreshPolicyString != null) { - request.setRefreshPolicy(refreshPolicyString); - } if (ifSeqNo != null) { request.setIfSeqNo(ifSeqNo); } diff --git a/server/src/main/java/org/elasticsearch/action/support/replication/ReplicationRequestBuilder.java b/server/src/main/java/org/elasticsearch/action/support/replication/ReplicationRequestBuilder.java index 94935a670afb7..8eb82af2091cd 100644 --- a/server/src/main/java/org/elasticsearch/action/support/replication/ReplicationRequestBuilder.java +++ b/server/src/main/java/org/elasticsearch/action/support/replication/ReplicationRequestBuilder.java @@ -23,7 +23,6 @@ public abstract class ReplicationRequestBuilder< Response> { private String index; private TimeValue timeout; - private String timeoutString; private ActiveShardCount waitForActiveShards; protected ReplicationRequestBuilder(ElasticsearchClient client, ActionType action) { @@ -44,7 +43,7 @@ public RequestBuilder setTimeout(TimeValue timeout) { */ @SuppressWarnings("unchecked") public RequestBuilder setTimeout(String timeout) { - this.timeoutString = timeout; + this.timeout = TimeValue.parseTimeValue(timeout, null, getClass().getSimpleName() + ".timeout"); return (RequestBuilder) this; } @@ -84,17 +83,9 @@ protected void apply(Request request) { if (timeout != null) { request.timeout(timeout); } - if (timeoutString != null) { - request.timeout(timeoutString); - } if (waitForActiveShards != null) { request.waitForActiveShards(waitForActiveShards); } } - protected void validate() throws IllegalStateException { - if (timeout != null && timeoutString != null) { - throw new IllegalStateException("Must use only one setTimeout method"); - } - } } diff --git a/server/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequestBuilder.java b/server/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequestBuilder.java index 1678b08aba940..64efcda2f14db 100644 --- a/server/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequestBuilder.java +++ b/server/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequestBuilder.java @@ -22,7 +22,6 @@ public abstract class InstanceShardOperationRequestBuilder< Response> { private String index; private TimeValue timeout; - private String timeoutString; protected InstanceShardOperationRequestBuilder(ElasticsearchClient client, ActionType action) { super(client, action); @@ -52,7 +51,7 @@ public RequestBuilder setTimeout(TimeValue timeout) { */ @SuppressWarnings("unchecked") public RequestBuilder setTimeout(String timeout) { - this.timeoutString = timeout; + this.timeout = TimeValue.parseTimeValue(timeout, null, getClass().getSimpleName() + ".timeout"); return (RequestBuilder) this; } @@ -63,14 +62,5 @@ protected void apply(Request request) { if (timeout != null) { request.timeout(timeout); } - if (timeoutString != null) { - request.timeout(timeoutString); - } - } - - protected void validate() throws IllegalStateException { - if (timeoutString != null && timeout != null) { - throw new IllegalStateException("Must use only one setTimeout method"); - } } } diff --git a/server/src/main/java/org/elasticsearch/action/update/UpdateRequest.java b/server/src/main/java/org/elasticsearch/action/update/UpdateRequest.java index d7b1ea46b77b0..36b6cc6aa9964 100644 --- a/server/src/main/java/org/elasticsearch/action/update/UpdateRequest.java +++ b/server/src/main/java/org/elasticsearch/action/update/UpdateRequest.java @@ -704,6 +704,14 @@ private IndexRequest safeDoc() { return doc; } + /** + * Sets the doc source of the update request to be used when the document does not exists. + */ + public UpdateRequest upsert(BytesReference source, XContentType contentType) { + safeUpsertRequest().source(source, contentType); + return this; + } + /** * Sets the index request to be used if the document does not exists. Otherwise, a * {@link org.elasticsearch.index.engine.DocumentMissingException} is thrown. diff --git a/server/src/main/java/org/elasticsearch/action/update/UpdateRequestBuilder.java b/server/src/main/java/org/elasticsearch/action/update/UpdateRequestBuilder.java index cbf28d6718594..c1ee0f7b8af37 100644 --- a/server/src/main/java/org/elasticsearch/action/update/UpdateRequestBuilder.java +++ b/server/src/main/java/org/elasticsearch/action/update/UpdateRequestBuilder.java @@ -8,6 +8,7 @@ package org.elasticsearch.action.update; +import org.elasticsearch.ElasticsearchGenerationException; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.support.ActiveShardCount; import org.elasticsearch.action.support.WriteRequest; @@ -15,12 +16,17 @@ import org.elasticsearch.action.support.replication.ReplicationRequest; import org.elasticsearch.action.support.single.instance.InstanceShardOperationRequestBuilder; import org.elasticsearch.client.internal.ElasticsearchClient; +import org.elasticsearch.client.internal.Requests; +import org.elasticsearch.common.bytes.BytesArray; +import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.core.Nullable; import org.elasticsearch.index.VersionType; import org.elasticsearch.script.Script; import org.elasticsearch.xcontent.XContentBuilder; +import org.elasticsearch.xcontent.XContentFactory; import org.elasticsearch.xcontent.XContentType; +import java.io.IOException; import java.util.Map; public class UpdateRequestBuilder extends InstanceShardOperationRequestBuilder @@ -45,31 +51,18 @@ public class UpdateRequestBuilder extends InstanceShardOperationRequestBuilder docSourceMap; + private BytesReference docSourceBytesReference; private XContentType docSourceXContentType; - private String docSourceString; - private byte[] docSourceBytes; - private Integer docSourceOffset; - private Integer docSourceLength; - private Object[] docSourceArray; private IndexRequest upsert; - private XContentBuilder upsertSourceXContentBuilder; - private Map upsertSourceMap; + private BytesReference upsertSourceBytesReference; private XContentType upsertSourceXContentType; - private String upsertSourceString; - private byte[] upsertSourceBytes; - private Integer upsertSourceOffset; - private Integer upsertSourceLength; - private Object[] upsertSourceArray; private Boolean docAsUpsert; private Boolean detectNoop; private Boolean scriptedUpsert; private Boolean requireAlias; private WriteRequest.RefreshPolicy refreshPolicy; - private String refreshPolicyString; public UpdateRequestBuilder(ElasticsearchClient client) { this(client, null, null); @@ -235,7 +228,8 @@ public UpdateRequestBuilder setDoc(IndexRequest indexRequest) { * Sets the doc to use for updates when a script is not specified. */ public UpdateRequestBuilder setDoc(XContentBuilder source) { - this.docSourceXContentBuilder = source; + this.docSourceBytesReference = BytesReference.bytes(source); + this.docSourceXContentType = source.contentType(); return this; } @@ -243,24 +237,27 @@ public UpdateRequestBuilder setDoc(XContentBuilder source) { * Sets the doc to use for updates when a script is not specified. */ public UpdateRequestBuilder setDoc(Map source) { - this.docSourceMap = source; - return this; + return setDoc(source, Requests.INDEX_CONTENT_TYPE); } /** * Sets the doc to use for updates when a script is not specified. */ public UpdateRequestBuilder setDoc(Map source, XContentType contentType) { - this.docSourceMap = source; - this.docSourceXContentType = contentType; - return this; + try { + XContentBuilder builder = XContentFactory.contentBuilder(contentType); + builder.map(source); + return setDoc(builder); + } catch (IOException e) { + throw new ElasticsearchGenerationException("Failed to generate [" + source + "]", e); + } } /** * Sets the doc to use for updates when a script is not specified. */ public UpdateRequestBuilder setDoc(String source, XContentType xContentType) { - this.docSourceString = source; + this.docSourceBytesReference = new BytesArray(source); this.docSourceXContentType = xContentType; return this; } @@ -269,18 +266,14 @@ public UpdateRequestBuilder setDoc(String source, XContentType xContentType) { * Sets the doc to use for updates when a script is not specified. */ public UpdateRequestBuilder setDoc(byte[] source, XContentType xContentType) { - this.docSourceBytes = source; - this.docSourceXContentType = xContentType; - return this; + return setDoc(source, 0, source.length, xContentType); } /** * Sets the doc to use for updates when a script is not specified. */ public UpdateRequestBuilder setDoc(byte[] source, int offset, int length, XContentType xContentType) { - this.docSourceBytes = source; - this.docSourceOffset = offset; - this.docSourceLength = length; + this.docSourceBytesReference = new BytesArray(source, offset, length); this.docSourceXContentType = xContentType; return this; } @@ -290,8 +283,7 @@ public UpdateRequestBuilder setDoc(byte[] source, int offset, int length, XConte * is a field and value pairs. */ public UpdateRequestBuilder setDoc(Object... source) { - this.docSourceArray = source; - return this; + return setDoc(Requests.INDEX_CONTENT_TYPE, source); } /** @@ -299,9 +291,7 @@ public UpdateRequestBuilder setDoc(Object... source) { * is a field and value pairs. */ public UpdateRequestBuilder setDoc(XContentType xContentType, Object... source) { - this.docSourceArray = source; - this.docSourceXContentType = xContentType; - return this; + return setDoc(IndexRequest.getXContentBuilder(xContentType, source)); } /** @@ -317,7 +307,8 @@ public UpdateRequestBuilder setUpsert(IndexRequest indexRequest) { * Sets the doc source of the update request to be used when the document does not exists. */ public UpdateRequestBuilder setUpsert(XContentBuilder source) { - this.upsertSourceXContentBuilder = source; + this.upsertSourceBytesReference = BytesReference.bytes(source); + this.upsertSourceXContentType = source.contentType(); return this; } @@ -325,24 +316,27 @@ public UpdateRequestBuilder setUpsert(XContentBuilder source) { * Sets the doc source of the update request to be used when the document does not exists. */ public UpdateRequestBuilder setUpsert(Map source) { - this.upsertSourceMap = source; - return this; + return setUpsert(source, Requests.INDEX_CONTENT_TYPE); } /** * Sets the doc source of the update request to be used when the document does not exists. */ public UpdateRequestBuilder setUpsert(Map source, XContentType contentType) { - this.upsertSourceMap = source; - this.upsertSourceXContentType = contentType; - return this; + try { + XContentBuilder builder = XContentFactory.contentBuilder(contentType); + builder.map(source); + return setUpsert(builder); + } catch (IOException e) { + throw new ElasticsearchGenerationException("Failed to generate [" + source + "]", e); + } } /** * Sets the doc source of the update request to be used when the document does not exists. */ public UpdateRequestBuilder setUpsert(String source, XContentType xContentType) { - this.upsertSourceString = source; + this.upsertSourceBytesReference = new BytesArray(source); this.upsertSourceXContentType = xContentType; return this; } @@ -351,18 +345,14 @@ public UpdateRequestBuilder setUpsert(String source, XContentType xContentType) * Sets the doc source of the update request to be used when the document does not exists. */ public UpdateRequestBuilder setUpsert(byte[] source, XContentType xContentType) { - this.upsertSourceBytes = source; - this.upsertSourceXContentType = xContentType; - return this; + return setUpsert(source, 0, source.length, xContentType); } /** * Sets the doc source of the update request to be used when the document does not exists. */ public UpdateRequestBuilder setUpsert(byte[] source, int offset, int length, XContentType xContentType) { - this.upsertSourceBytes = source; - this.upsertSourceOffset = offset; - this.upsertSourceLength = length; + this.upsertSourceBytesReference = new BytesArray(source, offset, length); this.upsertSourceXContentType = xContentType; return this; } @@ -372,8 +362,7 @@ public UpdateRequestBuilder setUpsert(byte[] source, int offset, int length, XCo * includes field and value pairs. */ public UpdateRequestBuilder setUpsert(Object... source) { - this.upsertSourceArray = source; - return this; + return setUpsert(Requests.INDEX_CONTENT_TYPE, source); } /** @@ -381,9 +370,7 @@ public UpdateRequestBuilder setUpsert(Object... source) { * includes field and value pairs. */ public UpdateRequestBuilder setUpsert(XContentType xContentType, Object... source) { - this.upsertSourceArray = source; - this.upsertSourceXContentType = xContentType; - return this; + return setUpsert(IndexRequest.getXContentBuilder(xContentType, source)); } /** @@ -427,7 +414,7 @@ public UpdateRequestBuilder setRefreshPolicy(WriteRequest.RefreshPolicy refreshP @Override public UpdateRequestBuilder setRefreshPolicy(String refreshPolicy) { - this.refreshPolicyString = refreshPolicy; + this.refreshPolicy = WriteRequest.RefreshPolicy.parse(refreshPolicy); return this; } @@ -475,58 +462,14 @@ public UpdateRequest request() { if (doc != null) { request.doc(doc); } - if (docSourceXContentBuilder != null) { - request.doc(docSourceXContentBuilder); - } - if (docSourceMap != null) { - if (docSourceXContentType == null) { - request.doc(docSourceMap); - } else { - request.doc(docSourceMap, docSourceXContentType); - } - } - if (docSourceString != null && docSourceXContentType != null) { - request.doc(docSourceString, docSourceXContentType); - } - if (docSourceBytes != null && docSourceXContentType != null) { - if (docSourceOffset != null && docSourceLength != null) { - request.doc(docSourceBytes, docSourceOffset, docSourceLength, docSourceXContentType); - } - } - if (docSourceArray != null) { - if (docSourceXContentType == null) { - request.doc(docSourceArray); - } else { - request.doc(docSourceXContentType, docSourceArray); - } + if (docSourceBytesReference != null && docSourceXContentType != null) { + request.doc(docSourceBytesReference, docSourceXContentType); } if (upsert != null) { request.upsert(upsert); } - if (upsertSourceXContentBuilder != null) { - request.upsert(upsertSourceXContentBuilder); - } - if (upsertSourceMap != null) { - if (upsertSourceXContentType == null) { - request.upsert(upsertSourceMap); - } else { - request.upsert(upsertSourceMap, upsertSourceXContentType); - } - } - if (upsertSourceString != null && upsertSourceXContentType != null) { - request.upsert(upsertSourceString, upsertSourceXContentType); - } - if (upsertSourceBytes != null && upsertSourceXContentType != null) { - if (upsertSourceOffset != null && upsertSourceLength != null) { - request.upsert(upsertSourceBytes, upsertSourceOffset, upsertSourceLength, upsertSourceXContentType); - } - } - if (upsertSourceArray != null) { - if (upsertSourceXContentType == null) { - request.upsert(upsertSourceArray); - } else { - request.upsert(upsertSourceXContentType, upsertSourceArray); - } + if (upsertSourceBytesReference != null && upsertSourceXContentType != null) { + request.upsert(upsertSourceBytesReference, upsertSourceXContentType); } if (docAsUpsert != null) { request.docAsUpsert(docAsUpsert); @@ -543,15 +486,10 @@ public UpdateRequest request() { if (refreshPolicy != null) { request.setRefreshPolicy(refreshPolicy); } - if (refreshPolicyString != null) { - request.setRefreshPolicy(refreshPolicyString); - } return request; } - @Override protected void validate() throws IllegalStateException { - super.validate(); boolean fetchIncludeExcludeNotNull = fetchSourceInclude != null || fetchSourceExclude != null; boolean fetchIncludeExcludeArrayNotNull = fetchSourceIncludeArray != null || fetchSourceExcludeArray != null; boolean fetchSourceNotNull = fetchSource != null; @@ -571,18 +509,11 @@ protected void validate() throws IllegalStateException { } private int countDocSourceFieldsSet() { - return countNonNullObjects(doc, docSourceXContentBuilder, docSourceMap, docSourceString, docSourceBytes, docSourceArray); + return countNonNullObjects(doc, docSourceBytesReference); } private int countUpsertSourceFieldsSet() { - return countNonNullObjects( - upsert, - upsertSourceXContentBuilder, - upsertSourceMap, - upsertSourceString, - upsertSourceBytes, - upsertSourceArray - ); + return countNonNullObjects(upsert, upsertSourceBytesReference); } private int countNonNullObjects(Object... objects) { diff --git a/server/src/test/java/org/elasticsearch/action/bulk/BulkRequestBuilderTests.java b/server/src/test/java/org/elasticsearch/action/bulk/BulkRequestBuilderTests.java index 8843801e528a3..27b1104163d67 100644 --- a/server/src/test/java/org/elasticsearch/action/bulk/BulkRequestBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/action/bulk/BulkRequestBuilderTests.java @@ -10,8 +10,6 @@ import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.index.IndexRequestBuilder; -import org.elasticsearch.action.support.WriteRequest; -import org.elasticsearch.core.TimeValue; import org.elasticsearch.test.ESTestCase; public class BulkRequestBuilderTests extends ESTestCase { @@ -21,17 +19,5 @@ public void testValidation() { bulkRequestBuilder.add(new IndexRequestBuilder(null, randomAlphaOfLength(10))); bulkRequestBuilder.add(new IndexRequest()); expectThrows(IllegalStateException.class, bulkRequestBuilder::request); - - bulkRequestBuilder = new BulkRequestBuilder(null, null); - bulkRequestBuilder.add(new IndexRequestBuilder(null, randomAlphaOfLength(10))); - bulkRequestBuilder.setTimeout(randomTimeValue()); - bulkRequestBuilder.setTimeout(TimeValue.timeValueSeconds(randomIntBetween(1, 30))); - expectThrows(IllegalStateException.class, bulkRequestBuilder::request); - - bulkRequestBuilder = new BulkRequestBuilder(null, null); - bulkRequestBuilder.add(new IndexRequestBuilder(null, randomAlphaOfLength(10))); - bulkRequestBuilder.setRefreshPolicy(randomFrom(WriteRequest.RefreshPolicy.values()).getValue()); - bulkRequestBuilder.setRefreshPolicy(randomFrom(WriteRequest.RefreshPolicy.values())); - expectThrows(IllegalStateException.class, bulkRequestBuilder::request); } } diff --git a/server/src/test/java/org/elasticsearch/action/delete/DeleteRequestBuilderTests.java b/server/src/test/java/org/elasticsearch/action/delete/DeleteRequestBuilderTests.java deleted file mode 100644 index 0a59dac833ca9..0000000000000 --- a/server/src/test/java/org/elasticsearch/action/delete/DeleteRequestBuilderTests.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -package org.elasticsearch.action.delete; - -import org.elasticsearch.action.support.WriteRequest; -import org.elasticsearch.core.TimeValue; -import org.elasticsearch.test.ESTestCase; - -public class DeleteRequestBuilderTests extends ESTestCase { - - public void testValidation() { - DeleteRequestBuilder deleteRequestBuilder = new DeleteRequestBuilder(null, randomAlphaOfLength(10)); - deleteRequestBuilder.setRefreshPolicy(randomFrom(WriteRequest.RefreshPolicy.values()).toString()); - deleteRequestBuilder.setRefreshPolicy(randomFrom(WriteRequest.RefreshPolicy.values())); - expectThrows(IllegalStateException.class, deleteRequestBuilder::request); - - deleteRequestBuilder = new DeleteRequestBuilder(null, randomAlphaOfLength(10)); - deleteRequestBuilder.setTimeout(randomTimeValue()); - deleteRequestBuilder.setTimeout(TimeValue.timeValueSeconds(randomIntBetween(1, 30))); - expectThrows(IllegalStateException.class, deleteRequestBuilder::request); - } -} diff --git a/server/src/test/java/org/elasticsearch/action/update/UpdateRequestBuilderTests.java b/server/src/test/java/org/elasticsearch/action/update/UpdateRequestBuilderTests.java index 8091daed2b5b0..b2ab56c73c584 100644 --- a/server/src/test/java/org/elasticsearch/action/update/UpdateRequestBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/action/update/UpdateRequestBuilderTests.java @@ -8,11 +8,8 @@ package org.elasticsearch.action.update; -import org.elasticsearch.core.TimeValue; import org.elasticsearch.test.ESTestCase; -import java.util.Map; - public class UpdateRequestBuilderTests extends ESTestCase { public void testValidation() { @@ -20,20 +17,5 @@ public void testValidation() { updateRequestBuilder.setFetchSource(randomAlphaOfLength(10), randomAlphaOfLength(10)); updateRequestBuilder.setFetchSource(true); expectThrows(IllegalStateException.class, updateRequestBuilder::request); - - updateRequestBuilder = new UpdateRequestBuilder(null); - updateRequestBuilder.setTimeout(randomTimeValue()); - updateRequestBuilder.setTimeout(TimeValue.timeValueSeconds(randomIntBetween(1, 30))); - expectThrows(IllegalStateException.class, updateRequestBuilder::request); - - updateRequestBuilder = new UpdateRequestBuilder(null); - updateRequestBuilder.setDoc("key", "value"); - updateRequestBuilder.setDoc(Map.of("key", "value")); - expectThrows(IllegalStateException.class, updateRequestBuilder::request); - - updateRequestBuilder = new UpdateRequestBuilder(null); - updateRequestBuilder.setUpsert("key", "value"); - updateRequestBuilder.setUpsert(Map.of("key", "value")); - expectThrows(IllegalStateException.class, updateRequestBuilder::request); } }