diff --git a/gerrit_debug.launch b/gerrit_debug.launch
index 8c09b25bbb..077458a66d 100644
--- a/gerrit_debug.launch
+++ b/gerrit_debug.launch
@@ -23,5 +23,5 @@
-
+
diff --git a/gerrit_macos.launch b/gerrit_macos.launch
index f266c387c5..83fbd1813f 100644
--- a/gerrit_macos.launch
+++ b/gerrit_macos.launch
@@ -23,5 +23,5 @@
-
+
diff --git a/src/main/java/com/google/gerrit/server/AccountCookie.java b/src/main/java/com/google/gerrit/server/http/AccountCookie.java
similarity index 97%
rename from src/main/java/com/google/gerrit/server/AccountCookie.java
rename to src/main/java/com/google/gerrit/server/http/AccountCookie.java
index 96f65743d0..85ca4128ab 100644
--- a/src/main/java/com/google/gerrit/server/AccountCookie.java
+++ b/src/main/java/com/google/gerrit/server/http/AccountCookie.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import com.google.gerrit.client.Gerrit;
diff --git a/src/main/java/com/google/gerrit/server/BecomeAnyAccountLoginServlet.java b/src/main/java/com/google/gerrit/server/http/BecomeAnyAccountLoginServlet.java
similarity index 99%
rename from src/main/java/com/google/gerrit/server/BecomeAnyAccountLoginServlet.java
rename to src/main/java/com/google/gerrit/server/http/BecomeAnyAccountLoginServlet.java
index 030d235820..3ad1b30be7 100644
--- a/src/main/java/com/google/gerrit/server/BecomeAnyAccountLoginServlet.java
+++ b/src/main/java/com/google/gerrit/server/http/BecomeAnyAccountLoginServlet.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import com.google.gerrit.client.reviewdb.Account;
import com.google.gerrit.client.reviewdb.ReviewDb;
diff --git a/src/main/java/com/google/gerrit/server/CatServlet.java b/src/main/java/com/google/gerrit/server/http/CatServlet.java
similarity index 98%
rename from src/main/java/com/google/gerrit/server/CatServlet.java
rename to src/main/java/com/google/gerrit/server/http/CatServlet.java
index b50277c283..f4ec22df96 100644
--- a/src/main/java/com/google/gerrit/server/CatServlet.java
+++ b/src/main/java/com/google/gerrit/server/http/CatServlet.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import static com.google.gerrit.server.BaseServiceImplementation.canRead;
@@ -24,6 +24,8 @@ import com.google.gerrit.client.reviewdb.PatchSet;
import com.google.gerrit.client.reviewdb.Project;
import com.google.gerrit.client.reviewdb.ReviewDb;
import com.google.gerrit.client.rpc.Common;
+import com.google.gerrit.server.FileTypeRegistry;
+import com.google.gerrit.server.GerritServer;
import com.google.gwtorm.client.OrmException;
import com.google.gwtorm.client.SchemaFactory;
import com.google.inject.Inject;
diff --git a/src/main/java/com/google/gerrit/server/GerritCall.java b/src/main/java/com/google/gerrit/server/http/GerritCall.java
similarity index 99%
rename from src/main/java/com/google/gerrit/server/GerritCall.java
rename to src/main/java/com/google/gerrit/server/http/GerritCall.java
index 2ec9706077..c3b001b26a 100644
--- a/src/main/java/com/google/gerrit/server/GerritCall.java
+++ b/src/main/java/com/google/gerrit/server/http/GerritCall.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import com.google.gerrit.client.Gerrit;
import com.google.gerrit.client.reviewdb.Account;
diff --git a/src/main/java/com/google/gerrit/server/rpc/GerritJsonServlet.java b/src/main/java/com/google/gerrit/server/http/GerritJsonServlet.java
similarity index 97%
rename from src/main/java/com/google/gerrit/server/rpc/GerritJsonServlet.java
rename to src/main/java/com/google/gerrit/server/http/GerritJsonServlet.java
index 8d6e8e3bc3..801245b20f 100644
--- a/src/main/java/com/google/gerrit/server/rpc/GerritJsonServlet.java
+++ b/src/main/java/com/google/gerrit/server/http/GerritJsonServlet.java
@@ -12,11 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server.rpc;
+package com.google.gerrit.server.http;
import com.google.gerrit.client.rpc.NotSignedInException;
import com.google.gerrit.client.rpc.SignInRequired;
-import com.google.gerrit.server.GerritCall;
import com.google.gerrit.server.config.AuthConfig;
import com.google.gson.GsonBuilder;
import com.google.gwtjsonrpc.client.RemoteJsonService;
diff --git a/src/main/java/com/google/gerrit/server/rpc/GerritJsonServletProvider.java b/src/main/java/com/google/gerrit/server/http/GerritJsonServletProvider.java
similarity index 97%
rename from src/main/java/com/google/gerrit/server/rpc/GerritJsonServletProvider.java
rename to src/main/java/com/google/gerrit/server/http/GerritJsonServletProvider.java
index 19ed9f832c..3709403653 100644
--- a/src/main/java/com/google/gerrit/server/rpc/GerritJsonServletProvider.java
+++ b/src/main/java/com/google/gerrit/server/http/GerritJsonServletProvider.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server.rpc;
+package com.google.gerrit.server.http;
import com.google.gwtjsonrpc.client.RemoteJsonService;
import com.google.inject.AbstractModule;
diff --git a/src/main/java/com/google/gerrit/server/GerritServletConfig.java b/src/main/java/com/google/gerrit/server/http/GerritServletConfig.java
similarity index 98%
rename from src/main/java/com/google/gerrit/server/GerritServletConfig.java
rename to src/main/java/com/google/gerrit/server/http/GerritServletConfig.java
index 3d29538559..5d80c25386 100644
--- a/src/main/java/com/google/gerrit/server/GerritServletConfig.java
+++ b/src/main/java/com/google/gerrit/server/http/GerritServletConfig.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import static com.google.inject.Scopes.SINGLETON;
import static com.google.inject.Stage.PRODUCTION;
@@ -24,6 +24,9 @@ import com.google.gerrit.client.rpc.Common.CurrentAccountImpl;
import com.google.gerrit.git.PushAllProjectsOp;
import com.google.gerrit.git.ReloadSubmitQueueOp;
import com.google.gerrit.git.WorkQueue;
+import com.google.gerrit.server.CurrentUser;
+import com.google.gerrit.server.IdentifiedUser;
+import com.google.gerrit.server.RemotePeer;
import com.google.gerrit.server.config.DatabaseModule;
import com.google.gerrit.server.config.FactoryModule;
import com.google.gerrit.server.config.GerritConfigProvider;
diff --git a/src/main/java/com/google/gerrit/server/HostPageServlet.java b/src/main/java/com/google/gerrit/server/http/HostPageServlet.java
similarity index 99%
rename from src/main/java/com/google/gerrit/server/HostPageServlet.java
rename to src/main/java/com/google/gerrit/server/http/HostPageServlet.java
index 8f8231e8d7..21970dc5d5 100644
--- a/src/main/java/com/google/gerrit/server/HostPageServlet.java
+++ b/src/main/java/com/google/gerrit/server/http/HostPageServlet.java
@@ -12,11 +12,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import com.google.gerrit.client.data.GerritConfig;
import com.google.gerrit.client.reviewdb.Account;
import com.google.gerrit.client.rpc.Common;
+import com.google.gerrit.server.GerritServer;
import com.google.gerrit.server.config.CanonicalWebUrl;
import com.google.gerrit.server.config.Nullable;
import com.google.gerrit.server.config.SitePath;
diff --git a/src/main/java/com/google/gerrit/server/HtmlDomUtil.java b/src/main/java/com/google/gerrit/server/http/HtmlDomUtil.java
similarity index 99%
rename from src/main/java/com/google/gerrit/server/HtmlDomUtil.java
rename to src/main/java/com/google/gerrit/server/http/HtmlDomUtil.java
index 510901087d..cc01899b2a 100644
--- a/src/main/java/com/google/gerrit/server/HtmlDomUtil.java
+++ b/src/main/java/com/google/gerrit/server/http/HtmlDomUtil.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
diff --git a/src/main/java/com/google/gerrit/server/HttpCurrentUserProvider.java b/src/main/java/com/google/gerrit/server/http/HttpCurrentUserProvider.java
similarity index 90%
rename from src/main/java/com/google/gerrit/server/HttpCurrentUserProvider.java
rename to src/main/java/com/google/gerrit/server/http/HttpCurrentUserProvider.java
index 69ba3f180d..eeeba54498 100644
--- a/src/main/java/com/google/gerrit/server/HttpCurrentUserProvider.java
+++ b/src/main/java/com/google/gerrit/server/http/HttpCurrentUserProvider.java
@@ -12,9 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import com.google.gerrit.client.reviewdb.Account;
+import com.google.gerrit.server.CurrentUser;
+import com.google.gerrit.server.IdentifiedUser;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.servlet.RequestScoped;
diff --git a/src/main/java/com/google/gerrit/server/HttpRemotePeerProvider.java b/src/main/java/com/google/gerrit/server/http/HttpRemotePeerProvider.java
similarity index 97%
rename from src/main/java/com/google/gerrit/server/HttpRemotePeerProvider.java
rename to src/main/java/com/google/gerrit/server/http/HttpRemotePeerProvider.java
index 98900e1a60..a8ce141019 100644
--- a/src/main/java/com/google/gerrit/server/HttpRemotePeerProvider.java
+++ b/src/main/java/com/google/gerrit/server/http/HttpRemotePeerProvider.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import com.google.inject.Inject;
import com.google.inject.Provider;
diff --git a/src/main/java/com/google/gerrit/server/PrettifyServlet.java b/src/main/java/com/google/gerrit/server/http/PrettifyServlet.java
similarity index 98%
rename from src/main/java/com/google/gerrit/server/PrettifyServlet.java
rename to src/main/java/com/google/gerrit/server/http/PrettifyServlet.java
index 49bd48f428..eb94f6f0c7 100644
--- a/src/main/java/com/google/gerrit/server/PrettifyServlet.java
+++ b/src/main/java/com/google/gerrit/server/http/PrettifyServlet.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import com.google.inject.Inject;
import com.google.inject.Singleton;
diff --git a/src/main/java/com/google/gerrit/server/http/RpcServletModule.java b/src/main/java/com/google/gerrit/server/http/RpcServletModule.java
new file mode 100644
index 0000000000..8b259c7c3f
--- /dev/null
+++ b/src/main/java/com/google/gerrit/server/http/RpcServletModule.java
@@ -0,0 +1,46 @@
+// Copyright (C) 2009 The Android Open Source Project
+//
+// Licensed 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 com.google.gerrit.server.http;
+
+import com.google.gwtjsonrpc.client.RemoteJsonService;
+import com.google.inject.Key;
+import com.google.inject.Scopes;
+import com.google.inject.servlet.ServletModule;
+
+/** Binds {@link RemoteJsonService} implementations to a JSON servlet. */
+public abstract class RpcServletModule extends ServletModule {
+ private final String prefix;
+
+ protected RpcServletModule(final String pathPrefix) {
+ prefix = pathPrefix;
+ }
+
+ protected void rpc(Class extends RemoteJsonService> clazz) {
+ String name = clazz.getSimpleName();
+ if (name.endsWith("Impl")) {
+ name = name.substring(0, name.length() - 4);
+ }
+ rpc(name, clazz);
+ }
+
+ protected void rpc(final String name, Class extends RemoteJsonService> clazz) {
+ final Key srv =
+ Key.get(GerritJsonServlet.class, ServletNameImpl.named(name));
+ final GerritJsonServletProvider provider =
+ new GerritJsonServletProvider(clazz);
+ serve(prefix + name).with(srv);
+ bind(srv).toProvider(provider).in(Scopes.SINGLETON);
+ }
+}
diff --git a/src/main/java/com/google/gerrit/server/config/ServletName.java b/src/main/java/com/google/gerrit/server/http/ServletName.java
similarity index 95%
rename from src/main/java/com/google/gerrit/server/config/ServletName.java
rename to src/main/java/com/google/gerrit/server/http/ServletName.java
index 91061fb6eb..70f714e81a 100644
--- a/src/main/java/com/google/gerrit/server/config/ServletName.java
+++ b/src/main/java/com/google/gerrit/server/http/ServletName.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server.config;
+package com.google.gerrit.server.http;
import com.google.inject.BindingAnnotation;
diff --git a/src/main/java/com/google/gerrit/server/config/ServletNameImpl.java b/src/main/java/com/google/gerrit/server/http/ServletNameImpl.java
similarity index 97%
rename from src/main/java/com/google/gerrit/server/config/ServletNameImpl.java
rename to src/main/java/com/google/gerrit/server/http/ServletNameImpl.java
index 5a8a471040..616678de2f 100644
--- a/src/main/java/com/google/gerrit/server/config/ServletNameImpl.java
+++ b/src/main/java/com/google/gerrit/server/http/ServletNameImpl.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server.config;
+package com.google.gerrit.server.http;
import java.lang.annotation.Annotation;
diff --git a/src/main/java/com/google/gerrit/server/SshServlet.java b/src/main/java/com/google/gerrit/server/http/SshServlet.java
similarity index 98%
rename from src/main/java/com/google/gerrit/server/SshServlet.java
rename to src/main/java/com/google/gerrit/server/http/SshServlet.java
index d45a978713..7756e5ffda 100644
--- a/src/main/java/com/google/gerrit/server/SshServlet.java
+++ b/src/main/java/com/google/gerrit/server/http/SshServlet.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import com.google.gerrit.server.ssh.SshInfo;
import com.google.inject.Inject;
diff --git a/src/main/java/com/google/gerrit/server/StaticServlet.java b/src/main/java/com/google/gerrit/server/http/StaticServlet.java
similarity index 99%
rename from src/main/java/com/google/gerrit/server/StaticServlet.java
rename to src/main/java/com/google/gerrit/server/http/StaticServlet.java
index c68f0456db..9a52863d57 100644
--- a/src/main/java/com/google/gerrit/server/StaticServlet.java
+++ b/src/main/java/com/google/gerrit/server/http/StaticServlet.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import com.google.gerrit.server.config.SitePath;
import com.google.gwt.user.server.rpc.RPCServletUtils;
diff --git a/src/main/java/com/google/gerrit/server/UrlRewriteFilter.java b/src/main/java/com/google/gerrit/server/http/UrlRewriteFilter.java
similarity index 99%
rename from src/main/java/com/google/gerrit/server/UrlRewriteFilter.java
rename to src/main/java/com/google/gerrit/server/http/UrlRewriteFilter.java
index 3716e20a09..68283671a6 100644
--- a/src/main/java/com/google/gerrit/server/UrlRewriteFilter.java
+++ b/src/main/java/com/google/gerrit/server/http/UrlRewriteFilter.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.gerrit.server;
+package com.google.gerrit.server.http;
import com.google.gerrit.client.Link;
import com.google.gerrit.client.reviewdb.Account;
diff --git a/src/main/java/com/google/gerrit/server/rpc/OpenIdServiceImpl.java b/src/main/java/com/google/gerrit/server/rpc/OpenIdServiceImpl.java
index 353b8bad27..a2b4431993 100644
--- a/src/main/java/com/google/gerrit/server/rpc/OpenIdServiceImpl.java
+++ b/src/main/java/com/google/gerrit/server/rpc/OpenIdServiceImpl.java
@@ -25,12 +25,12 @@ import com.google.gerrit.client.reviewdb.AccountExternalIdAccess;
import com.google.gerrit.client.reviewdb.ReviewDb;
import com.google.gerrit.client.reviewdb.SystemConfig;
import com.google.gerrit.client.rpc.Common;
-import com.google.gerrit.server.GerritCall;
import com.google.gerrit.server.GerritServer;
import com.google.gerrit.server.UrlEncoded;
import com.google.gerrit.server.config.AuthConfig;
import com.google.gerrit.server.config.CanonicalWebUrl;
import com.google.gerrit.server.config.Nullable;
+import com.google.gerrit.server.http.GerritCall;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwtorm.client.KeyUtil;
import com.google.gwtorm.client.OrmException;
diff --git a/src/main/java/com/google/gerrit/server/rpc/UiRpcModule.java b/src/main/java/com/google/gerrit/server/rpc/UiRpcModule.java
index 5c69426b60..ce59496dd1 100644
--- a/src/main/java/com/google/gerrit/server/rpc/UiRpcModule.java
+++ b/src/main/java/com/google/gerrit/server/rpc/UiRpcModule.java
@@ -14,15 +14,15 @@
package com.google.gerrit.server.rpc;
-import com.google.gerrit.server.config.ServletNameImpl;
+import com.google.gerrit.server.http.RpcServletModule;
import com.google.gerrit.server.patch.PatchDetailServiceImpl;
-import com.google.gwtjsonrpc.client.RemoteJsonService;
-import com.google.inject.Key;
-import com.google.inject.Scopes;
-import com.google.inject.servlet.ServletModule;
/** Registers servlets to answer RPCs from client UI. */
-public class UiRpcModule extends ServletModule {
+public class UiRpcModule extends RpcServletModule {
+ public UiRpcModule() {
+ super("/gerrit/rpc/");
+ }
+
@Override
protected void configureServlets() {
serve("/login").with(OpenIdLoginServlet.class);
@@ -39,21 +39,4 @@ public class UiRpcModule extends ServletModule {
rpc(SuggestServiceImpl.class);
rpc(SystemInfoServiceImpl.class);
}
-
- private void rpc(Class extends RemoteJsonService> clazz) {
- String name = clazz.getSimpleName();
- if (name.endsWith("Impl")) {
- name = name.substring(0, name.length() - 4);
- }
- rpc(name, clazz);
- }
-
- private void rpc(final String name, Class extends RemoteJsonService> clazz) {
- final Key srv =
- Key.get(GerritJsonServlet.class, ServletNameImpl.named(name));
- final GerritJsonServletProvider provider =
- new GerritJsonServletProvider(clazz);
- serve("/gerrit/rpc/" + name).with(srv);
- bind(srv).toProvider(provider).in(Scopes.SINGLETON);
- }
}
diff --git a/src/main/java/com/google/gerrit/server/ssh/NoShell.java b/src/main/java/com/google/gerrit/server/ssh/NoShell.java
index 06be6b9063..b4eb39c946 100644
--- a/src/main/java/com/google/gerrit/server/ssh/NoShell.java
+++ b/src/main/java/com/google/gerrit/server/ssh/NoShell.java
@@ -14,7 +14,7 @@
package com.google.gerrit.server.ssh;
-import com.google.gerrit.server.SshServlet;
+import com.google.gerrit.server.http.SshServlet;
import org.apache.sshd.server.ShellFactory;
import org.spearce.jgit.lib.Constants;
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index dbcab649f9..4ef561c1ca 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -16,6 +16,6 @@
- com.google.gerrit.server.GerritServletConfig
+ com.google.gerrit.server.http.GerritServletConfig