Skip to content

Commit 5a82c93

Browse files
zzt93DaveCTurner
authored andcommitted
Add toString() implementation for UpdateRequest (#27997)
1 parent dd92fb6 commit 5a82c93

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

server/src/main/java/org/elasticsearch/action/update/UpdateRequest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
package org.elasticsearch.action.update;
2121

22+
import java.util.Arrays;
2223
import org.elasticsearch.action.ActionRequestValidationException;
2324
import org.elasticsearch.action.DocWriteRequest;
2425
import org.elasticsearch.action.index.IndexRequest;
@@ -893,4 +894,28 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
893894
builder.endObject();
894895
return builder;
895896
}
897+
898+
@Override
899+
public String toString() {
900+
StringBuilder res = new StringBuilder()
901+
.append("update {[").append(index)
902+
.append("][").append(type)
903+
.append("][").append(id).append("]");
904+
res.append(", doc_as_upsert[").append(docAsUpsert).append("]");
905+
if (doc != null) {
906+
res.append(", doc[").append(doc).append("]");
907+
}
908+
if (script != null) {
909+
res.append(", script[").append(script).append("]");
910+
}
911+
if (upsertRequest != null) {
912+
res.append(", upsert[").append(upsertRequest).append("]");
913+
}
914+
res.append(", scripted_upsert[").append(scriptedUpsert).append("]");
915+
res.append(", detect_noop[").append(detectNoop).append("]");
916+
if (fields != null) {
917+
res.append(", fields[").append(Arrays.toString(fields)).append("]");
918+
}
919+
return res.append("}").toString();
920+
}
896921
}

server/src/test/java/org/elasticsearch/action/update/UpdateRequestTests.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -639,4 +639,16 @@ public void testUpdateScript() throws Exception {
639639
assertThat(result.action(), instanceOf(UpdateResponse.class));
640640
assertThat(result.getResponseResult(), equalTo(DocWriteResponse.Result.NOOP));
641641
}
642+
643+
public void testToString() throws IOException {
644+
UpdateRequest request = new UpdateRequest("test", "type1", "1")
645+
.script(mockInlineScript("ctx._source.body = \"foo\""));
646+
assertThat(request.toString(), equalTo("update {[test][type1][1], doc_as_upsert[false], "
647+
+ "script[Script{type=inline, lang='mock', idOrCode='ctx._source.body = \"foo\"', options={}, params={}}], "
648+
+ "scripted_upsert[false], detect_noop[true]}"));
649+
request = new UpdateRequest("test", "type1", "1").fromXContent(
650+
createParser(JsonXContent.jsonXContent, new BytesArray("{\"doc\": {\"body\": \"bar\"}}")));
651+
assertThat(request.toString(), equalTo("update {[test][type1][1], doc_as_upsert[false], "
652+
+ "doc[index {[null][null][null], source[{\"body\":\"bar\"}]}], scripted_upsert[false], detect_noop[true]}"));
653+
}
642654
}

0 commit comments

Comments
 (0)