|
32 | 32 | import org.apache.solr.client.solrj.SolrServerException; |
33 | 33 | import org.apache.solr.client.solrj.impl.CloudSolrClient; |
34 | 34 | import org.apache.solr.client.solrj.jetty.HttpJettySolrClient; |
35 | | -import org.apache.solr.client.solrj.request.CollectionAdminRequest; |
36 | | -import org.apache.solr.client.solrj.request.CoreAdminRequest; |
| 35 | +import org.apache.solr.client.solrj.request.CollectionsApi; |
| 36 | +import org.apache.solr.client.solrj.request.CoresApi; |
37 | 37 | import org.apache.solr.client.solrj.request.SystemInfoRequest; |
38 | | -import org.apache.solr.client.solrj.response.CoreAdminResponse; |
39 | 38 | import org.apache.solr.client.solrj.response.SystemInfoResponse; |
40 | | -import org.apache.solr.client.solrj.response.json.JsonMapResponseParser; |
41 | 39 | import org.apache.solr.cloud.ZkConfigSetService; |
42 | 40 | import org.apache.solr.common.cloud.ZkStateReader; |
43 | | -import org.apache.solr.common.util.NamedList; |
44 | 41 | import org.apache.solr.core.ConfigSetService; |
45 | | -import org.noggit.CharArr; |
46 | | -import org.noggit.JSONWriter; |
47 | 42 |
|
48 | 43 | /** Supports create command in the bin/solr script. */ |
49 | 44 | public class CreateTool extends ToolBase { |
@@ -182,14 +177,13 @@ protected void createCore(CommandLine cli, SolrClient solrClient) throws Excepti |
182 | 177 | + coreInstanceDir.toAbsolutePath()); |
183 | 178 | } |
184 | 179 |
|
185 | | - echoIfVerbose("\nCreating new core '" + coreName + "' using CoreAdminRequest"); |
| 180 | + echoIfVerbose("\nCreating new core '" + coreName + "' using V2 Cores API"); |
186 | 181 |
|
187 | 182 | try { |
188 | | - CoreAdminResponse res = CoreAdminRequest.createCore(coreName, coreName, solrClient); |
189 | | - if (isVerbose()) { |
190 | | - echo(res.jsonStr()); |
191 | | - echo("\n"); |
192 | | - } |
| 183 | + var req = new CoresApi.CreateCore(); |
| 184 | + req.setName(coreName); |
| 185 | + req.setInstanceDir(coreName); |
| 186 | + req.process(solrClient); |
193 | 187 | echo(String.format(Locale.ROOT, "\nCreated new core '%s'", coreName)); |
194 | 188 |
|
195 | 189 | } catch (Exception e) { |
@@ -277,31 +271,25 @@ protected void createCollection(CloudSolrClient cloudSolrClient, CommandLine cli |
277 | 271 | throw new IllegalStateException( |
278 | 272 | "\nCollection '" |
279 | 273 | + collectionName |
280 | | - + "' already exists!\nChecked collection existence using CollectionAdminRequest"); |
| 274 | + + "' already exists!\nChecked collection existence using V2 Collections API"); |
281 | 275 | } |
282 | 276 |
|
283 | 277 | // doesn't seem to exist ... try to create |
284 | | - echoIfVerbose( |
285 | | - "\nCreating new collection '" + collectionName + "' using CollectionAdminRequest"); |
| 278 | + echoIfVerbose("\nCreating new collection '" + collectionName + "' using V2 Collections API"); |
286 | 279 |
|
287 | | - NamedList<Object> response; |
288 | 280 | try { |
289 | | - var req = |
290 | | - CollectionAdminRequest.createCollection( |
291 | | - collectionName, confName, numShards, replicationFactor); |
292 | | - req.setResponseParser(new JsonMapResponseParser()); |
293 | | - response = cloudSolrClient.request(req); |
| 281 | + var req = new CollectionsApi.CreateCollection(); |
| 282 | + req.setName(collectionName); |
| 283 | + req.setConfig(confName); |
| 284 | + req.setNumShards(numShards); |
| 285 | + req.setReplicationFactor(replicationFactor); |
| 286 | + var response = req.process(cloudSolrClient); |
| 287 | + echoIfVerbose(response); |
294 | 288 | } catch (SolrServerException sse) { |
295 | 289 | throw new Exception( |
296 | 290 | "Failed to create collection '" + collectionName + "' due to: " + sse.getMessage()); |
297 | 291 | } |
298 | 292 |
|
299 | | - if (isVerbose()) { |
300 | | - // pretty-print the response to stdout |
301 | | - CharArr arr = new CharArr(); |
302 | | - new JSONWriter(arr, 2).write(response.asMap(10)); |
303 | | - echo(arr.toString()); |
304 | | - } |
305 | 293 | String endMessage = |
306 | 294 | String.format( |
307 | 295 | Locale.ROOT, |
|
0 commit comments