From 2b484cef814c8e0b3a84c90721b78eaee7955bdd Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Mon, 10 Jul 2023 10:10:19 -0400 Subject: [PATCH 01/58] Create empty SolrJ build module for api/model classes --- dev-tools/scripts/smokeTestRelease.py | 2 +- gradle/maven/defaults-maven.gradle | 1 + gradle/solr/packaging.gradle | 1 + settings.gradle | 1 + solr/core/build.gradle | 1 + solr/solrj-model/build.gradle | 40 +++++++++++++++++++ .../src/java/org/apache/solr/model/Dummy.java | 8 ++++ .../org/apache/solr/model/package-info.java | 4 ++ .../test/org/apache/solr/model/DummyTest.java | 11 +++++ 9 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 solr/solrj-model/build.gradle create mode 100644 solr/solrj-model/src/java/org/apache/solr/model/Dummy.java create mode 100644 solr/solrj-model/src/java/org/apache/solr/model/package-info.java create mode 100644 solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java diff --git a/dev-tools/scripts/smokeTestRelease.py b/dev-tools/scripts/smokeTestRelease.py index 50b517aae59..4bf09d7beec 100755 --- a/dev-tools/scripts/smokeTestRelease.py +++ b/dev-tools/scripts/smokeTestRelease.py @@ -606,7 +606,7 @@ def verifyUnpacked(java, artifact, unpackPath, gitRevision, version, testArgs): expected_src_root_folders = ['buildSrc', 'dev-docs', 'dev-tools', 'gradle', 'help', 'solr'] expected_src_root_files = ['build.gradle', 'gradlew', 'gradlew.bat', 'settings.gradle', 'versions.lock', 'versions.props'] expected_src_solr_files = ['build.gradle'] - expected_src_solr_folders = ['benchmark', 'bin', 'modules', 'core', 'docker', 'documentation', 'example', 'licenses', 'packaging', 'distribution', 'prometheus-exporter', 'server', 'solr-ref-guide', 'solrj', 'solrj-streaming', 'solrj-zookeeper', 'test-framework', 'webapp', '.gitignore', '.gitattributes'] + expected_src_solr_folders = ['benchmark', 'bin', 'modules', 'core', 'docker', 'documentation', 'example', 'licenses', 'packaging', 'distribution', 'prometheus-exporter', 'server', 'solr-ref-guide', 'solrj', 'solrj-streaming', 'solrj-zookeeper', 'solrj-model', 'test-framework', 'webapp', '.gitignore', '.gitattributes'] is_in_list(in_root_folder, expected_src_root_folders) is_in_list(in_root_folder, expected_src_root_files) is_in_list(in_solr_folder, expected_src_solr_folders) diff --git a/gradle/maven/defaults-maven.gradle b/gradle/maven/defaults-maven.gradle index 936de2c0988..bb08d25b89b 100644 --- a/gradle/maven/defaults-maven.gradle +++ b/gradle/maven/defaults-maven.gradle @@ -25,6 +25,7 @@ configure(rootProject) { ext { published = [ ":solr:core", + ":solr:solrj-model", ":solr:solrj", ":solr:solrj-streaming", ":solr:solrj-zookeeper", diff --git a/gradle/solr/packaging.gradle b/gradle/solr/packaging.gradle index b1993ab8194..dd751f3da0e 100644 --- a/gradle/solr/packaging.gradle +++ b/gradle/solr/packaging.gradle @@ -58,6 +58,7 @@ configure(allprojects.findAll {project -> project.path.startsWith(":solr:modules dependencies { solrPlatformLibs project(":solr:core") solrPlatformLibs project(":solr:solrj") + solrPlatformLibs project(":solr:solrj-model") solrPlatformLibs project(":solr:solrj-zookeeper") // libExt has logging libs, which we don't want. Lets users decide what they want. solrPlatformLibs project(path: ":solr:server", configuration: 'libExt') diff --git a/settings.gradle b/settings.gradle index 65235015950..12ed5c7cd3a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -29,6 +29,7 @@ includeBuild("dev-tools/solr-missing-doclet") include "solr:solrj" include "solr:solrj-zookeeper" include "solr:solrj-streaming" +include "solr:solrj-model" include "solr:core" include "solr:server" include "solr:modules:analysis-extras" diff --git a/solr/core/build.gradle b/solr/core/build.gradle index 83f48e2f223..9306e4a151f 100644 --- a/solr/core/build.gradle +++ b/solr/core/build.gradle @@ -55,6 +55,7 @@ dependencies { api 'org.slf4j:slf4j-api' api project(':solr:solrj') + api project(':solr:solrj-model') api project(':solr:solrj-zookeeper') api project(':solr:solrj-streaming') diff --git a/solr/solrj-model/build.gradle b/solr/solrj-model/build.gradle new file mode 100644 index 00000000000..de0c0000503 --- /dev/null +++ b/solr/solrj-model/build.gradle @@ -0,0 +1,40 @@ +/* + * 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. + */ + +apply plugin: 'java-library' + +description = 'Solrj-Model- Interfaces and classes used to represent Solrs APIs' + +dependencies { + // Spotbugs Annotations are only needed for old findbugs + // annotation usage like in Zookeeper during compilation time. + // It is not included in the release so exclude from checks. + compileOnly 'com.github.spotbugs:spotbugs-annotations' + permitUnusedDeclared 'com.github.spotbugs:spotbugs-annotations' + // Exclude these from jar validation and license checks. + configurations.jarValidation { + exclude group: "com.github.spotbugs", module: "spotbugs-annotations" + } + + // declare dependencies we use even though already declared by solrj-core + implementation 'org.slf4j:slf4j-api' + + testImplementation project(':solr:test-framework') + testImplementation project(':solr:core') + + testImplementation 'junit:junit' +} diff --git a/solr/solrj-model/src/java/org/apache/solr/model/Dummy.java b/solr/solrj-model/src/java/org/apache/solr/model/Dummy.java new file mode 100644 index 00000000000..b4e1eae6141 --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/model/Dummy.java @@ -0,0 +1,8 @@ +package org.apache.solr.model; + +public class Dummy { + + public boolean doThing() { + return true; // Did it + } +} diff --git a/solr/solrj-model/src/java/org/apache/solr/model/package-info.java b/solr/solrj-model/src/java/org/apache/solr/model/package-info.java new file mode 100644 index 00000000000..1ea295cef29 --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/model/package-info.java @@ -0,0 +1,4 @@ +/** + * "Model" interfaces and object types describing Solr's APIs + */ +package org.apache.solr.model; \ No newline at end of file diff --git a/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java b/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java new file mode 100644 index 00000000000..0f1ed5e25ac --- /dev/null +++ b/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java @@ -0,0 +1,11 @@ +package org.apache.solr.model; + +import org.apache.solr.SolrTestCaseJ4; +import org.junit.Test; + +public class DummyTest extends SolrTestCaseJ4 { + @Test + public void testDummy() { + assertEquals(true, new Dummy().doThing()); + } +} From 3741fb46c809c207e9e902de178d21714b074c3d Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 12 Jul 2023 09:19:39 -0400 Subject: [PATCH 02/58] Move sample API and models to solrj-model This commit moves several "model" classes (SolrJerseyResponse, ErrorInfo, etc.) to the new "solrj-model" module. With these in place, this commit also extracts an interface from a sample API chosen mostly at random (DeleteAliasAPI -> IDeleteAlias). We should be able to generate our OpenAPI spec just from this interface and the corresponding models. --- .../org/apache/solr/api/JerseyResource.java | 2 +- .../solr/handler/ReplicationHandler.java | 2 +- .../handler/admin/CollectionsHandler.java | 2 +- .../solr/handler/admin/ZookeeperReadAPI.java | 2 +- .../admin/api/AddReplicaPropertyAPI.java | 2 +- .../handler/admin/api/AliasPropertyAPI.java | 2 +- .../handler/admin/api/BalanceReplicasAPI.java | 2 +- .../admin/api/CollectionPropertyAPI.java | 2 +- .../handler/admin/api/CoreAdminAPIBase.java | 2 +- .../handler/admin/api/CoreReplicationAPI.java | 2 +- .../handler/admin/api/CoreSnapshotAPI.java | 2 +- .../handler/admin/api/CreateAliasAPI.java | 2 +- .../admin/api/CreateCollectionBackupAPI.java | 2 +- .../handler/admin/api/DeleteAliasAPI.java | 35 ++++----- .../admin/api/DeleteCollectionBackupAPI.java | 2 +- .../solr/handler/admin/api/DeleteNodeAPI.java | 2 +- .../admin/api/DeleteReplicaPropertyAPI.java | 2 +- .../handler/admin/api/ForceLeaderAPI.java | 2 +- .../solr/handler/admin/api/GetSchemaAPI.java | 2 +- .../handler/admin/api/GetSchemaFieldAPI.java | 2 +- .../admin/api/GetSchemaZkVersionAPI.java | 2 +- .../handler/admin/api/InstallCoreDataAPI.java | 2 +- .../admin/api/InstallShardDataAPI.java | 2 +- .../handler/admin/api/ListAliasesAPI.java | 2 +- .../admin/api/ListCollectionBackupsAPI.java | 2 +- .../handler/admin/api/ListCollectionsAPI.java | 2 +- .../handler/admin/api/MigrateReplicasAPI.java | 2 +- .../handler/admin/api/NodeLoggingAPI.java | 2 +- .../handler/admin/api/ReplaceNodeAPI.java | 2 +- .../admin/api/RestoreCollectionAPI.java | 2 +- .../solr/handler/admin/api/SyncShardAPI.java | 2 +- .../apache/solr/handler/api/V2ApiUtils.java | 73 +++++++++++-------- .../handler/configsets/ListConfigSetsAPI.java | 2 +- .../solr/jersey/AsyncJerseyResponse.java | 1 + .../solr/jersey/CatchAllExceptionMapper.java | 1 + .../solr/jersey/ExperimentalResponse.java | 1 + .../solr/jersey/MessageBodyWriters.java | 14 ++-- .../jersey/PostRequestDecorationFilter.java | 1 + .../solr/jersey/PostRequestLoggingFilter.java | 1 + .../solr/jersey/RequestContextKeys.java | 1 + .../solr/jersey/RequestMetricHandling.java | 1 + .../apache/solr/security/PublicKeyAPI.java | 2 +- .../apache/solr/servlet/ResponseUtils.java | 6 +- .../jersey/JacksonReflectMapWriterTest.java | 1 + .../apache/solr/model/api/ApiMetadata.java | 32 ++++++++ .../org/apache/solr/model/api/Constants.java | 24 ++++++ .../apache/solr/model/api/IDeleteAlias.java | 36 +++++++++ .../apache/solr/model/api/package-info.java | 21 ++++++ .../solr/model/api/response}/ErrorInfo.java | 19 +++-- .../api/response}/SolrJerseyResponse.java | 10 ++- .../solr/model/api/response/package-info.java | 21 ++++++ .../org/apache/solr/common/SolrException.java | 8 +- .../solr/common/util/ModelConstants.java | 30 ++++++++ 53 files changed, 293 insertions(+), 108 deletions(-) create mode 100644 solr/solrj-model/src/java/org/apache/solr/model/api/ApiMetadata.java create mode 100644 solr/solrj-model/src/java/org/apache/solr/model/api/Constants.java create mode 100644 solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteAlias.java create mode 100644 solr/solrj-model/src/java/org/apache/solr/model/api/package-info.java rename solr/{core/src/java/org/apache/solr/jersey => solrj-model/src/java/org/apache/solr/model/api/response}/ErrorInfo.java (68%) rename solr/{core/src/java/org/apache/solr/jersey => solrj-model/src/java/org/apache/solr/model/api/response}/SolrJerseyResponse.java (88%) create mode 100644 solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java create mode 100644 solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java diff --git a/solr/core/src/java/org/apache/solr/api/JerseyResource.java b/solr/core/src/java/org/apache/solr/api/JerseyResource.java index e96216e170e..09a2ed7261a 100644 --- a/solr/core/src/java/org/apache/solr/api/JerseyResource.java +++ b/solr/core/src/java/org/apache/solr/api/JerseyResource.java @@ -24,7 +24,7 @@ import javax.ws.rs.core.Context; import org.apache.solr.common.SolrException; import org.apache.solr.jersey.CatchAllExceptionMapper; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.servlet.HttpSolrCall; /** diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java index f49ef231f9e..c2511eabf94 100644 --- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java @@ -91,7 +91,7 @@ import org.apache.solr.handler.IndexFetcher.IndexFetchResult; import org.apache.solr.handler.admin.api.CoreReplicationAPI; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.metrics.MetricsMap; import org.apache.solr.metrics.SolrMetricsContext; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java index 23a0d094ed6..3537391ad2d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java @@ -199,7 +199,7 @@ import org.apache.solr.handler.admin.api.SplitShardAPI; import org.apache.solr.handler.admin.api.SyncShardAPI; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.logging.MDCLoggingContext; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java index a56c5b7deed..bb9bafc8e80 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java @@ -47,7 +47,7 @@ import org.apache.solr.jersey.ExperimentalResponse; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.RawResponseWriter; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java index 30936638ce5..12f1798c749 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java @@ -49,7 +49,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java index 02d2f7024c5..c60a1748312 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java @@ -49,7 +49,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java index 0a92fcea962..ad2dfb1cc4c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java @@ -42,7 +42,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java index 5302571dcad..7400e69ff4b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java @@ -33,7 +33,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java index a5d9431cc7f..a9207c84147 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java @@ -22,7 +22,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.logging.MDCLoggingContext; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java index f2c4ac60cd6..0352e0f5307 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java @@ -32,7 +32,7 @@ import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java index b5e028b8cf7..ae604d564ec 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java @@ -47,7 +47,7 @@ import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java index 95f191c485a..9c48fcbfb29 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java @@ -65,7 +65,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java index 4a5f1991fde..3d6968b0c54 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java @@ -54,7 +54,7 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.jersey.SolrJacksonMapper; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java index 4b9a4480507..b0f202cf44b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java @@ -17,21 +17,6 @@ package org.apache.solr.handler.admin.api; -import static org.apache.solr.client.solrj.impl.BinaryResponseParser.BINARY_CONTENT_TYPE_V2; -import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION; -import static org.apache.solr.common.params.CommonAdminParams.ASYNC; -import static org.apache.solr.common.params.CommonParams.NAME; -import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT; -import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM; - -import java.util.HashMap; -import java.util.Map; -import javax.inject.Inject; -import javax.ws.rs.DELETE; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -39,12 +24,24 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.AsyncJerseyResponse; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.IDeleteAlias; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -@Path("/aliases/{aliasName}") -public class DeleteAliasAPI extends AdminAPIBase { +import javax.inject.Inject; +import javax.ws.rs.PathParam; +import javax.ws.rs.QueryParam; +import java.util.HashMap; +import java.util.Map; + +import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION; +import static org.apache.solr.common.params.CommonAdminParams.ASYNC; +import static org.apache.solr.common.params.CommonParams.NAME; +import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT; +import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM; + +public class DeleteAliasAPI extends AdminAPIBase implements IDeleteAlias { @Inject public DeleteAliasAPI( CoreContainer coreContainer, @@ -53,8 +50,6 @@ public DeleteAliasAPI( super(coreContainer, solrQueryRequest, solrQueryResponse); } - @DELETE - @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) @PermissionName(COLL_EDIT_PERM) public SolrJerseyResponse deleteAlias( @PathParam("aliasName") String aliasName, @QueryParam("async") String asyncId) diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java index 4edc0ec9c6f..3e34ebe62ac 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java @@ -55,7 +55,7 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.jersey.SolrJacksonMapper; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java index 868e2b93273..1b5888e688d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java @@ -43,7 +43,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java index 933d31e640d..2c061eb7ce3 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java @@ -37,7 +37,7 @@ import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java index fd32b52a1f7..0c55a5e1c6b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java @@ -42,7 +42,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java index 3a966866727..9ceeee7d6e4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java @@ -30,7 +30,7 @@ import org.apache.solr.common.SolrException; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.schema.IndexSchema; import org.apache.solr.security.PermissionNameProvider; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java index 2ad7db4d863..cde597a1c03 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java @@ -37,7 +37,7 @@ import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.core.PluginInfo; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.pkg.PackageListeningClassLoader; import org.apache.solr.schema.IndexSchema; import org.apache.solr.security.PermissionNameProvider; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java index 56a22f77783..ff4a37bc0a0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java @@ -32,7 +32,7 @@ import org.apache.solr.cloud.ZkSolrResourceLoader; import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.schema.ManagedIndexSchema; import org.apache.solr.schema.ZkIndexSchemaReader; import org.apache.solr.security.PermissionNameProvider; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java index 53c47824f13..c32cba63321 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java @@ -37,7 +37,7 @@ import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java index d1c1faf0f36..7d77401bdcc 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java @@ -42,7 +42,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java index 0f7103e5155..6c4857277d1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java @@ -35,7 +35,7 @@ import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java index 89827b9ac03..a28d865db52 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java @@ -48,7 +48,7 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.jersey.SolrJacksonMapper; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java index df4fc547bf2..adecc55b511 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java @@ -32,7 +32,7 @@ import org.apache.solr.common.cloud.DocCollection; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java index da1188ef89d..69449027b66 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java @@ -44,7 +44,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java index 742a53d2d95..c6d3a8ca1ae 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java @@ -40,7 +40,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.logging.LogWatcher; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java index dc4fca1707d..b4dcf534cac 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java @@ -44,7 +44,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java index acd9ccf3a03..61d8aae6065 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java @@ -56,7 +56,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java index 07488e3c5ed..d36a0e1c579 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java @@ -41,7 +41,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java index 300082406e7..ebc5963354c 100644 --- a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java +++ b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java @@ -17,18 +17,22 @@ package org.apache.solr.handler.api; -import static org.apache.solr.client.solrj.impl.BinaryResponseParser.BINARY_CONTENT_TYPE_V2; -import static org.apache.solr.common.params.CommonParams.WT; - -import java.io.IOException; -import java.util.List; -import java.util.Map; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.solr.common.MapWriter.EntryWriter; import org.apache.solr.common.util.NamedList; +import org.apache.solr.common.util.Utils; import org.apache.solr.jersey.JacksonReflectMapWriter; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import java.util.List; +import java.util.Map; + +import static org.apache.solr.client.solrj.impl.BinaryResponseParser.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.common.params.CommonParams.WT; + /** Utilities helpful for common V2 API declaration tasks. */ public class V2ApiUtils { private V2ApiUtils() { @@ -56,33 +60,33 @@ public static void flattenToCommaDelimitedString( /** * Convert a JacksonReflectMapWriter (typically a {@link - * org.apache.solr.jersey.SolrJerseyResponse}) into the NamedList on a SolrQueryResponse, omitting + * SolrJerseyResponse}) into the NamedList on a SolrQueryResponse, omitting * the response header * * @param rsp the response to attach the resulting NamedList to * @param mw the input object to be converted into a NamedList */ public static void squashIntoSolrResponseWithoutHeader( - SolrQueryResponse rsp, JacksonReflectMapWriter mw) { - squashIntoNamedList(rsp.getValues(), mw, true); + SolrQueryResponse rsp, Object mw) { + squashObjectIntoNamedList(rsp.getValues(), mw, true); } /** * Convert a JacksonReflectMapWriter (typically a {@link - * org.apache.solr.jersey.SolrJerseyResponse}) into the NamedList on a SolrQueryResponse, + * SolrJerseyResponse}) into the NamedList on a SolrQueryResponse, * including the response header * * @param rsp the response to attach the resulting NamedList to * @param mw the input object to be converted into a NamedList */ public static void squashIntoSolrResponseWithHeader( - SolrQueryResponse rsp, JacksonReflectMapWriter mw) { - squashIntoNamedList(rsp.getValues(), mw, false); + SolrQueryResponse rsp, Object mw) { + squashObjectIntoNamedList(rsp.getValues(), mw, false); } public static void squashIntoNamedList( - NamedList destination, JacksonReflectMapWriter mw) { - squashIntoNamedList(destination, mw, false); + NamedList destination, Object mw) { + squashObjectIntoNamedList(destination, mw, false); } public static String getMediaTypeFromWtParam( @@ -101,23 +105,28 @@ public static String getMediaTypeFromWtParam( } } - private static void squashIntoNamedList( - NamedList destination, JacksonReflectMapWriter mw, boolean trimHeader) { - try { - mw.writeMap( - new EntryWriter() { - @Override - public EntryWriter put(CharSequence key, Object value) { - var kStr = key.toString(); - if (trimHeader && kStr.equals("responseHeader")) { - return null; - } - destination.add(kStr, value); - return this; // returning "this" means we can't use a lambda :-( - } - }); - } catch (IOException e) { - throw new RuntimeException(e); // impossible - } + public static void squashObjectIntoNamedList( + NamedList destination, Object o, boolean trimHeader) { + final var ew = new EntryWriter() { + @Override + public EntryWriter put(CharSequence key, Object value) { + var kStr = key.toString(); + if (trimHeader && kStr.equals("responseHeader")) { + return null; + } + destination.add(kStr, value); + return this; // returning "this" means we can't use a lambda :-( + } + }; + Utils.reflectWrite( + ew, + o, + // TODO Should we be lenient here and accept both the Jackson and our homegrown annotation? + field -> field.getAnnotation(JsonProperty.class) != null, + JsonAnyGetter.class, + field -> { + final JsonProperty prop = field.getAnnotation(JsonProperty.class); + return prop.value().isEmpty() ? field.getName() : prop.value(); + }); } } diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java index 978f290d763..9f01a50c30a 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java @@ -30,7 +30,7 @@ import org.apache.solr.api.JerseyResource; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; /** * V2 API for adding or updating a single file within a configset. diff --git a/solr/core/src/java/org/apache/solr/jersey/AsyncJerseyResponse.java b/solr/core/src/java/org/apache/solr/jersey/AsyncJerseyResponse.java index af08d227172..467891b538b 100644 --- a/solr/core/src/java/org/apache/solr/jersey/AsyncJerseyResponse.java +++ b/solr/core/src/java/org/apache/solr/jersey/AsyncJerseyResponse.java @@ -18,6 +18,7 @@ package org.apache.solr.jersey; import com.fasterxml.jackson.annotation.JsonProperty; +import org.apache.solr.model.api.response.SolrJerseyResponse; public class AsyncJerseyResponse extends SolrJerseyResponse { @JsonProperty("requestid") diff --git a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java index 6dfec0fe1ba..e237ca4d367 100644 --- a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java +++ b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java @@ -34,6 +34,7 @@ import org.apache.solr.common.SolrException; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.handler.api.V2ApiUtils; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.servlet.ResponseUtils; diff --git a/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java b/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java index 657e3652064..8c5c3a429ee 100644 --- a/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java +++ b/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java @@ -18,6 +18,7 @@ package org.apache.solr.jersey; import com.fasterxml.jackson.annotation.JsonProperty; +import org.apache.solr.model.api.response.SolrJerseyResponse; /** * {@link SolrJerseyResponse} implementation with a warning field indicating that the format may diff --git a/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java b/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java index 274f6b19fca..3d20705292a 100644 --- a/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java +++ b/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java @@ -54,7 +54,7 @@ public class MessageBodyWriters { @Produces(MediaType.APPLICATION_XML) public static class XmlMessageBodyWriter extends BaseMessageBodyWriter - implements MessageBodyWriter { + implements MessageBodyWriter { @Override public QueryResponseWriter createResponseWriter() { return new XMLResponseWriter(); @@ -68,7 +68,7 @@ public String getSupportedMediaType() { @Produces(BINARY_CONTENT_TYPE_V2) public static class JavabinMessageBodyWriter extends BaseMessageBodyWriter - implements MessageBodyWriter { + implements MessageBodyWriter { @Override public QueryResponseWriter createResponseWriter() { return new BinaryResponseWriter(); @@ -82,7 +82,7 @@ public String getSupportedMediaType() { @Produces(RawResponseWriter.CONTENT_TYPE) public static class RawMessageBodyWriter extends BaseMessageBodyWriter - implements MessageBodyWriter { + implements MessageBodyWriter { @Override public QueryResponseWriter createResponseWriter() { return new RawResponseWriter(); @@ -96,7 +96,7 @@ public String getSupportedMediaType() { @Produces(CONTENT_TYPE_TEXT_UTF8) public static class CsvMessageBodyWriter extends BaseMessageBodyWriter - implements MessageBodyWriter { + implements MessageBodyWriter { @Override public QueryResponseWriter createResponseWriter() { return new CSVResponseWriter(); @@ -109,7 +109,7 @@ public String getSupportedMediaType() { } public abstract static class BaseMessageBodyWriter - implements MessageBodyWriter { + implements MessageBodyWriter { @Context protected ResourceContext resourceContext; private final QueryResponseWriter responseWriter = createResponseWriter(); @@ -126,7 +126,7 @@ public boolean isWriteable( @Override public void writeTo( - JacksonReflectMapWriter reflectMapWriter, + Object toWrite, Class type, Type genericType, Annotation[] annotations, @@ -141,7 +141,7 @@ public void writeTo( final SolrQueryResponse solrQueryResponse = (SolrQueryResponse) requestContext.getProperty(SOLR_QUERY_RESPONSE); - V2ApiUtils.squashIntoSolrResponseWithHeader(solrQueryResponse, reflectMapWriter); + V2ApiUtils.squashIntoSolrResponseWithHeader(solrQueryResponse, toWrite); QueryResponseWriterUtil.writeQueryResponse( entityStream, responseWriter, solrQueryRequest, solrQueryResponse, mediaType.toString()); } diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java index b7ecd64720c..bcd5c3c2bee 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java @@ -27,6 +27,7 @@ import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; import org.apache.solr.core.SolrCore; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrRequestHandler; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java index f2d35e93573..311ec76ea17 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java @@ -41,6 +41,7 @@ import org.apache.solr.common.util.CollectionUtil; import org.apache.solr.common.util.StrUtils; import org.apache.solr.core.SolrCore; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.servlet.HttpSolrCall; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java index f300ffa4bbb..e17a8f92b92 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java @@ -26,6 +26,7 @@ import org.apache.solr.core.PluginBag; import org.apache.solr.core.SolrCore; import org.apache.solr.handler.RequestHandlerBase; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.security.AuthorizationContext; diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java index a6e8b03919e..df8884eabc4 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java @@ -32,6 +32,7 @@ import javax.ws.rs.core.Context; import org.apache.solr.core.PluginBag; import org.apache.solr.handler.RequestHandlerBase; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java index 94ee5b099ac..f3a3405c74d 100644 --- a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java +++ b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java @@ -27,7 +27,7 @@ import javax.ws.rs.Produces; import org.apache.solr.api.JerseyResource; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; +import org.apache.solr.model.api.response.SolrJerseyResponse; /** * V2 API for fetching the public key of the receiving node. diff --git a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java index 9471b64befe..f5d9442b8fd 100644 --- a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java +++ b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java @@ -21,7 +21,7 @@ import org.apache.solr.api.ApiBag; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.NamedList; -import org.apache.solr.jersey.ErrorInfo; +import org.apache.solr.model.api.response.ErrorInfo; import org.slf4j.Logger; /** Response helper methods. */ @@ -50,9 +50,9 @@ public static int getErrorInfo(Throwable ex, NamedList info, Logger log) if (errorMetadata == null) { errorMetadata = new NamedList<>(); } - errorMetadata.add(SolrException.ERROR_CLASS, ex.getClass().getName()); + errorMetadata.add(ErrorInfo.ERROR_CLASS, ex.getClass().getName()); errorMetadata.add( - SolrException.ROOT_ERROR_CLASS, SolrException.getRootCause(ex).getClass().getName()); + ErrorInfo.ROOT_ERROR_CLASS, SolrException.getRootCause(ex).getClass().getName()); info.add("metadata", errorMetadata); if (ex instanceof ApiBag.ExceptionWithErrObject) { ApiBag.ExceptionWithErrObject exception = (ApiBag.ExceptionWithErrObject) ex; diff --git a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java index 12c31f62f53..76df9545312 100644 --- a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java +++ b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java @@ -24,6 +24,7 @@ import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; import org.apache.solr.handler.api.V2ApiUtils; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.junit.Test; /** diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/ApiMetadata.java b/solr/solrj-model/src/java/org/apache/solr/model/api/ApiMetadata.java new file mode 100644 index 00000000000..78cf380e724 --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/ApiMetadata.java @@ -0,0 +1,32 @@ +/* + * 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. + */ + +package org.apache.solr.model.api; + +import io.swagger.v3.oas.annotations.OpenAPIDefinition; +import io.swagger.v3.oas.annotations.info.Info; +import io.swagger.v3.oas.annotations.info.License; + +@OpenAPIDefinition( + info = + @Info( + title = "v2 API", + description = "OpenAPI spec for Solr's v2 API endpoints", + license = @License(name = "ASL 2.0"), + version = "10.0.0")) // TODO Move core's SolrVersion into solrj-model and use SolrVersion.LATEST_STRING here instead of the hardcode. +public class ApiMetadata { +} diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/Constants.java b/solr/solrj-model/src/java/org/apache/solr/model/api/Constants.java new file mode 100644 index 00000000000..a45d3f103d9 --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/Constants.java @@ -0,0 +1,24 @@ +/* + * 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. + */ + +package org.apache.solr.model.api; + +public class Constants { + private Constants() { /* Private ctor prevents instantiation */ } + + public static final String BINARY_CONTENT_TYPE_V2 = "application/vnd.apache.solr.javabin"; +} diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteAlias.java b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteAlias.java new file mode 100644 index 00000000000..581685e95b0 --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteAlias.java @@ -0,0 +1,36 @@ +/* + * 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. + */ + +package org.apache.solr.model.api; + +import org.apache.solr.model.api.response.SolrJerseyResponse; + +import javax.ws.rs.DELETE; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; + +import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; + +@Path("/aliases/{aliasName}") +public interface IDeleteAlias { + + @DELETE + @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) + SolrJerseyResponse deleteAlias(@PathParam("aliasName") String aliasName, @QueryParam("async") String asyncId) throws Exception ; +} diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/package-info.java b/solr/solrj-model/src/java/org/apache/solr/model/api/package-info.java new file mode 100644 index 00000000000..e780df59ae2 --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/package-info.java @@ -0,0 +1,21 @@ +/* + * 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. + */ + +/** + * Model classes representing Solr individual Solr APIs. + */ +package org.apache.solr.model.api; \ No newline at end of file diff --git a/solr/core/src/java/org/apache/solr/jersey/ErrorInfo.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/ErrorInfo.java similarity index 68% rename from solr/core/src/java/org/apache/solr/jersey/ErrorInfo.java rename to solr/solrj-model/src/java/org/apache/solr/model/api/response/ErrorInfo.java index 24ca06d64ff..1c94063985f 100644 --- a/solr/core/src/java/org/apache/solr/jersey/ErrorInfo.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/ErrorInfo.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -15,19 +15,24 @@ * limitations under the License. */ -package org.apache.solr.jersey; +package org.apache.solr.model.api.response; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; import java.util.Map; -import org.apache.solr.common.SolrException; /** * A value type representing an error. * *

Based on the fields exposed in responses from Solr's v1/requestHandler API. */ -public class ErrorInfo implements JacksonReflectMapWriter { +public class ErrorInfo { + + // TODO These are used by some classes in 'solrj' - should we just duplicate, or should we have solrj rely on solrj-model directly? + // (though if so, how do we avoid pulling in jackson-annotations - is a dependency exclude sufficient for that?) + public static final String ROOT_ERROR_CLASS = "root-error-class"; + public static final String ERROR_CLASS = "error-class"; + @JsonProperty("metadata") public ErrorMetadata metadata; @@ -43,11 +48,11 @@ public class ErrorInfo implements JacksonReflectMapWriter { @JsonProperty("code") public Integer code; - public static class ErrorMetadata implements JacksonReflectMapWriter { - @JsonProperty(SolrException.ERROR_CLASS) + public static class ErrorMetadata { + @JsonProperty(ERROR_CLASS) public String errorClass; - @JsonProperty(SolrException.ROOT_ERROR_CLASS) + @JsonProperty(ROOT_ERROR_CLASS) public String rootErrorClass; } } diff --git a/solr/core/src/java/org/apache/solr/jersey/SolrJerseyResponse.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/SolrJerseyResponse.java similarity index 88% rename from solr/core/src/java/org/apache/solr/jersey/SolrJerseyResponse.java rename to solr/solrj-model/src/java/org/apache/solr/model/api/response/SolrJerseyResponse.java index 770fc1eec53..30273bd23c5 100644 --- a/solr/core/src/java/org/apache/solr/jersey/SolrJerseyResponse.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/SolrJerseyResponse.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -15,11 +15,13 @@ * limitations under the License. */ -package org.apache.solr.jersey; +package org.apache.solr.model.api.response; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonProperty; +import org.apache.solr.model.api.response.ErrorInfo; + import java.util.HashMap; import java.util.Map; @@ -29,7 +31,7 @@ *

Contains fields common to all Solr API responses, particularly the 'responseHeader' and * 'error' fields. */ -public class SolrJerseyResponse implements JacksonReflectMapWriter { +public class SolrJerseyResponse { @JsonProperty("responseHeader") public ResponseHeader responseHeader = new ResponseHeader(); @@ -37,7 +39,7 @@ public class SolrJerseyResponse implements JacksonReflectMapWriter { @JsonProperty("error") public ErrorInfo error; - public static class ResponseHeader implements JacksonReflectMapWriter { + public static class ResponseHeader { @JsonProperty("status") public int status; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java new file mode 100644 index 00000000000..2cd07020713 --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java @@ -0,0 +1,21 @@ +/* + * 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. + */ + +/** + * Model classes representing Solr API responses. + */ +package org.apache.solr.model.api.response; \ No newline at end of file diff --git a/solr/solrj/src/java/org/apache/solr/common/SolrException.java b/solr/solrj/src/java/org/apache/solr/common/SolrException.java index e96bf302796..b0900371381 100644 --- a/solr/solrj/src/java/org/apache/solr/common/SolrException.java +++ b/solr/solrj/src/java/org/apache/solr/common/SolrException.java @@ -16,16 +16,18 @@ */ package org.apache.solr.common; -import java.util.Map; import org.apache.solr.common.util.NamedList; import org.slf4j.Logger; import org.slf4j.MDC; +import java.util.Map; + +import static org.apache.solr.common.util.ModelConstants.ERROR_CLASS; +import static org.apache.solr.common.util.ModelConstants.ROOT_ERROR_CLASS; + /** */ public class SolrException extends RuntimeException { - public static final String ROOT_ERROR_CLASS = "root-error-class"; - public static final String ERROR_CLASS = "error-class"; private final Map mdcContext; /** diff --git a/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java b/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java new file mode 100644 index 00000000000..832e39810a2 --- /dev/null +++ b/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java @@ -0,0 +1,30 @@ +/* + * 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. + */ + +package org.apache.solr.common.util; + +// TODO This probably shouldn't exist in a final product, but it's fine for a POC +/** + * Constants duplicated from solrj-model so we can avoid depending on it directly + */ +public class ModelConstants { + + private ModelConstants() { /* Private ctor prevents instantiation */ } + + public static final String ROOT_ERROR_CLASS = "root-error-class"; + public static final String ERROR_CLASS = "error-class"; +} From 4d180d358e040c26259f62a2d370b6b4d0215cc7 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 12 Jul 2023 09:32:44 -0400 Subject: [PATCH 03/58] Move spec generation to solrj-model Mostly involves gradle changes, but also involves a few Java changes as OpenAPI metadata annotations need moved off of JerseyApplications to elsewhere. --- solr/core/build.gradle | 12 ------------ .../solr/jersey/JerseyApplications.java | 7 ------- solr/solrj-model/build.gradle | 19 +++++++++++++++++++ 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/solr/core/build.gradle b/solr/core/build.gradle index 9306e4a151f..0ce0970cd87 100644 --- a/solr/core/build.gradle +++ b/solr/core/build.gradle @@ -15,20 +15,10 @@ * limitations under the License. */ -plugins { - id 'io.swagger.core.v3.swagger-gradle-plugin' version '2.2.2' -} - apply plugin: 'java-library' description = 'Apache Solr Core' -resolve { - classpath = sourceSets.main.runtimeClasspath - outputDir = file("build/generated/openapi") - prettyPrint = true -} - dependencies { // Spotbugs Annotations are only needed for old findbugs // annotation usage like in Zookeeper during compilation time. @@ -41,8 +31,6 @@ dependencies { exclude group: "com.github.spotbugs", module: "spotbugs-annotations" } - implementation 'io.swagger.core.v3:swagger-annotations' - // Export these dependencies so that they're imported transitively by // other modules. diff --git a/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java b/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java index bd4283c2dcf..c617a56ae0e 100644 --- a/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java +++ b/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java @@ -36,13 +36,6 @@ * JAX-RS "application" configurations for Solr's {@link org.apache.solr.core.CoreContainer} and * {@link SolrCore} instances */ -@OpenAPIDefinition( - info = - @Info( - title = "v2 API", - description = "OpenAPI spec for Solr's v2 API endpoints", - license = @License(name = "ASL 2.0"), - version = SolrVersion.LATEST_STRING)) public class JerseyApplications { public static class CoreContainerApp extends ResourceConfig { diff --git a/solr/solrj-model/build.gradle b/solr/solrj-model/build.gradle index de0c0000503..765881bb461 100644 --- a/solr/solrj-model/build.gradle +++ b/solr/solrj-model/build.gradle @@ -15,6 +15,10 @@ * limitations under the License. */ +plugins { + id 'io.swagger.core.v3.swagger-gradle-plugin' version '2.2.2' +} + apply plugin: 'java-library' description = 'Solrj-Model- Interfaces and classes used to represent Solrs APIs' @@ -30,9 +34,24 @@ dependencies { exclude group: "com.github.spotbugs", module: "spotbugs-annotations" } +ext { + openapispecdir = "${buildDir}/generated/openapi" +// openapispecfile = "${project.ext.openapispecdir}/openapi.json" +} + +resolve { + classpath = sourceSets.main.runtimeClasspath + outputDir = file(project.ext.openapispecdir) + prettyPrint = true +} + // declare dependencies we use even though already declared by solrj-core implementation 'org.slf4j:slf4j-api' + implementation 'jakarta.ws.rs:jakarta.ws.rs-api' + implementation 'com.fasterxml.jackson.core:jackson-annotations' + implementation 'io.swagger.core.v3:swagger-annotations' + testImplementation project(':solr:test-framework') testImplementation project(':solr:core') From b8b75ebcf174b41815dd0e86a417b07a8cef8d3a Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 12 Jul 2023 09:39:38 -0400 Subject: [PATCH 04/58] Introduce Java codegen to solrj module Now that solrj-model is producing an OpenAPI spec, solrj can rely on this as an "artifact" and use it to generate Java code that would live as a part of SolrJ. The trickiest part of this change is making sure that solrj-model properly advertises openapi.json as an 'artifact', and ensuring that solrj knows to generate Java code from it prior to compilation. --- solr/solrj-model/build.gradle | 23 ++++++++++------- solr/solrj/build.gradle | 47 +++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 9 deletions(-) diff --git a/solr/solrj-model/build.gradle b/solr/solrj-model/build.gradle index 765881bb461..720919fe60b 100644 --- a/solr/solrj-model/build.gradle +++ b/solr/solrj-model/build.gradle @@ -23,16 +23,12 @@ apply plugin: 'java-library' description = 'Solrj-Model- Interfaces and classes used to represent Solrs APIs' -dependencies { - // Spotbugs Annotations are only needed for old findbugs - // annotation usage like in Zookeeper during compilation time. - // It is not included in the release so exclude from checks. - compileOnly 'com.github.spotbugs:spotbugs-annotations' - permitUnusedDeclared 'com.github.spotbugs:spotbugs-annotations' - // Exclude these from jar validation and license checks. - configurations.jarValidation { - exclude group: "com.github.spotbugs", module: "spotbugs-annotations" +configurations { + openapiSpec { + canBeConsumed = true + canBeResolved = false } +} ext { openapispecdir = "${buildDir}/generated/openapi" @@ -45,6 +41,9 @@ resolve { prettyPrint = true } + + +dependencies { // declare dependencies we use even though already declared by solrj-core implementation 'org.slf4j:slf4j-api' @@ -57,3 +56,9 @@ resolve { testImplementation 'junit:junit' } + +artifacts { + openapiSpec resolve.outputDir, { + builtBy resolve + } +} diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 3d9e791ff51..f6cf779373c 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -15,13 +15,60 @@ * limitations under the License. */ +plugins { + id "org.openapi.generator" version "6.6.0" +} + apply plugin: 'java-library' description = 'Solrj - Solr Java Client' +configurations { + openApiSpecFile { + canBeConsumed = false + } + generatedCode +} + +tasks.register("copySpec", Copy) { + from("../solrj-model/build/generated/openapi") + into(layout.buildDirectory.dir("openapispec")) +} + +openApiGenerate { + generatorName = "java" + // TODO - pretty hacky to specify inputSpec this way...ideally I'd just rely on a property defined in + // solrj-model, as below, but it doesn't appear to be working + //inputSpec = project(":solr:solrj-model").ext.openapispecfile + inputSpec = "${buildDir}/openapispec/openapi.json" + + //globalProperties.set([models: "", modelDocs: "false", apis: ""]) + //templateDir = "$rootDir/solr/solrj/src/resources/java-template" // maybe use $projectDir to start this string off + outputDir = "${buildDir}/generated/main/java" + generateApiTests = false + generateModelTests = false +} +tasks.getByName("copySpec").dependsOn configurations.getByName("openApiSpecFile") +tasks.getByName("openApiGenerate").dependsOn tasks.copySpec + +sourceSets { + main { + java { + srcDir "${buildDir}/generated/main/java" + } + } +} +tasks.compileJava.dependsOn(configurations.generatedCode) + + dependencies { + openApiSpecFile(project(path: ":solr:solrj-model", configuration: "openapiSpec")) + generatedCode files("${buildDir}/generated/main/java") { + builtBy tasks.openApiGenerate + } + implementation 'org.slf4j:slf4j-api' runtimeOnly 'org.slf4j:jcl-over-slf4j' From 2e6f9cb9723180bf75b999b13f4b8fae745207ff Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 12 Jul 2023 09:43:54 -0400 Subject: [PATCH 05/58] Limit files generated by openapi-generator By default, openapi-generator produces a complete client, including integration with HTTP libraries, utility classes, documentation, etc. We want very little of this for our purposes, since we're just looking to auto-generate SolrRequest implementations for now. The 'globalProperties' setting allows us to lock down the files that the generator produces, which really lowers the noise in the generated code. --- solr/solrj/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index f6cf779373c..4b780fcd00c 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -43,7 +43,7 @@ openApiGenerate { //inputSpec = project(":solr:solrj-model").ext.openapispecfile inputSpec = "${buildDir}/openapispec/openapi.json" - //globalProperties.set([models: "", modelDocs: "false", apis: ""]) + globalProperties.set([models: "", modelDocs: "false", apis: ""]) //templateDir = "$rootDir/solr/solrj/src/resources/java-template" // maybe use $projectDir to start this string off outputDir = "${buildDir}/generated/main/java" generateApiTests = false From 1894bb1c56878a2a2c54a5a91058bb6be5d3f34d Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 12 Jul 2023 09:56:15 -0400 Subject: [PATCH 06/58] Add template override directory We need to make changes to the template for it to look the way we need it to. This commit tweaks the generation to rely on a template override directory, 'src/resources/java-template'. This will probably need to move eventually - I don't want this included in the solrj jar after all. But it's fine for a POC. This commit doesn't actually make any changes to the api.mustache file from the default that ships in the generator. But it sets the stage for us to make changes in subsequent commits. In terms of the specific changes, there are two directions we can go in: 1. Generate request objects that match the current SolrRequest contract. This requires the fewest changes to SolrJ as it exists, but requires our generated code to work with NamedList even though we have strongly typed classes at our disposal. 2. Generate request objects that fulfill a SolrRequest contract modified in some way to take advantage of the strongly typed classes we have available to us. IMO this would be cleaner overall, but would probably require changes to SolrClient, because of how the SolrRequest contract is used by SolrClient internally to make requests. I'll start by going the first route and seeing how that turns out. --- solr/solrj/build.gradle | 2 +- .../src/resources/java-template/api.mustache | 575 ++++++++++++++++++ 2 files changed, 576 insertions(+), 1 deletion(-) create mode 100644 solr/solrj/src/resources/java-template/api.mustache diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 4b780fcd00c..6682684c1cc 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -44,7 +44,7 @@ openApiGenerate { inputSpec = "${buildDir}/openapispec/openapi.json" globalProperties.set([models: "", modelDocs: "false", apis: ""]) - //templateDir = "$rootDir/solr/solrj/src/resources/java-template" // maybe use $projectDir to start this string off + templateDir = "$projectDir/src/resources/java-template" outputDir = "${buildDir}/generated/main/java" generateApiTests = false generateModelTests = false diff --git a/solr/solrj/src/resources/java-template/api.mustache b/solr/solrj/src/resources/java-template/api.mustache new file mode 100644 index 00000000000..98a4c11a353 --- /dev/null +++ b/solr/solrj/src/resources/java-template/api.mustache @@ -0,0 +1,575 @@ +{{>licenseInfo}} + +package {{package}}; + +import {{invokerPackage}}.ApiCallback; +import {{invokerPackage}}.ApiClient; +import {{invokerPackage}}.ApiException; +{{#dynamicOperations}} +import {{invokerPackage}}.ApiOperation; +{{/dynamicOperations}} +import {{invokerPackage}}.ApiResponse; +import {{invokerPackage}}.Configuration; +import {{invokerPackage}}.Pair; +import {{invokerPackage}}.ProgressRequestBody; +import {{invokerPackage}}.ProgressResponseBody; +{{#performBeanValidation}} +import {{invokerPackage}}.BeanValidationException; +{{/performBeanValidation}} + +import com.google.gson.reflect.TypeToken; +{{#dynamicOperations}} +import io.swagger.v3.oas.models.Operation; +import io.swagger.v3.oas.models.parameters.Parameter; +{{/dynamicOperations}} + +import java.io.IOException; + +{{#useBeanValidation}} +import {{javaxPackage}}.validation.constraints.*; +{{/useBeanValidation}} +{{#performBeanValidation}} +import {{javaxPackage}}.validation.ConstraintViolation; +import {{javaxPackage}}.validation.Validation; +import {{javaxPackage}}.validation.ValidatorFactory; +import {{javaxPackage}}.validation.executable.ExecutableValidator; +import java.util.Set; +import java.lang.reflect.Method; +import java.lang.reflect.Type; +{{/performBeanValidation}} + +{{#imports}}import {{import}}; +{{/imports}} + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +{{#supportStreaming}} +import java.io.InputStream; +{{/supportStreaming}} + +// JEGERLOW +{{#operations}} +public class {{classname}} { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public {{classname}}() { + this(Configuration.getDefaultApiClient()); + } + + public {{classname}}(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + {{#operation}} + {{^vendorExtensions.x-group-parameters}}/** + * Build call for {{operationId}}{{#allParams}} + * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}{{/allParams}} + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + {{#responses.0}} + * @http.response.details + + + {{#responses}} + + {{/responses}} +
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
+ {{/responses.0}} + {{#isDeprecated}} + * @deprecated + {{/isDeprecated}} + {{#externalDocs}} + * {{description}} + * @see {{summary}} Documentation + {{/externalDocs}} + */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} + public{{/vendorExtensions.x-group-parameters}}{{#vendorExtensions.x-group-parameters}}private{{/vendorExtensions.x-group-parameters}} okhttp3.Call {{operationId}}Call({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { {{#servers}}"{{{url}}}"{{^-last}}, {{/-last}}{{/servers}} }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = {{#bodyParam}}{{paramName}}{{/bodyParam}}{{^bodyParam}}null{{/bodyParam}}; + + // create path and map variables + {{^dynamicOperations}} + String localVarPath = "{{{path}}}"{{#pathParams}} + .replace("{" + "{{baseName}}" + "}", localVarApiClient.escapeString({{#collectionFormat}}localVarApiClient.collectionPathParameterToString("{{{collectionFormat}}}", {{{paramName}}}){{/collectionFormat}}{{^collectionFormat}}{{{paramName}}}.toString(){{/collectionFormat}})){{/pathParams}}; + {{/dynamicOperations}} + {{#dynamicOperations}} + ApiOperation apiOperation = localVarApiClient.getOperationLookupMap().get("{{{operationId}}}"); + if (apiOperation == null) { + throw new ApiException("Operation not found in OAS"); + } + Operation operation = apiOperation.getOperation(); + String localVarPath = apiOperation.getPath(); + Map paramMap = new HashMap<>(); + {{#allParams}} + {{^isFormParam}} + {{^isBodyParam}} + paramMap.put("{{baseName}}", {{paramName}}); + {{/isBodyParam}} + {{/isFormParam}} + {{/allParams}} + {{/dynamicOperations}} + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + {{#formParams}} + if ({{paramName}} != null) { + localVarFormParams.put("{{baseName}}", {{paramName}}); + } + + {{/formParams}} + {{^dynamicOperations}} + {{#queryParams}} + if ({{paramName}} != null) { + {{#collectionFormat}}localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("{{{.}}}", {{/collectionFormat}}{{^collectionFormat}}localVarQueryParams.addAll(localVarApiClient.parameterToPair({{/collectionFormat}}"{{baseName}}", {{paramName}})); + } + + {{/queryParams}} + {{#headerParams}} + if ({{paramName}} != null) { + localVarHeaderParams.put("{{baseName}}", localVarApiClient.parameterToString({{paramName}})); + } + + {{/headerParams}} + {{#cookieParams}} + if ({{paramName}} != null) { + localVarCookieParams.put("{{baseName}}", localVarApiClient.parameterToString({{paramName}})); + } + + {{/cookieParams}} + {{/dynamicOperations}} + {{#dynamicOperations}} + localVarPath = localVarApiClient.fillParametersFromOperation(operation, paramMap, localVarPath, localVarQueryParams, localVarCollectionQueryParams, localVarHeaderParams, localVarCookieParams); + + {{/dynamicOperations}} + final String[] localVarAccepts = { + {{#produces}} + "{{{mediaType}}}"{{^-last}},{{/-last}} + {{/produces}} + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + {{#consumes}} + "{{{mediaType}}}"{{^-last}},{{/-last}} + {{/consumes}} + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { {{#withAWSV4Signature}}"AWS4Auth"{{/withAWSV4Signature}}{{#authMethods}}{{#-first}}{{#withAWSV4Signature}}, {{/withAWSV4Signature}}{{/-first}}"{{name}}"{{^-last}}, {{/-last}}{{/authMethods}} }; + return localVarApiClient.buildCall(basePath, localVarPath, {{^dynamicOperations}}"{{httpMethod}}"{{/dynamicOperations}}{{#dynamicOperations}}apiOperation.getMethod(){{/dynamicOperations}}, localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} + @SuppressWarnings("rawtypes") + private okhttp3.Call {{operationId}}ValidateBeforeCall({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ApiCallback _callback) throws ApiException { + {{^performBeanValidation}} + {{#allParams}} + {{#required}} + // verify the required parameter '{{paramName}}' is set + if ({{paramName}} == null) { + throw new ApiException("Missing the required parameter '{{paramName}}' when calling {{operationId}}(Async)"); + } + + {{/required}} + {{/allParams}} + return {{operationId}}Call({{#allParams}}{{paramName}}, {{/allParams}}_callback); + + {{/performBeanValidation}} + {{#performBeanValidation}} + try { + ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); + ExecutableValidator executableValidator = factory.getValidator().forExecutables(); + + Object[] parameterValues = { {{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}} }; + Method method = this.getClass().getMethod("{{operationId}}WithHttpInfo"{{#allParams}}, {{#isArray}}java.util.List{{/isArray}}{{#isMap}}java.util.Map{{/isMap}}{{^isArray}}{{^isMap}}{{{dataType}}}{{/isMap}}{{/isArray}}.class{{/allParams}}); + Set> violations = executableValidator.validateParameters(this, method, + parameterValues); + + if (violations.size() == 0) { + return {{operationId}}Call({{#allParams}}{{paramName}}, {{/allParams}}_callback); + } else { + throw new BeanValidationException((Set) violations); + } + } catch (NoSuchMethodException e) { + e.printStackTrace(); + throw new ApiException(e.getMessage()); + } catch (SecurityException e) { + e.printStackTrace(); + throw new ApiException(e.getMessage()); + } + {{/performBeanValidation}} + } + + {{^vendorExtensions.x-group-parameters}} + /** + * {{summary}} + * {{notes}}{{#allParams}} + * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}{{/allParams}}{{#returnType}} + * @return {{.}}{{/returnType}} + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + {{#responses.0}} + * @http.response.details + + + {{#responses}} + + {{/responses}} +
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
+ {{/responses.0}} + {{#isDeprecated}} + * @deprecated + {{/isDeprecated}} + {{#externalDocs}} + * {{description}} + * @see {{summary}} Documentation + {{/externalDocs}} + */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} + {{#vendorExtensions.x-streaming}} + public {{#returnType}}InputStream {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) throws ApiException { + {{#returnType}}InputStream localVarResp = {{/returnType}}{{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}});{{#returnType}} + return localVarResp;{{/returnType}} + } + {{/vendorExtensions.x-streaming}} + {{^vendorExtensions.x-streaming}} + public {{#returnType}}{{{.}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) throws ApiException { + {{#returnType}}ApiResponse<{{{.}}}> localVarResp = {{/returnType}}{{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}});{{#returnType}} + return localVarResp.getData();{{/returnType}} + } + {{/vendorExtensions.x-streaming}} + {{/vendorExtensions.x-group-parameters}} + + {{^vendorExtensions.x-group-parameters}}/** + * {{summary}} + * {{notes}}{{#allParams}} + * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}{{/allParams}} + * @return ApiResponse<{{returnType}}{{^returnType}}Void{{/returnType}}> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + {{#responses.0}} + * @http.response.details + + + {{#responses}} + + {{/responses}} +
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
+ {{/responses.0}} + {{#isDeprecated}} + * @deprecated + {{/isDeprecated}} + {{#externalDocs}} + * {{description}} + * @see {{summary}} Documentation + {{/externalDocs}} + */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} + public{{/vendorExtensions.x-group-parameters}}{{#vendorExtensions.x-group-parameters}}private{{/vendorExtensions.x-group-parameters}}{{#vendorExtensions.x-streaming}} InputStream {{operationId}}WithHttpInfo({{#allParams}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) throws ApiException { + okhttp3.Call localVarCall = {{operationId}}ValidateBeforeCall({{#allParams}}{{paramName}}, {{/allParams}}null); + {{#returnType}} + {{#errorObjectType}} + try { + Type localVarReturnType = new TypeToken<{{{returnType}}}>(){}.getType(); + return localVarApiClient.executeStream(localVarCall, localVarReturnType); + } catch (ApiException e) { + e.setErrorObject(localVarApiClient.getJSON().getGson().fromJson(e.getResponseBody(), new TypeToken<{{{errorObjectType}}}>(){}.getType())); + throw e; + } + {{/errorObjectType}} + {{^errorObjectType}} + Type localVarReturnType = new TypeToken<{{{returnType}}}>(){}.getType(); + return localVarApiClient.executeStream(localVarCall, localVarReturnType); + {{/errorObjectType}} + {{/returnType}} + } + {{/vendorExtensions.x-streaming}}{{^vendorExtensions.x-streaming}} ApiResponse<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{operationId}}WithHttpInfo({{#allParams}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) throws ApiException { + okhttp3.Call localVarCall = {{operationId}}ValidateBeforeCall({{#allParams}}{{paramName}}, {{/allParams}}null); + {{^returnType}} + return localVarApiClient.execute(localVarCall); + {{/returnType}} + {{#returnType}} + {{#errorObjectType}} + try { + Type localVarReturnType = new TypeToken<{{{returnType}}}>(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } catch (ApiException e) { + e.setErrorObject(localVarApiClient.getJSON().getGson().fromJson(e.getResponseBody(), new TypeToken<{{{errorObjectType}}}>(){}.getType())); + throw e; + } + {{/errorObjectType}} + {{^errorObjectType}} + Type localVarReturnType = new TypeToken<{{{returnType}}}>(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + {{/errorObjectType}} + {{/returnType}} + } + {{/vendorExtensions.x-streaming}} + + {{^vendorExtensions.x-group-parameters}}/** + * {{summary}} (asynchronously) + * {{notes}}{{#allParams}} + * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}{{/allParams}} + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + {{#responses.0}} + * @http.response.details + + + {{#responses}} + + {{/responses}} +
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
+ {{/responses.0}} + {{#isDeprecated}} + * @deprecated + {{/isDeprecated}} + {{#externalDocs}} + * {{description}} + * @see {{summary}} Documentation + {{/externalDocs}} + */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} + public{{/vendorExtensions.x-group-parameters}}{{#vendorExtensions.x-group-parameters}}private{{/vendorExtensions.x-group-parameters}} okhttp3.Call {{operationId}}Async({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ApiCallback<{{{returnType}}}{{^returnType}}Void{{/returnType}}> _callback) throws ApiException { + + okhttp3.Call localVarCall = {{operationId}}ValidateBeforeCall({{#allParams}}{{paramName}}, {{/allParams}}_callback); + {{#returnType}}Type localVarReturnType = new TypeToken<{{{returnType}}}>(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);{{/returnType}}{{^returnType}}localVarApiClient.executeAsync(localVarCall, _callback);{{/returnType}} + return localVarCall; + } + {{#vendorExtensions.x-group-parameters}} + + public class API{{operationId}}Request { + {{#requiredParams}} + private final {{{dataType}}} {{paramName}}; + {{/requiredParams}} + {{#optionalParams}} + private {{{dataType}}} {{paramName}}; + {{/optionalParams}} + + private API{{operationId}}Request({{#requiredParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/requiredParams}}) { + {{#requiredParams}} + this.{{paramName}} = {{paramName}}; + {{/requiredParams}} + } + + {{#optionalParams}} + /** + * Set {{paramName}} + * @param {{paramName}} {{description}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}) + * @return API{{operationId}}Request + */ + public API{{operationId}}Request {{paramName}}({{{dataType}}} {{paramName}}) { + this.{{paramName}} = {{paramName}}; + return this; + } + + {{/optionalParams}} + /** + * Build call for {{operationId}} + * @param _callback ApiCallback API callback + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + {{#responses.0}} + * @http.response.details + + + {{#responses}} + + {{/responses}} +
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
+ {{/responses.0}} + {{#isDeprecated}} + * @deprecated + {{/isDeprecated}} + */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} + public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { + return {{operationId}}Call({{#allParams}}{{paramName}}, {{/allParams}}_callback); + } + + /** + * Execute {{operationId}} request{{#returnType}} + * @return {{.}}{{/returnType}} + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + {{#responses.0}} + * @http.response.details + + + {{#responses}} + + {{/responses}} +
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
+ {{/responses.0}} + {{#isDeprecated}} + * @deprecated + {{/isDeprecated}} + */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} + {{^vendorExtensions.x-streaming}} + public {{{returnType}}}{{^returnType}}void{{/returnType}} execute() throws ApiException { + {{#returnType}}ApiResponse<{{{.}}}> localVarResp = {{/returnType}}{{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}});{{#returnType}} + return localVarResp.getData();{{/returnType}} + } + {{/vendorExtensions.x-streaming}} + {{#vendorExtensions.x-streaming}} + public InputStream execute() throws ApiException { + return {{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); + } + {{/vendorExtensions.x-streaming}} + + /** + * Execute {{operationId}} request with HTTP info returned + * @return ApiResponse<{{returnType}}{{^returnType}}Void{{/returnType}}> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + {{#responses.0}} + * @http.response.details + + + {{#responses}} + + {{/responses}} +
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
+ {{/responses.0}} + {{#isDeprecated}} + * @deprecated + {{/isDeprecated}} + */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} + {{^vendorExtensions.x-streaming}} + public ApiResponse<{{{returnType}}}{{^returnType}}Void{{/returnType}}> executeWithHttpInfo() throws ApiException { + return {{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); + } + {{/vendorExtensions.x-streaming}} + {{#vendorExtensions.x-streaming}} + public InputStream executeWithHttpInfo() throws ApiException { + return {{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); + } + {{/vendorExtensions.x-streaming}} + + /** + * Execute {{operationId}} request (asynchronously) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + {{#responses.0}} + * @http.response.details + + + {{#responses}} + + {{/responses}} +
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
+ {{/responses.0}} + {{#isDeprecated}} + * @deprecated + {{/isDeprecated}} + */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} + public okhttp3.Call executeAsync(final ApiCallback<{{{returnType}}}{{^returnType}}Void{{/returnType}}> _callback) throws ApiException { + return {{operationId}}Async({{#allParams}}{{paramName}}, {{/allParams}}_callback); + } + } + + /** + * {{summary}} + * {{notes}}{{#requiredParams}} + * @param {{paramName}} {{description}} (required){{/requiredParams}} + * @return API{{operationId}}Request + {{#responses.0}} + * @http.response.details + + + {{#responses}} + + {{/responses}} +
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
+ {{/responses.0}} + {{#isDeprecated}} + * @deprecated + {{/isDeprecated}} + {{#externalDocs}} + * {{description}} + * @see {{summary}} Documentation + {{/externalDocs}} + */ + {{#isDeprecated}} + @Deprecated + {{/isDeprecated}} + public API{{operationId}}Request {{operationId}}({{#requiredParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/requiredParams}}) { + return new API{{operationId}}Request({{#requiredParams}}{{paramName}}{{^-last}}, {{/-last}}{{/requiredParams}}); + } + {{/vendorExtensions.x-group-parameters}} + {{/operation}} +} +{{/operations}} From 4731a613146d7972c37dc86c4887237381c00bf5 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 12 Jul 2023 10:55:47 -0400 Subject: [PATCH 07/58] Move additional API to solrj-model Modifying the generation template might be a little easier if we have two data points (i.e. APIs) to look at. To that end, this commit moves models and an interface for DeleteCollectionAPI to solrj-model. --- .../solr/handler/admin/api/AdminAPIBase.java | 2 +- .../admin/api/BalanceShardUniqueAPI.java | 2 +- .../handler/admin/api/CreateAliasAPI.java | 2 +- .../admin/api/CreateCollectionAPI.java | 2 +- .../admin/api/CreateCollectionBackupAPI.java | 2 +- .../api/CreateCollectionSnapshotAPI.java | 2 +- .../handler/admin/api/CreateReplicaAPI.java | 2 +- .../handler/admin/api/CreateShardAPI.java | 2 +- .../handler/admin/api/DeleteAliasAPI.java | 2 +- .../admin/api/DeleteCollectionAPI.java | 9 ++--- .../admin/api/DeleteCollectionBackupAPI.java | 2 +- .../api/DeleteCollectionSnapshotAPI.java | 2 +- .../handler/admin/api/DeleteReplicaAPI.java | 2 +- .../handler/admin/api/DeleteShardAPI.java | 2 +- .../admin/api/ListCollectionSnapshotsAPI.java | 2 +- .../admin/api/ReloadCollectionAPI.java | 2 +- .../admin/api/RenameCollectionAPI.java | 2 +- .../admin/api/RestoreCollectionAPI.java | 2 +- .../solr/model/api/IDeleteCollection.java | 36 +++++++++++++++++++ .../api/response}/AsyncJerseyResponse.java | 2 +- ...SubResponseAccumulatingJerseyResponse.java | 2 +- 21 files changed, 58 insertions(+), 25 deletions(-) create mode 100644 solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java rename solr/{core/src/java/org/apache/solr/jersey => solrj-model/src/java/org/apache/solr/model/api/response}/AsyncJerseyResponse.java (95%) rename solr/{core/src/java/org/apache/solr/jersey => solrj-model/src/java/org/apache/solr/model/api/response}/SubResponseAccumulatingJerseyResponse.java (98%) diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java index 17890115d2b..e931ca02c0e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java @@ -28,7 +28,7 @@ import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.logging.MDCLoggingContext; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java index 64f31ac2e59..58014e23edb 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java @@ -44,7 +44,7 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java index 9c48fcbfb29..164820c81c4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java @@ -66,7 +66,7 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.model.api.response.SolrJerseyResponse; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.TimeZoneUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java index 1ff34e69ff7..4d82c3f5e27 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java @@ -79,7 +79,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.zookeeper.CreateMode; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java index 3d6968b0c54..5f1eaa985a1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java @@ -55,7 +55,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.jersey.SolrJacksonMapper; import org.apache.solr.model.api.response.SolrJerseyResponse; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.zookeeper.common.StringUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java index b331af1aa7c..c9a24c35c21 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java @@ -44,7 +44,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.core.snapshots.SolrSnapshotManager; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.jersey.AsyncJerseyResponse; +import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java index 76043bff05c..1a60ac90180 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java @@ -60,7 +60,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java index 3f39404f45a..9abc9e7d06f 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java @@ -59,7 +59,7 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java index b0f202cf44b..121c4ac0edb 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java @@ -22,7 +22,7 @@ import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.jersey.AsyncJerseyResponse; +import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.jersey.PermissionName; import org.apache.solr.model.api.IDeleteAlias; import org.apache.solr.model.api.response.SolrJerseyResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java index 2c38da38a87..69742d82171 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java @@ -38,7 +38,8 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.IDeleteCollection; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; @@ -48,8 +49,7 @@ *

This API (DELETE /v2/collections/collectionName) is equivalent to the v1 * /admin/collections?action=DELETE command. */ -@Path("collections/") -public class DeleteCollectionAPI extends AdminAPIBase { +public class DeleteCollectionAPI extends AdminAPIBase implements IDeleteCollection { @Inject public DeleteCollectionAPI( @@ -59,9 +59,6 @@ public DeleteCollectionAPI( super(coreContainer, solrQueryRequest, solrQueryResponse); } - @DELETE - @Path("{collectionName}") - @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) @PermissionName(COLL_EDIT_PERM) public SubResponseAccumulatingJerseyResponse deleteCollection( @PathParam("collectionName") String collectionName, diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java index 3e34ebe62ac..aef3bd4bcf8 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java @@ -56,7 +56,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.jersey.SolrJacksonMapper; import org.apache.solr.model.api.response.SolrJerseyResponse; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java index e591e7aed7e..ec49de52430 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java @@ -42,7 +42,7 @@ import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.jersey.AsyncJerseyResponse; +import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java index fab78e3ac3a..663c4c77a5e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java @@ -48,7 +48,7 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java index afa4abe92cd..264a9a8b89e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java @@ -39,7 +39,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java index b3fa81fb2c0..ad94ec892ed 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java @@ -34,7 +34,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.core.snapshots.CollectionSnapshotMetaData; import org.apache.solr.core.snapshots.SolrSnapshotManager; -import org.apache.solr.jersey.AsyncJerseyResponse; +import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java index 009ee727969..ec1bac5449b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java @@ -39,7 +39,7 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java index c63c518426b..089701ac989 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java @@ -41,7 +41,7 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java index 61d8aae6065..0d1fb50cbde 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java @@ -57,7 +57,7 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.model.api.response.SolrJerseyResponse; -import org.apache.solr.jersey.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java new file mode 100644 index 00000000000..eedd14d3dc1 --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java @@ -0,0 +1,36 @@ +/* + * 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. + */ + +package org.apache.solr.model.api; + +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; + +import javax.ws.rs.DELETE; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; + +import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; + +@Path("/collections/{collectionName}") +public interface IDeleteCollection { + + @DELETE + @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) + SubResponseAccumulatingJerseyResponse deleteCollection(@PathParam("collectionName") String collectionName, @QueryParam("followAliases") Boolean followAliases, @QueryParam("async") String asyncId) throws Exception; +} diff --git a/solr/core/src/java/org/apache/solr/jersey/AsyncJerseyResponse.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/AsyncJerseyResponse.java similarity index 95% rename from solr/core/src/java/org/apache/solr/jersey/AsyncJerseyResponse.java rename to solr/solrj-model/src/java/org/apache/solr/model/api/response/AsyncJerseyResponse.java index 467891b538b..f70887eb636 100644 --- a/solr/core/src/java/org/apache/solr/jersey/AsyncJerseyResponse.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/AsyncJerseyResponse.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.jersey; +package org.apache.solr.model.api.response; import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.solr.model.api.response.SolrJerseyResponse; diff --git a/solr/core/src/java/org/apache/solr/jersey/SubResponseAccumulatingJerseyResponse.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java similarity index 98% rename from solr/core/src/java/org/apache/solr/jersey/SubResponseAccumulatingJerseyResponse.java rename to solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java index a0f0dbfb0e2..e670ebde479 100644 --- a/solr/core/src/java/org/apache/solr/jersey/SubResponseAccumulatingJerseyResponse.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.jersey; +package org.apache.solr.model.api.response; import com.fasterxml.jackson.annotation.JsonProperty; From d540adddde80863e48729ce73c247bb8ce74577f Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 13 Jul 2023 09:54:36 -0400 Subject: [PATCH 08/58] Readd swagger-annotations to core Core shouldn't depend on swagger-annotations longterm, but since this is a POC and we've only moved 2 APIs over to solrj-model, there are still several APIs in 'core' that use these annotations and need the dep for now. --- solr/core/build.gradle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/solr/core/build.gradle b/solr/core/build.gradle index 0ce0970cd87..8f286fcd59e 100644 --- a/solr/core/build.gradle +++ b/solr/core/build.gradle @@ -69,6 +69,8 @@ dependencies { implementation 'org.glassfish.hk2.external:jakarta.inject' implementation 'jakarta.ws.rs:jakarta.ws.rs-api' implementation 'jakarta.annotation:jakarta.annotation-api' + // TODO Only remporarily re-added for POC to avoid complaints about remaining swagger annotations in core haven't moved yet + implementation 'io.swagger.core.v3:swagger-annotations' // Non-API below; although there are exceptions From 616b2ab3f539f4e6cd2ab2d41128dfa86eee66d4 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 13 Jul 2023 09:58:02 -0400 Subject: [PATCH 09/58] Remove method annotations from DeleteCollAPI The method annotations on DeleteCollectionAPI were preventing us from inheriting the annotations from IDeleteCollection, causing the API to not be picked up by Jersey at runtime! Removing the annotations from DCAPI fixes this problem. --- .../apache/solr/handler/admin/api/DeleteCollectionAPI.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java index 69742d82171..055c8b629a0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java @@ -61,9 +61,9 @@ public DeleteCollectionAPI( @PermissionName(COLL_EDIT_PERM) public SubResponseAccumulatingJerseyResponse deleteCollection( - @PathParam("collectionName") String collectionName, - @QueryParam("followAliases") Boolean followAliases, - @QueryParam("async") String asyncId) + String collectionName, + Boolean followAliases, + String asyncId) throws Exception { final SubResponseAccumulatingJerseyResponse response = instantiateJerseyResponse(SubResponseAccumulatingJerseyResponse.class); From 74adc2792310ff4e22fac11ff86d63b4e46c640a Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 13 Jul 2023 10:00:24 -0400 Subject: [PATCH 10/58] Add Operation annotation to model definition --- .../src/java/org/apache/solr/model/api/IDeleteCollection.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java index eedd14d3dc1..522f8f8fac1 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java @@ -17,6 +17,7 @@ package org.apache.solr.model.api; +import io.swagger.v3.oas.annotations.Operation; import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import javax.ws.rs.DELETE; @@ -32,5 +33,8 @@ public interface IDeleteCollection { @DELETE @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) + @Operation( + summary = "Delete collection", + tags = {"collections"}) SubResponseAccumulatingJerseyResponse deleteCollection(@PathParam("collectionName") String collectionName, @QueryParam("followAliases") Boolean followAliases, @QueryParam("async") String asyncId) throws Exception; } From 23bda9d3edf2cbd862eb581d9d4a89772beb11ce Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 13 Jul 2023 10:01:15 -0400 Subject: [PATCH 11/58] Initial pass at SolrRequest generation With this commit we're able to generate SolrRequest implementations for each API in our OAS (OpenAPI Spec). They work, though there are still some limitations: - no support yet for POST/PUT requests that have request-body parameters. Only 'path' and 'query' parameters are supported currently. - no real SolrResponse generation, currently reusing SimpleSolrResponse. - no Javadocs on generated SolrRequest implementations. --- solr/solrj/build.gradle | 8 +- .../src/resources/java-template/api.mustache | 129 ++++++++---------- 2 files changed, 61 insertions(+), 76 deletions(-) diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 6682684c1cc..0895c52c8c4 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -43,9 +43,11 @@ openApiGenerate { //inputSpec = project(":solr:solrj-model").ext.openapispecfile inputSpec = "${buildDir}/openapispec/openapi.json" - globalProperties.set([models: "", modelDocs: "false", apis: ""]) + // 'debugModels: ""' or 'debugOperations: ""' to get the JSON input to moustache templating for those components + globalProperties.set([modelDocs: "false", apis: ""]) templateDir = "$projectDir/src/resources/java-template" - outputDir = "${buildDir}/generated/main/java" + apiPackage = "org.apache.solr.client.solrj.request" + outputDir = "${buildDir}/generated/" generateApiTests = false generateModelTests = false } @@ -55,7 +57,7 @@ tasks.getByName("openApiGenerate").dependsOn tasks.copySpec sourceSets { main { java { - srcDir "${buildDir}/generated/main/java" + srcDir "${buildDir}/generated/src/main/java" } } } diff --git a/solr/solrj/src/resources/java-template/api.mustache b/solr/solrj/src/resources/java-template/api.mustache index 98a4c11a353..9657394004f 100644 --- a/solr/solrj/src/resources/java-template/api.mustache +++ b/solr/solrj/src/resources/java-template/api.mustache @@ -2,93 +2,75 @@ package {{package}}; -import {{invokerPackage}}.ApiCallback; -import {{invokerPackage}}.ApiClient; -import {{invokerPackage}}.ApiException; -{{#dynamicOperations}} -import {{invokerPackage}}.ApiOperation; -{{/dynamicOperations}} -import {{invokerPackage}}.ApiResponse; -import {{invokerPackage}}.Configuration; -import {{invokerPackage}}.Pair; -import {{invokerPackage}}.ProgressRequestBody; -import {{invokerPackage}}.ProgressResponseBody; -{{#performBeanValidation}} -import {{invokerPackage}}.BeanValidationException; -{{/performBeanValidation}} - -import com.google.gson.reflect.TypeToken; -{{#dynamicOperations}} -import io.swagger.v3.oas.models.Operation; -import io.swagger.v3.oas.models.parameters.Parameter; -{{/dynamicOperations}} - -import java.io.IOException; - -{{#useBeanValidation}} -import {{javaxPackage}}.validation.constraints.*; -{{/useBeanValidation}} -{{#performBeanValidation}} -import {{javaxPackage}}.validation.ConstraintViolation; -import {{javaxPackage}}.validation.Validation; -import {{javaxPackage}}.validation.ValidatorFactory; -import {{javaxPackage}}.validation.executable.ExecutableValidator; -import java.util.Set; -import java.lang.reflect.Method; -import java.lang.reflect.Type; -{{/performBeanValidation}} - -{{#imports}}import {{import}}; -{{/imports}} - import java.lang.reflect.Type; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -{{#supportStreaming}} -import java.io.InputStream; -{{/supportStreaming}} -// JEGERLOW +import org.apache.solr.client.solrj.SolrClient; +import org.apache.solr.client.solrj.SolrRequest; +import org.apache.solr.client.solrj.response.SimpleSolrResponse; +import org.apache.solr.common.params.SolrParams; +import org.apache.solr.common.params.ModifiableSolrParams; + {{#operations}} public class {{classname}} { - private ApiClient localVarApiClient; - private int localHostIndex; - private String localCustomBaseUrl; - public {{classname}}() { - this(Configuration.getDefaultApiClient()); - } - - public {{classname}}(ApiClient apiClient) { - this.localVarApiClient = apiClient; - } - - public ApiClient getApiClient() { - return localVarApiClient; - } - - public void setApiClient(ApiClient apiClient) { - this.localVarApiClient = apiClient; - } + {{#operation}} + // TODO JEGERLOW Figure out the request class setup, and then circle back here to a different response + public static class {{operationIdCamelCase}} extends SolrRequest { + {{#requiredParams}} + private final {{{dataType}}} {{paramName}}; + {{/requiredParams}} + {{#optionalParams}} + private {{{dataType}}} {{paramName}}; + {{/optionalParams}} + + public {{operationIdCamelCase}}({{#requiredParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/requiredParams}}) { + super( + SolrRequest.METHOD.valueOf("{{httpMethod}}"), + "{{{path}}}"{{#pathParams}} + .replace("{" + "{{baseName}}" + "}", {{paramName}}){{/pathParams}} + ); + + {{#requiredParams}} + this.{{paramName}} = {{paramName}}; + {{/requiredParams}} + } - public int getHostIndex() { - return localHostIndex; - } + {{#optionalParams}} + public void {{schema.setter}}({{dataType}} {{paramName}}) { + this.{{paramName}} = {{paramName}}; + } - public void setHostIndex(int hostIndex) { - this.localHostIndex = hostIndex; - } + {{/optionalParams}} + // TODO Hardcode this for now, but in reality we'll want to parse this out of the Operation data somehow + @Override + public String getRequestType() { + return SolrRequestType.ADMIN.toString(); + } - public String getCustomBaseUrl() { - return localCustomBaseUrl; - } + @Override + public SolrParams getParams() { + final ModifiableSolrParams params = new ModifiableSolrParams(); + {{#queryParams}} + if ({{paramName}} != null) { + params.add("{{baseName}}", {{paramName}}{{^isString}}.toString(){{/isString}}); + } + {{/queryParams}} + return params; + } - public void setCustomBaseUrl(String customBaseUrl) { - this.localCustomBaseUrl = customBaseUrl; - } + @Override + protected SimpleSolrResponse createResponse(SolrClient client) { + return new SimpleSolrResponse(); + } + } + {{/operation}} + {{#nonexistent}} + // Below is content from the original template file, kept around for reference {{#operation}} {{^vendorExtensions.x-group-parameters}}/** * Build call for {{operationId}}{{#allParams}} @@ -571,5 +553,6 @@ public class {{classname}} { } {{/vendorExtensions.x-group-parameters}} {{/operation}} + {{/nonexistent}} } {{/operations}} From 4834130a21f3e04491e45527b6e34cdfaf40b2e8 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 13 Jul 2023 11:28:34 -0400 Subject: [PATCH 12/58] Initial pass at SolrRequest javadocs There's room for improvement as always, but it's better than nothing. --- .../org/apache/solr/model/api/IDeleteCollection.java | 10 ++++++++-- solr/solrj/src/resources/java-template/api.mustache | 11 +++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java index 522f8f8fac1..a349df94572 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java @@ -18,6 +18,7 @@ package org.apache.solr.model.api; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import javax.ws.rs.DELETE; @@ -34,7 +35,12 @@ public interface IDeleteCollection { @DELETE @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) @Operation( - summary = "Delete collection", + summary = "Deletes a collection from SolrCloud", tags = {"collections"}) - SubResponseAccumulatingJerseyResponse deleteCollection(@PathParam("collectionName") String collectionName, @QueryParam("followAliases") Boolean followAliases, @QueryParam("async") String asyncId) throws Exception; + SubResponseAccumulatingJerseyResponse deleteCollection( + @Parameter(description = "The name of the collection to be deleted.", required = true) + @PathParam("collectionName") String collectionName, + @QueryParam("followAliases") Boolean followAliases, + @Parameter(description = "An ID to track the request asynchronously") + @QueryParam("async") String asyncId) throws Exception; } diff --git a/solr/solrj/src/resources/java-template/api.mustache b/solr/solrj/src/resources/java-template/api.mustache index 9657394004f..51e242543c9 100644 --- a/solr/solrj/src/resources/java-template/api.mustache +++ b/solr/solrj/src/resources/java-template/api.mustache @@ -27,6 +27,12 @@ public class {{classname}} { private {{{dataType}}} {{paramName}}; {{/optionalParams}} + /** + * Create a {{operationIdCamelCase}} request object. + * + {{#requiredParams}}* @param {{paramName}} {{description}} + {{/requiredParams}} + */ public {{operationIdCamelCase}}({{#requiredParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/requiredParams}}) { super( SolrRequest.METHOD.valueOf("{{httpMethod}}"), @@ -40,6 +46,11 @@ public class {{classname}} { } {{#optionalParams}} + {{#description}} + /** + * @param {{paramName}} {{description}} + */ + {{/description}} public void {{schema.setter}}({{dataType}} {{paramName}}) { this.{{paramName}} = {{paramName}}; } From a0c16503fc690f49c35f0d9ed1948d870adee4ad Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 13 Jul 2023 11:52:40 -0400 Subject: [PATCH 13/58] Add Jackson and solrj-model deps to solrj Not sure this approach will hold up beyond the POC, given past pushback to having SolrJ dependent on Jackson, but if nothing else it'll serve as a stepping stone for now. --- solr/solrj/build.gradle | 7 +++- .../client/solrj/JacksonParsingResponse.java | 36 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 0895c52c8c4..e4d6df20aca 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -71,6 +71,12 @@ dependencies { builtBy tasks.openApiGenerate } + // TODO Most likely temporary, due to historical pushback on adding Jackson deps to solrj, but it does _hugely_ + // simplify the parsing code and there are new compelling reasons, given the claims around CBOR performance relative + // to JSON, javabin, etc. + implementation 'com.fasterxml.jackson.core:jackson-databind' // Came from a testImplementation line below. + implementation project(":solr:solrj-model") + implementation 'org.slf4j:slf4j-api' runtimeOnly 'org.slf4j:jcl-over-slf4j' @@ -111,7 +117,6 @@ dependencies { testImplementation 'org.hamcrest:hamcrest' testImplementation 'commons-io:commons-io' - testImplementation 'com.fasterxml.jackson.core:jackson-databind' testImplementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-cbor' testImplementation 'org.eclipse.jetty.toolchain:jetty-servlet-api' diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java new file mode 100644 index 00000000000..c4a29cfc0af --- /dev/null +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java @@ -0,0 +1,36 @@ +/* + * 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. + */ + +package org.apache.solr.client.solrj; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.solr.client.solrj.response.SimpleSolrResponse; + +import java.util.HashMap; + +public class JacksonParsingResponse extends SimpleSolrResponse { + + private final Class typeParam; + + public JacksonParsingResponse(Class typeParam) { + this.typeParam = typeParam; + } + + public T getParsed() { + return new ObjectMapper().convertValue(getResponse().toMap(new HashMap<>()), typeParam); + } +} From 6e2aede4b7e5be0824507cb95f2866abc2f13ebb Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Mon, 17 Jul 2023 09:09:17 -0400 Subject: [PATCH 14/58] Provide strongly-typed responses using Jackson This commit adds two things: 1. Generation of request and response POJO classes by openapi-generator. In an ideal world we'd reuse the POJOs that already exist in solrj-model, but I ran into a few barriers when I tried to have generated SolrRequest classes use the things that already existed in solrj-model. Hopefully that's resolved later and we can aboid generating POJO classes entirely, but I've added generation of them as a temporary workaround. 2. Now that we have model classes available to us, this commit also modifies the generated SolrRequest implementations to return a strongly-typed SolrResponse that relies on Jackson for parsing. Again, if there's strong pushback on using Jackson in SolrJ then we'll need to come up with replacement code for this. But it's a solid approach for now. Next up, and last for this POC, is the ability to handle request bodies in our generated SolrRequest objects. --- gradle/documentation/render-javadoc.gradle | 2 +- ...SubResponseAccumulatingJerseyResponse.java | 1 + solr/solrj/build.gradle | 3 +- .../client/solrj/JacksonParsingResponse.java | 17 +- .../src/resources/java-template/api.mustache | 23 +- .../resources/java-template/model.mustache | 36 ++ .../src/resources/java-template/pojo.mustache | 406 ++++++++++++++++++ 7 files changed, 482 insertions(+), 6 deletions(-) create mode 100644 solr/solrj/src/resources/java-template/model.mustache create mode 100644 solr/solrj/src/resources/java-template/pojo.mustache diff --git a/gradle/documentation/render-javadoc.gradle b/gradle/documentation/render-javadoc.gradle index 29e43f913ce..43ea909ebc7 100644 --- a/gradle/documentation/render-javadoc.gradle +++ b/gradle/documentation/render-javadoc.gradle @@ -126,7 +126,7 @@ configure(project(":solr:modules:langid")) { configure(project(":solr:solrj")) { project.tasks.withType(RenderJavadocTask) { // TODO: clean up split packages SOLR-15604 - javadocMissingIgnore = ["org.apache.solr.client.solrj.embedded"] + javadocMissingIgnore = ["org.apache.solr.client.solrj.embedded", "org.apache.solr.client.solrj.model"] } } diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java index e670ebde479..e76af3cf171 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java @@ -18,6 +18,7 @@ package org.apache.solr.model.api.response; import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; /** * Represents API responses composed of the responses of various sub-requests. diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index e4d6df20aca..3f7daac33cc 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -44,9 +44,10 @@ openApiGenerate { inputSpec = "${buildDir}/openapispec/openapi.json" // 'debugModels: ""' or 'debugOperations: ""' to get the JSON input to moustache templating for those components - globalProperties.set([modelDocs: "false", apis: ""]) + globalProperties.set([modelDocs: "false", apis: "", models: "", debugModels: ""]) templateDir = "$projectDir/src/resources/java-template" apiPackage = "org.apache.solr.client.solrj.request" + modelPackage = "org.apache.solr.client.solrj.model" outputDir = "${buildDir}/generated/" generateApiTests = false generateModelTests = false diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java index c4a29cfc0af..9bb14c065ca 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java @@ -18,9 +18,15 @@ package org.apache.solr.client.solrj; import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.solr.client.solrj.impl.InputStreamResponseParser; import org.apache.solr.client.solrj.response.SimpleSolrResponse; +import org.apache.solr.common.util.IOUtils; +import org.apache.solr.common.util.NamedList; +import org.apache.solr.common.util.ObjectReleaseTracker; +import java.io.InputStream; import java.util.HashMap; +import java.util.Map; public class JacksonParsingResponse extends SimpleSolrResponse { @@ -31,6 +37,15 @@ public JacksonParsingResponse(Class typeParam) { } public T getParsed() { - return new ObjectMapper().convertValue(getResponse().toMap(new HashMap<>()), typeParam); + // TODO - reuse the ObjectMapper - no reason to recreate each time. + final NamedList resp = getResponse(); + final var stream = (InputStream) resp.get("stream"); + try { + final T parsedVal = new ObjectMapper().readValue(stream, typeParam); + assert ObjectReleaseTracker.release(stream); + return parsedVal; + } catch (Exception e) { + throw new RuntimeException(e); + } } } diff --git a/solr/solrj/src/resources/java-template/api.mustache b/solr/solrj/src/resources/java-template/api.mustache index 51e242543c9..8000d0d0d8b 100644 --- a/solr/solrj/src/resources/java-template/api.mustache +++ b/solr/solrj/src/resources/java-template/api.mustache @@ -1,6 +1,9 @@ {{>licenseInfo}} package {{package}}; +{{#imports}} +import {{import}}; +{{/imports}} import java.lang.reflect.Type; import java.util.ArrayList; @@ -13,13 +16,22 @@ import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.response.SimpleSolrResponse; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.params.ModifiableSolrParams; +import org.apache.solr.client.solrj.JacksonParsingResponse; +import org.apache.solr.client.solrj.impl.InputStreamResponseParser; +import org.apache.solr.client.solrj.ResponseParser; {{#operations}} public class {{classname}} { {{#operation}} // TODO JEGERLOW Figure out the request class setup, and then circle back here to a different response - public static class {{operationIdCamelCase}} extends SolrRequest { + public static class {{operationIdCamelCase}}Response extends JacksonParsingResponse<{{returnType}}> { + public {{operationIdCamelCase}}Response() { + super({{returnType}}.class); + } + } + + public static class {{operationIdCamelCase}} extends SolrRequest<{{operationIdCamelCase}}Response> { {{#requiredParams}} private final {{{dataType}}} {{paramName}}; {{/requiredParams}} @@ -74,8 +86,13 @@ public class {{classname}} { } @Override - protected SimpleSolrResponse createResponse(SolrClient client) { - return new SimpleSolrResponse(); + protected {{operationIdCamelCase}}Response createResponse(SolrClient client) { + return new {{operationIdCamelCase}}Response(); + } + + @Override + public ResponseParser getResponseParser() { + return new InputStreamResponseParser("json"); } } {{/operation}} diff --git a/solr/solrj/src/resources/java-template/model.mustache b/solr/solrj/src/resources/java-template/model.mustache new file mode 100644 index 00000000000..aa96019e97c --- /dev/null +++ b/solr/solrj/src/resources/java-template/model.mustache @@ -0,0 +1,36 @@ +{{>licenseInfo}} + +package {{package}}; + +// This is the right way to import the types I need, but I can't understand why it keeps +//bringing in gson classes, so excluding for now. +//{{#imports}} +// import {{import}}; +//{{/imports}} + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import java.util.Objects; +import java.util.Arrays; + +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; + +{{#models}} +{{#model}} +{{#isEnum}}{{>modelEnum}}{{/isEnum}} +{{^isEnum}} + {{#vendorExtensions.x-is-one-of-interface}} + {{>oneof_interface}} + {{/vendorExtensions.x-is-one-of-interface}} + {{^vendorExtensions.x-is-one-of-interface}} + {{>pojo}} + {{/vendorExtensions.x-is-one-of-interface}} +{{/isEnum}} +{{/model}} +{{/models}} diff --git a/solr/solrj/src/resources/java-template/pojo.mustache b/solr/solrj/src/resources/java-template/pojo.mustache new file mode 100644 index 00000000000..848085c03bc --- /dev/null +++ b/solr/solrj/src/resources/java-template/pojo.mustache @@ -0,0 +1,406 @@ +public class {{classname}} { + + {{#vars}} + public static final String JSON_PROPERTY_{{nameInSnakeCase}} = "{{baseName}}"; + {{#isContainer}} + private {{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}; + {{/isContainer}} + {{^isContainer}} + {{#isDiscriminator}}protected{{/isDiscriminator}}{{^isDiscriminator}}private{{/isDiscriminator}} {{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}; + {{/isContainer}} + + {{/vars}} + public {{classname}}() {} + + {{#vars}} + + {{^isReadOnly}} + public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) { + this.{{name}} = {{name}}; + return this; + } + + {{/isReadOnly}} + /** + {{#description}} + * {{.}} + {{/description}} + {{^description}} + * Get {{name}} + {{/description}} + {{#minimum}} + * minimum: {{.}} + {{/minimum}} + {{#maximum}} + * maximum: {{.}} + {{/maximum}} + * @return {{name}} + {{#deprecated}} + * @deprecated + {{/deprecated}} + */ +{{#deprecated}} + @Deprecated +{{/deprecated}} +{{> jackson_annotations}} + public {{{datatypeWithEnum}}} {{getter}}() { + return {{name}}; + } + + {{#vendorExtensions.x-is-jackson-optional-nullable}} +{{> jackson_annotations}} + public JsonNullable<{{{datatypeWithEnum}}}> {{getter}}_JsonNullable() { + return {{name}}; + } + {{/vendorExtensions.x-is-jackson-optional-nullable}}{{#vendorExtensions.x-is-jackson-optional-nullable}} + @JsonProperty(JSON_PROPERTY_{{nameInSnakeCase}}) + {{#isReadOnly}}private{{/isReadOnly}}{{^isReadOnly}}public{{/isReadOnly}} void {{setter}}_JsonNullable(JsonNullable<{{{datatypeWithEnum}}}> {{name}}) { + {{! For getters/setters that have name differing from attribute name, we must include setter (albeit private) for jackson to be able to set the attribute}} + this.{{name}} = {{name}}; + } + {{/vendorExtensions.x-is-jackson-optional-nullable}} + + {{^isReadOnly}} +{{> jackson_annotations}} public void {{setter}}({{{datatypeWithEnum}}} {{name}}) { + this.{{name}} = {{name}}; + } + {{/isReadOnly}} + + {{/vars}} + {{#parent}} + {{#allVars}} + {{#isOverridden}} + @Override + public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) { + {{#vendorExtensions.x-is-jackson-optional-nullable}} + this.{{setter}}(JsonNullable.<{{{datatypeWithEnum}}}>of({{name}})); + {{/vendorExtensions.x-is-jackson-optional-nullable}} + {{^vendorExtensions.x-is-jackson-optional-nullable}} + this.{{setter}}({{name}}); + {{/vendorExtensions.x-is-jackson-optional-nullable}} + return this; + } + + {{/isOverridden}} + {{/allVars}} + {{/parent}} + @Override + public boolean equals(Object o) { + {{#useReflectionEqualsHashCode}} + return EqualsBuilder.reflectionEquals(this, o, false, null, true); + {{/useReflectionEqualsHashCode}} + {{^useReflectionEqualsHashCode}} + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + }{{#hasVars}} + {{classname}} {{classVarName}} = ({{classname}}) o; + return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} && + {{/-last}}{{/vars}}{{#parent}} && + super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}} + return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}} + {{/useReflectionEqualsHashCode}} + }{{#vendorExtensions.x-jackson-optional-nullable-helpers}} + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + }{{/vendorExtensions.x-jackson-optional-nullable-helpers}} + + @Override + public int hashCode() { + {{#useReflectionEqualsHashCode}} + return HashCodeBuilder.reflectionHashCode(this); + {{/useReflectionEqualsHashCode}} + {{^useReflectionEqualsHashCode}} + return Objects.hash({{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{name}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{name}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}); + {{/useReflectionEqualsHashCode}} + }{{#vendorExtensions.x-jackson-optional-nullable-helpers}} + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + }{{/vendorExtensions.x-jackson-optional-nullable-helpers}} + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class {{classname}} {\n"); + {{#parent}} + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + {{/parent}} + {{#vars}} + sb.append(" {{name}}: ").append(toIndentedString({{name}})).append("\n"); + {{/vars}} + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private{{#jsonb}} static{{/jsonb}} String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +{{#supportUrlQuery}} + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + {{#allVars}} + // add `{{baseName}}` to the URL query string + {{#isArray}} + {{#items.isPrimitiveType}} + {{#uniqueItems}} + if ({{getter}}() != null) { + int i = 0; + for ({{{items.dataType}}} _item : {{getter}}()) { + try { + joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + URLEncoder.encode(String.valueOf(_item), "UTF-8").replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + i++; + } + {{/uniqueItems}} + {{^uniqueItems}} + if ({{getter}}() != null) { + for (int i = 0; i < {{getter}}().size(); i++) { + try { + joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + URLEncoder.encode(String.valueOf({{getter}}().get(i)), "UTF-8").replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + {{/uniqueItems}} + {{/items.isPrimitiveType}} + {{^items.isPrimitiveType}} + {{#items.isModel}} + {{#uniqueItems}} + if ({{getter}}() != null) { + int i = 0; + for ({{{items.dataType}}} _item : {{getter}}()) { + if (_item != null) { + joiner.add(_item.toUrlQueryString(String.format("%s{{baseName}}%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + i++; + } + {{/uniqueItems}} + {{^uniqueItems}} + if ({{getter}}() != null) { + for (int i = 0; i < {{getter}}().size(); i++) { + if ({{getter}}().get(i) != null) { + joiner.add({{getter}}().get(i).toUrlQueryString(String.format("%s{{baseName}}%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + {{/uniqueItems}} + {{/items.isModel}} + {{^items.isModel}} + {{#uniqueItems}} + if ({{getter}}() != null) { + int i = 0; + for ({{{items.dataType}}} _item : {{getter}}()) { + if (_item != null) { + try { + joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + URLEncoder.encode(String.valueOf(_item), "UTF-8").replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + i++; + } + } + {{/uniqueItems}} + {{^uniqueItems}} + if ({{getter}}() != null) { + for (int i = 0; i < {{getter}}().size(); i++) { + if ({{getter}}().get(i) != null) { + try { + joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + URLEncoder.encode(String.valueOf({{getter}}().get(i)), "UTF-8").replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + } + {{/uniqueItems}} + {{/items.isModel}} + {{/items.isPrimitiveType}} + {{/isArray}} + {{^isArray}} + {{#isMap}} + {{^items.isModel}} + if ({{getter}}() != null) { + for (String _key : {{getter}}().keySet()) { + try { + joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, _key, containerSuffix), + {{getter}}().get(_key), URLEncoder.encode(String.valueOf({{getter}}().get(_key)), "UTF-8").replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + {{/items.isModel}} + {{#items.isModel}} + if ({{getter}}() != null) { + for (String _key : {{getter}}().keySet()) { + if ({{getter}}().get(_key) != null) { + joiner.add({{getter}}().get(_key).toUrlQueryString(String.format("%s{{baseName}}%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, _key, containerSuffix)))); + } + } + } + {{/items.isModel}} + {{/isMap}} + {{^isMap}} + {{#isPrimitiveType}} + if ({{getter}}() != null) { + try { + joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf({{{getter}}}()), "UTF-8").replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + {{/isPrimitiveType}} + {{^isPrimitiveType}} + {{#isModel}} + if ({{getter}}() != null) { + joiner.add({{getter}}().toUrlQueryString(prefix + "{{{baseName}}}" + suffix)); + } + {{/isModel}} + {{^isModel}} + if ({{getter}}() != null) { + try { + joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf({{{getter}}}()), "UTF-8").replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + {{/isModel}} + {{/isPrimitiveType}} + {{/isMap}} + {{/isArray}} + + {{/allVars}} + return joiner.toString(); + } +{{/supportUrlQuery}} +{{#parcelableModel}} + + public void writeToParcel(Parcel out, int flags) { +{{#model}} +{{#isArray}} + out.writeList(this); +{{/isArray}} +{{^isArray}} +{{#parent}} + super.writeToParcel(out, flags); +{{/parent}} +{{#vars}} + out.writeValue({{name}}); +{{/vars}} +{{/isArray}} +{{/model}} + } + + {{classname}}(Parcel in) { +{{#isArray}} + in.readTypedList(this, {{arrayModelType}}.CREATOR); +{{/isArray}} +{{^isArray}} +{{#parent}} + super(in); +{{/parent}} +{{#vars}} +{{#isPrimitiveType}} + {{name}} = ({{{datatypeWithEnum}}})in.readValue(null); +{{/isPrimitiveType}} +{{^isPrimitiveType}} + {{name}} = ({{{datatypeWithEnum}}})in.readValue({{complexType}}.class.getClassLoader()); +{{/isPrimitiveType}} +{{/vars}} +{{/isArray}} + } + + public int describeContents() { + return 0; + } + + public static final Parcelable.Creator<{{classname}}> CREATOR = new Parcelable.Creator<{{classname}}>() { + public {{classname}} createFromParcel(Parcel in) { +{{#model}} +{{#isArray}} + {{classname}} result = new {{classname}}(); + result.addAll(in.readArrayList({{arrayModelType}}.class.getClassLoader())); + return result; +{{/isArray}} +{{^isArray}} + return new {{classname}}(in); +{{/isArray}} +{{/model}} + } + public {{classname}}[] newArray(int size) { + return new {{classname}}[size]; + } + }; +{{/parcelableModel}} + +} From 9bfc61951757c0242547c87aa31f275b70375401 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Mon, 17 Jul 2023 10:56:20 -0400 Subject: [PATCH 15/58] Remove placeholder java file --- .../solrj-model/src/java/org/apache/solr/model/Dummy.java | 8 -------- .../src/test/org/apache/solr/model/DummyTest.java | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 solr/solrj-model/src/java/org/apache/solr/model/Dummy.java diff --git a/solr/solrj-model/src/java/org/apache/solr/model/Dummy.java b/solr/solrj-model/src/java/org/apache/solr/model/Dummy.java deleted file mode 100644 index b4e1eae6141..00000000000 --- a/solr/solrj-model/src/java/org/apache/solr/model/Dummy.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.apache.solr.model; - -public class Dummy { - - public boolean doThing() { - return true; // Did it - } -} diff --git a/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java b/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java index 0f1ed5e25ac..702c88c5035 100644 --- a/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java +++ b/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java @@ -6,6 +6,6 @@ public class DummyTest extends SolrTestCaseJ4 { @Test public void testDummy() { - assertEquals(true, new Dummy().doThing()); + assertEquals(true, true); } } From 1cf71e66af0d4eda63a7fa0d17fd6c3ada32df55 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Mon, 17 Jul 2023 12:46:59 -0400 Subject: [PATCH 16/58] Extract AddReplicaProperty interface to solrj-models Moving an API that takes a request body over to the 'models' module is necessary to start templating out how our generated requests assemble request bodies. --- .../handler/admin/CollectionsHandler.java | 4 +- .../admin/api/AddReplicaPropertyAPI.java | 88 +++++-------------- .../admin/api/AddReplicaPropertyAPITest.java | 4 +- .../solr/model/api/IAddReplicaProperty.java | 60 +++++++++++++ .../AddReplicaPropertyRequestBody.java | 40 +++++++++ .../solr/model/api/request/package-info.java | 21 +++++ .../solr/model/api/response/package-info.java | 2 +- 7 files changed, 146 insertions(+), 73 deletions(-) create mode 100644 solr/solrj-model/src/java/org/apache/solr/model/api/IAddReplicaProperty.java create mode 100644 solr/solrj-model/src/java/org/apache/solr/model/api/request/AddReplicaPropertyRequestBody.java create mode 100644 solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java index 3537391ad2d..7803e93e40d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java @@ -199,6 +199,7 @@ import org.apache.solr.handler.admin.api.SplitShardAPI; import org.apache.solr.handler.admin.api.SyncShardAPI; import org.apache.solr.handler.api.V2ApiUtils; +import org.apache.solr.model.api.request.AddReplicaPropertyRequestBody; import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.logging.MDCLoggingContext; import org.apache.solr.request.SolrQueryRequest; @@ -988,8 +989,7 @@ public Map execute( ADDREPLICAPROP, (req, rsp, h) -> { final RequiredSolrParams requiredParams = req.getParams().required(); - final AddReplicaPropertyAPI.AddReplicaPropertyRequestBody requestBody = - new AddReplicaPropertyAPI.AddReplicaPropertyRequestBody(); + final var requestBody = new AddReplicaPropertyRequestBody(); requestBody.value = requiredParams.get(PROPERTY_VALUE_PROP); requestBody.shardUnique = req.getParams().getBool(SHARD_UNIQUE); final String propName = requiredParams.get(PROPERTY_PROP); diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java index 12f1798c749..6b19a0c7f66 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java @@ -16,30 +16,6 @@ */ package org.apache.solr.handler.admin.api; -import static org.apache.solr.client.solrj.impl.BinaryResponseParser.BINARY_CONTENT_TYPE_V2; -import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION; -import static org.apache.solr.cloud.api.collections.CollectionHandlingUtils.SHARD_UNIQUE; -import static org.apache.solr.common.cloud.ZkStateReader.COLLECTION_PROP; -import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_PROP; -import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_VALUE_PROP; -import static org.apache.solr.common.cloud.ZkStateReader.REPLICA_PROP; -import static org.apache.solr.common.cloud.ZkStateReader.SHARD_ID_PROP; -import static org.apache.solr.common.params.CollectionAdminParams.PROPERTY_PREFIX; -import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT; -import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.parameters.RequestBody; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; -import javax.inject.Inject; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.cloud.overseer.SliceMutator; import org.apache.solr.common.SolrException; @@ -47,19 +23,35 @@ import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; +import org.apache.solr.model.api.IAddReplicaProperty; +import org.apache.solr.model.api.request.AddReplicaPropertyRequestBody; import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import javax.inject.Inject; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; + +import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION; +import static org.apache.solr.cloud.api.collections.CollectionHandlingUtils.SHARD_UNIQUE; +import static org.apache.solr.common.cloud.ZkStateReader.COLLECTION_PROP; +import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_PROP; +import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_VALUE_PROP; +import static org.apache.solr.common.cloud.ZkStateReader.REPLICA_PROP; +import static org.apache.solr.common.cloud.ZkStateReader.SHARD_ID_PROP; +import static org.apache.solr.common.params.CollectionAdminParams.PROPERTY_PREFIX; +import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT; +import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM; + /** * V2 API for adding a property to a collection replica * *

This API is analogous to the v1 /admin/collections?action=ADDREPLICAPROP command. */ -@Path("/collections/{collName}/shards/{shardName}/replicas/{replicaName}/properties/{propName}") -public class AddReplicaPropertyAPI extends AdminAPIBase { +public class AddReplicaPropertyAPI extends AdminAPIBase implements IAddReplicaProperty { @Inject public AddReplicaPropertyAPI( @@ -69,28 +61,8 @@ public AddReplicaPropertyAPI( super(coreContainer, solrQueryRequest, solrQueryResponse); } - @PUT - @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) @PermissionName(COLL_EDIT_PERM) - public SolrJerseyResponse addReplicaProperty( - @Parameter( - description = "The name of the collection the replica belongs to.", - required = true) - @PathParam("collName") - String collName, - @Parameter(description = "The name of the shard the replica belongs to.", required = true) - @PathParam("shardName") - String shardName, - @Parameter(description = "The replica, e.g., `core_node1`.", required = true) - @PathParam("replicaName") - String replicaName, - @Parameter(description = "The name of the property to add.", required = true) - @PathParam("propName") - String propertyName, - @RequestBody( - description = "The value of the replica property to create or update", - required = true) - AddReplicaPropertyRequestBody requestBody) + public SolrJerseyResponse addReplicaProperty(String collName, String shardName, String replicaName, String propertyName, AddReplicaPropertyRequestBody requestBody) throws Exception { if (requestBody == null) { throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Missing required request body"); @@ -153,24 +125,4 @@ public ZkNodeProps createRemoteMessage( return new ZkNodeProps(remoteMessage); } - - public static class AddReplicaPropertyRequestBody implements JacksonReflectMapWriter { - - public AddReplicaPropertyRequestBody() {} - - public AddReplicaPropertyRequestBody(String value) { - this.value = value; - } - - @Schema(description = "The value to assign to the property.", required = true) - @JsonProperty("value") - public String value; - - @Schema( - description = - "If `true`, then setting this property in one replica will remove the property from all other replicas in that shard. The default is `false`.\\nThere is one pre-defined property `preferredLeader` for which `shardUnique` is forced to `true` and an error returned if `shardUnique` is explicitly set to `false`.", - defaultValue = "false") - @JsonProperty("shardUnique") - public Boolean shardUnique; - } } diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java index 01ca69ed6d3..6ce4e56804c 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java @@ -34,6 +34,7 @@ import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.util.NamedList; import org.apache.solr.core.CoreContainer; +import org.apache.solr.model.api.request.AddReplicaPropertyRequestBody; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.junit.Before; @@ -44,8 +45,7 @@ /** Unit tests for {@link AddReplicaPropertyAPI} */ public class AddReplicaPropertyAPITest extends SolrTestCaseJ4 { - private static final AddReplicaPropertyAPI.AddReplicaPropertyRequestBody ANY_REQ_BODY = - new AddReplicaPropertyAPI.AddReplicaPropertyRequestBody("anyValue"); + private static final AddReplicaPropertyRequestBody ANY_REQ_BODY = new AddReplicaPropertyRequestBody("anyValue"); private CoreContainer mockCoreContainer; private DistributedCollectionConfigSetCommandRunner mockCommandRunner; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/IAddReplicaProperty.java b/solr/solrj-model/src/java/org/apache/solr/model/api/IAddReplicaProperty.java new file mode 100644 index 00000000000..8fbd2801b1c --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/IAddReplicaProperty.java @@ -0,0 +1,60 @@ +/* + * 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. + */ + +package org.apache.solr.model.api; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import org.apache.solr.model.api.request.AddReplicaPropertyRequestBody; +import org.apache.solr.model.api.response.SolrJerseyResponse; + +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; + +import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; + +@Path("/collections/{collName}/shards/{shardName}/replicas/{replicaName}/properties/{propName}") +public interface IAddReplicaProperty { + + @PUT + @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) + @Operation( + summary = "Adds a property to the specified replica", + tags = {"replicas"}) + public SolrJerseyResponse addReplicaProperty( + @Parameter( + description = "The name of the collection the replica belongs to.", + required = true) + @PathParam("collName") + String collName, + @Parameter(description = "The name of the shard the replica belongs to.", required = true) + @PathParam("shardName") + String shardName, + @Parameter(description = "The replica, e.g., `core_node1`.", required = true) + @PathParam("replicaName") + String replicaName, + @Parameter(description = "The name of the property to add.", required = true) + @PathParam("propName") + String propertyName, + @RequestBody( + description = "The value of the replica property to create or update", + required = true) + AddReplicaPropertyRequestBody requestBody) throws Exception; +} diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/request/AddReplicaPropertyRequestBody.java b/solr/solrj-model/src/java/org/apache/solr/model/api/request/AddReplicaPropertyRequestBody.java new file mode 100644 index 00000000000..d000a4ffb7a --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/request/AddReplicaPropertyRequestBody.java @@ -0,0 +1,40 @@ +/* + * 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. + */ + +package org.apache.solr.model.api.request; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; + +public class AddReplicaPropertyRequestBody { + public AddReplicaPropertyRequestBody() {} + + public AddReplicaPropertyRequestBody(String value) { + this.value = value; + } + + @Schema(description = "The value to assign to the property.", required = true) + @JsonProperty("value") + public String value; + + @Schema( + description = + "If `true`, then setting this property in one replica will remove the property from all other replicas in that shard. The default is `false`.\\nThere is one pre-defined property `preferredLeader` for which `shardUnique` is forced to `true` and an error returned if `shardUnique` is explicitly set to `false`.", + defaultValue = "false") + @JsonProperty("shardUnique") + public Boolean shardUnique; +} diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java b/solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java new file mode 100644 index 00000000000..90dc8cae477 --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java @@ -0,0 +1,21 @@ +/* + * 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. + */ + +/** + * Model classes used in making and representing API requests + */ +package org.apache.solr.model.api.request; \ No newline at end of file diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java index 2cd07020713..294df5e00fc 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java @@ -16,6 +16,6 @@ */ /** - * Model classes representing Solr API responses. + * Model classes used in representing and sending API responses */ package org.apache.solr.model.api.response; \ No newline at end of file From 03b471be0e4bae79fa1bb335296cb00dbdd20c93 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Mon, 17 Jul 2023 16:25:35 -0400 Subject: [PATCH 17/58] Add templating for request entity generation SolrJ supports API calls containing entities (i.e. request bodies) via the SolrRequest.getContentWriter method. This commit adds templating so that: 1. The values present accepted in request bodies can now be provided and stored by each SolrRequest implementation. 2. The generated SolrRequest implementations have a getContentWriter method which returns a special ContentWriter that serializes the request body using Jackson. Obviously we're relying on Jackson again here, but for a POC this is probably fine until there's feedback from the community one way or another on the "Jackson" issue. I've mostly tested this out with simple request bodies via JSON, but will attempt more complex request bodies soon. --- .../client/solrj/JacksonContentWriter.java | 45 +++++++++++++++++++ .../src/resources/java-template/api.mustache | 40 +++++++++++++++-- 2 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java new file mode 100644 index 00000000000..f2ca73f2062 --- /dev/null +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java @@ -0,0 +1,45 @@ +/* + * 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. + */ + +package org.apache.solr.client.solrj; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.solr.client.solrj.request.RequestWriter; + +import java.io.IOException; +import java.io.OutputStream; + +public class JacksonContentWriter implements RequestWriter.ContentWriter { + + private final Object toWrite; + private final String contentType; + + public JacksonContentWriter(String contentType, Object toWrite) { + this.contentType = contentType; + this.toWrite = toWrite; + } + + @Override + public void write(OutputStream os) throws IOException { + new ObjectMapper().writeValue(os, toWrite); + } + + @Override + public String getContentType() { + return contentType; + } +} diff --git a/solr/solrj/src/resources/java-template/api.mustache b/solr/solrj/src/resources/java-template/api.mustache index 8000d0d0d8b..9c8234d7597 100644 --- a/solr/solrj/src/resources/java-template/api.mustache +++ b/solr/solrj/src/resources/java-template/api.mustache @@ -17,6 +17,8 @@ import org.apache.solr.client.solrj.response.SimpleSolrResponse; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.params.ModifiableSolrParams; import org.apache.solr.client.solrj.JacksonParsingResponse; +import org.apache.solr.client.solrj.JacksonContentWriter; +import org.apache.solr.client.solrj.request.RequestWriter.ContentWriter; import org.apache.solr.client.solrj.impl.InputStreamResponseParser; import org.apache.solr.client.solrj.ResponseParser; @@ -24,7 +26,6 @@ import org.apache.solr.client.solrj.ResponseParser; public class {{classname}} { {{#operation}} - // TODO JEGERLOW Figure out the request class setup, and then circle back here to a different response public static class {{operationIdCamelCase}}Response extends JacksonParsingResponse<{{returnType}}> { public {{operationIdCamelCase}}Response() { super({{returnType}}.class); @@ -33,7 +34,12 @@ public class {{classname}} { public static class {{operationIdCamelCase}} extends SolrRequest<{{operationIdCamelCase}}Response> { {{#requiredParams}} + {{#isBodyParam}} + private final {{{dataType}}} requestBody; + {{/isBodyParam}} + {{^isBodyParam}} private final {{{dataType}}} {{paramName}}; + {{/isBodyParam}} {{/requiredParams}} {{#optionalParams}} private {{{dataType}}} {{paramName}}; @@ -42,10 +48,10 @@ public class {{classname}} { /** * Create a {{operationIdCamelCase}} request object. * - {{#requiredParams}}* @param {{paramName}} {{description}} + {{#requiredParams}}{{^isBodyParam}}* @param {{paramName}} {{description}}{{/isBodyParam}} {{/requiredParams}} */ - public {{operationIdCamelCase}}({{#requiredParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/requiredParams}}) { + public {{operationIdCamelCase}}({{#requiredParams}}{{^isBodyParam}}{{^-first}}, {{/-first}}{{{dataType}}} {{paramName}}{{/isBodyParam}}{{/requiredParams}}) { super( SolrRequest.METHOD.valueOf("{{httpMethod}}"), "{{{path}}}"{{#pathParams}} @@ -53,7 +59,13 @@ public class {{classname}} { ); {{#requiredParams}} - this.{{paramName}} = {{paramName}}; + {{^isBodyParam}} + this.{{paramName}} = {{paramName}}; + {{/isBodyParam}} + {{#isBodyParam}} + this.requestBody = new {{baseName}}(); + addHeader("Content-type", "application/json"); + {{/isBodyParam}} {{/requiredParams}} } @@ -68,6 +80,26 @@ public class {{classname}} { } {{/optionalParams}} + + {{#bodyParam}} + {{#vars}} + // TODO find a way to add required parameters in the request body to the class constructor + {{#description}} + /** + * @param {{baseName}} {{description}} + */ + {{/description}} + public void {{setter}}({{dataType}} {{baseName}}) { + this.requestBody.{{setter}}({{baseName}}); + } + {{/vars}} + + @Override + public RequestWriter.ContentWriter getContentWriter(String expectedType) { + return new JacksonContentWriter(expectedType, requestBody); + } + {{/bodyParam}} + // TODO Hardcode this for now, but in reality we'll want to parse this out of the Operation data somehow @Override public String getRequestType() { From b540acd2a4648125c0d893e8b0f0c9843be919a1 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 18 Jul 2023 14:13:42 -0400 Subject: [PATCH 18/58] Cosmetic improvements to code generation templates --- .../src/resources/java-template/model.mustache | 9 +-------- .../src/resources/java-template/pojo.mustache | 17 +---------------- 2 files changed, 2 insertions(+), 24 deletions(-) diff --git a/solr/solrj/src/resources/java-template/model.mustache b/solr/solrj/src/resources/java-template/model.mustache index aa96019e97c..0f43a5f6c43 100644 --- a/solr/solrj/src/resources/java-template/model.mustache +++ b/solr/solrj/src/resources/java-template/model.mustache @@ -24,13 +24,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; {{#models}} {{#model}} {{#isEnum}}{{>modelEnum}}{{/isEnum}} -{{^isEnum}} - {{#vendorExtensions.x-is-one-of-interface}} - {{>oneof_interface}} - {{/vendorExtensions.x-is-one-of-interface}} - {{^vendorExtensions.x-is-one-of-interface}} - {{>pojo}} - {{/vendorExtensions.x-is-one-of-interface}} -{{/isEnum}} +{{^isEnum}}{{>pojo}}{{/isEnum}} {{/model}} {{/models}} diff --git a/solr/solrj/src/resources/java-template/pojo.mustache b/solr/solrj/src/resources/java-template/pojo.mustache index 848085c03bc..05b3c4d122e 100644 --- a/solr/solrj/src/resources/java-template/pojo.mustache +++ b/solr/solrj/src/resources/java-template/pojo.mustache @@ -13,7 +13,6 @@ public class {{classname}} { public {{classname}}() {} {{#vars}} - {{^isReadOnly}} public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) { this.{{name}} = {{name}}; @@ -42,23 +41,9 @@ public class {{classname}} { {{#deprecated}} @Deprecated {{/deprecated}} -{{> jackson_annotations}} - public {{{datatypeWithEnum}}} {{getter}}() { - return {{name}}; - } - - {{#vendorExtensions.x-is-jackson-optional-nullable}} -{{> jackson_annotations}} - public JsonNullable<{{{datatypeWithEnum}}}> {{getter}}_JsonNullable() { +{{> jackson_annotations}} public {{{datatypeWithEnum}}} {{getter}}() { return {{name}}; } - {{/vendorExtensions.x-is-jackson-optional-nullable}}{{#vendorExtensions.x-is-jackson-optional-nullable}} - @JsonProperty(JSON_PROPERTY_{{nameInSnakeCase}}) - {{#isReadOnly}}private{{/isReadOnly}}{{^isReadOnly}}public{{/isReadOnly}} void {{setter}}_JsonNullable(JsonNullable<{{{datatypeWithEnum}}}> {{name}}) { - {{! For getters/setters that have name differing from attribute name, we must include setter (albeit private) for jackson to be able to set the attribute}} - this.{{name}} = {{name}}; - } - {{/vendorExtensions.x-is-jackson-optional-nullable}} {{^isReadOnly}} {{> jackson_annotations}} public void {{setter}}({{{datatypeWithEnum}}} {{name}}) { From 83c74b399f68a6f506d3381c24cbaa470cc343b2 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 18 Jul 2023 16:32:37 -0400 Subject: [PATCH 19/58] Cleanup api template --- .../src/resources/java-template/api.mustache | 486 ------------------ 1 file changed, 486 deletions(-) diff --git a/solr/solrj/src/resources/java-template/api.mustache b/solr/solrj/src/resources/java-template/api.mustache index 9c8234d7597..fb48be0cbd4 100644 --- a/solr/solrj/src/resources/java-template/api.mustache +++ b/solr/solrj/src/resources/java-template/api.mustache @@ -128,491 +128,5 @@ public class {{classname}} { } } {{/operation}} - - {{#nonexistent}} - // Below is content from the original template file, kept around for reference - {{#operation}} - {{^vendorExtensions.x-group-parameters}}/** - * Build call for {{operationId}}{{#allParams}} - * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}{{/allParams}} - * @param _callback Callback for upload/download progress - * @return Call to execute - * @throws ApiException If fail to serialize the request body object - {{#responses.0}} - * @http.response.details - - - {{#responses}} - - {{/responses}} -
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
- {{/responses.0}} - {{#isDeprecated}} - * @deprecated - {{/isDeprecated}} - {{#externalDocs}} - * {{description}} - * @see {{summary}} Documentation - {{/externalDocs}} - */ - {{#isDeprecated}} - @Deprecated - {{/isDeprecated}} - public{{/vendorExtensions.x-group-parameters}}{{#vendorExtensions.x-group-parameters}}private{{/vendorExtensions.x-group-parameters}} okhttp3.Call {{operationId}}Call({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ApiCallback _callback) throws ApiException { - String basePath = null; - // Operation Servers - String[] localBasePaths = new String[] { {{#servers}}"{{{url}}}"{{^-last}}, {{/-last}}{{/servers}} }; - - // Determine Base Path to Use - if (localCustomBaseUrl != null){ - basePath = localCustomBaseUrl; - } else if ( localBasePaths.length > 0 ) { - basePath = localBasePaths[localHostIndex]; - } else { - basePath = null; - } - - Object localVarPostBody = {{#bodyParam}}{{paramName}}{{/bodyParam}}{{^bodyParam}}null{{/bodyParam}}; - - // create path and map variables - {{^dynamicOperations}} - String localVarPath = "{{{path}}}"{{#pathParams}} - .replace("{" + "{{baseName}}" + "}", localVarApiClient.escapeString({{#collectionFormat}}localVarApiClient.collectionPathParameterToString("{{{collectionFormat}}}", {{{paramName}}}){{/collectionFormat}}{{^collectionFormat}}{{{paramName}}}.toString(){{/collectionFormat}})){{/pathParams}}; - {{/dynamicOperations}} - {{#dynamicOperations}} - ApiOperation apiOperation = localVarApiClient.getOperationLookupMap().get("{{{operationId}}}"); - if (apiOperation == null) { - throw new ApiException("Operation not found in OAS"); - } - Operation operation = apiOperation.getOperation(); - String localVarPath = apiOperation.getPath(); - Map paramMap = new HashMap<>(); - {{#allParams}} - {{^isFormParam}} - {{^isBodyParam}} - paramMap.put("{{baseName}}", {{paramName}}); - {{/isBodyParam}} - {{/isFormParam}} - {{/allParams}} - {{/dynamicOperations}} - - List localVarQueryParams = new ArrayList(); - List localVarCollectionQueryParams = new ArrayList(); - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); - - {{#formParams}} - if ({{paramName}} != null) { - localVarFormParams.put("{{baseName}}", {{paramName}}); - } - - {{/formParams}} - {{^dynamicOperations}} - {{#queryParams}} - if ({{paramName}} != null) { - {{#collectionFormat}}localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("{{{.}}}", {{/collectionFormat}}{{^collectionFormat}}localVarQueryParams.addAll(localVarApiClient.parameterToPair({{/collectionFormat}}"{{baseName}}", {{paramName}})); - } - - {{/queryParams}} - {{#headerParams}} - if ({{paramName}} != null) { - localVarHeaderParams.put("{{baseName}}", localVarApiClient.parameterToString({{paramName}})); - } - - {{/headerParams}} - {{#cookieParams}} - if ({{paramName}} != null) { - localVarCookieParams.put("{{baseName}}", localVarApiClient.parameterToString({{paramName}})); - } - - {{/cookieParams}} - {{/dynamicOperations}} - {{#dynamicOperations}} - localVarPath = localVarApiClient.fillParametersFromOperation(operation, paramMap, localVarPath, localVarQueryParams, localVarCollectionQueryParams, localVarHeaderParams, localVarCookieParams); - - {{/dynamicOperations}} - final String[] localVarAccepts = { - {{#produces}} - "{{{mediaType}}}"{{^-last}},{{/-last}} - {{/produces}} - }; - final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) { - localVarHeaderParams.put("Accept", localVarAccept); - } - - final String[] localVarContentTypes = { - {{#consumes}} - "{{{mediaType}}}"{{^-last}},{{/-last}} - {{/consumes}} - }; - final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); - if (localVarContentType != null) { - localVarHeaderParams.put("Content-Type", localVarContentType); - } - - String[] localVarAuthNames = new String[] { {{#withAWSV4Signature}}"AWS4Auth"{{/withAWSV4Signature}}{{#authMethods}}{{#-first}}{{#withAWSV4Signature}}, {{/withAWSV4Signature}}{{/-first}}"{{name}}"{{^-last}}, {{/-last}}{{/authMethods}} }; - return localVarApiClient.buildCall(basePath, localVarPath, {{^dynamicOperations}}"{{httpMethod}}"{{/dynamicOperations}}{{#dynamicOperations}}apiOperation.getMethod(){{/dynamicOperations}}, localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); - } - - {{#isDeprecated}} - @Deprecated - {{/isDeprecated}} - @SuppressWarnings("rawtypes") - private okhttp3.Call {{operationId}}ValidateBeforeCall({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ApiCallback _callback) throws ApiException { - {{^performBeanValidation}} - {{#allParams}} - {{#required}} - // verify the required parameter '{{paramName}}' is set - if ({{paramName}} == null) { - throw new ApiException("Missing the required parameter '{{paramName}}' when calling {{operationId}}(Async)"); - } - - {{/required}} - {{/allParams}} - return {{operationId}}Call({{#allParams}}{{paramName}}, {{/allParams}}_callback); - - {{/performBeanValidation}} - {{#performBeanValidation}} - try { - ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); - ExecutableValidator executableValidator = factory.getValidator().forExecutables(); - - Object[] parameterValues = { {{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}} }; - Method method = this.getClass().getMethod("{{operationId}}WithHttpInfo"{{#allParams}}, {{#isArray}}java.util.List{{/isArray}}{{#isMap}}java.util.Map{{/isMap}}{{^isArray}}{{^isMap}}{{{dataType}}}{{/isMap}}{{/isArray}}.class{{/allParams}}); - Set> violations = executableValidator.validateParameters(this, method, - parameterValues); - - if (violations.size() == 0) { - return {{operationId}}Call({{#allParams}}{{paramName}}, {{/allParams}}_callback); - } else { - throw new BeanValidationException((Set) violations); - } - } catch (NoSuchMethodException e) { - e.printStackTrace(); - throw new ApiException(e.getMessage()); - } catch (SecurityException e) { - e.printStackTrace(); - throw new ApiException(e.getMessage()); - } - {{/performBeanValidation}} - } - - {{^vendorExtensions.x-group-parameters}} - /** - * {{summary}} - * {{notes}}{{#allParams}} - * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}{{/allParams}}{{#returnType}} - * @return {{.}}{{/returnType}} - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - {{#responses.0}} - * @http.response.details - - - {{#responses}} - - {{/responses}} -
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
- {{/responses.0}} - {{#isDeprecated}} - * @deprecated - {{/isDeprecated}} - {{#externalDocs}} - * {{description}} - * @see {{summary}} Documentation - {{/externalDocs}} - */ - {{#isDeprecated}} - @Deprecated - {{/isDeprecated}} - {{#vendorExtensions.x-streaming}} - public {{#returnType}}InputStream {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) throws ApiException { - {{#returnType}}InputStream localVarResp = {{/returnType}}{{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}});{{#returnType}} - return localVarResp;{{/returnType}} - } - {{/vendorExtensions.x-streaming}} - {{^vendorExtensions.x-streaming}} - public {{#returnType}}{{{.}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) throws ApiException { - {{#returnType}}ApiResponse<{{{.}}}> localVarResp = {{/returnType}}{{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}});{{#returnType}} - return localVarResp.getData();{{/returnType}} - } - {{/vendorExtensions.x-streaming}} - {{/vendorExtensions.x-group-parameters}} - - {{^vendorExtensions.x-group-parameters}}/** - * {{summary}} - * {{notes}}{{#allParams}} - * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}{{/allParams}} - * @return ApiResponse<{{returnType}}{{^returnType}}Void{{/returnType}}> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - {{#responses.0}} - * @http.response.details - - - {{#responses}} - - {{/responses}} -
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
- {{/responses.0}} - {{#isDeprecated}} - * @deprecated - {{/isDeprecated}} - {{#externalDocs}} - * {{description}} - * @see {{summary}} Documentation - {{/externalDocs}} - */ - {{#isDeprecated}} - @Deprecated - {{/isDeprecated}} - public{{/vendorExtensions.x-group-parameters}}{{#vendorExtensions.x-group-parameters}}private{{/vendorExtensions.x-group-parameters}}{{#vendorExtensions.x-streaming}} InputStream {{operationId}}WithHttpInfo({{#allParams}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) throws ApiException { - okhttp3.Call localVarCall = {{operationId}}ValidateBeforeCall({{#allParams}}{{paramName}}, {{/allParams}}null); - {{#returnType}} - {{#errorObjectType}} - try { - Type localVarReturnType = new TypeToken<{{{returnType}}}>(){}.getType(); - return localVarApiClient.executeStream(localVarCall, localVarReturnType); - } catch (ApiException e) { - e.setErrorObject(localVarApiClient.getJSON().getGson().fromJson(e.getResponseBody(), new TypeToken<{{{errorObjectType}}}>(){}.getType())); - throw e; - } - {{/errorObjectType}} - {{^errorObjectType}} - Type localVarReturnType = new TypeToken<{{{returnType}}}>(){}.getType(); - return localVarApiClient.executeStream(localVarCall, localVarReturnType); - {{/errorObjectType}} - {{/returnType}} - } - {{/vendorExtensions.x-streaming}}{{^vendorExtensions.x-streaming}} ApiResponse<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{operationId}}WithHttpInfo({{#allParams}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) throws ApiException { - okhttp3.Call localVarCall = {{operationId}}ValidateBeforeCall({{#allParams}}{{paramName}}, {{/allParams}}null); - {{^returnType}} - return localVarApiClient.execute(localVarCall); - {{/returnType}} - {{#returnType}} - {{#errorObjectType}} - try { - Type localVarReturnType = new TypeToken<{{{returnType}}}>(){}.getType(); - return localVarApiClient.execute(localVarCall, localVarReturnType); - } catch (ApiException e) { - e.setErrorObject(localVarApiClient.getJSON().getGson().fromJson(e.getResponseBody(), new TypeToken<{{{errorObjectType}}}>(){}.getType())); - throw e; - } - {{/errorObjectType}} - {{^errorObjectType}} - Type localVarReturnType = new TypeToken<{{{returnType}}}>(){}.getType(); - return localVarApiClient.execute(localVarCall, localVarReturnType); - {{/errorObjectType}} - {{/returnType}} - } - {{/vendorExtensions.x-streaming}} - - {{^vendorExtensions.x-group-parameters}}/** - * {{summary}} (asynchronously) - * {{notes}}{{#allParams}} - * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}{{/allParams}} - * @param _callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - {{#responses.0}} - * @http.response.details - - - {{#responses}} - - {{/responses}} -
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
- {{/responses.0}} - {{#isDeprecated}} - * @deprecated - {{/isDeprecated}} - {{#externalDocs}} - * {{description}} - * @see {{summary}} Documentation - {{/externalDocs}} - */ - {{#isDeprecated}} - @Deprecated - {{/isDeprecated}} - public{{/vendorExtensions.x-group-parameters}}{{#vendorExtensions.x-group-parameters}}private{{/vendorExtensions.x-group-parameters}} okhttp3.Call {{operationId}}Async({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ApiCallback<{{{returnType}}}{{^returnType}}Void{{/returnType}}> _callback) throws ApiException { - - okhttp3.Call localVarCall = {{operationId}}ValidateBeforeCall({{#allParams}}{{paramName}}, {{/allParams}}_callback); - {{#returnType}}Type localVarReturnType = new TypeToken<{{{returnType}}}>(){}.getType(); - localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);{{/returnType}}{{^returnType}}localVarApiClient.executeAsync(localVarCall, _callback);{{/returnType}} - return localVarCall; - } - {{#vendorExtensions.x-group-parameters}} - - public class API{{operationId}}Request { - {{#requiredParams}} - private final {{{dataType}}} {{paramName}}; - {{/requiredParams}} - {{#optionalParams}} - private {{{dataType}}} {{paramName}}; - {{/optionalParams}} - - private API{{operationId}}Request({{#requiredParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/requiredParams}}) { - {{#requiredParams}} - this.{{paramName}} = {{paramName}}; - {{/requiredParams}} - } - - {{#optionalParams}} - /** - * Set {{paramName}} - * @param {{paramName}} {{description}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}) - * @return API{{operationId}}Request - */ - public API{{operationId}}Request {{paramName}}({{{dataType}}} {{paramName}}) { - this.{{paramName}} = {{paramName}}; - return this; - } - - {{/optionalParams}} - /** - * Build call for {{operationId}} - * @param _callback ApiCallback API callback - * @return Call to execute - * @throws ApiException If fail to serialize the request body object - {{#responses.0}} - * @http.response.details - - - {{#responses}} - - {{/responses}} -
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
- {{/responses.0}} - {{#isDeprecated}} - * @deprecated - {{/isDeprecated}} - */ - {{#isDeprecated}} - @Deprecated - {{/isDeprecated}} - public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { - return {{operationId}}Call({{#allParams}}{{paramName}}, {{/allParams}}_callback); - } - - /** - * Execute {{operationId}} request{{#returnType}} - * @return {{.}}{{/returnType}} - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - {{#responses.0}} - * @http.response.details - - - {{#responses}} - - {{/responses}} -
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
- {{/responses.0}} - {{#isDeprecated}} - * @deprecated - {{/isDeprecated}} - */ - {{#isDeprecated}} - @Deprecated - {{/isDeprecated}} - {{^vendorExtensions.x-streaming}} - public {{{returnType}}}{{^returnType}}void{{/returnType}} execute() throws ApiException { - {{#returnType}}ApiResponse<{{{.}}}> localVarResp = {{/returnType}}{{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}});{{#returnType}} - return localVarResp.getData();{{/returnType}} - } - {{/vendorExtensions.x-streaming}} - {{#vendorExtensions.x-streaming}} - public InputStream execute() throws ApiException { - return {{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); - } - {{/vendorExtensions.x-streaming}} - - /** - * Execute {{operationId}} request with HTTP info returned - * @return ApiResponse<{{returnType}}{{^returnType}}Void{{/returnType}}> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - {{#responses.0}} - * @http.response.details - - - {{#responses}} - - {{/responses}} -
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
- {{/responses.0}} - {{#isDeprecated}} - * @deprecated - {{/isDeprecated}} - */ - {{#isDeprecated}} - @Deprecated - {{/isDeprecated}} - {{^vendorExtensions.x-streaming}} - public ApiResponse<{{{returnType}}}{{^returnType}}Void{{/returnType}}> executeWithHttpInfo() throws ApiException { - return {{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); - } - {{/vendorExtensions.x-streaming}} - {{#vendorExtensions.x-streaming}} - public InputStream executeWithHttpInfo() throws ApiException { - return {{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); - } - {{/vendorExtensions.x-streaming}} - - /** - * Execute {{operationId}} request (asynchronously) - * @param _callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - {{#responses.0}} - * @http.response.details - - - {{#responses}} - - {{/responses}} -
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
- {{/responses.0}} - {{#isDeprecated}} - * @deprecated - {{/isDeprecated}} - */ - {{#isDeprecated}} - @Deprecated - {{/isDeprecated}} - public okhttp3.Call executeAsync(final ApiCallback<{{{returnType}}}{{^returnType}}Void{{/returnType}}> _callback) throws ApiException { - return {{operationId}}Async({{#allParams}}{{paramName}}, {{/allParams}}_callback); - } - } - - /** - * {{summary}} - * {{notes}}{{#requiredParams}} - * @param {{paramName}} {{description}} (required){{/requiredParams}} - * @return API{{operationId}}Request - {{#responses.0}} - * @http.response.details - - - {{#responses}} - - {{/responses}} -
Status Code Description Response Headers
{{code}} {{message}} {{#headers}} * {{baseName}} - {{description}}
{{/headers}}{{^headers.0}} - {{/headers.0}}
- {{/responses.0}} - {{#isDeprecated}} - * @deprecated - {{/isDeprecated}} - {{#externalDocs}} - * {{description}} - * @see {{summary}} Documentation - {{/externalDocs}} - */ - {{#isDeprecated}} - @Deprecated - {{/isDeprecated}} - public API{{operationId}}Request {{operationId}}({{#requiredParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/requiredParams}}) { - return new API{{operationId}}Request({{#requiredParams}}{{paramName}}{{^-last}}, {{/-last}}{{/requiredParams}}); - } - {{/vendorExtensions.x-group-parameters}} - {{/operation}} - {{/nonexistent}} } {{/operations}} From 9f39281a7acff08aaa3efa67a0d67ee4aad6386b Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 19 Jul 2023 08:43:14 -0400 Subject: [PATCH 20/58] Ensure 'tidy' cleans up generated code Modifies the allow/block lists in spotless.gradle to ensure that the existing 'tidy' task covers the Java code generated by solr:solrj:openApiGenerate. Also adds a "finalization" hook to 'openApiGenerate' so that tidy is run on the generated code straightaway. (Currently this is done in a not-quite-ideal way, as we also tidy up non-generated SolrJ code. That's something I'm hoping to limit/remove in a subsequent commit.) --- gradle/validation/spotless.gradle | 3 +++ solr/solrj/build.gradle | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gradle/validation/spotless.gradle b/gradle/validation/spotless.gradle index 3239ac4b1a3..e88b79d80b5 100644 --- a/gradle/validation/spotless.gradle +++ b/gradle/validation/spotless.gradle @@ -61,6 +61,9 @@ configure(project(":solr").subprojects) { prj -> // Apply to all example Java sources in the ref-guide target "modules/**/examples/*.java" break + case ":solr:solrj": + target "src/**/*.java", "build/generated/src/**/*.java" + break } custom 'Refuse wildcard imports', { diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 3f7daac33cc..00fa1e297ec 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -43,8 +43,8 @@ openApiGenerate { //inputSpec = project(":solr:solrj-model").ext.openapispecfile inputSpec = "${buildDir}/openapispec/openapi.json" - // 'debugModels: ""' or 'debugOperations: ""' to get the JSON input to moustache templating for those components - globalProperties.set([modelDocs: "false", apis: "", models: "", debugModels: ""]) + // Add 'debugModels: ""' or 'debugOperations: ""' to get the JSON input to mustache templating for those components + globalProperties.set([modelDocs: "false", apis: "", models: ""]) templateDir = "$projectDir/src/resources/java-template" apiPackage = "org.apache.solr.client.solrj.request" modelPackage = "org.apache.solr.client.solrj.model" @@ -52,8 +52,10 @@ openApiGenerate { generateApiTests = false generateModelTests = false } + tasks.getByName("copySpec").dependsOn configurations.getByName("openApiSpecFile") tasks.getByName("openApiGenerate").dependsOn tasks.copySpec +tasks.getByName("openApiGenerate").finalizedBy tasks.tidy sourceSets { main { From fdb184c179a631d3ff887e3a2aa655cac46daf84 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 19 Jul 2023 09:06:44 -0400 Subject: [PATCH 21/58] Tidy cleanup --- .../solr/handler/ReplicationHandler.java | 2 +- .../handler/admin/CollectionsHandler.java | 2 +- .../admin/api/AddReplicaPropertyAPI.java | 38 +++++----- .../solr/handler/admin/api/AdminAPIBase.java | 2 +- .../handler/admin/api/CoreAdminAPIBase.java | 2 +- .../api/CreateCollectionSnapshotAPI.java | 2 +- .../handler/admin/api/DeleteAliasAPI.java | 25 +++---- .../admin/api/DeleteCollectionAPI.java | 11 +-- .../api/DeleteCollectionSnapshotAPI.java | 2 +- .../admin/api/ListCollectionSnapshotsAPI.java | 2 +- .../handler/admin/api/NodeLoggingAPI.java | 2 +- .../apache/solr/handler/api/V2ApiUtils.java | 74 +++++++++---------- .../solr/jersey/CatchAllExceptionMapper.java | 1 + .../solr/jersey/JerseyApplications.java | 5 +- .../solr/jersey/MessageBodyWriters.java | 3 +- .../admin/api/AddReplicaPropertyAPITest.java | 3 +- .../apache/solr/model/api/ApiMetadata.java | 14 ++-- .../org/apache/solr/model/api/Constants.java | 6 +- .../solr/model/api/IAddReplicaProperty.java | 58 +++++++-------- .../apache/solr/model/api/IDeleteAlias.java | 13 ++-- .../solr/model/api/IDeleteCollection.java | 31 ++++---- .../apache/solr/model/api/package-info.java | 6 +- .../AddReplicaPropertyRequestBody.java | 26 +++---- .../solr/model/api/request/package-info.java | 6 +- .../api/response/AsyncJerseyResponse.java | 1 - .../solr/model/api/response/ErrorInfo.java | 6 +- .../api/response/SolrJerseyResponse.java | 2 - ...SubResponseAccumulatingJerseyResponse.java | 1 - .../solr/model/api/response/package-info.java | 6 +- .../org/apache/solr/model/package-info.java | 6 +- .../test/org/apache/solr/model/DummyTest.java | 8 +- .../client/solrj/JacksonContentWriter.java | 31 ++++---- .../client/solrj/JacksonParsingResponse.java | 37 ++++------ .../org/apache/solr/common/SolrException.java | 9 +-- .../solr/common/util/ModelConstants.java | 12 +-- ...lectionAdminRequestRequiredParamsTest.java | 4 + 36 files changed, 218 insertions(+), 241 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java index c2511eabf94..474aafd2ccf 100644 --- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java @@ -91,9 +91,9 @@ import org.apache.solr.handler.IndexFetcher.IndexFetchResult; import org.apache.solr.handler.admin.api.CoreReplicationAPI; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.metrics.MetricsMap; import org.apache.solr.metrics.SolrMetricsContext; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.search.SolrIndexSearcher; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java index 7803e93e40d..09fadf0d108 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java @@ -199,9 +199,9 @@ import org.apache.solr.handler.admin.api.SplitShardAPI; import org.apache.solr.handler.admin.api.SyncShardAPI; import org.apache.solr.handler.api.V2ApiUtils; +import org.apache.solr.logging.MDCLoggingContext; import org.apache.solr.model.api.request.AddReplicaPropertyRequestBody; import org.apache.solr.model.api.response.SolrJerseyResponse; -import org.apache.solr.logging.MDCLoggingContext; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.security.AuthorizationContext; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java index 6b19a0c7f66..bf4fad557f4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java @@ -16,6 +16,21 @@ */ package org.apache.solr.handler.admin.api; +import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION; +import static org.apache.solr.cloud.api.collections.CollectionHandlingUtils.SHARD_UNIQUE; +import static org.apache.solr.common.cloud.ZkStateReader.COLLECTION_PROP; +import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_PROP; +import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_VALUE_PROP; +import static org.apache.solr.common.cloud.ZkStateReader.REPLICA_PROP; +import static org.apache.solr.common.cloud.ZkStateReader.SHARD_ID_PROP; +import static org.apache.solr.common.params.CollectionAdminParams.PROPERTY_PREFIX; +import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT; +import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM; + +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; +import javax.inject.Inject; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.cloud.overseer.SliceMutator; import org.apache.solr.common.SolrException; @@ -30,22 +45,6 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import javax.inject.Inject; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; - -import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION; -import static org.apache.solr.cloud.api.collections.CollectionHandlingUtils.SHARD_UNIQUE; -import static org.apache.solr.common.cloud.ZkStateReader.COLLECTION_PROP; -import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_PROP; -import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_VALUE_PROP; -import static org.apache.solr.common.cloud.ZkStateReader.REPLICA_PROP; -import static org.apache.solr.common.cloud.ZkStateReader.SHARD_ID_PROP; -import static org.apache.solr.common.params.CollectionAdminParams.PROPERTY_PREFIX; -import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT; -import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM; - /** * V2 API for adding a property to a collection replica * @@ -62,7 +61,12 @@ public AddReplicaPropertyAPI( } @PermissionName(COLL_EDIT_PERM) - public SolrJerseyResponse addReplicaProperty(String collName, String shardName, String replicaName, String propertyName, AddReplicaPropertyRequestBody requestBody) + public SolrJerseyResponse addReplicaProperty( + String collName, + String shardName, + String replicaName, + String propertyName, + AddReplicaPropertyRequestBody requestBody) throws Exception { if (requestBody == null) { throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Missing required request body"); diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java index e931ca02c0e..b4c129a6a7d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java @@ -28,8 +28,8 @@ import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.logging.MDCLoggingContext; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.tracing.TraceUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java index a9207c84147..4ed37f0654c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java @@ -22,8 +22,8 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.logging.MDCLoggingContext; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.tracing.TraceUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java index c9a24c35c21..7de73229471 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java @@ -44,9 +44,9 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.core.snapshots.SolrSnapshotManager; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; +import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java index 121c4ac0edb..97f3dee59fa 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java @@ -17,30 +17,29 @@ package org.apache.solr.handler.admin.api; +import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION; +import static org.apache.solr.common.params.CommonAdminParams.ASYNC; +import static org.apache.solr.common.params.CommonParams.NAME; +import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT; +import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM; + +import java.util.HashMap; +import java.util.Map; +import javax.inject.Inject; +import javax.ws.rs.PathParam; +import javax.ws.rs.QueryParam; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.jersey.PermissionName; import org.apache.solr.model.api.IDeleteAlias; +import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import javax.inject.Inject; -import javax.ws.rs.PathParam; -import javax.ws.rs.QueryParam; -import java.util.HashMap; -import java.util.Map; - -import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION; -import static org.apache.solr.common.params.CommonAdminParams.ASYNC; -import static org.apache.solr.common.params.CommonParams.NAME; -import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT; -import static org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PERM; - public class DeleteAliasAPI extends AdminAPIBase implements IDeleteAlias { @Inject public DeleteAliasAPI( diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java index 055c8b629a0..f49df988a94 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java @@ -16,7 +16,6 @@ */ package org.apache.solr.handler.admin.api; -import static org.apache.solr.client.solrj.impl.BinaryResponseParser.BINARY_CONTENT_TYPE_V2; import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION; import static org.apache.solr.common.params.CollectionAdminParams.FOLLOW_ALIASES; import static org.apache.solr.common.params.CommonAdminParams.ASYNC; @@ -27,11 +26,6 @@ import java.util.HashMap; import java.util.Map; import javax.inject.Inject; -import javax.ws.rs.DELETE; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -61,10 +55,7 @@ public DeleteCollectionAPI( @PermissionName(COLL_EDIT_PERM) public SubResponseAccumulatingJerseyResponse deleteCollection( - String collectionName, - Boolean followAliases, - String asyncId) - throws Exception { + String collectionName, Boolean followAliases, String asyncId) throws Exception { final SubResponseAccumulatingJerseyResponse response = instantiateJerseyResponse(SubResponseAccumulatingJerseyResponse.class); final CoreContainer coreContainer = fetchAndValidateZooKeeperAwareCoreContainer(); diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java index ec49de52430..588a8516560 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java @@ -42,8 +42,8 @@ import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.jersey.PermissionName; +import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java index ad94ec892ed..ac11bc7e435 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java @@ -34,8 +34,8 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.core.snapshots.CollectionSnapshotMetaData; import org.apache.solr.core.snapshots.SolrSnapshotManager; -import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.jersey.PermissionName; +import org.apache.solr.model.api.response.AsyncJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java index c6d3a8ca1ae..226e476ab63 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java @@ -40,8 +40,8 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.logging.LogWatcher; +import org.apache.solr.model.api.response.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java index ebc5963354c..ed3a535d8e3 100644 --- a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java +++ b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java @@ -17,22 +17,20 @@ package org.apache.solr.handler.api; +import static org.apache.solr.client.solrj.impl.BinaryResponseParser.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.common.params.CommonParams.WT; + import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; import org.apache.solr.common.MapWriter.EntryWriter; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; -import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.model.api.response.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import java.util.List; -import java.util.Map; - -import static org.apache.solr.client.solrj.impl.BinaryResponseParser.BINARY_CONTENT_TYPE_V2; -import static org.apache.solr.common.params.CommonParams.WT; - /** Utilities helpful for common V2 API declaration tasks. */ public class V2ApiUtils { private V2ApiUtils() { @@ -59,33 +57,28 @@ public static void flattenToCommaDelimitedString( } /** - * Convert a JacksonReflectMapWriter (typically a {@link - * SolrJerseyResponse}) into the NamedList on a SolrQueryResponse, omitting - * the response header + * Convert a JacksonReflectMapWriter (typically a {@link SolrJerseyResponse}) into the NamedList + * on a SolrQueryResponse, omitting the response header * * @param rsp the response to attach the resulting NamedList to * @param mw the input object to be converted into a NamedList */ - public static void squashIntoSolrResponseWithoutHeader( - SolrQueryResponse rsp, Object mw) { + public static void squashIntoSolrResponseWithoutHeader(SolrQueryResponse rsp, Object mw) { squashObjectIntoNamedList(rsp.getValues(), mw, true); } /** - * Convert a JacksonReflectMapWriter (typically a {@link - * SolrJerseyResponse}) into the NamedList on a SolrQueryResponse, - * including the response header + * Convert a JacksonReflectMapWriter (typically a {@link SolrJerseyResponse}) into the NamedList + * on a SolrQueryResponse, including the response header * * @param rsp the response to attach the resulting NamedList to * @param mw the input object to be converted into a NamedList */ - public static void squashIntoSolrResponseWithHeader( - SolrQueryResponse rsp, Object mw) { + public static void squashIntoSolrResponseWithHeader(SolrQueryResponse rsp, Object mw) { squashObjectIntoNamedList(rsp.getValues(), mw, false); } - public static void squashIntoNamedList( - NamedList destination, Object mw) { + public static void squashIntoNamedList(NamedList destination, Object mw) { squashObjectIntoNamedList(destination, mw, false); } @@ -106,27 +99,28 @@ public static String getMediaTypeFromWtParam( } public static void squashObjectIntoNamedList( - NamedList destination, Object o, boolean trimHeader) { - final var ew = new EntryWriter() { - @Override - public EntryWriter put(CharSequence key, Object value) { - var kStr = key.toString(); - if (trimHeader && kStr.equals("responseHeader")) { - return null; + NamedList destination, Object o, boolean trimHeader) { + final var ew = + new EntryWriter() { + @Override + public EntryWriter put(CharSequence key, Object value) { + var kStr = key.toString(); + if (trimHeader && kStr.equals("responseHeader")) { + return null; + } + destination.add(kStr, value); + return this; // returning "this" means we can't use a lambda :-( } - destination.add(kStr, value); - return this; // returning "this" means we can't use a lambda :-( - } - }; - Utils.reflectWrite( - ew, - o, - // TODO Should we be lenient here and accept both the Jackson and our homegrown annotation? - field -> field.getAnnotation(JsonProperty.class) != null, - JsonAnyGetter.class, - field -> { - final JsonProperty prop = field.getAnnotation(JsonProperty.class); - return prop.value().isEmpty() ? field.getName() : prop.value(); - }); + }; + Utils.reflectWrite( + ew, + o, + // TODO Should we be lenient here and accept both the Jackson and our homegrown annotation? + field -> field.getAnnotation(JsonProperty.class) != null, + JsonAnyGetter.class, + field -> { + final JsonProperty prop = field.getAnnotation(JsonProperty.class); + return prop.value().isEmpty() ? field.getName() : prop.value(); + }); } } diff --git a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java index e237ca4d367..b21ea9d20c9 100644 --- a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java +++ b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java @@ -55,6 +55,7 @@ public class CatchAllExceptionMapper implements ExceptionMapper { @Override public Response toResponse(Exception exception) { + log.error("Found exception in CatchAllExceptionMapper: ", exception); final ContainerRequestContext containerRequestContext = resourceContext.getResource(ContainerRequestContext.class); diff --git a/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java b/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java index c617a56ae0e..db5900edcad 100644 --- a/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java +++ b/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java @@ -17,18 +17,15 @@ package org.apache.solr.jersey; -import io.swagger.v3.oas.annotations.OpenAPIDefinition; -import io.swagger.v3.oas.annotations.info.Info; -import io.swagger.v3.oas.annotations.info.License; import java.util.Map; import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.SolrCore; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.schema.IndexSchema; -import org.apache.solr.util.SolrVersion; import org.glassfish.hk2.utilities.binding.AbstractBinder; import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvider; +import org.glassfish.jersey.logging.LoggingFeature; import org.glassfish.jersey.process.internal.RequestScoped; import org.glassfish.jersey.server.ResourceConfig; diff --git a/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java b/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java index 3d20705292a..49fd716d09f 100644 --- a/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java +++ b/solr/core/src/java/org/apache/solr/jersey/MessageBodyWriters.java @@ -108,8 +108,7 @@ public String getSupportedMediaType() { } } - public abstract static class BaseMessageBodyWriter - implements MessageBodyWriter { + public abstract static class BaseMessageBodyWriter implements MessageBodyWriter { @Context protected ResourceContext resourceContext; private final QueryResponseWriter responseWriter = createResponseWriter(); diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java index 6ce4e56804c..a24b62cf757 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java @@ -45,7 +45,8 @@ /** Unit tests for {@link AddReplicaPropertyAPI} */ public class AddReplicaPropertyAPITest extends SolrTestCaseJ4 { - private static final AddReplicaPropertyRequestBody ANY_REQ_BODY = new AddReplicaPropertyRequestBody("anyValue"); + private static final AddReplicaPropertyRequestBody ANY_REQ_BODY = + new AddReplicaPropertyRequestBody("anyValue"); private CoreContainer mockCoreContainer; private DistributedCollectionConfigSetCommandRunner mockCommandRunner; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/ApiMetadata.java b/solr/solrj-model/src/java/org/apache/solr/model/api/ApiMetadata.java index 78cf380e724..6941a6963ba 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/ApiMetadata.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/ApiMetadata.java @@ -22,11 +22,11 @@ import io.swagger.v3.oas.annotations.info.License; @OpenAPIDefinition( - info = + info = @Info( - title = "v2 API", - description = "OpenAPI spec for Solr's v2 API endpoints", - license = @License(name = "ASL 2.0"), - version = "10.0.0")) // TODO Move core's SolrVersion into solrj-model and use SolrVersion.LATEST_STRING here instead of the hardcode. -public class ApiMetadata { -} + title = "v2 API", + description = "OpenAPI spec for Solr's v2 API endpoints", + license = @License(name = "ASL 2.0"), + version = "10.0.0")) // TODO Move core's SolrVersion into solrj-model and use +// SolrVersion.LATEST_STRING here instead of the hardcode. +public class ApiMetadata {} diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/Constants.java b/solr/solrj-model/src/java/org/apache/solr/model/api/Constants.java index a45d3f103d9..b9edd12ba96 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/Constants.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/Constants.java @@ -18,7 +18,9 @@ package org.apache.solr.model.api; public class Constants { - private Constants() { /* Private ctor prevents instantiation */ } + private Constants() { + /* Private ctor prevents instantiation */ + } - public static final String BINARY_CONTENT_TYPE_V2 = "application/vnd.apache.solr.javabin"; + public static final String BINARY_CONTENT_TYPE_V2 = "application/vnd.apache.solr.javabin"; } diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/IAddReplicaProperty.java b/solr/solrj-model/src/java/org/apache/solr/model/api/IAddReplicaProperty.java index 8fbd2801b1c..a10a408fb60 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/IAddReplicaProperty.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/IAddReplicaProperty.java @@ -17,44 +17,44 @@ package org.apache.solr.model.api; +import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; + import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import org.apache.solr.model.api.request.AddReplicaPropertyRequestBody; -import org.apache.solr.model.api.response.SolrJerseyResponse; - import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; - -import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; +import org.apache.solr.model.api.request.AddReplicaPropertyRequestBody; +import org.apache.solr.model.api.response.SolrJerseyResponse; @Path("/collections/{collName}/shards/{shardName}/replicas/{replicaName}/properties/{propName}") public interface IAddReplicaProperty { - @PUT - @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) - @Operation( - summary = "Adds a property to the specified replica", - tags = {"replicas"}) - public SolrJerseyResponse addReplicaProperty( - @Parameter( - description = "The name of the collection the replica belongs to.", - required = true) - @PathParam("collName") - String collName, - @Parameter(description = "The name of the shard the replica belongs to.", required = true) - @PathParam("shardName") - String shardName, - @Parameter(description = "The replica, e.g., `core_node1`.", required = true) - @PathParam("replicaName") - String replicaName, - @Parameter(description = "The name of the property to add.", required = true) - @PathParam("propName") - String propertyName, - @RequestBody( - description = "The value of the replica property to create or update", - required = true) - AddReplicaPropertyRequestBody requestBody) throws Exception; + @PUT + @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) + @Operation( + summary = "Adds a property to the specified replica", + tags = {"replicas"}) + public SolrJerseyResponse addReplicaProperty( + @Parameter( + description = "The name of the collection the replica belongs to.", + required = true) + @PathParam("collName") + String collName, + @Parameter(description = "The name of the shard the replica belongs to.", required = true) + @PathParam("shardName") + String shardName, + @Parameter(description = "The replica, e.g., `core_node1`.", required = true) + @PathParam("replicaName") + String replicaName, + @Parameter(description = "The name of the property to add.", required = true) + @PathParam("propName") + String propertyName, + @RequestBody( + description = "The value of the replica property to create or update", + required = true) + AddReplicaPropertyRequestBody requestBody) + throws Exception; } diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteAlias.java b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteAlias.java index 581685e95b0..39e8d3bb316 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteAlias.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteAlias.java @@ -17,20 +17,21 @@ package org.apache.solr.model.api; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; import javax.ws.rs.DELETE; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; - -import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; +import org.apache.solr.model.api.response.SolrJerseyResponse; @Path("/aliases/{aliasName}") public interface IDeleteAlias { - @DELETE - @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) - SolrJerseyResponse deleteAlias(@PathParam("aliasName") String aliasName, @QueryParam("async") String asyncId) throws Exception ; + @DELETE + @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) + SolrJerseyResponse deleteAlias( + @PathParam("aliasName") String aliasName, @QueryParam("async") String asyncId) + throws Exception; } diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java index a349df94572..e7f674c3649 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java @@ -17,30 +17,31 @@ package org.apache.solr.model.api; +import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; + import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; - import javax.ws.rs.DELETE; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; - -import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; +import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; @Path("/collections/{collectionName}") public interface IDeleteCollection { - @DELETE - @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) - @Operation( - summary = "Deletes a collection from SolrCloud", - tags = {"collections"}) - SubResponseAccumulatingJerseyResponse deleteCollection( - @Parameter(description = "The name of the collection to be deleted.", required = true) - @PathParam("collectionName") String collectionName, - @QueryParam("followAliases") Boolean followAliases, - @Parameter(description = "An ID to track the request asynchronously") - @QueryParam("async") String asyncId) throws Exception; + @DELETE + @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) + @Operation( + summary = "Deletes a collection from SolrCloud", + tags = {"collections"}) + SubResponseAccumulatingJerseyResponse deleteCollection( + @Parameter(description = "The name of the collection to be deleted.", required = true) + @PathParam("collectionName") + String collectionName, + @QueryParam("followAliases") Boolean followAliases, + @Parameter(description = "An ID to track the request asynchronously") @QueryParam("async") + String asyncId) + throws Exception; } diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/package-info.java b/solr/solrj-model/src/java/org/apache/solr/model/api/package-info.java index e780df59ae2..b083b92ee20 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/package-info.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/package-info.java @@ -15,7 +15,5 @@ * limitations under the License. */ -/** - * Model classes representing Solr individual Solr APIs. - */ -package org.apache.solr.model.api; \ No newline at end of file +/** Model classes representing Solr individual Solr APIs. */ +package org.apache.solr.model.api; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/request/AddReplicaPropertyRequestBody.java b/solr/solrj-model/src/java/org/apache/solr/model/api/request/AddReplicaPropertyRequestBody.java index d000a4ffb7a..02b8752fb38 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/request/AddReplicaPropertyRequestBody.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/request/AddReplicaPropertyRequestBody.java @@ -21,20 +21,20 @@ import io.swagger.v3.oas.annotations.media.Schema; public class AddReplicaPropertyRequestBody { - public AddReplicaPropertyRequestBody() {} + public AddReplicaPropertyRequestBody() {} - public AddReplicaPropertyRequestBody(String value) { - this.value = value; - } + public AddReplicaPropertyRequestBody(String value) { + this.value = value; + } - @Schema(description = "The value to assign to the property.", required = true) - @JsonProperty("value") - public String value; + @Schema(description = "The value to assign to the property.", required = true) + @JsonProperty("value") + public String value; - @Schema( - description = - "If `true`, then setting this property in one replica will remove the property from all other replicas in that shard. The default is `false`.\\nThere is one pre-defined property `preferredLeader` for which `shardUnique` is forced to `true` and an error returned if `shardUnique` is explicitly set to `false`.", - defaultValue = "false") - @JsonProperty("shardUnique") - public Boolean shardUnique; + @Schema( + description = + "If `true`, then setting this property in one replica will remove the property from all other replicas in that shard. The default is `false`.\\nThere is one pre-defined property `preferredLeader` for which `shardUnique` is forced to `true` and an error returned if `shardUnique` is explicitly set to `false`.", + defaultValue = "false") + @JsonProperty("shardUnique") + public Boolean shardUnique; } diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java b/solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java index 90dc8cae477..5d29eb8e0f6 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java @@ -15,7 +15,5 @@ * limitations under the License. */ -/** - * Model classes used in making and representing API requests - */ -package org.apache.solr.model.api.request; \ No newline at end of file +/** Model classes used in making and representing API requests */ +package org.apache.solr.model.api.request; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/AsyncJerseyResponse.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/AsyncJerseyResponse.java index f70887eb636..d5651058261 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/AsyncJerseyResponse.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/AsyncJerseyResponse.java @@ -18,7 +18,6 @@ package org.apache.solr.model.api.response; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.model.api.response.SolrJerseyResponse; public class AsyncJerseyResponse extends SolrJerseyResponse { @JsonProperty("requestid") diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/ErrorInfo.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/ErrorInfo.java index 1c94063985f..fb46fbf41f0 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/ErrorInfo.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/ErrorInfo.java @@ -28,8 +28,10 @@ */ public class ErrorInfo { - // TODO These are used by some classes in 'solrj' - should we just duplicate, or should we have solrj rely on solrj-model directly? - // (though if so, how do we avoid pulling in jackson-annotations - is a dependency exclude sufficient for that?) + // TODO These are used by some classes in 'solrj' - should we just duplicate, or should we have + // solrj rely on solrj-model directly? + // (though if so, how do we avoid pulling in jackson-annotations - is a dependency exclude + // sufficient for that?) public static final String ROOT_ERROR_CLASS = "root-error-class"; public static final String ERROR_CLASS = "error-class"; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/SolrJerseyResponse.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/SolrJerseyResponse.java index 30273bd23c5..8c836b72e00 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/SolrJerseyResponse.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/SolrJerseyResponse.java @@ -20,8 +20,6 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.model.api.response.ErrorInfo; - import java.util.HashMap; import java.util.Map; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java index e76af3cf171..e670ebde479 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java @@ -18,7 +18,6 @@ package org.apache.solr.model.api.response; import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; /** * Represents API responses composed of the responses of various sub-requests. diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java b/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java index 294df5e00fc..740fe3020fc 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java @@ -15,7 +15,5 @@ * limitations under the License. */ -/** - * Model classes used in representing and sending API responses - */ -package org.apache.solr.model.api.response; \ No newline at end of file +/** Model classes used in representing and sending API responses */ +package org.apache.solr.model.api.response; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/package-info.java b/solr/solrj-model/src/java/org/apache/solr/model/package-info.java index 1ea295cef29..569f6b80fdf 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/package-info.java +++ b/solr/solrj-model/src/java/org/apache/solr/model/package-info.java @@ -1,4 +1,2 @@ -/** - * "Model" interfaces and object types describing Solr's APIs - */ -package org.apache.solr.model; \ No newline at end of file +/** "Model" interfaces and object types describing Solr's APIs */ +package org.apache.solr.model; diff --git a/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java b/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java index 702c88c5035..749bd3fad76 100644 --- a/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java +++ b/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java @@ -4,8 +4,8 @@ import org.junit.Test; public class DummyTest extends SolrTestCaseJ4 { - @Test - public void testDummy() { - assertEquals(true, true); - } + @Test + public void testDummy() { + assertEquals(true, true); + } } diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java index f2ca73f2062..8cf77eb3abf 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java @@ -18,28 +18,27 @@ package org.apache.solr.client.solrj; import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.solr.client.solrj.request.RequestWriter; - import java.io.IOException; import java.io.OutputStream; +import org.apache.solr.client.solrj.request.RequestWriter; public class JacksonContentWriter implements RequestWriter.ContentWriter { - private final Object toWrite; - private final String contentType; + private final Object toWrite; + private final String contentType; - public JacksonContentWriter(String contentType, Object toWrite) { - this.contentType = contentType; - this.toWrite = toWrite; - } + public JacksonContentWriter(String contentType, Object toWrite) { + this.contentType = contentType; + this.toWrite = toWrite; + } - @Override - public void write(OutputStream os) throws IOException { - new ObjectMapper().writeValue(os, toWrite); - } + @Override + public void write(OutputStream os) throws IOException { + new ObjectMapper().writeValue(os, toWrite); + } - @Override - public String getContentType() { - return contentType; - } + @Override + public String getContentType() { + return contentType; + } } diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java index 9bb14c065ca..4ebd260b153 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java @@ -18,34 +18,29 @@ package org.apache.solr.client.solrj; import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.solr.client.solrj.impl.InputStreamResponseParser; +import java.io.InputStream; import org.apache.solr.client.solrj.response.SimpleSolrResponse; -import org.apache.solr.common.util.IOUtils; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.ObjectReleaseTracker; -import java.io.InputStream; -import java.util.HashMap; -import java.util.Map; - public class JacksonParsingResponse extends SimpleSolrResponse { - private final Class typeParam; + private final Class typeParam; - public JacksonParsingResponse(Class typeParam) { - this.typeParam = typeParam; - } + public JacksonParsingResponse(Class typeParam) { + this.typeParam = typeParam; + } - public T getParsed() { - // TODO - reuse the ObjectMapper - no reason to recreate each time. - final NamedList resp = getResponse(); - final var stream = (InputStream) resp.get("stream"); - try { - final T parsedVal = new ObjectMapper().readValue(stream, typeParam); - assert ObjectReleaseTracker.release(stream); - return parsedVal; - } catch (Exception e) { - throw new RuntimeException(e); - } + public T getParsed() { + // TODO - reuse the ObjectMapper - no reason to recreate each time. + final NamedList resp = getResponse(); + final var stream = (InputStream) resp.get("stream"); + try { + final T parsedVal = new ObjectMapper().readValue(stream, typeParam); + assert ObjectReleaseTracker.release(stream); + return parsedVal; + } catch (Exception e) { + throw new RuntimeException(e); } + } } diff --git a/solr/solrj/src/java/org/apache/solr/common/SolrException.java b/solr/solrj/src/java/org/apache/solr/common/SolrException.java index b0900371381..7ea4ee5c531 100644 --- a/solr/solrj/src/java/org/apache/solr/common/SolrException.java +++ b/solr/solrj/src/java/org/apache/solr/common/SolrException.java @@ -16,15 +16,14 @@ */ package org.apache.solr.common; +import static org.apache.solr.common.util.ModelConstants.ERROR_CLASS; +import static org.apache.solr.common.util.ModelConstants.ROOT_ERROR_CLASS; + +import java.util.Map; import org.apache.solr.common.util.NamedList; import org.slf4j.Logger; import org.slf4j.MDC; -import java.util.Map; - -import static org.apache.solr.common.util.ModelConstants.ERROR_CLASS; -import static org.apache.solr.common.util.ModelConstants.ROOT_ERROR_CLASS; - /** */ public class SolrException extends RuntimeException { diff --git a/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java b/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java index 832e39810a2..29df1d4e2ba 100644 --- a/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java +++ b/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java @@ -18,13 +18,13 @@ package org.apache.solr.common.util; // TODO This probably shouldn't exist in a final product, but it's fine for a POC -/** - * Constants duplicated from solrj-model so we can avoid depending on it directly - */ +/** Constants duplicated from solrj-model so we can avoid depending on it directly */ public class ModelConstants { - private ModelConstants() { /* Private ctor prevents instantiation */ } + private ModelConstants() { + /* Private ctor prevents instantiation */ + } - public static final String ROOT_ERROR_CLASS = "root-error-class"; - public static final String ERROR_CLASS = "error-class"; + public static final String ROOT_ERROR_CLASS = "root-error-class"; + public static final String ERROR_CLASS = "error-class"; } diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/CollectionAdminRequestRequiredParamsTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/CollectionAdminRequestRequiredParamsTest.java index 243e16da9fa..a990a1e361f 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/CollectionAdminRequestRequiredParamsTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/CollectionAdminRequestRequiredParamsTest.java @@ -28,13 +28,17 @@ import java.util.Iterator; import java.util.Set; import org.apache.solr.SolrTestCase; +import org.apache.solr.client.solrj.impl.Http2SolrClient; import org.apache.solr.client.solrj.request.CollectionAdminRequest; +import org.apache.solr.client.solrj.request.CollectionsApi; +import org.apache.solr.client.solrj.request.ReplicasApi; import org.apache.solr.common.cloud.Replica; import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.common.params.CollectionAdminParams; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.params.ShardParams; import org.apache.solr.common.params.SolrParams; +import org.junit.Test; /** * Tests that default {@link CollectionAdminRequest#getParams()} returns only the required From 204470c872c6af9770329d3d9f821576ebab7549 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 19 Jul 2023 09:14:36 -0400 Subject: [PATCH 22/58] Slight tidy fix --- .../core/src/java/org/apache/solr/jersey/JerseyApplications.java | 1 - 1 file changed, 1 deletion(-) diff --git a/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java b/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java index db5900edcad..6bb4b07c439 100644 --- a/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java +++ b/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java @@ -25,7 +25,6 @@ import org.apache.solr.schema.IndexSchema; import org.glassfish.hk2.utilities.binding.AbstractBinder; import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvider; -import org.glassfish.jersey.logging.LoggingFeature; import org.glassfish.jersey.process.internal.RequestScoped; import org.glassfish.jersey.server.ResourceConfig; From dfbd268978ce05b5d6528a3d1ecdbbe0a08eed87 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 19 Jul 2023 10:51:20 -0400 Subject: [PATCH 23/58] Add new generated-file-specific spotless tasks This commit creates spotless tasks specific to the generated files in SolrJ, so that we can tidy those up immediately following generation without impacting other files in SolrJ. (Previously the broader 'tidy' task was invoked following file-generation, causing _all_ files in SolrJ to be reformatted.) --- gradle/validation/spotless.gradle | 3 --- solr/solrj/build.gradle | 25 ++++++++++++++++++++++++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/gradle/validation/spotless.gradle b/gradle/validation/spotless.gradle index e88b79d80b5..3239ac4b1a3 100644 --- a/gradle/validation/spotless.gradle +++ b/gradle/validation/spotless.gradle @@ -61,9 +61,6 @@ configure(project(":solr").subprojects) { prj -> // Apply to all example Java sources in the ref-guide target "modules/**/examples/*.java" break - case ":solr:solrj": - target "src/**/*.java", "build/generated/src/**/*.java" - break } custom 'Refuse wildcard imports', { diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 00fa1e297ec..74672bd77a7 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -1,3 +1,5 @@ +import com.diffplug.gradle.spotless.SpotlessTask + /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with @@ -21,6 +23,11 @@ plugins { apply plugin: 'java-library' +apply plugin: 'com.diffplug.spotless' + +import com.diffplug.gradle.spotless.JavaExtension +import com.diffplug.spotless.LineEnding + description = 'Solrj - Solr Java Client' @@ -36,6 +43,21 @@ tasks.register("copySpec", Copy) { into(layout.buildDirectory.dir("openapispec")) } +//////////////////////////////////// +// TODO Move to spotless.gradle +Action generatedSetup = { + it.target "build/generated/src/**/*.java" + it.setLineEndings LineEnding.UNIX + it.endWithNewline() + it.googleJavaFormat('1.15.0') +} + +def generated = new JavaExtension(spotless) +generatedSetup.execute(generated) +def generatedSpotlessTask = generated.createIndependentApplyTask("generated") +//////////////////////////////////// + + openApiGenerate { generatorName = "java" // TODO - pretty hacky to specify inputSpec this way...ideally I'd just rely on a property defined in @@ -55,7 +77,8 @@ openApiGenerate { tasks.getByName("copySpec").dependsOn configurations.getByName("openApiSpecFile") tasks.getByName("openApiGenerate").dependsOn tasks.copySpec -tasks.getByName("openApiGenerate").finalizedBy tasks.tidy +tasks.getByName("openApiGenerate").finalizedBy generatedSpotlessTask +generatedSpotlessTask.dependsOn tasks.openApiGenerate sourceSets { main { From a24998aff452a5c96e39e602150c5778e2ac2be7 Mon Sep 17 00:00:00 2001 From: Houston Putman Date: Wed, 19 Jul 2023 13:00:06 -0400 Subject: [PATCH 24/58] Cleanup spotless code for solrj generated files --- gradle/validation/spotless.gradle | 36 +++++++++++-------- solr/solrj/build.gradle | 24 ++++--------- ...lectionAdminRequestRequiredParamsTest.java | 4 --- 3 files changed, 27 insertions(+), 37 deletions(-) diff --git a/gradle/validation/spotless.gradle b/gradle/validation/spotless.gradle index 3239ac4b1a3..a8cb41e0f39 100644 --- a/gradle/validation/spotless.gradle +++ b/gradle/validation/spotless.gradle @@ -26,18 +26,32 @@ configure(project(":solr").subprojects) { prj -> plugins.withType(JavaPlugin) { prj.apply plugin: 'com.diffplug.spotless' - spotless { - java { - toggleOffOn() // obviously, only to be used sparingly. + ext { + spotlessJavaSetup = (Action){ + it.toggleOffOn() // obviously, only to be used sparingly. // TODO: Work out how to support multiple different header files (we have // classes in the codebase that have original headers). We currently use // Apache RAT to enforce headers so this is of lesser priority. // - // licenseHeaderFile file("${resources}/asl-header.txt"), '^(\\s*package)' + // it.licenseHeaderFile(file("${resources}/asl-header.txt"), '^(\\s*package)') + it.setLineEndings(Enum.valueOf(rootProject.buildscript.classLoader.loadClass("com.diffplug.spotless.LineEnding"), "UNIX")) + it.endWithNewline() + it.googleJavaFormat('1.15.0') - lineEndings 'UNIX' - endWithNewline() - googleJavaFormat('1.15.0') + it.custom('Refuse wildcard imports', { line -> + // Wildcard imports can't be resolved by spotless itself. + // This will require the developer themselves to adhere to best practices. + if (line =~ /\nimport .*\*;/) { + throw new AssertionError("Do not use wildcard imports. 'spotlessApply' cannot resolve this issue.") + } + line + }) + } + } + + spotless { + java { + prj.ext.spotlessJavaSetup.execute(it) // Apply to all Java sources target "src/**/*.java" @@ -62,14 +76,6 @@ configure(project(":solr").subprojects) { prj -> target "modules/**/examples/*.java" break } - - custom 'Refuse wildcard imports', { - // Wildcard imports can't be resolved by spotless itself. - // This will require the developer themselves to adhere to best practices. - if (it =~ /\nimport .*\*;/) { - throw new AssertionError("Do not use wildcard imports. 'spotlessApply' cannot resolve this issue.") - } - } } } diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 74672bd77a7..235cc229b69 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -1,5 +1,3 @@ -import com.diffplug.gradle.spotless.SpotlessTask - /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with @@ -21,12 +19,10 @@ plugins { id "org.openapi.generator" version "6.6.0" } - apply plugin: 'java-library' apply plugin: 'com.diffplug.spotless' import com.diffplug.gradle.spotless.JavaExtension -import com.diffplug.spotless.LineEnding description = 'Solrj - Solr Java Client' @@ -43,20 +39,12 @@ tasks.register("copySpec", Copy) { into(layout.buildDirectory.dir("openapispec")) } -//////////////////////////////////// -// TODO Move to spotless.gradle -Action generatedSetup = { - it.target "build/generated/src/**/*.java" - it.setLineEndings LineEnding.UNIX - it.endWithNewline() - it.googleJavaFormat('1.15.0') -} - -def generated = new JavaExtension(spotless) -generatedSetup.execute(generated) -def generatedSpotlessTask = generated.createIndependentApplyTask("generated") -//////////////////////////////////// - +def generatedExt = new JavaExtension(spotless) +project.ext.spotlessJavaSetup.execute(generatedExt) +generatedExt.target("build/generated/src/**/*.java") +def generatedSpotlessTask = generatedExt.createIndependentApplyTask("generatedSpotless") +generatedSpotlessTask.group("build") +generatedSpotlessTask.description("Apply formatting for generated code") openApiGenerate { generatorName = "java" diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/CollectionAdminRequestRequiredParamsTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/CollectionAdminRequestRequiredParamsTest.java index a990a1e361f..243e16da9fa 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/CollectionAdminRequestRequiredParamsTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/CollectionAdminRequestRequiredParamsTest.java @@ -28,17 +28,13 @@ import java.util.Iterator; import java.util.Set; import org.apache.solr.SolrTestCase; -import org.apache.solr.client.solrj.impl.Http2SolrClient; import org.apache.solr.client.solrj.request.CollectionAdminRequest; -import org.apache.solr.client.solrj.request.CollectionsApi; -import org.apache.solr.client.solrj.request.ReplicasApi; import org.apache.solr.common.cloud.Replica; import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.common.params.CollectionAdminParams; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.params.ShardParams; import org.apache.solr.common.params.SolrParams; -import org.junit.Test; /** * Tests that default {@link CollectionAdminRequest#getParams()} returns only the required From 499e38c6cc784d4eee318494cdb05a70bf559bf7 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Fri, 21 Jul 2023 16:54:02 -0400 Subject: [PATCH 25/58] Restructure packages in solrj-model The main package is now 'o.a.s.api.', with two subpackages: 'model' (holding both request and response POJOs), and 'endpoint' (holding the API interfaces). This is not just a cosmetic change, but also something that helps address problems I was having importing certain request/response POJOs in the API class. The input to the mustache template tells us which model classes are in use, but doesn't provide the fully-qualified name (i.e. the package name is missing). Putting all models in a single package makes it easier to create a template that can import these files from the (unqualified) class name alone. --- .../org/apache/solr/api/JerseyResource.java | 2 +- .../solr/handler/ReplicationHandler.java | 2 +- .../handler/admin/CollectionsHandler.java | 4 ++-- .../solr/handler/admin/ZookeeperReadAPI.java | 2 +- .../admin/api/AddReplicaPropertyAPI.java | 6 +++--- .../solr/handler/admin/api/AdminAPIBase.java | 2 +- .../handler/admin/api/AliasPropertyAPI.java | 2 +- .../handler/admin/api/BalanceReplicasAPI.java | 2 +- .../admin/api/BalanceShardUniqueAPI.java | 2 +- .../admin/api/CollectionPropertyAPI.java | 2 +- .../handler/admin/api/CoreAdminAPIBase.java | 2 +- .../handler/admin/api/CoreReplicationAPI.java | 2 +- .../handler/admin/api/CoreSnapshotAPI.java | 2 +- .../handler/admin/api/CreateAliasAPI.java | 4 ++-- .../admin/api/CreateCollectionAPI.java | 2 +- .../admin/api/CreateCollectionBackupAPI.java | 4 ++-- .../api/CreateCollectionSnapshotAPI.java | 2 +- .../handler/admin/api/CreateReplicaAPI.java | 2 +- .../handler/admin/api/CreateShardAPI.java | 2 +- .../handler/admin/api/DeleteAliasAPI.java | 6 +++--- .../admin/api/DeleteCollectionAPI.java | 4 ++-- .../admin/api/DeleteCollectionBackupAPI.java | 4 ++-- .../api/DeleteCollectionSnapshotAPI.java | 2 +- .../solr/handler/admin/api/DeleteNodeAPI.java | 2 +- .../handler/admin/api/DeleteReplicaAPI.java | 2 +- .../admin/api/DeleteReplicaPropertyAPI.java | 2 +- .../handler/admin/api/DeleteShardAPI.java | 2 +- .../handler/admin/api/ForceLeaderAPI.java | 2 +- .../solr/handler/admin/api/GetSchemaAPI.java | 2 +- .../handler/admin/api/GetSchemaFieldAPI.java | 2 +- .../admin/api/GetSchemaZkVersionAPI.java | 2 +- .../handler/admin/api/InstallCoreDataAPI.java | 2 +- .../admin/api/InstallShardDataAPI.java | 2 +- .../handler/admin/api/ListAliasesAPI.java | 2 +- .../admin/api/ListCollectionBackupsAPI.java | 2 +- .../admin/api/ListCollectionSnapshotsAPI.java | 2 +- .../handler/admin/api/ListCollectionsAPI.java | 2 +- .../handler/admin/api/MigrateReplicasAPI.java | 2 +- .../handler/admin/api/NodeLoggingAPI.java | 2 +- .../admin/api/ReloadCollectionAPI.java | 2 +- .../admin/api/RenameCollectionAPI.java | 2 +- .../handler/admin/api/ReplaceNodeAPI.java | 2 +- .../admin/api/RestoreCollectionAPI.java | 4 ++-- .../solr/handler/admin/api/SyncShardAPI.java | 2 +- .../apache/solr/handler/api/V2ApiUtils.java | 2 +- .../handler/configsets/ListConfigSetsAPI.java | 2 +- .../solr/jersey/CatchAllExceptionMapper.java | 2 +- .../solr/jersey/ExperimentalResponse.java | 2 +- .../jersey/PostRequestDecorationFilter.java | 2 +- .../solr/jersey/PostRequestLoggingFilter.java | 2 +- .../solr/jersey/RequestContextKeys.java | 2 +- .../solr/jersey/RequestMetricHandling.java | 2 +- .../apache/solr/security/PublicKeyAPI.java | 2 +- .../apache/solr/servlet/ResponseUtils.java | 2 +- .../admin/api/AddReplicaPropertyAPITest.java | 2 +- .../jersey/JacksonReflectMapWriterTest.java | 2 +- .../solr/{model => }/api/ApiMetadata.java | 2 +- .../solr/{model => }/api/Constants.java | 2 +- .../endpoint}/IAddReplicaProperty.java | 8 ++++---- .../api => api/endpoint}/IDeleteAlias.java | 6 +++--- .../endpoint}/IDeleteCollection.java | 6 +++--- .../api => api/endpoint}/package-info.java | 6 ++++-- .../model}/AddReplicaPropertyRequestBody.java | 2 +- .../model}/AsyncJerseyResponse.java | 2 +- .../api/response => api/model}/ErrorInfo.java | 2 +- .../model}/SolrJerseyResponse.java | 4 +++- ...SubResponseAccumulatingJerseyResponse.java | 3 ++- .../response => api/model}/package-info.java | 6 ++++-- .../solr/model/api/request/package-info.java | 19 ------------------- .../org/apache/solr/model/package-info.java | 2 -- 70 files changed, 94 insertions(+), 108 deletions(-) rename solr/solrj-model/src/java/org/apache/solr/{model => }/api/ApiMetadata.java (97%) rename solr/solrj-model/src/java/org/apache/solr/{model => }/api/Constants.java (96%) rename solr/solrj-model/src/java/org/apache/solr/{model/api => api/endpoint}/IAddReplicaProperty.java (90%) rename solr/solrj-model/src/java/org/apache/solr/{model/api => api/endpoint}/IDeleteAlias.java (87%) rename solr/solrj-model/src/java/org/apache/solr/{model/api => api/endpoint}/IDeleteCollection.java (90%) rename solr/solrj-model/src/java/org/apache/solr/{model/api => api/endpoint}/package-info.java (89%) rename solr/solrj-model/src/java/org/apache/solr/{model/api/request => api/model}/AddReplicaPropertyRequestBody.java (97%) rename solr/solrj-model/src/java/org/apache/solr/{model/api/response => api/model}/AsyncJerseyResponse.java (95%) rename solr/solrj-model/src/java/org/apache/solr/{model/api/response => api/model}/ErrorInfo.java (97%) rename solr/solrj-model/src/java/org/apache/solr/{model/api/response => api/model}/SolrJerseyResponse.java (95%) rename solr/solrj-model/src/java/org/apache/solr/{model/api/response => api/model}/SubResponseAccumulatingJerseyResponse.java (97%) rename solr/solrj-model/src/java/org/apache/solr/{model/api/response => api/model}/package-info.java (84%) delete mode 100644 solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java delete mode 100644 solr/solrj-model/src/java/org/apache/solr/model/package-info.java diff --git a/solr/core/src/java/org/apache/solr/api/JerseyResource.java b/solr/core/src/java/org/apache/solr/api/JerseyResource.java index 09a2ed7261a..215380d16c8 100644 --- a/solr/core/src/java/org/apache/solr/api/JerseyResource.java +++ b/solr/core/src/java/org/apache/solr/api/JerseyResource.java @@ -24,7 +24,7 @@ import javax.ws.rs.core.Context; import org.apache.solr.common.SolrException; import org.apache.solr.jersey.CatchAllExceptionMapper; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.servlet.HttpSolrCall; /** diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java index 474aafd2ccf..1b313d35e92 100644 --- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java @@ -93,7 +93,7 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.metrics.MetricsMap; import org.apache.solr.metrics.SolrMetricsContext; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.search.SolrIndexSearcher; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java index 09fadf0d108..4da9570737e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java @@ -200,8 +200,8 @@ import org.apache.solr.handler.admin.api.SyncShardAPI; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.logging.MDCLoggingContext; -import org.apache.solr.model.api.request.AddReplicaPropertyRequestBody; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.security.AuthorizationContext; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java index bb9bafc8e80..5394fda33eb 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java @@ -47,7 +47,7 @@ import org.apache.solr.jersey.ExperimentalResponse; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.RawResponseWriter; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java index bf4fad557f4..ff7843022cb 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java @@ -39,9 +39,9 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.IAddReplicaProperty; -import org.apache.solr.model.api.request.AddReplicaPropertyRequestBody; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.endpoint.IAddReplicaProperty; +import org.apache.solr.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java index b4c129a6a7d..0d733504f5b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java @@ -29,7 +29,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.logging.MDCLoggingContext; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.tracing.TraceUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java index c60a1748312..c9ab98e20bb 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java @@ -49,7 +49,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java index ad2dfb1cc4c..721d38116c0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java @@ -42,7 +42,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java index 58014e23edb..03fb74ee214 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java @@ -44,7 +44,7 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java index 7400e69ff4b..400c3c221fb 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java @@ -33,7 +33,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java index 4ed37f0654c..9b7c2037b55 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java @@ -23,7 +23,7 @@ import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.logging.MDCLoggingContext; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.tracing.TraceUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java index 0352e0f5307..b6e5e90d119 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java @@ -32,7 +32,7 @@ import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java index ae604d564ec..f06264df9b6 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java @@ -47,7 +47,7 @@ import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java index 164820c81c4..a856fa5b19c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java @@ -65,8 +65,8 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.TimeZoneUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java index 4d82c3f5e27..c8bf53aeadd 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java @@ -79,7 +79,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.zookeeper.CreateMode; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java index 5f1eaa985a1..2024550ab34 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java @@ -54,8 +54,8 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.jersey.SolrJacksonMapper; -import org.apache.solr.model.api.response.SolrJerseyResponse; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.zookeeper.common.StringUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java index 7de73229471..59c5077dabb 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java @@ -46,7 +46,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.AsyncJerseyResponse; +import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java index 1a60ac90180..cc1299294f4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java @@ -60,7 +60,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java index 9abc9e7d06f..c4675909804 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java @@ -59,7 +59,7 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java index 97f3dee59fa..90652f75208 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java @@ -34,9 +34,9 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.IDeleteAlias; -import org.apache.solr.model.api.response.AsyncJerseyResponse; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.endpoint.IDeleteAlias; +import org.apache.solr.api.model.AsyncJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java index f49df988a94..3eec1db19dc 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java @@ -32,8 +32,8 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.IDeleteCollection; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.endpoint.IDeleteCollection; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java index aef3bd4bcf8..717b622252f 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java @@ -55,8 +55,8 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.jersey.SolrJacksonMapper; -import org.apache.solr.model.api.response.SolrJerseyResponse; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java index 588a8516560..7b0c1ed018a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java @@ -43,7 +43,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.AsyncJerseyResponse; +import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java index 1b5888e688d..10135d1105d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java @@ -43,7 +43,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java index 663c4c77a5e..fb8e9842d16 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java @@ -48,7 +48,7 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java index 2c061eb7ce3..2213caa8731 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java @@ -37,7 +37,7 @@ import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java index 264a9a8b89e..387a6051853 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java @@ -39,7 +39,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java index 0c55a5e1c6b..dba7db55fc1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java @@ -42,7 +42,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java index 9ceeee7d6e4..6308c838312 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java @@ -30,7 +30,7 @@ import org.apache.solr.common.SolrException; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.schema.IndexSchema; import org.apache.solr.security.PermissionNameProvider; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java index cde597a1c03..f848304fc63 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java @@ -37,7 +37,7 @@ import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.core.PluginInfo; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.pkg.PackageListeningClassLoader; import org.apache.solr.schema.IndexSchema; import org.apache.solr.security.PermissionNameProvider; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java index ff4a37bc0a0..85c7ce50064 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java @@ -32,7 +32,7 @@ import org.apache.solr.cloud.ZkSolrResourceLoader; import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.schema.ManagedIndexSchema; import org.apache.solr.schema.ZkIndexSchemaReader; import org.apache.solr.security.PermissionNameProvider; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java index c32cba63321..dd6467982f5 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java @@ -37,7 +37,7 @@ import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java index 7d77401bdcc..911f62484bf 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java @@ -42,7 +42,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java index 6c4857277d1..d600328e9ae 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java @@ -35,7 +35,7 @@ import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java index a28d865db52..db93fe4ea19 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java @@ -48,7 +48,7 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.jersey.SolrJacksonMapper; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java index ac11bc7e435..75baaf14c68 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java @@ -35,7 +35,7 @@ import org.apache.solr.core.snapshots.CollectionSnapshotMetaData; import org.apache.solr.core.snapshots.SolrSnapshotManager; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.AsyncJerseyResponse; +import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java index adecc55b511..2a7bcd2287e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java @@ -32,7 +32,7 @@ import org.apache.solr.common.cloud.DocCollection; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java index 69449027b66..ce0d0112378 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java @@ -44,7 +44,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java index 226e476ab63..30a682b89d5 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java @@ -41,7 +41,7 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.logging.LogWatcher; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java index ec1bac5449b..366614a720c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java @@ -39,7 +39,7 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java index 089701ac989..6e7b5bf438d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java @@ -41,7 +41,7 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java index b4dcf534cac..7bb65ca7b11 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java @@ -44,7 +44,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java index 0d1fb50cbde..324be33c8ca 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java @@ -56,8 +56,8 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java index d36a0e1c579..19d16f802d0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java @@ -41,7 +41,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java index ed3a535d8e3..c5d57d8b2fe 100644 --- a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java +++ b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java @@ -27,7 +27,7 @@ import org.apache.solr.common.MapWriter.EntryWriter; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java index 9f01a50c30a..c1fe76fceac 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java @@ -30,7 +30,7 @@ import org.apache.solr.api.JerseyResource; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; /** * V2 API for adding or updating a single file within a configset. diff --git a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java index b21ea9d20c9..5bd8e33e0ee 100644 --- a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java +++ b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java @@ -34,7 +34,7 @@ import org.apache.solr.common.SolrException; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.servlet.ResponseUtils; diff --git a/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java b/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java index 8c5c3a429ee..b2ddc86ba0d 100644 --- a/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java +++ b/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java @@ -18,7 +18,7 @@ package org.apache.solr.jersey; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; /** * {@link SolrJerseyResponse} implementation with a warning field indicating that the format may diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java index bcd5c3c2bee..61a807e01c7 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java @@ -27,7 +27,7 @@ import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; import org.apache.solr.core.SolrCore; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrRequestHandler; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java index 311ec76ea17..905c8cf719d 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java @@ -41,7 +41,7 @@ import org.apache.solr.common.util.CollectionUtil; import org.apache.solr.common.util.StrUtils; import org.apache.solr.core.SolrCore; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.servlet.HttpSolrCall; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java index e17a8f92b92..759b854e2d7 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java @@ -26,7 +26,7 @@ import org.apache.solr.core.PluginBag; import org.apache.solr.core.SolrCore; import org.apache.solr.handler.RequestHandlerBase; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.security.AuthorizationContext; diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java index df8884eabc4..f871be8157c 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java @@ -32,7 +32,7 @@ import javax.ws.rs.core.Context; import org.apache.solr.core.PluginBag; import org.apache.solr.handler.RequestHandlerBase; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java index f3a3405c74d..29698b2abc8 100644 --- a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java +++ b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java @@ -27,7 +27,7 @@ import javax.ws.rs.Produces; import org.apache.solr.api.JerseyResource; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; /** * V2 API for fetching the public key of the receiving node. diff --git a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java index f5d9442b8fd..7d72e0a3231 100644 --- a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java +++ b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java @@ -21,7 +21,7 @@ import org.apache.solr.api.ApiBag; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.NamedList; -import org.apache.solr.model.api.response.ErrorInfo; +import org.apache.solr.api.model.ErrorInfo; import org.slf4j.Logger; /** Response helper methods. */ diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java index a24b62cf757..239e03d6521 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java @@ -34,7 +34,7 @@ import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.util.NamedList; import org.apache.solr.core.CoreContainer; -import org.apache.solr.model.api.request.AddReplicaPropertyRequestBody; +import org.apache.solr.api.model.AddReplicaPropertyRequestBody; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.junit.Before; diff --git a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java index 76df9545312..3ff57d526a8 100644 --- a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java +++ b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java @@ -24,7 +24,7 @@ import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.junit.Test; /** diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/ApiMetadata.java b/solr/solrj-model/src/java/org/apache/solr/api/ApiMetadata.java similarity index 97% rename from solr/solrj-model/src/java/org/apache/solr/model/api/ApiMetadata.java rename to solr/solrj-model/src/java/org/apache/solr/api/ApiMetadata.java index 6941a6963ba..15a1b0e16ec 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/ApiMetadata.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/ApiMetadata.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.model.api; +package org.apache.solr.api; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Info; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/Constants.java b/solr/solrj-model/src/java/org/apache/solr/api/Constants.java similarity index 96% rename from solr/solrj-model/src/java/org/apache/solr/model/api/Constants.java rename to solr/solrj-model/src/java/org/apache/solr/api/Constants.java index b9edd12ba96..119ac38c186 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/Constants.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/Constants.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.model.api; +package org.apache.solr.api; public class Constants { private Constants() { diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/IAddReplicaProperty.java b/solr/solrj-model/src/java/org/apache/solr/api/endpoint/IAddReplicaProperty.java similarity index 90% rename from solr/solrj-model/src/java/org/apache/solr/model/api/IAddReplicaProperty.java rename to solr/solrj-model/src/java/org/apache/solr/api/endpoint/IAddReplicaProperty.java index a10a408fb60..0877d8c9c31 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/IAddReplicaProperty.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/endpoint/IAddReplicaProperty.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.model.api; +package org.apache.solr.api.endpoint; -import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -26,8 +26,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.model.api.request.AddReplicaPropertyRequestBody; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.api.model.SolrJerseyResponse; @Path("/collections/{collName}/shards/{shardName}/replicas/{replicaName}/properties/{propName}") public interface IAddReplicaProperty { diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteAlias.java b/solr/solrj-model/src/java/org/apache/solr/api/endpoint/IDeleteAlias.java similarity index 87% rename from solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteAlias.java rename to solr/solrj-model/src/java/org/apache/solr/api/endpoint/IDeleteAlias.java index 39e8d3bb316..414c277a1d0 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteAlias.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/endpoint/IDeleteAlias.java @@ -15,16 +15,16 @@ * limitations under the License. */ -package org.apache.solr.model.api; +package org.apache.solr.api.endpoint; -import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; import javax.ws.rs.DELETE; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.model.api.response.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; @Path("/aliases/{aliasName}") public interface IDeleteAlias { diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java b/solr/solrj-model/src/java/org/apache/solr/api/endpoint/IDeleteCollection.java similarity index 90% rename from solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java rename to solr/solrj-model/src/java/org/apache/solr/api/endpoint/IDeleteCollection.java index e7f674c3649..65522bf891b 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/IDeleteCollection.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/endpoint/IDeleteCollection.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.model.api; +package org.apache.solr.api.endpoint; -import static org.apache.solr.model.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -26,7 +26,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.model.api.response.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; @Path("/collections/{collectionName}") public interface IDeleteCollection { diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/package-info.java b/solr/solrj-model/src/java/org/apache/solr/api/endpoint/package-info.java similarity index 89% rename from solr/solrj-model/src/java/org/apache/solr/model/api/package-info.java rename to solr/solrj-model/src/java/org/apache/solr/api/endpoint/package-info.java index b083b92ee20..2078ed131a7 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/package-info.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/endpoint/package-info.java @@ -15,5 +15,7 @@ * limitations under the License. */ -/** Model classes representing Solr individual Solr APIs. */ -package org.apache.solr.model.api; +/** + * Interfaces representing individual Solr v2 APIs. + */ +package org.apache.solr.api.endpoint; \ No newline at end of file diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/request/AddReplicaPropertyRequestBody.java b/solr/solrj-model/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java similarity index 97% rename from solr/solrj-model/src/java/org/apache/solr/model/api/request/AddReplicaPropertyRequestBody.java rename to solr/solrj-model/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java index 02b8752fb38..68c9421a791 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/request/AddReplicaPropertyRequestBody.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.model.api.request; +package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/AsyncJerseyResponse.java b/solr/solrj-model/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java similarity index 95% rename from solr/solrj-model/src/java/org/apache/solr/model/api/response/AsyncJerseyResponse.java rename to solr/solrj-model/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java index d5651058261..5e68923d853 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/AsyncJerseyResponse.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.model.api.response; +package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/ErrorInfo.java b/solr/solrj-model/src/java/org/apache/solr/api/model/ErrorInfo.java similarity index 97% rename from solr/solrj-model/src/java/org/apache/solr/model/api/response/ErrorInfo.java rename to solr/solrj-model/src/java/org/apache/solr/api/model/ErrorInfo.java index fb46fbf41f0..fe6945e0715 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/ErrorInfo.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/model/ErrorInfo.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.model.api.response; +package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/SolrJerseyResponse.java b/solr/solrj-model/src/java/org/apache/solr/api/model/SolrJerseyResponse.java similarity index 95% rename from solr/solrj-model/src/java/org/apache/solr/model/api/response/SolrJerseyResponse.java rename to solr/solrj-model/src/java/org/apache/solr/api/model/SolrJerseyResponse.java index 8c836b72e00..6386eafe0f9 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/SolrJerseyResponse.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/model/SolrJerseyResponse.java @@ -15,11 +15,13 @@ * limitations under the License. */ -package org.apache.solr.model.api.response; +package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonProperty; +import org.apache.solr.api.model.ErrorInfo; + import java.util.HashMap; import java.util.Map; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java b/solr/solrj-model/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java similarity index 97% rename from solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java rename to solr/solrj-model/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java index e670ebde479..98cf85339b8 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/SubResponseAccumulatingJerseyResponse.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java @@ -15,9 +15,10 @@ * limitations under the License. */ -package org.apache.solr.model.api.response; +package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; +import org.apache.solr.api.model.AsyncJerseyResponse; /** * Represents API responses composed of the responses of various sub-requests. diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java b/solr/solrj-model/src/java/org/apache/solr/api/model/package-info.java similarity index 84% rename from solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java rename to solr/solrj-model/src/java/org/apache/solr/api/model/package-info.java index 740fe3020fc..3c7c1e4e9b5 100644 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/response/package-info.java +++ b/solr/solrj-model/src/java/org/apache/solr/api/model/package-info.java @@ -15,5 +15,7 @@ * limitations under the License. */ -/** Model classes used in representing and sending API responses */ -package org.apache.solr.model.api.response; +/** + * POJOs representing various inputs and outputs of the v2 APIs described in {@link org.apache.solr.api.endpoint} + */ +package org.apache.solr.api.model; \ No newline at end of file diff --git a/solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java b/solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java deleted file mode 100644 index 5d29eb8e0f6..00000000000 --- a/solr/solrj-model/src/java/org/apache/solr/model/api/request/package-info.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * 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. - */ - -/** Model classes used in making and representing API requests */ -package org.apache.solr.model.api.request; diff --git a/solr/solrj-model/src/java/org/apache/solr/model/package-info.java b/solr/solrj-model/src/java/org/apache/solr/model/package-info.java deleted file mode 100644 index 569f6b80fdf..00000000000 --- a/solr/solrj-model/src/java/org/apache/solr/model/package-info.java +++ /dev/null @@ -1,2 +0,0 @@ -/** "Model" interfaces and object types describing Solr's APIs */ -package org.apache.solr.model; From 7a2bf01e76370c684240acefa0c609571d9d4ba3 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Fri, 21 Jul 2023 17:11:25 -0400 Subject: [PATCH 26/58] Disable model generation Prior to this commit, we were using openapi-generator to generate model classes that largely duplicated the POJOs in 'solrj-model'. This commit disables this unnecessary generation, and tweaks the SolrRequest template to use the 'solrj-model' classes instead. --- solr/solrj/build.gradle | 8 +- .../src/resources/java-template/api.mustache | 12 +- .../resources/java-template/model.mustache | 29 -- .../src/resources/java-template/pojo.mustache | 391 ------------------ 4 files changed, 12 insertions(+), 428 deletions(-) delete mode 100644 solr/solrj/src/resources/java-template/model.mustache delete mode 100644 solr/solrj/src/resources/java-template/pojo.mustache diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 235cc229b69..d83f9ea705a 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -53,14 +53,16 @@ openApiGenerate { //inputSpec = project(":solr:solrj-model").ext.openapispecfile inputSpec = "${buildDir}/openapispec/openapi.json" - // Add 'debugModels: ""' or 'debugOperations: ""' to get the JSON input to mustache templating for those components - globalProperties.set([modelDocs: "false", apis: "", models: ""]) + // Add 'debugOperations: ""' to get the JSON input to mustache templating for those components + globalProperties.set([apis: "", models: "false"]) templateDir = "$projectDir/src/resources/java-template" apiPackage = "org.apache.solr.client.solrj.request" - modelPackage = "org.apache.solr.client.solrj.model" outputDir = "${buildDir}/generated/" generateApiTests = false generateModelTests = false + generateApiDocumentation = false + generateModelDocumentation = false + additionalProperties = ["modelPackage": "org.apache.solr.api.model"] } tasks.getByName("copySpec").dependsOn configurations.getByName("openApiSpecFile") diff --git a/solr/solrj/src/resources/java-template/api.mustache b/solr/solrj/src/resources/java-template/api.mustache index fb48be0cbd4..4af027d7fd1 100644 --- a/solr/solrj/src/resources/java-template/api.mustache +++ b/solr/solrj/src/resources/java-template/api.mustache @@ -1,9 +1,6 @@ {{>licenseInfo}} package {{package}}; -{{#imports}} -import {{import}}; -{{/imports}} import java.lang.reflect.Type; import java.util.ArrayList; @@ -21,8 +18,13 @@ import org.apache.solr.client.solrj.JacksonContentWriter; import org.apache.solr.client.solrj.request.RequestWriter.ContentWriter; import org.apache.solr.client.solrj.impl.InputStreamResponseParser; import org.apache.solr.client.solrj.ResponseParser; - {{#operations}} +{{#operation}} +{{#imports}} +import {{modelPackage}}.{{.}}; +{{/imports}} +{{/operation}} + public class {{classname}} { {{#operation}} @@ -90,7 +92,7 @@ public class {{classname}} { */ {{/description}} public void {{setter}}({{dataType}} {{baseName}}) { - this.requestBody.{{setter}}({{baseName}}); + this.requestBody.{{baseName}} = {{baseName}}; } {{/vars}} diff --git a/solr/solrj/src/resources/java-template/model.mustache b/solr/solrj/src/resources/java-template/model.mustache deleted file mode 100644 index 0f43a5f6c43..00000000000 --- a/solr/solrj/src/resources/java-template/model.mustache +++ /dev/null @@ -1,29 +0,0 @@ -{{>licenseInfo}} - -package {{package}}; - -// This is the right way to import the types I need, but I can't understand why it keeps -//bringing in gson classes, so excluding for now. -//{{#imports}} -// import {{import}}; -//{{/imports}} - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import java.util.Objects; -import java.util.Arrays; - -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.annotation.JsonTypeName; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - -{{#models}} -{{#model}} -{{#isEnum}}{{>modelEnum}}{{/isEnum}} -{{^isEnum}}{{>pojo}}{{/isEnum}} -{{/model}} -{{/models}} diff --git a/solr/solrj/src/resources/java-template/pojo.mustache b/solr/solrj/src/resources/java-template/pojo.mustache deleted file mode 100644 index 05b3c4d122e..00000000000 --- a/solr/solrj/src/resources/java-template/pojo.mustache +++ /dev/null @@ -1,391 +0,0 @@ -public class {{classname}} { - - {{#vars}} - public static final String JSON_PROPERTY_{{nameInSnakeCase}} = "{{baseName}}"; - {{#isContainer}} - private {{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}; - {{/isContainer}} - {{^isContainer}} - {{#isDiscriminator}}protected{{/isDiscriminator}}{{^isDiscriminator}}private{{/isDiscriminator}} {{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}; - {{/isContainer}} - - {{/vars}} - public {{classname}}() {} - - {{#vars}} - {{^isReadOnly}} - public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) { - this.{{name}} = {{name}}; - return this; - } - - {{/isReadOnly}} - /** - {{#description}} - * {{.}} - {{/description}} - {{^description}} - * Get {{name}} - {{/description}} - {{#minimum}} - * minimum: {{.}} - {{/minimum}} - {{#maximum}} - * maximum: {{.}} - {{/maximum}} - * @return {{name}} - {{#deprecated}} - * @deprecated - {{/deprecated}} - */ -{{#deprecated}} - @Deprecated -{{/deprecated}} -{{> jackson_annotations}} public {{{datatypeWithEnum}}} {{getter}}() { - return {{name}}; - } - - {{^isReadOnly}} -{{> jackson_annotations}} public void {{setter}}({{{datatypeWithEnum}}} {{name}}) { - this.{{name}} = {{name}}; - } - {{/isReadOnly}} - - {{/vars}} - {{#parent}} - {{#allVars}} - {{#isOverridden}} - @Override - public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) { - {{#vendorExtensions.x-is-jackson-optional-nullable}} - this.{{setter}}(JsonNullable.<{{{datatypeWithEnum}}}>of({{name}})); - {{/vendorExtensions.x-is-jackson-optional-nullable}} - {{^vendorExtensions.x-is-jackson-optional-nullable}} - this.{{setter}}({{name}}); - {{/vendorExtensions.x-is-jackson-optional-nullable}} - return this; - } - - {{/isOverridden}} - {{/allVars}} - {{/parent}} - @Override - public boolean equals(Object o) { - {{#useReflectionEqualsHashCode}} - return EqualsBuilder.reflectionEquals(this, o, false, null, true); - {{/useReflectionEqualsHashCode}} - {{^useReflectionEqualsHashCode}} - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - }{{#hasVars}} - {{classname}} {{classVarName}} = ({{classname}}) o; - return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} && - {{/-last}}{{/vars}}{{#parent}} && - super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}} - return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}} - {{/useReflectionEqualsHashCode}} - }{{#vendorExtensions.x-jackson-optional-nullable-helpers}} - - private static boolean equalsNullable(JsonNullable a, JsonNullable b) { - return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); - }{{/vendorExtensions.x-jackson-optional-nullable-helpers}} - - @Override - public int hashCode() { - {{#useReflectionEqualsHashCode}} - return HashCodeBuilder.reflectionHashCode(this); - {{/useReflectionEqualsHashCode}} - {{^useReflectionEqualsHashCode}} - return Objects.hash({{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{name}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{name}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}); - {{/useReflectionEqualsHashCode}} - }{{#vendorExtensions.x-jackson-optional-nullable-helpers}} - - private static int hashCodeNullable(JsonNullable a) { - if (a == null) { - return 1; - } - return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; - }{{/vendorExtensions.x-jackson-optional-nullable-helpers}} - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class {{classname}} {\n"); - {{#parent}} - sb.append(" ").append(toIndentedString(super.toString())).append("\n"); - {{/parent}} - {{#vars}} - sb.append(" {{name}}: ").append(toIndentedString({{name}})).append("\n"); - {{/vars}} - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private{{#jsonb}} static{{/jsonb}} String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -{{#supportUrlQuery}} - - /** - * Convert the instance into URL query string. - * - * @return URL query string - */ - public String toUrlQueryString() { - return toUrlQueryString(null); - } - - /** - * Convert the instance into URL query string. - * - * @param prefix prefix of the query string - * @return URL query string - */ - public String toUrlQueryString(String prefix) { - String suffix = ""; - String containerSuffix = ""; - String containerPrefix = ""; - if (prefix == null) { - // style=form, explode=true, e.g. /pet?name=cat&type=manx - prefix = ""; - } else { - // deepObject style e.g. /pet?id[name]=cat&id[type]=manx - prefix = prefix + "["; - suffix = "]"; - containerSuffix = "]"; - containerPrefix = "["; - } - - StringJoiner joiner = new StringJoiner("&"); - - {{#allVars}} - // add `{{baseName}}` to the URL query string - {{#isArray}} - {{#items.isPrimitiveType}} - {{#uniqueItems}} - if ({{getter}}() != null) { - int i = 0; - for ({{{items.dataType}}} _item : {{getter}}()) { - try { - joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), - URLEncoder.encode(String.valueOf(_item), "UTF-8").replaceAll("\\+", "%20"))); - } catch (UnsupportedEncodingException e) { - // Should never happen, UTF-8 is always supported - throw new RuntimeException(e); - } - } - i++; - } - {{/uniqueItems}} - {{^uniqueItems}} - if ({{getter}}() != null) { - for (int i = 0; i < {{getter}}().size(); i++) { - try { - joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), - URLEncoder.encode(String.valueOf({{getter}}().get(i)), "UTF-8").replaceAll("\\+", "%20"))); - } catch (UnsupportedEncodingException e) { - // Should never happen, UTF-8 is always supported - throw new RuntimeException(e); - } - } - } - {{/uniqueItems}} - {{/items.isPrimitiveType}} - {{^items.isPrimitiveType}} - {{#items.isModel}} - {{#uniqueItems}} - if ({{getter}}() != null) { - int i = 0; - for ({{{items.dataType}}} _item : {{getter}}()) { - if (_item != null) { - joiner.add(_item.toUrlQueryString(String.format("%s{{baseName}}%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); - } - } - i++; - } - {{/uniqueItems}} - {{^uniqueItems}} - if ({{getter}}() != null) { - for (int i = 0; i < {{getter}}().size(); i++) { - if ({{getter}}().get(i) != null) { - joiner.add({{getter}}().get(i).toUrlQueryString(String.format("%s{{baseName}}%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); - } - } - } - {{/uniqueItems}} - {{/items.isModel}} - {{^items.isModel}} - {{#uniqueItems}} - if ({{getter}}() != null) { - int i = 0; - for ({{{items.dataType}}} _item : {{getter}}()) { - if (_item != null) { - try { - joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), - URLEncoder.encode(String.valueOf(_item), "UTF-8").replaceAll("\\+", "%20"))); - } catch (UnsupportedEncodingException e) { - // Should never happen, UTF-8 is always supported - throw new RuntimeException(e); - } - } - i++; - } - } - {{/uniqueItems}} - {{^uniqueItems}} - if ({{getter}}() != null) { - for (int i = 0; i < {{getter}}().size(); i++) { - if ({{getter}}().get(i) != null) { - try { - joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), - URLEncoder.encode(String.valueOf({{getter}}().get(i)), "UTF-8").replaceAll("\\+", "%20"))); - } catch (UnsupportedEncodingException e) { - // Should never happen, UTF-8 is always supported - throw new RuntimeException(e); - } - } - } - } - {{/uniqueItems}} - {{/items.isModel}} - {{/items.isPrimitiveType}} - {{/isArray}} - {{^isArray}} - {{#isMap}} - {{^items.isModel}} - if ({{getter}}() != null) { - for (String _key : {{getter}}().keySet()) { - try { - joiner.add(String.format("%s{{baseName}}%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, _key, containerSuffix), - {{getter}}().get(_key), URLEncoder.encode(String.valueOf({{getter}}().get(_key)), "UTF-8").replaceAll("\\+", "%20"))); - } catch (UnsupportedEncodingException e) { - // Should never happen, UTF-8 is always supported - throw new RuntimeException(e); - } - } - } - {{/items.isModel}} - {{#items.isModel}} - if ({{getter}}() != null) { - for (String _key : {{getter}}().keySet()) { - if ({{getter}}().get(_key) != null) { - joiner.add({{getter}}().get(_key).toUrlQueryString(String.format("%s{{baseName}}%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, _key, containerSuffix)))); - } - } - } - {{/items.isModel}} - {{/isMap}} - {{^isMap}} - {{#isPrimitiveType}} - if ({{getter}}() != null) { - try { - joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf({{{getter}}}()), "UTF-8").replaceAll("\\+", "%20"))); - } catch (UnsupportedEncodingException e) { - // Should never happen, UTF-8 is always supported - throw new RuntimeException(e); - } - } - {{/isPrimitiveType}} - {{^isPrimitiveType}} - {{#isModel}} - if ({{getter}}() != null) { - joiner.add({{getter}}().toUrlQueryString(prefix + "{{{baseName}}}" + suffix)); - } - {{/isModel}} - {{^isModel}} - if ({{getter}}() != null) { - try { - joiner.add(String.format("%s{{{baseName}}}%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf({{{getter}}}()), "UTF-8").replaceAll("\\+", "%20"))); - } catch (UnsupportedEncodingException e) { - // Should never happen, UTF-8 is always supported - throw new RuntimeException(e); - } - } - {{/isModel}} - {{/isPrimitiveType}} - {{/isMap}} - {{/isArray}} - - {{/allVars}} - return joiner.toString(); - } -{{/supportUrlQuery}} -{{#parcelableModel}} - - public void writeToParcel(Parcel out, int flags) { -{{#model}} -{{#isArray}} - out.writeList(this); -{{/isArray}} -{{^isArray}} -{{#parent}} - super.writeToParcel(out, flags); -{{/parent}} -{{#vars}} - out.writeValue({{name}}); -{{/vars}} -{{/isArray}} -{{/model}} - } - - {{classname}}(Parcel in) { -{{#isArray}} - in.readTypedList(this, {{arrayModelType}}.CREATOR); -{{/isArray}} -{{^isArray}} -{{#parent}} - super(in); -{{/parent}} -{{#vars}} -{{#isPrimitiveType}} - {{name}} = ({{{datatypeWithEnum}}})in.readValue(null); -{{/isPrimitiveType}} -{{^isPrimitiveType}} - {{name}} = ({{{datatypeWithEnum}}})in.readValue({{complexType}}.class.getClassLoader()); -{{/isPrimitiveType}} -{{/vars}} -{{/isArray}} - } - - public int describeContents() { - return 0; - } - - public static final Parcelable.Creator<{{classname}}> CREATOR = new Parcelable.Creator<{{classname}}>() { - public {{classname}} createFromParcel(Parcel in) { -{{#model}} -{{#isArray}} - {{classname}} result = new {{classname}}(); - result.addAll(in.readArrayList({{arrayModelType}}.class.getClassLoader())); - return result; -{{/isArray}} -{{^isArray}} - return new {{classname}}(in); -{{/isArray}} -{{/model}} - } - public {{classname}}[] newArray(int size) { - return new {{classname}}[size]; - } - }; -{{/parcelableModel}} - -} From 533e55ee48d3ded83676e0b8ec2e3af8a6512dc2 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Fri, 21 Jul 2023 17:25:55 -0400 Subject: [PATCH 27/58] Small build fixes --- gradle/documentation/render-javadoc.gradle | 2 +- solr/solrj-model/build.gradle | 2 +- .../org/apache/solr/api/package-info.java | 21 +++++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 solr/solrj-model/src/java/org/apache/solr/api/package-info.java diff --git a/gradle/documentation/render-javadoc.gradle b/gradle/documentation/render-javadoc.gradle index 43ea909ebc7..29e43f913ce 100644 --- a/gradle/documentation/render-javadoc.gradle +++ b/gradle/documentation/render-javadoc.gradle @@ -126,7 +126,7 @@ configure(project(":solr:modules:langid")) { configure(project(":solr:solrj")) { project.tasks.withType(RenderJavadocTask) { // TODO: clean up split packages SOLR-15604 - javadocMissingIgnore = ["org.apache.solr.client.solrj.embedded", "org.apache.solr.client.solrj.model"] + javadocMissingIgnore = ["org.apache.solr.client.solrj.embedded"] } } diff --git a/solr/solrj-model/build.gradle b/solr/solrj-model/build.gradle index 720919fe60b..ffcfeb8cecf 100644 --- a/solr/solrj-model/build.gradle +++ b/solr/solrj-model/build.gradle @@ -49,7 +49,7 @@ dependencies { implementation 'jakarta.ws.rs:jakarta.ws.rs-api' implementation 'com.fasterxml.jackson.core:jackson-annotations' - implementation 'io.swagger.core.v3:swagger-annotations' + api 'io.swagger.core.v3:swagger-annotations' testImplementation project(':solr:test-framework') testImplementation project(':solr:core') diff --git a/solr/solrj-model/src/java/org/apache/solr/api/package-info.java b/solr/solrj-model/src/java/org/apache/solr/api/package-info.java new file mode 100644 index 00000000000..db1482c3ddf --- /dev/null +++ b/solr/solrj-model/src/java/org/apache/solr/api/package-info.java @@ -0,0 +1,21 @@ +/* + * 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. + */ + +/** + * Root package for interfaces and POJOs used to describe Solr's v2 APIs + */ +package org.apache.solr.api; \ No newline at end of file From 00fe00dd9ed2eda9da84639b1770c36131b2fc8c Mon Sep 17 00:00:00 2001 From: Houston Putman Date: Wed, 26 Jul 2023 12:34:24 -0400 Subject: [PATCH 28/58] Move solrj-model to api, fix some hacks --- dev-tools/scripts/smokeTestRelease.py | 2 +- gradle/maven/defaults-maven.gradle | 2 +- gradle/solr/packaging.gradle | 2 +- settings.gradle | 2 +- solr/{solrj-model => api}/build.gradle | 16 +-- .../java/org/apache/solr/api/ApiMetadata.java | 2 +- .../java/org/apache/solr/api/Constants.java | 0 .../api/endpoint/IAddReplicaProperty.java | 0 .../solr/api/endpoint/IDeleteAlias.java | 0 .../solr/api/endpoint/IDeleteCollection.java | 0 .../solr/api/endpoint/package-info.java | 0 .../model/AddReplicaPropertyRequestBody.java | 0 .../solr/api/model/AsyncJerseyResponse.java | 0 .../org/apache/solr/api/model/ErrorInfo.java | 2 +- .../solr/api/model/SolrJerseyResponse.java | 0 ...SubResponseAccumulatingJerseyResponse.java | 0 .../apache/solr/api/model/package-info.java | 0 .../org/apache/solr/api/package-info.java | 0 .../test/org/apache/solr/model/DummyTest.java | 0 solr/core/build.gradle | 2 +- solr/solrj/build.gradle | 132 ++++++++++-------- .../solr/common/util/ModelConstants.java | 2 +- 22 files changed, 87 insertions(+), 77 deletions(-) rename solr/{solrj-model => api}/build.gradle (86%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/ApiMetadata.java (98%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/Constants.java (100%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/endpoint/IAddReplicaProperty.java (100%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/endpoint/IDeleteAlias.java (100%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/endpoint/IDeleteCollection.java (100%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/endpoint/package-info.java (100%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java (100%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java (100%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/model/ErrorInfo.java (97%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/model/SolrJerseyResponse.java (100%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java (100%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/model/package-info.java (100%) rename solr/{solrj-model => api}/src/java/org/apache/solr/api/package-info.java (100%) rename solr/{solrj-model => api}/src/test/org/apache/solr/model/DummyTest.java (100%) diff --git a/dev-tools/scripts/smokeTestRelease.py b/dev-tools/scripts/smokeTestRelease.py index 4bf09d7beec..554c664559d 100755 --- a/dev-tools/scripts/smokeTestRelease.py +++ b/dev-tools/scripts/smokeTestRelease.py @@ -606,7 +606,7 @@ def verifyUnpacked(java, artifact, unpackPath, gitRevision, version, testArgs): expected_src_root_folders = ['buildSrc', 'dev-docs', 'dev-tools', 'gradle', 'help', 'solr'] expected_src_root_files = ['build.gradle', 'gradlew', 'gradlew.bat', 'settings.gradle', 'versions.lock', 'versions.props'] expected_src_solr_files = ['build.gradle'] - expected_src_solr_folders = ['benchmark', 'bin', 'modules', 'core', 'docker', 'documentation', 'example', 'licenses', 'packaging', 'distribution', 'prometheus-exporter', 'server', 'solr-ref-guide', 'solrj', 'solrj-streaming', 'solrj-zookeeper', 'solrj-model', 'test-framework', 'webapp', '.gitignore', '.gitattributes'] + expected_src_solr_folders = ['benchmark', 'bin', 'modules', 'api', 'core', 'docker', 'documentation', 'example', 'licenses', 'packaging', 'distribution', 'prometheus-exporter', 'server', 'solr-ref-guide', 'solrj', 'solrj-streaming', 'solrj-zookeeper', 'test-framework', 'webapp', '.gitignore', '.gitattributes'] is_in_list(in_root_folder, expected_src_root_folders) is_in_list(in_root_folder, expected_src_root_files) is_in_list(in_solr_folder, expected_src_solr_folders) diff --git a/gradle/maven/defaults-maven.gradle b/gradle/maven/defaults-maven.gradle index bb08d25b89b..8d0ef8f2a43 100644 --- a/gradle/maven/defaults-maven.gradle +++ b/gradle/maven/defaults-maven.gradle @@ -24,8 +24,8 @@ configure(rootProject) { ext { published = [ + ":solr:api", ":solr:core", - ":solr:solrj-model", ":solr:solrj", ":solr:solrj-streaming", ":solr:solrj-zookeeper", diff --git a/gradle/solr/packaging.gradle b/gradle/solr/packaging.gradle index dd751f3da0e..bb3fd5703ab 100644 --- a/gradle/solr/packaging.gradle +++ b/gradle/solr/packaging.gradle @@ -58,7 +58,7 @@ configure(allprojects.findAll {project -> project.path.startsWith(":solr:modules dependencies { solrPlatformLibs project(":solr:core") solrPlatformLibs project(":solr:solrj") - solrPlatformLibs project(":solr:solrj-model") + solrPlatformLibs project(":solr:api") solrPlatformLibs project(":solr:solrj-zookeeper") // libExt has logging libs, which we don't want. Lets users decide what they want. solrPlatformLibs project(path: ":solr:server", configuration: 'libExt') diff --git a/settings.gradle b/settings.gradle index 12ed5c7cd3a..f0a1ff11538 100644 --- a/settings.gradle +++ b/settings.gradle @@ -26,10 +26,10 @@ rootProject.name = "solr-root" includeBuild("dev-tools/solr-missing-doclet") +include "solr:api" include "solr:solrj" include "solr:solrj-zookeeper" include "solr:solrj-streaming" -include "solr:solrj-model" include "solr:core" include "solr:server" include "solr:modules:analysis-extras" diff --git a/solr/solrj-model/build.gradle b/solr/api/build.gradle similarity index 86% rename from solr/solrj-model/build.gradle rename to solr/api/build.gradle index ffcfeb8cecf..b9dddbbf296 100644 --- a/solr/solrj-model/build.gradle +++ b/solr/api/build.gradle @@ -21,7 +21,12 @@ plugins { apply plugin: 'java-library' -description = 'Solrj-Model- Interfaces and classes used to represent Solrs APIs' +description = 'API - Interfaces and classes used to represent Solrs APIs' + +ext { + openApiSpecDir = "${buildDir}/generated/openapi" + openApiSpecFile = "${project.openApiSpecDir}/openapi.json" +} configurations { openapiSpec { @@ -30,19 +35,12 @@ configurations { } } -ext { - openapispecdir = "${buildDir}/generated/openapi" -// openapispecfile = "${project.ext.openapispecdir}/openapi.json" -} - resolve { classpath = sourceSets.main.runtimeClasspath - outputDir = file(project.ext.openapispecdir) + outputDir = file(project.openApiSpecDir) prettyPrint = true } - - dependencies { // declare dependencies we use even though already declared by solrj-core implementation 'org.slf4j:slf4j-api' diff --git a/solr/solrj-model/src/java/org/apache/solr/api/ApiMetadata.java b/solr/api/src/java/org/apache/solr/api/ApiMetadata.java similarity index 98% rename from solr/solrj-model/src/java/org/apache/solr/api/ApiMetadata.java rename to solr/api/src/java/org/apache/solr/api/ApiMetadata.java index 15a1b0e16ec..2d9601bc66a 100644 --- a/solr/solrj-model/src/java/org/apache/solr/api/ApiMetadata.java +++ b/solr/api/src/java/org/apache/solr/api/ApiMetadata.java @@ -27,6 +27,6 @@ title = "v2 API", description = "OpenAPI spec for Solr's v2 API endpoints", license = @License(name = "ASL 2.0"), - version = "10.0.0")) // TODO Move core's SolrVersion into solrj-model and use + version = "10.0.0")) // TODO Move core's SolrVersion into :solr:api and use // SolrVersion.LATEST_STRING here instead of the hardcode. public class ApiMetadata {} diff --git a/solr/solrj-model/src/java/org/apache/solr/api/Constants.java b/solr/api/src/java/org/apache/solr/api/Constants.java similarity index 100% rename from solr/solrj-model/src/java/org/apache/solr/api/Constants.java rename to solr/api/src/java/org/apache/solr/api/Constants.java diff --git a/solr/solrj-model/src/java/org/apache/solr/api/endpoint/IAddReplicaProperty.java b/solr/api/src/java/org/apache/solr/api/endpoint/IAddReplicaProperty.java similarity index 100% rename from solr/solrj-model/src/java/org/apache/solr/api/endpoint/IAddReplicaProperty.java rename to solr/api/src/java/org/apache/solr/api/endpoint/IAddReplicaProperty.java diff --git a/solr/solrj-model/src/java/org/apache/solr/api/endpoint/IDeleteAlias.java b/solr/api/src/java/org/apache/solr/api/endpoint/IDeleteAlias.java similarity index 100% rename from solr/solrj-model/src/java/org/apache/solr/api/endpoint/IDeleteAlias.java rename to solr/api/src/java/org/apache/solr/api/endpoint/IDeleteAlias.java diff --git a/solr/solrj-model/src/java/org/apache/solr/api/endpoint/IDeleteCollection.java b/solr/api/src/java/org/apache/solr/api/endpoint/IDeleteCollection.java similarity index 100% rename from solr/solrj-model/src/java/org/apache/solr/api/endpoint/IDeleteCollection.java rename to solr/api/src/java/org/apache/solr/api/endpoint/IDeleteCollection.java diff --git a/solr/solrj-model/src/java/org/apache/solr/api/endpoint/package-info.java b/solr/api/src/java/org/apache/solr/api/endpoint/package-info.java similarity index 100% rename from solr/solrj-model/src/java/org/apache/solr/api/endpoint/package-info.java rename to solr/api/src/java/org/apache/solr/api/endpoint/package-info.java diff --git a/solr/solrj-model/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java b/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java similarity index 100% rename from solr/solrj-model/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java rename to solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java diff --git a/solr/solrj-model/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java b/solr/api/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java similarity index 100% rename from solr/solrj-model/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java rename to solr/api/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java diff --git a/solr/solrj-model/src/java/org/apache/solr/api/model/ErrorInfo.java b/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java similarity index 97% rename from solr/solrj-model/src/java/org/apache/solr/api/model/ErrorInfo.java rename to solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java index fe6945e0715..1b0816f9dc2 100644 --- a/solr/solrj-model/src/java/org/apache/solr/api/model/ErrorInfo.java +++ b/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java @@ -29,7 +29,7 @@ public class ErrorInfo { // TODO These are used by some classes in 'solrj' - should we just duplicate, or should we have - // solrj rely on solrj-model directly? + // solrj rely on :solr:api directly? // (though if so, how do we avoid pulling in jackson-annotations - is a dependency exclude // sufficient for that?) public static final String ROOT_ERROR_CLASS = "root-error-class"; diff --git a/solr/solrj-model/src/java/org/apache/solr/api/model/SolrJerseyResponse.java b/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java similarity index 100% rename from solr/solrj-model/src/java/org/apache/solr/api/model/SolrJerseyResponse.java rename to solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java diff --git a/solr/solrj-model/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java b/solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java similarity index 100% rename from solr/solrj-model/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java rename to solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java diff --git a/solr/solrj-model/src/java/org/apache/solr/api/model/package-info.java b/solr/api/src/java/org/apache/solr/api/model/package-info.java similarity index 100% rename from solr/solrj-model/src/java/org/apache/solr/api/model/package-info.java rename to solr/api/src/java/org/apache/solr/api/model/package-info.java diff --git a/solr/solrj-model/src/java/org/apache/solr/api/package-info.java b/solr/api/src/java/org/apache/solr/api/package-info.java similarity index 100% rename from solr/solrj-model/src/java/org/apache/solr/api/package-info.java rename to solr/api/src/java/org/apache/solr/api/package-info.java diff --git a/solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java b/solr/api/src/test/org/apache/solr/model/DummyTest.java similarity index 100% rename from solr/solrj-model/src/test/org/apache/solr/model/DummyTest.java rename to solr/api/src/test/org/apache/solr/model/DummyTest.java diff --git a/solr/core/build.gradle b/solr/core/build.gradle index 8f286fcd59e..98ef6acb11c 100644 --- a/solr/core/build.gradle +++ b/solr/core/build.gradle @@ -42,8 +42,8 @@ dependencies { // We export logging api with dependencies, which is useful for all modules api 'org.slf4j:slf4j-api' + api project(':solr:api') api project(':solr:solrj') - api project(':solr:solrj-model') api project(':solr:solrj-zookeeper') api project(':solr:solrj-streaming') diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index d83f9ea705a..551d960df23 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -27,71 +27,12 @@ import com.diffplug.gradle.spotless.JavaExtension description = 'Solrj - Solr Java Client' -configurations { - openApiSpecFile { - canBeConsumed = false - } - generatedCode -} - -tasks.register("copySpec", Copy) { - from("../solrj-model/build/generated/openapi") - into(layout.buildDirectory.dir("openapispec")) -} - -def generatedExt = new JavaExtension(spotless) -project.ext.spotlessJavaSetup.execute(generatedExt) -generatedExt.target("build/generated/src/**/*.java") -def generatedSpotlessTask = generatedExt.createIndependentApplyTask("generatedSpotless") -generatedSpotlessTask.group("build") -generatedSpotlessTask.description("Apply formatting for generated code") - -openApiGenerate { - generatorName = "java" - // TODO - pretty hacky to specify inputSpec this way...ideally I'd just rely on a property defined in - // solrj-model, as below, but it doesn't appear to be working - //inputSpec = project(":solr:solrj-model").ext.openapispecfile - inputSpec = "${buildDir}/openapispec/openapi.json" - - // Add 'debugOperations: ""' to get the JSON input to mustache templating for those components - globalProperties.set([apis: "", models: "false"]) - templateDir = "$projectDir/src/resources/java-template" - apiPackage = "org.apache.solr.client.solrj.request" - outputDir = "${buildDir}/generated/" - generateApiTests = false - generateModelTests = false - generateApiDocumentation = false - generateModelDocumentation = false - additionalProperties = ["modelPackage": "org.apache.solr.api.model"] -} - -tasks.getByName("copySpec").dependsOn configurations.getByName("openApiSpecFile") -tasks.getByName("openApiGenerate").dependsOn tasks.copySpec -tasks.getByName("openApiGenerate").finalizedBy generatedSpotlessTask -generatedSpotlessTask.dependsOn tasks.openApiGenerate - -sourceSets { - main { - java { - srcDir "${buildDir}/generated/src/main/java" - } - } -} -tasks.compileJava.dependsOn(configurations.generatedCode) - - dependencies { - - openApiSpecFile(project(path: ":solr:solrj-model", configuration: "openapiSpec")) - generatedCode files("${buildDir}/generated/main/java") { - builtBy tasks.openApiGenerate - } - // TODO Most likely temporary, due to historical pushback on adding Jackson deps to solrj, but it does _hugely_ // simplify the parsing code and there are new compelling reasons, given the claims around CBOR performance relative // to JSON, javabin, etc. implementation 'com.fasterxml.jackson.core:jackson-databind' // Came from a testImplementation line below. - implementation project(":solr:solrj-model") + implementation project(":solr:api") implementation 'org.slf4j:slf4j-api' runtimeOnly 'org.slf4j:jcl-over-slf4j' @@ -155,3 +96,74 @@ dependencies { testImplementation 'org.apache.commons:commons-lang3' testImplementation 'io.dropwizard.metrics:metrics-core' } + +/** + * Generate Code + */ + +evaluationDependsOn(":solr:api") + +configurations { + openApiSpecFile { + canBeConsumed = false + } + generatedCode +} + +ext { + generatedCodeDir = "${buildDir}/generated/" + javaTemplateDir = "${projectDir}/src/resources/java-template" +} + +/*tasks.register("copySpec", Copy) { + dependsOn configurations.openApiSpecFile + + from(configurations.openApiSpecFile.singleFile) + into(layout.buildDirectory.dir("openapispec")) +}*/ + +dependencies { + openApiSpecFile(project(path: ":solr:api", configuration: "openapiSpec")) + generatedCode files("${project.generatedCodeDir}/main/java") { + builtBy tasks.openApiGenerate + } +} + +/** + * Setup Spotless (Code formatting) for the generated files + */ +def generatedExt = new JavaExtension(spotless) +project.ext.spotlessJavaSetup.execute(generatedExt) +generatedExt.target("${project.generatedCodeDir}/src/**/*.java") +def generatedSpotlessTask = generatedExt.createIndependentApplyTask("generatedSpotless") +generatedSpotlessTask.group("build") +generatedSpotlessTask.description("Apply formatting for generated code") + +openApiGenerate { + generatorName = "java" + inputSpec = project(":solr:api").openApiSpecFile + + // Add 'debugModels: ""' or 'debugOperations: ""' to get the JSON input to mustache templating for those components + globalProperties.set([apis: "", models: "false"]) + templateDir = project.javaTemplateDir + apiPackage = "org.apache.solr.client.solrj.request" + outputDir = project.generatedCodeDir + generateApiTests = false + generateModelTests = false + generateApiDocumentation = false + generateModelDocumentation = false + additionalProperties = ["modelPackage": "org.apache.solr.api.model"] +} + +tasks.openApiGenerate.dependsOn configurations.openApiSpecFile +tasks.openApiGenerate.finalizedBy generatedSpotlessTask +generatedSpotlessTask.dependsOn tasks.openApiGenerate + +sourceSets { + main { + java { + srcDir "${buildDir}/generated/src/main/java" + } + } +} +tasks.compileJava.dependsOn(configurations.generatedCode) diff --git a/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java b/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java index 29df1d4e2ba..a950ede383f 100644 --- a/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java +++ b/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java @@ -18,7 +18,7 @@ package org.apache.solr.common.util; // TODO This probably shouldn't exist in a final product, but it's fine for a POC -/** Constants duplicated from solrj-model so we can avoid depending on it directly */ +/** Constants duplicated from :solr:api so we can avoid depending on it directly */ public class ModelConstants { private ModelConstants() { From 4f060da87a57d01dd35940d921a8c8d6a69085e4 Mon Sep 17 00:00:00 2001 From: Houston Putman Date: Wed, 26 Jul 2023 12:55:30 -0400 Subject: [PATCH 29/58] Fix warning for gradle build --- solr/solrj/build.gradle | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 551d960df23..27a7df74b3a 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -157,6 +157,10 @@ openApiGenerate { tasks.openApiGenerate.dependsOn configurations.openApiSpecFile tasks.openApiGenerate.finalizedBy generatedSpotlessTask +// the generatedSpotlessTask has a super-task that we are not given, that should also depend on the code generation. +generatedSpotlessTask.taskDependencies.getDependencies(generatedSpotlessTask).each { + it.dependsOn tasks.openApiGenerate +} generatedSpotlessTask.dependsOn tasks.openApiGenerate sourceSets { From 6aeb4cf12328fdeee72b67228d31f3e77ae952e7 Mon Sep 17 00:00:00 2001 From: Houston Putman Date: Wed, 26 Jul 2023 12:56:10 -0400 Subject: [PATCH 30/58] Remove unused task --- solr/solrj/build.gradle | 7 ------- 1 file changed, 7 deletions(-) diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 27a7df74b3a..83820b9a119 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -115,13 +115,6 @@ ext { javaTemplateDir = "${projectDir}/src/resources/java-template" } -/*tasks.register("copySpec", Copy) { - dependsOn configurations.openApiSpecFile - - from(configurations.openApiSpecFile.singleFile) - into(layout.buildDirectory.dir("openapispec")) -}*/ - dependencies { openApiSpecFile(project(path: ":solr:api", configuration: "openapiSpec")) generatedCode files("${project.generatedCodeDir}/main/java") { From cda5e86ae70d3ced3d032044716cd02b6e5dfee1 Mon Sep 17 00:00:00 2001 From: Houston Putman Date: Wed, 26 Jul 2023 13:36:26 -0400 Subject: [PATCH 31/58] Make spotless work again --- solr/solrj/build.gradle | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 83820b9a119..2fd1008d887 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -98,7 +98,7 @@ dependencies { } /** - * Generate Code + * Java Code Generation for Solr API */ evaluationDependsOn(":solr:api") @@ -117,21 +117,14 @@ ext { dependencies { openApiSpecFile(project(path: ":solr:api", configuration: "openapiSpec")) - generatedCode files("${project.generatedCodeDir}/main/java") { + generatedCode files("${project.generatedCodeDir}/src/main/java") { builtBy tasks.openApiGenerate } } /** - * Setup Spotless (Code formatting) for the generated files + * Code Generation task */ -def generatedExt = new JavaExtension(spotless) -project.ext.spotlessJavaSetup.execute(generatedExt) -generatedExt.target("${project.generatedCodeDir}/src/**/*.java") -def generatedSpotlessTask = generatedExt.createIndependentApplyTask("generatedSpotless") -generatedSpotlessTask.group("build") -generatedSpotlessTask.description("Apply formatting for generated code") - openApiGenerate { generatorName = "java" inputSpec = project(":solr:api").openApiSpecFile @@ -149,17 +142,30 @@ openApiGenerate { } tasks.openApiGenerate.dependsOn configurations.openApiSpecFile + +/** + * Setup Spotless (Code formatting) for the generated java files + */ +def generatedExt = new JavaExtension(spotless) +project.spotlessJavaSetup.execute(generatedExt) +generatedExt.target(files("${project.generatedCodeDir}/src")) +def generatedSpotlessTask = generatedExt.createIndependentApplyTask("generatedSpotless") +generatedSpotlessTask.group("build") +generatedSpotlessTask.description("Apply formatting for generated code") + tasks.openApiGenerate.finalizedBy generatedSpotlessTask // the generatedSpotlessTask has a super-task that we are not given, that should also depend on the code generation. generatedSpotlessTask.taskDependencies.getDependencies(generatedSpotlessTask).each { - it.dependsOn tasks.openApiGenerate + if (it.name.startsWith(generatedSpotlessTask.name)) { + it.dependsOn tasks.openApiGenerate + } } generatedSpotlessTask.dependsOn tasks.openApiGenerate sourceSets { main { java { - srcDir "${buildDir}/generated/src/main/java" + srcDir "${project.generatedCodeDir}/src/main/java" } } } From e97c15c96fae8bba2e117fed5d679dcc83bca26f Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 26 Jul 2023 16:00:08 -0400 Subject: [PATCH 32/58] Tidy --- .../solr/api/endpoint/package-info.java | 6 ++-- .../solr/api/model/SolrJerseyResponse.java | 2 -- ...SubResponseAccumulatingJerseyResponse.java | 1 - .../apache/solr/api/model/package-info.java | 5 ++-- .../org/apache/solr/api/package-info.java | 6 ++-- .../org/apache/solr/api/JerseyResource.java | 2 +- .../solr/handler/ReplicationHandler.java | 2 +- .../handler/admin/CollectionsHandler.java | 4 +-- .../solr/handler/admin/ZookeeperReadAPI.java | 2 +- .../admin/api/AddReplicaPropertyAPI.java | 6 ++-- .../solr/handler/admin/api/AdminAPIBase.java | 2 +- .../handler/admin/api/AliasPropertyAPI.java | 2 +- .../handler/admin/api/BalanceReplicasAPI.java | 2 +- .../admin/api/BalanceShardUniqueAPI.java | 2 +- .../admin/api/CollectionPropertyAPI.java | 2 +- .../handler/admin/api/CoreAdminAPIBase.java | 2 +- .../handler/admin/api/CoreReplicationAPI.java | 2 +- .../handler/admin/api/CoreSnapshotAPI.java | 2 +- .../handler/admin/api/CreateAliasAPI.java | 4 +-- .../admin/api/CreateCollectionAPI.java | 2 +- .../admin/api/CreateCollectionBackupAPI.java | 4 +-- .../api/CreateCollectionSnapshotAPI.java | 2 +- .../handler/admin/api/CreateReplicaAPI.java | 2 +- .../handler/admin/api/CreateShardAPI.java | 2 +- .../handler/admin/api/DeleteAliasAPI.java | 6 ++-- .../admin/api/DeleteCollectionAPI.java | 4 +-- .../admin/api/DeleteCollectionBackupAPI.java | 4 +-- .../api/DeleteCollectionSnapshotAPI.java | 2 +- .../solr/handler/admin/api/DeleteNodeAPI.java | 2 +- .../handler/admin/api/DeleteReplicaAPI.java | 2 +- .../admin/api/DeleteReplicaPropertyAPI.java | 2 +- .../handler/admin/api/DeleteShardAPI.java | 2 +- .../handler/admin/api/ForceLeaderAPI.java | 2 +- .../solr/handler/admin/api/GetSchemaAPI.java | 2 +- .../handler/admin/api/GetSchemaFieldAPI.java | 2 +- .../admin/api/GetSchemaZkVersionAPI.java | 2 +- .../handler/admin/api/InstallCoreDataAPI.java | 2 +- .../admin/api/InstallShardDataAPI.java | 2 +- .../handler/admin/api/ListAliasesAPI.java | 2 +- .../admin/api/ListCollectionBackupsAPI.java | 2 +- .../admin/api/ListCollectionSnapshotsAPI.java | 2 +- .../handler/admin/api/ListCollectionsAPI.java | 2 +- .../handler/admin/api/MigrateReplicasAPI.java | 2 +- .../handler/admin/api/NodeLoggingAPI.java | 2 +- .../admin/api/ReloadCollectionAPI.java | 2 +- .../admin/api/RenameCollectionAPI.java | 2 +- .../handler/admin/api/ReplaceNodeAPI.java | 2 +- .../admin/api/RestoreCollectionAPI.java | 4 +-- .../solr/handler/admin/api/SyncShardAPI.java | 2 +- .../apache/solr/handler/api/V2ApiUtils.java | 2 +- .../handler/configsets/ListConfigSetsAPI.java | 2 +- .../solr/jersey/CatchAllExceptionMapper.java | 2 +- .../jersey/PostRequestDecorationFilter.java | 2 +- .../solr/jersey/PostRequestLoggingFilter.java | 2 +- .../solr/jersey/RequestContextKeys.java | 2 +- .../solr/jersey/RequestMetricHandling.java | 2 +- .../apache/solr/security/PublicKeyAPI.java | 2 +- .../apache/solr/servlet/ResponseUtils.java | 2 +- .../admin/api/AddReplicaPropertyAPITest.java | 2 +- .../jersey/JacksonReflectMapWriterTest.java | 2 +- .../org/apache/solr/common/SolrException.java | 4 +-- .../solr/common/util/ModelConstants.java | 30 ------------------- 62 files changed, 74 insertions(+), 110 deletions(-) delete mode 100644 solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/package-info.java b/solr/api/src/java/org/apache/solr/api/endpoint/package-info.java index 2078ed131a7..4205cd93358 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/package-info.java +++ b/solr/api/src/java/org/apache/solr/api/endpoint/package-info.java @@ -15,7 +15,5 @@ * limitations under the License. */ -/** - * Interfaces representing individual Solr v2 APIs. - */ -package org.apache.solr.api.endpoint; \ No newline at end of file +/** Interfaces representing individual Solr v2 APIs. */ +package org.apache.solr.api.endpoint; diff --git a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java b/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java index 6386eafe0f9..5a0b8491baa 100644 --- a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java @@ -20,8 +20,6 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.api.model.ErrorInfo; - import java.util.HashMap; import java.util.Map; diff --git a/solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java b/solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java index 98cf85339b8..a46d8865848 100644 --- a/solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java @@ -18,7 +18,6 @@ package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.api.model.AsyncJerseyResponse; /** * Represents API responses composed of the responses of various sub-requests. diff --git a/solr/api/src/java/org/apache/solr/api/model/package-info.java b/solr/api/src/java/org/apache/solr/api/model/package-info.java index 3c7c1e4e9b5..fbd8c94579b 100644 --- a/solr/api/src/java/org/apache/solr/api/model/package-info.java +++ b/solr/api/src/java/org/apache/solr/api/model/package-info.java @@ -16,6 +16,7 @@ */ /** - * POJOs representing various inputs and outputs of the v2 APIs described in {@link org.apache.solr.api.endpoint} + * POJOs representing various inputs and outputs of the v2 APIs described in {@link + * org.apache.solr.api.endpoint} */ -package org.apache.solr.api.model; \ No newline at end of file +package org.apache.solr.api.model; diff --git a/solr/api/src/java/org/apache/solr/api/package-info.java b/solr/api/src/java/org/apache/solr/api/package-info.java index db1482c3ddf..6f27904f36b 100644 --- a/solr/api/src/java/org/apache/solr/api/package-info.java +++ b/solr/api/src/java/org/apache/solr/api/package-info.java @@ -15,7 +15,5 @@ * limitations under the License. */ -/** - * Root package for interfaces and POJOs used to describe Solr's v2 APIs - */ -package org.apache.solr.api; \ No newline at end of file +/** Root package for interfaces and POJOs used to describe Solr's v2 APIs */ +package org.apache.solr.api; diff --git a/solr/core/src/java/org/apache/solr/api/JerseyResource.java b/solr/core/src/java/org/apache/solr/api/JerseyResource.java index 215380d16c8..4cbf2efde9b 100644 --- a/solr/core/src/java/org/apache/solr/api/JerseyResource.java +++ b/solr/core/src/java/org/apache/solr/api/JerseyResource.java @@ -22,9 +22,9 @@ import java.util.function.Supplier; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.core.Context; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.jersey.CatchAllExceptionMapper; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.servlet.HttpSolrCall; /** diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java index 1b313d35e92..c8212c56b5a 100644 --- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java @@ -66,6 +66,7 @@ import org.apache.lucene.store.IndexInput; import org.apache.lucene.store.RateLimiter; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.params.CommonParams; @@ -93,7 +94,6 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.metrics.MetricsMap; import org.apache.solr.metrics.SolrMetricsContext; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.search.SolrIndexSearcher; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java index 4da9570737e..d027338af1a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java @@ -122,6 +122,8 @@ import org.apache.solr.api.AnnotatedApi; import org.apache.solr.api.Api; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.response.RequestStatusState; @@ -200,8 +202,6 @@ import org.apache.solr.handler.admin.api.SyncShardAPI; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.logging.MDCLoggingContext; -import org.apache.solr.api.model.AddReplicaPropertyRequestBody; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.security.AuthorizationContext; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java index 5394fda33eb..4db4b9f3f48 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java @@ -36,6 +36,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.impl.BinaryResponseParser; import org.apache.solr.client.solrj.impl.XMLResponseParser; import org.apache.solr.common.SolrException; @@ -47,7 +48,6 @@ import org.apache.solr.jersey.ExperimentalResponse; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.RawResponseWriter; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java index ff7843022cb..ed93d9c8cd2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java @@ -31,6 +31,9 @@ import java.util.Locale; import java.util.Map; import javax.inject.Inject; +import org.apache.solr.api.endpoint.IAddReplicaProperty; +import org.apache.solr.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.cloud.overseer.SliceMutator; import org.apache.solr.common.SolrException; @@ -39,9 +42,6 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.endpoint.IAddReplicaProperty; -import org.apache.solr.api.model.AddReplicaPropertyRequestBody; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java index 0d733504f5b..99cf4578ea4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java @@ -21,6 +21,7 @@ import java.util.Map; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ClusterState; @@ -29,7 +30,6 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.logging.MDCLoggingContext; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.tracing.TraceUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java index c9ab98e20bb..5afb3ce3247 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java @@ -39,6 +39,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.Aliases; @@ -49,7 +50,6 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java index 721d38116c0..a1dc114c49e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java @@ -35,6 +35,7 @@ import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams.CollectionAction; @@ -42,7 +43,6 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java index 03fb74ee214..a874405a8e5 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java @@ -34,6 +34,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.cloud.overseer.SliceMutator; import org.apache.solr.common.SolrException; import org.apache.solr.common.annotation.JsonProperty; @@ -44,7 +45,6 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java index 400c3c221fb..2c7d3656e89 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java @@ -28,12 +28,12 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.CollectionProperties; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java index 9b7c2037b55..e5d322a6afe 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java @@ -18,12 +18,12 @@ import java.util.function.Supplier; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.logging.MDCLoggingContext; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.tracing.TraceUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java index b6e5e90d119..9d5f73a5237 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java @@ -29,10 +29,10 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java index f06264df9b6..2e1f8b0ecc3 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java @@ -37,6 +37,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import org.apache.lucene.index.IndexCommit; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.core.CoreContainer; @@ -47,7 +48,6 @@ import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java index a856fa5b19c..91bfa6928cc 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java @@ -47,6 +47,8 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.RoutedAliasTypes; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; @@ -65,8 +67,6 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.TimeZoneUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java index c8bf53aeadd..79271eacd28 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java @@ -61,6 +61,7 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.beans.V2ApiConstants; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; @@ -79,7 +80,6 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.zookeeper.CreateMode; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java index 2024550ab34..82bab803e79 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java @@ -43,6 +43,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; @@ -54,8 +56,6 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.jersey.SolrJacksonMapper; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.zookeeper.common.StringUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java index 59c5077dabb..99268b2a407 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java @@ -35,6 +35,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrZkClient; @@ -46,7 +47,6 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java index cc1299294f4..9311746163c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java @@ -51,6 +51,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -60,7 +61,6 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java index c4675909804..1dae4ea170c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java @@ -47,6 +47,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ClusterState; @@ -59,7 +60,6 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java index 90652f75208..3eafb647185 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java @@ -28,15 +28,15 @@ import javax.inject.Inject; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; +import org.apache.solr.api.endpoint.IDeleteAlias; +import org.apache.solr.api.model.AsyncJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.endpoint.IDeleteAlias; -import org.apache.solr.api.model.AsyncJerseyResponse; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java index 3eec1db19dc..0ed1fd14da9 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java @@ -26,14 +26,14 @@ import java.util.HashMap; import java.util.Map; import javax.inject.Inject; +import org.apache.solr.api.endpoint.IDeleteCollection; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.endpoint.IDeleteCollection; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java index 717b622252f..38220b5b918 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java @@ -44,6 +44,8 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; @@ -55,8 +57,6 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.jersey.SolrJacksonMapper; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java index 7b0c1ed018a..5f30ef58b30 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java @@ -36,6 +36,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -43,7 +44,6 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java index 10135d1105d..b88239de2b6 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java @@ -34,6 +34,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -43,7 +44,6 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java index fb8e9842d16..19811523999 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java @@ -40,6 +40,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -48,7 +49,6 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java index 2213caa8731..a8aa734a076 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java @@ -30,6 +30,7 @@ import javax.inject.Inject; import javax.ws.rs.Path; import javax.ws.rs.PathParam; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -37,7 +38,6 @@ import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java index 387a6051853..2972d87a5f7 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java @@ -34,12 +34,12 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java index dba7db55fc1..5ef40c2c27a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java @@ -32,6 +32,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.cloud.ZkController; import org.apache.solr.cloud.ZkShardTerms; import org.apache.solr.common.SolrException; @@ -42,7 +43,6 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java index 6308c838312..93f6161f9fb 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java @@ -27,10 +27,10 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.schema.IndexSchema; import org.apache.solr.security.PermissionNameProvider; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java index f848304fc63..9df213536f8 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java @@ -29,6 +29,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.MapWriter; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrClassLoader; @@ -37,7 +38,6 @@ import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.core.PluginInfo; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.pkg.PackageListeningClassLoader; import org.apache.solr.schema.IndexSchema; import org.apache.solr.security.PermissionNameProvider; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java index 85c7ce50064..462cf732c03 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java @@ -29,10 +29,10 @@ import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.cloud.ZkSolrResourceLoader; import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.schema.ManagedIndexSchema; import org.apache.solr.schema.ZkIndexSchemaReader; import org.apache.solr.security.PermissionNameProvider; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java index dd6467982f5..554b15a6500 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java @@ -27,6 +27,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.SolrException; @@ -37,7 +38,6 @@ import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java index 911f62484bf..4ce12c2b081 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java @@ -29,6 +29,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.cloud.api.collections.InstallShardDataCmd; import org.apache.solr.common.SolrException; @@ -42,7 +43,6 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java index d600328e9ae..b355f3d4561 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java @@ -31,11 +31,11 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.cloud.Aliases; import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java index db93fe4ea19..c741a3f3799 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java @@ -38,6 +38,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; @@ -48,7 +49,6 @@ import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.jersey.SolrJacksonMapper; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java index 75baaf14c68..a6f25e8dfe1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java @@ -29,13 +29,13 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.util.CollectionUtil; import org.apache.solr.core.CoreContainer; import org.apache.solr.core.snapshots.CollectionSnapshotMetaData; import org.apache.solr.core.snapshots.SolrSnapshotManager; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java index 2a7bcd2287e..1adb8d05e0e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java @@ -29,10 +29,10 @@ import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.cloud.DocCollection; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java index ce0d0112378..3bc4d69fbd2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java @@ -36,6 +36,7 @@ import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; @@ -44,7 +45,6 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java index 30a682b89d5..dc0b20c10c2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java @@ -35,13 +35,13 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrException; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.logging.LogWatcher; -import org.apache.solr.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java index 366614a720c..fba9c1375c4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java @@ -33,13 +33,13 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java index 6e7b5bf438d..413b031bfa0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java @@ -34,6 +34,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -41,7 +42,6 @@ import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java index 7bb65ca7b11..d95fa8ce40a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java @@ -36,6 +36,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -44,7 +45,6 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java index 324be33c8ca..8abf5e8e6e0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java @@ -46,6 +46,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; import org.apache.solr.common.SolrException; @@ -56,8 +58,6 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java index 19d16f802d0..b72400b2520 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java @@ -30,6 +30,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrClient; @@ -41,7 +42,6 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java index c5d57d8b2fe..9b66e11ff30 100644 --- a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java +++ b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java @@ -24,10 +24,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; import java.util.Map; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.MapWriter.EntryWriter; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java index c1fe76fceac..e057a474ec4 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java @@ -28,9 +28,9 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.api.model.SolrJerseyResponse; /** * V2 API for adding or updating a single file within a configset. diff --git a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java index 5bd8e33e0ee..6934689a277 100644 --- a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java +++ b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java @@ -31,10 +31,10 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.servlet.ResponseUtils; diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java index 61a807e01c7..d345c0b8ad1 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java @@ -26,8 +26,8 @@ import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; -import org.apache.solr.core.SolrCore; import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.core.SolrCore; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrRequestHandler; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java index 905c8cf719d..2003c5c0793 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java @@ -38,10 +38,10 @@ import javax.ws.rs.container.ResourceInfo; import javax.ws.rs.core.Context; import javax.ws.rs.core.MultivaluedMap; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.util.CollectionUtil; import org.apache.solr.common.util.StrUtils; import org.apache.solr.core.SolrCore; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.servlet.HttpSolrCall; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java index 759b854e2d7..e2581ccffc1 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java @@ -21,12 +21,12 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.container.ContainerRequestContext; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.core.PluginBag; import org.apache.solr.core.SolrCore; import org.apache.solr.handler.RequestHandlerBase; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.security.AuthorizationContext; diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java index f871be8157c..fd2289baa66 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java @@ -30,9 +30,9 @@ import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.container.ResourceInfo; import javax.ws.rs.core.Context; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.PluginBag; import org.apache.solr.handler.RequestHandlerBase; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java index 29698b2abc8..a7d311d1788 100644 --- a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java +++ b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java @@ -26,8 +26,8 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import org.apache.solr.api.JerseyResource; -import org.apache.solr.jersey.PermissionName; import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.jersey.PermissionName; /** * V2 API for fetching the public key of the receiving node. diff --git a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java index 7d72e0a3231..5af7efc2405 100644 --- a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java +++ b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java @@ -19,9 +19,9 @@ import java.io.PrintWriter; import java.io.StringWriter; import org.apache.solr.api.ApiBag; +import org.apache.solr.api.model.ErrorInfo; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.NamedList; -import org.apache.solr.api.model.ErrorInfo; import org.slf4j.Logger; /** Response helper methods. */ diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java index 239e03d6521..29d472e75a9 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java @@ -28,13 +28,13 @@ import java.util.Map; import java.util.Optional; import org.apache.solr.SolrTestCaseJ4; +import org.apache.solr.api.model.AddReplicaPropertyRequestBody; import org.apache.solr.cloud.OverseerSolrResponse; import org.apache.solr.cloud.api.collections.DistributedCollectionConfigSetCommandRunner; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.util.NamedList; import org.apache.solr.core.CoreContainer; -import org.apache.solr.api.model.AddReplicaPropertyRequestBody; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.junit.Before; diff --git a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java index 3ff57d526a8..5d381a8dfca 100644 --- a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java +++ b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java @@ -21,10 +21,10 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import org.apache.solr.SolrTestCaseJ4; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.api.model.SolrJerseyResponse; import org.junit.Test; /** diff --git a/solr/solrj/src/java/org/apache/solr/common/SolrException.java b/solr/solrj/src/java/org/apache/solr/common/SolrException.java index 7ea4ee5c531..19dd6faa474 100644 --- a/solr/solrj/src/java/org/apache/solr/common/SolrException.java +++ b/solr/solrj/src/java/org/apache/solr/common/SolrException.java @@ -16,8 +16,8 @@ */ package org.apache.solr.common; -import static org.apache.solr.common.util.ModelConstants.ERROR_CLASS; -import static org.apache.solr.common.util.ModelConstants.ROOT_ERROR_CLASS; +import static org.apache.solr.api.model.ErrorInfo.ERROR_CLASS; +import static org.apache.solr.api.model.ErrorInfo.ROOT_ERROR_CLASS; import java.util.Map; import org.apache.solr.common.util.NamedList; diff --git a/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java b/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java deleted file mode 100644 index a950ede383f..00000000000 --- a/solr/solrj/src/java/org/apache/solr/common/util/ModelConstants.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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. - */ - -package org.apache.solr.common.util; - -// TODO This probably shouldn't exist in a final product, but it's fine for a POC -/** Constants duplicated from :solr:api so we can avoid depending on it directly */ -public class ModelConstants { - - private ModelConstants() { - /* Private ctor prevents instantiation */ - } - - public static final String ROOT_ERROR_CLASS = "root-error-class"; - public static final String ERROR_CLASS = "error-class"; -} From 664cf7ce794adc43a8521c61ae12d2ae5c20af51 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Wed, 26 Jul 2023 16:10:00 -0400 Subject: [PATCH 33/58] Add copyright header to generated files --- .../src/resources/java-template/api.mustache | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/solr/solrj/src/resources/java-template/api.mustache b/solr/solrj/src/resources/java-template/api.mustache index 4af027d7fd1..01fe24a7a5a 100644 --- a/solr/solrj/src/resources/java-template/api.mustache +++ b/solr/solrj/src/resources/java-template/api.mustache @@ -1,4 +1,19 @@ -{{>licenseInfo}} +/* + * 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. + */ package {{package}}; @@ -25,6 +40,9 @@ import {{modelPackage}}.{{.}}; {{/imports}} {{/operation}} +// WARNING: This class is generated from a Mustache template; any intended +// changes should be made to the underlying template and not this file directly. + public class {{classname}} { {{#operation}} From 2acd4119494dd92137da6915d06827fc0ee4a978 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 27 Jul 2023 10:52:19 -0400 Subject: [PATCH 34/58] Replace I- prefix to -Api suffix on interfaces Change made based on user feedback. The actual implementing classes in solr-core have also been tweaked to lose their '-API' suffix. --- ...operty.java => AddReplicaPropertyApi.java} | 2 +- ...{IDeleteAlias.java => DeleteAliasApi.java} | 2 +- ...llection.java => DeleteCollectionApi.java} | 2 +- .../handler/admin/CollectionsHandler.java | 22 +++++++++---------- ...opertyAPI.java => AddReplicaProperty.java} | 6 ++--- .../{DeleteAliasAPI.java => DeleteAlias.java} | 6 ++--- ...llectionAPI.java => DeleteCollection.java} | 6 ++--- .../admin/api/AddReplicaPropertyAPITest.java | 7 +++--- .../handler/admin/api/DeleteAliasAPITest.java | 7 +++--- .../admin/api/DeleteCollectionAPITest.java | 7 +++--- 10 files changed, 32 insertions(+), 35 deletions(-) rename solr/api/src/java/org/apache/solr/api/endpoint/{IAddReplicaProperty.java => AddReplicaPropertyApi.java} (98%) rename solr/api/src/java/org/apache/solr/api/endpoint/{IDeleteAlias.java => DeleteAliasApi.java} (97%) rename solr/api/src/java/org/apache/solr/api/endpoint/{IDeleteCollection.java => DeleteCollectionApi.java} (97%) rename solr/core/src/java/org/apache/solr/handler/admin/api/{AddReplicaPropertyAPI.java => AddReplicaProperty.java} (96%) rename solr/core/src/java/org/apache/solr/handler/admin/api/{DeleteAliasAPI.java => DeleteAlias.java} (95%) rename solr/core/src/java/org/apache/solr/handler/admin/api/{DeleteCollectionAPI.java => DeleteCollection.java} (96%) diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/IAddReplicaProperty.java b/solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java similarity index 98% rename from solr/api/src/java/org/apache/solr/api/endpoint/IAddReplicaProperty.java rename to solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java index 0877d8c9c31..dd7f3d49071 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/IAddReplicaProperty.java +++ b/solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java @@ -30,7 +30,7 @@ import org.apache.solr.api.model.SolrJerseyResponse; @Path("/collections/{collName}/shards/{shardName}/replicas/{replicaName}/properties/{propName}") -public interface IAddReplicaProperty { +public interface AddReplicaPropertyApi { @PUT @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/IDeleteAlias.java b/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java similarity index 97% rename from solr/api/src/java/org/apache/solr/api/endpoint/IDeleteAlias.java rename to solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java index 414c277a1d0..f23b8a3f20b 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/IDeleteAlias.java +++ b/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java @@ -27,7 +27,7 @@ import org.apache.solr.api.model.SolrJerseyResponse; @Path("/aliases/{aliasName}") -public interface IDeleteAlias { +public interface DeleteAliasApi { @DELETE @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/IDeleteCollection.java b/solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java similarity index 97% rename from solr/api/src/java/org/apache/solr/api/endpoint/IDeleteCollection.java rename to solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java index 65522bf891b..e93f3c86bfd 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/IDeleteCollection.java +++ b/solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java @@ -29,7 +29,7 @@ import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; @Path("/collections/{collectionName}") -public interface IDeleteCollection { +public interface DeleteCollectionApi { @DELETE @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java index d027338af1a..6c057dd8c7c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java @@ -162,7 +162,7 @@ import org.apache.solr.core.snapshots.CollectionSnapshotMetaData; import org.apache.solr.core.snapshots.SolrSnapshotManager; import org.apache.solr.handler.RequestHandlerBase; -import org.apache.solr.handler.admin.api.AddReplicaPropertyAPI; +import org.apache.solr.handler.admin.api.AddReplicaProperty; import org.apache.solr.handler.admin.api.AdminAPIBase; import org.apache.solr.handler.admin.api.AliasPropertyAPI; import org.apache.solr.handler.admin.api.BalanceReplicasAPI; @@ -175,8 +175,8 @@ import org.apache.solr.handler.admin.api.CreateCollectionSnapshotAPI; import org.apache.solr.handler.admin.api.CreateReplicaAPI; import org.apache.solr.handler.admin.api.CreateShardAPI; -import org.apache.solr.handler.admin.api.DeleteAliasAPI; -import org.apache.solr.handler.admin.api.DeleteCollectionAPI; +import org.apache.solr.handler.admin.api.DeleteAlias; +import org.apache.solr.handler.admin.api.DeleteCollection; import org.apache.solr.handler.admin.api.DeleteCollectionBackupAPI; import org.apache.solr.handler.admin.api.DeleteCollectionSnapshotAPI; import org.apache.solr.handler.admin.api.DeleteNodeAPI; @@ -544,8 +544,8 @@ public enum CollectionOperation implements CollectionOp { DELETE, (req, rsp, h) -> { final RequiredSolrParams requiredParams = req.getParams().required(); - final DeleteCollectionAPI deleteCollectionAPI = - new DeleteCollectionAPI(h.coreContainer, req, rsp); + final DeleteCollection deleteCollectionAPI = + new DeleteCollection(h.coreContainer, req, rsp); final SolrJerseyResponse deleteCollResponse = deleteCollectionAPI.deleteCollection( requiredParams.get(NAME), @@ -624,7 +624,7 @@ public enum CollectionOperation implements CollectionOp { DELETEALIAS_OP( DELETEALIAS, (req, rsp, h) -> { - final DeleteAliasAPI deleteAliasAPI = new DeleteAliasAPI(h.coreContainer, req, rsp); + final DeleteAlias deleteAliasAPI = new DeleteAlias(h.coreContainer, req, rsp); final SolrJerseyResponse response = deleteAliasAPI.deleteAlias( req.getParams().required().get(NAME), req.getParams().get(ASYNC)); @@ -998,8 +998,8 @@ public Map execute( ? propName.substring(PROPERTY_PREFIX.length()) : propName; - final AddReplicaPropertyAPI addReplicaPropertyAPI = - new AddReplicaPropertyAPI(h.coreContainer, req, rsp); + final AddReplicaProperty addReplicaPropertyAPI = + new AddReplicaProperty(h.coreContainer, req, rsp); final SolrJerseyResponse addReplicaPropResponse = addReplicaPropertyAPI.addReplicaProperty( requiredParams.get(COLLECTION_PROP), @@ -1364,15 +1364,15 @@ public Boolean registerV2() { public Collection> getJerseyResources() { return List.of( CreateReplicaAPI.class, - AddReplicaPropertyAPI.class, + AddReplicaProperty.class, BalanceShardUniqueAPI.class, CreateAliasAPI.class, CreateCollectionAPI.class, CreateCollectionBackupAPI.class, CreateShardAPI.class, - DeleteAliasAPI.class, + DeleteAlias.class, DeleteCollectionBackupAPI.class, - DeleteCollectionAPI.class, + DeleteCollection.class, DeleteReplicaAPI.class, DeleteReplicaPropertyAPI.class, DeleteShardAPI.class, diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java similarity index 96% rename from solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java rename to solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java index ed93d9c8cd2..c9578fb50ac 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java @@ -31,7 +31,7 @@ import java.util.Locale; import java.util.Map; import javax.inject.Inject; -import org.apache.solr.api.endpoint.IAddReplicaProperty; +import org.apache.solr.api.endpoint.AddReplicaPropertyApi; import org.apache.solr.api.model.AddReplicaPropertyRequestBody; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; @@ -50,10 +50,10 @@ * *

This API is analogous to the v1 /admin/collections?action=ADDREPLICAPROP command. */ -public class AddReplicaPropertyAPI extends AdminAPIBase implements IAddReplicaProperty { +public class AddReplicaProperty extends AdminAPIBase implements AddReplicaPropertyApi { @Inject - public AddReplicaPropertyAPI( + public AddReplicaProperty( CoreContainer coreContainer, SolrQueryRequest solrQueryRequest, SolrQueryResponse solrQueryResponse) { diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java similarity index 95% rename from solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java rename to solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java index 3eafb647185..14fbc5df4c0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java @@ -28,7 +28,7 @@ import javax.inject.Inject; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; -import org.apache.solr.api.endpoint.IDeleteAlias; +import org.apache.solr.api.endpoint.DeleteAliasApi; import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; @@ -40,9 +40,9 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -public class DeleteAliasAPI extends AdminAPIBase implements IDeleteAlias { +public class DeleteAlias extends AdminAPIBase implements DeleteAliasApi { @Inject - public DeleteAliasAPI( + public DeleteAlias( CoreContainer coreContainer, SolrQueryRequest solrQueryRequest, SolrQueryResponse solrQueryResponse) { diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java similarity index 96% rename from solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java rename to solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java index 0ed1fd14da9..3a1a9495035 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java @@ -26,7 +26,7 @@ import java.util.HashMap; import java.util.Map; import javax.inject.Inject; -import org.apache.solr.api.endpoint.IDeleteCollection; +import org.apache.solr.api.endpoint.DeleteCollectionApi; import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; @@ -43,10 +43,10 @@ *

This API (DELETE /v2/collections/collectionName) is equivalent to the v1 * /admin/collections?action=DELETE command. */ -public class DeleteCollectionAPI extends AdminAPIBase implements IDeleteCollection { +public class DeleteCollection extends AdminAPIBase implements DeleteCollectionApi { @Inject - public DeleteCollectionAPI( + public DeleteCollection( CoreContainer coreContainer, SolrQueryRequest solrQueryRequest, SolrQueryResponse solrQueryResponse) { diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java index 29d472e75a9..69ad3b9a270 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java @@ -42,7 +42,7 @@ import org.junit.Test; import org.mockito.ArgumentCaptor; -/** Unit tests for {@link AddReplicaPropertyAPI} */ +/** Unit tests for {@link AddReplicaProperty} */ public class AddReplicaPropertyAPITest extends SolrTestCaseJ4 { private static final AddReplicaPropertyRequestBody ANY_REQ_BODY = @@ -54,7 +54,7 @@ public class AddReplicaPropertyAPITest extends SolrTestCaseJ4 { private SolrQueryResponse queryResponse; private ArgumentCaptor messageCapturer; - private AddReplicaPropertyAPI addReplicaPropApi; + private AddReplicaProperty addReplicaPropApi; @BeforeClass public static void ensureWorkingMockito() { @@ -77,8 +77,7 @@ public void setUp() throws Exception { queryResponse = new SolrQueryResponse(); messageCapturer = ArgumentCaptor.forClass(ZkNodeProps.class); - addReplicaPropApi = - new AddReplicaPropertyAPI(mockCoreContainer, mockQueryRequest, queryResponse); + addReplicaPropApi = new AddReplicaProperty(mockCoreContainer, mockQueryRequest, queryResponse); } @Test diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/DeleteAliasAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/DeleteAliasAPITest.java index 2dcaf14d183..dc93c29b487 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/DeleteAliasAPITest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/DeleteAliasAPITest.java @@ -25,18 +25,17 @@ import org.apache.solr.SolrTestCaseJ4; import org.junit.Test; -/** Unit tests for {@link DeleteAliasAPI}. */ +/** Unit tests for {@link DeleteAlias}. */ public class DeleteAliasAPITest extends SolrTestCaseJ4 { @Test public void testConstructsValidRemoteMessage() { - Map props = - DeleteAliasAPI.createRemoteMessage("aliasName", null).getProperties(); + Map props = DeleteAlias.createRemoteMessage("aliasName", null).getProperties(); assertEquals(2, props.size()); assertEquals("deletealias", props.get(QUEUE_OPERATION)); assertEquals("aliasName", props.get(NAME)); - props = DeleteAliasAPI.createRemoteMessage("aliasName", "asyncId").getProperties(); + props = DeleteAlias.createRemoteMessage("aliasName", "asyncId").getProperties(); assertEquals(3, props.size()); assertEquals("deletealias", props.get(QUEUE_OPERATION)); assertEquals("aliasName", props.get(NAME)); diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/DeleteCollectionAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/DeleteCollectionAPITest.java index a87dad3c900..60f2dccff19 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/DeleteCollectionAPITest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/DeleteCollectionAPITest.java @@ -29,15 +29,14 @@ import org.hamcrest.MatcherAssert; import org.junit.Test; -/** Unit tests for {@link DeleteCollectionAPI} */ +/** Unit tests for {@link DeleteCollection} */ public class DeleteCollectionAPITest extends SolrTestCaseJ4 { @Test public void testConstructsValidOverseerMessage() { // Only required properties provided { - final ZkNodeProps message = - DeleteCollectionAPI.createRemoteMessage("someCollName", null, null); + final ZkNodeProps message = DeleteCollection.createRemoteMessage("someCollName", null, null); final Map rawMessage = message.getProperties(); assertEquals(2, rawMessage.size()); MatcherAssert.assertThat(rawMessage.keySet(), containsInAnyOrder(QUEUE_OPERATION, NAME)); @@ -48,7 +47,7 @@ public void testConstructsValidOverseerMessage() { // Optional properties ('followAliases' and 'async') also provided { final ZkNodeProps message = - DeleteCollectionAPI.createRemoteMessage("someCollName", Boolean.TRUE, "someAsyncId"); + DeleteCollection.createRemoteMessage("someCollName", Boolean.TRUE, "someAsyncId"); final Map rawMessage = message.getProperties(); assertEquals(4, rawMessage.size()); MatcherAssert.assertThat( From d4ff21c160db719571b31a107c94fe00e4f39db5 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 27 Jul 2023 12:46:49 -0400 Subject: [PATCH 35/58] Fix 'check' --- .../api/src/test/org/apache/solr/model/DummyTest.java | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 solr/api/src/test/org/apache/solr/model/DummyTest.java diff --git a/solr/api/src/test/org/apache/solr/model/DummyTest.java b/solr/api/src/test/org/apache/solr/model/DummyTest.java deleted file mode 100644 index 749bd3fad76..00000000000 --- a/solr/api/src/test/org/apache/solr/model/DummyTest.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.apache.solr.model; - -import org.apache.solr.SolrTestCaseJ4; -import org.junit.Test; - -public class DummyTest extends SolrTestCaseJ4 { - @Test - public void testDummy() { - assertEquals(true, true); - } -} From 7a08b2902ddb67eead19eef0526240d50dea72d2 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 27 Jul 2023 13:01:15 -0400 Subject: [PATCH 36/58] 'check' fix 2 --- solr/api/build.gradle | 3 --- 1 file changed, 3 deletions(-) diff --git a/solr/api/build.gradle b/solr/api/build.gradle index b9dddbbf296..e95a02d5904 100644 --- a/solr/api/build.gradle +++ b/solr/api/build.gradle @@ -42,9 +42,6 @@ resolve { } dependencies { - // declare dependencies we use even though already declared by solrj-core - implementation 'org.slf4j:slf4j-api' - implementation 'jakarta.ws.rs:jakarta.ws.rs-api' implementation 'com.fasterxml.jackson.core:jackson-annotations' api 'io.swagger.core.v3:swagger-annotations' From 6b4aa896a973ad43cd826719fb50d1fd5becacb6 Mon Sep 17 00:00:00 2001 From: Houston Putman Date: Thu, 27 Jul 2023 13:09:10 -0400 Subject: [PATCH 37/58] More check fixes --- solr/api/build.gradle | 6 +----- solr/solrj/src/resources/java-template/api.mustache | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/solr/api/build.gradle b/solr/api/build.gradle index e95a02d5904..f1966e4a4ea 100644 --- a/solr/api/build.gradle +++ b/solr/api/build.gradle @@ -42,14 +42,10 @@ resolve { } dependencies { + // declare dependencies we use even though already declared by solrj-core implementation 'jakarta.ws.rs:jakarta.ws.rs-api' implementation 'com.fasterxml.jackson.core:jackson-annotations' api 'io.swagger.core.v3:swagger-annotations' - - testImplementation project(':solr:test-framework') - testImplementation project(':solr:core') - - testImplementation 'junit:junit' } artifacts { diff --git a/solr/solrj/src/resources/java-template/api.mustache b/solr/solrj/src/resources/java-template/api.mustache index 01fe24a7a5a..872e16f509d 100644 --- a/solr/solrj/src/resources/java-template/api.mustache +++ b/solr/solrj/src/resources/java-template/api.mustache @@ -68,7 +68,7 @@ public class {{classname}} { /** * Create a {{operationIdCamelCase}} request object. * - {{#requiredParams}}{{^isBodyParam}}* @param {{paramName}} {{description}}{{/isBodyParam}} + {{#requiredParams}}{{^isBodyParam}}* @param {{paramName}} Path param - {{description}}{{/isBodyParam}} {{/requiredParams}} */ public {{operationIdCamelCase}}({{#requiredParams}}{{^isBodyParam}}{{^-first}}, {{/-first}}{{{dataType}}} {{paramName}}{{/isBodyParam}}{{/requiredParams}}) { From f035a3235ad7a363fbd1c2e89192f64b703a7c0f Mon Sep 17 00:00:00 2001 From: Houston Putman Date: Thu, 27 Jul 2023 13:26:42 -0400 Subject: [PATCH 38/58] Fix log4j, and solrj generated classpath now knows its build dependency --- solr/api/build.gradle | 2 ++ solr/solrj/build.gradle | 13 +++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/solr/api/build.gradle b/solr/api/build.gradle index f1966e4a4ea..fd95370720c 100644 --- a/solr/api/build.gradle +++ b/solr/api/build.gradle @@ -43,6 +43,8 @@ resolve { dependencies { // declare dependencies we use even though already declared by solrj-core + runtimeOnly 'org.slf4j:slf4j-api' + implementation 'jakarta.ws.rs:jakarta.ws.rs-api' implementation 'com.fasterxml.jackson.core:jackson-annotations' api 'io.swagger.core.v3:swagger-annotations' diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 2fd1008d887..9e1ac7bc248 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -107,7 +107,6 @@ configurations { openApiSpecFile { canBeConsumed = false } - generatedCode } ext { @@ -117,9 +116,6 @@ ext { dependencies { openApiSpecFile(project(path: ":solr:api", configuration: "openapiSpec")) - generatedCode files("${project.generatedCodeDir}/src/main/java") { - builtBy tasks.openApiGenerate - } } /** @@ -162,11 +158,16 @@ generatedSpotlessTask.taskDependencies.getDependencies(generatedSpotlessTask).ea } generatedSpotlessTask.dependsOn tasks.openApiGenerate +/** + * Add the Generated code to the SolrJ Source paths + */ + sourceSets { main { java { - srcDir "${project.generatedCodeDir}/src/main/java" + srcDir files("${project.generatedCodeDir}/src/main/java") { + builtBy tasks.openApiGenerate + } } } } -tasks.compileJava.dependsOn(configurations.generatedCode) From f1c9b88502006caa3d15da7ad86862d2f09b6166 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 27 Jul 2023 11:26:00 -0400 Subject: [PATCH 39/58] Move SolrVersion to 'api' module SolrVersion allows Solr code to parse, compare, and manipulate version strings. It also holds a number of constants to indicate the latest and past versions. Since it's a conceptual fit for the 'api' submodule, and because our OpenAPI annotations would benefit from access to these version constants, this commit moves SolrVersion to the 'api' submodule. SolrVersion brings with it a dependency on semver4j, so this commit also adds that dep to 'api' and removes it from 'core'. --- solr/api/build.gradle | 6 +++++- .../org/apache/solr/util/SolrVersion.java | 18 +++++++--------- .../org/apache/solr/util/package-info.java | 21 +++++++++++++++++++ .../org/apache/solr/util/TestSolrVersion.java | 0 solr/core/build.gradle | 3 --- .../solr/packagemanager/PackageManager.java | 20 ++++++------------ .../solr/packagemanager/PackageUtils.java | 9 -------- .../packagemanager/RepositoryManager.java | 7 ++++--- 8 files changed, 44 insertions(+), 40 deletions(-) rename solr/{core => api}/src/java/org/apache/solr/util/SolrVersion.java (91%) create mode 100644 solr/api/src/java/org/apache/solr/util/package-info.java rename solr/{core => api}/src/test/org/apache/solr/util/TestSolrVersion.java (100%) diff --git a/solr/api/build.gradle b/solr/api/build.gradle index fd95370720c..b341cb1d4ce 100644 --- a/solr/api/build.gradle +++ b/solr/api/build.gradle @@ -42,12 +42,16 @@ resolve { } dependencies { - // declare dependencies we use even though already declared by solrj-core runtimeOnly 'org.slf4j:slf4j-api' implementation 'jakarta.ws.rs:jakarta.ws.rs-api' implementation 'com.fasterxml.jackson.core:jackson-annotations' api 'io.swagger.core.v3:swagger-annotations' + implementation 'org.semver4j:semver4j' + + testImplementation project(':solr:test-framework') + testImplementation project(':solr:core') + testImplementation 'junit:junit' } artifacts { diff --git a/solr/core/src/java/org/apache/solr/util/SolrVersion.java b/solr/api/src/java/org/apache/solr/util/SolrVersion.java similarity index 91% rename from solr/core/src/java/org/apache/solr/util/SolrVersion.java rename to solr/api/src/java/org/apache/solr/util/SolrVersion.java index 6661e9e891c..aa150297b5c 100644 --- a/solr/core/src/java/org/apache/solr/util/SolrVersion.java +++ b/solr/api/src/java/org/apache/solr/util/SolrVersion.java @@ -17,7 +17,6 @@ package org.apache.solr.util; import java.util.Locale; -import org.apache.solr.common.SolrException; import org.semver4j.Semver; /** @@ -45,6 +44,14 @@ public static SolrVersion forIntegers(int major, int minor, int patch) { return new SolrVersion(new Semver(String.format(Locale.ROOT, "%d.%d.%d", major, minor, patch))); } + /** + * Compares two versions v1 and v2. Returns negative if v1 isLessThan v2, positive if v1 + * isGreaterThan v2 and 0 if equal. + */ + public static int compareVersions(String v1, String v2) { + return new Semver(v1).compareTo(new Semver(v2)); + } + /** Return version as plain SemVer string, e.g. "9.0.1" */ @Override public String toString() { @@ -118,13 +125,4 @@ public boolean equals(Object other) { } return compareTo((SolrVersion) other) == 0; } - - public static class InvalidSemVerExpressionException extends SolrException { - public InvalidSemVerExpressionException(Exception exception, String expression) { - super( - ErrorCode.BAD_REQUEST, - String.format(Locale.ROOT, "Invalid SemVer expression: %s", expression), - exception); - } - } } diff --git a/solr/api/src/java/org/apache/solr/util/package-info.java b/solr/api/src/java/org/apache/solr/util/package-info.java new file mode 100644 index 00000000000..2bdf2f18adf --- /dev/null +++ b/solr/api/src/java/org/apache/solr/util/package-info.java @@ -0,0 +1,21 @@ +/* + * 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. + */ + +/** + * Utilities for working with Solr api interfaces and model classes. + */ +package org.apache.solr.util; \ No newline at end of file diff --git a/solr/core/src/test/org/apache/solr/util/TestSolrVersion.java b/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java similarity index 100% rename from solr/core/src/test/org/apache/solr/util/TestSolrVersion.java rename to solr/api/src/test/org/apache/solr/util/TestSolrVersion.java diff --git a/solr/core/build.gradle b/solr/core/build.gradle index 98ef6acb11c..f4b50ba1b5d 100644 --- a/solr/core/build.gradle +++ b/solr/core/build.gradle @@ -133,9 +133,6 @@ dependencies { // required for instantiating a Zookeeper server (for embedding ZK or running tests) runtimeOnly ('org.xerial.snappy:snappy-java') - // For Package Manager - implementation 'org.semver4j:semver4j' - implementation('com.jayway.jsonpath:json-path', { exclude group: "net.minidev", module: "json-smart" }) diff --git a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java index 5554d0dd022..1d909908365 100644 --- a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java +++ b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java @@ -870,7 +870,7 @@ public SolrPackageInstance getPackageInstance(String packageName, String version if (pkg.version.equals(version)) { return pkg; } - if (PackageUtils.compareVersions(latest.version, pkg.version) <= 0) { + if (SolrVersion.compareVersions(latest.version, pkg.version) <= 0) { latest = pkg; } } @@ -918,20 +918,12 @@ public void deploy( } Manifest manifest = packageInstance.manifest; - try { - if (!SolrVersion.LATEST.satisfies(manifest.versionConstraint)) { - PackageUtils.printRed( - "Version incompatible! Solr version: " - + SolrVersion.LATEST - + ", package version constraint: " - + manifest.versionConstraint); - System.exit(1); - } - } catch (SolrVersion.InvalidSemVerExpressionException ex) { + if (!SolrVersion.LATEST.satisfies(manifest.versionConstraint)) { PackageUtils.printRed( - "Error in version constraint given in package manifest: " - + manifest.versionConstraint - + ". It does not a valid SemVer expression."); + "Version incompatible! Solr version: " + + SolrVersion.LATEST + + ", package version constraint: " + + manifest.versionConstraint); System.exit(1); } diff --git a/solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java b/solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java index 97379a3a114..9d330b49bb8 100644 --- a/solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java +++ b/solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java @@ -53,7 +53,6 @@ import org.apache.solr.filestore.PackageStoreAPI; import org.apache.solr.packagemanager.SolrPackage.Manifest; import org.apache.solr.util.SolrJacksonAnnotationInspector; -import org.semver4j.Semver; public class PackageUtils { @@ -226,14 +225,6 @@ public static String resolve( return str; } - /** - * Compares two versions v1 and v2. Returns negative if v1 isLessThan v2, positive if v1 - * isGreaterThan v2 and 0 if equal. - */ - public static int compareVersions(String v1, String v2) { - return new Semver(v1).compareTo(new Semver(v2)); - } - public static String BLACK = "\u001B[30m"; public static String RED = "\u001B[31m"; public static String GREEN = "\u001B[32m"; diff --git a/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java b/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java index a480683eba6..8a929d463f4 100644 --- a/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java +++ b/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java @@ -54,6 +54,7 @@ import org.apache.solr.packagemanager.SolrPackage.SolrPackageRelease; import org.apache.solr.pkg.PackageAPI; import org.apache.solr.pkg.SolrPackageLoader; +import org.apache.solr.util.SolrVersion; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; @@ -287,7 +288,7 @@ private SolrPackageRelease getPackageRelease(String packageName, String version) return getLastPackageRelease(pkg); } for (SolrPackageRelease release : pkg.versions) { - if (PackageUtils.compareVersions(version, release.version) == 0) { + if (SolrVersion.compareVersions(version, release.version) == 0) { return release; } } @@ -310,7 +311,7 @@ private SolrPackageRelease getLastPackageRelease(SolrPackage pkg) { if (latest == null) { latest = release; } else { - if (PackageUtils.compareVersions(latest.version, release.version) < 0) { + if (SolrVersion.compareVersions(latest.version, release.version) < 0) { latest = release; } } @@ -329,7 +330,7 @@ public boolean hasPackageUpdate(String packageName) { } String installedVersion = packageManager.getPackageInstance(packageName, null).version; SolrPackageRelease last = getLastPackageRelease(packageName); - return last != null && PackageUtils.compareVersions(last.version, installedVersion) > 0; + return last != null && SolrVersion.compareVersions(last.version, installedVersion) > 0; } /** From 4173109471c11b4ecb4e26d31c47ffdf41fda6a7 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 27 Jul 2023 12:13:38 -0400 Subject: [PATCH 40/58] Fix 'check' --- solr/api/build.gradle | 1 - .../java/org/apache/solr/api/endpoint/DeleteAliasApi.java | 6 +++++- solr/api/src/java/org/apache/solr/util/package-info.java | 6 ++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/solr/api/build.gradle b/solr/api/build.gradle index b341cb1d4ce..c83114feb46 100644 --- a/solr/api/build.gradle +++ b/solr/api/build.gradle @@ -50,7 +50,6 @@ dependencies { implementation 'org.semver4j:semver4j' testImplementation project(':solr:test-framework') - testImplementation project(':solr:core') testImplementation 'junit:junit' } diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java b/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java index f23b8a3f20b..9e34943c20c 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java +++ b/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java @@ -19,6 +19,7 @@ import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; +import io.swagger.v3.oas.annotations.Parameter; import javax.ws.rs.DELETE; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @@ -32,6 +33,9 @@ public interface DeleteAliasApi { @DELETE @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) SolrJerseyResponse deleteAlias( - @PathParam("aliasName") String aliasName, @QueryParam("async") String asyncId) + @Parameter(description = "The name of the alias to delete", required = true) + @PathParam("aliasName") + String aliasName, + @QueryParam("async") String asyncId) throws Exception; } diff --git a/solr/api/src/java/org/apache/solr/util/package-info.java b/solr/api/src/java/org/apache/solr/util/package-info.java index 2bdf2f18adf..a14501f0170 100644 --- a/solr/api/src/java/org/apache/solr/util/package-info.java +++ b/solr/api/src/java/org/apache/solr/util/package-info.java @@ -15,7 +15,5 @@ * limitations under the License. */ -/** - * Utilities for working with Solr api interfaces and model classes. - */ -package org.apache.solr.util; \ No newline at end of file +/** Utilities for working with Solr api interfaces and model classes. */ +package org.apache.solr.util; From 0baaedbad16a8b4e572d268323fc2a0056573e34 Mon Sep 17 00:00:00 2001 From: Houston Putman Date: Thu, 27 Jul 2023 14:17:45 -0400 Subject: [PATCH 41/58] remove hack for task depenency --- solr/solrj/build.gradle | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 9e1ac7bc248..89bd4224e16 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -139,24 +139,21 @@ openApiGenerate { tasks.openApiGenerate.dependsOn configurations.openApiSpecFile +def generatedFiles = files("${project.generatedCodeDir}/src/main/java") { + builtBy tasks.openApiGenerate +} + /** * Setup Spotless (Code formatting) for the generated java files */ def generatedExt = new JavaExtension(spotless) project.spotlessJavaSetup.execute(generatedExt) -generatedExt.target(files("${project.generatedCodeDir}/src")) +generatedExt.target(generatedFiles) def generatedSpotlessTask = generatedExt.createIndependentApplyTask("generatedSpotless") generatedSpotlessTask.group("build") generatedSpotlessTask.description("Apply formatting for generated code") tasks.openApiGenerate.finalizedBy generatedSpotlessTask -// the generatedSpotlessTask has a super-task that we are not given, that should also depend on the code generation. -generatedSpotlessTask.taskDependencies.getDependencies(generatedSpotlessTask).each { - if (it.name.startsWith(generatedSpotlessTask.name)) { - it.dependsOn tasks.openApiGenerate - } -} -generatedSpotlessTask.dependsOn tasks.openApiGenerate /** * Add the Generated code to the SolrJ Source paths @@ -165,9 +162,7 @@ generatedSpotlessTask.dependsOn tasks.openApiGenerate sourceSets { main { java { - srcDir files("${project.generatedCodeDir}/src/main/java") { - builtBy tasks.openApiGenerate - } + srcDir generatedFiles } } } From 22f7ebf9d5d7622e607ed542c5c4f75a2460a021 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 27 Jul 2023 14:45:57 -0400 Subject: [PATCH 42/58] Resolve split packages --- solr/api/build.gradle | 4 +++- .../java/org/apache/solr/{ => v2}/api/ApiMetadata.java | 2 +- .../src/java/org/apache/solr/{ => v2}/api/Constants.java | 2 +- .../solr/{ => v2}/api/endpoint/AddReplicaPropertyApi.java | 8 ++++---- .../apache/solr/{ => v2}/api/endpoint/DeleteAliasApi.java | 6 +++--- .../solr/{ => v2}/api/endpoint/DeleteCollectionApi.java | 6 +++--- .../apache/solr/{ => v2}/api/endpoint/package-info.java | 2 +- .../{ => v2}/api/model/AddReplicaPropertyRequestBody.java | 2 +- .../solr/{ => v2}/api/model/AsyncJerseyResponse.java | 2 +- .../org/apache/solr/{ => v2}/api/model/ErrorInfo.java | 2 +- .../solr/{ => v2}/api/model/SolrJerseyResponse.java | 2 +- .../api/model/SubResponseAccumulatingJerseyResponse.java | 2 +- .../org/apache/solr/{ => v2}/api/model/package-info.java | 4 ++-- .../java/org/apache/solr/{ => v2}/api/package-info.java | 2 +- .../org/apache/solr/{ => v2/api}/util/SolrVersion.java | 2 +- .../org/apache/solr/{ => v2/api}/util/package-info.java | 2 +- .../src/test/org/apache/solr/util/TestSolrVersion.java | 1 + .../core/src/java/org/apache/solr/api/JerseyResource.java | 2 +- .../core/src/java/org/apache/solr/cli/SimplePostTool.java | 2 +- solr/core/src/java/org/apache/solr/cli/SolrCLI.java | 2 +- .../java/org/apache/solr/handler/ReplicationHandler.java | 2 +- .../org/apache/solr/handler/admin/CollectionsHandler.java | 4 ++-- .../org/apache/solr/handler/admin/ZookeeperReadAPI.java | 2 +- .../apache/solr/handler/admin/api/AddReplicaProperty.java | 6 +++--- .../org/apache/solr/handler/admin/api/AdminAPIBase.java | 2 +- .../apache/solr/handler/admin/api/AliasPropertyAPI.java | 2 +- .../apache/solr/handler/admin/api/BalanceReplicasAPI.java | 2 +- .../solr/handler/admin/api/BalanceShardUniqueAPI.java | 2 +- .../solr/handler/admin/api/CollectionPropertyAPI.java | 2 +- .../apache/solr/handler/admin/api/CoreAdminAPIBase.java | 2 +- .../apache/solr/handler/admin/api/CoreReplicationAPI.java | 2 +- .../apache/solr/handler/admin/api/CoreSnapshotAPI.java | 2 +- .../org/apache/solr/handler/admin/api/CreateAliasAPI.java | 4 ++-- .../solr/handler/admin/api/CreateCollectionAPI.java | 2 +- .../solr/handler/admin/api/CreateCollectionBackupAPI.java | 4 ++-- .../handler/admin/api/CreateCollectionSnapshotAPI.java | 2 +- .../apache/solr/handler/admin/api/CreateReplicaAPI.java | 2 +- .../org/apache/solr/handler/admin/api/CreateShardAPI.java | 2 +- .../org/apache/solr/handler/admin/api/DeleteAlias.java | 6 +++--- .../apache/solr/handler/admin/api/DeleteCollection.java | 4 ++-- .../solr/handler/admin/api/DeleteCollectionBackupAPI.java | 4 ++-- .../handler/admin/api/DeleteCollectionSnapshotAPI.java | 2 +- .../org/apache/solr/handler/admin/api/DeleteNodeAPI.java | 2 +- .../apache/solr/handler/admin/api/DeleteReplicaAPI.java | 2 +- .../solr/handler/admin/api/DeleteReplicaPropertyAPI.java | 2 +- .../org/apache/solr/handler/admin/api/DeleteShardAPI.java | 2 +- .../org/apache/solr/handler/admin/api/ForceLeaderAPI.java | 2 +- .../org/apache/solr/handler/admin/api/GetSchemaAPI.java | 2 +- .../apache/solr/handler/admin/api/GetSchemaFieldAPI.java | 2 +- .../solr/handler/admin/api/GetSchemaZkVersionAPI.java | 2 +- .../apache/solr/handler/admin/api/InstallCoreDataAPI.java | 2 +- .../solr/handler/admin/api/InstallShardDataAPI.java | 2 +- .../org/apache/solr/handler/admin/api/ListAliasesAPI.java | 2 +- .../solr/handler/admin/api/ListCollectionBackupsAPI.java | 2 +- .../handler/admin/api/ListCollectionSnapshotsAPI.java | 2 +- .../apache/solr/handler/admin/api/ListCollectionsAPI.java | 2 +- .../apache/solr/handler/admin/api/MigrateReplicasAPI.java | 2 +- .../org/apache/solr/handler/admin/api/NodeLoggingAPI.java | 2 +- .../solr/handler/admin/api/ReloadCollectionAPI.java | 2 +- .../solr/handler/admin/api/RenameCollectionAPI.java | 2 +- .../org/apache/solr/handler/admin/api/ReplaceNodeAPI.java | 2 +- .../solr/handler/admin/api/RestoreCollectionAPI.java | 4 ++-- .../org/apache/solr/handler/admin/api/SyncShardAPI.java | 2 +- .../src/java/org/apache/solr/handler/api/V2ApiUtils.java | 2 +- .../apache/solr/handler/configsets/ListConfigSetsAPI.java | 2 +- .../org/apache/solr/jersey/CatchAllExceptionMapper.java | 2 +- .../java/org/apache/solr/jersey/ExperimentalResponse.java | 2 +- .../apache/solr/jersey/PostRequestDecorationFilter.java | 2 +- .../org/apache/solr/jersey/PostRequestLoggingFilter.java | 2 +- .../java/org/apache/solr/jersey/RequestContextKeys.java | 2 +- .../org/apache/solr/jersey/RequestMetricHandling.java | 2 +- .../org/apache/solr/packagemanager/PackageManager.java | 2 +- .../org/apache/solr/packagemanager/RepositoryManager.java | 2 +- .../src/java/org/apache/solr/security/PublicKeyAPI.java | 2 +- .../org/apache/solr/servlet/CoreContainerProvider.java | 2 +- .../src/java/org/apache/solr/servlet/ResponseUtils.java | 2 +- .../solr/handler/admin/api/AddReplicaPropertyAPITest.java | 2 +- .../apache/solr/jersey/JacksonReflectMapWriterTest.java | 2 +- solr/solrj/build.gradle | 2 +- .../src/java/org/apache/solr/common/SolrException.java | 4 ++-- 80 files changed, 101 insertions(+), 98 deletions(-) rename solr/api/src/java/org/apache/solr/{ => v2}/api/ApiMetadata.java (97%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/Constants.java (96%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/endpoint/AddReplicaPropertyApi.java (90%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/endpoint/DeleteAliasApi.java (89%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/endpoint/DeleteCollectionApi.java (90%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/endpoint/package-info.java (95%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/model/AddReplicaPropertyRequestBody.java (97%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/model/AsyncJerseyResponse.java (96%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/model/ErrorInfo.java (98%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/model/SolrJerseyResponse.java (98%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/model/SubResponseAccumulatingJerseyResponse.java (98%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/model/package-info.java (92%) rename solr/api/src/java/org/apache/solr/{ => v2}/api/package-info.java (96%) rename solr/api/src/java/org/apache/solr/{ => v2/api}/util/SolrVersion.java (99%) rename solr/api/src/java/org/apache/solr/{ => v2/api}/util/package-info.java (95%) diff --git a/solr/api/build.gradle b/solr/api/build.gradle index c83114feb46..30eb2d6d6eb 100644 --- a/solr/api/build.gradle +++ b/solr/api/build.gradle @@ -49,8 +49,10 @@ dependencies { api 'io.swagger.core.v3:swagger-annotations' implementation 'org.semver4j:semver4j' + + testImplementation project(':solr:api') testImplementation project(':solr:test-framework') - testImplementation 'junit:junit' + testImplementation 'org.apache.lucene:lucene-test-framework' } artifacts { diff --git a/solr/api/src/java/org/apache/solr/api/ApiMetadata.java b/solr/api/src/java/org/apache/solr/v2/api/ApiMetadata.java similarity index 97% rename from solr/api/src/java/org/apache/solr/api/ApiMetadata.java rename to solr/api/src/java/org/apache/solr/v2/api/ApiMetadata.java index 2d9601bc66a..1dd83e68776 100644 --- a/solr/api/src/java/org/apache/solr/api/ApiMetadata.java +++ b/solr/api/src/java/org/apache/solr/v2/api/ApiMetadata.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.v2.api; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Info; diff --git a/solr/api/src/java/org/apache/solr/api/Constants.java b/solr/api/src/java/org/apache/solr/v2/api/Constants.java similarity index 96% rename from solr/api/src/java/org/apache/solr/api/Constants.java rename to solr/api/src/java/org/apache/solr/v2/api/Constants.java index 119ac38c186..ff8467cc910 100644 --- a/solr/api/src/java/org/apache/solr/api/Constants.java +++ b/solr/api/src/java/org/apache/solr/v2/api/Constants.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.v2.api; public class Constants { private Constants() { diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java b/solr/api/src/java/org/apache/solr/v2/api/endpoint/AddReplicaPropertyApi.java similarity index 90% rename from solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java rename to solr/api/src/java/org/apache/solr/v2/api/endpoint/AddReplicaPropertyApi.java index dd7f3d49071..d098fc0c11d 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java +++ b/solr/api/src/java/org/apache/solr/v2/api/endpoint/AddReplicaPropertyApi.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.api.endpoint; +package org.apache.solr.v2.api.endpoint; -import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.v2.api.Constants.BINARY_CONTENT_TYPE_V2; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -26,8 +26,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.AddReplicaPropertyRequestBody; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.v2.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.v2.api.model.SolrJerseyResponse; @Path("/collections/{collName}/shards/{shardName}/replicas/{replicaName}/properties/{propName}") public interface AddReplicaPropertyApi { diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java b/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteAliasApi.java similarity index 89% rename from solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java rename to solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteAliasApi.java index 9e34943c20c..a1e9e2f8f20 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java +++ b/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteAliasApi.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.api.endpoint; +package org.apache.solr.v2.api.endpoint; -import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.v2.api.Constants.BINARY_CONTENT_TYPE_V2; import io.swagger.v3.oas.annotations.Parameter; import javax.ws.rs.DELETE; @@ -25,7 +25,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; @Path("/aliases/{aliasName}") public interface DeleteAliasApi { diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java b/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteCollectionApi.java similarity index 90% rename from solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java rename to solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteCollectionApi.java index e93f3c86bfd..e8f6b36b801 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java +++ b/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteCollectionApi.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.api.endpoint; +package org.apache.solr.v2.api.endpoint; -import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.v2.api.Constants.BINARY_CONTENT_TYPE_V2; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -26,7 +26,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; @Path("/collections/{collectionName}") public interface DeleteCollectionApi { diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/package-info.java b/solr/api/src/java/org/apache/solr/v2/api/endpoint/package-info.java similarity index 95% rename from solr/api/src/java/org/apache/solr/api/endpoint/package-info.java rename to solr/api/src/java/org/apache/solr/v2/api/endpoint/package-info.java index 4205cd93358..4e62fb451dc 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/package-info.java +++ b/solr/api/src/java/org/apache/solr/v2/api/endpoint/package-info.java @@ -16,4 +16,4 @@ */ /** Interfaces representing individual Solr v2 APIs. */ -package org.apache.solr.api.endpoint; +package org.apache.solr.v2.api.endpoint; diff --git a/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java b/solr/api/src/java/org/apache/solr/v2/api/model/AddReplicaPropertyRequestBody.java similarity index 97% rename from solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java rename to solr/api/src/java/org/apache/solr/v2/api/model/AddReplicaPropertyRequestBody.java index 68c9421a791..65f82bfd07b 100644 --- a/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java +++ b/solr/api/src/java/org/apache/solr/v2/api/model/AddReplicaPropertyRequestBody.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.model; +package org.apache.solr.v2.api.model; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/solr/api/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java b/solr/api/src/java/org/apache/solr/v2/api/model/AsyncJerseyResponse.java similarity index 96% rename from solr/api/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java rename to solr/api/src/java/org/apache/solr/v2/api/model/AsyncJerseyResponse.java index 5e68923d853..0f4fd8b29bd 100644 --- a/solr/api/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/v2/api/model/AsyncJerseyResponse.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.model; +package org.apache.solr.v2.api.model; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java b/solr/api/src/java/org/apache/solr/v2/api/model/ErrorInfo.java similarity index 98% rename from solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java rename to solr/api/src/java/org/apache/solr/v2/api/model/ErrorInfo.java index 1b0816f9dc2..eeeb3a36d31 100644 --- a/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java +++ b/solr/api/src/java/org/apache/solr/v2/api/model/ErrorInfo.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.model; +package org.apache.solr.v2.api.model; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; diff --git a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java b/solr/api/src/java/org/apache/solr/v2/api/model/SolrJerseyResponse.java similarity index 98% rename from solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java rename to solr/api/src/java/org/apache/solr/v2/api/model/SolrJerseyResponse.java index 5a0b8491baa..519666637d8 100644 --- a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/v2/api/model/SolrJerseyResponse.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.model; +package org.apache.solr.v2.api.model; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; diff --git a/solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java b/solr/api/src/java/org/apache/solr/v2/api/model/SubResponseAccumulatingJerseyResponse.java similarity index 98% rename from solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java rename to solr/api/src/java/org/apache/solr/v2/api/model/SubResponseAccumulatingJerseyResponse.java index a46d8865848..93414c2442b 100644 --- a/solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/v2/api/model/SubResponseAccumulatingJerseyResponse.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.model; +package org.apache.solr.v2.api.model; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/solr/api/src/java/org/apache/solr/api/model/package-info.java b/solr/api/src/java/org/apache/solr/v2/api/model/package-info.java similarity index 92% rename from solr/api/src/java/org/apache/solr/api/model/package-info.java rename to solr/api/src/java/org/apache/solr/v2/api/model/package-info.java index fbd8c94579b..95c445e3c48 100644 --- a/solr/api/src/java/org/apache/solr/api/model/package-info.java +++ b/solr/api/src/java/org/apache/solr/v2/api/model/package-info.java @@ -17,6 +17,6 @@ /** * POJOs representing various inputs and outputs of the v2 APIs described in {@link - * org.apache.solr.api.endpoint} + * org.apache.solr.v2.api.endpoint} */ -package org.apache.solr.api.model; +package org.apache.solr.v2.api.model; diff --git a/solr/api/src/java/org/apache/solr/api/package-info.java b/solr/api/src/java/org/apache/solr/v2/api/package-info.java similarity index 96% rename from solr/api/src/java/org/apache/solr/api/package-info.java rename to solr/api/src/java/org/apache/solr/v2/api/package-info.java index 6f27904f36b..f87c036a457 100644 --- a/solr/api/src/java/org/apache/solr/api/package-info.java +++ b/solr/api/src/java/org/apache/solr/v2/api/package-info.java @@ -16,4 +16,4 @@ */ /** Root package for interfaces and POJOs used to describe Solr's v2 APIs */ -package org.apache.solr.api; +package org.apache.solr.v2.api; diff --git a/solr/api/src/java/org/apache/solr/util/SolrVersion.java b/solr/api/src/java/org/apache/solr/v2/api/util/SolrVersion.java similarity index 99% rename from solr/api/src/java/org/apache/solr/util/SolrVersion.java rename to solr/api/src/java/org/apache/solr/v2/api/util/SolrVersion.java index aa150297b5c..91c44616da2 100644 --- a/solr/api/src/java/org/apache/solr/util/SolrVersion.java +++ b/solr/api/src/java/org/apache/solr/v2/api/util/SolrVersion.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.util; +package org.apache.solr.v2.api.util; import java.util.Locale; import org.semver4j.Semver; diff --git a/solr/api/src/java/org/apache/solr/util/package-info.java b/solr/api/src/java/org/apache/solr/v2/api/util/package-info.java similarity index 95% rename from solr/api/src/java/org/apache/solr/util/package-info.java rename to solr/api/src/java/org/apache/solr/v2/api/util/package-info.java index a14501f0170..e613ce0df97 100644 --- a/solr/api/src/java/org/apache/solr/util/package-info.java +++ b/solr/api/src/java/org/apache/solr/v2/api/util/package-info.java @@ -16,4 +16,4 @@ */ /** Utilities for working with Solr api interfaces and model classes. */ -package org.apache.solr.util; +package org.apache.solr.v2.api.util; diff --git a/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java b/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java index 1a43e7cab71..9b4b65c54b9 100644 --- a/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java +++ b/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java @@ -17,6 +17,7 @@ package org.apache.solr.util; import org.apache.solr.SolrTestCase; +import org.apache.solr.v2.api.util.SolrVersion; import org.semver4j.SemverException; public class TestSolrVersion extends SolrTestCase { diff --git a/solr/core/src/java/org/apache/solr/api/JerseyResource.java b/solr/core/src/java/org/apache/solr/api/JerseyResource.java index 4cbf2efde9b..907585b8701 100644 --- a/solr/core/src/java/org/apache/solr/api/JerseyResource.java +++ b/solr/core/src/java/org/apache/solr/api/JerseyResource.java @@ -22,10 +22,10 @@ import java.util.function.Supplier; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.core.Context; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.jersey.CatchAllExceptionMapper; import org.apache.solr.servlet.HttpSolrCall; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * A marker parent type for all Jersey "resource" classes. diff --git a/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java b/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java index 3b2710e2451..72eb611f3aa 100644 --- a/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java +++ b/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java @@ -67,7 +67,7 @@ import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; import org.apache.solr.util.RTimer; -import org.apache.solr.util.SolrVersion; +import org.apache.solr.v2.api.util.SolrVersion; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 571d781f228..1977bfd1cd8 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -62,9 +62,9 @@ import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.util.ContentStreamBase; import org.apache.solr.common.util.NamedList; -import org.apache.solr.util.SolrVersion; import org.apache.solr.util.StartupLoggingUtils; import org.apache.solr.util.configuration.SSLConfigurationsFactory; +import org.apache.solr.v2.api.util.SolrVersion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java index c8212c56b5a..17400ad1906 100644 --- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java @@ -66,7 +66,6 @@ import org.apache.lucene.store.IndexInput; import org.apache.lucene.store.RateLimiter; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.params.CommonParams; @@ -104,6 +103,7 @@ import org.apache.solr.util.PropertiesInputStream; import org.apache.solr.util.RefCounted; import org.apache.solr.util.plugin.SolrCoreAware; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.MDC; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java index 6c057dd8c7c..782833af98f 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java @@ -122,8 +122,6 @@ import org.apache.solr.api.AnnotatedApi; import org.apache.solr.api.Api; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.AddReplicaPropertyRequestBody; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.response.RequestStatusState; @@ -207,6 +205,8 @@ import org.apache.solr.security.AuthorizationContext; import org.apache.solr.security.PermissionNameProvider; import org.apache.solr.util.tracing.TraceUtils; +import org.apache.solr.v2.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java index 4db4b9f3f48..3625600b5e8 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java @@ -36,7 +36,6 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.impl.BinaryResponseParser; import org.apache.solr.client.solrj.impl.XMLResponseParser; import org.apache.solr.common.SolrException; @@ -51,6 +50,7 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.RawResponseWriter; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.data.Stat; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java index c9578fb50ac..15ddca9667f 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java @@ -31,9 +31,6 @@ import java.util.Locale; import java.util.Map; import javax.inject.Inject; -import org.apache.solr.api.endpoint.AddReplicaPropertyApi; -import org.apache.solr.api.model.AddReplicaPropertyRequestBody; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.cloud.overseer.SliceMutator; import org.apache.solr.common.SolrException; @@ -44,6 +41,9 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.endpoint.AddReplicaPropertyApi; +import org.apache.solr.v2.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for adding a property to a collection replica diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java index 99cf4578ea4..b546ea4a26c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java @@ -21,7 +21,6 @@ import java.util.Map; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ClusterState; @@ -33,6 +32,7 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.tracing.TraceUtils; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** A common parent for "admin" (i.e. container-level) APIs. */ public abstract class AdminAPIBase extends JerseyResource { diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java index 5afb3ce3247..45bcbaaf165 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java @@ -39,7 +39,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.Aliases; @@ -52,6 +51,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** V2 APIs for managing and inspecting properties for collection aliases */ @Path("/aliases/{aliasName}/properties") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java index a1dc114c49e..4b302957c41 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java @@ -35,7 +35,6 @@ import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams.CollectionAction; @@ -45,6 +44,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** V2 API for balancing the replicas that already exist across a set of nodes. */ @Path("cluster/replicas/balance") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java index a874405a8e5..20ddb6c555b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java @@ -34,7 +34,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.cloud.overseer.SliceMutator; import org.apache.solr.common.SolrException; import org.apache.solr.common.annotation.JsonProperty; @@ -47,6 +46,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for insuring that a particular property is distributed evenly amongst the physical nodes diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java index 2c7d3656e89..fcda1044499 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java @@ -28,7 +28,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.CollectionProperties; import org.apache.solr.core.CoreContainer; @@ -36,6 +35,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for modifying collection-level properties. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java index e5d322a6afe..53a64c7a063 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java @@ -18,7 +18,6 @@ import java.util.function.Supplier; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CoreAdminHandler; @@ -27,6 +26,7 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.tracing.TraceUtils; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * A common parent for admin Core Jersey-based APIs. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java index 9d5f73a5237..0f95641c17a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java @@ -29,12 +29,12 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 APIs for inspecting and replicating indices diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java index 2e1f8b0ecc3..562c4b9e93b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java @@ -37,7 +37,6 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import org.apache.lucene.index.IndexCommit; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.core.CoreContainer; @@ -50,6 +49,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** V2 API for Creating, Listing, and Deleting Core Snapshots. */ @Path("/cores/{coreName}/snapshots") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java index 91bfa6928cc..5974b91c4c4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java @@ -47,8 +47,6 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.RoutedAliasTypes; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; @@ -70,6 +68,8 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.TimeZoneUtils; +import org.apache.solr.v2.api.model.SolrJerseyResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for creating an alias diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java index 79271eacd28..b57b2fb9079 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java @@ -61,7 +61,6 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.beans.V2ApiConstants; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; @@ -82,6 +81,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.KeeperException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java index 82bab803e79..5c3a3cf9815 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java @@ -43,8 +43,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; @@ -58,6 +56,8 @@ import org.apache.solr.jersey.SolrJacksonMapper; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.zookeeper.common.StringUtils; /** diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java index 99268b2a407..f2de687ce09 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java @@ -35,7 +35,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrZkClient; @@ -49,6 +48,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.AsyncJerseyResponse; /** V2 API for Creating Collection Snapshots. */ @Path("/collections/{collName}/snapshots") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java index 9311746163c..598c86899e9 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java @@ -51,7 +51,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -63,6 +62,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for adding a new replica to an existing shard. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java index 1dae4ea170c..924abe830a0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java @@ -47,7 +47,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ClusterState; @@ -62,6 +61,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for creating a new shard in a collection. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java index 14fbc5df4c0..d914b247c76 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java @@ -28,9 +28,6 @@ import javax.inject.Inject; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; -import org.apache.solr.api.endpoint.DeleteAliasApi; -import org.apache.solr.api.model.AsyncJerseyResponse; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -39,6 +36,9 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.endpoint.DeleteAliasApi; +import org.apache.solr.v2.api.model.AsyncJerseyResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; public class DeleteAlias extends AdminAPIBase implements DeleteAliasApi { @Inject diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java index 3a1a9495035..d5c78b48dc0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java @@ -26,8 +26,6 @@ import java.util.HashMap; import java.util.Map; import javax.inject.Inject; -import org.apache.solr.api.endpoint.DeleteCollectionApi; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -36,6 +34,8 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.endpoint.DeleteCollectionApi; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for deleting collections. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java index 38220b5b918..89fb5becdd5 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java @@ -44,8 +44,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; @@ -59,6 +57,8 @@ import org.apache.solr.jersey.SolrJacksonMapper; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API definitions for collection-backup deletion. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java index 5f30ef58b30..ff2e77c0e03 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java @@ -36,7 +36,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -46,6 +45,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.AsyncJerseyResponse; /** V2 API for Deleting Collection Snapshots. */ @Path("/collections/{collName}/snapshots") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java index b88239de2b6..5bacfa74825 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java @@ -34,7 +34,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -46,6 +45,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for deleting all replicas of all collections in one node. Please note that the node itself diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java index 19811523999..e898c94e4b4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java @@ -40,7 +40,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -51,6 +50,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 APIs for deleting one or more existing replicas from one or more shards. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java index a8aa734a076..a23f2a10b7d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java @@ -30,7 +30,6 @@ import javax.inject.Inject; import javax.ws.rs.Path; import javax.ws.rs.PathParam; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -40,6 +39,7 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for removing a property from a collection replica diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java index 2972d87a5f7..fb24b5c7b21 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java @@ -34,7 +34,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; @@ -42,6 +41,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for deleting a particular shard from its collection. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java index 5ef40c2c27a..3168522a9c4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java @@ -32,7 +32,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.cloud.ZkController; import org.apache.solr.cloud.ZkShardTerms; import org.apache.solr.common.SolrException; @@ -45,6 +44,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java index 93f6161f9fb..91fa7d7ac21 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java @@ -27,12 +27,12 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.jersey.PermissionName; import org.apache.solr.schema.IndexSchema; import org.apache.solr.security.PermissionNameProvider; +import org.apache.solr.v2.api.model.SolrJerseyResponse; @Path("/{a:cores|collections}/{collectionName}/schema") public class GetSchemaAPI extends JerseyResource { diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java index 9df213536f8..7e67854aede 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java @@ -29,7 +29,6 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.MapWriter; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrClassLoader; @@ -41,6 +40,7 @@ import org.apache.solr.pkg.PackageListeningClassLoader; import org.apache.solr.schema.IndexSchema; import org.apache.solr.security.PermissionNameProvider; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * GetSchemaFieldAPI contains the V2 APIs for all field related endpoint which are diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java index 462cf732c03..7052fab50ed 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java @@ -29,13 +29,13 @@ import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.cloud.ZkSolrResourceLoader; import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.PermissionName; import org.apache.solr.schema.ManagedIndexSchema; import org.apache.solr.schema.ZkIndexSchemaReader; import org.apache.solr.security.PermissionNameProvider; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java index 554b15a6500..297a5261c36 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java @@ -27,7 +27,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.SolrException; @@ -40,6 +39,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java index 4ce12c2b081..c6935e9e4bd 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java @@ -29,7 +29,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.cloud.api.collections.InstallShardDataCmd; import org.apache.solr.common.SolrException; @@ -45,6 +44,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java index b355f3d4561..1fb79342393 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java @@ -31,13 +31,13 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.cloud.Aliases; import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** V2 APIs for managing and inspecting collection aliases */ @Path("/aliases") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java index c741a3f3799..02228d5f696 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java @@ -38,7 +38,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; @@ -51,6 +50,7 @@ import org.apache.solr.jersey.SolrJacksonMapper; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API definitions for collection-backup "listing". diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java index a6f25e8dfe1..bb7130c3c7b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java @@ -29,7 +29,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.util.CollectionUtil; import org.apache.solr.core.CoreContainer; @@ -38,6 +37,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.AsyncJerseyResponse; /** V2 API for Listing Collection Snapshots. */ @Path("/collections/{collName}/snapshots") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java index 1adb8d05e0e..d6b4b1cdaa1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java @@ -29,12 +29,12 @@ import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.cloud.DocCollection; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for listing collections. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java index 3bc4d69fbd2..0aca2e6b2c3 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java @@ -36,7 +36,6 @@ import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; @@ -47,6 +46,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** V2 API for migrating replicas from a set of nodes to another set of nodes. */ @Path("cluster/replicas/migrate") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java index dc0b20c10c2..705b26c7c91 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java @@ -35,13 +35,13 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrException; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.logging.LogWatcher; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java index fba9c1375c4..6a8c3e77f6c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java @@ -33,7 +33,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; @@ -42,6 +41,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java index 413b031bfa0..a6d06851d5b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java @@ -34,7 +34,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -44,6 +43,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for "renaming" an existing collection diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java index d95fa8ce40a..7ad6ac9044b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java @@ -36,7 +36,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -47,6 +46,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for recreating replicas in one node (the source) on another node(s) (the target). diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java index 8abf5e8e6e0..323d9c42ce4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java @@ -46,8 +46,6 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; import org.apache.solr.common.SolrException; @@ -60,6 +58,8 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; +import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for restoring data into a collection diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java index b72400b2520..749ecfdd45a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java @@ -30,7 +30,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrClient; @@ -44,6 +43,7 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for triggering a shard-sync operation within a particular collection and shard. diff --git a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java index 9b66e11ff30..28d5d9e2bd9 100644 --- a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java +++ b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java @@ -24,12 +24,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; import java.util.Map; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.MapWriter.EntryWriter; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** Utilities helpful for common V2 API declaration tasks. */ public class V2ApiUtils { diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java index e057a474ec4..228761931b7 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java @@ -28,9 +28,9 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for adding or updating a single file within a configset. diff --git a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java index 6934689a277..0f995ebfedc 100644 --- a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java +++ b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java @@ -31,13 +31,13 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.servlet.ResponseUtils; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java b/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java index b2ddc86ba0d..27398576d81 100644 --- a/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java +++ b/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java @@ -18,7 +18,7 @@ package org.apache.solr.jersey; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * {@link SolrJerseyResponse} implementation with a warning field indicating that the format may diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java index d345c0b8ad1..ea803dee408 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java @@ -26,11 +26,11 @@ import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.SolrCore; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrRequestHandler; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java index 2003c5c0793..1315174c05e 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java @@ -38,12 +38,12 @@ import javax.ws.rs.container.ResourceInfo; import javax.ws.rs.core.Context; import javax.ws.rs.core.MultivaluedMap; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.util.CollectionUtil; import org.apache.solr.common.util.StrUtils; import org.apache.solr.core.SolrCore; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.servlet.HttpSolrCall; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.MarkerFactory; diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java index e2581ccffc1..c958faec465 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java @@ -21,7 +21,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.container.ContainerRequestContext; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.core.PluginBag; @@ -30,6 +29,7 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.security.AuthorizationContext; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * Keys used to store and retrieve values from the Jersey request context. diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java index fd2289baa66..d503be98485 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java @@ -30,10 +30,10 @@ import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.container.ResourceInfo; import javax.ws.rs.core.Context; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.PluginBag; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.request.SolrQueryRequest; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java index 1d909908365..35b6e13a030 100644 --- a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java +++ b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java @@ -61,7 +61,7 @@ import org.apache.solr.packagemanager.SolrPackage.Manifest; import org.apache.solr.packagemanager.SolrPackage.Plugin; import org.apache.solr.pkg.SolrPackageLoader; -import org.apache.solr.util.SolrVersion; +import org.apache.solr.v2.api.util.SolrVersion; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java b/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java index 8a929d463f4..be73dc87f5b 100644 --- a/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java +++ b/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java @@ -54,7 +54,7 @@ import org.apache.solr.packagemanager.SolrPackage.SolrPackageRelease; import org.apache.solr.pkg.PackageAPI; import org.apache.solr.pkg.SolrPackageLoader; -import org.apache.solr.util.SolrVersion; +import org.apache.solr.v2.api.util.SolrVersion; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java index a7d311d1788..79106b196de 100644 --- a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java +++ b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java @@ -26,8 +26,8 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.jersey.PermissionName; +import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for fetching the public key of the receiving node. diff --git a/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java b/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java index d5988f01990..ba3475e3089 100644 --- a/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java +++ b/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java @@ -72,8 +72,8 @@ import org.apache.solr.metrics.SolrMetricManager.ResolutionStrategy; import org.apache.solr.metrics.SolrMetricProducer; import org.apache.solr.servlet.RateLimitManager.Builder; -import org.apache.solr.util.SolrVersion; import org.apache.solr.util.StartupLoggingUtils; +import org.apache.solr.v2.api.util.SolrVersion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java index 5af7efc2405..c42f1fb6a24 100644 --- a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java +++ b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java @@ -19,9 +19,9 @@ import java.io.PrintWriter; import java.io.StringWriter; import org.apache.solr.api.ApiBag; -import org.apache.solr.api.model.ErrorInfo; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.NamedList; +import org.apache.solr.v2.api.model.ErrorInfo; import org.slf4j.Logger; /** Response helper methods. */ diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java index 69ad3b9a270..5fff09e84bc 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java @@ -28,7 +28,6 @@ import java.util.Map; import java.util.Optional; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.model.AddReplicaPropertyRequestBody; import org.apache.solr.cloud.OverseerSolrResponse; import org.apache.solr.cloud.api.collections.DistributedCollectionConfigSetCommandRunner; import org.apache.solr.common.SolrException; @@ -37,6 +36,7 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; +import org.apache.solr.v2.api.model.AddReplicaPropertyRequestBody; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; diff --git a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java index 5d381a8dfca..782634abeee 100644 --- a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java +++ b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java @@ -21,10 +21,10 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; import org.apache.solr.handler.api.V2ApiUtils; +import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.junit.Test; /** diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 89bd4224e16..b067a0c8c8f 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -134,7 +134,7 @@ openApiGenerate { generateModelTests = false generateApiDocumentation = false generateModelDocumentation = false - additionalProperties = ["modelPackage": "org.apache.solr.api.model"] + additionalProperties = ["modelPackage": "org.apache.solr.v2.api.model"] } tasks.openApiGenerate.dependsOn configurations.openApiSpecFile diff --git a/solr/solrj/src/java/org/apache/solr/common/SolrException.java b/solr/solrj/src/java/org/apache/solr/common/SolrException.java index 19dd6faa474..d2a68ab251e 100644 --- a/solr/solrj/src/java/org/apache/solr/common/SolrException.java +++ b/solr/solrj/src/java/org/apache/solr/common/SolrException.java @@ -16,8 +16,8 @@ */ package org.apache.solr.common; -import static org.apache.solr.api.model.ErrorInfo.ERROR_CLASS; -import static org.apache.solr.api.model.ErrorInfo.ROOT_ERROR_CLASS; +import static org.apache.solr.v2.api.model.ErrorInfo.ERROR_CLASS; +import static org.apache.solr.v2.api.model.ErrorInfo.ROOT_ERROR_CLASS; import java.util.Map; import org.apache.solr.common.util.NamedList; From d12c49860c31de9b3c9db9a9f583d70acedbbc68 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Thu, 27 Jul 2023 17:05:48 -0400 Subject: [PATCH 43/58] Misc review feedback and cleanup --- solr/api/src/java/org/apache/solr/v2/api/ApiMetadata.java | 4 ++-- .../org/apache/solr/v2/api/endpoint/DeleteAliasApi.java | 4 ++++ .../src/java/org/apache/solr/v2/api/model/ErrorInfo.java | 4 ---- solr/core/build.gradle | 4 ++-- .../org/apache/solr/jersey/CatchAllExceptionMapper.java | 1 - solr/solrj/build.gradle | 6 ++---- .../org/apache/solr/client/solrj/JacksonContentWriter.java | 4 +++- .../apache/solr/client/solrj/JacksonParsingResponse.java | 4 +--- 8 files changed, 14 insertions(+), 17 deletions(-) diff --git a/solr/api/src/java/org/apache/solr/v2/api/ApiMetadata.java b/solr/api/src/java/org/apache/solr/v2/api/ApiMetadata.java index 1dd83e68776..8c5946a2e67 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/ApiMetadata.java +++ b/solr/api/src/java/org/apache/solr/v2/api/ApiMetadata.java @@ -20,6 +20,7 @@ import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Info; import io.swagger.v3.oas.annotations.info.License; +import org.apache.solr.v2.api.util.SolrVersion; @OpenAPIDefinition( info = @@ -27,6 +28,5 @@ title = "v2 API", description = "OpenAPI spec for Solr's v2 API endpoints", license = @License(name = "ASL 2.0"), - version = "10.0.0")) // TODO Move core's SolrVersion into :solr:api and use -// SolrVersion.LATEST_STRING here instead of the hardcode. + version = SolrVersion.LATEST_STRING)) public class ApiMetadata {} diff --git a/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteAliasApi.java b/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteAliasApi.java index a1e9e2f8f20..4c4c5fbea9a 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteAliasApi.java +++ b/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteAliasApi.java @@ -19,6 +19,7 @@ import static org.apache.solr.v2.api.Constants.BINARY_CONTENT_TYPE_V2; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import javax.ws.rs.DELETE; import javax.ws.rs.Path; @@ -32,6 +33,9 @@ public interface DeleteAliasApi { @DELETE @Produces({"application/json", "application/xml", BINARY_CONTENT_TYPE_V2}) + @Operation( + summary = "Deletes an alias by its name", + tags = {"aliases"}) SolrJerseyResponse deleteAlias( @Parameter(description = "The name of the alias to delete", required = true) @PathParam("aliasName") diff --git a/solr/api/src/java/org/apache/solr/v2/api/model/ErrorInfo.java b/solr/api/src/java/org/apache/solr/v2/api/model/ErrorInfo.java index eeeb3a36d31..53a32ac6df9 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/model/ErrorInfo.java +++ b/solr/api/src/java/org/apache/solr/v2/api/model/ErrorInfo.java @@ -28,10 +28,6 @@ */ public class ErrorInfo { - // TODO These are used by some classes in 'solrj' - should we just duplicate, or should we have - // solrj rely on :solr:api directly? - // (though if so, how do we avoid pulling in jackson-annotations - is a dependency exclude - // sufficient for that?) public static final String ROOT_ERROR_CLASS = "root-error-class"; public static final String ERROR_CLASS = "error-class"; diff --git a/solr/core/build.gradle b/solr/core/build.gradle index f4b50ba1b5d..d868164cd75 100644 --- a/solr/core/build.gradle +++ b/solr/core/build.gradle @@ -31,6 +31,8 @@ dependencies { exclude group: "com.github.spotbugs", module: "spotbugs-annotations" } + implementation 'io.swagger.core.v3:swagger-annotations' + // Export these dependencies so that they're imported transitively by // other modules. @@ -69,8 +71,6 @@ dependencies { implementation 'org.glassfish.hk2.external:jakarta.inject' implementation 'jakarta.ws.rs:jakarta.ws.rs-api' implementation 'jakarta.annotation:jakarta.annotation-api' - // TODO Only remporarily re-added for POC to avoid complaints about remaining swagger annotations in core haven't moved yet - implementation 'io.swagger.core.v3:swagger-annotations' // Non-API below; although there are exceptions diff --git a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java index 0f995ebfedc..8c39102745f 100644 --- a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java +++ b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java @@ -55,7 +55,6 @@ public class CatchAllExceptionMapper implements ExceptionMapper { @Override public Response toResponse(Exception exception) { - log.error("Found exception in CatchAllExceptionMapper: ", exception); final ContainerRequestContext containerRequestContext = resourceContext.getResource(ContainerRequestContext.class); diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index b067a0c8c8f..63fa4d66879 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -28,10 +28,8 @@ import com.diffplug.gradle.spotless.JavaExtension description = 'Solrj - Solr Java Client' dependencies { - // TODO Most likely temporary, due to historical pushback on adding Jackson deps to solrj, but it does _hugely_ - // simplify the parsing code and there are new compelling reasons, given the claims around CBOR performance relative - // to JSON, javabin, etc. - implementation 'com.fasterxml.jackson.core:jackson-databind' // Came from a testImplementation line below. + // NOCOMMIT - to shade, or not to shade? + implementation 'com.fasterxml.jackson.core:jackson-databind' implementation project(":solr:api") implementation 'org.slf4j:slf4j-api' diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java index 8cf77eb3abf..8ba0c29fa6b 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonContentWriter.java @@ -24,6 +24,8 @@ public class JacksonContentWriter implements RequestWriter.ContentWriter { + public static final ObjectMapper DEFAULT_MAPPER = new ObjectMapper(); + private final Object toWrite; private final String contentType; @@ -34,7 +36,7 @@ public JacksonContentWriter(String contentType, Object toWrite) { @Override public void write(OutputStream os) throws IOException { - new ObjectMapper().writeValue(os, toWrite); + DEFAULT_MAPPER.writeValue(os, toWrite); } @Override diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java index 4ebd260b153..e33e5d2bf37 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java @@ -17,7 +17,6 @@ package org.apache.solr.client.solrj; -import com.fasterxml.jackson.databind.ObjectMapper; import java.io.InputStream; import org.apache.solr.client.solrj.response.SimpleSolrResponse; import org.apache.solr.common.util.NamedList; @@ -32,11 +31,10 @@ public JacksonParsingResponse(Class typeParam) { } public T getParsed() { - // TODO - reuse the ObjectMapper - no reason to recreate each time. final NamedList resp = getResponse(); final var stream = (InputStream) resp.get("stream"); try { - final T parsedVal = new ObjectMapper().readValue(stream, typeParam); + final T parsedVal = JacksonContentWriter.DEFAULT_MAPPER.readValue(stream, typeParam); assert ObjectReleaseTracker.release(stream); return parsedVal; } catch (Exception e) { From 6a1e8026a092c835a0d6671bc7a85f9155f2b662 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Fri, 28 Jul 2023 13:23:06 -0400 Subject: [PATCH 44/58] Remove NOCOMMIT around shading Jackson --- solr/solrj/build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 63fa4d66879..dbfd1e8463c 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -28,7 +28,6 @@ import com.diffplug.gradle.spotless.JavaExtension description = 'Solrj - Solr Java Client' dependencies { - // NOCOMMIT - to shade, or not to shade? implementation 'com.fasterxml.jackson.core:jackson-databind' implementation project(":solr:api") From 3c195a2b0987089c346e4ca15676bacbedad9f8a Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Mon, 31 Jul 2023 11:59:29 -0400 Subject: [PATCH 45/58] Revert "Resolve split packages" This reverts commit 22f7ebf9d5d7622e607ed542c5c4f75a2460a021. --- solr/api/build.gradle | 4 +--- .../java/org/apache/solr/{v2 => }/api/ApiMetadata.java | 2 +- .../src/java/org/apache/solr/{v2 => }/api/Constants.java | 2 +- .../solr/{v2 => }/api/endpoint/AddReplicaPropertyApi.java | 8 ++++---- .../apache/solr/{v2 => }/api/endpoint/DeleteAliasApi.java | 6 +++--- .../solr/{v2 => }/api/endpoint/DeleteCollectionApi.java | 6 +++--- .../apache/solr/{v2 => }/api/endpoint/package-info.java | 2 +- .../{v2 => }/api/model/AddReplicaPropertyRequestBody.java | 2 +- .../solr/{v2 => }/api/model/AsyncJerseyResponse.java | 2 +- .../org/apache/solr/{v2 => }/api/model/ErrorInfo.java | 2 +- .../solr/{v2 => }/api/model/SolrJerseyResponse.java | 2 +- .../api/model/SubResponseAccumulatingJerseyResponse.java | 2 +- .../org/apache/solr/{v2 => }/api/model/package-info.java | 4 ++-- .../java/org/apache/solr/{v2 => }/api/package-info.java | 2 +- .../org/apache/solr/{v2/api => }/util/SolrVersion.java | 2 +- .../org/apache/solr/{v2/api => }/util/package-info.java | 2 +- .../src/test/org/apache/solr/util/TestSolrVersion.java | 1 - .../core/src/java/org/apache/solr/api/JerseyResource.java | 2 +- .../core/src/java/org/apache/solr/cli/SimplePostTool.java | 2 +- solr/core/src/java/org/apache/solr/cli/SolrCLI.java | 2 +- .../java/org/apache/solr/handler/ReplicationHandler.java | 2 +- .../org/apache/solr/handler/admin/CollectionsHandler.java | 4 ++-- .../org/apache/solr/handler/admin/ZookeeperReadAPI.java | 2 +- .../apache/solr/handler/admin/api/AddReplicaProperty.java | 6 +++--- .../org/apache/solr/handler/admin/api/AdminAPIBase.java | 2 +- .../apache/solr/handler/admin/api/AliasPropertyAPI.java | 2 +- .../apache/solr/handler/admin/api/BalanceReplicasAPI.java | 2 +- .../solr/handler/admin/api/BalanceShardUniqueAPI.java | 2 +- .../solr/handler/admin/api/CollectionPropertyAPI.java | 2 +- .../apache/solr/handler/admin/api/CoreAdminAPIBase.java | 2 +- .../apache/solr/handler/admin/api/CoreReplicationAPI.java | 2 +- .../apache/solr/handler/admin/api/CoreSnapshotAPI.java | 2 +- .../org/apache/solr/handler/admin/api/CreateAliasAPI.java | 4 ++-- .../solr/handler/admin/api/CreateCollectionAPI.java | 2 +- .../solr/handler/admin/api/CreateCollectionBackupAPI.java | 4 ++-- .../handler/admin/api/CreateCollectionSnapshotAPI.java | 2 +- .../apache/solr/handler/admin/api/CreateReplicaAPI.java | 2 +- .../org/apache/solr/handler/admin/api/CreateShardAPI.java | 2 +- .../org/apache/solr/handler/admin/api/DeleteAlias.java | 6 +++--- .../apache/solr/handler/admin/api/DeleteCollection.java | 4 ++-- .../solr/handler/admin/api/DeleteCollectionBackupAPI.java | 4 ++-- .../handler/admin/api/DeleteCollectionSnapshotAPI.java | 2 +- .../org/apache/solr/handler/admin/api/DeleteNodeAPI.java | 2 +- .../apache/solr/handler/admin/api/DeleteReplicaAPI.java | 2 +- .../solr/handler/admin/api/DeleteReplicaPropertyAPI.java | 2 +- .../org/apache/solr/handler/admin/api/DeleteShardAPI.java | 2 +- .../org/apache/solr/handler/admin/api/ForceLeaderAPI.java | 2 +- .../org/apache/solr/handler/admin/api/GetSchemaAPI.java | 2 +- .../apache/solr/handler/admin/api/GetSchemaFieldAPI.java | 2 +- .../solr/handler/admin/api/GetSchemaZkVersionAPI.java | 2 +- .../apache/solr/handler/admin/api/InstallCoreDataAPI.java | 2 +- .../solr/handler/admin/api/InstallShardDataAPI.java | 2 +- .../org/apache/solr/handler/admin/api/ListAliasesAPI.java | 2 +- .../solr/handler/admin/api/ListCollectionBackupsAPI.java | 2 +- .../handler/admin/api/ListCollectionSnapshotsAPI.java | 2 +- .../apache/solr/handler/admin/api/ListCollectionsAPI.java | 2 +- .../apache/solr/handler/admin/api/MigrateReplicasAPI.java | 2 +- .../org/apache/solr/handler/admin/api/NodeLoggingAPI.java | 2 +- .../solr/handler/admin/api/ReloadCollectionAPI.java | 2 +- .../solr/handler/admin/api/RenameCollectionAPI.java | 2 +- .../org/apache/solr/handler/admin/api/ReplaceNodeAPI.java | 2 +- .../solr/handler/admin/api/RestoreCollectionAPI.java | 4 ++-- .../org/apache/solr/handler/admin/api/SyncShardAPI.java | 2 +- .../src/java/org/apache/solr/handler/api/V2ApiUtils.java | 2 +- .../apache/solr/handler/configsets/ListConfigSetsAPI.java | 2 +- .../org/apache/solr/jersey/CatchAllExceptionMapper.java | 2 +- .../java/org/apache/solr/jersey/ExperimentalResponse.java | 2 +- .../apache/solr/jersey/PostRequestDecorationFilter.java | 2 +- .../org/apache/solr/jersey/PostRequestLoggingFilter.java | 2 +- .../java/org/apache/solr/jersey/RequestContextKeys.java | 2 +- .../org/apache/solr/jersey/RequestMetricHandling.java | 2 +- .../org/apache/solr/packagemanager/PackageManager.java | 2 +- .../org/apache/solr/packagemanager/RepositoryManager.java | 2 +- .../src/java/org/apache/solr/security/PublicKeyAPI.java | 2 +- .../org/apache/solr/servlet/CoreContainerProvider.java | 2 +- .../src/java/org/apache/solr/servlet/ResponseUtils.java | 2 +- .../solr/handler/admin/api/AddReplicaPropertyAPITest.java | 2 +- .../apache/solr/jersey/JacksonReflectMapWriterTest.java | 2 +- solr/solrj/build.gradle | 2 +- .../src/java/org/apache/solr/common/SolrException.java | 4 ++-- 80 files changed, 98 insertions(+), 101 deletions(-) rename solr/api/src/java/org/apache/solr/{v2 => }/api/ApiMetadata.java (97%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/Constants.java (96%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/endpoint/AddReplicaPropertyApi.java (90%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/endpoint/DeleteAliasApi.java (90%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/endpoint/DeleteCollectionApi.java (90%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/endpoint/package-info.java (95%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/model/AddReplicaPropertyRequestBody.java (97%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/model/AsyncJerseyResponse.java (96%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/model/ErrorInfo.java (97%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/model/SolrJerseyResponse.java (98%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/model/SubResponseAccumulatingJerseyResponse.java (98%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/model/package-info.java (92%) rename solr/api/src/java/org/apache/solr/{v2 => }/api/package-info.java (96%) rename solr/api/src/java/org/apache/solr/{v2/api => }/util/SolrVersion.java (99%) rename solr/api/src/java/org/apache/solr/{v2/api => }/util/package-info.java (95%) diff --git a/solr/api/build.gradle b/solr/api/build.gradle index 30eb2d6d6eb..c83114feb46 100644 --- a/solr/api/build.gradle +++ b/solr/api/build.gradle @@ -49,10 +49,8 @@ dependencies { api 'io.swagger.core.v3:swagger-annotations' implementation 'org.semver4j:semver4j' - - testImplementation project(':solr:api') testImplementation project(':solr:test-framework') - testImplementation 'org.apache.lucene:lucene-test-framework' + testImplementation 'junit:junit' } artifacts { diff --git a/solr/api/src/java/org/apache/solr/v2/api/ApiMetadata.java b/solr/api/src/java/org/apache/solr/api/ApiMetadata.java similarity index 97% rename from solr/api/src/java/org/apache/solr/v2/api/ApiMetadata.java rename to solr/api/src/java/org/apache/solr/api/ApiMetadata.java index 8c5946a2e67..fa9fb899cd3 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/ApiMetadata.java +++ b/solr/api/src/java/org/apache/solr/api/ApiMetadata.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.v2.api; +package org.apache.solr.api; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Info; diff --git a/solr/api/src/java/org/apache/solr/v2/api/Constants.java b/solr/api/src/java/org/apache/solr/api/Constants.java similarity index 96% rename from solr/api/src/java/org/apache/solr/v2/api/Constants.java rename to solr/api/src/java/org/apache/solr/api/Constants.java index ff8467cc910..119ac38c186 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/Constants.java +++ b/solr/api/src/java/org/apache/solr/api/Constants.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.v2.api; +package org.apache.solr.api; public class Constants { private Constants() { diff --git a/solr/api/src/java/org/apache/solr/v2/api/endpoint/AddReplicaPropertyApi.java b/solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java similarity index 90% rename from solr/api/src/java/org/apache/solr/v2/api/endpoint/AddReplicaPropertyApi.java rename to solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java index d098fc0c11d..dd7f3d49071 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/endpoint/AddReplicaPropertyApi.java +++ b/solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.v2.api.endpoint; +package org.apache.solr.api.endpoint; -import static org.apache.solr.v2.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -26,8 +26,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.v2.api.model.AddReplicaPropertyRequestBody; -import org.apache.solr.v2.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.api.model.SolrJerseyResponse; @Path("/collections/{collName}/shards/{shardName}/replicas/{replicaName}/properties/{propName}") public interface AddReplicaPropertyApi { diff --git a/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteAliasApi.java b/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java similarity index 90% rename from solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteAliasApi.java rename to solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java index 4c4c5fbea9a..15ee70f570e 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteAliasApi.java +++ b/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.v2.api.endpoint; +package org.apache.solr.api.endpoint; -import static org.apache.solr.v2.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -26,7 +26,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.v2.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; @Path("/aliases/{aliasName}") public interface DeleteAliasApi { diff --git a/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteCollectionApi.java b/solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java similarity index 90% rename from solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteCollectionApi.java rename to solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java index e8f6b36b801..e93f3c86bfd 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/endpoint/DeleteCollectionApi.java +++ b/solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.v2.api.endpoint; +package org.apache.solr.api.endpoint; -import static org.apache.solr.v2.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -26,7 +26,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; @Path("/collections/{collectionName}") public interface DeleteCollectionApi { diff --git a/solr/api/src/java/org/apache/solr/v2/api/endpoint/package-info.java b/solr/api/src/java/org/apache/solr/api/endpoint/package-info.java similarity index 95% rename from solr/api/src/java/org/apache/solr/v2/api/endpoint/package-info.java rename to solr/api/src/java/org/apache/solr/api/endpoint/package-info.java index 4e62fb451dc..4205cd93358 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/endpoint/package-info.java +++ b/solr/api/src/java/org/apache/solr/api/endpoint/package-info.java @@ -16,4 +16,4 @@ */ /** Interfaces representing individual Solr v2 APIs. */ -package org.apache.solr.v2.api.endpoint; +package org.apache.solr.api.endpoint; diff --git a/solr/api/src/java/org/apache/solr/v2/api/model/AddReplicaPropertyRequestBody.java b/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java similarity index 97% rename from solr/api/src/java/org/apache/solr/v2/api/model/AddReplicaPropertyRequestBody.java rename to solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java index 65f82bfd07b..68c9421a791 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/model/AddReplicaPropertyRequestBody.java +++ b/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.v2.api.model; +package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/solr/api/src/java/org/apache/solr/v2/api/model/AsyncJerseyResponse.java b/solr/api/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java similarity index 96% rename from solr/api/src/java/org/apache/solr/v2/api/model/AsyncJerseyResponse.java rename to solr/api/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java index 0f4fd8b29bd..5e68923d853 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/model/AsyncJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.v2.api.model; +package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/solr/api/src/java/org/apache/solr/v2/api/model/ErrorInfo.java b/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java similarity index 97% rename from solr/api/src/java/org/apache/solr/v2/api/model/ErrorInfo.java rename to solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java index 53a32ac6df9..683d48dafed 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/model/ErrorInfo.java +++ b/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.v2.api.model; +package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; diff --git a/solr/api/src/java/org/apache/solr/v2/api/model/SolrJerseyResponse.java b/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java similarity index 98% rename from solr/api/src/java/org/apache/solr/v2/api/model/SolrJerseyResponse.java rename to solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java index 519666637d8..5a0b8491baa 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/model/SolrJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.v2.api.model; +package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; diff --git a/solr/api/src/java/org/apache/solr/v2/api/model/SubResponseAccumulatingJerseyResponse.java b/solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java similarity index 98% rename from solr/api/src/java/org/apache/solr/v2/api/model/SubResponseAccumulatingJerseyResponse.java rename to solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java index 93414c2442b..a46d8865848 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/model/SubResponseAccumulatingJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.v2.api.model; +package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/solr/api/src/java/org/apache/solr/v2/api/model/package-info.java b/solr/api/src/java/org/apache/solr/api/model/package-info.java similarity index 92% rename from solr/api/src/java/org/apache/solr/v2/api/model/package-info.java rename to solr/api/src/java/org/apache/solr/api/model/package-info.java index 95c445e3c48..fbd8c94579b 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/model/package-info.java +++ b/solr/api/src/java/org/apache/solr/api/model/package-info.java @@ -17,6 +17,6 @@ /** * POJOs representing various inputs and outputs of the v2 APIs described in {@link - * org.apache.solr.v2.api.endpoint} + * org.apache.solr.api.endpoint} */ -package org.apache.solr.v2.api.model; +package org.apache.solr.api.model; diff --git a/solr/api/src/java/org/apache/solr/v2/api/package-info.java b/solr/api/src/java/org/apache/solr/api/package-info.java similarity index 96% rename from solr/api/src/java/org/apache/solr/v2/api/package-info.java rename to solr/api/src/java/org/apache/solr/api/package-info.java index f87c036a457..6f27904f36b 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/package-info.java +++ b/solr/api/src/java/org/apache/solr/api/package-info.java @@ -16,4 +16,4 @@ */ /** Root package for interfaces and POJOs used to describe Solr's v2 APIs */ -package org.apache.solr.v2.api; +package org.apache.solr.api; diff --git a/solr/api/src/java/org/apache/solr/v2/api/util/SolrVersion.java b/solr/api/src/java/org/apache/solr/util/SolrVersion.java similarity index 99% rename from solr/api/src/java/org/apache/solr/v2/api/util/SolrVersion.java rename to solr/api/src/java/org/apache/solr/util/SolrVersion.java index 91c44616da2..aa150297b5c 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/util/SolrVersion.java +++ b/solr/api/src/java/org/apache/solr/util/SolrVersion.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.v2.api.util; +package org.apache.solr.util; import java.util.Locale; import org.semver4j.Semver; diff --git a/solr/api/src/java/org/apache/solr/v2/api/util/package-info.java b/solr/api/src/java/org/apache/solr/util/package-info.java similarity index 95% rename from solr/api/src/java/org/apache/solr/v2/api/util/package-info.java rename to solr/api/src/java/org/apache/solr/util/package-info.java index e613ce0df97..a14501f0170 100644 --- a/solr/api/src/java/org/apache/solr/v2/api/util/package-info.java +++ b/solr/api/src/java/org/apache/solr/util/package-info.java @@ -16,4 +16,4 @@ */ /** Utilities for working with Solr api interfaces and model classes. */ -package org.apache.solr.v2.api.util; +package org.apache.solr.util; diff --git a/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java b/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java index 9b4b65c54b9..1a43e7cab71 100644 --- a/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java +++ b/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java @@ -17,7 +17,6 @@ package org.apache.solr.util; import org.apache.solr.SolrTestCase; -import org.apache.solr.v2.api.util.SolrVersion; import org.semver4j.SemverException; public class TestSolrVersion extends SolrTestCase { diff --git a/solr/core/src/java/org/apache/solr/api/JerseyResource.java b/solr/core/src/java/org/apache/solr/api/JerseyResource.java index 907585b8701..4cbf2efde9b 100644 --- a/solr/core/src/java/org/apache/solr/api/JerseyResource.java +++ b/solr/core/src/java/org/apache/solr/api/JerseyResource.java @@ -22,10 +22,10 @@ import java.util.function.Supplier; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.core.Context; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.jersey.CatchAllExceptionMapper; import org.apache.solr.servlet.HttpSolrCall; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * A marker parent type for all Jersey "resource" classes. diff --git a/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java b/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java index 72eb611f3aa..3b2710e2451 100644 --- a/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java +++ b/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java @@ -67,7 +67,7 @@ import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; import org.apache.solr.util.RTimer; -import org.apache.solr.v2.api.util.SolrVersion; +import org.apache.solr.util.SolrVersion; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 1977bfd1cd8..571d781f228 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -62,9 +62,9 @@ import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.util.ContentStreamBase; import org.apache.solr.common.util.NamedList; +import org.apache.solr.util.SolrVersion; import org.apache.solr.util.StartupLoggingUtils; import org.apache.solr.util.configuration.SSLConfigurationsFactory; -import org.apache.solr.v2.api.util.SolrVersion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java index 17400ad1906..c8212c56b5a 100644 --- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java @@ -66,6 +66,7 @@ import org.apache.lucene.store.IndexInput; import org.apache.lucene.store.RateLimiter; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.params.CommonParams; @@ -103,7 +104,6 @@ import org.apache.solr.util.PropertiesInputStream; import org.apache.solr.util.RefCounted; import org.apache.solr.util.plugin.SolrCoreAware; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.MDC; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java index 782833af98f..6c057dd8c7c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java @@ -122,6 +122,8 @@ import org.apache.solr.api.AnnotatedApi; import org.apache.solr.api.Api; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.response.RequestStatusState; @@ -205,8 +207,6 @@ import org.apache.solr.security.AuthorizationContext; import org.apache.solr.security.PermissionNameProvider; import org.apache.solr.util.tracing.TraceUtils; -import org.apache.solr.v2.api.model.AddReplicaPropertyRequestBody; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java index 3625600b5e8..4db4b9f3f48 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java @@ -36,6 +36,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.impl.BinaryResponseParser; import org.apache.solr.client.solrj.impl.XMLResponseParser; import org.apache.solr.common.SolrException; @@ -50,7 +51,6 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.RawResponseWriter; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.data.Stat; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java index 15ddca9667f..c9578fb50ac 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java @@ -31,6 +31,9 @@ import java.util.Locale; import java.util.Map; import javax.inject.Inject; +import org.apache.solr.api.endpoint.AddReplicaPropertyApi; +import org.apache.solr.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.cloud.overseer.SliceMutator; import org.apache.solr.common.SolrException; @@ -41,9 +44,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.endpoint.AddReplicaPropertyApi; -import org.apache.solr.v2.api.model.AddReplicaPropertyRequestBody; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for adding a property to a collection replica diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java index b546ea4a26c..99cf4578ea4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java @@ -21,6 +21,7 @@ import java.util.Map; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ClusterState; @@ -32,7 +33,6 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.tracing.TraceUtils; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** A common parent for "admin" (i.e. container-level) APIs. */ public abstract class AdminAPIBase extends JerseyResource { diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java index 45bcbaaf165..5afb3ce3247 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java @@ -39,6 +39,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.Aliases; @@ -51,7 +52,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** V2 APIs for managing and inspecting properties for collection aliases */ @Path("/aliases/{aliasName}/properties") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java index 4b302957c41..a1dc114c49e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java @@ -35,6 +35,7 @@ import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams.CollectionAction; @@ -44,7 +45,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** V2 API for balancing the replicas that already exist across a set of nodes. */ @Path("cluster/replicas/balance") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java index 20ddb6c555b..a874405a8e5 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java @@ -34,6 +34,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.cloud.overseer.SliceMutator; import org.apache.solr.common.SolrException; import org.apache.solr.common.annotation.JsonProperty; @@ -46,7 +47,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for insuring that a particular property is distributed evenly amongst the physical nodes diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java index fcda1044499..2c7d3656e89 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java @@ -28,6 +28,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.CollectionProperties; import org.apache.solr.core.CoreContainer; @@ -35,7 +36,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for modifying collection-level properties. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java index 53a64c7a063..e5d322a6afe 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java @@ -18,6 +18,7 @@ import java.util.function.Supplier; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CoreAdminHandler; @@ -26,7 +27,6 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.tracing.TraceUtils; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * A common parent for admin Core Jersey-based APIs. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java index 0f95641c17a..9d5f73a5237 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java @@ -29,12 +29,12 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 APIs for inspecting and replicating indices diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java index 562c4b9e93b..2e1f8b0ecc3 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java @@ -37,6 +37,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import org.apache.lucene.index.IndexCommit; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.core.CoreContainer; @@ -49,7 +50,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** V2 API for Creating, Listing, and Deleting Core Snapshots. */ @Path("/cores/{coreName}/snapshots") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java index 5974b91c4c4..91bfa6928cc 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java @@ -47,6 +47,8 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.RoutedAliasTypes; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; @@ -68,8 +70,6 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.util.TimeZoneUtils; -import org.apache.solr.v2.api.model.SolrJerseyResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for creating an alias diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java index b57b2fb9079..79271eacd28 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java @@ -61,6 +61,7 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.beans.V2ApiConstants; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; @@ -81,7 +82,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.KeeperException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java index 5c3a3cf9815..82bab803e79 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java @@ -43,6 +43,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; @@ -56,8 +58,6 @@ import org.apache.solr.jersey.SolrJacksonMapper; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.zookeeper.common.StringUtils; /** diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java index f2de687ce09..99268b2a407 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java @@ -35,6 +35,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrZkClient; @@ -48,7 +49,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.AsyncJerseyResponse; /** V2 API for Creating Collection Snapshots. */ @Path("/collections/{collName}/snapshots") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java index 598c86899e9..9311746163c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java @@ -51,6 +51,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -62,7 +63,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for adding a new replica to an existing shard. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java index 924abe830a0..1dae4ea170c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java @@ -47,6 +47,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ClusterState; @@ -61,7 +62,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for creating a new shard in a collection. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java index d914b247c76..14fbc5df4c0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java @@ -28,6 +28,9 @@ import javax.inject.Inject; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; +import org.apache.solr.api.endpoint.DeleteAliasApi; +import org.apache.solr.api.model.AsyncJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -36,9 +39,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.endpoint.DeleteAliasApi; -import org.apache.solr.v2.api.model.AsyncJerseyResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; public class DeleteAlias extends AdminAPIBase implements DeleteAliasApi { @Inject diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java index d5c78b48dc0..3a1a9495035 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java @@ -26,6 +26,8 @@ import java.util.HashMap; import java.util.Map; import javax.inject.Inject; +import org.apache.solr.api.endpoint.DeleteCollectionApi; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -34,8 +36,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.endpoint.DeleteCollectionApi; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for deleting collections. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java index 89fb5becdd5..38220b5b918 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java @@ -44,6 +44,8 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; @@ -57,8 +59,6 @@ import org.apache.solr.jersey.SolrJacksonMapper; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API definitions for collection-backup deletion. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java index ff2e77c0e03..5f30ef58b30 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java @@ -36,6 +36,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -45,7 +46,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.AsyncJerseyResponse; /** V2 API for Deleting Collection Snapshots. */ @Path("/collections/{collName}/snapshots") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java index 5bacfa74825..b88239de2b6 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java @@ -34,6 +34,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -45,7 +46,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for deleting all replicas of all collections in one node. Please note that the node itself diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java index e898c94e4b4..19811523999 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java @@ -40,6 +40,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -50,7 +51,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 APIs for deleting one or more existing replicas from one or more shards. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java index a23f2a10b7d..a8aa734a076 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java @@ -30,6 +30,7 @@ import javax.inject.Inject; import javax.ws.rs.Path; import javax.ws.rs.PathParam; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -39,7 +40,6 @@ import org.apache.solr.handler.admin.CollectionsHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for removing a property from a collection replica diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java index fb24b5c7b21..2972d87a5f7 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java @@ -34,6 +34,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; @@ -41,7 +42,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for deleting a particular shard from its collection. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java index 3168522a9c4..5ef40c2c27a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java @@ -32,6 +32,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.cloud.ZkController; import org.apache.solr.cloud.ZkShardTerms; import org.apache.solr.common.SolrException; @@ -44,7 +45,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java index 91fa7d7ac21..93f6161f9fb 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java @@ -27,12 +27,12 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.jersey.PermissionName; import org.apache.solr.schema.IndexSchema; import org.apache.solr.security.PermissionNameProvider; -import org.apache.solr.v2.api.model.SolrJerseyResponse; @Path("/{a:cores|collections}/{collectionName}/schema") public class GetSchemaAPI extends JerseyResource { diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java index 7e67854aede..9df213536f8 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java @@ -29,6 +29,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.MapWriter; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrClassLoader; @@ -40,7 +41,6 @@ import org.apache.solr.pkg.PackageListeningClassLoader; import org.apache.solr.schema.IndexSchema; import org.apache.solr.security.PermissionNameProvider; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * GetSchemaFieldAPI contains the V2 APIs for all field related endpoint which are diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java index 7052fab50ed..462cf732c03 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java @@ -29,13 +29,13 @@ import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.cloud.ZkSolrResourceLoader; import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.PermissionName; import org.apache.solr.schema.ManagedIndexSchema; import org.apache.solr.schema.ZkIndexSchemaReader; import org.apache.solr.security.PermissionNameProvider; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java index 297a5261c36..554b15a6500 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java @@ -27,6 +27,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.SolrException; @@ -39,7 +40,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java index c6935e9e4bd..4ce12c2b081 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java @@ -29,6 +29,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.cloud.api.collections.InstallShardDataCmd; import org.apache.solr.common.SolrException; @@ -44,7 +45,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java index 1fb79342393..b355f3d4561 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java @@ -31,13 +31,13 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.cloud.Aliases; import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** V2 APIs for managing and inspecting collection aliases */ @Path("/aliases") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java index 02228d5f696..c741a3f3799 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java @@ -38,6 +38,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; @@ -50,7 +51,6 @@ import org.apache.solr.jersey.SolrJacksonMapper; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API definitions for collection-backup "listing". diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java index bb7130c3c7b..a6f25e8dfe1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java @@ -29,6 +29,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.AsyncJerseyResponse; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.util.CollectionUtil; import org.apache.solr.core.CoreContainer; @@ -37,7 +38,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.AsyncJerseyResponse; /** V2 API for Listing Collection Snapshots. */ @Path("/collections/{collName}/snapshots") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java index d6b4b1cdaa1..1adb8d05e0e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java @@ -29,12 +29,12 @@ import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.cloud.DocCollection; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for listing collections. diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java index 0aca2e6b2c3..3bc4d69fbd2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java @@ -36,6 +36,7 @@ import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; @@ -46,7 +47,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** V2 API for migrating replicas from a set of nodes to another set of nodes. */ @Path("cluster/replicas/migrate") diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java index 705b26c7c91..dc0b20c10c2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java @@ -35,13 +35,13 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrException; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; import org.apache.solr.logging.LogWatcher; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java index 6a8c3e77f6c..fba9c1375c4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java @@ -33,6 +33,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; @@ -41,7 +42,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java index a6d06851d5b..413b031bfa0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java @@ -34,6 +34,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -43,7 +44,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for "renaming" an existing collection diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java index 7ad6ac9044b..d95fa8ce40a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java @@ -36,6 +36,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; @@ -46,7 +47,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for recreating replicas in one node (the source) on another node(s) (the target). diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java index 323d9c42ce4..8abf5e8e6e0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java @@ -46,6 +46,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; import org.apache.solr.common.SolrException; @@ -58,8 +60,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; -import org.apache.solr.v2.api.model.SubResponseAccumulatingJerseyResponse; /** * V2 API for restoring data into a collection diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java index 749ecfdd45a..b72400b2520 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java @@ -30,6 +30,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrClient; @@ -43,7 +44,6 @@ import org.apache.solr.jersey.PermissionName; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for triggering a shard-sync operation within a particular collection and shard. diff --git a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java index 28d5d9e2bd9..9b66e11ff30 100644 --- a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java +++ b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java @@ -24,12 +24,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; import java.util.Map; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.MapWriter.EntryWriter; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** Utilities helpful for common V2 API declaration tasks. */ public class V2ApiUtils { diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java index 228761931b7..e057a474ec4 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java @@ -28,9 +28,9 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for adding or updating a single file within a configset. diff --git a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java index 8c39102745f..4149b082b22 100644 --- a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java +++ b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java @@ -31,13 +31,13 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.servlet.ResponseUtils; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java b/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java index 27398576d81..b2ddc86ba0d 100644 --- a/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java +++ b/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java @@ -18,7 +18,7 @@ package org.apache.solr.jersey; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.v2.api.model.SolrJerseyResponse; +import org.apache.solr.api.model.SolrJerseyResponse; /** * {@link SolrJerseyResponse} implementation with a warning field indicating that the format may diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java index ea803dee408..d345c0b8ad1 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java @@ -26,11 +26,11 @@ import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.SolrCore; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrRequestHandler; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java index 1315174c05e..2003c5c0793 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java @@ -38,12 +38,12 @@ import javax.ws.rs.container.ResourceInfo; import javax.ws.rs.core.Context; import javax.ws.rs.core.MultivaluedMap; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.util.CollectionUtil; import org.apache.solr.common.util.StrUtils; import org.apache.solr.core.SolrCore; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.servlet.HttpSolrCall; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.MarkerFactory; diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java index c958faec465..e2581ccffc1 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java @@ -21,6 +21,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.container.ContainerRequestContext; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.core.PluginBag; @@ -29,7 +30,6 @@ import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.security.AuthorizationContext; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * Keys used to store and retrieve values from the Jersey request context. diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java index d503be98485..fd2289baa66 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java @@ -30,10 +30,10 @@ import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.container.ResourceInfo; import javax.ws.rs.core.Context; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.PluginBag; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.request.SolrQueryRequest; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java index 35b6e13a030..1d909908365 100644 --- a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java +++ b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java @@ -61,7 +61,7 @@ import org.apache.solr.packagemanager.SolrPackage.Manifest; import org.apache.solr.packagemanager.SolrPackage.Plugin; import org.apache.solr.pkg.SolrPackageLoader; -import org.apache.solr.v2.api.util.SolrVersion; +import org.apache.solr.util.SolrVersion; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java b/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java index be73dc87f5b..8a929d463f4 100644 --- a/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java +++ b/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java @@ -54,7 +54,7 @@ import org.apache.solr.packagemanager.SolrPackage.SolrPackageRelease; import org.apache.solr.pkg.PackageAPI; import org.apache.solr.pkg.SolrPackageLoader; -import org.apache.solr.v2.api.util.SolrVersion; +import org.apache.solr.util.SolrVersion; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java index 79106b196de..a7d311d1788 100644 --- a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java +++ b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java @@ -26,8 +26,8 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.v2.api.model.SolrJerseyResponse; /** * V2 API for fetching the public key of the receiving node. diff --git a/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java b/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java index ba3475e3089..d5988f01990 100644 --- a/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java +++ b/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java @@ -72,8 +72,8 @@ import org.apache.solr.metrics.SolrMetricManager.ResolutionStrategy; import org.apache.solr.metrics.SolrMetricProducer; import org.apache.solr.servlet.RateLimitManager.Builder; +import org.apache.solr.util.SolrVersion; import org.apache.solr.util.StartupLoggingUtils; -import org.apache.solr.v2.api.util.SolrVersion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java index c42f1fb6a24..5af7efc2405 100644 --- a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java +++ b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java @@ -19,9 +19,9 @@ import java.io.PrintWriter; import java.io.StringWriter; import org.apache.solr.api.ApiBag; +import org.apache.solr.api.model.ErrorInfo; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.NamedList; -import org.apache.solr.v2.api.model.ErrorInfo; import org.slf4j.Logger; /** Response helper methods. */ diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java index 5fff09e84bc..69ad3b9a270 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java @@ -28,6 +28,7 @@ import java.util.Map; import java.util.Optional; import org.apache.solr.SolrTestCaseJ4; +import org.apache.solr.api.model.AddReplicaPropertyRequestBody; import org.apache.solr.cloud.OverseerSolrResponse; import org.apache.solr.cloud.api.collections.DistributedCollectionConfigSetCommandRunner; import org.apache.solr.common.SolrException; @@ -36,7 +37,6 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.v2.api.model.AddReplicaPropertyRequestBody; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; diff --git a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java index 782634abeee..5d381a8dfca 100644 --- a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java +++ b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java @@ -21,10 +21,10 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import org.apache.solr.SolrTestCaseJ4; +import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.v2.api.model.SolrJerseyResponse; import org.junit.Test; /** diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index dbfd1e8463c..2480630a989 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -131,7 +131,7 @@ openApiGenerate { generateModelTests = false generateApiDocumentation = false generateModelDocumentation = false - additionalProperties = ["modelPackage": "org.apache.solr.v2.api.model"] + additionalProperties = ["modelPackage": "org.apache.solr.api.model"] } tasks.openApiGenerate.dependsOn configurations.openApiSpecFile diff --git a/solr/solrj/src/java/org/apache/solr/common/SolrException.java b/solr/solrj/src/java/org/apache/solr/common/SolrException.java index d2a68ab251e..19dd6faa474 100644 --- a/solr/solrj/src/java/org/apache/solr/common/SolrException.java +++ b/solr/solrj/src/java/org/apache/solr/common/SolrException.java @@ -16,8 +16,8 @@ */ package org.apache.solr.common; -import static org.apache.solr.v2.api.model.ErrorInfo.ERROR_CLASS; -import static org.apache.solr.v2.api.model.ErrorInfo.ROOT_ERROR_CLASS; +import static org.apache.solr.api.model.ErrorInfo.ERROR_CLASS; +import static org.apache.solr.api.model.ErrorInfo.ROOT_ERROR_CLASS; import java.util.Map; import org.apache.solr.common.util.NamedList; From 1ad9fbca9a6155b64c51937f9fc256394931b45d Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Mon, 31 Jul 2023 12:06:10 -0400 Subject: [PATCH 46/58] Remove split package issues Prior to this commit, both 'core' and 'api' were using the 'org.apache.solr.api' package. This commit changes the core package to be 'api.framework'. (I think this resolves the problems around rendering Javadoc pages?) --- solr/api/build.gradle | 3 ++- .../java/org/apache/solr/api/ApiMetadata.java | 2 +- .../solr/api/{ => framework}/AnnotatedApi.java | 2 +- .../org/apache/solr/api/{ => framework}/Api.java | 2 +- .../apache/solr/api/{ => framework}/ApiBag.java | 2 +- .../solr/api/{ => framework}/ApiSupport.java | 2 +- .../apache/solr/api/{ => framework}/Command.java | 2 +- .../api/{ => framework}/ConfigurablePlugin.java | 2 +- .../ContainerPluginsRegistry.java | 2 +- .../CoordinatorV2HttpSolrCall.java | 2 +- .../solr/api/{ => framework}/EndPoint.java | 2 +- .../solr/api/{ => framework}/JerseyResource.java | 4 ++-- .../solr/api/{ => framework}/PayloadObj.java | 2 +- .../solr/api/{ => framework}/V2HttpCall.java | 2 +- .../solr/api/{ => framework}/package-info.java | 5 +++-- .../events/impl/ClusterEventProducerFactory.java | 16 ++++++++-------- .../placement/PlacementPluginFactory.java | 6 +++--- .../impl/PlacementPluginFactoryLoader.java | 2 +- .../org/apache/solr/core/ClusterSingletons.java | 2 +- .../java/org/apache/solr/core/CoreContainer.java | 4 ++-- .../src/java/org/apache/solr/core/PluginBag.java | 10 +++++----- .../apache/solr/filestore/PackageStoreAPI.java | 2 +- .../org/apache/solr/handler/BlobHandler.java | 4 ++-- .../java/org/apache/solr/handler/ClusterAPI.java | 6 +++--- .../apache/solr/handler/MoreLikeThisHandler.java | 4 ++-- .../apache/solr/handler/RealTimeGetHandler.java | 4 ++-- .../apache/solr/handler/ReplicationHandler.java | 2 +- .../apache/solr/handler/RequestHandlerBase.java | 6 +++--- .../org/apache/solr/handler/SchemaHandler.java | 8 ++++---- .../apache/solr/handler/SolrConfigHandler.java | 6 +++--- .../solr/handler/V2UpdateRequestHandler.java | 14 +++++++------- .../handler/admin/BaseHandlerApiSupport.java | 4 ++-- .../solr/handler/admin/CollectionsHandler.java | 6 +++--- .../solr/handler/admin/ConfigSetsHandler.java | 8 ++++---- .../solr/handler/admin/ContainerPluginsApi.java | 10 +++++----- .../solr/handler/admin/CoreAdminHandler.java | 6 +++--- .../solr/handler/admin/HealthCheckHandler.java | 4 ++-- .../apache/solr/handler/admin/InfoHandler.java | 4 ++-- .../solr/handler/admin/LoggingHandler.java | 4 ++-- .../handler/admin/PropertiesRequestHandler.java | 4 ++-- .../solr/handler/admin/SecurityConfHandler.java | 8 ++++---- .../solr/handler/admin/SystemInfoHandler.java | 4 ++-- .../solr/handler/admin/ThreadDumpHandler.java | 4 ++-- .../solr/handler/admin/api/AdminAPIBase.java | 2 +- .../handler/admin/api/AllCoresStatusAPI.java | 2 +- .../solr/handler/admin/api/CancelTaskAPI.java | 2 +- .../handler/admin/api/CollectionStatusAPI.java | 2 +- .../solr/handler/admin/api/CoreAdminAPIBase.java | 2 +- .../solr/handler/admin/api/CreateCoreAPI.java | 6 +++--- .../admin/api/GetAuthenticationConfigAPI.java | 2 +- .../admin/api/GetAuthorizationConfigAPI.java | 2 +- .../solr/handler/admin/api/GetBlobInfoAPI.java | 2 +- .../solr/handler/admin/api/GetConfigAPI.java | 2 +- .../solr/handler/admin/api/GetSchemaAPI.java | 2 +- .../handler/admin/api/GetSchemaFieldAPI.java | 2 +- .../handler/admin/api/GetSchemaZkVersionAPI.java | 2 +- .../handler/admin/api/ListActiveTasksAPI.java | 2 +- .../solr/handler/admin/api/MergeIndexesAPI.java | 6 +++--- .../solr/handler/admin/api/MigrateDocsAPI.java | 6 +++--- .../admin/api/ModifyBasicAuthConfigAPI.java | 6 +++--- .../handler/admin/api/ModifyCollectionAPI.java | 6 +++--- .../admin/api/ModifyConfigComponentAPI.java | 2 +- .../api/ModifyMultiPluginAuthConfigAPI.java | 6 +++--- .../api/ModifyNoAuthPluginSecurityConfigAPI.java | 2 +- .../ModifyNoAuthzPluginSecurityConfigAPI.java | 2 +- .../handler/admin/api/ModifyParamSetAPI.java | 2 +- .../admin/api/ModifyRuleBasedAuthConfigAPI.java | 6 +++--- .../solr/handler/admin/api/MoreLikeThisAPI.java | 2 +- .../solr/handler/admin/api/MoveReplicaAPI.java | 6 +++--- .../solr/handler/admin/api/NodeHealthAPI.java | 2 +- .../solr/handler/admin/api/NodeLoggingAPI.java | 2 +- .../handler/admin/api/NodePropertiesAPI.java | 2 +- .../handler/admin/api/NodeSystemInfoAPI.java | 2 +- .../solr/handler/admin/api/NodeThreadsAPI.java | 2 +- .../handler/admin/api/OverseerOperationAPI.java | 6 +++--- .../admin/api/PrepareCoreRecoveryAPI.java | 6 +++--- .../solr/handler/admin/api/RealTimeGetAPI.java | 2 +- .../handler/admin/api/RebalanceLeadersAPI.java | 6 +++--- .../admin/api/RejoinLeaderElectionAPI.java | 6 +++--- .../solr/handler/admin/api/ReloadCoreAPI.java | 6 +++--- .../solr/handler/admin/api/RenameCoreAPI.java | 6 +++--- .../handler/admin/api/ReplicationAPIBase.java | 2 +- .../admin/api/RequestApplyCoreUpdatesAPI.java | 6 +++--- .../admin/api/RequestBufferUpdatesAPI.java | 6 +++--- .../admin/api/RequestCoreCommandStatusAPI.java | 2 +- .../admin/api/RequestCoreRecoveryAPI.java | 6 +++--- .../handler/admin/api/RequestSyncShardAPI.java | 6 +++--- .../handler/admin/api/SchemaBulkModifyAPI.java | 2 +- .../handler/admin/api/SingleCoreStatusAPI.java | 2 +- .../solr/handler/admin/api/SplitCoreAPI.java | 6 +++--- .../solr/handler/admin/api/SplitShardAPI.java | 6 +++--- .../solr/handler/admin/api/SwapCoresAPI.java | 6 +++--- .../solr/handler/admin/api/UnloadCoreAPI.java | 6 +++--- .../apache/solr/handler/admin/api/UpdateAPI.java | 2 +- .../solr/handler/admin/api/UploadBlobAPI.java | 2 +- .../component/ActiveTasksListHandler.java | 4 ++-- .../component/QueryCancellationHandler.java | 4 ++-- .../handler/configsets/CreateConfigSetAPI.java | 6 +++--- .../handler/configsets/DeleteConfigSetAPI.java | 2 +- .../handler/configsets/ListConfigSetsAPI.java | 2 +- .../handler/configsets/UploadConfigSetAPI.java | 2 +- .../configsets/UploadConfigSetFileAPI.java | 2 +- .../solr/handler/designer/SchemaDesignerAPI.java | 2 +- .../solr/jersey/MediaTypeOverridingFilter.java | 2 +- .../solr/jersey/NotFoundExceptionMapper.java | 2 +- .../org/apache/solr/jersey/PermissionName.java | 2 +- .../src/java/org/apache/solr/pkg/PackageAPI.java | 6 +++--- .../solr/request/SolrQueryRequestBase.java | 2 +- .../apache/solr/security/MultiAuthPlugin.java | 4 ++-- .../org/apache/solr/security/PublicKeyAPI.java | 2 +- .../apache/solr/security/PublicKeyHandler.java | 4 ++-- .../RuleBasedAuthorizationPluginBase.java | 4 ++-- .../security/Sha256AuthenticationProvider.java | 4 ++-- .../solr/servlet/CoordinatorHttpSolrCall.java | 2 +- .../org/apache/solr/servlet/HttpSolrCall.java | 4 ++-- .../org/apache/solr/servlet/ResponseUtils.java | 2 +- .../apache/solr/servlet/SolrDispatchFilter.java | 2 +- .../apache/solr/servlet/SolrRequestParsers.java | 2 +- .../src/test-files/runtimecode/MyPlugin.java.txt | 4 ++-- .../api/{ => framework}/JerseyResourceTest.java | 4 ++-- .../TestEmbeddedSolrServerSchemaAPI.java | 2 +- .../org/apache/solr/cloud/TestConfigSetsAPI.java | 2 +- .../apache/solr/handler/TestContainerPlugin.java | 8 ++++---- .../solr/handler/V2ClusterAPIMappingTest.java | 4 ++-- .../solr/handler/V2UpdateAPIMappingTest.java | 4 ++-- .../solr/handler/admin/TestApiFramework.java | 16 ++++++++-------- .../solr/handler/admin/TestCollectionAPIs.java | 4 ++-- .../solr/handler/admin/TestCoreAdminApis.java | 4 ++-- .../solr/handler/admin/V2ApiMappingTest.java | 6 +++--- .../solr/handler/admin/V2BlobAPIMappingTest.java | 2 +- .../handler/admin/V2ConfigAPIMappingTest.java | 2 +- .../handler/admin/V2SecurityAPIMappingTest.java | 6 +++--- .../handler/admin/api/V2NodeAPIMappingTest.java | 4 ++-- .../apache/solr/security/jwt/JWTAuthPlugin.java | 4 ++-- .../jwt/api/ModifyJWTAuthPluginConfigAPI.java | 6 +++--- .../jwt/api/V2JWTSecurityApiMappingTest.java | 6 +++--- .../solr/client/solrj/request/SchemaTest.java | 2 +- .../apache/solr/common/util/TestPathTrie.java | 2 +- 138 files changed, 276 insertions(+), 274 deletions(-) rename solr/core/src/java/org/apache/solr/api/{ => framework}/AnnotatedApi.java (99%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/Api.java (98%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/ApiBag.java (99%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/ApiSupport.java (97%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/Command.java (96%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/ConfigurablePlugin.java (96%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/ContainerPluginsRegistry.java (99%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/CoordinatorV2HttpSolrCall.java (98%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/EndPoint.java (97%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/JerseyResource.java (98%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/PayloadObj.java (97%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/V2HttpCall.java (99%) rename solr/core/src/java/org/apache/solr/api/{ => framework}/package-info.java (87%) rename solr/core/src/test/org/apache/solr/api/{ => framework}/JerseyResourceTest.java (96%) diff --git a/solr/api/build.gradle b/solr/api/build.gradle index c83114feb46..f61977993af 100644 --- a/solr/api/build.gradle +++ b/solr/api/build.gradle @@ -50,7 +50,8 @@ dependencies { implementation 'org.semver4j:semver4j' testImplementation project(':solr:test-framework') - testImplementation 'junit:junit' + testImplementation project(':solr:api') + testImplementation 'org.apache.lucene:lucene-test-framework' } artifacts { diff --git a/solr/api/src/java/org/apache/solr/api/ApiMetadata.java b/solr/api/src/java/org/apache/solr/api/ApiMetadata.java index fa9fb899cd3..bd7462d261f 100644 --- a/solr/api/src/java/org/apache/solr/api/ApiMetadata.java +++ b/solr/api/src/java/org/apache/solr/api/ApiMetadata.java @@ -20,7 +20,7 @@ import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Info; import io.swagger.v3.oas.annotations.info.License; -import org.apache.solr.v2.api.util.SolrVersion; +import org.apache.solr.util.SolrVersion; @OpenAPIDefinition( info = diff --git a/solr/core/src/java/org/apache/solr/api/AnnotatedApi.java b/solr/core/src/java/org/apache/solr/api/framework/AnnotatedApi.java similarity index 99% rename from solr/core/src/java/org/apache/solr/api/AnnotatedApi.java rename to solr/core/src/java/org/apache/solr/api/framework/AnnotatedApi.java index 7ec6ab6a919..d1452eec685 100644 --- a/solr/core/src/java/org/apache/solr/api/AnnotatedApi.java +++ b/solr/core/src/java/org/apache/solr/api/framework/AnnotatedApi.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.MapperFeature; diff --git a/solr/core/src/java/org/apache/solr/api/Api.java b/solr/core/src/java/org/apache/solr/api/framework/Api.java similarity index 98% rename from solr/core/src/java/org/apache/solr/api/Api.java rename to solr/core/src/java/org/apache/solr/api/framework/Api.java index 54010912ae2..386c26b39af 100644 --- a/solr/core/src/java/org/apache/solr/api/Api.java +++ b/solr/core/src/java/org/apache/solr/api/framework/Api.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import java.util.Map; import org.apache.solr.common.SpecProvider; diff --git a/solr/core/src/java/org/apache/solr/api/ApiBag.java b/solr/core/src/java/org/apache/solr/api/framework/ApiBag.java similarity index 99% rename from solr/core/src/java/org/apache/solr/api/ApiBag.java rename to solr/core/src/java/org/apache/solr/api/framework/ApiBag.java index 48359f783b1..2f5bdc9c6ac 100644 --- a/solr/core/src/java/org/apache/solr/api/ApiBag.java +++ b/solr/core/src/java/org/apache/solr/api/framework/ApiBag.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import static org.apache.solr.client.solrj.SolrRequest.SUPPORTED_METHODS; import static org.apache.solr.common.params.CommonParams.NAME; diff --git a/solr/core/src/java/org/apache/solr/api/ApiSupport.java b/solr/core/src/java/org/apache/solr/api/framework/ApiSupport.java similarity index 97% rename from solr/core/src/java/org/apache/solr/api/ApiSupport.java rename to solr/core/src/java/org/apache/solr/api/framework/ApiSupport.java index efeffcad773..6b461a16b3b 100644 --- a/solr/core/src/java/org/apache/solr/api/ApiSupport.java +++ b/solr/core/src/java/org/apache/solr/api/framework/ApiSupport.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import java.util.Collection; import java.util.Collections; diff --git a/solr/core/src/java/org/apache/solr/api/Command.java b/solr/core/src/java/org/apache/solr/api/framework/Command.java similarity index 96% rename from solr/core/src/java/org/apache/solr/api/Command.java rename to solr/core/src/java/org/apache/solr/api/framework/Command.java index 61aca7c82d6..2ec8eabeb9d 100644 --- a/solr/core/src/java/org/apache/solr/api/Command.java +++ b/solr/core/src/java/org/apache/solr/api/framework/Command.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/solr/core/src/java/org/apache/solr/api/ConfigurablePlugin.java b/solr/core/src/java/org/apache/solr/api/framework/ConfigurablePlugin.java similarity index 96% rename from solr/core/src/java/org/apache/solr/api/ConfigurablePlugin.java rename to solr/core/src/java/org/apache/solr/api/framework/ConfigurablePlugin.java index 6ce06c28fea..04eddbe1a17 100644 --- a/solr/core/src/java/org/apache/solr/api/ConfigurablePlugin.java +++ b/solr/core/src/java/org/apache/solr/api/framework/ConfigurablePlugin.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import org.apache.solr.common.MapWriter; diff --git a/solr/core/src/java/org/apache/solr/api/ContainerPluginsRegistry.java b/solr/core/src/java/org/apache/solr/api/framework/ContainerPluginsRegistry.java similarity index 99% rename from solr/core/src/java/org/apache/solr/api/ContainerPluginsRegistry.java rename to solr/core/src/java/org/apache/solr/api/framework/ContainerPluginsRegistry.java index 3fea96c2ba8..8f4789d9fcc 100644 --- a/solr/core/src/java/org/apache/solr/api/ContainerPluginsRegistry.java +++ b/solr/core/src/java/org/apache/solr/api/framework/ContainerPluginsRegistry.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import static org.apache.lucene.util.IOUtils.closeWhileHandlingException; diff --git a/solr/core/src/java/org/apache/solr/api/CoordinatorV2HttpSolrCall.java b/solr/core/src/java/org/apache/solr/api/framework/CoordinatorV2HttpSolrCall.java similarity index 98% rename from solr/core/src/java/org/apache/solr/api/CoordinatorV2HttpSolrCall.java rename to solr/core/src/java/org/apache/solr/api/framework/CoordinatorV2HttpSolrCall.java index f29d2407022..463f77d0e79 100644 --- a/solr/core/src/java/org/apache/solr/api/CoordinatorV2HttpSolrCall.java +++ b/solr/core/src/java/org/apache/solr/api/framework/CoordinatorV2HttpSolrCall.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; diff --git a/solr/core/src/java/org/apache/solr/api/EndPoint.java b/solr/core/src/java/org/apache/solr/api/framework/EndPoint.java similarity index 97% rename from solr/core/src/java/org/apache/solr/api/EndPoint.java rename to solr/core/src/java/org/apache/solr/api/framework/EndPoint.java index 0c1ae6605be..23904747002 100644 --- a/solr/core/src/java/org/apache/solr/api/EndPoint.java +++ b/solr/core/src/java/org/apache/solr/api/framework/EndPoint.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/solr/core/src/java/org/apache/solr/api/JerseyResource.java b/solr/core/src/java/org/apache/solr/api/framework/JerseyResource.java similarity index 98% rename from solr/core/src/java/org/apache/solr/api/JerseyResource.java rename to solr/core/src/java/org/apache/solr/api/framework/JerseyResource.java index 4cbf2efde9b..69147b09b57 100644 --- a/solr/core/src/java/org/apache/solr/api/JerseyResource.java +++ b/solr/core/src/java/org/apache/solr/api/framework/JerseyResource.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import static org.apache.solr.jersey.RequestContextKeys.SOLR_JERSEY_RESPONSE; diff --git a/solr/core/src/java/org/apache/solr/api/PayloadObj.java b/solr/core/src/java/org/apache/solr/api/framework/PayloadObj.java similarity index 97% rename from solr/core/src/java/org/apache/solr/api/PayloadObj.java rename to solr/core/src/java/org/apache/solr/api/framework/PayloadObj.java index 7e908a6a31c..ab693094030 100644 --- a/solr/core/src/java/org/apache/solr/api/PayloadObj.java +++ b/solr/core/src/java/org/apache/solr/api/framework/PayloadObj.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import org.apache.solr.common.util.CommandOperation; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/api/V2HttpCall.java b/solr/core/src/java/org/apache/solr/api/framework/V2HttpCall.java similarity index 99% rename from solr/core/src/java/org/apache/solr/api/V2HttpCall.java rename to solr/core/src/java/org/apache/solr/api/framework/V2HttpCall.java index 46c66e403df..c2860d22bff 100644 --- a/solr/core/src/java/org/apache/solr/api/V2HttpCall.java +++ b/solr/core/src/java/org/apache/solr/api/framework/V2HttpCall.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import static org.apache.solr.common.cloud.ZkStateReader.COLLECTION_PROP; import static org.apache.solr.servlet.SolrDispatchFilter.Action.ADMIN; diff --git a/solr/core/src/java/org/apache/solr/api/package-info.java b/solr/core/src/java/org/apache/solr/api/framework/package-info.java similarity index 87% rename from solr/core/src/java/org/apache/solr/api/package-info.java rename to solr/core/src/java/org/apache/solr/api/framework/package-info.java index 6e4ddf95a8f..c091c9f58ec 100644 --- a/solr/core/src/java/org/apache/solr/api/package-info.java +++ b/solr/core/src/java/org/apache/solr/api/framework/package-info.java @@ -14,5 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/** Commonly used classes for Solr V2 API. */ -package org.apache.solr.api; + +/** Classes used to implement Solr's legacy (non-JAX-RS) v2 API framework. */ +package org.apache.solr.api.framework; diff --git a/solr/core/src/java/org/apache/solr/cluster/events/impl/ClusterEventProducerFactory.java b/solr/core/src/java/org/apache/solr/cluster/events/impl/ClusterEventProducerFactory.java index a022f9c20c4..35da4bcb11e 100644 --- a/solr/core/src/java/org/apache/solr/cluster/events/impl/ClusterEventProducerFactory.java +++ b/solr/core/src/java/org/apache/solr/cluster/events/impl/ClusterEventProducerFactory.java @@ -18,7 +18,8 @@ import java.lang.invoke.MethodHandles; import java.util.Set; -import org.apache.solr.api.ContainerPluginsRegistry; +import org.apache.solr.api.framework.ContainerPluginsRegistry; +import org.apache.solr.api.framework.ContainerPluginsRegistry.PluginRegistryListener; import org.apache.solr.cluster.events.ClusterEvent; import org.apache.solr.cluster.events.ClusterEventListener; import org.apache.solr.cluster.events.ClusterEventProducer; @@ -35,7 +36,7 @@ public class ClusterEventProducerFactory extends ClusterEventProducerBase { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - private ContainerPluginsRegistry.PluginRegistryListener initialPluginListener; + private PluginRegistryListener initialPluginListener; private boolean created = false; public ClusterEventProducerFactory(CoreContainer cc) { @@ -43,7 +44,7 @@ public ClusterEventProducerFactory(CoreContainer cc) { // this initial listener is used only for capturing plugin registrations // done by other nodes while this CoreContainer is still loading initialPluginListener = - new ContainerPluginsRegistry.PluginRegistryListener() { + new PluginRegistryListener() { @Override public void added(ContainerPluginsRegistry.ApiInfo plugin) { if (plugin == null || plugin.getInstance() == null) { @@ -86,7 +87,7 @@ public Set getSupportedEventTypes() { * * @return initial listener */ - public ContainerPluginsRegistry.PluginRegistryListener getPluginRegistryListener() { + public PluginRegistryListener getPluginRegistryListener() { return initialPluginListener; } @@ -95,8 +96,7 @@ public ContainerPluginsRegistry.PluginRegistryListener getPluginRegistryListener * *

NOTE: this method can only be called once because it has side-effects, such as transferring * the initially collected listeners to the resulting producer's instance, and installing a {@link - * org.apache.solr.api.ContainerPluginsRegistry.PluginRegistryListener}. Calling this method more - * than once will result in an exception. + * PluginRegistryListener}. Calling this method more than once will result in an exception. * * @param plugins current plugin configurations * @return configured instance of cluster event producer (with side-effects, see above) @@ -125,8 +125,8 @@ public DelegatingClusterEventProducer create(ContainerPluginsRegistry plugins) { // install plugin registry listener that maintains plugin-based listeners in // the event producer impl - ContainerPluginsRegistry.PluginRegistryListener pluginListener = - new ContainerPluginsRegistry.PluginRegistryListener() { + PluginRegistryListener pluginListener = + new PluginRegistryListener() { @Override public void added(ContainerPluginsRegistry.ApiInfo plugin) { if (plugin == null || plugin.getInstance() == null) { diff --git a/solr/core/src/java/org/apache/solr/cluster/placement/PlacementPluginFactory.java b/solr/core/src/java/org/apache/solr/cluster/placement/PlacementPluginFactory.java index 212c92906dd..b08e8121c62 100644 --- a/solr/core/src/java/org/apache/solr/cluster/placement/PlacementPluginFactory.java +++ b/solr/core/src/java/org/apache/solr/cluster/placement/PlacementPluginFactory.java @@ -17,7 +17,7 @@ package org.apache.solr.cluster.placement; -import org.apache.solr.api.ConfigurablePlugin; +import org.apache.solr.api.framework.ConfigurablePlugin; import org.apache.solr.cluster.placement.plugins.SimplePlacementFactory; /** @@ -25,8 +25,8 @@ * org.apache.solr.handler.admin.ContainerPluginsApi#editAPI}) allowing the creation of instances of * {@link PlacementPlugin} to be used for replica placement computation. * - *

Note: configurable factory implementations should also implement {@link - * org.apache.solr.api.ConfigurablePlugin} with the appropriate configuration bean type. + *

Note: configurable factory implementations should also implement {@link ConfigurablePlugin} + * with the appropriate configuration bean type. */ public interface PlacementPluginFactory extends ConfigurablePlugin { diff --git a/solr/core/src/java/org/apache/solr/cluster/placement/impl/PlacementPluginFactoryLoader.java b/solr/core/src/java/org/apache/solr/cluster/placement/impl/PlacementPluginFactoryLoader.java index 0728c8c221c..e94d8da0135 100644 --- a/solr/core/src/java/org/apache/solr/cluster/placement/impl/PlacementPluginFactoryLoader.java +++ b/solr/core/src/java/org/apache/solr/cluster/placement/impl/PlacementPluginFactoryLoader.java @@ -18,7 +18,7 @@ package org.apache.solr.cluster.placement.impl; import java.lang.invoke.MethodHandles; -import org.apache.solr.api.ContainerPluginsRegistry; +import org.apache.solr.api.framework.ContainerPluginsRegistry; import org.apache.solr.client.solrj.request.beans.PluginMeta; import org.apache.solr.cluster.placement.PlacementPluginConfig; import org.apache.solr.cluster.placement.PlacementPluginFactory; diff --git a/solr/core/src/java/org/apache/solr/core/ClusterSingletons.java b/solr/core/src/java/org/apache/solr/core/ClusterSingletons.java index 6e2c0417818..cf2d562b142 100644 --- a/solr/core/src/java/org/apache/solr/core/ClusterSingletons.java +++ b/solr/core/src/java/org/apache/solr/core/ClusterSingletons.java @@ -25,7 +25,7 @@ import java.util.concurrent.TimeoutException; import java.util.function.Consumer; import java.util.function.Supplier; -import org.apache.solr.api.ContainerPluginsRegistry; +import org.apache.solr.api.framework.ContainerPluginsRegistry; import org.apache.solr.cloud.ClusterSingleton; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java index f223f41e36f..f3245750120 100644 --- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java +++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java @@ -66,8 +66,8 @@ import org.apache.lucene.index.IndexWriter; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.store.Directory; -import org.apache.solr.api.ContainerPluginsRegistry; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.ContainerPluginsRegistry; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.client.solrj.impl.HttpClientUtil; import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder; import org.apache.solr.client.solrj.impl.SolrHttpClientContextBuilder; diff --git a/solr/core/src/java/org/apache/solr/core/PluginBag.java b/solr/core/src/java/org/apache/solr/core/PluginBag.java index c70bdd4af9d..5b32da19eac 100644 --- a/solr/core/src/java/org/apache/solr/core/PluginBag.java +++ b/solr/core/src/java/org/apache/solr/core/PluginBag.java @@ -17,7 +17,7 @@ package org.apache.solr.core; import static java.util.Collections.singletonMap; -import static org.apache.solr.api.ApiBag.HANDLER_NAME; +import static org.apache.solr.api.framework.ApiBag.HANDLER_NAME; import java.io.IOException; import java.lang.invoke.MethodHandles; @@ -34,10 +34,10 @@ import java.util.stream.Collectors; import org.apache.lucene.util.ResourceLoader; import org.apache.lucene.util.ResourceLoaderAware; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; -import org.apache.solr.api.ApiSupport; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.framework.ApiSupport; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.StrUtils; import org.apache.solr.handler.RequestHandlerBase; diff --git a/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java b/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java index eb87c1a8e29..2e42831a1ab 100644 --- a/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java +++ b/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java @@ -35,7 +35,7 @@ import java.util.function.Consumer; import java.util.function.Supplier; import org.apache.commons.codec.digest.DigestUtils; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.common.MapWriter; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/BlobHandler.java b/solr/core/src/java/org/apache/solr/handler/BlobHandler.java index 727eb1252df..028fbbb4284 100644 --- a/solr/core/src/java/org/apache/solr/handler/BlobHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/BlobHandler.java @@ -42,8 +42,8 @@ import org.apache.lucene.search.TermQuery; import org.apache.lucene.search.TopDocs; import org.apache.lucene.search.TopFieldDocs; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.cli.SimplePostTool; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrInputDocument; diff --git a/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java b/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java index e161d55e5b3..c8cb3257c36 100644 --- a/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java @@ -39,9 +39,9 @@ import java.util.Map; import java.util.NoSuchElementException; import java.util.Set; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.cloud.DistribStateManager; import org.apache.solr.client.solrj.request.beans.ClusterPropPayload; import org.apache.solr.client.solrj.request.beans.RateLimiterPayload; diff --git a/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java b/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java index 155ba9ea075..4bbbc5895d6 100644 --- a/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java @@ -37,8 +37,8 @@ import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; import org.apache.lucene.util.CharsRefBuilder; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.FacetParams; diff --git a/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java b/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java index 5f1d0460090..947abd270f5 100644 --- a/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java @@ -19,8 +19,8 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.handler.admin.api.RealTimeGetAPI; import org.apache.solr.handler.component.HttpShardHandler; import org.apache.solr.handler.component.RealTimeGetComponent; diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java index c8212c56b5a..7650c5acd29 100644 --- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java @@ -65,7 +65,7 @@ import org.apache.lucene.store.IOContext; import org.apache.lucene.store.IndexInput; import org.apache.lucene.store.RateLimiter; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; diff --git a/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java b/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java index 3a3c89f2b8a..a42396cada7 100644 --- a/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java +++ b/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java @@ -24,9 +24,9 @@ import java.lang.invoke.MethodHandles; import java.util.Collection; import java.util.Collections; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; -import org.apache.solr.api.ApiSupport; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.framework.ApiSupport; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.NamedList; diff --git a/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java b/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java index 58a2ad1890a..b5200417c61 100644 --- a/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java @@ -32,10 +32,10 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.MapSolrParams; import org.apache.solr.common.params.SolrParams; diff --git a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java index 763ed3c11ab..992a6b98e04 100644 --- a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java @@ -51,9 +51,9 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/V2UpdateRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/V2UpdateRequestHandler.java index d4bbae9b7b6..d47ab768884 100644 --- a/solr/core/src/java/org/apache/solr/handler/V2UpdateRequestHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/V2UpdateRequestHandler.java @@ -18,8 +18,9 @@ package org.apache.solr.handler; import java.util.Collection; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.handler.admin.api.UpdateAPI; /** @@ -27,11 +28,10 @@ * *

At core-load time, Solr looks at each 'plugin' in ImplicitPlugins.json, fetches the v2 {@link * Api} implementations associated with each RequestHandler, and registers them in an {@link - * org.apache.solr.api.ApiBag}. Since UpdateRequestHandler is mentioned multiple times in - * ImplicitPlugins.json (once for each update API: /update, /update/json, etc.), this would cause - * the v2 APIs to be registered in duplicate. To avoid this, Solr has this RequestHandler, whose - * only purpose is to register the v2 APIs that conceptually should be associated with - * UpdateRequestHandler. + * ApiBag}. Since UpdateRequestHandler is mentioned multiple times in ImplicitPlugins.json (once for + * each update API: /update, /update/json, etc.), this would cause the v2 APIs to be registered in + * duplicate. To avoid this, Solr has this RequestHandler, whose only purpose is to register the v2 + * APIs that conceptually should be associated with UpdateRequestHandler. */ public class V2UpdateRequestHandler extends UpdateRequestHandler { diff --git a/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java b/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java index d7dcbc823fd..1dcff291de6 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java @@ -30,8 +30,8 @@ import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiSupport; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiSupport; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.request.ApiMapping.CommandMeta; import org.apache.solr.client.solrj.request.ApiMapping.V2EndPoint; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java index 6c057dd8c7c..461731c97f1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java @@ -119,9 +119,9 @@ import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.api.model.AddReplicaPropertyRequestBody; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java index 96015b2486e..b978a015f3e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java @@ -25,10 +25,10 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; -import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.CreateConfigPayload; import org.apache.solr.cloud.ConfigSetCmds; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ContainerPluginsApi.java b/solr/core/src/java/org/apache/solr/handler/admin/ContainerPluginsApi.java index 117334b6d4b..774b492c06b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ContainerPluginsApi.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ContainerPluginsApi.java @@ -28,11 +28,11 @@ import java.util.Objects; import java.util.function.Function; import java.util.function.Supplier; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Command; -import org.apache.solr.api.ContainerPluginsRegistry; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.ContainerPluginsRegistry; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.SolrRequest.METHOD; import org.apache.solr.client.solrj.request.beans.PluginMeta; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java index e080af316bf..7307d944a24 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java @@ -35,9 +35,9 @@ import java.util.Map.Entry; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/HealthCheckHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/HealthCheckHandler.java index 3f5c8442b47..371623c80c2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/HealthCheckHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/HealthCheckHandler.java @@ -30,8 +30,8 @@ import java.util.Locale; import java.util.stream.Collectors; import org.apache.lucene.index.IndexCommit; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.client.solrj.request.HealthCheckRequest; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/InfoHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/InfoHandler.java index 455bd361247..689a87c2ada 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/InfoHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/InfoHandler.java @@ -24,8 +24,8 @@ import java.util.Locale; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import org.apache.solr.api.Api; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.NamedList; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/LoggingHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/LoggingHandler.java index 67dbe69cd9c..c3c1e07f489 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/LoggingHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/LoggingHandler.java @@ -20,8 +20,8 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.apache.solr.api.Api; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.params.SolrParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java index 8658adf3c52..38ed714b00a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java @@ -21,8 +21,8 @@ import java.io.IOException; import java.util.Collection; import java.util.Enumeration; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java index 9142449cba6..df9953a380f 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java @@ -28,10 +28,10 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; -import org.apache.solr.api.ApiBag.ReqHandlerToApi; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.framework.ApiBag.ReqHandlerToApi; import org.apache.solr.common.SolrException; import org.apache.solr.common.SpecProvider; import org.apache.solr.common.params.CommonParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java index 6f30e06b340..fe36b8bd211 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java @@ -37,8 +37,8 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.lucene.util.Version; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java index 5d2832cd74e..acd79839a76 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java @@ -28,8 +28,8 @@ import java.util.Collection; import java.util.List; import java.util.Locale; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.handler.RequestHandlerBase; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java index 99cf4578ea4..ac665441d9b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java @@ -20,7 +20,7 @@ import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT; import java.util.Map; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AllCoresStatusAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AllCoresStatusAPI.java index 87f7c9bffa9..27f9b599db2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AllCoresStatusAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AllCoresStatusAPI.java @@ -23,7 +23,7 @@ import static org.apache.solr.handler.ClusterAPI.wrapParams; import static org.apache.solr.security.PermissionNameProvider.Name.CORE_READ_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CancelTaskAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CancelTaskAPI.java index a63adc055f4..d401136212b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CancelTaskAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CancelTaskAPI.java @@ -19,7 +19,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.component.QueryCancellationHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionStatusAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionStatusAPI.java index 4b7eabe7226..f0556b5b148 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionStatusAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionStatusAPI.java @@ -24,7 +24,7 @@ import static org.apache.solr.security.PermissionNameProvider.Name.COLL_READ_PERM; import java.lang.invoke.MethodHandles; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.handler.admin.CollectionsHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java index e5d322a6afe..577fd8117bc 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java @@ -17,7 +17,7 @@ package org.apache.solr.handler.admin.api; import java.util.function.Supplier; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreAPI.java index d797c88e0be..719b8f9f660 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreAPI.java @@ -29,9 +29,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.CreateCorePayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthenticationConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthenticationConfigAPI.java index 9a7b7947689..91e4604d356 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthenticationConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthenticationConfigAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_READ_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.admin.SecurityConfHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthorizationConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthorizationConfigAPI.java index aa4edbdf1e2..f1eb102a8a4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthorizationConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthorizationConfigAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_READ_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.admin.SecurityConfHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetBlobInfoAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetBlobInfoAPI.java index 29345c12b88..388684cc301 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetBlobInfoAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetBlobInfoAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.READ_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.BlobHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetConfigAPI.java index 8c8dcd25d53..84e06959f73 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetConfigAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_READ_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.SolrConfigHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java index 93f6161f9fb..fa09ec1a648 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java @@ -26,7 +26,7 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.SimpleOrderedMap; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java index 9df213536f8..060be56ed4e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java @@ -28,7 +28,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.MapWriter; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java index 462cf732c03..c77e10434b1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java @@ -28,7 +28,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.cloud.ZkSolrResourceLoader; import org.apache.solr.core.SolrCore; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListActiveTasksAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListActiveTasksAPI.java index fba3d9d26f3..4028ee6aa56 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListActiveTasksAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListActiveTasksAPI.java @@ -19,7 +19,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.component.ActiveTasksListHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexesAPI.java index b99141a9047..21fb180016a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexesAPI.java @@ -25,9 +25,9 @@ import java.util.List; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.params.UpdateParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateDocsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateDocsAPI.java index 7e3898c8a89..368fc7fc6fe 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateDocsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateDocsAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.MigrateDocsPayload; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.handler.admin.CollectionsHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyBasicAuthConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyBasicAuthConfigAPI.java index dd7e488b43d..32ff75ebe0a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyBasicAuthConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyBasicAuthConfigAPI.java @@ -22,9 +22,9 @@ import java.util.List; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; /** V2 API to modify configuration for Solr's {@link org.apache.solr.security.BasicAuthPlugin} */ @EndPoint( diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyCollectionAPI.java index 93d11d0c428..7e0c90723c6 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyCollectionAPI.java @@ -26,9 +26,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.ModifyCollectionPayload; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.handler.admin.CollectionsHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyConfigComponentAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyConfigComponentAPI.java index 465ff329f6b..012d14bdd4b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyConfigComponentAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyConfigComponentAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_EDIT_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.SolrConfigHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyMultiPluginAuthConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyMultiPluginAuthConfigAPI.java index b9a19eb1ce1..8b04133d2c1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyMultiPluginAuthConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyMultiPluginAuthConfigAPI.java @@ -22,9 +22,9 @@ import java.util.List; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.security.MultiAuthPlugin; /** V2 API to modify configuration options for the {@link MultiAuthPlugin}. */ diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthPluginSecurityConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthPluginSecurityConfigAPI.java index 031410e2a46..6ae23a4b045 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthPluginSecurityConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthPluginSecurityConfigAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_EDIT_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.admin.SecurityConfHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthzPluginSecurityConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthzPluginSecurityConfigAPI.java index c90c5fd2b02..233fbe73cd4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthzPluginSecurityConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthzPluginSecurityConfigAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_EDIT_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.admin.SecurityConfHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyParamSetAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyParamSetAPI.java index eb25ca4642b..e562d789999 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyParamSetAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyParamSetAPI.java @@ -21,7 +21,7 @@ import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_EDIT_PERM; import java.lang.invoke.MethodHandles; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.SolrConfigHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyRuleBasedAuthConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyRuleBasedAuthConfigAPI.java index 03ba29bae73..755e78e9be8 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyRuleBasedAuthConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyRuleBasedAuthConfigAPI.java @@ -21,9 +21,9 @@ import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_EDIT_PERM; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.SetRuleBasedAuthPermissionPayload; import org.apache.solr.client.solrj.request.beans.UpdateRuleBasedAuthPermissionPayload; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MoreLikeThisAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MoreLikeThisAPI.java index 5c690ba517e..94424c67816 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MoreLikeThisAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MoreLikeThisAPI.java @@ -19,7 +19,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.MoreLikeThisHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MoveReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MoveReplicaAPI.java index 3c0d701de30..72e83aedb33 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MoveReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MoveReplicaAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.MoveReplicaPayload; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.handler.admin.CollectionsHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeHealthAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeHealthAPI.java index db5e97039b2..b6c85f21054 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeHealthAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeHealthAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_READ_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.admin.HealthCheckHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java index dc0b20c10c2..505c14db97f 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java @@ -34,7 +34,7 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodePropertiesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodePropertiesAPI.java index d9cf81f8a8b..aa88efb8932 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodePropertiesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodePropertiesAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_READ_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.admin.PropertiesRequestHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeSystemInfoAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeSystemInfoAPI.java index d7df2cfa0cd..5367e1a1b3b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeSystemInfoAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeSystemInfoAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_READ_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.admin.SystemInfoHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeThreadsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeThreadsAPI.java index bea1827304c..f398f4ac067 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeThreadsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeThreadsAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.METRICS_READ_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.admin.ThreadDumpHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/OverseerOperationAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/OverseerOperationAPI.java index 1c566a8c610..d5d2bcd5558 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/OverseerOperationAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/OverseerOperationAPI.java @@ -25,9 +25,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.OverseerOperationPayload; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/PrepareCoreRecoveryAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/PrepareCoreRecoveryAPI.java index c5b83049815..bdd815933a8 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/PrepareCoreRecoveryAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/PrepareCoreRecoveryAPI.java @@ -27,9 +27,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.PrepareCoreRecoveryPayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RealTimeGetAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RealTimeGetAPI.java index 25544d02fce..8b6ee5d770a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RealTimeGetAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RealTimeGetAPI.java @@ -18,7 +18,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.RealTimeGetHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RebalanceLeadersAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RebalanceLeadersAPI.java index e9127817732..70b18215a6e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RebalanceLeadersAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RebalanceLeadersAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.RebalanceLeadersPayload; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.handler.admin.CollectionsHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RejoinLeaderElectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RejoinLeaderElectionAPI.java index 5ce02a60e20..87d70068a34 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RejoinLeaderElectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RejoinLeaderElectionAPI.java @@ -28,9 +28,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.RejoinLeaderElectionPayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCoreAPI.java index e330d713340..b29d080f4b0 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCoreAPI.java @@ -25,9 +25,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.util.ReflectMapWriter; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCoreAPI.java index c2235af6894..c19719589ad 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCoreAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.util.ReflectMapWriter; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplicationAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplicationAPIBase.java index f438ecc2ac7..447599b08bd 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplicationAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplicationAPIBase.java @@ -31,7 +31,7 @@ import org.apache.lucene.store.Directory; import org.apache.lucene.store.IOContext; import org.apache.lucene.store.IndexInput; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.core.DirectoryFactory; import org.apache.solr.core.IndexDeletionPolicyWrapper; import org.apache.solr.core.SolrCore; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestApplyCoreUpdatesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestApplyCoreUpdatesAPI.java index 51c20fb545f..633aaf327c4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestApplyCoreUpdatesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestApplyCoreUpdatesAPI.java @@ -27,9 +27,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.RequestApplyCoreUpdatesPayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestBufferUpdatesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestBufferUpdatesAPI.java index 8625bfc9b72..46d97d71168 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestBufferUpdatesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestBufferUpdatesAPI.java @@ -26,9 +26,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.RequestBufferUpdatesPayload; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreCommandStatusAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreCommandStatusAPI.java index 242ecbcd7a5..cfb37237e9d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreCommandStatusAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreCommandStatusAPI.java @@ -25,7 +25,7 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreRecoveryAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreRecoveryAPI.java index a259c608430..3a96d576aa4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreRecoveryAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreRecoveryAPI.java @@ -27,9 +27,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.RequestCoreRecoveryPayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestSyncShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestSyncShardAPI.java index c36a99ce545..6d707607166 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestSyncShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestSyncShardAPI.java @@ -27,9 +27,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.RequestSyncShardPayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SchemaBulkModifyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SchemaBulkModifyAPI.java index 22b82bf3960..34cfecd1d2e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SchemaBulkModifyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SchemaBulkModifyAPI.java @@ -19,7 +19,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.SchemaHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SingleCoreStatusAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SingleCoreStatusAPI.java index 7253bd35b69..8ae6fd09c1d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SingleCoreStatusAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SingleCoreStatusAPI.java @@ -24,7 +24,7 @@ import static org.apache.solr.handler.ClusterAPI.wrapParams; import static org.apache.solr.security.PermissionNameProvider.Name.CORE_READ_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SplitCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SplitCoreAPI.java index d846caea34b..061881de574 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SplitCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SplitCoreAPI.java @@ -28,9 +28,9 @@ import java.util.List; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.util.ReflectMapWriter; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SplitShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SplitShardAPI.java index 0c75f053cae..738a43ad8db 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SplitShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SplitShardAPI.java @@ -27,9 +27,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.SplitShardPayload; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.common.params.CommonAdminParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCoresAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCoresAPI.java index e130b6e5540..d020357c478 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCoresAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCoresAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.util.ReflectMapWriter; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCoreAPI.java index 0fa50a9aa4d..d719c44638a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCoreAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.util.ReflectMapWriter; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/UpdateAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/UpdateAPI.java index e97198dec08..aa3179a2a27 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/UpdateAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/UpdateAPI.java @@ -21,7 +21,7 @@ import static org.apache.solr.common.params.CommonParams.PATH; import static org.apache.solr.security.PermissionNameProvider.Name.UPDATE_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.UpdateRequestHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/UploadBlobAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/UploadBlobAPI.java index 2488a109648..da655ce6c29 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/UploadBlobAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/UploadBlobAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.security.PermissionNameProvider.Name.UPDATE_PERM; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.handler.BlobHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/component/ActiveTasksListHandler.java b/solr/core/src/java/org/apache/solr/handler/component/ActiveTasksListHandler.java index f1ce12cd937..a0bca43389a 100644 --- a/solr/core/src/java/org/apache/solr/handler/component/ActiveTasksListHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/component/ActiveTasksListHandler.java @@ -22,8 +22,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.handler.admin.api.ListActiveTasksAPI; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrRequestHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryCancellationHandler.java b/solr/core/src/java/org/apache/solr/handler/component/QueryCancellationHandler.java index 18c99ba09c3..392444015bb 100644 --- a/solr/core/src/java/org/apache/solr/handler/component/QueryCancellationHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/component/QueryCancellationHandler.java @@ -22,8 +22,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.handler.admin.api.CancelTaskAPI; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrRequestHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/CreateConfigSetAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/CreateConfigSetAPI.java index 78144edd247..ed33143e906 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/CreateConfigSetAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/CreateConfigSetAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.request.beans.CreateConfigPayload; import org.apache.solr.cloud.ConfigSetCmds; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/DeleteConfigSetAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/DeleteConfigSetAPI.java index 4867dd160fd..0170407550b 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/DeleteConfigSetAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/DeleteConfigSetAPI.java @@ -22,7 +22,7 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.ConfigSetParams; import org.apache.solr.common.util.StrUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java index e057a474ec4..0afdd004781 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java @@ -27,7 +27,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetAPI.java index f7910bf7616..f1dc3b3a115 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetAPI.java @@ -28,7 +28,7 @@ import java.util.Map; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.ConfigSetParams; import org.apache.solr.core.ConfigSetService; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetFileAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetFileAPI.java index 98889aff563..68994052dd3 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetFileAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetFileAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_EDIT_PERM; import java.io.InputStream; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkMaintenanceUtils; import org.apache.solr.common.params.ConfigSetParams; diff --git a/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java b/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java index 5ceeb3b9b7c..af88d8edc1c 100644 --- a/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java @@ -49,7 +49,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; diff --git a/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java b/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java index 00cda1f08a9..09a14c56588 100644 --- a/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java @@ -27,7 +27,7 @@ import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.container.ResourceInfo; import javax.ws.rs.core.Context; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.handler.admin.ZookeeperReadAPI; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java index 36e4ab0a407..c0875e65209 100644 --- a/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java +++ b/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java @@ -27,7 +27,7 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; -import org.apache.solr.api.V2HttpCall; +import org.apache.solr.api.framework.V2HttpCall; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.CommonParams; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/jersey/PermissionName.java b/solr/core/src/java/org/apache/solr/jersey/PermissionName.java index da185cef663..712ac9a3dc7 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PermissionName.java +++ b/solr/core/src/java/org/apache/solr/jersey/PermissionName.java @@ -21,7 +21,7 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.security.PermissionNameProvider; /** diff --git a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java index 0f9a8d50845..ec10444b2b7 100644 --- a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java +++ b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java @@ -31,9 +31,9 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.request.beans.PackagePayload; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java b/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java index f1034b00bec..5d44dcdd0cc 100644 --- a/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java +++ b/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java @@ -26,7 +26,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.CommandOperation; diff --git a/solr/core/src/java/org/apache/solr/security/MultiAuthPlugin.java b/solr/core/src/java/org/apache/solr/security/MultiAuthPlugin.java index 96cd2974c21..b17a85fdfc4 100644 --- a/solr/core/src/java/org/apache/solr/security/MultiAuthPlugin.java +++ b/solr/core/src/java/org/apache/solr/security/MultiAuthPlugin.java @@ -29,8 +29,8 @@ import org.apache.http.HttpRequest; import org.apache.http.protocol.HttpContext; import org.apache.lucene.util.ResourceLoader; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.SpecProvider; diff --git a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java index a7d311d1788..1e2eda3cc08 100644 --- a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java +++ b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java @@ -25,7 +25,7 @@ import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.jersey.PermissionName; diff --git a/solr/core/src/java/org/apache/solr/security/PublicKeyHandler.java b/solr/core/src/java/org/apache/solr/security/PublicKeyHandler.java index 9dbde9d0966..f8a8e3a24e6 100644 --- a/solr/core/src/java/org/apache/solr/security/PublicKeyHandler.java +++ b/solr/core/src/java/org/apache/solr/security/PublicKeyHandler.java @@ -21,8 +21,8 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.apache.solr.api.Api; -import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.JerseyResource; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPluginBase.java b/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPluginBase.java index 7c37e034c73..becedf7193d 100644 --- a/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPluginBase.java +++ b/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPluginBase.java @@ -34,8 +34,8 @@ import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.common.SpecProvider; import org.apache.solr.common.util.CommandOperation; import org.apache.solr.common.util.ValidatingJsonMap; diff --git a/solr/core/src/java/org/apache/solr/security/Sha256AuthenticationProvider.java b/solr/core/src/java/org/apache/solr/security/Sha256AuthenticationProvider.java index 17c56aea0a3..c61c2d672df 100644 --- a/solr/core/src/java/org/apache/solr/security/Sha256AuthenticationProvider.java +++ b/solr/core/src/java/org/apache/solr/security/Sha256AuthenticationProvider.java @@ -30,8 +30,8 @@ import java.util.Map; import java.util.Random; import java.util.Set; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.common.util.CommandOperation; import org.apache.solr.common.util.ValidatingJsonMap; import org.apache.solr.handler.admin.api.ModifyBasicAuthConfigAPI; diff --git a/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java index 169a2a02032..56269f72186 100644 --- a/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java +++ b/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java @@ -24,7 +24,7 @@ import java.util.concurrent.ConcurrentHashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.solr.api.CoordinatorV2HttpSolrCall; +import org.apache.solr.api.framework.CoordinatorV2HttpSolrCall; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.cloud.api.collections.Assign; diff --git a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java index dbee25ec32f..9b4c7b05469 100644 --- a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java +++ b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java @@ -71,8 +71,8 @@ import org.apache.http.client.methods.HttpPut; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.InputStreamEntity; -import org.apache.solr.api.ApiBag; -import org.apache.solr.api.V2HttpCall; +import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.framework.V2HttpCall; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.impl.HttpClientUtil; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java index 5af7efc2405..c41d7223cc9 100644 --- a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java +++ b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java @@ -18,7 +18,7 @@ import java.io.PrintWriter; import java.io.StringWriter; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.api.model.ErrorInfo; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.NamedList; diff --git a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java index 44c02cce109..851f3032813 100644 --- a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java +++ b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java @@ -42,7 +42,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.http.client.HttpClient; -import org.apache.solr.api.V2HttpCall; +import org.apache.solr.api.framework.V2HttpCall; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.util.ExecutorUtil; diff --git a/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java b/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java index af293d6a96e..83462c3c168 100644 --- a/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java +++ b/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java @@ -45,7 +45,7 @@ import javax.servlet.http.Part; import org.apache.commons.io.input.CloseShieldInputStream; import org.apache.lucene.util.IOUtils; -import org.apache.solr.api.V2HttpCall; +import org.apache.solr.api.framework.V2HttpCall; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.params.CommonParams; diff --git a/solr/core/src/test-files/runtimecode/MyPlugin.java.txt b/solr/core/src/test-files/runtimecode/MyPlugin.java.txt index 34cfb6e05b1..cc470204142 100644 --- a/solr/core/src/test-files/runtimecode/MyPlugin.java.txt +++ b/solr/core/src/test-files/runtimecode/MyPlugin.java.txt @@ -17,8 +17,8 @@ package runtimecode; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.client.solrj.SolrRequest.METHOD; import org.apache.solr.core.CoreContainer; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/test/org/apache/solr/api/JerseyResourceTest.java b/solr/core/src/test/org/apache/solr/api/framework/JerseyResourceTest.java similarity index 96% rename from solr/core/src/test/org/apache/solr/api/JerseyResourceTest.java rename to solr/core/src/test/org/apache/solr/api/framework/JerseyResourceTest.java index 5e6f193c4e6..8b92d0f63b3 100644 --- a/solr/core/src/test/org/apache/solr/api/JerseyResourceTest.java +++ b/solr/core/src/test/org/apache/solr/api/framework/JerseyResourceTest.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.api.framework; import static org.apache.solr.jersey.RequestContextKeys.SOLR_JERSEY_RESPONSE; import static org.apache.solr.jersey.container.ContainerRequestUtils.DEFAULT_SECURITY_CONTEXT; diff --git a/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java b/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java index c07d5f58602..614fff70efd 100644 --- a/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java +++ b/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java @@ -22,7 +22,7 @@ import java.util.LinkedHashMap; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.client.solrj.request.schema.SchemaRequest; import org.apache.solr.client.solrj.response.schema.SchemaResponse; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java index 1da60d85ff9..9dd80189822 100644 --- a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java +++ b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java @@ -65,7 +65,7 @@ import org.apache.http.message.BasicHeader; import org.apache.http.util.EntityUtils; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.framework.AnnotatedApi; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.BaseHttpSolrClient; diff --git a/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java b/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java index 9fdb0936e88..18197e4a91b 100644 --- a/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java +++ b/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java @@ -34,10 +34,10 @@ import java.util.concurrent.TimeUnit; import org.apache.lucene.util.ResourceLoader; import org.apache.lucene.util.ResourceLoaderAware; -import org.apache.solr.api.Command; -import org.apache.solr.api.ConfigurablePlugin; -import org.apache.solr.api.ContainerPluginsRegistry; -import org.apache.solr.api.EndPoint; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.ConfigurablePlugin; +import org.apache.solr.api.framework.ContainerPluginsRegistry; +import org.apache.solr.api.framework.EndPoint; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.BaseHttpSolrClient.RemoteExecutionException; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/handler/V2ClusterAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/V2ClusterAPIMappingTest.java index 94f091fba2a..b00e4921dcb 100644 --- a/solr/core/src/test/org/apache/solr/handler/V2ClusterAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/V2ClusterAPIMappingTest.java @@ -29,8 +29,8 @@ import java.util.List; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.common.params.CollectionParams.CollectionAction; import org.apache.solr.common.params.SolrParams; diff --git a/solr/core/src/test/org/apache/solr/handler/V2UpdateAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/V2UpdateAPIMappingTest.java index f030525fb03..57d83c3acce 100644 --- a/solr/core/src/test/org/apache/solr/handler/V2UpdateAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/V2UpdateAPIMappingTest.java @@ -25,8 +25,8 @@ import java.util.List; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.common.util.CommandOperation; import org.apache.solr.handler.admin.api.UpdateAPI; import org.apache.solr.request.LocalSolrQueryRequest; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java b/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java index deefc0e4df3..fd1a7b955e2 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java @@ -18,7 +18,7 @@ package org.apache.solr.handler.admin; import static java.nio.charset.StandardCharsets.UTF_8; -import static org.apache.solr.api.ApiBag.EMPTY_SPEC; +import static org.apache.solr.api.framework.ApiBag.EMPTY_SPEC; import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.common.params.CommonParams.COLLECTIONS_HANDLER_PATH; import static org.apache.solr.common.params.CommonParams.CONFIGSETS_HANDLER_PATH; @@ -34,13 +34,13 @@ import java.util.Map; import java.util.Set; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; -import org.apache.solr.api.V2HttpCall; -import org.apache.solr.api.V2HttpCall.CompositeApi; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.framework.V2HttpCall; +import org.apache.solr.api.framework.V2HttpCall.CompositeApi; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.MapSolrParams; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java b/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java index a8dde0459f5..04671c16095 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java @@ -30,8 +30,8 @@ import java.util.List; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java b/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java index 1e3ff94b749..b6906c7d640 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java @@ -31,8 +31,8 @@ import java.util.Map; import java.util.Properties; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/V2ApiMappingTest.java b/solr/core/src/test/org/apache/solr/handler/admin/V2ApiMappingTest.java index bb36cf353d8..63e02e63caf 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/V2ApiMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/V2ApiMappingTest.java @@ -27,9 +27,9 @@ import java.util.List; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.CommandOperation; import org.apache.solr.common.util.ContentStream; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/V2BlobAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/admin/V2BlobAPIMappingTest.java index 9d1d444a012..3ced075ab91 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/V2BlobAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/V2BlobAPIMappingTest.java @@ -17,7 +17,7 @@ package org.apache.solr.handler.admin; -import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.framework.AnnotatedApi; import org.apache.solr.handler.BlobHandler; import org.apache.solr.handler.admin.api.GetBlobInfoAPI; import org.apache.solr.handler.admin.api.UploadBlobAPI; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/V2ConfigAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/admin/V2ConfigAPIMappingTest.java index 3912e52d281..94440c559c3 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/V2ConfigAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/V2ConfigAPIMappingTest.java @@ -17,7 +17,7 @@ package org.apache.solr.handler.admin; -import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.framework.AnnotatedApi; import org.apache.solr.handler.SolrConfigHandler; import org.apache.solr.handler.admin.api.GetConfigAPI; import org.apache.solr.handler.admin.api.ModifyConfigComponentAPI; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/V2SecurityAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/admin/V2SecurityAPIMappingTest.java index 1cc621a74f4..0c95121735b 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/V2SecurityAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/V2SecurityAPIMappingTest.java @@ -20,9 +20,9 @@ import java.util.HashMap; import java.util.Set; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.handler.admin.api.GetAuthenticationConfigAPI; import org.apache.solr.handler.admin.api.GetAuthorizationConfigAPI; import org.apache.solr.handler.admin.api.ModifyBasicAuthConfigAPI; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/V2NodeAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/V2NodeAPIMappingTest.java index 9f6af14d534..1843fe93a6e 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/V2NodeAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/V2NodeAPIMappingTest.java @@ -28,8 +28,8 @@ import java.util.List; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; import org.apache.solr.common.params.ModifiableSolrParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.CommandOperation; diff --git a/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/JWTAuthPlugin.java b/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/JWTAuthPlugin.java index ae20606f7e7..8eabee82faf 100644 --- a/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/JWTAuthPlugin.java +++ b/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/JWTAuthPlugin.java @@ -49,8 +49,8 @@ import org.apache.http.HttpRequest; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.protocol.HttpContext; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; import org.apache.solr.client.solrj.impl.Http2SolrClient; import org.apache.solr.common.SolrException; import org.apache.solr.common.SpecProvider; diff --git a/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/api/ModifyJWTAuthPluginConfigAPI.java b/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/api/ModifyJWTAuthPluginConfigAPI.java index 7fc21646220..4b80ca7dc4e 100644 --- a/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/api/ModifyJWTAuthPluginConfigAPI.java +++ b/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/api/ModifyJWTAuthPluginConfigAPI.java @@ -20,9 +20,9 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_EDIT_PERM; -import org.apache.solr.api.Command; -import org.apache.solr.api.EndPoint; -import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.framework.Command; +import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.framework.PayloadObj; /** V2 API for modifying configuration for Solr's JWTAuthPlugin. */ @EndPoint( diff --git a/solr/modules/jwt-auth/src/test/org/apache/solr/security/jwt/api/V2JWTSecurityApiMappingTest.java b/solr/modules/jwt-auth/src/test/org/apache/solr/security/jwt/api/V2JWTSecurityApiMappingTest.java index 8c55dbfcb9c..e83cc20ffc6 100644 --- a/solr/modules/jwt-auth/src/test/org/apache/solr/security/jwt/api/V2JWTSecurityApiMappingTest.java +++ b/solr/modules/jwt-auth/src/test/org/apache/solr/security/jwt/api/V2JWTSecurityApiMappingTest.java @@ -19,9 +19,9 @@ import java.util.HashMap; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.AnnotatedApi; -import org.apache.solr.api.Api; -import org.apache.solr.api.ApiBag; +import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.framework.Api; +import org.apache.solr.api.framework.ApiBag; import org.junit.Before; import org.junit.Test; diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/request/SchemaTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/request/SchemaTest.java index 0b87c7d6ef5..efa008752a7 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/request/SchemaTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/request/SchemaTest.java @@ -69,7 +69,7 @@ private static void assertFailedSchemaResponse( expectThrows(BaseHttpSolrClient.RemoteExecutionException.class, runnable); SimpleOrderedMap errorMap = (SimpleOrderedMap) e.getMetaData().get("error"); assertEquals( - "org.apache.solr.api.ApiBag$ExceptionWithErrObject", + "org.apache.solr.api.framework.ApiBag$ExceptionWithErrObject", ((NamedList) errorMap.get("metadata")).get("error-class")); List details = (List) errorMap.get("details"); assertTrue( diff --git a/solr/solrj/src/test/org/apache/solr/common/util/TestPathTrie.java b/solr/solrj/src/test/org/apache/solr/common/util/TestPathTrie.java index ad7e9066ad3..75c8aede8e5 100644 --- a/solr/solrj/src/test/org/apache/solr/common/util/TestPathTrie.java +++ b/solr/solrj/src/test/org/apache/solr/common/util/TestPathTrie.java @@ -19,7 +19,7 @@ import static java.util.Collections.emptyMap; import static java.util.Collections.singletonMap; -import static org.apache.solr.api.ApiBag.HANDLER_NAME; +import static org.apache.solr.api.framework.ApiBag.HANDLER_NAME; import java.util.HashMap; import java.util.HashSet; From 6a2dd43265502ac76fb13e874db0fbb88dc528d2 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Mon, 31 Jul 2023 15:27:28 -0400 Subject: [PATCH 47/58] Ensure 'api' model classes remain serializable for Javabin Moving the response POJOs into the 'api' submodule means that they can no longer declare themselves as MapWriter implementors. This means that non-Jackson codecs don't know how to serialize/deserialize these types for (e.g.) javabin responses. There were a couple options for solving this: 1. Move JacksonReflectMapWriter, MapWriter, and related code into 'api'. 2. Create a new marker interface that serves essentially the same purpose as JacksonReflectMapWriter, but living in 'api'. Update JavaBinCodec etc. to handle this new interface. 3. Flip flop once again on generating model classes. The generated versions (since they'd only be compiled by SolrJ would have access to the necessary interface types). Not sure this is the best approach, but this commit takes the easiest option, number 2. --- .../model/AddReplicaPropertyRequestBody.java | 3 ++- .../org/apache/solr/api/model/ErrorInfo.java | 6 +++-- .../solr/api/model/SolrJerseyResponse.java | 6 +++-- .../org/apache/solr/util/ReflectWritable.java | 25 +++++++++++++++++++ .../apache/solr/common/util/JavaBinCodec.java | 19 ++++++++++++++ 5 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 solr/api/src/java/org/apache/solr/util/ReflectWritable.java diff --git a/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java b/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java index 68c9421a791..170ae59fea8 100644 --- a/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java +++ b/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java @@ -19,8 +19,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; +import org.apache.solr.util.ReflectWritable; -public class AddReplicaPropertyRequestBody { +public class AddReplicaPropertyRequestBody implements ReflectWritable { public AddReplicaPropertyRequestBody() {} public AddReplicaPropertyRequestBody(String value) { diff --git a/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java b/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java index 683d48dafed..5b92b96adc7 100644 --- a/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java +++ b/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java @@ -18,6 +18,8 @@ package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; +import org.apache.solr.util.ReflectWritable; + import java.util.List; import java.util.Map; @@ -26,7 +28,7 @@ * *

Based on the fields exposed in responses from Solr's v1/requestHandler API. */ -public class ErrorInfo { +public class ErrorInfo implements ReflectWritable { public static final String ROOT_ERROR_CLASS = "root-error-class"; public static final String ERROR_CLASS = "error-class"; @@ -46,7 +48,7 @@ public class ErrorInfo { @JsonProperty("code") public Integer code; - public static class ErrorMetadata { + public static class ErrorMetadata implements ReflectWritable { @JsonProperty(ERROR_CLASS) public String errorClass; diff --git a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java b/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java index 5a0b8491baa..b742f052b95 100644 --- a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java @@ -20,6 +20,8 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonProperty; +import org.apache.solr.util.ReflectWritable; + import java.util.HashMap; import java.util.Map; @@ -29,7 +31,7 @@ *

Contains fields common to all Solr API responses, particularly the 'responseHeader' and * 'error' fields. */ -public class SolrJerseyResponse { +public class SolrJerseyResponse implements ReflectWritable { @JsonProperty("responseHeader") public ResponseHeader responseHeader = new ResponseHeader(); @@ -37,7 +39,7 @@ public class SolrJerseyResponse { @JsonProperty("error") public ErrorInfo error; - public static class ResponseHeader { + public static class ResponseHeader implements ReflectWritable { @JsonProperty("status") public int status; diff --git a/solr/api/src/java/org/apache/solr/util/ReflectWritable.java b/solr/api/src/java/org/apache/solr/util/ReflectWritable.java new file mode 100644 index 00000000000..b9c47dd2d85 --- /dev/null +++ b/solr/api/src/java/org/apache/solr/util/ReflectWritable.java @@ -0,0 +1,25 @@ +/* + * 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. + */ + +package org.apache.solr.util; + +/** + * A marker interface used by v2 POJOs to indicate they contain annotations that can be written out via reflection. + * + * Used primarily by custom serialization/deserialization codepaths that don't natively recognize (e.g.) Jackson annotations. + */ +public interface ReflectWritable { } diff --git a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java index aaf955b0aac..422c1d8ecfa 100644 --- a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java +++ b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java @@ -42,6 +42,9 @@ import java.util.function.BiConsumer; import java.util.function.Function; import java.util.function.Predicate; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.solr.common.ConditionalKeyMapWriter; import org.apache.solr.common.EnumFieldValue; import org.apache.solr.common.IteratorWriter; @@ -54,6 +57,7 @@ import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.SolrInputField; import org.apache.solr.common.params.CommonParams; +import org.apache.solr.util.ReflectWritable; import org.noggit.CharArr; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -391,6 +395,21 @@ public boolean writeKnownType(Object val) throws IOException { writeMap((MapWriter) val); return true; } + if (val instanceof ReflectWritable) { + writeTag(MAP_ENTRY_ITER); + Utils.reflectWrite( + ew, + val, + // TODO Should we be lenient here and accept both the Jackson and our homegrown annotation? + field -> field.getAnnotation(JsonProperty.class) != null, + JsonAnyGetter.class, + field -> { + final JsonProperty prop = field.getAnnotation(JsonProperty.class); + return prop.value().isEmpty() ? field.getName() : prop.value(); + }); + writeTag(END); + return true; + } if (val instanceof Map) { writeMap((Map) val); return true; From 16002dbeb81cb06f9b603565219d300385849d4a Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 1 Aug 2023 08:46:43 -0400 Subject: [PATCH 48/58] Revert "Ensure 'api' model classes remain serializable for Javabin" This reverts commit 6a2dd43265502ac76fb13e874db0fbb88dc528d2. --- .../model/AddReplicaPropertyRequestBody.java | 3 +-- .../org/apache/solr/api/model/ErrorInfo.java | 6 ++--- .../solr/api/model/SolrJerseyResponse.java | 6 ++--- .../org/apache/solr/util/ReflectWritable.java | 25 ------------------- .../apache/solr/common/util/JavaBinCodec.java | 19 -------------- 5 files changed, 5 insertions(+), 54 deletions(-) delete mode 100644 solr/api/src/java/org/apache/solr/util/ReflectWritable.java diff --git a/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java b/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java index 170ae59fea8..68c9421a791 100644 --- a/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java +++ b/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java @@ -19,9 +19,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; -import org.apache.solr.util.ReflectWritable; -public class AddReplicaPropertyRequestBody implements ReflectWritable { +public class AddReplicaPropertyRequestBody { public AddReplicaPropertyRequestBody() {} public AddReplicaPropertyRequestBody(String value) { diff --git a/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java b/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java index 5b92b96adc7..683d48dafed 100644 --- a/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java +++ b/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java @@ -18,8 +18,6 @@ package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.util.ReflectWritable; - import java.util.List; import java.util.Map; @@ -28,7 +26,7 @@ * *

Based on the fields exposed in responses from Solr's v1/requestHandler API. */ -public class ErrorInfo implements ReflectWritable { +public class ErrorInfo { public static final String ROOT_ERROR_CLASS = "root-error-class"; public static final String ERROR_CLASS = "error-class"; @@ -48,7 +46,7 @@ public class ErrorInfo implements ReflectWritable { @JsonProperty("code") public Integer code; - public static class ErrorMetadata implements ReflectWritable { + public static class ErrorMetadata { @JsonProperty(ERROR_CLASS) public String errorClass; diff --git a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java b/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java index b742f052b95..5a0b8491baa 100644 --- a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java @@ -20,8 +20,6 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.util.ReflectWritable; - import java.util.HashMap; import java.util.Map; @@ -31,7 +29,7 @@ *

Contains fields common to all Solr API responses, particularly the 'responseHeader' and * 'error' fields. */ -public class SolrJerseyResponse implements ReflectWritable { +public class SolrJerseyResponse { @JsonProperty("responseHeader") public ResponseHeader responseHeader = new ResponseHeader(); @@ -39,7 +37,7 @@ public class SolrJerseyResponse implements ReflectWritable { @JsonProperty("error") public ErrorInfo error; - public static class ResponseHeader implements ReflectWritable { + public static class ResponseHeader { @JsonProperty("status") public int status; diff --git a/solr/api/src/java/org/apache/solr/util/ReflectWritable.java b/solr/api/src/java/org/apache/solr/util/ReflectWritable.java deleted file mode 100644 index b9c47dd2d85..00000000000 --- a/solr/api/src/java/org/apache/solr/util/ReflectWritable.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * 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. - */ - -package org.apache.solr.util; - -/** - * A marker interface used by v2 POJOs to indicate they contain annotations that can be written out via reflection. - * - * Used primarily by custom serialization/deserialization codepaths that don't natively recognize (e.g.) Jackson annotations. - */ -public interface ReflectWritable { } diff --git a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java index 422c1d8ecfa..aaf955b0aac 100644 --- a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java +++ b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java @@ -42,9 +42,6 @@ import java.util.function.BiConsumer; import java.util.function.Function; import java.util.function.Predicate; - -import com.fasterxml.jackson.annotation.JsonAnyGetter; -import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.solr.common.ConditionalKeyMapWriter; import org.apache.solr.common.EnumFieldValue; import org.apache.solr.common.IteratorWriter; @@ -57,7 +54,6 @@ import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.SolrInputField; import org.apache.solr.common.params.CommonParams; -import org.apache.solr.util.ReflectWritable; import org.noggit.CharArr; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -395,21 +391,6 @@ public boolean writeKnownType(Object val) throws IOException { writeMap((MapWriter) val); return true; } - if (val instanceof ReflectWritable) { - writeTag(MAP_ENTRY_ITER); - Utils.reflectWrite( - ew, - val, - // TODO Should we be lenient here and accept both the Jackson and our homegrown annotation? - field -> field.getAnnotation(JsonProperty.class) != null, - JsonAnyGetter.class, - field -> { - final JsonProperty prop = field.getAnnotation(JsonProperty.class); - return prop.value().isEmpty() ? field.getName() : prop.value(); - }); - writeTag(END); - return true; - } if (val instanceof Map) { writeMap((Map) val); return true; From 1cb2d7b76b35c404324018285f332faa21a42af3 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 1 Aug 2023 08:54:37 -0400 Subject: [PATCH 49/58] Revert "Revert "Ensure 'api' model classes remain serializable for Javabin"" This reverts commit 16002dbeb81cb06f9b603565219d300385849d4a. --- .../model/AddReplicaPropertyRequestBody.java | 3 ++- .../org/apache/solr/api/model/ErrorInfo.java | 6 +++-- .../solr/api/model/SolrJerseyResponse.java | 6 +++-- .../org/apache/solr/util/ReflectWritable.java | 25 +++++++++++++++++++ .../apache/solr/common/util/JavaBinCodec.java | 19 ++++++++++++++ 5 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 solr/api/src/java/org/apache/solr/util/ReflectWritable.java diff --git a/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java b/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java index 68c9421a791..170ae59fea8 100644 --- a/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java +++ b/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java @@ -19,8 +19,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; +import org.apache.solr.util.ReflectWritable; -public class AddReplicaPropertyRequestBody { +public class AddReplicaPropertyRequestBody implements ReflectWritable { public AddReplicaPropertyRequestBody() {} public AddReplicaPropertyRequestBody(String value) { diff --git a/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java b/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java index 683d48dafed..5b92b96adc7 100644 --- a/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java +++ b/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java @@ -18,6 +18,8 @@ package org.apache.solr.api.model; import com.fasterxml.jackson.annotation.JsonProperty; +import org.apache.solr.util.ReflectWritable; + import java.util.List; import java.util.Map; @@ -26,7 +28,7 @@ * *

Based on the fields exposed in responses from Solr's v1/requestHandler API. */ -public class ErrorInfo { +public class ErrorInfo implements ReflectWritable { public static final String ROOT_ERROR_CLASS = "root-error-class"; public static final String ERROR_CLASS = "error-class"; @@ -46,7 +48,7 @@ public class ErrorInfo { @JsonProperty("code") public Integer code; - public static class ErrorMetadata { + public static class ErrorMetadata implements ReflectWritable { @JsonProperty(ERROR_CLASS) public String errorClass; diff --git a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java b/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java index 5a0b8491baa..b742f052b95 100644 --- a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java @@ -20,6 +20,8 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonProperty; +import org.apache.solr.util.ReflectWritable; + import java.util.HashMap; import java.util.Map; @@ -29,7 +31,7 @@ *

Contains fields common to all Solr API responses, particularly the 'responseHeader' and * 'error' fields. */ -public class SolrJerseyResponse { +public class SolrJerseyResponse implements ReflectWritable { @JsonProperty("responseHeader") public ResponseHeader responseHeader = new ResponseHeader(); @@ -37,7 +39,7 @@ public class SolrJerseyResponse { @JsonProperty("error") public ErrorInfo error; - public static class ResponseHeader { + public static class ResponseHeader implements ReflectWritable { @JsonProperty("status") public int status; diff --git a/solr/api/src/java/org/apache/solr/util/ReflectWritable.java b/solr/api/src/java/org/apache/solr/util/ReflectWritable.java new file mode 100644 index 00000000000..b9c47dd2d85 --- /dev/null +++ b/solr/api/src/java/org/apache/solr/util/ReflectWritable.java @@ -0,0 +1,25 @@ +/* + * 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. + */ + +package org.apache.solr.util; + +/** + * A marker interface used by v2 POJOs to indicate they contain annotations that can be written out via reflection. + * + * Used primarily by custom serialization/deserialization codepaths that don't natively recognize (e.g.) Jackson annotations. + */ +public interface ReflectWritable { } diff --git a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java index aaf955b0aac..422c1d8ecfa 100644 --- a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java +++ b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java @@ -42,6 +42,9 @@ import java.util.function.BiConsumer; import java.util.function.Function; import java.util.function.Predicate; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.solr.common.ConditionalKeyMapWriter; import org.apache.solr.common.EnumFieldValue; import org.apache.solr.common.IteratorWriter; @@ -54,6 +57,7 @@ import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.SolrInputField; import org.apache.solr.common.params.CommonParams; +import org.apache.solr.util.ReflectWritable; import org.noggit.CharArr; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -391,6 +395,21 @@ public boolean writeKnownType(Object val) throws IOException { writeMap((MapWriter) val); return true; } + if (val instanceof ReflectWritable) { + writeTag(MAP_ENTRY_ITER); + Utils.reflectWrite( + ew, + val, + // TODO Should we be lenient here and accept both the Jackson and our homegrown annotation? + field -> field.getAnnotation(JsonProperty.class) != null, + JsonAnyGetter.class, + field -> { + final JsonProperty prop = field.getAnnotation(JsonProperty.class); + return prop.value().isEmpty() ? field.getName() : prop.value(); + }); + writeTag(END); + return true; + } if (val instanceof Map) { writeMap((Map) val); return true; From ec090a29b5dcca38eb4f9925a9f0e9348d7c1aab Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 1 Aug 2023 09:13:00 -0400 Subject: [PATCH 50/58] Second pass on serialization headaches This second pass avoids some of the unfortunate code duplication of the first pass attempt yesterday. We're still using a marker interface in 'api' to identify the POJO classes that can be serialized using reflection, but then we use a new class, DelegateMapWriter, to serialize them in JavaBinCodec, TextWriter, etc. instead of duplicating the Utils.reflectWrite call snippet. Hopefully ends up a little cleaner and more comprehensive. --- .../apache/solr/common/DelegateMapWriter.java | 48 +++++++++++++++++++ .../apache/solr/common/util/JavaBinCodec.java | 14 +----- .../apache/solr/common/util/TextWriter.java | 5 ++ 3 files changed, 55 insertions(+), 12 deletions(-) create mode 100644 solr/solrj/src/java/org/apache/solr/common/DelegateMapWriter.java diff --git a/solr/solrj/src/java/org/apache/solr/common/DelegateMapWriter.java b/solr/solrj/src/java/org/apache/solr/common/DelegateMapWriter.java new file mode 100644 index 00000000000..a7c7f9c130d --- /dev/null +++ b/solr/solrj/src/java/org/apache/solr/common/DelegateMapWriter.java @@ -0,0 +1,48 @@ +/* + * 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. + */ + +package org.apache.solr.common; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonProperty; +import org.apache.solr.common.MapWriter; +import org.apache.solr.common.util.Utils; + +import java.io.IOException; + +public class DelegateMapWriter implements MapWriter { + + private final Object delegate; + + public DelegateMapWriter(Object delegate) { + this.delegate = delegate; + } + + @Override + public void writeMap(EntryWriter ew) throws IOException { + Utils.reflectWrite( + ew, + delegate, + // TODO Should we be lenient here and accept both the Jackson and our homegrown annotation? + field -> field.getAnnotation(JsonProperty.class) != null, + JsonAnyGetter.class, + field -> { + final JsonProperty prop = field.getAnnotation(JsonProperty.class); + return prop.value().isEmpty() ? field.getName() : prop.value(); + }); + } +} diff --git a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java index 422c1d8ecfa..49836498bd6 100644 --- a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java +++ b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java @@ -46,6 +46,7 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.solr.common.ConditionalKeyMapWriter; +import org.apache.solr.common.DelegateMapWriter; import org.apache.solr.common.EnumFieldValue; import org.apache.solr.common.IteratorWriter; import org.apache.solr.common.IteratorWriter.ItemWriter; @@ -396,18 +397,7 @@ public boolean writeKnownType(Object val) throws IOException { return true; } if (val instanceof ReflectWritable) { - writeTag(MAP_ENTRY_ITER); - Utils.reflectWrite( - ew, - val, - // TODO Should we be lenient here and accept both the Jackson and our homegrown annotation? - field -> field.getAnnotation(JsonProperty.class) != null, - JsonAnyGetter.class, - field -> { - final JsonProperty prop = field.getAnnotation(JsonProperty.class); - return prop.value().isEmpty() ? field.getName() : prop.value(); - }); - writeTag(END); + writeMap(new DelegateMapWriter(val)); return true; } if (val instanceof Map) { diff --git a/solr/solrj/src/java/org/apache/solr/common/util/TextWriter.java b/solr/solrj/src/java/org/apache/solr/common/util/TextWriter.java index 3ec8df2168b..2fc24a53d43 100644 --- a/solr/solrj/src/java/org/apache/solr/common/util/TextWriter.java +++ b/solr/solrj/src/java/org/apache/solr/common/util/TextWriter.java @@ -34,11 +34,14 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.LongAccumulator; import java.util.concurrent.atomic.LongAdder; + +import org.apache.solr.common.DelegateMapWriter; import org.apache.solr.common.EnumFieldValue; import org.apache.solr.common.IteratorWriter; import org.apache.solr.common.MapSerializable; import org.apache.solr.common.MapWriter; import org.apache.solr.common.PushWriter; +import org.apache.solr.util.ReflectWritable; // Base interface for all text based writers public interface TextWriter extends PushWriter { @@ -85,6 +88,8 @@ default void writeVal(String name, Object val, boolean raw) throws IOException { writeIterator(name, (IteratorWriter) val, raw); } else if (val instanceof MapWriter) { writeMap(name, (MapWriter) val); + } else if (val instanceof ReflectWritable) { + writeMap(name, new DelegateMapWriter(val)); } else if (val instanceof MapSerializable) { // todo find a better way to reuse the map more efficiently writeMap(name, ((MapSerializable) val).toMap(new LinkedHashMap<>()), false, true); From aafde25dbfe3653f4b3097ef0dcba25eed1c47c5 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 1 Aug 2023 09:49:35 -0400 Subject: [PATCH 51/58] Remove unnecessary test --- .../jersey/JacksonReflectMapWriterTest.java | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java index 5d381a8dfca..3f6eb5b4870 100644 --- a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java +++ b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java @@ -65,27 +65,4 @@ public void testJacksonDeserializationHandlesUnknownProperties() throws IOExcept assertEquals(123, response.responseHeader.status); assertEquals("someVal", response.responseHeader.unknownProperties().get("someUnexpectedField")); } - - @Test - public void testMapConversionHandlesUnknownProperties() { - final SolrJerseyResponse response = new SolrJerseyResponse(); - response.responseHeader.status = 123; - response.responseHeader.setUnknownProperty("someField", "someVal"); - response.responseHeader.setUnknownProperty("someNonStringField", 456); - final NamedList destination = new NamedList<>(); - - V2ApiUtils.squashIntoNamedList(destination, response); - assertEquals( - response.responseHeader, - destination.get( - "responseHeader")); // ResponseHeader copied as-is to NL since its a serializable type - final String jsonOutput = Utils.toJSONString(destination); - - assertTrue( - "Expected JSON " + jsonOutput + " to contain different value", - jsonOutput.contains("\"someField\":\"someVal\"")); - assertTrue( - "Expected JSON " + jsonOutput + " to contain different value", - jsonOutput.contains("\"someNonStringField\":456")); - } } From ebd74760355917746d1e7f6ee360cad7007afbe5 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 1 Aug 2023 10:57:18 -0400 Subject: [PATCH 52/58] Revert "Remove split package issues" This reverts commit 1ad9fbca9a6155b64c51937f9fc256394931b45d. The `o.a.solr.api` package in 'core' has several classes that are likely extension points for Solr package/plugin users (e.g. `Api`). Rather than renaming this package, we should find a better name for the version of the package in the 'api' submodule. --- solr/api/build.gradle | 3 +-- .../java/org/apache/solr/api/ApiMetadata.java | 2 +- .../solr/api/{framework => }/AnnotatedApi.java | 2 +- .../org/apache/solr/api/{framework => }/Api.java | 2 +- .../apache/solr/api/{framework => }/ApiBag.java | 2 +- .../solr/api/{framework => }/ApiSupport.java | 2 +- .../apache/solr/api/{framework => }/Command.java | 2 +- .../api/{framework => }/ConfigurablePlugin.java | 2 +- .../ContainerPluginsRegistry.java | 2 +- .../CoordinatorV2HttpSolrCall.java | 2 +- .../solr/api/{framework => }/EndPoint.java | 2 +- .../solr/api/{framework => }/JerseyResource.java | 4 ++-- .../solr/api/{framework => }/PayloadObj.java | 2 +- .../solr/api/{framework => }/V2HttpCall.java | 2 +- .../solr/api/{framework => }/package-info.java | 5 ++--- .../events/impl/ClusterEventProducerFactory.java | 16 ++++++++-------- .../placement/PlacementPluginFactory.java | 6 +++--- .../impl/PlacementPluginFactoryLoader.java | 2 +- .../org/apache/solr/core/ClusterSingletons.java | 2 +- .../java/org/apache/solr/core/CoreContainer.java | 4 ++-- .../src/java/org/apache/solr/core/PluginBag.java | 10 +++++----- .../apache/solr/filestore/PackageStoreAPI.java | 2 +- .../org/apache/solr/handler/BlobHandler.java | 4 ++-- .../java/org/apache/solr/handler/ClusterAPI.java | 6 +++--- .../apache/solr/handler/MoreLikeThisHandler.java | 4 ++-- .../apache/solr/handler/RealTimeGetHandler.java | 4 ++-- .../apache/solr/handler/ReplicationHandler.java | 2 +- .../apache/solr/handler/RequestHandlerBase.java | 6 +++--- .../org/apache/solr/handler/SchemaHandler.java | 8 ++++---- .../apache/solr/handler/SolrConfigHandler.java | 6 +++--- .../solr/handler/V2UpdateRequestHandler.java | 14 +++++++------- .../handler/admin/BaseHandlerApiSupport.java | 4 ++-- .../solr/handler/admin/CollectionsHandler.java | 6 +++--- .../solr/handler/admin/ConfigSetsHandler.java | 8 ++++---- .../solr/handler/admin/ContainerPluginsApi.java | 10 +++++----- .../solr/handler/admin/CoreAdminHandler.java | 6 +++--- .../solr/handler/admin/HealthCheckHandler.java | 4 ++-- .../apache/solr/handler/admin/InfoHandler.java | 4 ++-- .../solr/handler/admin/LoggingHandler.java | 4 ++-- .../handler/admin/PropertiesRequestHandler.java | 4 ++-- .../solr/handler/admin/SecurityConfHandler.java | 8 ++++---- .../solr/handler/admin/SystemInfoHandler.java | 4 ++-- .../solr/handler/admin/ThreadDumpHandler.java | 4 ++-- .../solr/handler/admin/api/AdminAPIBase.java | 2 +- .../handler/admin/api/AllCoresStatusAPI.java | 2 +- .../solr/handler/admin/api/CancelTaskAPI.java | 2 +- .../handler/admin/api/CollectionStatusAPI.java | 2 +- .../solr/handler/admin/api/CoreAdminAPIBase.java | 2 +- .../solr/handler/admin/api/CreateCoreAPI.java | 6 +++--- .../admin/api/GetAuthenticationConfigAPI.java | 2 +- .../admin/api/GetAuthorizationConfigAPI.java | 2 +- .../solr/handler/admin/api/GetBlobInfoAPI.java | 2 +- .../solr/handler/admin/api/GetConfigAPI.java | 2 +- .../solr/handler/admin/api/GetSchemaAPI.java | 2 +- .../handler/admin/api/GetSchemaFieldAPI.java | 2 +- .../handler/admin/api/GetSchemaZkVersionAPI.java | 2 +- .../handler/admin/api/ListActiveTasksAPI.java | 2 +- .../solr/handler/admin/api/MergeIndexesAPI.java | 6 +++--- .../solr/handler/admin/api/MigrateDocsAPI.java | 6 +++--- .../admin/api/ModifyBasicAuthConfigAPI.java | 6 +++--- .../handler/admin/api/ModifyCollectionAPI.java | 6 +++--- .../admin/api/ModifyConfigComponentAPI.java | 2 +- .../api/ModifyMultiPluginAuthConfigAPI.java | 6 +++--- .../api/ModifyNoAuthPluginSecurityConfigAPI.java | 2 +- .../ModifyNoAuthzPluginSecurityConfigAPI.java | 2 +- .../handler/admin/api/ModifyParamSetAPI.java | 2 +- .../admin/api/ModifyRuleBasedAuthConfigAPI.java | 6 +++--- .../solr/handler/admin/api/MoreLikeThisAPI.java | 2 +- .../solr/handler/admin/api/MoveReplicaAPI.java | 6 +++--- .../solr/handler/admin/api/NodeHealthAPI.java | 2 +- .../solr/handler/admin/api/NodeLoggingAPI.java | 2 +- .../handler/admin/api/NodePropertiesAPI.java | 2 +- .../handler/admin/api/NodeSystemInfoAPI.java | 2 +- .../solr/handler/admin/api/NodeThreadsAPI.java | 2 +- .../handler/admin/api/OverseerOperationAPI.java | 6 +++--- .../admin/api/PrepareCoreRecoveryAPI.java | 6 +++--- .../solr/handler/admin/api/RealTimeGetAPI.java | 2 +- .../handler/admin/api/RebalanceLeadersAPI.java | 6 +++--- .../admin/api/RejoinLeaderElectionAPI.java | 6 +++--- .../solr/handler/admin/api/ReloadCoreAPI.java | 6 +++--- .../solr/handler/admin/api/RenameCoreAPI.java | 6 +++--- .../handler/admin/api/ReplicationAPIBase.java | 2 +- .../admin/api/RequestApplyCoreUpdatesAPI.java | 6 +++--- .../admin/api/RequestBufferUpdatesAPI.java | 6 +++--- .../admin/api/RequestCoreCommandStatusAPI.java | 2 +- .../admin/api/RequestCoreRecoveryAPI.java | 6 +++--- .../handler/admin/api/RequestSyncShardAPI.java | 6 +++--- .../handler/admin/api/SchemaBulkModifyAPI.java | 2 +- .../handler/admin/api/SingleCoreStatusAPI.java | 2 +- .../solr/handler/admin/api/SplitCoreAPI.java | 6 +++--- .../solr/handler/admin/api/SplitShardAPI.java | 6 +++--- .../solr/handler/admin/api/SwapCoresAPI.java | 6 +++--- .../solr/handler/admin/api/UnloadCoreAPI.java | 6 +++--- .../apache/solr/handler/admin/api/UpdateAPI.java | 2 +- .../solr/handler/admin/api/UploadBlobAPI.java | 2 +- .../component/ActiveTasksListHandler.java | 4 ++-- .../component/QueryCancellationHandler.java | 4 ++-- .../handler/configsets/CreateConfigSetAPI.java | 6 +++--- .../handler/configsets/DeleteConfigSetAPI.java | 2 +- .../handler/configsets/ListConfigSetsAPI.java | 2 +- .../handler/configsets/UploadConfigSetAPI.java | 2 +- .../configsets/UploadConfigSetFileAPI.java | 2 +- .../solr/handler/designer/SchemaDesignerAPI.java | 2 +- .../solr/jersey/MediaTypeOverridingFilter.java | 2 +- .../solr/jersey/NotFoundExceptionMapper.java | 2 +- .../org/apache/solr/jersey/PermissionName.java | 2 +- .../src/java/org/apache/solr/pkg/PackageAPI.java | 6 +++--- .../solr/request/SolrQueryRequestBase.java | 2 +- .../apache/solr/security/MultiAuthPlugin.java | 4 ++-- .../org/apache/solr/security/PublicKeyAPI.java | 2 +- .../apache/solr/security/PublicKeyHandler.java | 4 ++-- .../RuleBasedAuthorizationPluginBase.java | 4 ++-- .../security/Sha256AuthenticationProvider.java | 4 ++-- .../solr/servlet/CoordinatorHttpSolrCall.java | 2 +- .../org/apache/solr/servlet/HttpSolrCall.java | 4 ++-- .../org/apache/solr/servlet/ResponseUtils.java | 2 +- .../apache/solr/servlet/SolrDispatchFilter.java | 2 +- .../apache/solr/servlet/SolrRequestParsers.java | 2 +- .../src/test-files/runtimecode/MyPlugin.java.txt | 4 ++-- .../api/{framework => }/JerseyResourceTest.java | 4 ++-- .../TestEmbeddedSolrServerSchemaAPI.java | 2 +- .../org/apache/solr/cloud/TestConfigSetsAPI.java | 2 +- .../apache/solr/handler/TestContainerPlugin.java | 8 ++++---- .../solr/handler/V2ClusterAPIMappingTest.java | 4 ++-- .../solr/handler/V2UpdateAPIMappingTest.java | 4 ++-- .../solr/handler/admin/TestApiFramework.java | 16 ++++++++-------- .../solr/handler/admin/TestCollectionAPIs.java | 4 ++-- .../solr/handler/admin/TestCoreAdminApis.java | 4 ++-- .../solr/handler/admin/V2ApiMappingTest.java | 6 +++--- .../solr/handler/admin/V2BlobAPIMappingTest.java | 2 +- .../handler/admin/V2ConfigAPIMappingTest.java | 2 +- .../handler/admin/V2SecurityAPIMappingTest.java | 6 +++--- .../handler/admin/api/V2NodeAPIMappingTest.java | 4 ++-- .../apache/solr/security/jwt/JWTAuthPlugin.java | 4 ++-- .../jwt/api/ModifyJWTAuthPluginConfigAPI.java | 6 +++--- .../jwt/api/V2JWTSecurityApiMappingTest.java | 6 +++--- .../solr/client/solrj/request/SchemaTest.java | 2 +- .../apache/solr/common/util/TestPathTrie.java | 2 +- 138 files changed, 274 insertions(+), 276 deletions(-) rename solr/core/src/java/org/apache/solr/api/{framework => }/AnnotatedApi.java (99%) rename solr/core/src/java/org/apache/solr/api/{framework => }/Api.java (98%) rename solr/core/src/java/org/apache/solr/api/{framework => }/ApiBag.java (99%) rename solr/core/src/java/org/apache/solr/api/{framework => }/ApiSupport.java (97%) rename solr/core/src/java/org/apache/solr/api/{framework => }/Command.java (96%) rename solr/core/src/java/org/apache/solr/api/{framework => }/ConfigurablePlugin.java (96%) rename solr/core/src/java/org/apache/solr/api/{framework => }/ContainerPluginsRegistry.java (99%) rename solr/core/src/java/org/apache/solr/api/{framework => }/CoordinatorV2HttpSolrCall.java (98%) rename solr/core/src/java/org/apache/solr/api/{framework => }/EndPoint.java (97%) rename solr/core/src/java/org/apache/solr/api/{framework => }/JerseyResource.java (98%) rename solr/core/src/java/org/apache/solr/api/{framework => }/PayloadObj.java (97%) rename solr/core/src/java/org/apache/solr/api/{framework => }/V2HttpCall.java (99%) rename solr/core/src/java/org/apache/solr/api/{framework => }/package-info.java (87%) rename solr/core/src/test/org/apache/solr/api/{framework => }/JerseyResourceTest.java (96%) diff --git a/solr/api/build.gradle b/solr/api/build.gradle index f61977993af..c83114feb46 100644 --- a/solr/api/build.gradle +++ b/solr/api/build.gradle @@ -50,8 +50,7 @@ dependencies { implementation 'org.semver4j:semver4j' testImplementation project(':solr:test-framework') - testImplementation project(':solr:api') - testImplementation 'org.apache.lucene:lucene-test-framework' + testImplementation 'junit:junit' } artifacts { diff --git a/solr/api/src/java/org/apache/solr/api/ApiMetadata.java b/solr/api/src/java/org/apache/solr/api/ApiMetadata.java index bd7462d261f..fa9fb899cd3 100644 --- a/solr/api/src/java/org/apache/solr/api/ApiMetadata.java +++ b/solr/api/src/java/org/apache/solr/api/ApiMetadata.java @@ -20,7 +20,7 @@ import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Info; import io.swagger.v3.oas.annotations.info.License; -import org.apache.solr.util.SolrVersion; +import org.apache.solr.v2.api.util.SolrVersion; @OpenAPIDefinition( info = diff --git a/solr/core/src/java/org/apache/solr/api/framework/AnnotatedApi.java b/solr/core/src/java/org/apache/solr/api/AnnotatedApi.java similarity index 99% rename from solr/core/src/java/org/apache/solr/api/framework/AnnotatedApi.java rename to solr/core/src/java/org/apache/solr/api/AnnotatedApi.java index d1452eec685..7ec6ab6a919 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/AnnotatedApi.java +++ b/solr/core/src/java/org/apache/solr/api/AnnotatedApi.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.MapperFeature; diff --git a/solr/core/src/java/org/apache/solr/api/framework/Api.java b/solr/core/src/java/org/apache/solr/api/Api.java similarity index 98% rename from solr/core/src/java/org/apache/solr/api/framework/Api.java rename to solr/core/src/java/org/apache/solr/api/Api.java index 386c26b39af..54010912ae2 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/Api.java +++ b/solr/core/src/java/org/apache/solr/api/Api.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import java.util.Map; import org.apache.solr.common.SpecProvider; diff --git a/solr/core/src/java/org/apache/solr/api/framework/ApiBag.java b/solr/core/src/java/org/apache/solr/api/ApiBag.java similarity index 99% rename from solr/core/src/java/org/apache/solr/api/framework/ApiBag.java rename to solr/core/src/java/org/apache/solr/api/ApiBag.java index 2f5bdc9c6ac..48359f783b1 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/ApiBag.java +++ b/solr/core/src/java/org/apache/solr/api/ApiBag.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import static org.apache.solr.client.solrj.SolrRequest.SUPPORTED_METHODS; import static org.apache.solr.common.params.CommonParams.NAME; diff --git a/solr/core/src/java/org/apache/solr/api/framework/ApiSupport.java b/solr/core/src/java/org/apache/solr/api/ApiSupport.java similarity index 97% rename from solr/core/src/java/org/apache/solr/api/framework/ApiSupport.java rename to solr/core/src/java/org/apache/solr/api/ApiSupport.java index 6b461a16b3b..efeffcad773 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/ApiSupport.java +++ b/solr/core/src/java/org/apache/solr/api/ApiSupport.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import java.util.Collection; import java.util.Collections; diff --git a/solr/core/src/java/org/apache/solr/api/framework/Command.java b/solr/core/src/java/org/apache/solr/api/Command.java similarity index 96% rename from solr/core/src/java/org/apache/solr/api/framework/Command.java rename to solr/core/src/java/org/apache/solr/api/Command.java index 2ec8eabeb9d..61aca7c82d6 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/Command.java +++ b/solr/core/src/java/org/apache/solr/api/Command.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/solr/core/src/java/org/apache/solr/api/framework/ConfigurablePlugin.java b/solr/core/src/java/org/apache/solr/api/ConfigurablePlugin.java similarity index 96% rename from solr/core/src/java/org/apache/solr/api/framework/ConfigurablePlugin.java rename to solr/core/src/java/org/apache/solr/api/ConfigurablePlugin.java index 04eddbe1a17..6ce06c28fea 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/ConfigurablePlugin.java +++ b/solr/core/src/java/org/apache/solr/api/ConfigurablePlugin.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import org.apache.solr.common.MapWriter; diff --git a/solr/core/src/java/org/apache/solr/api/framework/ContainerPluginsRegistry.java b/solr/core/src/java/org/apache/solr/api/ContainerPluginsRegistry.java similarity index 99% rename from solr/core/src/java/org/apache/solr/api/framework/ContainerPluginsRegistry.java rename to solr/core/src/java/org/apache/solr/api/ContainerPluginsRegistry.java index 8f4789d9fcc..3fea96c2ba8 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/ContainerPluginsRegistry.java +++ b/solr/core/src/java/org/apache/solr/api/ContainerPluginsRegistry.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import static org.apache.lucene.util.IOUtils.closeWhileHandlingException; diff --git a/solr/core/src/java/org/apache/solr/api/framework/CoordinatorV2HttpSolrCall.java b/solr/core/src/java/org/apache/solr/api/CoordinatorV2HttpSolrCall.java similarity index 98% rename from solr/core/src/java/org/apache/solr/api/framework/CoordinatorV2HttpSolrCall.java rename to solr/core/src/java/org/apache/solr/api/CoordinatorV2HttpSolrCall.java index 463f77d0e79..f29d2407022 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/CoordinatorV2HttpSolrCall.java +++ b/solr/core/src/java/org/apache/solr/api/CoordinatorV2HttpSolrCall.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; diff --git a/solr/core/src/java/org/apache/solr/api/framework/EndPoint.java b/solr/core/src/java/org/apache/solr/api/EndPoint.java similarity index 97% rename from solr/core/src/java/org/apache/solr/api/framework/EndPoint.java rename to solr/core/src/java/org/apache/solr/api/EndPoint.java index 23904747002..0c1ae6605be 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/EndPoint.java +++ b/solr/core/src/java/org/apache/solr/api/EndPoint.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/solr/core/src/java/org/apache/solr/api/framework/JerseyResource.java b/solr/core/src/java/org/apache/solr/api/JerseyResource.java similarity index 98% rename from solr/core/src/java/org/apache/solr/api/framework/JerseyResource.java rename to solr/core/src/java/org/apache/solr/api/JerseyResource.java index 69147b09b57..4cbf2efde9b 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/JerseyResource.java +++ b/solr/core/src/java/org/apache/solr/api/JerseyResource.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import static org.apache.solr.jersey.RequestContextKeys.SOLR_JERSEY_RESPONSE; diff --git a/solr/core/src/java/org/apache/solr/api/framework/PayloadObj.java b/solr/core/src/java/org/apache/solr/api/PayloadObj.java similarity index 97% rename from solr/core/src/java/org/apache/solr/api/framework/PayloadObj.java rename to solr/core/src/java/org/apache/solr/api/PayloadObj.java index ab693094030..7e908a6a31c 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/PayloadObj.java +++ b/solr/core/src/java/org/apache/solr/api/PayloadObj.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import org.apache.solr.common.util.CommandOperation; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/api/framework/V2HttpCall.java b/solr/core/src/java/org/apache/solr/api/V2HttpCall.java similarity index 99% rename from solr/core/src/java/org/apache/solr/api/framework/V2HttpCall.java rename to solr/core/src/java/org/apache/solr/api/V2HttpCall.java index c2860d22bff..46c66e403df 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/V2HttpCall.java +++ b/solr/core/src/java/org/apache/solr/api/V2HttpCall.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import static org.apache.solr.common.cloud.ZkStateReader.COLLECTION_PROP; import static org.apache.solr.servlet.SolrDispatchFilter.Action.ADMIN; diff --git a/solr/core/src/java/org/apache/solr/api/framework/package-info.java b/solr/core/src/java/org/apache/solr/api/package-info.java similarity index 87% rename from solr/core/src/java/org/apache/solr/api/framework/package-info.java rename to solr/core/src/java/org/apache/solr/api/package-info.java index c091c9f58ec..6e4ddf95a8f 100644 --- a/solr/core/src/java/org/apache/solr/api/framework/package-info.java +++ b/solr/core/src/java/org/apache/solr/api/package-info.java @@ -14,6 +14,5 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -/** Classes used to implement Solr's legacy (non-JAX-RS) v2 API framework. */ -package org.apache.solr.api.framework; +/** Commonly used classes for Solr V2 API. */ +package org.apache.solr.api; diff --git a/solr/core/src/java/org/apache/solr/cluster/events/impl/ClusterEventProducerFactory.java b/solr/core/src/java/org/apache/solr/cluster/events/impl/ClusterEventProducerFactory.java index 35da4bcb11e..a022f9c20c4 100644 --- a/solr/core/src/java/org/apache/solr/cluster/events/impl/ClusterEventProducerFactory.java +++ b/solr/core/src/java/org/apache/solr/cluster/events/impl/ClusterEventProducerFactory.java @@ -18,8 +18,7 @@ import java.lang.invoke.MethodHandles; import java.util.Set; -import org.apache.solr.api.framework.ContainerPluginsRegistry; -import org.apache.solr.api.framework.ContainerPluginsRegistry.PluginRegistryListener; +import org.apache.solr.api.ContainerPluginsRegistry; import org.apache.solr.cluster.events.ClusterEvent; import org.apache.solr.cluster.events.ClusterEventListener; import org.apache.solr.cluster.events.ClusterEventProducer; @@ -36,7 +35,7 @@ public class ClusterEventProducerFactory extends ClusterEventProducerBase { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - private PluginRegistryListener initialPluginListener; + private ContainerPluginsRegistry.PluginRegistryListener initialPluginListener; private boolean created = false; public ClusterEventProducerFactory(CoreContainer cc) { @@ -44,7 +43,7 @@ public ClusterEventProducerFactory(CoreContainer cc) { // this initial listener is used only for capturing plugin registrations // done by other nodes while this CoreContainer is still loading initialPluginListener = - new PluginRegistryListener() { + new ContainerPluginsRegistry.PluginRegistryListener() { @Override public void added(ContainerPluginsRegistry.ApiInfo plugin) { if (plugin == null || plugin.getInstance() == null) { @@ -87,7 +86,7 @@ public Set getSupportedEventTypes() { * * @return initial listener */ - public PluginRegistryListener getPluginRegistryListener() { + public ContainerPluginsRegistry.PluginRegistryListener getPluginRegistryListener() { return initialPluginListener; } @@ -96,7 +95,8 @@ public PluginRegistryListener getPluginRegistryListener() { * *

NOTE: this method can only be called once because it has side-effects, such as transferring * the initially collected listeners to the resulting producer's instance, and installing a {@link - * PluginRegistryListener}. Calling this method more than once will result in an exception. + * org.apache.solr.api.ContainerPluginsRegistry.PluginRegistryListener}. Calling this method more + * than once will result in an exception. * * @param plugins current plugin configurations * @return configured instance of cluster event producer (with side-effects, see above) @@ -125,8 +125,8 @@ public DelegatingClusterEventProducer create(ContainerPluginsRegistry plugins) { // install plugin registry listener that maintains plugin-based listeners in // the event producer impl - PluginRegistryListener pluginListener = - new PluginRegistryListener() { + ContainerPluginsRegistry.PluginRegistryListener pluginListener = + new ContainerPluginsRegistry.PluginRegistryListener() { @Override public void added(ContainerPluginsRegistry.ApiInfo plugin) { if (plugin == null || plugin.getInstance() == null) { diff --git a/solr/core/src/java/org/apache/solr/cluster/placement/PlacementPluginFactory.java b/solr/core/src/java/org/apache/solr/cluster/placement/PlacementPluginFactory.java index b08e8121c62..212c92906dd 100644 --- a/solr/core/src/java/org/apache/solr/cluster/placement/PlacementPluginFactory.java +++ b/solr/core/src/java/org/apache/solr/cluster/placement/PlacementPluginFactory.java @@ -17,7 +17,7 @@ package org.apache.solr.cluster.placement; -import org.apache.solr.api.framework.ConfigurablePlugin; +import org.apache.solr.api.ConfigurablePlugin; import org.apache.solr.cluster.placement.plugins.SimplePlacementFactory; /** @@ -25,8 +25,8 @@ * org.apache.solr.handler.admin.ContainerPluginsApi#editAPI}) allowing the creation of instances of * {@link PlacementPlugin} to be used for replica placement computation. * - *

Note: configurable factory implementations should also implement {@link ConfigurablePlugin} - * with the appropriate configuration bean type. + *

Note: configurable factory implementations should also implement {@link + * org.apache.solr.api.ConfigurablePlugin} with the appropriate configuration bean type. */ public interface PlacementPluginFactory extends ConfigurablePlugin { diff --git a/solr/core/src/java/org/apache/solr/cluster/placement/impl/PlacementPluginFactoryLoader.java b/solr/core/src/java/org/apache/solr/cluster/placement/impl/PlacementPluginFactoryLoader.java index e94d8da0135..0728c8c221c 100644 --- a/solr/core/src/java/org/apache/solr/cluster/placement/impl/PlacementPluginFactoryLoader.java +++ b/solr/core/src/java/org/apache/solr/cluster/placement/impl/PlacementPluginFactoryLoader.java @@ -18,7 +18,7 @@ package org.apache.solr.cluster.placement.impl; import java.lang.invoke.MethodHandles; -import org.apache.solr.api.framework.ContainerPluginsRegistry; +import org.apache.solr.api.ContainerPluginsRegistry; import org.apache.solr.client.solrj.request.beans.PluginMeta; import org.apache.solr.cluster.placement.PlacementPluginConfig; import org.apache.solr.cluster.placement.PlacementPluginFactory; diff --git a/solr/core/src/java/org/apache/solr/core/ClusterSingletons.java b/solr/core/src/java/org/apache/solr/core/ClusterSingletons.java index cf2d562b142..6e2c0417818 100644 --- a/solr/core/src/java/org/apache/solr/core/ClusterSingletons.java +++ b/solr/core/src/java/org/apache/solr/core/ClusterSingletons.java @@ -25,7 +25,7 @@ import java.util.concurrent.TimeoutException; import java.util.function.Consumer; import java.util.function.Supplier; -import org.apache.solr.api.framework.ContainerPluginsRegistry; +import org.apache.solr.api.ContainerPluginsRegistry; import org.apache.solr.cloud.ClusterSingleton; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java index f3245750120..f223f41e36f 100644 --- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java +++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java @@ -66,8 +66,8 @@ import org.apache.lucene.index.IndexWriter; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.store.Directory; -import org.apache.solr.api.framework.ContainerPluginsRegistry; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.ContainerPluginsRegistry; +import org.apache.solr.api.JerseyResource; import org.apache.solr.client.solrj.impl.HttpClientUtil; import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder; import org.apache.solr.client.solrj.impl.SolrHttpClientContextBuilder; diff --git a/solr/core/src/java/org/apache/solr/core/PluginBag.java b/solr/core/src/java/org/apache/solr/core/PluginBag.java index 5b32da19eac..c70bdd4af9d 100644 --- a/solr/core/src/java/org/apache/solr/core/PluginBag.java +++ b/solr/core/src/java/org/apache/solr/core/PluginBag.java @@ -17,7 +17,7 @@ package org.apache.solr.core; import static java.util.Collections.singletonMap; -import static org.apache.solr.api.framework.ApiBag.HANDLER_NAME; +import static org.apache.solr.api.ApiBag.HANDLER_NAME; import java.io.IOException; import java.lang.invoke.MethodHandles; @@ -34,10 +34,10 @@ import java.util.stream.Collectors; import org.apache.lucene.util.ResourceLoader; import org.apache.lucene.util.ResourceLoaderAware; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; -import org.apache.solr.api.framework.ApiSupport; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; +import org.apache.solr.api.ApiSupport; +import org.apache.solr.api.JerseyResource; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.StrUtils; import org.apache.solr.handler.RequestHandlerBase; diff --git a/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java b/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java index 2e42831a1ab..eb87c1a8e29 100644 --- a/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java +++ b/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java @@ -35,7 +35,7 @@ import java.util.function.Consumer; import java.util.function.Supplier; import org.apache.commons.codec.digest.DigestUtils; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.common.MapWriter; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/BlobHandler.java b/solr/core/src/java/org/apache/solr/handler/BlobHandler.java index 028fbbb4284..727eb1252df 100644 --- a/solr/core/src/java/org/apache/solr/handler/BlobHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/BlobHandler.java @@ -42,8 +42,8 @@ import org.apache.lucene.search.TermQuery; import org.apache.lucene.search.TopDocs; import org.apache.lucene.search.TopFieldDocs; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.cli.SimplePostTool; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrInputDocument; diff --git a/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java b/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java index c8cb3257c36..e161d55e5b3 100644 --- a/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java @@ -39,9 +39,9 @@ import java.util.Map; import java.util.NoSuchElementException; import java.util.Set; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.cloud.DistribStateManager; import org.apache.solr.client.solrj.request.beans.ClusterPropPayload; import org.apache.solr.client.solrj.request.beans.RateLimiterPayload; diff --git a/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java b/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java index 4bbbc5895d6..155ba9ea075 100644 --- a/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java @@ -37,8 +37,8 @@ import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; import org.apache.lucene.util.CharsRefBuilder; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.FacetParams; diff --git a/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java b/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java index 947abd270f5..5f1d0460090 100644 --- a/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/RealTimeGetHandler.java @@ -19,8 +19,8 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.handler.admin.api.RealTimeGetAPI; import org.apache.solr.handler.component.HttpShardHandler; import org.apache.solr.handler.component.RealTimeGetComponent; diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java index 7650c5acd29..c8212c56b5a 100644 --- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java @@ -65,7 +65,7 @@ import org.apache.lucene.store.IOContext; import org.apache.lucene.store.IndexInput; import org.apache.lucene.store.RateLimiter; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; diff --git a/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java b/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java index a42396cada7..3a3c89f2b8a 100644 --- a/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java +++ b/solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java @@ -24,9 +24,9 @@ import java.lang.invoke.MethodHandles; import java.util.Collection; import java.util.Collections; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; -import org.apache.solr.api.framework.ApiSupport; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; +import org.apache.solr.api.ApiSupport; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.NamedList; diff --git a/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java b/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java index b5200417c61..58a2ad1890a 100644 --- a/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java @@ -32,10 +32,10 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; +import org.apache.solr.api.JerseyResource; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.MapSolrParams; import org.apache.solr.common.params.SolrParams; diff --git a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java index 992a6b98e04..763ed3c11ab 100644 --- a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java @@ -51,9 +51,9 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/V2UpdateRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/V2UpdateRequestHandler.java index d47ab768884..d4bbae9b7b6 100644 --- a/solr/core/src/java/org/apache/solr/handler/V2UpdateRequestHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/V2UpdateRequestHandler.java @@ -18,9 +18,8 @@ package org.apache.solr.handler; import java.util.Collection; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.handler.admin.api.UpdateAPI; /** @@ -28,10 +27,11 @@ * *

At core-load time, Solr looks at each 'plugin' in ImplicitPlugins.json, fetches the v2 {@link * Api} implementations associated with each RequestHandler, and registers them in an {@link - * ApiBag}. Since UpdateRequestHandler is mentioned multiple times in ImplicitPlugins.json (once for - * each update API: /update, /update/json, etc.), this would cause the v2 APIs to be registered in - * duplicate. To avoid this, Solr has this RequestHandler, whose only purpose is to register the v2 - * APIs that conceptually should be associated with UpdateRequestHandler. + * org.apache.solr.api.ApiBag}. Since UpdateRequestHandler is mentioned multiple times in + * ImplicitPlugins.json (once for each update API: /update, /update/json, etc.), this would cause + * the v2 APIs to be registered in duplicate. To avoid this, Solr has this RequestHandler, whose + * only purpose is to register the v2 APIs that conceptually should be associated with + * UpdateRequestHandler. */ public class V2UpdateRequestHandler extends UpdateRequestHandler { diff --git a/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java b/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java index 1dcff291de6..d7dcbc823fd 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java @@ -30,8 +30,8 @@ import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiSupport; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiSupport; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.request.ApiMapping.CommandMeta; import org.apache.solr.client.solrj.request.ApiMapping.V2EndPoint; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java index 461731c97f1..6c057dd8c7c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java @@ -119,9 +119,9 @@ import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; +import org.apache.solr.api.JerseyResource; import org.apache.solr.api.model.AddReplicaPropertyRequestBody; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java index b978a015f3e..96015b2486e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandler.java @@ -25,10 +25,10 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.JerseyResource; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; +import org.apache.solr.api.JerseyResource; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.CreateConfigPayload; import org.apache.solr.cloud.ConfigSetCmds; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ContainerPluginsApi.java b/solr/core/src/java/org/apache/solr/handler/admin/ContainerPluginsApi.java index 774b492c06b..117334b6d4b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ContainerPluginsApi.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ContainerPluginsApi.java @@ -28,11 +28,11 @@ import java.util.Objects; import java.util.function.Function; import java.util.function.Supplier; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.ContainerPluginsRegistry; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Command; +import org.apache.solr.api.ContainerPluginsRegistry; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.SolrRequest.METHOD; import org.apache.solr.client.solrj.request.beans.PluginMeta; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java index 7307d944a24..e080af316bf 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java @@ -35,9 +35,9 @@ import java.util.Map.Entry; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; +import org.apache.solr.api.JerseyResource; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/HealthCheckHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/HealthCheckHandler.java index 371623c80c2..3f5c8442b47 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/HealthCheckHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/HealthCheckHandler.java @@ -30,8 +30,8 @@ import java.util.Locale; import java.util.stream.Collectors; import org.apache.lucene.index.IndexCommit; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.client.solrj.request.HealthCheckRequest; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/InfoHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/InfoHandler.java index 689a87c2ada..455bd361247 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/InfoHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/InfoHandler.java @@ -24,8 +24,8 @@ import java.util.Locale; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.Api; +import org.apache.solr.api.JerseyResource; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.NamedList; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/LoggingHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/LoggingHandler.java index c3c1e07f489..67dbe69cd9c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/LoggingHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/LoggingHandler.java @@ -20,8 +20,8 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.Api; +import org.apache.solr.api.JerseyResource; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.params.SolrParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java index 38ed714b00a..8658adf3c52 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java @@ -21,8 +21,8 @@ import java.io.IOException; import java.util.Collection; import java.util.Enumeration; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java index df9953a380f..9142449cba6 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java @@ -28,10 +28,10 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; -import org.apache.solr.api.framework.ApiBag.ReqHandlerToApi; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; +import org.apache.solr.api.ApiBag.ReqHandlerToApi; import org.apache.solr.common.SolrException; import org.apache.solr.common.SpecProvider; import org.apache.solr.common.params.CommonParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java index fe36b8bd211..6f30e06b340 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java @@ -37,8 +37,8 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.lucene.util.Version; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java index acd79839a76..5d2832cd74e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java @@ -28,8 +28,8 @@ import java.util.Collection; import java.util.List; import java.util.Locale; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.handler.RequestHandlerBase; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java index ac665441d9b..99cf4578ea4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java @@ -20,7 +20,7 @@ import static org.apache.solr.handler.admin.CollectionsHandler.DEFAULT_COLLECTION_OP_TIMEOUT; import java.util.Map; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.JerseyResource; import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AllCoresStatusAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AllCoresStatusAPI.java index 27f9b599db2..87f7c9bffa9 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AllCoresStatusAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AllCoresStatusAPI.java @@ -23,7 +23,7 @@ import static org.apache.solr.handler.ClusterAPI.wrapParams; import static org.apache.solr.security.PermissionNameProvider.Name.CORE_READ_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CancelTaskAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CancelTaskAPI.java index d401136212b..a63adc055f4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CancelTaskAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CancelTaskAPI.java @@ -19,7 +19,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.component.QueryCancellationHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionStatusAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionStatusAPI.java index f0556b5b148..4b7eabe7226 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionStatusAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionStatusAPI.java @@ -24,7 +24,7 @@ import static org.apache.solr.security.PermissionNameProvider.Name.COLL_READ_PERM; import java.lang.invoke.MethodHandles; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.handler.admin.CollectionsHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java index 577fd8117bc..e5d322a6afe 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java @@ -17,7 +17,7 @@ package org.apache.solr.handler.admin.api; import java.util.function.Supplier; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreAPI.java index 719b8f9f660..d797c88e0be 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCoreAPI.java @@ -29,9 +29,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.CreateCorePayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthenticationConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthenticationConfigAPI.java index 91e4604d356..9a7b7947689 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthenticationConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthenticationConfigAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_READ_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.admin.SecurityConfHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthorizationConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthorizationConfigAPI.java index f1eb102a8a4..aa4edbdf1e2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthorizationConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetAuthorizationConfigAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_READ_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.admin.SecurityConfHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetBlobInfoAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetBlobInfoAPI.java index 388684cc301..29345c12b88 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetBlobInfoAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetBlobInfoAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.READ_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.BlobHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetConfigAPI.java index 84e06959f73..8c8dcd25d53 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetConfigAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_READ_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.SolrConfigHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java index fa09ec1a648..93f6161f9fb 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java @@ -26,7 +26,7 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.SimpleOrderedMap; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java index 060be56ed4e..9df213536f8 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java @@ -28,7 +28,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.MapWriter; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java index c77e10434b1..462cf732c03 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java @@ -28,7 +28,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.cloud.ZkSolrResourceLoader; import org.apache.solr.core.SolrCore; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListActiveTasksAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListActiveTasksAPI.java index 4028ee6aa56..fba3d9d26f3 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListActiveTasksAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListActiveTasksAPI.java @@ -19,7 +19,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.component.ActiveTasksListHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexesAPI.java index 21fb180016a..b99141a9047 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MergeIndexesAPI.java @@ -25,9 +25,9 @@ import java.util.List; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.params.UpdateParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateDocsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateDocsAPI.java index 368fc7fc6fe..7e3898c8a89 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateDocsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateDocsAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.MigrateDocsPayload; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.handler.admin.CollectionsHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyBasicAuthConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyBasicAuthConfigAPI.java index 32ff75ebe0a..dd7e488b43d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyBasicAuthConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyBasicAuthConfigAPI.java @@ -22,9 +22,9 @@ import java.util.List; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; /** V2 API to modify configuration for Solr's {@link org.apache.solr.security.BasicAuthPlugin} */ @EndPoint( diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyCollectionAPI.java index 7e0c90723c6..93d11d0c428 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyCollectionAPI.java @@ -26,9 +26,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.ModifyCollectionPayload; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.handler.admin.CollectionsHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyConfigComponentAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyConfigComponentAPI.java index 012d14bdd4b..465ff329f6b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyConfigComponentAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyConfigComponentAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_EDIT_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.SolrConfigHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyMultiPluginAuthConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyMultiPluginAuthConfigAPI.java index 8b04133d2c1..b9a19eb1ce1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyMultiPluginAuthConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyMultiPluginAuthConfigAPI.java @@ -22,9 +22,9 @@ import java.util.List; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.security.MultiAuthPlugin; /** V2 API to modify configuration options for the {@link MultiAuthPlugin}. */ diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthPluginSecurityConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthPluginSecurityConfigAPI.java index 6ae23a4b045..031410e2a46 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthPluginSecurityConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthPluginSecurityConfigAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_EDIT_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.admin.SecurityConfHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthzPluginSecurityConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthzPluginSecurityConfigAPI.java index 233fbe73cd4..c90c5fd2b02 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthzPluginSecurityConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyNoAuthzPluginSecurityConfigAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_EDIT_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.admin.SecurityConfHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyParamSetAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyParamSetAPI.java index e562d789999..eb25ca4642b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyParamSetAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyParamSetAPI.java @@ -21,7 +21,7 @@ import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_EDIT_PERM; import java.lang.invoke.MethodHandles; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.SolrConfigHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyRuleBasedAuthConfigAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyRuleBasedAuthConfigAPI.java index 755e78e9be8..03ba29bae73 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyRuleBasedAuthConfigAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ModifyRuleBasedAuthConfigAPI.java @@ -21,9 +21,9 @@ import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_EDIT_PERM; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.SetRuleBasedAuthPermissionPayload; import org.apache.solr.client.solrj.request.beans.UpdateRuleBasedAuthPermissionPayload; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MoreLikeThisAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MoreLikeThisAPI.java index 94424c67816..5c690ba517e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MoreLikeThisAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MoreLikeThisAPI.java @@ -19,7 +19,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.MoreLikeThisHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MoveReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MoveReplicaAPI.java index 72e83aedb33..3c0d701de30 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MoveReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MoveReplicaAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.MoveReplicaPayload; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.handler.admin.CollectionsHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeHealthAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeHealthAPI.java index b6c85f21054..db5e97039b2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeHealthAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeHealthAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_READ_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.admin.HealthCheckHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java index 505c14db97f..dc0b20c10c2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java @@ -34,7 +34,7 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodePropertiesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodePropertiesAPI.java index aa88efb8932..d9cf81f8a8b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodePropertiesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodePropertiesAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_READ_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.admin.PropertiesRequestHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeSystemInfoAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeSystemInfoAPI.java index 5367e1a1b3b..d7df2cfa0cd 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeSystemInfoAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeSystemInfoAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_READ_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.admin.SystemInfoHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeThreadsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeThreadsAPI.java index f398f4ac067..bea1827304c 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeThreadsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeThreadsAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; import static org.apache.solr.security.PermissionNameProvider.Name.METRICS_READ_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.admin.ThreadDumpHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/OverseerOperationAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/OverseerOperationAPI.java index d5d2bcd5558..1c566a8c610 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/OverseerOperationAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/OverseerOperationAPI.java @@ -25,9 +25,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.OverseerOperationPayload; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/PrepareCoreRecoveryAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/PrepareCoreRecoveryAPI.java index bdd815933a8..c5b83049815 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/PrepareCoreRecoveryAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/PrepareCoreRecoveryAPI.java @@ -27,9 +27,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.PrepareCoreRecoveryPayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RealTimeGetAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RealTimeGetAPI.java index 8b6ee5d770a..25544d02fce 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RealTimeGetAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RealTimeGetAPI.java @@ -18,7 +18,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.RealTimeGetHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RebalanceLeadersAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RebalanceLeadersAPI.java index 70b18215a6e..e9127817732 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RebalanceLeadersAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RebalanceLeadersAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.RebalanceLeadersPayload; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.handler.admin.CollectionsHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RejoinLeaderElectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RejoinLeaderElectionAPI.java index 87d70068a34..5ce02a60e20 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RejoinLeaderElectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RejoinLeaderElectionAPI.java @@ -28,9 +28,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.RejoinLeaderElectionPayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCoreAPI.java index b29d080f4b0..e330d713340 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCoreAPI.java @@ -25,9 +25,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.util.ReflectMapWriter; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCoreAPI.java index c19719589ad..c2235af6894 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCoreAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.util.ReflectMapWriter; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplicationAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplicationAPIBase.java index 447599b08bd..f438ecc2ac7 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplicationAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplicationAPIBase.java @@ -31,7 +31,7 @@ import org.apache.lucene.store.Directory; import org.apache.lucene.store.IOContext; import org.apache.lucene.store.IndexInput; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.JerseyResource; import org.apache.solr.core.DirectoryFactory; import org.apache.solr.core.IndexDeletionPolicyWrapper; import org.apache.solr.core.SolrCore; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestApplyCoreUpdatesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestApplyCoreUpdatesAPI.java index 633aaf327c4..51c20fb545f 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestApplyCoreUpdatesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestApplyCoreUpdatesAPI.java @@ -27,9 +27,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.RequestApplyCoreUpdatesPayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestBufferUpdatesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestBufferUpdatesAPI.java index 46d97d71168..8625bfc9b72 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestBufferUpdatesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestBufferUpdatesAPI.java @@ -26,9 +26,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.RequestBufferUpdatesPayload; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreCommandStatusAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreCommandStatusAPI.java index cfb37237e9d..242ecbcd7a5 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreCommandStatusAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreCommandStatusAPI.java @@ -25,7 +25,7 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreRecoveryAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreRecoveryAPI.java index 3a96d576aa4..a259c608430 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreRecoveryAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestCoreRecoveryAPI.java @@ -27,9 +27,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.RequestCoreRecoveryPayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestSyncShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestSyncShardAPI.java index 6d707607166..c36a99ce545 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RequestSyncShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RequestSyncShardAPI.java @@ -27,9 +27,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.RequestSyncShardPayload; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SchemaBulkModifyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SchemaBulkModifyAPI.java index 34cfecd1d2e..22b82bf3960 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SchemaBulkModifyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SchemaBulkModifyAPI.java @@ -19,7 +19,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.SchemaHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SingleCoreStatusAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SingleCoreStatusAPI.java index 8ae6fd09c1d..7253bd35b69 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SingleCoreStatusAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SingleCoreStatusAPI.java @@ -24,7 +24,7 @@ import static org.apache.solr.handler.ClusterAPI.wrapParams; import static org.apache.solr.security.PermissionNameProvider.Name.CORE_READ_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SplitCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SplitCoreAPI.java index 061881de574..d846caea34b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SplitCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SplitCoreAPI.java @@ -28,9 +28,9 @@ import java.util.List; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.util.ReflectMapWriter; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SplitShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SplitShardAPI.java index 738a43ad8db..0c75f053cae 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SplitShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SplitShardAPI.java @@ -27,9 +27,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.SplitShardPayload; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.common.params.CommonAdminParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCoresAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCoresAPI.java index d020357c478..e130b6e5540 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCoresAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SwapCoresAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.util.ReflectMapWriter; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCoreAPI.java index d719c44638a..0fa50a9aa4d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/UnloadCoreAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.util.ReflectMapWriter; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/UpdateAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/UpdateAPI.java index aa3179a2a27..e97198dec08 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/UpdateAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/UpdateAPI.java @@ -21,7 +21,7 @@ import static org.apache.solr.common.params.CommonParams.PATH; import static org.apache.solr.security.PermissionNameProvider.Name.UPDATE_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.UpdateRequestHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/UploadBlobAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/UploadBlobAPI.java index da655ce6c29..2488a109648 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/UploadBlobAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/UploadBlobAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.security.PermissionNameProvider.Name.UPDATE_PERM; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.handler.BlobHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/component/ActiveTasksListHandler.java b/solr/core/src/java/org/apache/solr/handler/component/ActiveTasksListHandler.java index a0bca43389a..f1ce12cd937 100644 --- a/solr/core/src/java/org/apache/solr/handler/component/ActiveTasksListHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/component/ActiveTasksListHandler.java @@ -22,8 +22,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.handler.admin.api.ListActiveTasksAPI; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrRequestHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryCancellationHandler.java b/solr/core/src/java/org/apache/solr/handler/component/QueryCancellationHandler.java index 392444015bb..18c99ba09c3 100644 --- a/solr/core/src/java/org/apache/solr/handler/component/QueryCancellationHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/component/QueryCancellationHandler.java @@ -22,8 +22,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.handler.admin.api.CancelTaskAPI; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrRequestHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/CreateConfigSetAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/CreateConfigSetAPI.java index ed33143e906..78144edd247 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/CreateConfigSetAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/CreateConfigSetAPI.java @@ -24,9 +24,9 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.request.beans.CreateConfigPayload; import org.apache.solr.cloud.ConfigSetCmds; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/DeleteConfigSetAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/DeleteConfigSetAPI.java index 0170407550b..4867dd160fd 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/DeleteConfigSetAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/DeleteConfigSetAPI.java @@ -22,7 +22,7 @@ import java.util.HashMap; import java.util.Map; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.ConfigSetParams; import org.apache.solr.common.util.StrUtils; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java index 0afdd004781..e057a474ec4 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java @@ -27,7 +27,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetAPI.java index f1dc3b3a115..f7910bf7616 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetAPI.java @@ -28,7 +28,7 @@ import java.util.Map; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.ConfigSetParams; import org.apache.solr.core.ConfigSetService; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetFileAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetFileAPI.java index 68994052dd3..98889aff563 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetFileAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSetFileAPI.java @@ -20,7 +20,7 @@ import static org.apache.solr.security.PermissionNameProvider.Name.CONFIG_EDIT_PERM; import java.io.InputStream; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkMaintenanceUtils; import org.apache.solr.common.params.ConfigSetParams; diff --git a/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java b/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java index af88d8edc1c..5ceeb3b9b7c 100644 --- a/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java @@ -49,7 +49,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; diff --git a/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java b/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java index 09a14c56588..00cda1f08a9 100644 --- a/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/MediaTypeOverridingFilter.java @@ -27,7 +27,7 @@ import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.container.ResourceInfo; import javax.ws.rs.core.Context; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.JerseyResource; import org.apache.solr.handler.admin.ZookeeperReadAPI; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java index c0875e65209..36e4ab0a407 100644 --- a/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java +++ b/solr/core/src/java/org/apache/solr/jersey/NotFoundExceptionMapper.java @@ -27,7 +27,7 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; -import org.apache.solr.api.framework.V2HttpCall; +import org.apache.solr.api.V2HttpCall; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.CommonParams; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/jersey/PermissionName.java b/solr/core/src/java/org/apache/solr/jersey/PermissionName.java index 712ac9a3dc7..da185cef663 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PermissionName.java +++ b/solr/core/src/java/org/apache/solr/jersey/PermissionName.java @@ -21,7 +21,7 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.EndPoint; import org.apache.solr.security.PermissionNameProvider; /** diff --git a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java index ec10444b2b7..0f9a8d50845 100644 --- a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java +++ b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java @@ -31,9 +31,9 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.request.beans.PackagePayload; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java b/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java index 5d44dcdd0cc..f1034b00bec 100644 --- a/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java +++ b/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java @@ -26,7 +26,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.ApiBag; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.CommandOperation; diff --git a/solr/core/src/java/org/apache/solr/security/MultiAuthPlugin.java b/solr/core/src/java/org/apache/solr/security/MultiAuthPlugin.java index b17a85fdfc4..96cd2974c21 100644 --- a/solr/core/src/java/org/apache/solr/security/MultiAuthPlugin.java +++ b/solr/core/src/java/org/apache/solr/security/MultiAuthPlugin.java @@ -29,8 +29,8 @@ import org.apache.http.HttpRequest; import org.apache.http.protocol.HttpContext; import org.apache.lucene.util.ResourceLoader; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.SpecProvider; diff --git a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java index 1e2eda3cc08..a7d311d1788 100644 --- a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java +++ b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java @@ -25,7 +25,7 @@ import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.JerseyResource; import org.apache.solr.api.model.SolrJerseyResponse; import org.apache.solr.jersey.PermissionName; diff --git a/solr/core/src/java/org/apache/solr/security/PublicKeyHandler.java b/solr/core/src/java/org/apache/solr/security/PublicKeyHandler.java index f8a8e3a24e6..9dbde9d0966 100644 --- a/solr/core/src/java/org/apache/solr/security/PublicKeyHandler.java +++ b/solr/core/src/java/org/apache/solr/security/PublicKeyHandler.java @@ -21,8 +21,8 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.JerseyResource; +import org.apache.solr.api.Api; +import org.apache.solr.api.JerseyResource; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.handler.api.V2ApiUtils; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPluginBase.java b/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPluginBase.java index becedf7193d..7c37e034c73 100644 --- a/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPluginBase.java +++ b/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPluginBase.java @@ -34,8 +34,8 @@ import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.common.SpecProvider; import org.apache.solr.common.util.CommandOperation; import org.apache.solr.common.util.ValidatingJsonMap; diff --git a/solr/core/src/java/org/apache/solr/security/Sha256AuthenticationProvider.java b/solr/core/src/java/org/apache/solr/security/Sha256AuthenticationProvider.java index c61c2d672df..17c56aea0a3 100644 --- a/solr/core/src/java/org/apache/solr/security/Sha256AuthenticationProvider.java +++ b/solr/core/src/java/org/apache/solr/security/Sha256AuthenticationProvider.java @@ -30,8 +30,8 @@ import java.util.Map; import java.util.Random; import java.util.Set; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.common.util.CommandOperation; import org.apache.solr.common.util.ValidatingJsonMap; import org.apache.solr.handler.admin.api.ModifyBasicAuthConfigAPI; diff --git a/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java index 56269f72186..169a2a02032 100644 --- a/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java +++ b/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java @@ -24,7 +24,7 @@ import java.util.concurrent.ConcurrentHashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.solr.api.framework.CoordinatorV2HttpSolrCall; +import org.apache.solr.api.CoordinatorV2HttpSolrCall; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.cloud.api.collections.Assign; diff --git a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java index 9b4c7b05469..dbee25ec32f 100644 --- a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java +++ b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java @@ -71,8 +71,8 @@ import org.apache.http.client.methods.HttpPut; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.InputStreamEntity; -import org.apache.solr.api.framework.ApiBag; -import org.apache.solr.api.framework.V2HttpCall; +import org.apache.solr.api.ApiBag; +import org.apache.solr.api.V2HttpCall; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.impl.HttpClientUtil; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java index c41d7223cc9..5af7efc2405 100644 --- a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java +++ b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java @@ -18,7 +18,7 @@ import java.io.PrintWriter; import java.io.StringWriter; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.ApiBag; import org.apache.solr.api.model.ErrorInfo; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.NamedList; diff --git a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java index 851f3032813..44c02cce109 100644 --- a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java +++ b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java @@ -42,7 +42,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.http.client.HttpClient; -import org.apache.solr.api.framework.V2HttpCall; +import org.apache.solr.api.V2HttpCall; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.util.ExecutorUtil; diff --git a/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java b/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java index 83462c3c168..af293d6a96e 100644 --- a/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java +++ b/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java @@ -45,7 +45,7 @@ import javax.servlet.http.Part; import org.apache.commons.io.input.CloseShieldInputStream; import org.apache.lucene.util.IOUtils; -import org.apache.solr.api.framework.V2HttpCall; +import org.apache.solr.api.V2HttpCall; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.params.CommonParams; diff --git a/solr/core/src/test-files/runtimecode/MyPlugin.java.txt b/solr/core/src/test-files/runtimecode/MyPlugin.java.txt index cc470204142..34cfb6e05b1 100644 --- a/solr/core/src/test-files/runtimecode/MyPlugin.java.txt +++ b/solr/core/src/test-files/runtimecode/MyPlugin.java.txt @@ -17,8 +17,8 @@ package runtimecode; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; import org.apache.solr.client.solrj.SolrRequest.METHOD; import org.apache.solr.core.CoreContainer; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/test/org/apache/solr/api/framework/JerseyResourceTest.java b/solr/core/src/test/org/apache/solr/api/JerseyResourceTest.java similarity index 96% rename from solr/core/src/test/org/apache/solr/api/framework/JerseyResourceTest.java rename to solr/core/src/test/org/apache/solr/api/JerseyResourceTest.java index 8b92d0f63b3..5e6f193c4e6 100644 --- a/solr/core/src/test/org/apache/solr/api/framework/JerseyResourceTest.java +++ b/solr/core/src/test/org/apache/solr/api/JerseyResourceTest.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.framework; +package org.apache.solr.api; import static org.apache.solr.jersey.RequestContextKeys.SOLR_JERSEY_RESPONSE; import static org.apache.solr.jersey.container.ContainerRequestUtils.DEFAULT_SECURITY_CONTEXT; diff --git a/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java b/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java index 614fff70efd..c07d5f58602 100644 --- a/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java +++ b/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java @@ -22,7 +22,7 @@ import java.util.LinkedHashMap; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.ApiBag; import org.apache.solr.client.solrj.request.schema.SchemaRequest; import org.apache.solr.client.solrj.response.schema.SchemaResponse; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java index 9dd80189822..1da60d85ff9 100644 --- a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java +++ b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java @@ -65,7 +65,7 @@ import org.apache.http.message.BasicHeader; import org.apache.http.util.EntityUtils; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.AnnotatedApi; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.BaseHttpSolrClient; diff --git a/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java b/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java index 18197e4a91b..9fdb0936e88 100644 --- a/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java +++ b/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java @@ -34,10 +34,10 @@ import java.util.concurrent.TimeUnit; import org.apache.lucene.util.ResourceLoader; import org.apache.lucene.util.ResourceLoaderAware; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.ConfigurablePlugin; -import org.apache.solr.api.framework.ContainerPluginsRegistry; -import org.apache.solr.api.framework.EndPoint; +import org.apache.solr.api.Command; +import org.apache.solr.api.ConfigurablePlugin; +import org.apache.solr.api.ContainerPluginsRegistry; +import org.apache.solr.api.EndPoint; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.BaseHttpSolrClient.RemoteExecutionException; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/handler/V2ClusterAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/V2ClusterAPIMappingTest.java index b00e4921dcb..94f091fba2a 100644 --- a/solr/core/src/test/org/apache/solr/handler/V2ClusterAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/V2ClusterAPIMappingTest.java @@ -29,8 +29,8 @@ import java.util.List; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.common.params.CollectionParams.CollectionAction; import org.apache.solr.common.params.SolrParams; diff --git a/solr/core/src/test/org/apache/solr/handler/V2UpdateAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/V2UpdateAPIMappingTest.java index 57d83c3acce..f030525fb03 100644 --- a/solr/core/src/test/org/apache/solr/handler/V2UpdateAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/V2UpdateAPIMappingTest.java @@ -25,8 +25,8 @@ import java.util.List; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; import org.apache.solr.common.util.CommandOperation; import org.apache.solr.handler.admin.api.UpdateAPI; import org.apache.solr.request.LocalSolrQueryRequest; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java b/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java index fd1a7b955e2..deefc0e4df3 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java @@ -18,7 +18,7 @@ package org.apache.solr.handler.admin; import static java.nio.charset.StandardCharsets.UTF_8; -import static org.apache.solr.api.framework.ApiBag.EMPTY_SPEC; +import static org.apache.solr.api.ApiBag.EMPTY_SPEC; import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.common.params.CommonParams.COLLECTIONS_HANDLER_PATH; import static org.apache.solr.common.params.CommonParams.CONFIGSETS_HANDLER_PATH; @@ -34,13 +34,13 @@ import java.util.Map; import java.util.Set; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; -import org.apache.solr.api.framework.V2HttpCall; -import org.apache.solr.api.framework.V2HttpCall.CompositeApi; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; +import org.apache.solr.api.V2HttpCall; +import org.apache.solr.api.V2HttpCall.CompositeApi; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.common.annotation.JsonProperty; import org.apache.solr.common.params.MapSolrParams; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java b/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java index 04671c16095..a8dde0459f5 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/TestCollectionAPIs.java @@ -30,8 +30,8 @@ import java.util.List; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java b/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java index b6906c7d640..1e3ff94b749 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java @@ -31,8 +31,8 @@ import java.util.Map; import java.util.Properties; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/V2ApiMappingTest.java b/solr/core/src/test/org/apache/solr/handler/admin/V2ApiMappingTest.java index 63e02e63caf..bb36cf353d8 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/V2ApiMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/V2ApiMappingTest.java @@ -27,9 +27,9 @@ import java.util.List; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.CommandOperation; import org.apache.solr.common.util.ContentStream; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/V2BlobAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/admin/V2BlobAPIMappingTest.java index 3ced075ab91..9d1d444a012 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/V2BlobAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/V2BlobAPIMappingTest.java @@ -17,7 +17,7 @@ package org.apache.solr.handler.admin; -import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.AnnotatedApi; import org.apache.solr.handler.BlobHandler; import org.apache.solr.handler.admin.api.GetBlobInfoAPI; import org.apache.solr.handler.admin.api.UploadBlobAPI; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/V2ConfigAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/admin/V2ConfigAPIMappingTest.java index 94440c559c3..3912e52d281 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/V2ConfigAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/V2ConfigAPIMappingTest.java @@ -17,7 +17,7 @@ package org.apache.solr.handler.admin; -import org.apache.solr.api.framework.AnnotatedApi; +import org.apache.solr.api.AnnotatedApi; import org.apache.solr.handler.SolrConfigHandler; import org.apache.solr.handler.admin.api.GetConfigAPI; import org.apache.solr.handler.admin.api.ModifyConfigComponentAPI; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/V2SecurityAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/admin/V2SecurityAPIMappingTest.java index 0c95121735b..1cc621a74f4 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/V2SecurityAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/V2SecurityAPIMappingTest.java @@ -20,9 +20,9 @@ import java.util.HashMap; import java.util.Set; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; import org.apache.solr.handler.admin.api.GetAuthenticationConfigAPI; import org.apache.solr.handler.admin.api.GetAuthorizationConfigAPI; import org.apache.solr.handler.admin.api.ModifyBasicAuthConfigAPI; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/V2NodeAPIMappingTest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/V2NodeAPIMappingTest.java index 1843fe93a6e..9f6af14d534 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/V2NodeAPIMappingTest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/V2NodeAPIMappingTest.java @@ -28,8 +28,8 @@ import java.util.List; import java.util.Map; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; import org.apache.solr.common.params.ModifiableSolrParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.CommandOperation; diff --git a/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/JWTAuthPlugin.java b/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/JWTAuthPlugin.java index 8eabee82faf..ae20606f7e7 100644 --- a/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/JWTAuthPlugin.java +++ b/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/JWTAuthPlugin.java @@ -49,8 +49,8 @@ import org.apache.http.HttpRequest; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.protocol.HttpContext; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; import org.apache.solr.client.solrj.impl.Http2SolrClient; import org.apache.solr.common.SolrException; import org.apache.solr.common.SpecProvider; diff --git a/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/api/ModifyJWTAuthPluginConfigAPI.java b/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/api/ModifyJWTAuthPluginConfigAPI.java index 4b80ca7dc4e..7fc21646220 100644 --- a/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/api/ModifyJWTAuthPluginConfigAPI.java +++ b/solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/api/ModifyJWTAuthPluginConfigAPI.java @@ -20,9 +20,9 @@ import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST; import static org.apache.solr.security.PermissionNameProvider.Name.SECURITY_EDIT_PERM; -import org.apache.solr.api.framework.Command; -import org.apache.solr.api.framework.EndPoint; -import org.apache.solr.api.framework.PayloadObj; +import org.apache.solr.api.Command; +import org.apache.solr.api.EndPoint; +import org.apache.solr.api.PayloadObj; /** V2 API for modifying configuration for Solr's JWTAuthPlugin. */ @EndPoint( diff --git a/solr/modules/jwt-auth/src/test/org/apache/solr/security/jwt/api/V2JWTSecurityApiMappingTest.java b/solr/modules/jwt-auth/src/test/org/apache/solr/security/jwt/api/V2JWTSecurityApiMappingTest.java index e83cc20ffc6..8c55dbfcb9c 100644 --- a/solr/modules/jwt-auth/src/test/org/apache/solr/security/jwt/api/V2JWTSecurityApiMappingTest.java +++ b/solr/modules/jwt-auth/src/test/org/apache/solr/security/jwt/api/V2JWTSecurityApiMappingTest.java @@ -19,9 +19,9 @@ import java.util.HashMap; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.framework.AnnotatedApi; -import org.apache.solr.api.framework.Api; -import org.apache.solr.api.framework.ApiBag; +import org.apache.solr.api.AnnotatedApi; +import org.apache.solr.api.Api; +import org.apache.solr.api.ApiBag; import org.junit.Before; import org.junit.Test; diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/request/SchemaTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/request/SchemaTest.java index efa008752a7..0b87c7d6ef5 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/request/SchemaTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/request/SchemaTest.java @@ -69,7 +69,7 @@ private static void assertFailedSchemaResponse( expectThrows(BaseHttpSolrClient.RemoteExecutionException.class, runnable); SimpleOrderedMap errorMap = (SimpleOrderedMap) e.getMetaData().get("error"); assertEquals( - "org.apache.solr.api.framework.ApiBag$ExceptionWithErrObject", + "org.apache.solr.api.ApiBag$ExceptionWithErrObject", ((NamedList) errorMap.get("metadata")).get("error-class")); List details = (List) errorMap.get("details"); assertTrue( diff --git a/solr/solrj/src/test/org/apache/solr/common/util/TestPathTrie.java b/solr/solrj/src/test/org/apache/solr/common/util/TestPathTrie.java index 75c8aede8e5..ad7e9066ad3 100644 --- a/solr/solrj/src/test/org/apache/solr/common/util/TestPathTrie.java +++ b/solr/solrj/src/test/org/apache/solr/common/util/TestPathTrie.java @@ -19,7 +19,7 @@ import static java.util.Collections.emptyMap; import static java.util.Collections.singletonMap; -import static org.apache.solr.api.framework.ApiBag.HANDLER_NAME; +import static org.apache.solr.api.ApiBag.HANDLER_NAME; import java.util.HashMap; import java.util.HashSet; From e776456aa0af9eb84c3bcaf329b7093148273786 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 1 Aug 2023 13:03:12 -0400 Subject: [PATCH 53/58] Tweak 'api' module packages Changes the base package in 'api' to be `o.a.s.client.api` to avoid conflicting with the `o.a.s.api` package in 'core' and causing split package issues. --- solr/api/build.gradle | 3 +- .../api/endpoint/AddReplicaPropertyApi.java | 8 ++-- .../api/endpoint/DeleteAliasApi.java | 6 +-- .../api/endpoint/DeleteCollectionApi.java | 6 +-- .../api/endpoint/package-info.java | 2 +- .../model/AddReplicaPropertyRequestBody.java | 4 +- .../api/model/AsyncJerseyResponse.java | 2 +- .../{ => client}/api/model/ErrorInfo.java | 5 +-- .../api/model/SolrJerseyResponse.java | 5 +-- ...SubResponseAccumulatingJerseyResponse.java | 2 +- .../{ => client}/api/model/package-info.java | 4 +- .../solr/{ => client}/api/package-info.java | 2 +- .../{api => client/api/util}/ApiMetadata.java | 3 +- .../{api => client/api/util}/Constants.java | 2 +- .../api}/util/ReflectWritable.java | 10 +++-- .../{ => client/api}/util/SolrVersion.java | 2 +- .../{ => client/api}/util/package-info.java | 2 +- .../org/apache/solr/util/TestSolrVersion.java | 1 + .../org/apache/solr/api/JerseyResource.java | 2 +- .../org/apache/solr/cli/SimplePostTool.java | 2 +- .../src/java/org/apache/solr/cli/SolrCLI.java | 2 +- .../solr/handler/ReplicationHandler.java | 2 +- .../handler/admin/CollectionsHandler.java | 4 +- .../solr/handler/admin/ZookeeperReadAPI.java | 2 +- .../handler/admin/api/AddReplicaProperty.java | 6 +-- .../solr/handler/admin/api/AdminAPIBase.java | 2 +- .../handler/admin/api/AliasPropertyAPI.java | 2 +- .../handler/admin/api/BalanceReplicasAPI.java | 2 +- .../admin/api/BalanceShardUniqueAPI.java | 2 +- .../admin/api/CollectionPropertyAPI.java | 2 +- .../handler/admin/api/CoreAdminAPIBase.java | 2 +- .../handler/admin/api/CoreReplicationAPI.java | 2 +- .../handler/admin/api/CoreSnapshotAPI.java | 2 +- .../handler/admin/api/CreateAliasAPI.java | 4 +- .../admin/api/CreateCollectionAPI.java | 2 +- .../admin/api/CreateCollectionBackupAPI.java | 4 +- .../api/CreateCollectionSnapshotAPI.java | 2 +- .../handler/admin/api/CreateReplicaAPI.java | 2 +- .../handler/admin/api/CreateShardAPI.java | 2 +- .../solr/handler/admin/api/DeleteAlias.java | 6 +-- .../handler/admin/api/DeleteCollection.java | 4 +- .../admin/api/DeleteCollectionBackupAPI.java | 4 +- .../api/DeleteCollectionSnapshotAPI.java | 2 +- .../solr/handler/admin/api/DeleteNodeAPI.java | 2 +- .../handler/admin/api/DeleteReplicaAPI.java | 2 +- .../admin/api/DeleteReplicaPropertyAPI.java | 2 +- .../handler/admin/api/DeleteShardAPI.java | 2 +- .../handler/admin/api/ForceLeaderAPI.java | 2 +- .../solr/handler/admin/api/GetSchemaAPI.java | 2 +- .../handler/admin/api/GetSchemaFieldAPI.java | 2 +- .../admin/api/GetSchemaZkVersionAPI.java | 2 +- .../handler/admin/api/InstallCoreDataAPI.java | 2 +- .../admin/api/InstallShardDataAPI.java | 2 +- .../handler/admin/api/ListAliasesAPI.java | 2 +- .../admin/api/ListCollectionBackupsAPI.java | 2 +- .../admin/api/ListCollectionSnapshotsAPI.java | 2 +- .../handler/admin/api/ListCollectionsAPI.java | 2 +- .../handler/admin/api/MigrateReplicasAPI.java | 2 +- .../handler/admin/api/NodeLoggingAPI.java | 2 +- .../admin/api/ReloadCollectionAPI.java | 2 +- .../admin/api/RenameCollectionAPI.java | 2 +- .../handler/admin/api/ReplaceNodeAPI.java | 2 +- .../admin/api/RestoreCollectionAPI.java | 4 +- .../solr/handler/admin/api/SyncShardAPI.java | 2 +- .../apache/solr/handler/api/V2ApiUtils.java | 2 +- .../handler/configsets/ListConfigSetsAPI.java | 2 +- .../solr/jersey/CatchAllExceptionMapper.java | 2 +- .../solr/jersey/ExperimentalResponse.java | 2 +- .../jersey/PostRequestDecorationFilter.java | 2 +- .../solr/jersey/PostRequestLoggingFilter.java | 2 +- .../solr/jersey/RequestContextKeys.java | 2 +- .../solr/jersey/RequestMetricHandling.java | 2 +- .../solr/packagemanager/PackageManager.java | 2 +- .../packagemanager/RepositoryManager.java | 2 +- .../apache/solr/security/PublicKeyAPI.java | 2 +- .../solr/servlet/CoreContainerProvider.java | 2 +- .../apache/solr/servlet/ResponseUtils.java | 2 +- .../admin/api/AddReplicaPropertyAPITest.java | 2 +- .../jersey/JacksonReflectMapWriterTest.java | 4 +- .../pages/stream-decorator-reference.adoc | 2 +- .../pages/stream-source-reference.adoc | 8 ++-- solr/solrj/build.gradle | 3 +- .../apache/solr/common/DelegateMapWriter.java | 38 +++++++++---------- .../org/apache/solr/common/SolrException.java | 4 +- .../apache/solr/common/util/JavaBinCodec.java | 5 +-- .../apache/solr/common/util/TextWriter.java | 3 +- 86 files changed, 135 insertions(+), 141 deletions(-) rename solr/api/src/java/org/apache/solr/{ => client}/api/endpoint/AddReplicaPropertyApi.java (90%) rename solr/api/src/java/org/apache/solr/{ => client}/api/endpoint/DeleteAliasApi.java (89%) rename solr/api/src/java/org/apache/solr/{ => client}/api/endpoint/DeleteCollectionApi.java (89%) rename solr/api/src/java/org/apache/solr/{ => client}/api/endpoint/package-info.java (95%) rename solr/api/src/java/org/apache/solr/{ => client}/api/model/AddReplicaPropertyRequestBody.java (94%) rename solr/api/src/java/org/apache/solr/{ => client}/api/model/AsyncJerseyResponse.java (95%) rename solr/api/src/java/org/apache/solr/{ => client}/api/model/ErrorInfo.java (94%) rename solr/api/src/java/org/apache/solr/{ => client}/api/model/SolrJerseyResponse.java (95%) rename solr/api/src/java/org/apache/solr/{ => client}/api/model/SubResponseAccumulatingJerseyResponse.java (98%) rename solr/api/src/java/org/apache/solr/{ => client}/api/model/package-info.java (91%) rename solr/api/src/java/org/apache/solr/{ => client}/api/package-info.java (96%) rename solr/api/src/java/org/apache/solr/{api => client/api/util}/ApiMetadata.java (94%) rename solr/api/src/java/org/apache/solr/{api => client/api/util}/Constants.java (96%) rename solr/api/src/java/org/apache/solr/{ => client/api}/util/ReflectWritable.java (76%) rename solr/api/src/java/org/apache/solr/{ => client/api}/util/SolrVersion.java (98%) rename solr/api/src/java/org/apache/solr/{ => client/api}/util/package-info.java (95%) diff --git a/solr/api/build.gradle b/solr/api/build.gradle index c83114feb46..f61977993af 100644 --- a/solr/api/build.gradle +++ b/solr/api/build.gradle @@ -50,7 +50,8 @@ dependencies { implementation 'org.semver4j:semver4j' testImplementation project(':solr:test-framework') - testImplementation 'junit:junit' + testImplementation project(':solr:api') + testImplementation 'org.apache.lucene:lucene-test-framework' } artifacts { diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/AddReplicaPropertyApi.java similarity index 90% rename from solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java rename to solr/api/src/java/org/apache/solr/client/api/endpoint/AddReplicaPropertyApi.java index dd7f3d49071..d29ee057502 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/AddReplicaPropertyApi.java +++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/AddReplicaPropertyApi.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.api.endpoint; +package org.apache.solr.client.api.endpoint; -import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.client.api.util.Constants.BINARY_CONTENT_TYPE_V2; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -26,8 +26,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.AddReplicaPropertyRequestBody; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.client.api.model.SolrJerseyResponse; @Path("/collections/{collName}/shards/{shardName}/replicas/{replicaName}/properties/{propName}") public interface AddReplicaPropertyApi { diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteAliasApi.java similarity index 89% rename from solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java rename to solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteAliasApi.java index 15ee70f570e..24759ead2ad 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/DeleteAliasApi.java +++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteAliasApi.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.api.endpoint; +package org.apache.solr.client.api.endpoint; -import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.client.api.util.Constants.BINARY_CONTENT_TYPE_V2; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -26,7 +26,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; @Path("/aliases/{aliasName}") public interface DeleteAliasApi { diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionApi.java similarity index 89% rename from solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java rename to solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionApi.java index e93f3c86bfd..9e28e7b1722 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/DeleteCollectionApi.java +++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/DeleteCollectionApi.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.api.endpoint; +package org.apache.solr.client.api.endpoint; -import static org.apache.solr.api.Constants.BINARY_CONTENT_TYPE_V2; +import static org.apache.solr.client.api.util.Constants.BINARY_CONTENT_TYPE_V2; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -26,7 +26,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; @Path("/collections/{collectionName}") public interface DeleteCollectionApi { diff --git a/solr/api/src/java/org/apache/solr/api/endpoint/package-info.java b/solr/api/src/java/org/apache/solr/client/api/endpoint/package-info.java similarity index 95% rename from solr/api/src/java/org/apache/solr/api/endpoint/package-info.java rename to solr/api/src/java/org/apache/solr/client/api/endpoint/package-info.java index 4205cd93358..377e217fda9 100644 --- a/solr/api/src/java/org/apache/solr/api/endpoint/package-info.java +++ b/solr/api/src/java/org/apache/solr/client/api/endpoint/package-info.java @@ -16,4 +16,4 @@ */ /** Interfaces representing individual Solr v2 APIs. */ -package org.apache.solr.api.endpoint; +package org.apache.solr.client.api.endpoint; diff --git a/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java b/solr/api/src/java/org/apache/solr/client/api/model/AddReplicaPropertyRequestBody.java similarity index 94% rename from solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java rename to solr/api/src/java/org/apache/solr/client/api/model/AddReplicaPropertyRequestBody.java index 170ae59fea8..f78c7bebd9c 100644 --- a/solr/api/src/java/org/apache/solr/api/model/AddReplicaPropertyRequestBody.java +++ b/solr/api/src/java/org/apache/solr/client/api/model/AddReplicaPropertyRequestBody.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.solr.api.model; +package org.apache.solr.client.api.model; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; -import org.apache.solr.util.ReflectWritable; +import org.apache.solr.client.api.util.ReflectWritable; public class AddReplicaPropertyRequestBody implements ReflectWritable { public AddReplicaPropertyRequestBody() {} diff --git a/solr/api/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java b/solr/api/src/java/org/apache/solr/client/api/model/AsyncJerseyResponse.java similarity index 95% rename from solr/api/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java rename to solr/api/src/java/org/apache/solr/client/api/model/AsyncJerseyResponse.java index 5e68923d853..08651598d9d 100644 --- a/solr/api/src/java/org/apache/solr/api/model/AsyncJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/client/api/model/AsyncJerseyResponse.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.model; +package org.apache.solr.client.api.model; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java b/solr/api/src/java/org/apache/solr/client/api/model/ErrorInfo.java similarity index 94% rename from solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java rename to solr/api/src/java/org/apache/solr/client/api/model/ErrorInfo.java index 5b92b96adc7..1a6ca071642 100644 --- a/solr/api/src/java/org/apache/solr/api/model/ErrorInfo.java +++ b/solr/api/src/java/org/apache/solr/client/api/model/ErrorInfo.java @@ -15,13 +15,12 @@ * limitations under the License. */ -package org.apache.solr.api.model; +package org.apache.solr.client.api.model; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.util.ReflectWritable; - import java.util.List; import java.util.Map; +import org.apache.solr.client.api.util.ReflectWritable; /** * A value type representing an error. diff --git a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java b/solr/api/src/java/org/apache/solr/client/api/model/SolrJerseyResponse.java similarity index 95% rename from solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java rename to solr/api/src/java/org/apache/solr/client/api/model/SolrJerseyResponse.java index b742f052b95..59e528c91f8 100644 --- a/solr/api/src/java/org/apache/solr/api/model/SolrJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/client/api/model/SolrJerseyResponse.java @@ -15,15 +15,14 @@ * limitations under the License. */ -package org.apache.solr.api.model; +package org.apache.solr.client.api.model; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.util.ReflectWritable; - import java.util.HashMap; import java.util.Map; +import org.apache.solr.client.api.util.ReflectWritable; /** * Base response-body POJO to be used by Jersey resources. diff --git a/solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java b/solr/api/src/java/org/apache/solr/client/api/model/SubResponseAccumulatingJerseyResponse.java similarity index 98% rename from solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java rename to solr/api/src/java/org/apache/solr/client/api/model/SubResponseAccumulatingJerseyResponse.java index a46d8865848..5031f86c3a5 100644 --- a/solr/api/src/java/org/apache/solr/api/model/SubResponseAccumulatingJerseyResponse.java +++ b/solr/api/src/java/org/apache/solr/client/api/model/SubResponseAccumulatingJerseyResponse.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api.model; +package org.apache.solr.client.api.model; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/solr/api/src/java/org/apache/solr/api/model/package-info.java b/solr/api/src/java/org/apache/solr/client/api/model/package-info.java similarity index 91% rename from solr/api/src/java/org/apache/solr/api/model/package-info.java rename to solr/api/src/java/org/apache/solr/client/api/model/package-info.java index fbd8c94579b..4264373269c 100644 --- a/solr/api/src/java/org/apache/solr/api/model/package-info.java +++ b/solr/api/src/java/org/apache/solr/client/api/model/package-info.java @@ -17,6 +17,6 @@ /** * POJOs representing various inputs and outputs of the v2 APIs described in {@link - * org.apache.solr.api.endpoint} + * org.apache.solr.client.api.endpoint} */ -package org.apache.solr.api.model; +package org.apache.solr.client.api.model; diff --git a/solr/api/src/java/org/apache/solr/api/package-info.java b/solr/api/src/java/org/apache/solr/client/api/package-info.java similarity index 96% rename from solr/api/src/java/org/apache/solr/api/package-info.java rename to solr/api/src/java/org/apache/solr/client/api/package-info.java index 6f27904f36b..aa44ba957da 100644 --- a/solr/api/src/java/org/apache/solr/api/package-info.java +++ b/solr/api/src/java/org/apache/solr/client/api/package-info.java @@ -16,4 +16,4 @@ */ /** Root package for interfaces and POJOs used to describe Solr's v2 APIs */ -package org.apache.solr.api; +package org.apache.solr.client.api; diff --git a/solr/api/src/java/org/apache/solr/api/ApiMetadata.java b/solr/api/src/java/org/apache/solr/client/api/util/ApiMetadata.java similarity index 94% rename from solr/api/src/java/org/apache/solr/api/ApiMetadata.java rename to solr/api/src/java/org/apache/solr/client/api/util/ApiMetadata.java index fa9fb899cd3..11a70a916d3 100644 --- a/solr/api/src/java/org/apache/solr/api/ApiMetadata.java +++ b/solr/api/src/java/org/apache/solr/client/api/util/ApiMetadata.java @@ -15,12 +15,11 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.client.api.util; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Info; import io.swagger.v3.oas.annotations.info.License; -import org.apache.solr.v2.api.util.SolrVersion; @OpenAPIDefinition( info = diff --git a/solr/api/src/java/org/apache/solr/api/Constants.java b/solr/api/src/java/org/apache/solr/client/api/util/Constants.java similarity index 96% rename from solr/api/src/java/org/apache/solr/api/Constants.java rename to solr/api/src/java/org/apache/solr/client/api/util/Constants.java index 119ac38c186..1dbd6e61a6c 100644 --- a/solr/api/src/java/org/apache/solr/api/Constants.java +++ b/solr/api/src/java/org/apache/solr/client/api/util/Constants.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.api; +package org.apache.solr.client.api.util; public class Constants { private Constants() { diff --git a/solr/api/src/java/org/apache/solr/util/ReflectWritable.java b/solr/api/src/java/org/apache/solr/client/api/util/ReflectWritable.java similarity index 76% rename from solr/api/src/java/org/apache/solr/util/ReflectWritable.java rename to solr/api/src/java/org/apache/solr/client/api/util/ReflectWritable.java index b9c47dd2d85..bad94276747 100644 --- a/solr/api/src/java/org/apache/solr/util/ReflectWritable.java +++ b/solr/api/src/java/org/apache/solr/client/api/util/ReflectWritable.java @@ -15,11 +15,13 @@ * limitations under the License. */ -package org.apache.solr.util; +package org.apache.solr.client.api.util; /** - * A marker interface used by v2 POJOs to indicate they contain annotations that can be written out via reflection. + * A marker interface used by v2 POJOs to indicate they contain annotations that can be written out + * via reflection. * - * Used primarily by custom serialization/deserialization codepaths that don't natively recognize (e.g.) Jackson annotations. + *

Used primarily by custom serialization/deserialization codepaths that don't natively recognize + * (e.g.) Jackson annotations. */ -public interface ReflectWritable { } +public interface ReflectWritable {} diff --git a/solr/api/src/java/org/apache/solr/util/SolrVersion.java b/solr/api/src/java/org/apache/solr/client/api/util/SolrVersion.java similarity index 98% rename from solr/api/src/java/org/apache/solr/util/SolrVersion.java rename to solr/api/src/java/org/apache/solr/client/api/util/SolrVersion.java index aa150297b5c..434bbea9596 100644 --- a/solr/api/src/java/org/apache/solr/util/SolrVersion.java +++ b/solr/api/src/java/org/apache/solr/client/api/util/SolrVersion.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.util; +package org.apache.solr.client.api.util; import java.util.Locale; import org.semver4j.Semver; diff --git a/solr/api/src/java/org/apache/solr/util/package-info.java b/solr/api/src/java/org/apache/solr/client/api/util/package-info.java similarity index 95% rename from solr/api/src/java/org/apache/solr/util/package-info.java rename to solr/api/src/java/org/apache/solr/client/api/util/package-info.java index a14501f0170..c7634ce945c 100644 --- a/solr/api/src/java/org/apache/solr/util/package-info.java +++ b/solr/api/src/java/org/apache/solr/client/api/util/package-info.java @@ -16,4 +16,4 @@ */ /** Utilities for working with Solr api interfaces and model classes. */ -package org.apache.solr.util; +package org.apache.solr.client.api.util; diff --git a/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java b/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java index 1a43e7cab71..ff55514e4ab 100644 --- a/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java +++ b/solr/api/src/test/org/apache/solr/util/TestSolrVersion.java @@ -17,6 +17,7 @@ package org.apache.solr.util; import org.apache.solr.SolrTestCase; +import org.apache.solr.client.api.util.SolrVersion; import org.semver4j.SemverException; public class TestSolrVersion extends SolrTestCase { diff --git a/solr/core/src/java/org/apache/solr/api/JerseyResource.java b/solr/core/src/java/org/apache/solr/api/JerseyResource.java index 4cbf2efde9b..6a304654e27 100644 --- a/solr/core/src/java/org/apache/solr/api/JerseyResource.java +++ b/solr/core/src/java/org/apache/solr/api/JerseyResource.java @@ -22,7 +22,7 @@ import java.util.function.Supplier; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.core.Context; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.jersey.CatchAllExceptionMapper; import org.apache.solr.servlet.HttpSolrCall; diff --git a/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java b/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java index 3b2710e2451..54099ff497e 100644 --- a/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java +++ b/solr/core/src/java/org/apache/solr/cli/SimplePostTool.java @@ -66,8 +66,8 @@ import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; +import org.apache.solr.client.api.util.SolrVersion; import org.apache.solr.util.RTimer; -import org.apache.solr.util.SolrVersion; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 571d781f228..42d771a6317 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -47,6 +47,7 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; +import org.apache.solr.client.api.util.SolrVersion; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServerException; @@ -62,7 +63,6 @@ import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.util.ContentStreamBase; import org.apache.solr.common.util.NamedList; -import org.apache.solr.util.SolrVersion; import org.apache.solr.util.StartupLoggingUtils; import org.apache.solr.util.configuration.SSLConfigurationsFactory; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java index c8212c56b5a..9f6d09bab22 100644 --- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java @@ -66,7 +66,7 @@ import org.apache.lucene.store.IndexInput; import org.apache.lucene.store.RateLimiter; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.params.CommonParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java index 6c057dd8c7c..4b63e0c5138 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java @@ -122,8 +122,8 @@ import org.apache.solr.api.AnnotatedApi; import org.apache.solr.api.Api; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.AddReplicaPropertyRequestBody; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.response.RequestStatusState; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java index 4db4b9f3f48..c2f244e93d8 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperReadAPI.java @@ -36,7 +36,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.impl.BinaryResponseParser; import org.apache.solr.client.solrj.impl.XMLResponseParser; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java index c9578fb50ac..718d54247a3 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java @@ -31,9 +31,9 @@ import java.util.Locale; import java.util.Map; import javax.inject.Inject; -import org.apache.solr.api.endpoint.AddReplicaPropertyApi; -import org.apache.solr.api.model.AddReplicaPropertyRequestBody; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.endpoint.AddReplicaPropertyApi; +import org.apache.solr.client.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.cloud.overseer.SliceMutator; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java index 99cf4578ea4..cfb7df038e3 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AdminAPIBase.java @@ -21,7 +21,7 @@ import java.util.Map; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ClusterState; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java index 5afb3ce3247..baeb6ddc7ac 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AliasPropertyAPI.java @@ -39,7 +39,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.Aliases; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java index a1dc114c49e..53e23886585 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceReplicasAPI.java @@ -35,7 +35,7 @@ import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams.CollectionAction; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java index a874405a8e5..62324f208c3 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BalanceShardUniqueAPI.java @@ -34,7 +34,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.cloud.overseer.SliceMutator; import org.apache.solr.common.SolrException; import org.apache.solr.common.annotation.JsonProperty; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java index 2c7d3656e89..a50e2895d52 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CollectionPropertyAPI.java @@ -28,7 +28,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.CollectionProperties; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java index e5d322a6afe..6a4130e9132 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreAdminAPIBase.java @@ -18,7 +18,7 @@ import java.util.function.Supplier; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.CoreAdminHandler; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java index 9d5f73a5237..9049a4adc7e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreReplicationAPI.java @@ -29,7 +29,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java index 2e1f8b0ecc3..634c1f105b9 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CoreSnapshotAPI.java @@ -37,7 +37,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import org.apache.lucene.index.IndexCommit; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java index 91bfa6928cc..ad3f300b7c9 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateAliasAPI.java @@ -47,8 +47,8 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.RoutedAliasTypes; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java index 79271eacd28..a33c4a51f3b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionAPI.java @@ -61,7 +61,7 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.beans.V2ApiConstants; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java index 82bab803e79..5dd9fd96e09 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionBackupAPI.java @@ -43,8 +43,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java index 99268b2a407..e619ccf442b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateCollectionSnapshotAPI.java @@ -35,7 +35,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.AsyncJerseyResponse; +import org.apache.solr.client.api.model.AsyncJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java index 9311746163c..c119f27db60 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateReplicaAPI.java @@ -51,7 +51,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java index 1dae4ea170c..41be6e672d7 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/CreateShardAPI.java @@ -47,7 +47,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ClusterState; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java index 14fbc5df4c0..6cd18f8d0b1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java @@ -28,9 +28,9 @@ import javax.inject.Inject; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; -import org.apache.solr.api.endpoint.DeleteAliasApi; -import org.apache.solr.api.model.AsyncJerseyResponse; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.endpoint.DeleteAliasApi; +import org.apache.solr.client.api.model.AsyncJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java index 3a1a9495035..070d1f2902b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java @@ -26,8 +26,8 @@ import java.util.HashMap; import java.util.Map; import javax.inject.Inject; -import org.apache.solr.api.endpoint.DeleteCollectionApi; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.endpoint.DeleteCollectionApi; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java index 38220b5b918..48a482dce3e 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionBackupAPI.java @@ -44,8 +44,8 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java index 5f30ef58b30..d77a91cafca 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollectionSnapshotAPI.java @@ -36,7 +36,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.AsyncJerseyResponse; +import org.apache.solr.client.api.model.AsyncJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java index b88239de2b6..5416793ddba 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteNodeAPI.java @@ -34,7 +34,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java index 19811523999..143acf95134 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaAPI.java @@ -40,7 +40,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java index a8aa734a076..bce721ce087 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteReplicaPropertyAPI.java @@ -30,7 +30,7 @@ import javax.inject.Inject; import javax.ws.rs.Path; import javax.ws.rs.PathParam; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java index 2972d87a5f7..593e6ed5e81 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteShardAPI.java @@ -34,7 +34,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java index 5ef40c2c27a..b0881a34bac 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ForceLeaderAPI.java @@ -32,7 +32,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.cloud.ZkController; import org.apache.solr.cloud.ZkShardTerms; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java index 93f6161f9fb..b474a9c80c2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaAPI.java @@ -27,7 +27,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.SimpleOrderedMap; import org.apache.solr.jersey.PermissionName; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java index 9df213536f8..d90512decc1 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaFieldAPI.java @@ -29,7 +29,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.MapWriter; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrClassLoader; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java index 462cf732c03..9a97af7b3eb 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/GetSchemaZkVersionAPI.java @@ -29,7 +29,7 @@ import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.cloud.ZkSolrResourceLoader; import org.apache.solr.core.SolrCore; import org.apache.solr.jersey.PermissionName; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java index 554b15a6500..c0cd11b3451 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallCoreDataAPI.java @@ -27,7 +27,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java index 4ce12c2b081..fa400835a4f 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardDataAPI.java @@ -29,7 +29,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.cloud.api.collections.InstallShardDataCmd; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java index b355f3d4561..0e2626e9668 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListAliasesAPI.java @@ -31,7 +31,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.cloud.Aliases; import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java index c741a3f3799..3ec3c599e0d 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionBackupsAPI.java @@ -38,7 +38,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java index a6f25e8dfe1..47f9194b046 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionSnapshotsAPI.java @@ -29,7 +29,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.AsyncJerseyResponse; +import org.apache.solr.client.api.model.AsyncJerseyResponse; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.util.CollectionUtil; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java index 1adb8d05e0e..e03b05a6f70 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ListCollectionsAPI.java @@ -29,7 +29,7 @@ import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.cloud.DocCollection; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java index 3bc4d69fbd2..6f353707504 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/MigrateReplicasAPI.java @@ -36,7 +36,7 @@ import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java index dc0b20c10c2..a6ffbdd2f4b 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/NodeLoggingAPI.java @@ -35,7 +35,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrException; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java index fba9c1375c4..22c2abdaca3 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReloadCollectionAPI.java @@ -33,7 +33,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; import org.apache.solr.core.CoreContainer; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java index 413b031bfa0..2fd2d7fb405 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RenameCollectionAPI.java @@ -34,7 +34,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java index d95fa8ce40a..e2e63760ab7 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/ReplaceNodeAPI.java @@ -36,7 +36,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.common.cloud.ZkNodeProps; import org.apache.solr.common.params.CollectionParams; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java index 8abf5e8e6e0..18caed1933a 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCollectionAPI.java @@ -46,8 +46,8 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.api.model.SubResponseAccumulatingJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SubResponseAccumulatingJerseyResponse; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.util.SolrIdentifierValidator; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java index b72400b2520..1b7b44b0dea 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShardAPI.java @@ -30,7 +30,7 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrClient; diff --git a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java index 9b66e11ff30..4568ce2b393 100644 --- a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java +++ b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java @@ -24,7 +24,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; import java.util.Map; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.MapWriter.EntryWriter; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; diff --git a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java index e057a474ec4..58dcdfec5e9 100644 --- a/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/configsets/ListConfigSetsAPI.java @@ -28,7 +28,7 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.core.CoreContainer; import org.apache.solr.jersey.PermissionName; diff --git a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java index 4149b082b22..d3886ae8727 100644 --- a/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java +++ b/solr/core/src/java/org/apache/solr/jersey/CatchAllExceptionMapper.java @@ -31,7 +31,7 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.handler.api.V2ApiUtils; diff --git a/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java b/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java index b2ddc86ba0d..7824b7bc314 100644 --- a/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java +++ b/solr/core/src/java/org/apache/solr/jersey/ExperimentalResponse.java @@ -18,7 +18,7 @@ package org.apache.solr.jersey; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; /** * {@link SolrJerseyResponse} implementation with a warning field indicating that the format may diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java index d345c0b8ad1..43215fefa42 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestDecorationFilter.java @@ -26,7 +26,7 @@ import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.core.SolrCore; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.request.SolrRequestHandler; diff --git a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java index 2003c5c0793..4ce9490c115 100644 --- a/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java +++ b/solr/core/src/java/org/apache/solr/jersey/PostRequestLoggingFilter.java @@ -38,7 +38,7 @@ import javax.ws.rs.container.ResourceInfo; import javax.ws.rs.core.Context; import javax.ws.rs.core.MultivaluedMap; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.util.CollectionUtil; import org.apache.solr.common.util.StrUtils; import org.apache.solr.core.SolrCore; diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java index e2581ccffc1..bf28cc0db71 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestContextKeys.java @@ -21,7 +21,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.container.ContainerRequestContext; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.core.PluginBag; diff --git a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java index fd2289baa66..c50bb53d37c 100644 --- a/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java +++ b/solr/core/src/java/org/apache/solr/jersey/RequestMetricHandling.java @@ -30,7 +30,7 @@ import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.container.ResourceInfo; import javax.ws.rs.core.Context; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.core.PluginBag; import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.request.SolrQueryRequest; diff --git a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java index 1d909908365..a3a7885752f 100644 --- a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java +++ b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java @@ -38,6 +38,7 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import org.apache.solr.cli.SolrCLI; +import org.apache.solr.client.api.util.SolrVersion; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServerException; @@ -61,7 +62,6 @@ import org.apache.solr.packagemanager.SolrPackage.Manifest; import org.apache.solr.packagemanager.SolrPackage.Plugin; import org.apache.solr.pkg.SolrPackageLoader; -import org.apache.solr.util.SolrVersion; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java b/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java index 8a929d463f4..8ef29ba5552 100644 --- a/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java +++ b/solr/core/src/java/org/apache/solr/packagemanager/RepositoryManager.java @@ -37,6 +37,7 @@ import java.util.Locale; import java.util.Map; import java.util.stream.Collectors; +import org.apache.solr.client.api.util.SolrVersion; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServerException; @@ -54,7 +55,6 @@ import org.apache.solr.packagemanager.SolrPackage.SolrPackageRelease; import org.apache.solr.pkg.PackageAPI; import org.apache.solr.pkg.SolrPackageLoader; -import org.apache.solr.util.SolrVersion; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java index a7d311d1788..46483462e5f 100644 --- a/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java +++ b/solr/core/src/java/org/apache/solr/security/PublicKeyAPI.java @@ -26,7 +26,7 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import org.apache.solr.api.JerseyResource; -import org.apache.solr.api.model.SolrJerseyResponse; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.jersey.PermissionName; /** diff --git a/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java b/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java index d5988f01990..9d49d4e80bf 100644 --- a/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java +++ b/solr/core/src/java/org/apache/solr/servlet/CoreContainerProvider.java @@ -55,6 +55,7 @@ import javax.servlet.ServletContextListener; import javax.servlet.UnavailableException; import org.apache.http.client.HttpClient; +import org.apache.solr.client.api.util.SolrVersion; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; @@ -72,7 +73,6 @@ import org.apache.solr.metrics.SolrMetricManager.ResolutionStrategy; import org.apache.solr.metrics.SolrMetricProducer; import org.apache.solr.servlet.RateLimitManager.Builder; -import org.apache.solr.util.SolrVersion; import org.apache.solr.util.StartupLoggingUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java index 5af7efc2405..337243e25e6 100644 --- a/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java +++ b/solr/core/src/java/org/apache/solr/servlet/ResponseUtils.java @@ -19,7 +19,7 @@ import java.io.PrintWriter; import java.io.StringWriter; import org.apache.solr.api.ApiBag; -import org.apache.solr.api.model.ErrorInfo; +import org.apache.solr.client.api.model.ErrorInfo; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.NamedList; import org.slf4j.Logger; diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java index 69ad3b9a270..501d22b130c 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/AddReplicaPropertyAPITest.java @@ -28,7 +28,7 @@ import java.util.Map; import java.util.Optional; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.model.AddReplicaPropertyRequestBody; +import org.apache.solr.client.api.model.AddReplicaPropertyRequestBody; import org.apache.solr.cloud.OverseerSolrResponse; import org.apache.solr.cloud.api.collections.DistributedCollectionConfigSetCommandRunner; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java index 3f6eb5b4870..7e1ed6d8da7 100644 --- a/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java +++ b/solr/core/src/test/org/apache/solr/jersey/JacksonReflectMapWriterTest.java @@ -21,10 +21,8 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.api.model.SolrJerseyResponse; -import org.apache.solr.common.util.NamedList; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.util.Utils; -import org.apache.solr.handler.api.V2ApiUtils; import org.junit.Test; /** diff --git a/solr/solr-ref-guide/modules/query-guide/pages/stream-decorator-reference.adoc b/solr/solr-ref-guide/modules/query-guide/pages/stream-decorator-reference.adoc index be9c83b970c..447bb1b8d56 100644 --- a/solr/solr-ref-guide/modules/query-guide/pages/stream-decorator-reference.adoc +++ b/solr/solr-ref-guide/modules/query-guide/pages/stream-decorator-reference.adoc @@ -428,7 +428,7 @@ classify(model(modelCollection, field="text_t") ---- -In the example above the `classify expression` is retrieving the model using the `model` function. +In the example above the `classify expression` is retrieving the model using the `api` function. It is then classifying tuples returned by the `search` function. The `text_t` field is used for the text classification and the analyzer for the `text_t` field in the Solr schema is used to analyze the text and extract the features. diff --git a/solr/solr-ref-guide/modules/query-guide/pages/stream-source-reference.adoc b/solr/solr-ref-guide/modules/query-guide/pages/stream-source-reference.adoc index 45e0b6db726..3808a812f4c 100644 --- a/solr/solr-ref-guide/modules/query-guide/pages/stream-source-reference.adoc +++ b/solr/solr-ref-guide/modules/query-guide/pages/stream-source-reference.adoc @@ -310,8 +310,8 @@ knnSearch(collection1, == model -The `model` function retrieves and caches logistic regression text classification models that are stored in a SolrCloud collection. -The `model` function is designed to work with models that are created by the <>, but can also be used to retrieve text classification models trained outside of Solr, as long as they conform to the specified format. +The `api` function retrieves and caches logistic regression text classification models that are stored in a SolrCloud collection. +The `api` function is designed to work with models that are created by the <>, but can also be used to retrieve text classification models trained outside of Solr, as long as they conform to the specified format. After the model is retrieved it can be used by the xref:stream-decorator-reference.adoc#classify[classify function] to classify documents. A single model tuple is fetched and returned based on the *id* parameter. @@ -320,14 +320,14 @@ If more then one iteration of the named model is stored in the index, the highes === Caching with model -The `model` function has an internal LRU (least-recently-used) cache so models do not have to be retrieved with each invocation of the `model` function. +The `api` function has an internal LRU (least-recently-used) cache so models do not have to be retrieved with each invocation of the `api` function. The time to cache for each model ID can be passed as a parameter to the function call. Retrieving a cached model does not reset the time for expiring the model ID in the cache. === Model Storage The storage format of the models in Solr is below. -The `train` function outputs the format below so you only need to know schema details if you plan to use the `model` function with logistic regression models trained outside of Solr. +The `train` function outputs the format below so you only need to know schema details if you plan to use the `api` function with logistic regression models trained outside of Solr. * `name_s` (Single value, String, Stored): The name of the model. * `iteration_i` (Single value, Integer, Stored): The iteration number of the model. diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 2480630a989..e6bdf9caa0f 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -29,6 +29,7 @@ description = 'Solrj - Solr Java Client' dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind' + implementation 'com.fasterxml.jackson.core:jackson-annotations' implementation project(":solr:api") implementation 'org.slf4j:slf4j-api' @@ -131,7 +132,7 @@ openApiGenerate { generateModelTests = false generateApiDocumentation = false generateModelDocumentation = false - additionalProperties = ["modelPackage": "org.apache.solr.api.model"] + additionalProperties = ["modelPackage": "org.apache.solr.client.api.model"] } tasks.openApiGenerate.dependsOn configurations.openApiSpecFile diff --git a/solr/solrj/src/java/org/apache/solr/common/DelegateMapWriter.java b/solr/solrj/src/java/org/apache/solr/common/DelegateMapWriter.java index a7c7f9c130d..9fe01b09b14 100644 --- a/solr/solrj/src/java/org/apache/solr/common/DelegateMapWriter.java +++ b/solr/solrj/src/java/org/apache/solr/common/DelegateMapWriter.java @@ -19,30 +19,28 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.solr.common.MapWriter; -import org.apache.solr.common.util.Utils; - import java.io.IOException; +import org.apache.solr.common.util.Utils; public class DelegateMapWriter implements MapWriter { - private final Object delegate; + private final Object delegate; - public DelegateMapWriter(Object delegate) { - this.delegate = delegate; - } + public DelegateMapWriter(Object delegate) { + this.delegate = delegate; + } - @Override - public void writeMap(EntryWriter ew) throws IOException { - Utils.reflectWrite( - ew, - delegate, - // TODO Should we be lenient here and accept both the Jackson and our homegrown annotation? - field -> field.getAnnotation(JsonProperty.class) != null, - JsonAnyGetter.class, - field -> { - final JsonProperty prop = field.getAnnotation(JsonProperty.class); - return prop.value().isEmpty() ? field.getName() : prop.value(); - }); - } + @Override + public void writeMap(EntryWriter ew) throws IOException { + Utils.reflectWrite( + ew, + delegate, + // TODO Should we be lenient here and accept both the Jackson and our homegrown annotation? + field -> field.getAnnotation(JsonProperty.class) != null, + JsonAnyGetter.class, + field -> { + final JsonProperty prop = field.getAnnotation(JsonProperty.class); + return prop.value().isEmpty() ? field.getName() : prop.value(); + }); + } } diff --git a/solr/solrj/src/java/org/apache/solr/common/SolrException.java b/solr/solrj/src/java/org/apache/solr/common/SolrException.java index 19dd6faa474..2bcab2cab3a 100644 --- a/solr/solrj/src/java/org/apache/solr/common/SolrException.java +++ b/solr/solrj/src/java/org/apache/solr/common/SolrException.java @@ -16,8 +16,8 @@ */ package org.apache.solr.common; -import static org.apache.solr.api.model.ErrorInfo.ERROR_CLASS; -import static org.apache.solr.api.model.ErrorInfo.ROOT_ERROR_CLASS; +import static org.apache.solr.client.api.model.ErrorInfo.ERROR_CLASS; +import static org.apache.solr.client.api.model.ErrorInfo.ROOT_ERROR_CLASS; import java.util.Map; import org.apache.solr.common.util.NamedList; diff --git a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java index 49836498bd6..488aa8e8427 100644 --- a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java +++ b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java @@ -42,9 +42,7 @@ import java.util.function.BiConsumer; import java.util.function.Function; import java.util.function.Predicate; - -import com.fasterxml.jackson.annotation.JsonAnyGetter; -import com.fasterxml.jackson.annotation.JsonProperty; +import org.apache.solr.client.api.util.ReflectWritable; import org.apache.solr.common.ConditionalKeyMapWriter; import org.apache.solr.common.DelegateMapWriter; import org.apache.solr.common.EnumFieldValue; @@ -58,7 +56,6 @@ import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.SolrInputField; import org.apache.solr.common.params.CommonParams; -import org.apache.solr.util.ReflectWritable; import org.noggit.CharArr; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/solrj/src/java/org/apache/solr/common/util/TextWriter.java b/solr/solrj/src/java/org/apache/solr/common/util/TextWriter.java index 2fc24a53d43..c42240aeed5 100644 --- a/solr/solrj/src/java/org/apache/solr/common/util/TextWriter.java +++ b/solr/solrj/src/java/org/apache/solr/common/util/TextWriter.java @@ -34,14 +34,13 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.LongAccumulator; import java.util.concurrent.atomic.LongAdder; - +import org.apache.solr.client.api.util.ReflectWritable; import org.apache.solr.common.DelegateMapWriter; import org.apache.solr.common.EnumFieldValue; import org.apache.solr.common.IteratorWriter; import org.apache.solr.common.MapSerializable; import org.apache.solr.common.MapWriter; import org.apache.solr.common.PushWriter; -import org.apache.solr.util.ReflectWritable; // Base interface for all text based writers public interface TextWriter extends PushWriter { From f0e9c7998a5204058fa0d8c1cc0118c3c52084b2 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 1 Aug 2023 14:58:06 -0400 Subject: [PATCH 54/58] Post-merge cleanup --- solr/core/src/java/org/apache/solr/cli/VersionTool.java | 2 +- .../java/org/apache/solr/handler/IncrementalShardBackup.java | 2 +- solr/core/src/java/org/apache/solr/handler/SnapShooter.java | 2 +- .../src/java/org/apache/solr/handler/admin/BackupCoreOp.java | 3 +-- .../java/org/apache/solr/handler/admin/api/BackupCoreAPI.java | 2 +- .../core/src/java/org/apache/solr/handler/api/V2ApiUtils.java | 4 ++-- 6 files changed, 7 insertions(+), 8 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/cli/VersionTool.java b/solr/core/src/java/org/apache/solr/cli/VersionTool.java index 1b0e1fa4644..f5e84e6c1f8 100644 --- a/solr/core/src/java/org/apache/solr/cli/VersionTool.java +++ b/solr/core/src/java/org/apache/solr/cli/VersionTool.java @@ -21,7 +21,7 @@ import java.util.List; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; -import org.apache.solr.util.SolrVersion; +import org.apache.solr.client.api.util.SolrVersion; public class VersionTool extends ToolBase { diff --git a/solr/core/src/java/org/apache/solr/handler/IncrementalShardBackup.java b/solr/core/src/java/org/apache/solr/handler/IncrementalShardBackup.java index 74128375ad0..c4de4807588 100644 --- a/solr/core/src/java/org/apache/solr/handler/IncrementalShardBackup.java +++ b/solr/core/src/java/org/apache/solr/handler/IncrementalShardBackup.java @@ -29,6 +29,7 @@ import org.apache.commons.math3.util.Precision; import org.apache.lucene.index.IndexCommit; import org.apache.lucene.store.Directory; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.common.SolrException; import org.apache.solr.core.DirectoryFactory; @@ -39,7 +40,6 @@ import org.apache.solr.core.backup.ShardBackupId; import org.apache.solr.core.backup.ShardBackupMetadata; import org.apache.solr.core.backup.repository.BackupRepository; -import org.apache.solr.jersey.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/SnapShooter.java b/solr/core/src/java/org/apache/solr/handler/SnapShooter.java index 184d2aeb0c2..4f2beb51983 100644 --- a/solr/core/src/java/org/apache/solr/handler/SnapShooter.java +++ b/solr/core/src/java/org/apache/solr/handler/SnapShooter.java @@ -35,6 +35,7 @@ import java.util.function.Consumer; import org.apache.lucene.index.IndexCommit; import org.apache.lucene.store.Directory; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.util.NamedList; @@ -47,7 +48,6 @@ import org.apache.solr.core.backup.repository.LocalFileSystemRepository; import org.apache.solr.core.snapshots.SolrSnapshotMetaDataManager; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.jersey.SolrJerseyResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/handler/admin/BackupCoreOp.java b/solr/core/src/java/org/apache/solr/handler/admin/BackupCoreOp.java index 2f5407416c4..bfd939c43b4 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/BackupCoreOp.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/BackupCoreOp.java @@ -25,7 +25,6 @@ import org.apache.solr.core.backup.ShardBackupId; import org.apache.solr.handler.admin.api.BackupCoreAPI; import org.apache.solr.handler.api.V2ApiUtils; -import org.apache.solr.jersey.SolrJerseyResponse; class BackupCoreOp implements CoreAdminHandler.CoreAdminOp { @@ -53,7 +52,7 @@ public void execute(CoreAdminHandler.CallInfo it) throws Exception { new BackupCoreAPI( it.handler.coreContainer, it.req, it.rsp, it.handler.coreAdminAsyncTracker); try { - SolrJerseyResponse response = backupCoreAPI.createBackup(cname, backupCoreRequestBody); + final var response = backupCoreAPI.createBackup(cname, backupCoreRequestBody); NamedList namedList = new SimpleOrderedMap<>(); V2ApiUtils.squashIntoNamedListWithoutHeader(namedList, response); it.rsp.addResponse(namedList); diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/BackupCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/BackupCoreAPI.java index 833149cb07b..8f57c58f2d9 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/BackupCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/BackupCoreAPI.java @@ -31,6 +31,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.common.SolrException; import org.apache.solr.core.CoreContainer; import org.apache.solr.core.SolrCore; @@ -41,7 +42,6 @@ import org.apache.solr.handler.SnapShooter; import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; diff --git a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java index 9b415fc74bc..2fa0ae4ed3f 100644 --- a/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java +++ b/solr/core/src/java/org/apache/solr/handler/api/V2ApiUtils.java @@ -83,8 +83,8 @@ public static void squashIntoNamedList(NamedList destination, Object mw) } public static void squashIntoNamedListWithoutHeader( - NamedList destination, JacksonReflectMapWriter mw) { - squashIntoNamedList(destination, mw, true); + NamedList destination, Object toSquash) { + squashObjectIntoNamedList(destination, toSquash, true); } public static String getMediaTypeFromWtParam( From 5f61a803030bf241cc673561c448208f28414635 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 8 Aug 2023 09:57:00 -0400 Subject: [PATCH 55/58] Post-merge cleanup --- .../java/org/apache/solr/handler/admin/api/RestoreCoreAPI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCoreAPI.java b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCoreAPI.java index 11243630cf7..03358880450 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCoreAPI.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/RestoreCoreAPI.java @@ -27,6 +27,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import org.apache.solr.client.api.model.SolrJerseyResponse; import org.apache.solr.cloud.CloudDescriptor; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.Slice; @@ -39,7 +40,6 @@ import org.apache.solr.handler.admin.CoreAdminHandler; import org.apache.solr.jersey.JacksonReflectMapWriter; import org.apache.solr.jersey.PermissionName; -import org.apache.solr.jersey.SolrJerseyResponse; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; From ae5e18d256563ff733a9a2ad6a412e7eae691dc2 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 8 Aug 2023 10:01:53 -0400 Subject: [PATCH 56/58] Make check happy --- .../org/apache/solr/client/solrj/JacksonParsingResponse.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java index e33e5d2bf37..3e95da59657 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/JacksonParsingResponse.java @@ -22,7 +22,7 @@ import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.ObjectReleaseTracker; -public class JacksonParsingResponse extends SimpleSolrResponse { +public class JacksonParsingResponse extends SimpleSolrResponse { private final Class typeParam; From 825282001a4c870beb5504fb0a95c2e601bd1322 Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 8 Aug 2023 11:47:03 -0400 Subject: [PATCH 57/58] Add missing @Override annotations --- .../org/apache/solr/handler/admin/api/AddReplicaProperty.java | 1 + .../src/java/org/apache/solr/handler/admin/api/DeleteAlias.java | 1 + .../java/org/apache/solr/handler/admin/api/DeleteCollection.java | 1 + 3 files changed, 3 insertions(+) diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java index 718d54247a3..c3f29f90b00 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/AddReplicaProperty.java @@ -60,6 +60,7 @@ public AddReplicaProperty( super(coreContainer, solrQueryRequest, solrQueryResponse); } + @Override @PermissionName(COLL_EDIT_PERM) public SolrJerseyResponse addReplicaProperty( String collName, diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java index 6cd18f8d0b1..2c577453c93 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteAlias.java @@ -49,6 +49,7 @@ public DeleteAlias( super(coreContainer, solrQueryRequest, solrQueryResponse); } + @Override @PermissionName(COLL_EDIT_PERM) public SolrJerseyResponse deleteAlias( @PathParam("aliasName") String aliasName, @QueryParam("async") String asyncId) diff --git a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java index 070d1f2902b..812f7255ad2 100644 --- a/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java +++ b/solr/core/src/java/org/apache/solr/handler/admin/api/DeleteCollection.java @@ -53,6 +53,7 @@ public DeleteCollection( super(coreContainer, solrQueryRequest, solrQueryResponse); } + @Override @PermissionName(COLL_EDIT_PERM) public SubResponseAccumulatingJerseyResponse deleteCollection( String collectionName, Boolean followAliases, String asyncId) throws Exception { From f9969196cc7b9edb6fbae4138e32ef40f058bfbe Mon Sep 17 00:00:00 2001 From: Jason Gerlowski Date: Tue, 8 Aug 2023 12:26:29 -0400 Subject: [PATCH 58/58] CHANGES.txt entry --- solr/CHANGES.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index 312c227110e..46ed860c17f 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -84,6 +84,11 @@ Improvements a HTTP 503 status. Switched to 510 so that CloudSolrClient will auto-retry it and probably succeed. (David Smiley, Alex Deparvu) +* SOLR-16825: Solr now offers `SolrRequest` implementations for a subset of its v2 APIs. These implementations + are experimental and should be used with caution, but may be preferable to their v1 counterparts in some + circumstances as they are generated and more likely to remain up-to-date with future API changes. + (Jason Gerlowski, David Smiley, Houston Putman) + Optimizations ---------------------