|
@@ -0,0 +1,111 @@
|
|
|
+/*
|
|
|
+ * Licensed to Elasticsearch under one or more contributor
|
|
|
+ * license agreements. See the NOTICE file distributed with
|
|
|
+ * this work for additional information regarding copyright
|
|
|
+ * ownership. Elasticsearch licenses this file to you under
|
|
|
+ * the Apache License, Version 2.0 (the "License"); you may
|
|
|
+ * not use this file except in compliance with the License.
|
|
|
+ * You may obtain a copy of the License at
|
|
|
+ *
|
|
|
+ * http://www.apache.org/licenses/LICENSE-2.0
|
|
|
+ *
|
|
|
+ * Unless required by applicable law or agreed to in writing,
|
|
|
+ * software distributed under the License is distributed on an
|
|
|
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
|
+ * KIND, either express or implied. See the License for the
|
|
|
+ * specific language governing permissions and limitations
|
|
|
+ * under the License.
|
|
|
+ */
|
|
|
+
|
|
|
+package org.elasticsearch.client.documentation;
|
|
|
+
|
|
|
+import org.elasticsearch.ElasticsearchException;
|
|
|
+import org.elasticsearch.action.ActionListener;
|
|
|
+import org.elasticsearch.action.DocWriteResponse;
|
|
|
+import org.elasticsearch.action.delete.DeleteRequest;
|
|
|
+import org.elasticsearch.action.delete.DeleteResponse;
|
|
|
+import org.elasticsearch.action.support.WriteRequest;
|
|
|
+import org.elasticsearch.client.ESRestHighLevelClientTestCase;
|
|
|
+import org.elasticsearch.client.RestHighLevelClient;
|
|
|
+import org.elasticsearch.common.unit.TimeValue;
|
|
|
+import org.elasticsearch.index.VersionType;
|
|
|
+import org.elasticsearch.rest.RestStatus;
|
|
|
+
|
|
|
+import java.io.IOException;
|
|
|
+
|
|
|
+/**
|
|
|
+ * This class is used to generate the Java Delete API documentation
|
|
|
+ * You need to wrap your code between two tags like:
|
|
|
+ * // tag::delete-request[]
|
|
|
+ * // end::delete-request[]
|
|
|
+ *
|
|
|
+ * Where delete-request is your tag name.
|
|
|
+ *
|
|
|
+ * Then in the documentation, you can extract what is between tag and end tags with
|
|
|
+ * ["source","java",subs="attributes,callouts"]
|
|
|
+ * --------------------------------------------------
|
|
|
+ * sys2::[perl -ne 'exit if /end::delete-request/; print if $tag; $tag = $tag || /tag::delete-request/' {docdir}/../../client/rest-high-level/src/test/java/org/elasticsearch/client/documentation/DeleteDocumentationIT.java]
|
|
|
+ * --------------------------------------------------
|
|
|
+ */
|
|
|
+public class DeleteDocumentationIT extends ESRestHighLevelClientTestCase {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This test documents docs/java-rest/high-level/document/delete.asciidoc
|
|
|
+ */
|
|
|
+ public void testDelete() throws IOException {
|
|
|
+ RestHighLevelClient client = highLevelClient();
|
|
|
+
|
|
|
+ // tag::delete-request[]
|
|
|
+ DeleteRequest request = new DeleteRequest(
|
|
|
+ "index", // <1>
|
|
|
+ "type", // <2>
|
|
|
+ "id"); // <3>
|
|
|
+ // end::delete-request[]
|
|
|
+
|
|
|
+ // tag::delete-request-props[]
|
|
|
+ request.timeout(TimeValue.timeValueSeconds(1)); // <1>
|
|
|
+ request.timeout("1s"); // <2>
|
|
|
+ request.setRefreshPolicy(WriteRequest.RefreshPolicy.WAIT_UNTIL); // <3>
|
|
|
+ request.setRefreshPolicy("wait_for"); // <4>
|
|
|
+ request.version(2); // <5>
|
|
|
+ request.versionType(VersionType.EXTERNAL); // <6>
|
|
|
+ // end::delete-request-props[]
|
|
|
+
|
|
|
+ // tag::delete-execute[]
|
|
|
+ DeleteResponse response = client.delete(request);
|
|
|
+ // end::delete-execute[]
|
|
|
+
|
|
|
+ try {
|
|
|
+ // tag::delete-notfound[]
|
|
|
+ if (response.getResult().equals(DocWriteResponse.Result.NOT_FOUND)) {
|
|
|
+ throw new Exception("Can't find document to be removed"); // <1>
|
|
|
+ }
|
|
|
+ // end::delete-notfound[]
|
|
|
+ } catch (Exception ignored) { }
|
|
|
+
|
|
|
+ // tag::delete-execute-async[]
|
|
|
+ client.deleteAsync(request, new ActionListener<DeleteResponse>() {
|
|
|
+ @Override
|
|
|
+ public void onResponse(DeleteResponse deleteResponse) {
|
|
|
+ // <1>
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onFailure(Exception e) {
|
|
|
+ // <2>
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // end::delete-execute-async[]
|
|
|
+
|
|
|
+ // tag::delete-conflict[]
|
|
|
+ try {
|
|
|
+ client.delete(request);
|
|
|
+ } catch (ElasticsearchException exception) {
|
|
|
+ if (exception.status().equals(RestStatus.CONFLICT) {
|
|
|
+ // <1>
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // end::delete-conflict[]
|
|
|
+
|
|
|
+ }
|
|
|
+}
|