This is an automated email from the ASF dual-hosted git repository.

epugh pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/branch_9x by this push:
     new dc240253180 SOLR-17684: SolrJ Reference Guide (Ping) - Incorrect 
Status Retrieval (#3237)
dc240253180 is described below

commit dc240253180676e9fe301c5f7673c1e68297a51a
Author: Umut Saribiyik <[email protected]>
AuthorDate: Wed Mar 5 22:49:22 2025 +0100

    SOLR-17684: SolrJ Reference Guide (Ping) - Incorrect Status Retrieval 
(#3237)
    
    - Update ping.adoc with references from unit test.
    - Add unit test to illustrate the usage of the ping response.
---
 .../examples/UsingPingRefGuideExamplesTest.java    | 84 ++++++++++++++++++++++
 .../modules/deployment-guide/pages/ping.adoc       | 13 ++--
 2 files changed, 88 insertions(+), 9 deletions(-)

diff --git 
a/solr/solr-ref-guide/modules/deployment-guide/examples/UsingPingRefGuideExamplesTest.java
 
b/solr/solr-ref-guide/modules/deployment-guide/examples/UsingPingRefGuideExamplesTest.java
new file mode 100644
index 00000000000..8c5e0e28f8b
--- /dev/null
+++ 
b/solr/solr-ref-guide/modules/deployment-guide/examples/UsingPingRefGuideExamplesTest.java
@@ -0,0 +1,84 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF 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.
+ *
+ */
+
+import java.io.File;
+import org.apache.solr.client.solrj.SolrClient;
+import org.apache.solr.client.solrj.request.CollectionAdminRequest;
+import org.apache.solr.client.solrj.request.SolrPing;
+import org.apache.solr.client.solrj.response.SolrPingResponse;
+import org.apache.solr.cloud.SolrCloudTestCase;
+import org.apache.solr.util.ExternalPaths;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Example Ping usage.
+ *
+ * <p>Snippets surrounded by "tag" and "end" comments are extracted and used 
in the Solr Reference
+ * Guide.
+ */
+public class UsingPingRefGuideExamplesTest extends SolrCloudTestCase {
+
+  private static final int NUM_LIVE_NODES = 1;
+
+  @BeforeClass
+  public static void setUpCluster() throws Exception {
+    configureCluster(NUM_LIVE_NODES)
+        .addConfig("conf", new 
File(ExternalPaths.TECHPRODUCTS_CONFIGSET).toPath())
+        .configure();
+
+    CollectionAdminRequest.createCollection("techproducts", "conf", 1, 1)
+        .process(cluster.getSolrClient());
+    cluster.waitForActiveCollection("techproducts", 1, 1);
+  }
+
+  private SolrClient getSolrClient() {
+    return cluster.getSolrClient();
+  }
+
+  @Test
+  public void solrJExampleWithSolrPing() throws Exception {
+
+    final SolrClient solrClient = getSolrClient();
+    String collectionName = "techproducts";
+
+    // tag::solrj-example-with-solrping[]
+    SolrPing ping = new SolrPing();
+    ping.getParams()
+        .add("distrib", "true"); // To make it a distributed request against a 
collection
+    SolrPingResponse rsp = ping.process(solrClient, collectionName);
+    String status = (String) rsp.getResponse().get("status");
+    // end::solrj-example-with-solrping[]
+
+    assertEquals("OK", status);
+  }
+
+  @Test
+  public void solrJExampleWithSolrClient() throws Exception {
+
+    String collectionName = "techproducts";
+
+    // tag::solrj-example-with-solrclient[]
+    final SolrClient solrClient = getSolrClient();
+    SolrPingResponse pingResponse = solrClient.ping(collectionName);
+    String status = (String) pingResponse.getResponse().get("status");
+    // end::solrj-example-with-solrclient[]
+
+    assertEquals("OK", status);
+  }
+}
diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/ping.adoc 
b/solr/solr-ref-guide/modules/deployment-guide/pages/ping.adoc
index d85c080c826..169fb97e9ab 100644
--- a/solr/solr-ref-guide/modules/deployment-guide/pages/ping.adoc
+++ b/solr/solr-ref-guide/modules/deployment-guide/pages/ping.adoc
@@ -74,19 +74,14 @@ A status=OK indicates that the nodes are responding.
 
 *SolrJ Example with SolrPing*
 
-[source,java]
+[source,java,indent=0]
 ----
-SolrPing ping = new SolrPing();
-ping.getParams().add("distrib", "true"); //To make it a distributed request 
against a collection
-rsp = ping.process(solrClient, collectionName);
-int status = rsp.getStatus();
+include::example$UsingPingRefGuideExamplesTest.java[tag=solrj-example-with-solrping]
 ----
 
 *SolrJ Example with SolrClient*
 
-[source,java]
+[source,java,indent=0]
 ----
-SolrClient client = new HttpSolrClient.Builder(solrUrl).build();
-SolrPingResponse pingResponse = client.ping(collectionName);
-int status = pingResponse.getStatus();
+include::example$UsingPingRefGuideExamplesTest.java[tag=solrj-example-with-solrclient]
 ----

Reply via email to