Google-style global reformat
Change-Id: Iac61cb71f524fa20926607787582686c51a12ef8
diff --git a/github-oauth/src/main/java/com/google/gerrit/httpd/XGerritAuth.java b/github-oauth/src/main/java/com/google/gerrit/httpd/XGerritAuth.java
index 4fd0734..457f627 100644
--- a/github-oauth/src/main/java/com/google/gerrit/httpd/XGerritAuth.java
+++ b/github-oauth/src/main/java/com/google/gerrit/httpd/XGerritAuth.java
@@ -18,7 +18,6 @@
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.inject.name.Named;
-
import javax.servlet.http.Cookie;
@Singleton
@@ -27,14 +26,14 @@
private WebSessionManager manager;
@Inject
- public XGerritAuth(WebSessionManagerFactory managerFactory,
+ public XGerritAuth(
+ WebSessionManagerFactory managerFactory,
@Named(WebSessionManager.CACHE_NAME) Cache<String, Val> cache) {
this.manager = managerFactory.create(cache);
}
public String getAuthValue(Cookie gerritCookie) {
- Val session =
- manager.get(new WebSessionManager.Key(gerritCookie.getValue()));
+ Val session = manager.get(new WebSessionManager.Key(gerritCookie.getValue()));
return session.getAuth();
}
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/groups/OrganizationStructure.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/groups/OrganizationStructure.java
index d577a62..8a56d0f 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/groups/OrganizationStructure.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/groups/OrganizationStructure.java
@@ -14,14 +14,13 @@
package com.googlesource.gerrit.plugins.github.groups;
+import com.google.common.base.MoreObjects;
import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;
-import com.google.common.base.MoreObjects;
-
public class OrganizationStructure implements Serializable {
private static final long serialVersionUID = 1L;
@@ -29,8 +28,7 @@
public Set<String> put(String organisation, String team) {
HashSet<String> userTeams =
- MoreObjects.firstNonNull(teams.get(organisation),
- new HashSet<String>());
+ MoreObjects.firstNonNull(teams.get(organisation), new HashSet<String>());
userTeams.add(team);
return teams.put(organisation, userTeams);
}
@@ -48,8 +46,7 @@
return teams
.entrySet()
.stream()
- .map(
- org -> "Organization " + org.getKey() + " Teams: " + org.getValue())
+ .map(org -> "Organization " + org.getKey() + " Teams: " + org.getValue())
.collect(Collectors.joining(" : "));
}
-}
\ No newline at end of file
+}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedHttpRequest.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedHttpRequest.java
index 5475fcf..bcbe705 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedHttpRequest.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedHttpRequest.java
@@ -14,22 +14,19 @@
package com.googlesource.gerrit.plugins.github.oauth;
import com.google.common.collect.Iterators;
-
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
-
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
public class AuthenticatedHttpRequest extends HttpServletRequestWrapper {
private HashMap<String, String> headers = new HashMap<>();
- public AuthenticatedHttpRequest(HttpServletRequest request,
- String... headerNamesValues) {
+ public AuthenticatedHttpRequest(HttpServletRequest request, String... headerNamesValues) {
super(request);
- for (int i = 0; i < headerNamesValues.length;) {
+ for (int i = 0; i < headerNamesValues.length; ) {
String name = headerNamesValues[i++];
String value = headerNamesValues[i++];
if (name != null && value != null) {
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedLoginHttpRequest.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedLoginHttpRequest.java
index 2c5469b..8142259 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedLoginHttpRequest.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedLoginHttpRequest.java
@@ -17,8 +17,8 @@
public class AuthenticatedLoginHttpRequest extends AuthenticatedPathHttpRequest {
- public AuthenticatedLoginHttpRequest(HttpServletRequest request,
- String userHeader, String username) {
+ public AuthenticatedLoginHttpRequest(
+ HttpServletRequest request, String userHeader, String username) {
super(request, "/login", userHeader, username);
}
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedLoginHttpResponse.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedLoginHttpResponse.java
index e9bd369..26a1041 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedLoginHttpResponse.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedLoginHttpResponse.java
@@ -20,7 +20,6 @@
import java.util.Collection;
import java.util.Collections;
import java.util.Locale;
-
import javax.servlet.ServletOutputStream;
import javax.servlet.ServletResponse;
import javax.servlet.WriteListener;
@@ -41,7 +40,7 @@
@Override
public void addCookie(Cookie cookie) {
- if(cookie.getName().equals(OAuthWebFilter.GERRIT_COOKIE_NAME)) {
+ if (cookie.getName().equals(OAuthWebFilter.GERRIT_COOKIE_NAME)) {
this.gerritCookie = cookie;
}
}
@@ -51,16 +50,13 @@
}
@Override
- public void addDateHeader(String name, long date) {
- }
-
- @Override
- public void addHeader(String name, String value) {
- }
+ public void addDateHeader(String name, long date) {}
@Override
- public void addIntHeader(String name, int value) {
- }
+ public void addHeader(String name, String value) {}
+
+ @Override
+ public void addIntHeader(String name, int value) {}
@Override
public boolean containsHeader(String name) {
@@ -103,16 +99,13 @@
}
@Override
- public void setDateHeader(String name, long date) {
- }
+ public void setDateHeader(String name, long date) {}
@Override
- public void setHeader(String name, String value) {
- }
+ public void setHeader(String name, String value) {}
@Override
- public void setIntHeader(String name, int value) {
- }
+ public void setIntHeader(String name, int value) {}
@Override
public void setStatus(int sc, String sm) {
@@ -125,8 +118,7 @@
}
@Override
- public void flushBuffer() throws IOException {
- }
+ public void flushBuffer() throws IOException {}
@Override
public int getBufferSize() {
@@ -151,16 +143,15 @@
@Override
public ServletOutputStream getOutputStream() throws IOException {
return new ServletOutputStream() {
-
+
@Override
public void write(int b) throws IOException {
outputStream.write(b);
}
-
+
@Override
- public void setWriteListener(WriteListener arg0) {
- }
-
+ public void setWriteListener(WriteListener arg0) {}
+
@Override
public boolean isReady() {
return true;
@@ -175,8 +166,7 @@
@Override
public PrintWriter getWriter() throws IOException {
- return new PrintWriter(new OutputStreamWriter(outputStream,
- characterEncoding));
+ return new PrintWriter(new OutputStreamWriter(outputStream, characterEncoding));
}
@Override
@@ -195,16 +185,13 @@
}
@Override
- public void reset() {
- }
+ public void reset() {}
@Override
- public void resetBuffer() {
- }
+ public void resetBuffer() {}
@Override
- public void setBufferSize(int size) {
- }
+ public void setBufferSize(int size) {}
@Override
public void setCharacterEncoding(String charset) {
@@ -212,12 +199,10 @@
}
@Override
- public void setContentLength(int len) {
- }
+ public void setContentLength(int len) {}
@Override
- public void setContentLengthLong(long length) {
- }
+ public void setContentLengthLong(long length) {}
@Override
public void setContentType(String type) {
@@ -225,10 +210,8 @@
}
@Override
- public void setLocale(Locale loc) {
- }
+ public void setLocale(Locale loc) {}
@Override
- public void setResponse(ServletResponse response) {
- }
+ public void setResponse(ServletResponse response) {}
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedPathHttpRequest.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedPathHttpRequest.java
index 53f7075..9fec9c0 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedPathHttpRequest.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/AuthenticatedPathHttpRequest.java
@@ -13,8 +13,6 @@
// limitations under the License.
package com.googlesource.gerrit.plugins.github.oauth;
-
-
import javax.servlet.http.HttpServletRequest;
public class AuthenticatedPathHttpRequest extends AuthenticatedHttpRequest {
@@ -24,8 +22,8 @@
private String requestURI;
private String requestPath;
- public AuthenticatedPathHttpRequest(HttpServletRequest request, String requestPath,
- String userHeader, String username) {
+ public AuthenticatedPathHttpRequest(
+ HttpServletRequest request, String requestPath, String userHeader, String username) {
super(request, userHeader, username);
this.requestPath = requestPath;
@@ -41,14 +39,12 @@
@Override
public StringBuffer getRequestURL() {
- return new StringBuffer(requestURL.substring(0,
- requestURL.indexOf(requestURI))
- + getRequestURI());
+ return new StringBuffer(
+ requestURL.substring(0, requestURL.indexOf(requestURI)) + getRequestURI());
}
@Override
public String getServletPath() {
return requestPath;
}
-
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubHttpConnector.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubHttpConnector.java
index 9881404..22a95d2 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubHttpConnector.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubHttpConnector.java
@@ -14,14 +14,12 @@
package com.googlesource.gerrit.plugins.github.oauth;
+import com.google.inject.Inject;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
-
import org.kohsuke.github.HttpConnector;
-import com.google.inject.Inject;
-
public class GitHubHttpConnector implements HttpConnector {
private final GitHubOAuthConfig config;
@@ -39,5 +37,4 @@
huc.setReadTimeout((int) config.httpReadTimeout);
return huc;
}
-
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubLogin.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubLogin.java
index 63ddb5d..88c8b18 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubLogin.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubLogin.java
@@ -16,6 +16,12 @@
import static java.util.concurrent.TimeUnit.DAYS;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Strings;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.googlesource.gerrit.plugins.github.oauth.OAuthProtocol.AccessToken;
+import com.googlesource.gerrit.plugins.github.oauth.OAuthProtocol.Scope;
import java.io.IOException;
import java.io.Serializable;
import java.util.Arrays;
@@ -25,13 +31,10 @@
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
-
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
import lombok.Getter;
-
import org.kohsuke.github.GHMyself;
import org.kohsuke.github.GitHub;
import org.kohsuke.github.GitHubBuilder;
@@ -39,20 +42,12 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Strings;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import com.googlesource.gerrit.plugins.github.oauth.OAuthProtocol.AccessToken;
-import com.googlesource.gerrit.plugins.github.oauth.OAuthProtocol.Scope;
-
public class GitHubLogin implements Serializable {
private static final long serialVersionUID = 1L;
private static final Logger log = LoggerFactory.getLogger(GitHubLogin.class);
- private static final List<Scope> DEFAULT_SCOPES = Arrays.asList(
- Scope.PUBLIC_REPO, Scope.USER_EMAIL, Scope.READ_ORG);
- private static final long SCOPE_COOKIE_NEVER_EXPIRES = DAYS
- .toSeconds(50 * 365);
+ private static final List<Scope> DEFAULT_SCOPES =
+ Arrays.asList(Scope.PUBLIC_REPO, Scope.USER_EMAIL, Scope.READ_ORG);
+ private static final long SCOPE_COOKIE_NEVER_EXPIRES = DAYS.toSeconds(50 * 365);
@Singleton
public static class Provider extends HttpSessionProvider<GitHubLogin> {
@@ -62,8 +57,7 @@
}
}
- @Getter
- private AccessToken token;
+ @Getter private AccessToken token;
private String state;
@@ -86,8 +80,7 @@
}
@Inject
- public GitHubLogin(GitHubOAuthConfig config,
- GitHubHttpConnector httpConnector) {
+ public GitHubLogin(GitHubOAuthConfig config, GitHubHttpConnector httpConnector) {
this.config = config;
this.httpConnector = httpConnector;
}
@@ -96,8 +89,12 @@
return token != null;
}
- public void login(HttpServletRequest request,
- HttpServletResponse response, OAuthProtocol oauth, Scope... scopes) throws IOException {
+ public void login(
+ HttpServletRequest request,
+ HttpServletResponse response,
+ OAuthProtocol oauth,
+ Scope... scopes)
+ throws IOException {
log.debug("Login " + this);
if (OAuthProtocol.isOAuthFinal(request)) {
@@ -112,13 +109,10 @@
} else {
Set<String> configuredScopesProfiles = config.scopes.keySet();
String scopeRequested = getScopesKey(request, response);
- if (Strings.isNullOrEmpty(scopeRequested)
- && configuredScopesProfiles.size() > 1) {
+ if (Strings.isNullOrEmpty(scopeRequested) && configuredScopesProfiles.size() > 1) {
response.sendRedirect(config.scopeSelectionUrl);
} else {
- this.loginScopes =
- getScopes(MoreObjects.firstNonNull(scopeRequested, "scopes"),
- scopes);
+ this.loginScopes = getScopes(MoreObjects.firstNonNull(scopeRequested, "scopes"), scopes);
log.debug("Login-PHASE1 " + this);
state = oauth.loginPhase1(request, response, loginScopes);
}
@@ -137,8 +131,7 @@
@Override
public String toString() {
- return "GitHubLogin [token=" + token + ", scopes="
- + loginScopes + "]";
+ return "GitHubLogin [token=" + token + ", scopes=" + loginScopes + "]";
}
public GitHub getHub() throws IOException {
@@ -146,29 +139,27 @@
return null;
}
return new GitHubBuilder()
- .withEndpoint(config.gitHubApiUrl)
- .withOAuthToken(token.accessToken)
- .withConnector(httpConnector)
- .build();
+ .withEndpoint(config.gitHubApiUrl)
+ .withOAuthToken(token.accessToken)
+ .withConnector(httpConnector)
+ .build();
}
- private String getScopesKey(HttpServletRequest request,
- HttpServletResponse response) {
+ private String getScopesKey(HttpServletRequest request, HttpServletResponse response) {
String scopeRequested = request.getParameter("scope");
if (scopeRequested == null) {
scopeRequested = getScopesKeyFromCookie(request);
}
boolean rememberScope =
- Strings.nullToEmpty(request.getParameter("rememberScope"))
- .equalsIgnoreCase("on");
+ Strings.nullToEmpty(request.getParameter("rememberScope")).equalsIgnoreCase("on");
if (scopeRequested != null && rememberScope) {
Cookie scopeCookie = new Cookie("scope", scopeRequested);
scopeCookie.setPath("/");
scopeCookie.setMaxAge((int) SCOPE_COOKIE_NEVER_EXPIRES);
response.addCookie(scopeCookie);
}
-
+
return scopeRequested;
}
@@ -194,7 +185,6 @@
}
private List<Scope> scopesForKey(String baseScopeKey) {
- return MoreObjects
- .firstNonNull(config.scopes.get(baseScopeKey), DEFAULT_SCOPES);
+ return MoreObjects.firstNonNull(config.scopes.get(baseScopeKey), DEFAULT_SCOPES);
}
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubLogoutServletResponse.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubLogoutServletResponse.java
index 9f4709e..fe55930 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubLogoutServletResponse.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubLogoutServletResponse.java
@@ -14,9 +14,7 @@
package com.googlesource.gerrit.plugins.github.oauth;
import com.google.common.base.MoreObjects;
-
import java.io.IOException;
-
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubOAuthConfig.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubOAuthConfig.java
index 7478c0a..03fabc6 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubOAuthConfig.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubOAuthConfig.java
@@ -13,16 +13,6 @@
// limitations under the License.
package com.googlesource.gerrit.plugins.github.oauth;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import lombok.Getter;
-
-import org.eclipse.jgit.lib.Config;
-
import com.google.common.base.CharMatcher;
import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
@@ -36,14 +26,19 @@
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.googlesource.gerrit.plugins.github.oauth.OAuthProtocol.Scope;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+import lombok.Getter;
+import org.eclipse.jgit.lib.Config;
@Singleton
-public
-class GitHubOAuthConfig {
+public class GitHubOAuthConfig {
public static final String CONF_SECTION = "github";
public static final String GITHUB_OAUTH_AUTHORIZE = "/login/oauth/authorize";
- public static final String GITHUB_OAUTH_ACCESS_TOKEN =
- "/login/oauth/access_token";
+ public static final String GITHUB_OAUTH_ACCESS_TOKEN = "/login/oauth/access_token";
public static final String GITHUB_GET_USER = "/user";
public static final String GERRIT_OAUTH_FINAL = "/oauth";
public static final String GITHUB_URL_DEFAULT = "https://github.com";
@@ -63,21 +58,19 @@
public final String gitHubOAuthAccessTokenUrl;
public final boolean enabled;
- @Getter
- public final Map<String, List<OAuthProtocol.Scope>> scopes;
+ @Getter public final Map<String, List<OAuthProtocol.Scope>> scopes;
public final int fileUpdateMaxRetryCount;
public final int fileUpdateMaxRetryIntervalMsec;
public final String oauthHttpHeader;
- @Getter
- public final String scopeSelectionUrl;
+ @Getter public final String scopeSelectionUrl;
public final long httpConnectionTimeout;
public final long httpReadTimeout;
@Inject
- protected
- GitHubOAuthConfig(@GerritServerConfig Config config,
+ protected GitHubOAuthConfig(
+ @GerritServerConfig Config config,
@CanonicalWebUrl String canonicalWebUrl,
AuthConfig authConfig) {
httpHeader =
@@ -85,16 +78,16 @@
config.getString("auth", null, "httpHeader"),
"HTTP Header for GitHub user must be provided");
gitHubUrl =
- trimTrailingSlash(MoreObjects.firstNonNull(
- config.getString(CONF_SECTION, null, "url"), GITHUB_URL_DEFAULT));
+ trimTrailingSlash(
+ MoreObjects.firstNonNull(
+ config.getString(CONF_SECTION, null, "url"), GITHUB_URL_DEFAULT));
gitHubApiUrl =
- trimTrailingSlash(MoreObjects.firstNonNull(
- config.getString(CONF_SECTION, null, "apiUrl"),
- GITHUB_API_URL_DEFAULT));
+ trimTrailingSlash(
+ MoreObjects.firstNonNull(
+ config.getString(CONF_SECTION, null, "apiUrl"), GITHUB_API_URL_DEFAULT));
gitHubClientId =
Preconditions.checkNotNull(
- config.getString(CONF_SECTION, null, "clientId"),
- "GitHub `clientId` must be provided");
+ config.getString(CONF_SECTION, null, "clientId"), "GitHub `clientId` must be provided");
gitHubClientSecret =
Preconditions.checkNotNull(
config.getString(CONF_SECTION, null, "clientSecret"),
@@ -103,37 +96,32 @@
oauthHttpHeader = config.getString("auth", null, "httpExternalIdHeader");
gitHubOAuthUrl = gitHubUrl + GITHUB_OAUTH_AUTHORIZE;
gitHubOAuthAccessTokenUrl = gitHubUrl + GITHUB_OAUTH_ACCESS_TOKEN;
- logoutRedirectUrl =
- config.getString(CONF_SECTION, null, "logoutRedirectUrl");
- oAuthFinalRedirectUrl =
- trimTrailingSlash(canonicalWebUrl) + GERRIT_OAUTH_FINAL;
+ logoutRedirectUrl = config.getString(CONF_SECTION, null, "logoutRedirectUrl");
+ oAuthFinalRedirectUrl = trimTrailingSlash(canonicalWebUrl) + GERRIT_OAUTH_FINAL;
scopeSelectionUrl =
trimTrailingSlash(canonicalWebUrl)
+ MoreObjects.firstNonNull(
config.getString(CONF_SECTION, null, "scopeSelectionUrl"),
GITHUB_PLUGIN_OAUTH_SCOPE);
- enabled =
- config.getString("auth", null, "type").equalsIgnoreCase(
- AuthType.HTTP.toString());
+ enabled = config.getString("auth", null, "type").equalsIgnoreCase(AuthType.HTTP.toString());
scopes = getScopes(config);
- fileUpdateMaxRetryCount =
- config.getInt(CONF_SECTION, "fileUpdateMaxRetryCount", 3);
+ fileUpdateMaxRetryCount = config.getInt(CONF_SECTION, "fileUpdateMaxRetryCount", 3);
fileUpdateMaxRetryIntervalMsec =
config.getInt(CONF_SECTION, "fileUpdateMaxRetryIntervalMsec", 3000);
httpConnectionTimeout =
TimeUnit.MILLISECONDS.convert(
- ConfigUtil.getTimeUnit(config,
- CONF_SECTION, null, "httpConnectionTimeout",
- 30, TimeUnit.SECONDS), TimeUnit.SECONDS);
+ ConfigUtil.getTimeUnit(
+ config, CONF_SECTION, null, "httpConnectionTimeout", 30, TimeUnit.SECONDS),
+ TimeUnit.SECONDS);
httpReadTimeout =
TimeUnit.MILLISECONDS.convert(
- ConfigUtil.getTimeUnit(config,
- CONF_SECTION, null, "httpReadTimeout",
- 30, TimeUnit.SECONDS), TimeUnit.SECONDS);
+ ConfigUtil.getTimeUnit(
+ config, CONF_SECTION, null, "httpReadTimeout", 30, TimeUnit.SECONDS),
+ TimeUnit.SECONDS);
}
private Map<String, List<Scope>> getScopes(Config config) {
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GsonProvider.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GsonProvider.java
index fd004c0..40d0da2 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GsonProvider.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GsonProvider.java
@@ -25,7 +25,8 @@
@Override
public Gson get() {
- return new GsonBuilder().setFieldNamingPolicy(
- FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create();
+ return new GsonBuilder()
+ .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
+ .create();
}
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/HttpSessionProvider.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/HttpSessionProvider.java
index 79fdbc0..fdde648 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/HttpSessionProvider.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/HttpSessionProvider.java
@@ -15,17 +15,14 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
-
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
public abstract class HttpSessionProvider<T> implements ScopedProvider<T> {
- @Inject
- private Provider<T> provider;
+ @Inject private Provider<T> provider;
- @Inject
- private Provider<HttpServletRequest> httpRequestProvider;
+ @Inject private Provider<HttpServletRequest> httpRequestProvider;
@Override
public T get() {
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/IdentifiedUserGitHubLoginProvider.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/IdentifiedUserGitHubLoginProvider.java
index 594a927..4ea4494 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/IdentifiedUserGitHubLoginProvider.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/IdentifiedUserGitHubLoginProvider.java
@@ -14,12 +14,6 @@
package com.googlesource.gerrit.plugins.github.oauth;
-import java.io.IOException;
-import java.util.Collection;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import com.google.gerrit.common.Nullable;
import com.google.gerrit.reviewdb.client.AccountExternalId;
import com.google.gerrit.server.IdentifiedUser;
@@ -30,12 +24,15 @@
import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.googlesource.gerrit.plugins.github.oauth.OAuthProtocol.AccessToken;
+import java.io.IOException;
+import java.util.Collection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
@Singleton
-public class IdentifiedUserGitHubLoginProvider implements
- UserScopedProvider<GitHubLogin> {
- private static final Logger log = LoggerFactory
- .getLogger(IdentifiedUserGitHubLoginProvider.class);
+public class IdentifiedUserGitHubLoginProvider implements UserScopedProvider<GitHubLogin> {
+ private static final Logger log =
+ LoggerFactory.getLogger(IdentifiedUserGitHubLoginProvider.class);
public static final String EXTERNAL_ID_PREFIX =
AccountExternalId.SCHEME_EXTERNAL + OAuthWebFilter.GITHUB_EXT_ID;
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthCache.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthCache.java
index 7cdc825..955c86d 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthCache.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthCache.java
@@ -20,15 +20,13 @@
import com.google.inject.Module;
import com.google.inject.Singleton;
import com.google.inject.name.Named;
-
import com.googlesource.gerrit.plugins.github.oauth.OAuthProtocol.AccessToken;
-
import java.util.concurrent.ExecutionException;
@Singleton
public class OAuthCache {
private static final String CACHE_NAME = "github_oauth";
-
+
public static class Loader extends CacheLoader<AccessToken, String> {
private GitHubLogin ghLogin;
@@ -48,22 +46,20 @@
return new CacheModule() {
@Override
protected void configure() {
- cache(CACHE_NAME, AccessToken.class, String.class)
- .loader(Loader.class);
+ cache(CACHE_NAME, AccessToken.class, String.class).loader(Loader.class);
bind(OAuthCache.class);
}
};
}
private LoadingCache<AccessToken, String> byAccesToken;
-
+
@Inject
public OAuthCache(@Named(CACHE_NAME) LoadingCache<AccessToken, String> byAccessToken) {
this.byAccesToken = byAccessToken;
}
-
- public String getLoginByAccessToken(AccessToken accessToken)
- throws ExecutionException {
+
+ public String getLoginByAccessToken(AccessToken accessToken) throws ExecutionException {
return byAccesToken.get(accessToken);
}
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthFilter.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthFilter.java
index 1e816d2..b2e2811 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthFilter.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthFilter.java
@@ -19,14 +19,9 @@
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.Singleton;
-
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.LoggerFactory;
-
import java.io.IOException;
import java.util.Set;
import java.util.regex.Pattern;
-
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@@ -34,27 +29,23 @@
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.LoggerFactory;
@Singleton
public class OAuthFilter implements Filter {
- private static final org.slf4j.Logger log = LoggerFactory
- .getLogger(OAuthFilter.class);
- private static Pattern GIT_HTTP_REQUEST_PATTERN = Pattern
- .compile(GitOverHttpServlet.URL_REGEX);
- private static final Set<String> GERRIT_STATIC_RESOURCES_EXTS = Sets
- .newHashSet("css", "png", "jpg", "gif", "woff", "otf",
- "ttf", "map", "js", "swf", "txt");
- private static final Set<String> GERRIT_WHITELISTED_PATHS = Sets
- .newHashSet("Documentation");
- private static final Set<String> GERRIT_WHITELISTED_PAGES = Sets
- .newHashSet("scope.html");
+ private static final org.slf4j.Logger log = LoggerFactory.getLogger(OAuthFilter.class);
+ private static Pattern GIT_HTTP_REQUEST_PATTERN = Pattern.compile(GitOverHttpServlet.URL_REGEX);
+ private static final Set<String> GERRIT_STATIC_RESOURCES_EXTS =
+ Sets.newHashSet("css", "png", "jpg", "gif", "woff", "otf", "ttf", "map", "js", "swf", "txt");
+ private static final Set<String> GERRIT_WHITELISTED_PATHS = Sets.newHashSet("Documentation");
+ private static final Set<String> GERRIT_WHITELISTED_PAGES = Sets.newHashSet("scope.html");
private final GitHubOAuthConfig config;
private final OAuthWebFilter webFilter;
@Inject
- public OAuthFilter(GitHubOAuthConfig config,
- OAuthWebFilter webFilter, Injector injector) {
+ public OAuthFilter(GitHubOAuthConfig config, OAuthWebFilter webFilter, Injector injector) {
this.config = config;
this.webFilter = webFilter;
}
@@ -65,8 +56,8 @@
}
@Override
- public void doFilter(ServletRequest request, ServletResponse response,
- FilterChain chain) throws IOException, ServletException {
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
+ throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
String requestUrl = httpRequest.getRequestURI();
@@ -86,13 +77,13 @@
public static boolean skipOAuth(HttpServletRequest httpRequest) {
return isStaticResource(httpRequest)
- || isRpcCall(httpRequest) || isAuthenticatedRestCall(httpRequest)
+ || isRpcCall(httpRequest)
+ || isAuthenticatedRestCall(httpRequest)
|| isWhitelisted(httpRequest);
}
private static boolean isAuthenticatedRestCall(HttpServletRequest httpRequest) {
- return !StringUtils.isEmpty(httpRequest
- .getHeader(XGerritAuth.X_GERRIT_AUTH));
+ return !StringUtils.isEmpty(httpRequest.getHeader(XGerritAuth.X_GERRIT_AUTH));
}
private static boolean isStaticResource(HttpServletRequest httpRequest) {
@@ -102,18 +93,17 @@
return false;
}
- boolean staticResource =
- GERRIT_STATIC_RESOURCES_EXTS.contains(pathExt.toLowerCase());
- System.out.println("requestUri: " + requestURI + " pathExt: " + pathExt
- + " static: " + staticResource);
+ boolean staticResource = GERRIT_STATIC_RESOURCES_EXTS.contains(pathExt.toLowerCase());
+ System.out.println(
+ "requestUri: " + requestURI + " pathExt: " + pathExt + " static: " + staticResource);
return staticResource;
}
private static boolean isWhitelisted(HttpServletRequest httpRequest) {
String[] requestPathParts = httpRequest.getRequestURI().split("/");
- return (requestPathParts.length > 1 && (GERRIT_WHITELISTED_PATHS
- .contains(requestPathParts[1]) || GERRIT_WHITELISTED_PAGES
- .contains(requestPathParts[requestPathParts.length - 1])));
+ return (requestPathParts.length > 1
+ && (GERRIT_WHITELISTED_PATHS.contains(requestPathParts[1])
+ || GERRIT_WHITELISTED_PAGES.contains(requestPathParts[requestPathParts.length - 1])));
}
private static boolean isRpcCall(HttpServletRequest httpRequest) {
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthGitWrappedResponse.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthGitWrappedResponse.java
index 947d931..4253ea2 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthGitWrappedResponse.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthGitWrappedResponse.java
@@ -14,13 +14,11 @@
package com.googlesource.gerrit.plugins.github.oauth;
import java.io.IOException;
-
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
public class OAuthGitWrappedResponse extends HttpServletResponseWrapper {
- public static final String GIT_REALM_NAME =
- "GitHub authentication for Gerrit Code Review";
+ public static final String GIT_REALM_NAME = "GitHub authentication for Gerrit Code Review";
private static final String GIT_AUTHENTICATION_BASIC = "Basic ";
private static final String WWW_AUTHENTICATE = "WWW-Authenticate";
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthProtocol.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthProtocol.java
index f1ef494..a60ee05 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthProtocol.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthProtocol.java
@@ -4,21 +4,12 @@
import com.google.common.base.Strings;
import com.google.common.io.BaseEncoding;
import com.google.common.io.CharStreams;
+import com.google.gerrit.extensions.auth.oauth.OAuthToken;
+import com.google.gerrit.extensions.auth.oauth.OAuthVerifier;
import com.google.gson.Gson;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-
-import org.apache.http.HttpResponse;
-import org.apache.http.NameValuePair;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.entity.UrlEncodedFormEntity;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.message.BasicNameValuePair;
-import org.apache.http.util.EntityUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -32,166 +23,131 @@
import java.util.List;
import java.util.Objects;
import java.util.Set;
-
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
import lombok.Getter;
-
-import com.google.gerrit.extensions.auth.oauth.OAuthToken;
-import com.google.gerrit.extensions.auth.oauth.OAuthVerifier;
+import org.apache.http.HttpResponse;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
@Singleton
public class OAuthProtocol {
/**
* Supported OAuth Scopes.
*
- * OAuth authorization scopes as defined in GitHub API at:
+ * <p>OAuth authorization scopes as defined in GitHub API at:
* https://developer.github.com/v3/oauth/#scopes
*/
public static enum Scope {
/**
- * Grants read-only access to public information (includes public user
- * profile info, public repository info, and gists)
+ * Grants read-only access to public information (includes public user profile info, public
+ * repository info, and gists)
*/
DEFAULT("", "Read-only public information"),
/**
- * Grants read/write access to profile info only. Note that this scope
- * includes user:email and user:follow.
+ * Grants read/write access to profile info only. Note that this scope includes user:email and
+ * user:follow.
*/
USER("user", "Read/write profile info"),
- /**
- * Grants read access to a user’s email addresses.
- */
+ /** Grants read access to a user’s email addresses. */
USER_EMAIL("user:email", "Read-only user's e-mail"),
- /**
- * Grants access to follow or unfollow other users.
- */
+ /** Grants access to follow or unfollow other users. */
USER_FOLLOW("user:follow", "(Un)Follow users"),
/**
- * Grants read/write access to code, commit statuses, collaborators, and
- * deployment statuses for public repositories. Also
- * required for starring public repositories.
+ * Grants read/write access to code, commit statuses, collaborators, and deployment statuses for
+ * public repositories. Also required for starring public repositories.
*/
PUBLIC_REPO("public_repo", "Read/write to public repositories"),
/**
- * Grants read/write access to code, commit statuses, collaborators, and
- * deployment statuses for public and private repositories and
- * organizations.
+ * Grants read/write access to code, commit statuses, collaborators, and deployment statuses for
+ * public and private repositories and organizations.
*/
REPO("repo", "Read/write to all public/private repositories"),
/**
- * Grants access to deployment statuses for public and private repositories.
- * This scope is only necessary to grant other users or services access to
- * deployment statuses, without granting access to the code.
+ * Grants access to deployment statuses for public and private repositories. This scope is only
+ * necessary to grant other users or services access to deployment statuses, without granting
+ * access to the code.
*/
REPO_DEPLOYMENT("repo_deployment", "Read-only deployment statuses"),
/**
- * Grants read/write access to public and private repository commit
- * statuses. This scope is only necessary to grant other users or services
- * access to private repository commit statuses without granting access to
- * the code.
+ * Grants read/write access to public and private repository commit statuses. This scope is only
+ * necessary to grant other users or services access to private repository commit statuses
+ * without granting access to the code.
*/
REPO_STATUS("repo:status", "Read/write commit statuses"),
- /**
- * Grants access to delete admin-able repositories.
- */
+ /** Grants access to delete admin-able repositories. */
DELETE_REPO("delete_repo", "Delete repositories"),
- /**
- * Grants read access to a user’s notifications. repo also provides this
- * access.
- */
+ /** Grants read access to a user’s notifications. repo also provides this access. */
NOTIFICATIONS("notifications", "Read user's notifications"),
- /**
- * Grants write access to gists.
- */
+ /** Grants write access to gists. */
GIST("gist", "Write Gists"),
- /**
- * Grants read and ping access to hooks in public or private repositories.
- */
- READ_REPO_HOOK("read:repo_hook",
- "Read/ping public/private repositories' hooks"),
+ /** Grants read and ping access to hooks in public or private repositories. */
+ READ_REPO_HOOK("read:repo_hook", "Read/ping public/private repositories' hooks"),
+
+ /** Grants read, write, and ping access to hooks in public or private repositories. */
+ WRITE_REPO_HOOK("write:repo_hook", "Read/write/ping public/private repositories' hooks"),
+
+ /** Grants read, write, ping, and delete access to hooks in public or private repositories. */
+ ADMIN_REPO_HOOK(
+ "admin:repo_hook", "Read/write/ping/delete access to public/private repositories' hooks"),
/**
- * Grants read, write, and ping access to hooks in public or private
- * repositories.
+ * Grants read, write, ping, and delete access to organization hooks. Note: OAuth tokens will
+ * only be able to perform these actions on organization hooks which were created by the OAuth
+ * application. Personal access tokens will only be able to perform these actions on
+ * organization hooks created by a user.
*/
- WRITE_REPO_HOOK("write:repo_hook",
- "Read/write/ping public/private repositories' hooks"),
+ ADMIN_ORG_HOOK(
+ "admin:org_hook", "Read/write/ping/delete access to public/private organizations' hooks"),
- /**
- * Grants read, write, ping, and delete access to hooks in public or private
- * repositories.
- */
- ADMIN_REPO_HOOK("admin:repo_hook",
- "Read/write/ping/delete access to public/private repositories' hooks"),
-
- /**
- * Grants read, write, ping, and delete access to organization hooks. Note:
- * OAuth tokens will only be able to perform these actions on organization
- * hooks which were created by the OAuth application. Personal access tokens
- * will only be able to perform these actions on organization hooks created
- * by a user.
- */
- ADMIN_ORG_HOOK("admin:org_hook",
- "Read/write/ping/delete access to public/private organizations' hooks"),
-
- /**
- * Read-only access to organization, teams, and membership.
- */
+ /** Read-only access to organization, teams, and membership. */
READ_ORG("read:org", "Read-only organizations"),
- /**
- * Publicize and un-publicize organization membership.
- */
+ /** Publicize and un-publicize organization membership. */
WRITE_ORG("write:org", "(Un)Publicize organizations membership"),
- /**
- * Fully manage organization, teams, and memberships.
- */
+ /** Fully manage organization, teams, and memberships. */
ADMIN_ORG("admin:org", "Manage organizations, teams and memberships"),
- /**
- * List and view details for public keys.
- */
+ /** List and view details for public keys. */
READ_PUBLIC_KEY("read:public_key", "Read-only user's public keys"),
- /**
- * Create, list, and view details for public keys.
- */
+ /** Create, list, and view details for public keys. */
WRITE_PUBLIC_KEY("write:public_key", "Read/write/list user's public keys"),
- /**
- * Fully manage public keys.
- */
+ /** Fully manage public keys. */
ADMIN_PUBLIC_KEY("admin:public_key", "Fully manage user's public keys");
- @Getter
- private final String value;
+ @Getter private final String value;
- @Getter
- private final String description;
+ @Getter private final String description;
private Scope(final String value, final String description) {
this.value = value;
this.description = description;
}
}
+
private static final String ME_SEPARATOR = ",";
- private static final Logger log = LoggerFactory
- .getLogger(OAuthProtocol.class);
+ private static final Logger log = LoggerFactory.getLogger(OAuthProtocol.class);
private static final String FINAL_URL_PARAM = "final";
private static SecureRandom randomState = newRandomGenerator();
@@ -207,8 +163,7 @@
public String errorUri;
public String raw;
- public AccessToken() {
- }
+ public AccessToken() {}
public AccessToken(String token) {
this(token, "");
@@ -223,17 +178,20 @@
@Override
public String toString() {
if (isError()) {
- return "Error AccessToken [error=" + error + ", error_description="
- + errorDescription + ", error_uri=" + errorUri + "]";
+ return "Error AccessToken [error="
+ + error
+ + ", error_description="
+ + errorDescription
+ + ", error_uri="
+ + errorUri
+ + "]";
}
- return "AccessToken [access_token=" + accessToken + ", token_type="
- + tokenType + "]";
+ return "AccessToken [access_token=" + accessToken + ", token_type=" + tokenType + "]";
}
@Override
public int hashCode() {
- return Objects.hash(accessToken, tokenType, error, errorDescription,
- errorUri);
+ return Objects.hash(accessToken, tokenType, error, errorDescription, errorUri);
}
@Override
@@ -268,7 +226,8 @@
}
@Inject
- public OAuthProtocol(GitHubOAuthConfig config,
+ public OAuthProtocol(
+ GitHubOAuthConfig config,
PooledHttpClientProvider httpClientProvider,
/*
* We need to explicitly tell Guice which Provider<> we need as this class
@@ -285,31 +244,40 @@
try {
return SecureRandom.getInstance("SHA1PRNG");
} catch (NoSuchAlgorithmException e) {
- throw new IllegalArgumentException(
- "No SecureRandom available for GitHub authentication", e);
+ throw new IllegalArgumentException("No SecureRandom available for GitHub authentication", e);
}
}
public String getAuthorizationUrl(String scopesString, String state) {
- return config.gitHubOAuthUrl + "?client_id=" + config.gitHubClientId
+ return config.gitHubOAuthUrl
+ + "?client_id="
+ + config.gitHubClientId
+ getURLEncodedParameter("&scope=", scopesString)
+ getURLEncodedParameter("&redirect_uri=", config.oAuthFinalRedirectUrl)
+ getURLEncodedParameter("&state=", state);
}
- public String loginPhase1(HttpServletRequest request,
- HttpServletResponse response, Set<Scope> scopes) throws IOException {
+ public String loginPhase1(
+ HttpServletRequest request, HttpServletResponse response, Set<Scope> scopes)
+ throws IOException {
String scopesString = getScope(scopes);
- log.debug("Initiating GitHub Login for ClientId=" + config.gitHubClientId
- + " Scopes=" + scopesString);
+ log.debug(
+ "Initiating GitHub Login for ClientId="
+ + config.gitHubClientId
+ + " Scopes="
+ + scopesString);
String state = newRandomState(request.getRequestURI().toString());
- log.debug("Initiating GitHub Login for ClientId=" + config.gitHubClientId + " Scopes=" + scopesString);
+ log.debug(
+ "Initiating GitHub Login for ClientId="
+ + config.gitHubClientId
+ + " Scopes="
+ + scopesString);
response.sendRedirect(getAuthorizationUrl(scopesString, state));
return state;
}
public String getScope(Set<Scope> scopes) {
- if(scopes.size() <= 0) {
+ if (scopes.size() <= 0) {
return "";
}
@@ -358,12 +326,12 @@
return OAuthProtocol.isOAuthLogin(httpRequest) || OAuthProtocol.isOAuthFinal(httpRequest);
}
- public AccessToken loginPhase2(HttpServletRequest request,
- HttpServletResponse response, String state) throws IOException {
+ public AccessToken loginPhase2(
+ HttpServletRequest request, HttpServletResponse response, String state) throws IOException {
String requestState = request.getParameter("state");
if (!Objects.equals(state, requestState)) {
- throw new IOException("Invalid authentication state: expected '" + state
- + "' but was '" + requestState + "'");
+ throw new IOException(
+ "Invalid authentication state: expected '" + state + "' but was '" + requestState + "'");
}
return getAccessToken(new OAuthVerifier(request.getParameter("code")));
@@ -380,21 +348,21 @@
HttpResponse postResponse = httpProvider.get().execute(post);
if (postResponse.getStatusLine().getStatusCode() != HttpURLConnection.HTTP_OK) {
- log.error("POST " + config.gitHubOAuthAccessTokenUrl
- + " request for access token failed with status "
- + postResponse.getStatusLine());
+ log.error(
+ "POST "
+ + config.gitHubOAuthAccessTokenUrl
+ + " request for access token failed with status "
+ + postResponse.getStatusLine());
EntityUtils.consume(postResponse.getEntity());
throw new IOException("GitHub OAuth request failed");
}
InputStream content = postResponse.getEntity().getContent();
String tokenJsonString =
- CharStreams.toString(new InputStreamReader(content,
- StandardCharsets.UTF_8));
+ CharStreams.toString(new InputStreamReader(content, StandardCharsets.UTF_8));
AccessToken token = gson.fromJson(tokenJsonString, AccessToken.class);
if (token.isError()) {
- log.error("POST " + config.gitHubOAuthAccessTokenUrl
- + " returned an error token: " + token);
+ log.error("POST " + config.gitHubOAuthAccessTokenUrl + " returned an error token: " + token);
throw new IOException("Invalid GitHub OAuth token");
}
@@ -403,8 +371,7 @@
private static String getURLEncodedParameter(String prefix, String url) {
try {
- return Strings.isNullOrEmpty(url) ?
- "" : (prefix + URLEncoder.encode(url,"UTF-8"));
+ return Strings.isNullOrEmpty(url) ? "" : (prefix + URLEncoder.encode(url, "UTF-8"));
} catch (UnsupportedEncodingException e) {
throw new IllegalStateException("Cannot find UTF-8 encoding", e);
}
@@ -434,5 +401,4 @@
public String toString() {
return "OAuthProtocol";
}
-
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthTokenException.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthTokenException.java
index 3ee1291..ce88429 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthTokenException.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthTokenException.java
@@ -23,5 +23,4 @@
}
private static final long serialVersionUID = -2177841968402814337L;
-
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthWebFilter.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthWebFilter.java
index af2d9d5..316d1bb 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthWebFilter.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthWebFilter.java
@@ -13,24 +13,14 @@
// limitations under the License.
package com.googlesource.gerrit.plugins.github.oauth;
-
import com.google.gerrit.server.config.SitePaths;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-
-import org.apache.commons.lang.StringUtils;
-import org.eclipse.jgit.errors.ConfigInvalidException;
-import org.eclipse.jgit.storage.file.FileBasedConfig;
-import org.eclipse.jgit.util.FS;
-import org.kohsuke.github.GHMyself;
-import org.slf4j.LoggerFactory;
-
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.attribute.FileTime;
import java.util.Random;
import java.util.Set;
-
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@@ -41,11 +31,16 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.jgit.errors.ConfigInvalidException;
+import org.eclipse.jgit.storage.file.FileBasedConfig;
+import org.eclipse.jgit.util.FS;
+import org.kohsuke.github.GHMyself;
+import org.slf4j.LoggerFactory;
@Singleton
public class OAuthWebFilter implements Filter {
- private static final org.slf4j.Logger log = LoggerFactory
- .getLogger(OAuthWebFilter.class);
+ private static final org.slf4j.Logger log = LoggerFactory.getLogger(OAuthWebFilter.class);
public static final String GERRIT_COOKIE_NAME = "GerritAccount";
public static final String GITHUB_EXT_ID = "github_oauth:";
@@ -56,11 +51,12 @@
private final OAuthProtocol oauth;
@Inject
- public OAuthWebFilter(GitHubOAuthConfig config,
+ public OAuthWebFilter(
+ GitHubOAuthConfig config,
SitePaths sites,
OAuthProtocol oauth,
- // We need to explicitly tell Guice the correct implementation
- // as this filter is instantiated with a standard Gerrit WebModule
+ // We need to explicitly tell Guice the correct implementation
+ // as this filter is instantiated with a standard Gerrit WebModule
GitHubLogin.Provider loginProvider) {
this.config = config;
this.sites = sites;
@@ -69,17 +65,16 @@
}
@Override
- public void init(FilterConfig filterConfig) throws ServletException {
- }
+ public void init(FilterConfig filterConfig) throws ServletException {}
@Override
- public void doFilter(ServletRequest request, ServletResponse response,
- FilterChain chain) throws IOException, ServletException {
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
+ throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
- log.debug("OAuthWebFilter(" + httpRequest.getRequestURL() + ") code="
- + request.getParameter("code"));
+ log.debug(
+ "OAuthWebFilter(" + httpRequest.getRequestURL() + ") code=" + request.getParameter("code"));
Cookie gerritCookie = getGerritCookie(httpRequest);
try {
@@ -89,14 +84,16 @@
login(request, httpRequest, httpResponse, ghLogin);
} else {
if (OAuthProtocol.isOAuthLogout(httpRequest)) {
- httpResponse =
- (HttpServletResponse) logout(request, httpResponse, chain, httpRequest);
+ httpResponse = (HttpServletResponse) logout(request, httpResponse, chain, httpRequest);
}
if (ghLogin != null && ghLogin.isLoggedIn()) {
httpRequest =
- new AuthenticatedHttpRequest(httpRequest, config.httpHeader,
- ghLogin.getMyself().getLogin(), config.oauthHttpHeader,
+ new AuthenticatedHttpRequest(
+ httpRequest,
+ config.httpHeader,
+ ghLogin.getMyself().getLogin(),
+ config.oauthHttpHeader,
GITHUB_EXT_ID + ghLogin.getToken().accessToken);
}
@@ -106,8 +103,7 @@
HttpSession httpSession = httpRequest.getSession();
if (gerritCookie != null && httpSession != null) {
String gerritCookieValue = gerritCookie.getValue();
- String gerritSessionValue =
- (String) httpSession.getAttribute("GerritAccount");
+ String gerritSessionValue = (String) httpSession.getAttribute("GerritAccount");
if (gerritSessionValue == null) {
httpSession.setAttribute("GerritAccount", gerritCookieValue);
@@ -118,32 +114,38 @@
}
}
- private void login(ServletRequest request, HttpServletRequest httpRequest,
- HttpServletResponse httpResponse, GitHubLogin ghLogin) throws IOException {
+ private void login(
+ ServletRequest request,
+ HttpServletRequest httpRequest,
+ HttpServletResponse httpResponse,
+ GitHubLogin ghLogin)
+ throws IOException {
ghLogin.login(httpRequest, httpResponse, oauth);
if (ghLogin.isLoggedIn()) {
GHMyself myself = ghLogin.getMyself();
String user = myself.getLogin();
- updateSecureConfigWithRetry(ghLogin.getHub().getMyOrganizations().keySet(),
- user, ghLogin.getToken().accessToken);
+ updateSecureConfigWithRetry(
+ ghLogin.getHub().getMyOrganizations().keySet(), user, ghLogin.getToken().accessToken);
}
}
- private ServletResponse logout(ServletRequest request,
- ServletResponse response, FilterChain chain,
+ private ServletResponse logout(
+ ServletRequest request,
+ ServletResponse response,
+ FilterChain chain,
HttpServletRequest httpRequest) {
getGitHubLogin(request).logout();
- return new GitHubLogoutServletResponse((HttpServletResponse) response,
- config.logoutRedirectUrl);
+ return new GitHubLogoutServletResponse(
+ (HttpServletResponse) response, config.logoutRedirectUrl);
}
private GitHubLogin getGitHubLogin(ServletRequest request) {
return loginProvider.get((HttpServletRequest) request);
}
- private void updateSecureConfigWithRetry(Set<String> organisations,
- String user, String access_token) {
+ private void updateSecureConfigWithRetry(
+ Set<String> organisations, String user, String access_token) {
int retryCount = 0;
while (retryCount < config.fileUpdateMaxRetryCount) {
@@ -152,68 +154,68 @@
return;
} catch (IOException e) {
retryCount++;
- int retryInterval =
- retryRandom.nextInt(config.fileUpdateMaxRetryIntervalMsec);
- log.warn("Error whilst trying to update "
- + sites.secure_config
- + (retryCount < config.fileUpdateMaxRetryCount ? ": attempt #"
- + retryCount + " will be retried after " + retryInterval
- + " msecs" : ""), e);
+ int retryInterval = retryRandom.nextInt(config.fileUpdateMaxRetryIntervalMsec);
+ log.warn(
+ "Error whilst trying to update "
+ + sites.secure_config
+ + (retryCount < config.fileUpdateMaxRetryCount
+ ? ": attempt #"
+ + retryCount
+ + " will be retried after "
+ + retryInterval
+ + " msecs"
+ : ""),
+ e);
try {
Thread.sleep(retryInterval);
} catch (InterruptedException e1) {
- log.error("Thread has been cancelled before retrying to save "
- + sites.secure_config);
+ log.error("Thread has been cancelled before retrying to save " + sites.secure_config);
return;
}
} catch (ConfigInvalidException e) {
- log.error("Cannot update " + sites.secure_config
- + " as the file is corrupted", e);
+ log.error("Cannot update " + sites.secure_config + " as the file is corrupted", e);
return;
}
}
}
- private synchronized void updateSecureConfig(Set<String> organisations,
- String user, String access_token) throws IOException,
- ConfigInvalidException {
+ private synchronized void updateSecureConfig(
+ Set<String> organisations, String user, String access_token)
+ throws IOException, ConfigInvalidException {
FileBasedConfig currentSecureConfig =
new FileBasedConfig(sites.secure_config.toFile(), FS.DETECTED);
FileTime currentSecureConfigUpdateTs = Files.getLastModifiedTime(sites.secure_config);
currentSecureConfig.load();
- boolean configUpdate =
- updateConfigSection(currentSecureConfig, user, user, access_token);
+ boolean configUpdate = updateConfigSection(currentSecureConfig, user, user, access_token);
for (String organisation : organisations) {
- configUpdate |=
- updateConfigSection(currentSecureConfig, organisation, user,
- access_token);
+ configUpdate |= updateConfigSection(currentSecureConfig, organisation, user, access_token);
}
if (!configUpdate) {
return;
}
- log.info("Updating " + sites.secure_config + " credentials for user "
- + user);
+ log.info("Updating " + sites.secure_config + " credentials for user " + user);
- FileTime secureConfigCurrentModifiedTime =
- Files.getLastModifiedTime(sites.secure_config);
+ FileTime secureConfigCurrentModifiedTime = Files.getLastModifiedTime(sites.secure_config);
if (!secureConfigCurrentModifiedTime.equals(currentSecureConfigUpdateTs)) {
- throw new ConcurrentFileBasedConfigWriteException("File "
- + sites.secure_config + " was written at "
- + secureConfigCurrentModifiedTime
- + " while was trying to update security for user " + user);
+ throw new ConcurrentFileBasedConfigWriteException(
+ "File "
+ + sites.secure_config
+ + " was written at "
+ + secureConfigCurrentModifiedTime
+ + " while was trying to update security for user "
+ + user);
}
currentSecureConfig.save();
}
- private boolean updateConfigSection(FileBasedConfig c, String section,
- String user, String password) {
+ private boolean updateConfigSection(
+ FileBasedConfig c, String section, String user, String password) {
String configUser = c.getString("remote", section, "username");
String configPassword = c.getString("remote", section, "password");
- if (!StringUtils.equals(configUser, user)
- || StringUtils.equals(configPassword, password)) {
+ if (!StringUtils.equals(configUser, user) || StringUtils.equals(configPassword, password)) {
return false;
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/PooledHttpClientProvider.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/PooledHttpClientProvider.java
index 4376242..06f73a7 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/PooledHttpClientProvider.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/PooledHttpClientProvider.java
@@ -19,7 +19,7 @@
import com.google.gerrit.server.config.GerritServerConfig;
import com.google.inject.Inject;
import com.google.inject.Provider;
-
+import java.net.URL;
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
@@ -30,16 +30,13 @@
import org.apache.http.impl.client.ProxyAuthenticationStrategy;
import org.eclipse.jgit.lib.Config;
-import java.net.URL;
-
public class PooledHttpClientProvider implements Provider<HttpClient> {
private final int maxTotalConnection;
private final int maxConnectionPerRoute;
private final ProxyProperties proxy;
@Inject
- PooledHttpClientProvider(@GerritServerConfig Config config,
- ProxyProperties proxyProperties) {
+ PooledHttpClientProvider(@GerritServerConfig Config config, ProxyProperties proxyProperties) {
this.proxy = proxyProperties;
URL proxyUrl = proxyProperties.getProxyUrl();
if (proxyUrl != null) {
@@ -49,10 +46,8 @@
setProxyProperty("proxyPassword", proxyProperties.getPassword());
}
- maxConnectionPerRoute = config.getInt("http", null,
- "pooledMaxConnectionsPerRoute", 16);
- maxTotalConnection = config.getInt("http", null,
- "pooledMaxTotalConnections", 32);
+ maxConnectionPerRoute = config.getInt("http", null, "pooledMaxConnectionsPerRoute", 16);
+ maxTotalConnection = config.getInt("http", null, "pooledMaxTotalConnections", 32);
}
private static void setProxyProperty(String property, String value) {
@@ -64,24 +59,22 @@
@Override
public HttpClient get() {
- HttpClientBuilder builder = HttpClientBuilder
- .create()
- .setMaxConnPerRoute(maxConnectionPerRoute)
- .setMaxConnTotal(maxTotalConnection);
+ HttpClientBuilder builder =
+ HttpClientBuilder.create()
+ .setMaxConnPerRoute(maxConnectionPerRoute)
+ .setMaxConnTotal(maxTotalConnection);
if (proxy.getProxyUrl() != null) {
URL url = proxy.getProxyUrl();
builder.setProxy(new HttpHost(url.getHost(), url.getPort()));
if (!Strings.isNullOrEmpty(proxy.getUsername())
&& !Strings.isNullOrEmpty(proxy.getPassword())) {
- UsernamePasswordCredentials creds = new UsernamePasswordCredentials(
- proxy.getUsername(), proxy.getPassword());
+ UsernamePasswordCredentials creds =
+ new UsernamePasswordCredentials(proxy.getUsername(), proxy.getPassword());
CredentialsProvider credsProvider = new BasicCredentialsProvider();
- credsProvider.setCredentials(new AuthScope(url.getHost(),
- url.getPort()), creds);
+ credsProvider.setCredentials(new AuthScope(url.getHost(), url.getPort()), creds);
builder.setDefaultCredentialsProvider(credsProvider);
- builder.setProxyAuthenticationStrategy(
- new ProxyAuthenticationStrategy());
+ builder.setProxyAuthenticationStrategy(new ProxyAuthenticationStrategy());
}
}
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/ScopedProvider.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/ScopedProvider.java
index 9cc4f3a..9c68dde 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/ScopedProvider.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/ScopedProvider.java
@@ -14,11 +14,9 @@
package com.googlesource.gerrit.plugins.github.oauth;
import com.google.inject.Provider;
-
import javax.servlet.http.HttpServletRequest;
-
-public interface ScopedProvider<T> extends Provider<T>{
+public interface ScopedProvider<T> extends Provider<T> {
T get(HttpServletRequest request);
HttpServletRequest getScopedRequest();
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/UserScopedProvider.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/UserScopedProvider.java
index 93f474d..698f067 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/UserScopedProvider.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/UserScopedProvider.java
@@ -18,5 +18,6 @@
import com.google.inject.Provider;
public interface UserScopedProvider<T> extends Provider<T> {
- @Nullable T get(String username);
+ @Nullable
+ T get(String username);
}
diff --git a/github-plugin/src/main/java/com/google/gerrit/server/account/AccountImporter.java b/github-plugin/src/main/java/com/google/gerrit/server/account/AccountImporter.java
index cc05a43..ef9ba3c 100644
--- a/github-plugin/src/main/java/com/google/gerrit/server/account/AccountImporter.java
+++ b/github-plugin/src/main/java/com/google/gerrit/server/account/AccountImporter.java
@@ -29,27 +29,25 @@
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Provider;
-
-import org.apache.http.HttpStatus;
-import org.eclipse.jgit.errors.ConfigInvalidException;
-
import java.io.IOException;
import java.util.Arrays;
+import org.apache.http.HttpStatus;
+import org.eclipse.jgit.errors.ConfigInvalidException;
public class AccountImporter {
private final Factory createAccountFactory;
private final Provider<ReviewDb> schema;
@Inject
- public AccountImporter(final CreateAccount.Factory createAccountFactory,
- final Provider<ReviewDb> schema) {
+ public AccountImporter(
+ final CreateAccount.Factory createAccountFactory, final Provider<ReviewDb> schema) {
this.createAccountFactory = createAccountFactory;
this.schema = schema;
}
public Account.Id importAccount(String login, String name, String email)
throws IOException, BadRequestException, ResourceConflictException,
- UnprocessableEntityException, OrmException, ConfigInvalidException {
+ UnprocessableEntityException, OrmException, ConfigInvalidException {
try (ReviewDb db = schema.get()) {
CreateAccount createAccount = createAccountFactory.create(login);
AccountInput accountInput = new AccountInput();
@@ -59,16 +57,19 @@
Response<AccountInfo> accountResponse =
createAccount.apply(TopLevelResource.INSTANCE, accountInput);
if (accountResponse.statusCode() != HttpStatus.SC_CREATED) {
- throw new IOException("Cannot import GitHub account " + login
- + ": HTTP Status " + accountResponse.statusCode());
+ throw new IOException(
+ "Cannot import GitHub account "
+ + login
+ + ": HTTP Status "
+ + accountResponse.statusCode());
}
- Id accountId = new Account.Id(
- accountResponse.value()._accountId.intValue());
- db.accountExternalIds().insert(
- Arrays
- .asList(new AccountExternalId(accountId,
- new AccountExternalId.Key(AccountExternalId.SCHEME_GERRIT,
- login))));
+ Id accountId = new Account.Id(accountResponse.value()._accountId.intValue());
+ db.accountExternalIds()
+ .insert(
+ Arrays.asList(
+ new AccountExternalId(
+ accountId,
+ new AccountExternalId.Key(AccountExternalId.SCHEME_GERRIT, login))));
return accountId;
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java
index 249a61e..1a6d7fe 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java
@@ -23,12 +23,10 @@
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.googlesource.gerrit.plugins.github.oauth.GitHubOAuthConfig;
-
-import org.eclipse.jgit.lib.Config;
-
import java.net.MalformedURLException;
import java.nio.file.Path;
import java.util.HashMap;
+import org.eclipse.jgit.lib.Config;
@Singleton
public class GitHubConfig extends GitHubOAuthConfig {
@@ -39,12 +37,9 @@
private static final String FROM_TO_REDIRECT_SEPARATOR = "R>";
private static final String CONF_JOB_POOL_LIMIT = "jobPoolLimit";
private static final String CONF_JOB_EXEC_TIMEOUT = "jobExecTimeout";
- private static final String CONF_PULL_REQUEST_LIST_LIMIT =
- "pullRequestListLimit";
- private static final String CONF_REPOSITORY_LIST_PAGE_SIZE =
- "repositoryListPageSize";
- private static final String CONF_REPOSITORY_LIST_LIMIT =
- "repositoryListLimit";
+ private static final String CONF_PULL_REQUEST_LIST_LIMIT = "pullRequestListLimit";
+ private static final String CONF_REPOSITORY_LIST_PAGE_SIZE = "repositoryListPageSize";
+ private static final String CONF_REPOSITORY_LIST_LIMIT = "repositoryListLimit";
private static final String CONF_PUBLIC_BASE_PROJECT = "publicBaseProject";
private static final String CONF_PRIVATE_BASE_PROJECT = "privateBaseProject";
private static final String CONF_WEBHOOK_SECRET = "webhookSecret";
@@ -72,53 +67,46 @@
}
}
-
@Inject
- public GitHubConfig(@GerritServerConfig Config config,
- final SitePaths site,
+ public GitHubConfig(
+ @GerritServerConfig Config config,
+ final SitePaths site,
AllProjectsNameProvider allProjectsNameProvider,
- @CanonicalWebUrl String canonicalWebUrl,
+ @CanonicalWebUrl String canonicalWebUrl,
AuthConfig authConfig)
throws MalformedURLException {
super(config, canonicalWebUrl, authConfig);
- String[] wizardFlows =
- config.getStringList(CONF_SECTION, null, CONF_WIZARD_FLOW);
+ String[] wizardFlows = config.getStringList(CONF_SECTION, null, CONF_WIZARD_FLOW);
for (String fromTo : wizardFlows) {
boolean redirect = fromTo.indexOf(FROM_TO_REDIRECT_SEPARATOR) > 0;
int sepPos = getSepPos(fromTo, redirect);
String fromPage = fromTo.substring(0, sepPos).trim();
NextPage toPage =
- new NextPage(fromTo.substring(
- sepPos + getSeparator(redirect).length() + 1).trim(), redirect);
+ new NextPage(
+ fromTo.substring(sepPos + getSeparator(redirect).length() + 1).trim(), redirect);
wizardFromTo.put(fromPage, toPage);
}
jobPoolLimit = config.getInt(CONF_SECTION, CONF_JOB_POOL_LIMIT, 5);
jobExecTimeout = config.getInt(CONF_SECTION, CONF_JOB_EXEC_TIMEOUT, 10);
- pullRequestListLimit =
- config.getInt(CONF_SECTION, CONF_PULL_REQUEST_LIST_LIMIT, 50);
- repositoryListPageSize =
- config.getInt(CONF_SECTION, CONF_REPOSITORY_LIST_PAGE_SIZE, 50);
- repositoryListLimit =
- config.getInt(CONF_SECTION, CONF_REPOSITORY_LIST_LIMIT, 50);
+ pullRequestListLimit = config.getInt(CONF_SECTION, CONF_PULL_REQUEST_LIST_LIMIT, 50);
+ repositoryListPageSize = config.getInt(CONF_SECTION, CONF_REPOSITORY_LIST_PAGE_SIZE, 50);
+ repositoryListLimit = config.getInt(CONF_SECTION, CONF_REPOSITORY_LIST_LIMIT, 50);
gitDir = site.resolve(config.getString("gerrit", null, "basePath"));
if (gitDir == null) {
throw new IllegalStateException("gerrit.basePath must be configured");
}
- privateBaseProject =
- config.getString(CONF_SECTION, null, CONF_PRIVATE_BASE_PROJECT);
- publicBaseProject =
- config.getString(CONF_SECTION, null, CONF_PUBLIC_BASE_PROJECT);
+ privateBaseProject = config.getString(CONF_SECTION, null, CONF_PRIVATE_BASE_PROJECT);
+ publicBaseProject = config.getString(CONF_SECTION, null, CONF_PUBLIC_BASE_PROJECT);
allProjectsName = allProjectsNameProvider.get().toString();
webhookSecret = config.getString(CONF_SECTION, null, CONF_WEBHOOK_SECRET);
webhookUser = config.getString(CONF_SECTION, null, CONF_WEBHOOK_USER);
}
private String getSeparator(boolean redirect) {
- String separator =
- redirect ? FROM_TO_REDIRECT_SEPARATOR : FROM_TO_SEPARATOR;
+ String separator = redirect ? FROM_TO_REDIRECT_SEPARATOR : FROM_TO_SEPARATOR;
return separator;
}
@@ -135,7 +123,7 @@
}
public String getBaseProject(boolean isPrivateProject) {
- return MoreObjects.firstNonNull(isPrivateProject ? privateBaseProject
- : publicBaseProject, allProjectsName);
+ return MoreObjects.firstNonNull(
+ isPrivateProject ? privateBaseProject : publicBaseProject, allProjectsName);
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubOAuthServiceProvider.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubOAuthServiceProvider.java
index 0a617fc..7a52be1 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubOAuthServiceProvider.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubOAuthServiceProvider.java
@@ -14,13 +14,6 @@
package com.googlesource.gerrit.plugins.github;
-import java.io.IOException;
-
-import org.kohsuke.github.GHMyself;
-import org.kohsuke.github.GitHub;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import com.google.common.collect.Sets;
import com.google.gerrit.extensions.auth.oauth.OAuthServiceProvider;
import com.google.gerrit.extensions.auth.oauth.OAuthToken;
@@ -30,18 +23,21 @@
import com.google.inject.Inject;
import com.googlesource.gerrit.plugins.github.oauth.GitHubOAuthConfig;
import com.googlesource.gerrit.plugins.github.oauth.OAuthProtocol;
+import java.io.IOException;
+import org.kohsuke.github.GHMyself;
+import org.kohsuke.github.GitHub;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class GitHubOAuthServiceProvider implements OAuthServiceProvider {
public static final String VERSION = "2.10.3";
- private static final Logger log = LoggerFactory
- .getLogger(GitHubOAuthServiceProvider.class);
+ private static final Logger log = LoggerFactory.getLogger(GitHubOAuthServiceProvider.class);
private final GitHubOAuthConfig config;
private final OAuthProtocol oauth;
@Inject
- public GitHubOAuthServiceProvider(GitHubOAuthConfig config,
- OAuthProtocol oauth) {
+ public GitHubOAuthServiceProvider(GitHubOAuthConfig config, OAuthProtocol oauth) {
this.config = config;
this.oauth = oauth;
}
@@ -68,8 +64,8 @@
GitHub hub = GitHub.connectUsingOAuth(oauthToken);
GHMyself myself = hub.getMyself();
String login = myself.getLogin();
- return new OAuthUserInfo(AccountExternalId.SCHEME_GERRIT + login, login,
- myself.getEmail(), myself.getName(), null);
+ return new OAuthUserInfo(
+ AccountExternalId.SCHEME_GERRIT + login, login, myself.getEmail(), myself.getName(), null);
}
@Override
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubTopMenu.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubTopMenu.java
index 66ed7e1..860a13a 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubTopMenu.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubTopMenu.java
@@ -24,7 +24,6 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -37,17 +36,21 @@
private final AuthConfig authConfig;
@Inject
- public GitHubTopMenu(@PluginName String pluginName,
+ public GitHubTopMenu(
+ @PluginName String pluginName,
Provider<CurrentUser> userProvider,
AuthConfig authConfig,
GitHubConfig ghConfig) {
String baseUrl = "/plugins/" + pluginName;
this.menuEntries =
- Arrays.asList(new MenuEntry("GitHub", Arrays.asList(
- getItem("Scope", ghConfig.scopeSelectionUrl),
- getItem("Profile", baseUrl + "/static/account.html"),
- getItem("Repositories", baseUrl + "/static/repositories.html"),
- getItem("Pull Requests", baseUrl + "/static/pullrequests.html"))));
+ Arrays.asList(
+ new MenuEntry(
+ "GitHub",
+ Arrays.asList(
+ getItem("Scope", ghConfig.scopeSelectionUrl),
+ getItem("Profile", baseUrl + "/static/account.html"),
+ getItem("Repositories", baseUrl + "/static/repositories.html"),
+ getItem("Pull Requests", baseUrl + "/static/pullrequests.html"))));
this.userProvider = userProvider;
this.authConfig = authConfig;
}
@@ -58,7 +61,8 @@
@Override
public List<MenuEntry> getEntries() {
- if (userProvider.get() instanceof IdentifiedUser &&
+ if (userProvider.get() instanceof IdentifiedUser
+ &&
// Only with HTTP authentication we can transparently trigger OAuth if needed
authConfig.getAuthType().equals(AuthType.HTTP)) {
return menuEntries;
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubURL.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubURL.java
index a53c76e..c6841d2 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubURL.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubURL.java
@@ -14,7 +14,6 @@
package com.googlesource.gerrit.plugins.github;
import com.google.inject.BindingAnnotation;
-
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -23,6 +22,4 @@
@Target({ElementType.PARAMETER, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@BindingAnnotation
-public @interface GitHubURL {
-
-}
+public @interface GitHubURL {}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubURLProvider.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubURLProvider.java
index ae5ca0f..e64b586 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubURLProvider.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubURLProvider.java
@@ -29,5 +29,4 @@
public String get() {
return gitHubUrl;
}
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GuiceHttpModule.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GuiceHttpModule.java
index 744823e..12acdb2 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GuiceHttpModule.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GuiceHttpModule.java
@@ -13,9 +13,6 @@
// limitations under the License.
package com.googlesource.gerrit.plugins.github;
-import org.apache.http.client.HttpClient;
-import org.apache.velocity.runtime.RuntimeInstance;
-
import com.google.gerrit.extensions.annotations.Exports;
import com.google.gerrit.extensions.auth.oauth.OAuthServiceProvider;
import com.google.inject.TypeLiteral;
@@ -38,6 +35,8 @@
import com.googlesource.gerrit.plugins.github.velocity.VelocityStaticServlet;
import com.googlesource.gerrit.plugins.github.velocity.VelocityViewServlet;
import com.googlesource.gerrit.plugins.github.wizard.VelocityControllerServlet;
+import org.apache.http.client.HttpClient;
+import org.apache.velocity.runtime.RuntimeInstance;
public class GuiceHttpModule extends ServletModule {
@@ -50,29 +49,39 @@
install(new FactoryModuleBuilder().build(RemoteSiteUser.Factory.class));
- install(new FactoryModuleBuilder().implement(GitCloneStep.class,
- GitCloneStep.class).build(GitCloneStep.Factory.class));
- install(new FactoryModuleBuilder().implement(CreateProjectStep.class,
- CreateProjectStep.class).build(CreateProjectStep.Factory.class));
- install(new FactoryModuleBuilder().implement(ReplicateProjectStep.class,
- ReplicateProjectStep.class).build(ReplicateProjectStep.Factory.class));
- install(new FactoryModuleBuilder().implement(PullRequestImportJob.class,
- PullRequestImportJob.class).build(PullRequestImportJob.Factory.class));
- install(new FactoryModuleBuilder().implement(GitHubRepository.class,
- GitHubRepository.class).build(GitHubRepository.Factory.class));
+ install(
+ new FactoryModuleBuilder()
+ .implement(GitCloneStep.class, GitCloneStep.class)
+ .build(GitCloneStep.Factory.class));
+ install(
+ new FactoryModuleBuilder()
+ .implement(CreateProjectStep.class, CreateProjectStep.class)
+ .build(CreateProjectStep.Factory.class));
+ install(
+ new FactoryModuleBuilder()
+ .implement(ReplicateProjectStep.class, ReplicateProjectStep.class)
+ .build(ReplicateProjectStep.Factory.class));
+ install(
+ new FactoryModuleBuilder()
+ .implement(PullRequestImportJob.class, PullRequestImportJob.class)
+ .build(PullRequestImportJob.Factory.class));
+ install(
+ new FactoryModuleBuilder()
+ .implement(GitHubRepository.class, GitHubRepository.class)
+ .build(GitHubRepository.Factory.class));
- bind(RuntimeInstance.class).annotatedWith(
- Names.named("PluginRuntimeInstance")).toProvider(
- PluginVelocityRuntimeProvider.class);
+ bind(RuntimeInstance.class)
+ .annotatedWith(Names.named("PluginRuntimeInstance"))
+ .toProvider(PluginVelocityRuntimeProvider.class);
- bind(String.class).annotatedWith(GitHubURL.class).toProvider(
- GitHubURLProvider.class);
+ bind(String.class).annotatedWith(GitHubURL.class).toProvider(GitHubURLProvider.class);
- bind(OAuthServiceProvider.class).annotatedWith(
- Exports.named("github")).to(GitHubOAuthServiceProvider.class);
+ bind(OAuthServiceProvider.class)
+ .annotatedWith(Exports.named("github"))
+ .to(GitHubOAuthServiceProvider.class);
- serve("*.css", "*.js", "*.png", "*.jpg", "*.woff", "*.gif", "*.ttf").with(
- VelocityStaticServlet.class);
+ serve("*.css", "*.js", "*.png", "*.jpg", "*.woff", "*.gif", "*.ttf")
+ .with(VelocityStaticServlet.class);
serve("*.gh").with(VelocityControllerServlet.class);
serve("/webhook").with(WebhookServlet.class);
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GuiceModule.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GuiceModule.java
index 0521cef..2014f1d 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GuiceModule.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GuiceModule.java
@@ -41,8 +41,8 @@
public class GuiceModule extends AbstractModule {
@Override
protected void configure() {
- bind(new TypeLiteral<UserScopedProvider<GitHubLogin>>() {}).to(
- IdentifiedUserGitHubLoginProvider.class);
+ bind(new TypeLiteral<UserScopedProvider<GitHubLogin>>() {})
+ .to(IdentifiedUserGitHubLoginProvider.class);
install(GitHubGroupsCache.module());
@@ -50,21 +50,18 @@
DynamicSet.bind(binder(), GroupBackend.class).to(GitHubGroupBackend.class);
DynamicSet.bind(binder(), EventListener.class).to(ReplicationStatusListener.class);
- install(new FactoryModuleBuilder()
- .build(GitHubOrganisationGroup.Factory.class));
- install(new FactoryModuleBuilder()
- .build(GitHubGroupMembership.Factory.class));
+ install(new FactoryModuleBuilder().build(GitHubOrganisationGroup.Factory.class));
+ install(new FactoryModuleBuilder().build(GitHubGroupMembership.Factory.class));
- install(new RestApiModule() {
- @Override
- protected void configure() {
- get(ProjectResource.PROJECT_KIND, "replication").to(
- ListProjectReplicationStatus.class);
- }
- });
+ install(
+ new RestApiModule() {
+ @Override
+ protected void configure() {
+ get(ProjectResource.PROJECT_KIND, "replication").to(ListProjectReplicationStatus.class);
+ }
+ });
- bind(ReplicationStatusStore.class).to(ReplicationStatusFlatFile.class)
- .in(Scopes.SINGLETON);
+ bind(ReplicationStatusStore.class).to(ReplicationStatusFlatFile.class).in(Scopes.SINGLETON);
bind(Gson.class).toProvider(GerritGsonProvider.class);
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java
index 5a78252..6e5975d 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java
@@ -13,31 +13,30 @@
// limitations under the License.
package com.googlesource.gerrit.plugins.github;
-import java.net.URISyntaxException;
-
import com.google.common.base.Strings;
import com.google.gerrit.pgm.init.api.ConsoleUI;
import com.google.gerrit.pgm.init.api.InitStep;
import com.google.gerrit.pgm.init.api.InitUtil;
import com.google.gerrit.pgm.init.api.Section;
import com.google.inject.Inject;
+import java.net.URISyntaxException;
public class InitGitHub implements InitStep {
private static final String GITHUB_URL = "https://github.com";
private static final String GITHUB_API_URL = "https://api.github.com";
private static final String GITHUB_REGISTER_APPLICATION_PATH = "/settings/applications/new";
private static final String GERRIT_OAUTH_CALLBACK_PATH = "oauth";
-
+
private final ConsoleUI ui;
private final Section auth;
private final Section httpd;
private final Section github;
private final Section gerrit;
-
+
public enum OAuthType {
/* Legacy Gerrit/HTTP authentication for GitHub through HTTP Header enrichment */
HTTP,
-
+
/* New native Gerrit/OAuth authentication provider */
OAUTH
}
@@ -57,14 +56,14 @@
github.string("GitHub URL", "url", GITHUB_URL);
github.string("GitHub API URL", "apiUrl", GITHUB_API_URL);
- ui.message("\nNOTE: You might need to configure a proxy using http.proxy"
- + " if you run Gerrit behind a firewall.\n");
+ ui.message(
+ "\nNOTE: You might need to configure a proxy using http.proxy"
+ + " if you run Gerrit behind a firewall.\n");
String gerritUrl = getAssumedCanonicalWebUrl();
ui.header("GitHub OAuth registration and credentials");
ui.message(
- "Register Gerrit as GitHub application on:\n" +
- "%s%s\n\n",
+ "Register Gerrit as GitHub application on:\n" + "%s%s\n\n",
github.get("url"), GITHUB_REGISTER_APPLICATION_PATH);
ui.message("Settings (assumed Gerrit URL: %s)\n", gerritUrl);
ui.message("* Application name: Gerrit Code Review\n");
@@ -74,14 +73,13 @@
github.string("GitHub Client ID", "clientId", null);
github.passwordForKey("GitHub Client Secret", "clientSecret");
-
+
OAuthType authType = auth.select("Gerrit OAuth implementation", "type", OAuthType.HTTP);
if (authType.equals(OAuthType.HTTP)) {
auth.string("HTTP Authentication Header", "httpHeader", "GITHUB_USER");
- httpd.set("filterClass",
- "com.googlesource.gerrit.plugins.github.oauth.OAuthFilter");
+ httpd.set("filterClass", "com.googlesource.gerrit.plugins.github.oauth.OAuthFilter");
authSetDefault("httpExternalIdHeader", "GITHUB_OAUTH_TOKEN");
- authSetDefault("loginUrl","/login");
+ authSetDefault("loginUrl", "/login");
authSetDefault("loginText", "Sign-in with GitHub");
authSetDefault("registerPageUrl", "/#/register");
} else {
@@ -114,6 +112,5 @@
}
@Override
- public void postRun() throws Exception {
- }
+ public void postRun() throws Exception {}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InvalidGitHubConfigException.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InvalidGitHubConfigException.java
index bfe6d20..908e875 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InvalidGitHubConfigException.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InvalidGitHubConfigException.java
@@ -17,6 +17,9 @@
private static final long serialVersionUID = 7006333621290095732L;
public InvalidGitHubConfigException(String fromTo) {
- super("Invalid configuration: invalid value " + fromTo + ": expected 'from-page.html => to-page.html");
+ super(
+ "Invalid configuration: invalid value "
+ + fromTo
+ + ": expected 'from-page.html => to-page.html");
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/OnStartStop.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/OnStartStop.java
index ee55271..5887731 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/OnStartStop.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/OnStartStop.java
@@ -17,7 +17,6 @@
import com.google.gerrit.extensions.events.LifecycleListener;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -26,8 +25,7 @@
private static final Logger LOG = LoggerFactory.getLogger(OnStartStop.class);
@Inject
- public OnStartStop() {
- }
+ public OnStartStop() {}
@Override
public void start() {
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/filters/GitHubOAuthFilter.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/filters/GitHubOAuthFilter.java
index f60d113..5316d13 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/filters/GitHubOAuthFilter.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/filters/GitHubOAuthFilter.java
@@ -29,13 +29,8 @@
import com.googlesource.gerrit.plugins.github.oauth.OAuthProtocol.AccessToken;
import com.googlesource.gerrit.plugins.github.oauth.OAuthWebFilter;
import com.googlesource.gerrit.plugins.github.oauth.ScopedProvider;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.IOException;
import java.util.Collection;
-
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@@ -43,6 +38,8 @@
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
@Singleton
public class GitHubOAuthFilter implements Filter {
@@ -53,7 +50,8 @@
private final AccountCache accountCache;
@Inject
- public GitHubOAuthFilter(ScopedProvider<GitHubLogin> loginProvider,
+ public GitHubOAuthFilter(
+ ScopedProvider<GitHubLogin> loginProvider,
Provider<CurrentUser> userProvider,
AccountCache accountCache) {
this.loginProvider = loginProvider;
@@ -62,12 +60,11 @@
}
@Override
- public void init(FilterConfig filterConfig) throws ServletException {
- }
+ public void init(FilterConfig filterConfig) throws ServletException {}
@Override
- public void doFilter(ServletRequest request, ServletResponse response,
- FilterChain chain) throws IOException, ServletException {
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
+ throws IOException, ServletException {
GitHubLogin hubLogin = loginProvider.get((HttpServletRequest) request);
LOG.debug("GitHub login: " + hubLogin);
CurrentUser user = userProvider.get();
@@ -77,8 +74,7 @@
AccountExternalId gitHubExtId = getGitHubExternalId(user);
String oauthToken =
- gitHubExtId.getSchemeRest()
- .substring(OAuthWebFilter.GITHUB_EXT_ID.length());
+ gitHubExtId.getSchemeRest().substring(OAuthWebFilter.GITHUB_EXT_ID.length());
hubLogin.login(new AccessToken(oauthToken));
}
@@ -87,30 +83,27 @@
private AccountExternalId getGitHubExternalId(CurrentUser user) {
Collection<ExternalId> accountExtIds =
- accountCache.get(((IdentifiedUser) user).getAccountId())
- .getExternalIds();
+ accountCache.get(((IdentifiedUser) user).getAccountId()).getExternalIds();
Collection<ExternalId> gitHubExtId =
- Collections2.filter(accountExtIds,
+ Collections2.filter(
+ accountExtIds,
new Predicate<ExternalId>() {
@Override
public boolean apply(ExternalId externalId) {
- return externalId
- .key()
- .get()
- .startsWith(
- IdentifiedUserGitHubLoginProvider.EXTERNAL_ID_PREFIX);
+ return externalId
+ .key()
+ .get()
+ .startsWith(IdentifiedUserGitHubLoginProvider.EXTERNAL_ID_PREFIX);
}
});
if (gitHubExtId.isEmpty()) {
- throw new IllegalStateException("Current Gerrit user "
- + user.getUserName() + " has no GitHub OAuth external ID");
+ throw new IllegalStateException(
+ "Current Gerrit user " + user.getUserName() + " has no GitHub OAuth external ID");
}
return gitHubExtId.iterator().next().asAccountExternalId();
}
@Override
- public void destroy() {
- }
-
+ public void destroy() {}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/AbstractCloneJob.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/AbstractCloneJob.java
index 7308b28..4421841 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/AbstractCloneJob.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/AbstractCloneJob.java
@@ -14,7 +14,6 @@
package com.googlesource.gerrit.plugins.github.git;
import com.google.inject.ProvisionException;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -27,9 +26,9 @@
protected String getErrorDescription(Throwable exception) {
LOG.error("Job " + this + " FAILED", exception);
- if(GitException.class.isAssignableFrom(exception.getClass())) {
+ if (GitException.class.isAssignableFrom(exception.getClass())) {
return ((GitException) exception).getErrorDescription();
- } else if(ProvisionException.class.isAssignableFrom(exception.getClass())){
+ } else if (ProvisionException.class.isAssignableFrom(exception.getClass())) {
Throwable cause = exception.getCause();
if (cause != null) {
return getErrorDescription(cause);
@@ -39,5 +38,4 @@
return "Internal error";
}
}
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/BatchImporter.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/BatchImporter.java
index 21dfb37..f26188d 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/BatchImporter.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/BatchImporter.java
@@ -14,7 +14,6 @@
package com.googlesource.gerrit.plugins.github.git;
import com.google.gerrit.server.IdentifiedUser;
-
import java.util.Collection;
import java.util.concurrent.ConcurrentHashMap;
@@ -48,5 +47,4 @@
jobs.put(new Integer(idx), pullRequestImportJob);
executor.exec(pullRequestImportJob);
}
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/CreateProjectStep.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/CreateProjectStep.java
index 87e089f..e67fcd4 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/CreateProjectStep.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/CreateProjectStep.java
@@ -30,10 +30,8 @@
import com.google.gerrit.server.project.ProjectCache;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
-
import com.googlesource.gerrit.plugins.github.GitHubConfig;
import com.googlesource.gerrit.plugins.github.GitHubURL;
-
import org.eclipse.jgit.lib.ProgressMonitor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -44,7 +42,7 @@
private static final String TAGS_REFS = "refs/tags/*";
private static final String CODE_REVIEW_LABEL = "Code-Review";
private static final String VERIFIED_LABEL = "Verified";
-
+
private final String organisation;
private final String repository;
@@ -57,15 +55,17 @@
private GitHubConfig config;
public interface Factory {
- CreateProjectStep create(@Assisted("organisation") String organisation,
+ CreateProjectStep create(
+ @Assisted("organisation") String organisation,
@Assisted("name") String repository,
@Assisted("description") String description,
@Assisted("username") String username);
}
@Inject
- public CreateProjectStep(@GitHubURL String gitHubUrl,
- MetaDataUpdate.User metaDataUpdateFactory,
+ public CreateProjectStep(
+ @GitHubURL String gitHubUrl,
+ MetaDataUpdate.User metaDataUpdateFactory,
GroupBackend groupBackend,
ProjectCache projectCache,
GitHubRepository.Factory ghRepoFactory,
@@ -86,27 +86,29 @@
this.username = username;
this.config = gitHubConfig;
}
-
+
private void setProjectPermissions() {
addPermissions(AccessSection.ALL, Permission.OWNER);
- addPermissions(CODE_REVIEW_REFS, Permission.READ, Permission.PUSH,
- Permission.REMOVE_REVIEWER, Permission.SUBMIT, Permission.REBASE);
+ addPermissions(
+ CODE_REVIEW_REFS,
+ Permission.READ,
+ Permission.PUSH,
+ Permission.REMOVE_REVIEWER,
+ Permission.SUBMIT,
+ Permission.REBASE);
PermissionRule reviewRange = new PermissionRule(getMyGroup());
reviewRange.setMin(new Integer(-2));
reviewRange.setMax(new Integer(+2));
- addPermission(CODE_REVIEW_REFS, Permission.LABEL + CODE_REVIEW_LABEL,
- reviewRange);
+ addPermission(CODE_REVIEW_REFS, Permission.LABEL + CODE_REVIEW_LABEL, reviewRange);
PermissionRule verifiedRange = new PermissionRule(getMyGroup());
verifiedRange.setMin(new Integer(-1));
verifiedRange.setMax(new Integer(+1));
- addPermission(CODE_REVIEW_REFS, Permission.LABEL + VERIFIED_LABEL,
- verifiedRange);
+ addPermission(CODE_REVIEW_REFS, Permission.LABEL + VERIFIED_LABEL, verifiedRange);
- addPermissions(AccessSection.HEADS, Permission.READ, Permission.CREATE,
- Permission.PUSH_MERGE);
+ addPermissions(AccessSection.HEADS, Permission.READ, Permission.CREATE, Permission.PUSH_MERGE);
PermissionRule forcePush = new PermissionRule(getMyGroup());
forcePush.setForce(Boolean.TRUE);
@@ -118,7 +120,7 @@
removeTag.setForce(Boolean.TRUE);
addPermission(TAGS_REFS, Permission.PUSH, removeTag);
}
-
+
private void addPermissions(String refSpec, String... permissions) {
AccessSection accessSection = projectConfig.getAccessSection(refSpec, true);
for (String permission : permissions) {
@@ -136,13 +138,11 @@
}
private void addPermission(String refSpec, String action, PermissionRule rule) {
- projectConfig.getAccessSection(refSpec, true).getPermission(action, true)
- .add(rule);
+ projectConfig.getAccessSection(refSpec, true).getPermission(action, true).add(rule);
}
-
+
private GroupReference getMyGroup() {
- GroupDescription.Basic g =
- groupBackend.get(AccountGroup.UUID.parse("user:" + username));
+ GroupDescription.Basic g = groupBackend.get(AccountGroup.UUID.parse("user:" + username));
return projectConfig.resolve(GroupReference.forGroup(g));
}
@@ -165,13 +165,13 @@
projectConfig.commit(md);
projectCache.onCreateProject(getProjectNameKey());
} finally {
- if(md != null) {
+ if (md != null) {
md.close();
}
progress.endTask();
}
}
-
+
private void setProjectSettings() {
Project project = projectConfig.getProject();
project.setParentName(config.getBaseProject(getRepository().isPrivate()));
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ErrorJob.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ErrorJob.java
index 5ba4adf..629226d 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ErrorJob.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ErrorJob.java
@@ -23,8 +23,7 @@
private Throwable exception;
private GitJobStatus status;
- public ErrorJob(int idx, String organisation, String repository,
- Throwable e) {
+ public ErrorJob(int idx, String organisation, String repository, Throwable e) {
this.idx = idx;
this.organisation = organisation;
this.repository = repository;
@@ -54,11 +53,8 @@
}
@Override
- public void cancel() {
- }
+ public void cancel() {}
@Override
- public void run() {
- }
-
+ public void run() {}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneFailedException.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneFailedException.java
index 9a47143..8d36f80 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneFailedException.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneFailedException.java
@@ -32,8 +32,7 @@
return "";
} else if (JGitInternalException.class.isAssignableFrom(cause.getClass())) {
Throwable innerCause = cause.getCause();
- return innerCause != null ? getCauseDescription(cause.getCause())
- : "JGit internal error";
+ return innerCause != null ? getCauseDescription(cause.getCause()) : "JGit internal error";
} else {
return getDecamelisedName(cause);
}
@@ -42,17 +41,16 @@
private String getDecamelisedName(Throwable cause) {
StringBuilder name = new StringBuilder();
String causeName = cause.getClass().getName();
- causeName = causeName.substring(causeName.lastIndexOf('.')+1);
+ causeName = causeName.substring(causeName.lastIndexOf('.') + 1);
for (char causeChar : causeName.toCharArray()) {
- if(Character.isUpperCase(causeChar)) {
+ if (Character.isUpperCase(causeChar)) {
name.append(" ");
name.append(Character.toLowerCase(causeChar));
} else {
name.append(causeChar);
}
}
-
+
return name.toString();
}
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneStep.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneStep.java
index 06bd28b..44fc1a1 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneStep.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneStep.java
@@ -15,18 +15,15 @@
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
-
import com.googlesource.gerrit.plugins.github.GitHubConfig;
-
+import java.io.File;
+import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.eclipse.jgit.api.CloneCommand;
import org.eclipse.jgit.lib.ProgressMonitor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
-import java.io.IOException;
-
public class GitCloneStep extends ImportStep {
private static final Logger LOG = LoggerFactory.getLogger(GitImporter.class);
@@ -34,27 +31,25 @@
private File destinationDirectory;
public interface Factory {
- GitCloneStep create(@Assisted("organisation") String organisation,
- @Assisted("name") String repository);
+ GitCloneStep create(
+ @Assisted("organisation") String organisation, @Assisted("name") String repository);
}
@Inject
- public GitCloneStep(GitHubConfig gitConfig,
+ public GitCloneStep(
+ GitHubConfig gitConfig,
GitHubRepository.Factory gitHubRepoFactory,
@Assisted("organisation") String organisation,
@Assisted("name") String repository)
- throws GitDestinationAlreadyExistsException,
- GitDestinationNotWritableException {
+ throws GitDestinationAlreadyExistsException, GitDestinationNotWritableException {
super(gitConfig.gitHubUrl, organisation, repository, gitHubRepoFactory);
LOG.debug("GitHub Clone " + organisation + "/" + repository);
this.gitDir = gitConfig.gitDir.toFile();
- this.destinationDirectory =
- getDestinationDirectory(organisation, repository);
+ this.destinationDirectory = getDestinationDirectory(organisation, repository);
}
-
+
private File getDestinationDirectory(String organisation, String repository)
- throws GitDestinationAlreadyExistsException,
- GitDestinationNotWritableException {
+ throws GitDestinationAlreadyExistsException, GitDestinationNotWritableException {
File orgDirectory = new File(gitDir, organisation);
File destDirectory = new File(orgDirectory, repository + ".git");
if (destDirectory.exists() && isNotEmpty(destDirectory)) {
@@ -71,8 +66,9 @@
}
@Override
- public void doImport(ProgressMonitor progress) throws GitCloneFailedException,
- GitDestinationAlreadyExistsException, GitDestinationNotWritableException {
+ public void doImport(ProgressMonitor progress)
+ throws GitCloneFailedException, GitDestinationAlreadyExistsException,
+ GitDestinationNotWritableException {
CloneCommand clone = new CloneCommand();
clone.setCredentialsProvider(getRepository().getCredentialsProvider());
String sourceUri = getSourceUri();
@@ -101,10 +97,10 @@
@Override
public boolean rollback() {
File gitDirectory = destinationDirectory;
- if(!gitDirectory.exists()) {
+ if (!gitDirectory.exists()) {
return false;
}
-
+
try {
FileUtils.deleteDirectory(gitDirectory);
return true;
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitDestinationAlreadyExistsException.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitDestinationAlreadyExistsException.java
index 5c4e9d4..b9088f4 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitDestinationAlreadyExistsException.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitDestinationAlreadyExistsException.java
@@ -19,8 +19,7 @@
private static final long serialVersionUID = -6202681486717426148L;
public GitDestinationAlreadyExistsException(File destDirectory) {
- super("Output Git destination " + destDirectory
- + " already exists and cannot be overwritten");
+ super("Output Git destination " + destDirectory + " already exists and cannot be overwritten");
}
@Override
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitDestinationNotWritableException.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitDestinationNotWritableException.java
index ec55861..cc0bb60 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitDestinationNotWritableException.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitDestinationNotWritableException.java
@@ -26,5 +26,4 @@
public String getErrorDescription() {
return "Output destination directory is not writeable";
}
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitException.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitException.java
index 3b60bb7..d73e7e2 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitException.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitException.java
@@ -35,5 +35,4 @@
}
public abstract String getErrorDescription();
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitHubRepository.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitHubRepository.java
index c78b7e4..09e3fb7 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitHubRepository.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitHubRepository.java
@@ -15,11 +15,11 @@
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
-
import com.googlesource.gerrit.plugins.github.GitHubURL;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
import com.googlesource.gerrit.plugins.github.oauth.ScopedProvider;
-
+import java.io.IOException;
+import lombok.experimental.Delegate;
import org.eclipse.jgit.errors.UnsupportedCredentialItem;
import org.eclipse.jgit.transport.CredentialItem;
import org.eclipse.jgit.transport.CredentialsProvider;
@@ -27,25 +27,19 @@
import org.kohsuke.github.GHRepository;
import org.kohsuke.github.GitHub;
-import java.io.IOException;
-
-import lombok.experimental.Delegate;
-
public class GitHubRepository extends GHRepository {
public interface Factory {
- GitHubRepository create(@Assisted("organisation") String organisation,
- @Assisted("repository") String repository);
+ GitHubRepository create(
+ @Assisted("organisation") String organisation, @Assisted("repository") String repository);
}
-
private final String organisation;
private final String repository;
private final String cloneUrl;
private final String username;
private final String password;
- @Delegate
- private GHRepository ghRepository;
+ @Delegate private GHRepository ghRepository;
public String getCloneUrl() {
return cloneUrl.replace("://", "://" + username + "@");
@@ -60,10 +54,12 @@
}
@Inject
- public GitHubRepository(ScopedProvider<GitHubLogin> ghLoginProvider,
+ public GitHubRepository(
+ ScopedProvider<GitHubLogin> ghLoginProvider,
@GitHubURL String gitHubUrl,
@Assisted("organisation") String organisation,
- @Assisted("repository") String repository) throws IOException {
+ @Assisted("repository") String repository)
+ throws IOException {
this.cloneUrl = gitHubUrl + "/" + organisation + "/" + repository + ".git";
this.organisation = organisation;
this.repository = repository;
@@ -71,8 +67,7 @@
GitHub gh = ghLogin.getHub();
this.username = ghLogin.getMyself().getLogin();
this.password = ghLogin.getToken().accessToken;
- this.ghRepository =
- gh.getRepository(organisation + "/" + repository);
+ this.ghRepository = gh.getRepository(organisation + "/" + repository);
}
public CredentialsProvider getCredentialsProvider() {
@@ -98,8 +93,7 @@
}
@Override
- public boolean get(URIish uri, CredentialItem... items)
- throws UnsupportedCredentialItem {
+ public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
String user = uri.getUser();
if (user == null) {
user = GitHubRepository.this.username;
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitHubUser.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitHubUser.java
index f929e62..2109ea9 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitHubUser.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitHubUser.java
@@ -16,21 +16,15 @@
import com.google.common.base.Optional;
import com.google.common.base.Strings;
-
+import java.io.IOException;
+import lombok.Getter;
import org.kohsuke.github.GHUser;
import org.kohsuke.github.GitUser;
-import java.io.IOException;
-
-import lombok.Getter;
-
public class GitHubUser {
- @Getter
- private final String login;
- @Getter
- private final String name;
- @Getter
- private final String email;
+ @Getter private final String login;
+ @Getter private final String name;
+ @Getter private final String email;
private GitHubUser(GHUser gitHubUser, GitUser author) throws IOException {
this.login = initLogin(gitHubUser).or(generateLogin(author.getName()));
@@ -43,24 +37,20 @@
}
private static Optional<String> initLogin(GHUser gitHubUser) {
- return Optional.fromNullable(gitHubUser != null ? gitHubUser.getLogin()
- : null);
+ return Optional.fromNullable(gitHubUser != null ? gitHubUser.getLogin() : null);
}
- private static Optional<String> initEmail(GHUser gitHubUser)
- throws IOException {
- return Optional.fromNullable(gitHubUser != null ? Strings
- .emptyToNull(gitHubUser.getEmail()) : null);
+ private static Optional<String> initEmail(GHUser gitHubUser) throws IOException {
+ return Optional.fromNullable(
+ gitHubUser != null ? Strings.emptyToNull(gitHubUser.getEmail()) : null);
}
- private static Optional<String> initFullName(GHUser gitHubUser)
- throws IOException {
- return Optional.fromNullable(gitHubUser != null ? Strings
- .emptyToNull(gitHubUser.getName()) : null);
+ private static Optional<String> initFullName(GHUser gitHubUser) throws IOException {
+ return Optional.fromNullable(
+ gitHubUser != null ? Strings.emptyToNull(gitHubUser.getName()) : null);
}
- public static GitHubUser from(GHUser gitHubUser, GitUser author)
- throws IOException {
+ public static GitHubUser from(GHUser gitHubUser, GitUser author) throws IOException {
return new GitHubUser(gitHubUser, author);
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitImportJob.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitImportJob.java
index b633b67..dda0205 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitImportJob.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitImportJob.java
@@ -14,11 +14,9 @@
package com.googlesource.gerrit.plugins.github.git;
import com.googlesource.gerrit.plugins.github.git.GitJobStatus.Code;
-
import org.eclipse.jgit.lib.ProgressMonitor;
-public class GitImportJob extends AbstractCloneJob implements Runnable,
- ProgressMonitor, GitJob {
+public class GitImportJob extends AbstractCloneJob implements Runnable, ProgressMonitor, GitJob {
private int currTask;
private int totUnits;
private int currUnit;
@@ -47,7 +45,7 @@
for (ImportStep importStep : importSteps) {
importStep.doImport(this);
}
- status.update(GitJobStatus.Code.COMPLETE,"Done","Done: repository replicated to Gerrit.");
+ status.update(GitJobStatus.Code.COMPLETE, "Done", "Done: repository replicated to Gerrit.");
} catch (Exception e) {
if (status.getStatus() == GitJobStatus.Code.SYNC) {
this.exception = e;
@@ -85,14 +83,13 @@
case CANCELLED:
return "Cancelled";
default:
- return "Phase-" + currTask + " / " + task + " (" + lastPercentage
- + "%)";
+ return "Phase-" + currTask + " / " + task + " (" + lastPercentage + "%)";
}
}
/*
* (non-Javadoc)
- *
+ *
* @see com.googlesource.gerrit.plugins.github.git.CloneJob#getStatus()
*/
@Override
@@ -111,7 +108,7 @@
if (percentage > lastPercentage) {
lastPercentage = percentage;
}
-
+
status.update(Code.SYNC, status.getShortDescription(), getStatusDescription());
}
@@ -129,8 +126,7 @@
}
@Override
- public void endTask() {
- }
+ public void endTask() {}
@Override
public void beginTask(String taskName, int totalUnits) {
@@ -139,7 +135,7 @@
this.totUnits = totalUnits;
this.currUnit = 0;
this.lastPercentage = 0;
-
+
status.update(Code.SYNC, status.getShortDescription(), getStatusDescription());
}
@@ -150,8 +146,7 @@
@Override
public String toString() {
- return "CloneJob#" + index + " " + getOrganisation() + "/"
- + getRepository();
+ return "CloneJob#" + index + " " + getOrganisation() + "/" + getRepository();
}
@Override
@@ -163,5 +158,4 @@
public String getRepository() {
return repository;
}
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitImporter.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitImporter.java
index 6d2fb3a..f36257d 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitImporter.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitImporter.java
@@ -16,9 +16,7 @@
import com.google.gerrit.server.IdentifiedUser;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-
import com.googlesource.gerrit.plugins.github.oauth.HttpSessionProvider;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -32,11 +30,12 @@
private final CreateProjectStep.Factory projectFactory;
private final ReplicateProjectStep.Factory replicateFactory;
-
@Inject
- public GitImporter(GitCloneStep.Factory cloneFactory,
+ public GitImporter(
+ GitCloneStep.Factory cloneFactory,
CreateProjectStep.Factory projectFactory,
- ReplicateProjectStep.Factory replicateFactory, JobExecutor executor,
+ ReplicateProjectStep.Factory replicateFactory,
+ JobExecutor executor,
IdentifiedUser user) {
super(executor, user);
this.cloneFactory = cloneFactory;
@@ -44,18 +43,14 @@
this.replicateFactory = replicateFactory;
}
- public void clone(int idx, String organisation, String repository,
- String description) {
+ public void clone(int idx, String organisation, String repository, String description) {
try {
GitCloneStep cloneStep = cloneFactory.create(organisation, repository);
CreateProjectStep projectStep =
- projectFactory.create(organisation, repository, description,
- user.getUserName());
- ReplicateProjectStep replicateStep =
- replicateFactory.create(organisation, repository);
+ projectFactory.create(organisation, repository, description, user.getUserName());
+ ReplicateProjectStep replicateStep = replicateFactory.create(organisation, repository);
GitImportJob gitCloneJob =
- new GitImportJob(idx, organisation, repository, cloneStep,
- projectStep, replicateStep);
+ new GitImportJob(idx, organisation, repository, cloneStep, projectStep, replicateStep);
log.debug("New Git clone job created: " + gitCloneJob);
schedule(idx, gitCloneJob);
} catch (Throwable e) {
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitJob.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitJob.java
index 404c22e..0aa14e2 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitJob.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitJob.java
@@ -24,5 +24,4 @@
String getRepository();
public abstract void cancel();
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitJobStatus.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitJobStatus.java
index c9bfb43..c95b986 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitJobStatus.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitJobStatus.java
@@ -15,15 +15,16 @@
import com.google.gson.Gson;
import com.google.gson.stream.JsonWriter;
-
import java.io.IOException;
import java.io.PrintWriter;
-
public class GitJobStatus {
public enum Code {
- SYNC, COMPLETE, FAILED, CANCELLED;
+ SYNC,
+ COMPLETE,
+ FAILED,
+ CANCELLED;
@Override
public String toString() {
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ImportStep.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ImportStep.java
index 71a1869..bdc9182 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ImportStep.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ImportStep.java
@@ -14,16 +14,17 @@
package com.googlesource.gerrit.plugins.github.git;
import com.googlesource.gerrit.plugins.github.GitHubURL;
-
import org.eclipse.jgit.lib.ProgressMonitor;
public abstract class ImportStep {
private final GitHubRepository gitHubRepository;
- public ImportStep(@GitHubURL String gitHubUrl, String organisation,
- String repository, GitHubRepository.Factory ghRepoFactory) {
- this.gitHubRepository =
- ghRepoFactory.create(organisation, repository);
+ public ImportStep(
+ @GitHubURL String gitHubUrl,
+ String organisation,
+ String repository,
+ GitHubRepository.Factory ghRepoFactory) {
+ this.gitHubRepository = ghRepoFactory.create(organisation, repository);
}
protected String getSourceUri() {
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/JobCancelledException.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/JobCancelledException.java
index db8107e..22c5ec3 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/JobCancelledException.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/JobCancelledException.java
@@ -15,5 +15,4 @@
public class JobCancelledException extends Exception {
private static final long serialVersionUID = 4358474273091335160L;
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/JobExecutor.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/JobExecutor.java
index 67dae23..a7f93b2 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/JobExecutor.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/JobExecutor.java
@@ -16,9 +16,7 @@
import com.google.gerrit.server.util.RequestScopePropagator;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-
import com.googlesource.gerrit.plugins.github.GitHubConfig;
-
import java.util.Random;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
@@ -31,17 +29,16 @@
private final GitHubConfig config;
@Inject
- public JobExecutor(final RequestScopePropagator requestScopePropagator,
- final GitHubConfig config) {
+ public JobExecutor(
+ final RequestScopePropagator requestScopePropagator, final GitHubConfig config) {
this.requestScopePropagator = requestScopePropagator;
this.config = config;
- this.executor = Executors
- .newScheduledThreadPool(config.jobPoolLimit);
+ this.executor = Executors.newScheduledThreadPool(config.jobPoolLimit);
}
public void exec(GitJob job) {
- executor.schedule(requestScopePropagator.wrap(job),
- getRandomExecutionDelay(job), TimeUnit.SECONDS);
+ executor.schedule(
+ requestScopePropagator.wrap(job), getRandomExecutionDelay(job), TimeUnit.SECONDS);
}
private int getRandomExecutionDelay(GitJob job) {
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestCreateChange.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestCreateChange.java
index bcb71c9..7b536a2 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestCreateChange.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestCreateChange.java
@@ -49,7 +49,9 @@
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Provider;
-
+import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
import org.eclipse.jgit.errors.IncorrectObjectTypeException;
import org.eclipse.jgit.errors.MissingObjectException;
import org.eclipse.jgit.lib.ObjectId;
@@ -62,13 +64,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.List;
-
public class PullRequestCreateChange {
- private static final Logger LOG = LoggerFactory
- .getLogger(PullRequestCreateChange.class);
+ private static final Logger LOG = LoggerFactory.getLogger(PullRequestCreateChange.class);
private static final FooterKey CHANGE_ID = new FooterKey("Change-Id");
private final ChangeInserter.Factory changeInserterFactory;
@@ -81,7 +78,8 @@
private final ChangeQueryBuilder changeQuery;
@Inject
- PullRequestCreateChange(ChangeInserter.Factory changeInserterFactory,
+ PullRequestCreateChange(
+ ChangeInserter.Factory changeInserterFactory,
PatchSetInserter.Factory patchSetInserterFactory,
ProjectControl.Factory projectControlFactory,
IdentifiedUser.GenericFactory userFactory,
@@ -99,49 +97,66 @@
this.changeQuery = changeQuery;
}
- public Change.Id addCommitToChange(ReviewDb db, final Project project,
- final Repository repo, final String destinationBranch,
- final Account.Id pullRequestOwner, final RevCommit pullRequestCommit,
- final String pullRequestMessage, final String topic)
- throws NoSuchChangeException, EmailException, OrmException,
- MissingObjectException, IncorrectObjectTypeException, IOException,
- InvalidChangeOperationException, IntegrationException, NoSuchProjectException,
- UpdateException, RestApiException {
+ public Change.Id addCommitToChange(
+ ReviewDb db,
+ final Project project,
+ final Repository repo,
+ final String destinationBranch,
+ final Account.Id pullRequestOwner,
+ final RevCommit pullRequestCommit,
+ final String pullRequestMessage,
+ final String topic)
+ throws NoSuchChangeException, EmailException, OrmException, MissingObjectException,
+ IncorrectObjectTypeException, IOException, InvalidChangeOperationException,
+ IntegrationException, NoSuchProjectException, UpdateException, RestApiException {
try (BatchUpdate bu =
- updateFactory.create(db, project.getNameKey(),
- userFactory.create(pullRequestOwner), TimeUtil.nowTs())) {
+ updateFactory.create(
+ db, project.getNameKey(), userFactory.create(pullRequestOwner), TimeUtil.nowTs())) {
- return internalAddCommitToChange(db, bu, project, repo,
- destinationBranch, pullRequestOwner, pullRequestCommit,
- pullRequestMessage, topic);
+ return internalAddCommitToChange(
+ db,
+ bu,
+ project,
+ repo,
+ destinationBranch,
+ pullRequestOwner,
+ pullRequestCommit,
+ pullRequestMessage,
+ topic);
}
}
- public Change.Id internalAddCommitToChange(ReviewDb db, BatchUpdate bu,
- final Project project, final Repository repo,
- final String destinationBranch, final Account.Id pullRequestOwner,
- final RevCommit pullRequestCommit, final String pullRequestMesage,
- final String topic) throws InvalidChangeOperationException, IOException,
- NoSuchProjectException, OrmException, UpdateException, RestApiException {
+ public Change.Id internalAddCommitToChange(
+ ReviewDb db,
+ BatchUpdate bu,
+ final Project project,
+ final Repository repo,
+ final String destinationBranch,
+ final Account.Id pullRequestOwner,
+ final RevCommit pullRequestCommit,
+ final String pullRequestMesage,
+ final String topic)
+ throws InvalidChangeOperationException, IOException, NoSuchProjectException, OrmException,
+ UpdateException, RestApiException {
if (destinationBranch == null || destinationBranch.length() == 0) {
- throw new InvalidChangeOperationException(
- "Destination branch cannot be null or empty");
+ throw new InvalidChangeOperationException("Destination branch cannot be null or empty");
}
Ref destRef = repo.findRef(destinationBranch);
if (destRef == null) {
- throw new InvalidChangeOperationException("Branch " + destinationBranch
- + " does not exist.");
+ throw new InvalidChangeOperationException("Branch " + destinationBranch + " does not exist.");
}
RefControl refControl =
- projectControlFactory.controlFor(project.getNameKey()).controlForRef(
- destinationBranch);
+ projectControlFactory.controlFor(project.getNameKey()).controlForRef(destinationBranch);
String pullRequestSha1 = pullRequestCommit.getId().getName();
List<ChangeData> existingChanges = queryChangesForSha1(pullRequestSha1);
if (!existingChanges.isEmpty()) {
- LOG.debug("Pull request commit ID " + pullRequestSha1
- + " has been already uploaded as Change-Id=" + existingChanges.get(0).getId());
+ LOG.debug(
+ "Pull request commit ID "
+ + pullRequestSha1
+ + " has been already uploaded as Change-Id="
+ + existingChanges.get(0).getId());
return null;
}
@@ -152,20 +167,27 @@
changeKey = new Change.Key(idStr);
} else {
final ObjectId computedChangeId =
- ChangeIdUtil.computeChangeId(pullRequestCommit.getTree(),
- pullRequestCommit, pullRequestCommit.getAuthorIdent(),
- pullRequestCommit.getCommitterIdent(), pullRequestMesage);
+ ChangeIdUtil.computeChangeId(
+ pullRequestCommit.getTree(),
+ pullRequestCommit,
+ pullRequestCommit.getAuthorIdent(),
+ pullRequestCommit.getCommitterIdent(),
+ pullRequestMesage);
changeKey = new Change.Key("I" + computedChangeId.name());
}
String branchName = destRef.getName();
List<ChangeData> destChanges =
- queryProvider.get().byBranchKey(
- new Branch.NameKey(project.getNameKey(),
- branchName.startsWith(REFS_HEADS)
- ? branchName.substring(REFS_HEADS.length()) : branchName),
- changeKey);
+ queryProvider
+ .get()
+ .byBranchKey(
+ new Branch.NameKey(
+ project.getNameKey(),
+ branchName.startsWith(REFS_HEADS)
+ ? branchName.substring(REFS_HEADS.length())
+ : branchName),
+ changeKey);
if (destChanges.size() > 1) {
throw new InvalidChangeOperationException(
@@ -180,17 +202,25 @@
// patch-set
Change destChange = destChanges.get(0).change();
ChangeControl changeControl =
- projectControlFactory.controlFor(project.getNameKey())
+ projectControlFactory
+ .controlFor(project.getNameKey())
.controlForIndexedChange(destChange);
- insertPatchSet(bu, repo, destChange, pullRequestCommit, changeControl,
- pullRequestMesage);
+ insertPatchSet(bu, repo, destChange, pullRequestCommit, changeControl, pullRequestMesage);
return destChange.getId();
}
// Change key not found on destination branch. We can create a new
// change.
- return createNewChange(db, bu, changeKey, project.getNameKey(), destRef,
- pullRequestOwner, pullRequestCommit, refControl, pullRequestMesage,
+ return createNewChange(
+ db,
+ bu,
+ changeKey,
+ project.getNameKey(),
+ destRef,
+ pullRequestOwner,
+ pullRequestCommit,
+ refControl,
+ pullRequestMesage,
topic);
}
@@ -200,19 +230,22 @@
results = qp.query(changeQuery.commit(pullRequestSha1));
return results.entities();
} catch (OrmException | QueryParseException e) {
- LOG.error("Invalid SHA1 " + pullRequestSha1
- + ": cannot query changes for this pull request", e);
+ LOG.error(
+ "Invalid SHA1 " + pullRequestSha1 + ": cannot query changes for this pull request", e);
return Collections.emptyList();
}
}
- private void insertPatchSet(BatchUpdate bu, Repository git, Change change,
- RevCommit cherryPickCommit, ChangeControl changeControl,
- String pullRequestMessage) throws IOException, UpdateException,
- RestApiException {
+ private void insertPatchSet(
+ BatchUpdate bu,
+ Repository git,
+ Change change,
+ RevCommit cherryPickCommit,
+ ChangeControl changeControl,
+ String pullRequestMessage)
+ throws IOException, UpdateException, RestApiException {
try (RevWalk revWalk = new RevWalk(git)) {
- PatchSet.Id psId =
- ChangeUtil.nextPatchSetId(git, change.currentPatchSetId());
+ PatchSet.Id psId = ChangeUtil.nextPatchSetId(git, change.currentPatchSetId());
PatchSetInserter patchSetInserter =
patchSetInserterFactory.create(changeControl, psId, cherryPickCommit);
@@ -224,23 +257,30 @@
}
}
- private Change.Id createNewChange(ReviewDb db, BatchUpdate bu,
- Change.Key changeKey, Project.NameKey project, Ref destRef,
- Account.Id pullRequestOwner, RevCommit pullRequestCommit,
- RefControl refControl, String pullRequestMessage, String topic)
+ private Change.Id createNewChange(
+ ReviewDb db,
+ BatchUpdate bu,
+ Change.Key changeKey,
+ Project.NameKey project,
+ Ref destRef,
+ Account.Id pullRequestOwner,
+ RevCommit pullRequestCommit,
+ RefControl refControl,
+ String pullRequestMessage,
+ String topic)
throws OrmException, UpdateException, RestApiException, IOException {
Change change =
- new Change(changeKey, new Change.Id(db.nextChangeId()),
- pullRequestOwner, new Branch.NameKey(project, destRef.getName()),
+ new Change(
+ changeKey,
+ new Change.Id(db.nextChangeId()),
+ pullRequestOwner,
+ new Branch.NameKey(project, destRef.getName()),
TimeUtil.nowTs());
if (topic != null) {
change.setTopic(topic);
}
ChangeInserter ins =
- changeInserterFactory.create(
- change.getId(),
- pullRequestCommit,
- refControl.getRefName());
+ changeInserterFactory.create(change.getId(), pullRequestCommit, refControl.getRefName());
ins.setMessage(pullRequestMessage);
bu.insertChange(ins);
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestImportJob.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestImportJob.java
index ecce058..f0bf9df 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestImportJob.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestImportJob.java
@@ -34,11 +34,11 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.assistedinject.Assisted;
-
import com.googlesource.gerrit.plugins.github.git.GitJobStatus.Code;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
import com.googlesource.gerrit.plugins.github.oauth.ScopedProvider;
-
+import java.io.IOException;
+import java.util.List;
import org.eclipse.jgit.api.FetchCommand;
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.errors.GitAPIException;
@@ -60,20 +60,18 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.util.List;
-
public class PullRequestImportJob implements GitJob, ProgressMonitor {
public interface Factory {
- PullRequestImportJob create(@Assisted("index") int jobIndex,
+ PullRequestImportJob create(
+ @Assisted("index") int jobIndex,
@Assisted("organisation") String organisation,
- @Assisted("name") String repository, @Assisted int pullRequestId,
+ @Assisted("name") String repository,
+ @Assisted int pullRequestId,
@Assisted PullRequestImportType importType);
}
- private static final Logger LOG = LoggerFactory
- .getLogger(PullRequestImportJob.class);
+ private static final Logger LOG = LoggerFactory.getLogger(PullRequestImportJob.class);
private static final String TOPIC_FORMAT = "GitHub #%d";
@@ -92,15 +90,18 @@
private AccountImporter accountImporter;
@Inject
- public PullRequestImportJob(GitRepositoryManager repoMgr,
+ public PullRequestImportJob(
+ GitRepositoryManager repoMgr,
PullRequestCreateChange createChange,
ProjectCache projectCache,
- Provider<ReviewDb> schema, AccountImporter accountImporter,
+ Provider<ReviewDb> schema,
+ AccountImporter accountImporter,
GitHubRepository.Factory gitHubRepoFactory,
ScopedProvider<GitHubLogin> ghLoginProvider,
@Assisted("index") int jobIndex,
@Assisted("organisation") String organisation,
- @Assisted("name") String repoName, @Assisted int pullRequestId) {
+ @Assisted("name") String repoName,
+ @Assisted int pullRequestId) {
this.jobIndex = jobIndex;
this.repoMgr = repoMgr;
this.ghLogin = ghLoginProvider.get();
@@ -115,10 +116,9 @@
this.accountImporter = accountImporter;
}
- private Project fetchGerritProject(ProjectCache projectCache,
- String fetchOrganisation, String fetchRepoName) {
- NameKey projectNameKey =
- Project.NameKey.parse(fetchOrganisation + "/" + fetchRepoName);
+ private Project fetchGerritProject(
+ ProjectCache projectCache, String fetchOrganisation, String fetchRepoName) {
+ NameKey projectNameKey = Project.NameKey.parse(fetchOrganisation + "/" + fetchRepoName);
ProjectState projectState = projectCache.get(projectNameKey);
return projectState.getProject();
}
@@ -132,27 +132,33 @@
exitWhenCancelled();
try (Repository gitRepo =
- repoMgr.openRepository(new Project.NameKey(organisation + "/"
- + repoName))) {
+ repoMgr.openRepository(new Project.NameKey(organisation + "/" + repoName))) {
exitWhenCancelled();
fetchGitHubPullRequest(gitRepo, pr);
exitWhenCancelled();
List<Id> changeIds = addPullRequestToChange(db, pr, gitRepo);
- status.update(GitJobStatus.Code.COMPLETE, "Imported",
- "PullRequest imported as Changes " + changeIds);
+ status.update(
+ GitJobStatus.Code.COMPLETE, "Imported", "PullRequest imported as Changes " + changeIds);
}
} catch (JobCancelledException e) {
status.update(GitJobStatus.Code.CANCELLED);
} catch (Throwable e) {
- LOG.error("Pull request " + prId + " into repository " + organisation
- + "/" + repoName + " was failed", e);
- status.update(GitJobStatus.Code.FAILED, "Failed", e.getLocalizedMessage());
+ LOG.error(
+ "Pull request "
+ + prId
+ + " into repository "
+ + organisation
+ + "/"
+ + repoName
+ + " was failed",
+ e);
+ status.update(GitJobStatus.Code.FAILED, "Failed", e.getLocalizedMessage());
}
}
- private List<Id> addPullRequestToChange(ReviewDb db, GHPullRequest pr,
- Repository gitRepo) throws Exception {
+ private List<Id> addPullRequestToChange(ReviewDb db, GHPullRequest pr, Repository gitRepo)
+ throws Exception {
String destinationBranch = REFS_HEADS + pr.getBase().getRef();
List<Id> prChanges = Lists.newArrayList();
ObjectId baseObjectId = ObjectId.fromString(pr.getBase().getSha());
@@ -165,10 +171,11 @@
int patchNr = 1;
for (GHPullRequestCommitDetail ghCommitDetail : pr.listCommits()) {
- status.update(Code.SYNC, "Patch #" + patchNr, "Patch#" + patchNr
- + ": Inserting PullRequest into Gerrit");
- RevCommit revCommit =
- walk.parseCommit(ObjectId.fromString(ghCommitDetail.getSha()));
+ status.update(
+ Code.SYNC,
+ "Patch #" + patchNr,
+ "Patch#" + patchNr + ": Inserting PullRequest into Gerrit");
+ RevCommit revCommit = walk.parseCommit(ObjectId.fromString(ghCommitDetail.getSha()));
GHUser prUser = pr.getUser();
GitUser commitAuthor = ghCommitDetail.getCommit().getAuthor();
@@ -176,8 +183,13 @@
Account.Id pullRequestOwner = getOrRegisterAccount(db, gitHubUser);
Id changeId =
- createChange.addCommitToChange(db, project, gitRepo,
- destinationBranch, pullRequestOwner, revCommit,
+ createChange.addCommitToChange(
+ db,
+ project,
+ gitRepo,
+ destinationBranch,
+ pullRequestOwner,
+ revCommit,
getChangeMessage(pr),
String.format(TOPIC_FORMAT, new Integer(pr.getNumber())));
if (changeId != null) {
@@ -190,17 +202,16 @@
}
private com.google.gerrit.reviewdb.client.Account.Id getOrRegisterAccount(
- ReviewDb db, GitHubUser author) throws BadRequestException,
- ResourceConflictException, UnprocessableEntityException, OrmException,
- IOException, ConfigInvalidException {
- return getOrRegisterAccount(db, author.getLogin(), author.getName(),
- author.getEmail());
+ ReviewDb db, GitHubUser author)
+ throws BadRequestException, ResourceConflictException, UnprocessableEntityException,
+ OrmException, IOException, ConfigInvalidException {
+ return getOrRegisterAccount(db, author.getLogin(), author.getName(), author.getEmail());
}
private com.google.gerrit.reviewdb.client.Account.Id getOrRegisterAccount(
ReviewDb db, String login, String name, String email)
throws OrmException, BadRequestException, ResourceConflictException,
- UnprocessableEntityException, IOException, ConfigInvalidException {
+ UnprocessableEntityException, IOException, ConfigInvalidException {
AccountExternalId.Key userExtKey =
new AccountExternalId.Key(AccountExternalId.SCHEME_USERNAME, login);
AccountExternalIdAccess gerritExtIds = db.accountExternalIds();
@@ -212,8 +223,12 @@
}
private String getChangeMessage(GHPullRequest pr) {
- return "GitHub Pull Request: " + pr.getUrl() + "\n\n" + pr.getTitle()
- + "\n\n" + pr.getBody().replaceAll("\n", "\n\n");
+ return "GitHub Pull Request: "
+ + pr.getUrl()
+ + "\n\n"
+ + pr.getTitle()
+ + "\n\n"
+ + pr.getBody().replaceAll("\n", "\n\n");
}
private void exitWhenCancelled() throws JobCancelledException {
@@ -229,8 +244,9 @@
try (Git git = Git.wrap(gitRepo)) {
FetchCommand fetch = git.fetch();
fetch.setRemote(ghRepository.getCloneUrl());
- fetch.setRefSpecs(new RefSpec("+refs/pull/" + pr.getNumber()
- + "/head:refs/remotes/origin/pr/" + pr.getNumber()));
+ fetch.setRefSpecs(
+ new RefSpec(
+ "+refs/pull/" + pr.getNumber() + "/head:refs/remotes/origin/pr/" + pr.getNumber()));
fetch.setProgressMonitor(this);
fetch.setCredentialsProvider(ghRepository.getCredentialsProvider());
fetch.call();
@@ -262,8 +278,7 @@
if (ghLogin.getMyself().getLogin().equals(organisation)) {
return ghLogin.getMyself().getRepository(repoName);
}
- return ghLogin.getHub().getOrganization(organisation)
- .getRepository(repoName);
+ return ghLogin.getHub().getOrganization(organisation).getRepository(repoName);
}
@Override
@@ -282,8 +297,7 @@
}
@Override
- public void endTask() {
- }
+ public void endTask() {}
@Override
public boolean isCancelled() {
@@ -291,10 +305,8 @@
}
@Override
- public void start(int tot) {
- }
+ public void start(int tot) {}
@Override
- public void update(int progress) {
- }
+ public void update(int progress) {}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestImporter.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestImporter.java
index 3acdf9d..bc525ab 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestImporter.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestImporter.java
@@ -16,32 +16,35 @@
import com.google.gerrit.server.IdentifiedUser;
import com.google.inject.Inject;
import com.google.inject.servlet.SessionScoped;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SessionScoped
public class PullRequestImporter extends BatchImporter {
private static final Logger log = LoggerFactory.getLogger(PullRequestImporter.class);
-
+
private final PullRequestImportJob.Factory prImportJobProvider;
-
+
@Inject
- public PullRequestImporter(JobExecutor executor, IdentifiedUser user,
- PullRequestImportJob.Factory prImportJobProvider) {
+ public PullRequestImporter(
+ JobExecutor executor, IdentifiedUser user, PullRequestImportJob.Factory prImportJobProvider) {
super(executor, user);
this.prImportJobProvider = prImportJobProvider;
}
- public void importPullRequest(int idx, String organisation, String repoName,
- int pullRequestId, PullRequestImportType importType) {
+ public void importPullRequest(
+ int idx,
+ String organisation,
+ String repoName,
+ int pullRequestId,
+ PullRequestImportType importType) {
try {
- PullRequestImportJob pullRequestImportJob = prImportJobProvider.create(idx, organisation, repoName, pullRequestId, importType);
+ PullRequestImportJob pullRequestImportJob =
+ prImportJobProvider.create(idx, organisation, repoName, pullRequestId, importType);
log.debug("New Pull request import job created: " + pullRequestImportJob);
schedule(idx, pullRequestImportJob);
} catch (Throwable e) {
schedule(idx, new ErrorJob(idx, organisation, repoName, e));
}
-
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicateProjectStep.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicateProjectStep.java
index 27e3368..b321127 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicateProjectStep.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicateProjectStep.java
@@ -13,15 +13,12 @@
// limitations under the License.
package com.googlesource.gerrit.plugins.github.git;
-import java.io.IOException;
-
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
-
import com.googlesource.gerrit.plugins.github.GitHubURL;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
import com.googlesource.gerrit.plugins.github.oauth.ScopedProvider;
-
+import java.io.IOException;
import org.eclipse.jgit.lib.ProgressMonitor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,18 +31,19 @@
private final String gitHubUrl;
public interface Factory {
- ReplicateProjectStep create(@Assisted("organisation") String organisation,
- @Assisted("name") String repository);
+ ReplicateProjectStep create(
+ @Assisted("organisation") String organisation, @Assisted("name") String repository);
}
-
@Inject
- public ReplicateProjectStep(final ReplicationConfig replicationConfig,
+ public ReplicateProjectStep(
+ final ReplicationConfig replicationConfig,
final GitHubRepository.Factory gitHubRepoFactory,
final ScopedProvider<GitHubLogin> ghLoginProvider,
@GitHubURL String gitHubUrl,
@Assisted("organisation") String organisation,
- @Assisted("name") String repository) throws IOException {
+ @Assisted("name") String repository)
+ throws IOException {
super(gitHubUrl, organisation, repository, gitHubRepoFactory);
LOG.debug("Gerrit ReplicateProject " + organisation + "/" + repository);
this.replicationConfig = replicationConfig;
@@ -63,8 +61,8 @@
progress.update(1);
replicationConfig.addSecureCredentials(authUsername, authToken);
progress.update(1);
- replicationConfig.addReplicationRemote(authUsername, gitHubUrl
- + "/${name}.git", repositoryName);
+ replicationConfig.addReplicationRemote(
+ authUsername, gitHubUrl + "/${name}.git", repositoryName);
progress.endTask();
}
@@ -72,5 +70,4 @@
public boolean rollback() {
return false;
}
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicationConfig.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicationConfig.java
index 103d43e..bd9ee79 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicationConfig.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicationConfig.java
@@ -16,16 +16,14 @@
import com.google.gerrit.server.config.SitePaths;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-
-import org.eclipse.jgit.errors.ConfigInvalidException;
-import org.eclipse.jgit.storage.file.FileBasedConfig;
-import org.eclipse.jgit.util.FS;
-
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import org.eclipse.jgit.errors.ConfigInvalidException;
+import org.eclipse.jgit.storage.file.FileBasedConfig;
+import org.eclipse.jgit.util.FS;
@Singleton
public class ReplicationConfig {
@@ -35,30 +33,28 @@
@Inject
public ReplicationConfig(final SitePaths site) {
replicationConf =
- new FileBasedConfig(new File(site.etc_dir.toFile(), "replication.config"),
- FS.DETECTED);
+ new FileBasedConfig(new File(site.etc_dir.toFile(), "replication.config"), FS.DETECTED);
secureConf = new FileBasedConfig(site.secure_config.toFile(), FS.DETECTED);
}
- public synchronized void addSecureCredentials(String authUsername, String authToken) throws IOException,
- ConfigInvalidException {
+ public synchronized void addSecureCredentials(String authUsername, String authToken)
+ throws IOException, ConfigInvalidException {
secureConf.load();
secureConf.setString("remote", authUsername, "username", authUsername);
secureConf.setString("remote", authUsername, "password", authToken);
secureConf.save();
}
- public synchronized void addReplicationRemote(String username, String url,
- String projectName) throws IOException, ConfigInvalidException {
+ public synchronized void addReplicationRemote(String username, String url, String projectName)
+ throws IOException, ConfigInvalidException {
replicationConf.load();
replicationConf.setString("remote", username, "url", url);
List<String> projects =
- new ArrayList<>(Arrays.asList(replicationConf.getStringList(
- "remote", username, "projects")));
+ new ArrayList<>(
+ Arrays.asList(replicationConf.getStringList("remote", username, "projects")));
projects.add(projectName);
replicationConf.setStringList("remote", username, "projects", projects);
replicationConf.setString("remote", username, "push", "refs/*:refs/*");
replicationConf.save();
}
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroup.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroup.java
index 95158ff..e6d0793 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroup.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroup.java
@@ -16,18 +16,15 @@
import com.google.gerrit.common.data.GroupDescription.Basic;
import com.google.gerrit.reviewdb.client.AccountGroup.UUID;
-
import lombok.Getter;
public abstract class GitHubGroup implements Basic {
public static final String UUID_PREFIX = "github:";
public static final String NAME_PREFIX = "github/";
- @Getter
- protected final UUID groupUUID;
+ @Getter protected final UUID groupUUID;
- @Getter
- protected final String url;
+ @Getter protected final String url;
GitHubGroup(UUID groupUUID, String url) {
this.groupUUID = groupUUID;
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java
index 88045b4..3139ab3 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java
@@ -30,25 +30,21 @@
import com.google.gerrit.server.account.GroupMembership;
import com.google.gerrit.server.project.ProjectControl;
import com.google.inject.Inject;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.util.Collection;
import java.util.Collections;
import java.util.Set;
import java.util.concurrent.ExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class GitHubGroupBackend implements GroupBackend {
- private static final Logger log = LoggerFactory
- .getLogger(GitHubGroupBackend.class);
+ private static final Logger log = LoggerFactory.getLogger(GitHubGroupBackend.class);
private final GitHubGroupMembership.Factory ghMembershipProvider;
private final GitHubGroupsCache ghOrganisationCache;
@Inject
GitHubGroupBackend(
- GitHubGroupMembership.Factory ghMembershipProvider,
- GitHubGroupsCache ghOrganisationCache) {
+ GitHubGroupMembership.Factory ghMembershipProvider, GitHubGroupsCache ghOrganisationCache) {
this.ghMembershipProvider = ghMembershipProvider;
this.ghOrganisationCache = ghOrganisationCache;
}
@@ -65,8 +61,7 @@
@Override
public Basic get(UUID uuid) {
- checkArgument(handles(uuid), "{} is not a valid GitHub Group UUID",
- uuid.get());
+ checkArgument(handles(uuid), "{} is not a valid GitHub Group UUID", uuid.get());
return GitHubOrganisationGroup.fromUUID(uuid);
}
@@ -81,31 +76,25 @@
public Set<GroupReference> listByPrefix(String orgNamePrefix) {
try {
- log.debug("Listing user's organisations starting with '{}'",
- orgNamePrefix);
+ log.debug("Listing user's organisations starting with '{}'", orgNamePrefix);
String[] namePrefixParts = orgNamePrefix.toLowerCase().split("/");
- String orgNamePrefixLowercase =
- namePrefixParts.length > 0 ? namePrefixParts[0] : "";
- String teamNameLowercase =
- namePrefixParts.length > 1 ? namePrefixParts[1] : "";
+ String orgNamePrefixLowercase = namePrefixParts.length > 0 ? namePrefixParts[0] : "";
+ String teamNameLowercase = namePrefixParts.length > 1 ? namePrefixParts[1] : "";
Set<String> ghOrgs = ghOrganisationCache.getOrganizationsForCurrentUser();
log.debug("Full list of user's organisations: {}", ghOrgs);
- Builder<GroupReference> orgGroups =
- new ImmutableSet.Builder<>();
+ Builder<GroupReference> orgGroups = new ImmutableSet.Builder<>();
for (String organizationName : ghOrgs) {
if (organizationName.toLowerCase().startsWith(orgNamePrefixLowercase)) {
- GroupReference teamGroupRef =
- GitHubOrganisationGroup.groupReference(organizationName);
+ GroupReference teamGroupRef = GitHubOrganisationGroup.groupReference(organizationName);
- if ((orgNamePrefixLowercase.length() > 0 && orgNamePrefix
- .endsWith("/")) || teamNameLowercase.length() > 0) {
+ if ((orgNamePrefixLowercase.length() > 0 && orgNamePrefix.endsWith("/"))
+ || teamNameLowercase.length() > 0) {
for (String teamName : ghOrganisationCache.getTeamsForCurrentUser(organizationName)) {
if (teamName.toLowerCase().startsWith(teamNameLowercase)) {
- orgGroups.add(GitHubTeamGroup.groupReference(teamGroupRef,
- teamName));
+ orgGroups.add(GitHubTeamGroup.groupReference(teamGroupRef, teamName));
}
}
} else {
@@ -115,8 +104,7 @@
}
return orgGroups.build();
} catch (ExecutionException e) {
- log.warn("Cannot get GitHub organisations matching '" + orgNamePrefix
- + "'", e);
+ log.warn("Cannot get GitHub organisations matching '" + orgNamePrefix + "'", e);
}
return Collections.emptySet();
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupMembership.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupMembership.java
index 62e01ba..ce18918 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupMembership.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupMembership.java
@@ -19,7 +19,6 @@
import com.google.gerrit.server.account.GroupMembership;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
-
import java.util.Set;
public class GitHubGroupMembership implements GroupMembership {
@@ -30,11 +29,11 @@
}
@Inject
- GitHubGroupMembership(GitHubGroupsCache ghOrganisationCache,
- @Assisted String username) {
+ GitHubGroupMembership(GitHubGroupsCache ghOrganisationCache, @Assisted String username) {
this.groups =
- new ImmutableSet.Builder<UUID>().addAll(
- ghOrganisationCache.getGroupsForUser(username)).build();
+ new ImmutableSet.Builder<UUID>()
+ .addAll(ghOrganisationCache.getGroupsForUser(username))
+ .build();
}
@Override
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupsCache.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupsCache.java
index 5370f03..d0bf3ea 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupsCache.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupsCache.java
@@ -30,11 +30,6 @@
import com.googlesource.gerrit.plugins.github.groups.OrganizationStructure;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
import com.googlesource.gerrit.plugins.github.oauth.UserScopedProvider;
-
-import org.kohsuke.github.GHTeam;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Collections;
@@ -42,19 +37,19 @@
import java.util.Map.Entry;
import java.util.Set;
import java.util.concurrent.ExecutionException;
+import org.kohsuke.github.GHTeam;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
@Singleton
public class GitHubGroupsCache {
- private static final Logger log = LoggerFactory
- .getLogger(GitHubGroupsCache.class);
+ private static final Logger log = LoggerFactory.getLogger(GitHubGroupsCache.class);
private static final String ORGS_CACHE_NAME = "groups";
protected static final long GROUPS_CACHE_TTL_MINS = 60;
public static final String EVERYONE_TEAM_NAME = "Everyone";
- public static class OrganisationLoader extends
- CacheLoader<String, OrganizationStructure> {
- private static final Logger logger = LoggerFactory
- .getLogger(OrganisationLoader.class);
+ public static class OrganisationLoader extends CacheLoader<String, OrganizationStructure> {
+ private static final Logger logger = LoggerFactory.getLogger(OrganisationLoader.class);
private final UserScopedProvider<GitHubLogin> ghLoginProvider;
@Inject
@@ -84,15 +79,11 @@
return orgsTeams;
}
- private void loadOrganisationsAndTeams(String username,
- OrganizationStructure orgsTeams, GitHubLogin ghLogin)
- throws IOException {
- logger.debug("Getting list of organisations/teams for user '{}'",
- username);
- Map<String, Set<GHTeam>> myOrganisationsLogins =
- ghLogin.getHub().getMyTeams();
- for (Entry<String, Set<GHTeam>> teamsOrg : myOrganisationsLogins
- .entrySet()) {
+ private void loadOrganisationsAndTeams(
+ String username, OrganizationStructure orgsTeams, GitHubLogin ghLogin) throws IOException {
+ logger.debug("Getting list of organisations/teams for user '{}'", username);
+ Map<String, Set<GHTeam>> myOrganisationsLogins = ghLogin.getHub().getMyTeams();
+ for (Entry<String, Set<GHTeam>> teamsOrg : myOrganisationsLogins.entrySet()) {
orgsTeams.put(teamsOrg.getKey(), EVERYONE_TEAM_NAME);
for (GHTeam team : teamsOrg.getValue()) {
orgsTeams.put(teamsOrg.getKey(), team.getName());
@@ -100,11 +91,9 @@
}
}
- private void loadOrganisations(String username,
- OrganizationStructure orgsTeams, GitHubLogin ghLogin)
- throws IOException {
- logger.debug("Getting list of public organisations for user '{}'",
- username);
+ private void loadOrganisations(
+ String username, OrganizationStructure orgsTeams, GitHubLogin ghLogin) throws IOException {
+ logger.debug("Getting list of public organisations for user '{}'", username);
Set<String> organisations = ghLogin.getMyOrganisationsLogins();
for (String org : organisations) {
orgsTeams.put(org, EVERYONE_TEAM_NAME);
@@ -117,8 +106,8 @@
@Override
protected void configure() {
persist(ORGS_CACHE_NAME, String.class, OrganizationStructure.class)
- .expireAfterWrite(GROUPS_CACHE_TTL_MINS, MINUTES).loader(
- OrganisationLoader.class);
+ .expireAfterWrite(GROUPS_CACHE_TTL_MINS, MINUTES)
+ .loader(OrganisationLoader.class);
bind(GitHubGroupsCache.class);
}
};
@@ -150,11 +139,17 @@
Set<String> getTeamsForUser(String organizationName, String username) {
try {
- return new ImmutableSet.Builder<String>().addAll(
- orgTeamsByUsername.get(username).get(organizationName)).build();
+ return new ImmutableSet.Builder<String>()
+ .addAll(orgTeamsByUsername.get(username).get(organizationName))
+ .build();
} catch (ExecutionException e) {
- log.warn("Cannot get Teams membership for organisation '"
- + organizationName + "' and user '" + username + "'", e);
+ log.warn(
+ "Cannot get Teams membership for organisation '"
+ + organizationName
+ + "' and user '"
+ + username
+ + "'",
+ e);
return Collections.emptySet();
}
}
@@ -169,8 +164,7 @@
groupsBuilder.add(GitHubOrganisationGroup.uuid(org));
for (String team : getTeamsForUser(org, username)) {
- groupsBuilder.add(GitHubTeamGroup.uuid(
- GitHubOrganisationGroup.uuid(org), team));
+ groupsBuilder.add(GitHubTeamGroup.uuid(GitHubOrganisationGroup.uuid(org), team));
}
}
return groupsBuilder.build();
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java
index 7dca217..563e9d0 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java
@@ -26,15 +26,15 @@
public class GitHubOrganisationGroup extends GitHubGroup implements Basic {
public interface Factory {
- GitHubOrganisationGroup get(@Assisted("orgName") String orgName,
- @Assisted("orgUrl") @Nullable String orgUrl);
+ GitHubOrganisationGroup get(
+ @Assisted("orgName") String orgName, @Assisted("orgUrl") @Nullable String orgUrl);
}
private final String orgName;
@Inject
- GitHubOrganisationGroup(@Assisted("orgName") String orgName,
- @Assisted("orgUrl") @Nullable String orgUrl) {
+ GitHubOrganisationGroup(
+ @Assisted("orgName") String orgName, @Assisted("orgUrl") @Nullable String orgUrl) {
super(uuid(orgName), orgUrl);
this.orgName = orgName;
}
@@ -45,10 +45,8 @@
}
public static GitHubOrganisationGroup fromUUID(UUID uuid) {
- checkArgument(uuid.get().startsWith(UUID_PREFIX), "Invalid GitHub UUID '"
- + uuid + "'");
- return new GitHubOrganisationGroup(uuid.get().substring(
- UUID_PREFIX.length()), null);
+ checkArgument(uuid.get().startsWith(UUID_PREFIX), "Invalid GitHub UUID '" + uuid + "'");
+ return new GitHubOrganisationGroup(uuid.get().substring(UUID_PREFIX.length()), null);
}
public static UUID uuid(String orgName) {
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubTeamGroup.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubTeamGroup.java
index cd53736..105716a 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubTeamGroup.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubTeamGroup.java
@@ -23,16 +23,20 @@
public class GitHubTeamGroup extends GitHubGroup {
public interface Factory {
- GitHubTeamGroup get(@Assisted GitHubOrganisationGroup orgGroup,
- @Assisted String teamName, @Nullable String teamUrl);
+ GitHubTeamGroup get(
+ @Assisted GitHubOrganisationGroup orgGroup,
+ @Assisted String teamName,
+ @Nullable String teamUrl);
}
private final GitHubOrganisationGroup orgGroup;
private final String teamName;
@Inject
- GitHubTeamGroup(@Assisted GitHubOrganisationGroup orgGroup,
- @Assisted String teamName, @Nullable String teamUrl) {
+ GitHubTeamGroup(
+ @Assisted GitHubOrganisationGroup orgGroup,
+ @Assisted String teamName,
+ @Nullable String teamUrl) {
super(uuid(orgGroup.getGroupUUID(), teamName), teamUrl);
this.orgGroup = orgGroup;
this.teamName = teamName;
@@ -47,9 +51,8 @@
return new AccountGroup.UUID(orgUUID.get() + "/" + teamName);
}
- public static GroupReference groupReference(GroupReference orgReference,
- String teamName) {
- return new GroupReference(uuid(orgReference.getUUID(), teamName),
- orgReference.getName() + "/" + teamName);
+ public static GroupReference groupReference(GroupReference orgReference, String teamName) {
+ return new GroupReference(
+ uuid(orgReference.getUUID(), teamName), orgReference.getName() + "/" + teamName);
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/PingHandler.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/PingHandler.java
index bbedb71..72a3afb 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/PingHandler.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/PingHandler.java
@@ -14,23 +14,19 @@
package com.googlesource.gerrit.plugins.github.notification;
+import com.google.inject.Singleton;
import java.io.IOException;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.inject.Singleton;
-
/**
* Handles ping event in github webhook.
*
- * @see <a href="https://developer.github.com/webhooks/#ping-event">Ping
- * Event</a>
+ * @see <a href="https://developer.github.com/webhooks/#ping-event">Ping Event</a>
*/
@Singleton
class PingHandler implements WebhookEventHandler<PingHandler.Ping> {
- private static final Logger logger =
- LoggerFactory.getLogger(PingHandler.class);
+ private static final Logger logger = LoggerFactory.getLogger(PingHandler.class);
static class Ping {
String zen;
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/PullRequestHandler.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/PullRequestHandler.java
index 017d3d2..540b98a 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/PullRequestHandler.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/PullRequestHandler.java
@@ -14,30 +14,26 @@
package com.googlesource.gerrit.plugins.github.notification;
-import java.io.IOException;
-
-import org.kohsuke.github.GHEventPayload.PullRequest;
-import org.kohsuke.github.GHRepository;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.googlesource.gerrit.plugins.github.git.PullRequestImportType;
import com.googlesource.gerrit.plugins.github.git.PullRequestImporter;
+import java.io.IOException;
+import org.kohsuke.github.GHEventPayload.PullRequest;
+import org.kohsuke.github.GHRepository;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Handles pull_request event in github webhook.
*
- * @see <a href=
- * "https://developer.github.com/v3/activity/events/types/#pullrequestevent">
- * Pull Request Event</a>
+ * @see <a href= "https://developer.github.com/v3/activity/events/types/#pullrequestevent"> Pull
+ * Request Event</a>
*/
@Singleton
class PullRequestHandler implements WebhookEventHandler<PullRequest> {
- private static final Logger logger = LoggerFactory
- .getLogger(PullRequestHandler.class);
+ private static final Logger logger = LoggerFactory.getLogger(PullRequestHandler.class);
private final Provider<PullRequestImporter> prImportProvider;
@Inject
@@ -55,8 +51,8 @@
String organization = repository.getOwnerName();
String name = repository.getName();
logger.info("Importing {}/{}#{}", organization, name, prNumber);
- prImporter.importPullRequest(0, organization, name, prNumber.intValue(),
- PullRequestImportType.Commits);
+ prImporter.importPullRequest(
+ 0, organization, name, prNumber.intValue(), PullRequestImportType.Commits);
logger.info("Imported {}/{}#{}", organization, name, prNumber);
return true;
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/WebhookEventHandler.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/WebhookEventHandler.java
index b0ab094..3008bde 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/WebhookEventHandler.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/WebhookEventHandler.java
@@ -15,23 +15,19 @@
package com.googlesource.gerrit.plugins.github.notification;
import java.io.IOException;
-
import org.kohsuke.github.GHEvent;
/**
- * Abstract interface to handler which is responsible for a specific github
- * webhook event type.
+ * Abstract interface to handler which is responsible for a specific github webhook event type.
*
- * Implementation classes must be named by the convention which
- * {@link WebhookServlet#getWebhookClassName(GHEvent)} defines.
+ * <p>Implementation classes must be named by the convention which {@link
+ * WebhookServlet#getWebhookClassName(GHEvent)} defines.
*
* @param <T> Type of payload. Must be consistent to the event type.
- *
* @return true if the event has been successfully processed
*/
interface WebhookEventHandler<T> {
Class<T> getPayloadType();
- boolean doAction(T payload)
- throws IOException;
-}
\ No newline at end of file
+ boolean doAction(T payload) throws IOException;
+}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/WebhookServlet.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/WebhookServlet.java
index 5e79304..64eb8c7 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/WebhookServlet.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/notification/WebhookServlet.java
@@ -19,30 +19,6 @@
import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND;
import static javax.servlet.http.HttpServletResponse.SC_NO_CONTENT;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.security.InvalidKeyException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import javax.crypto.Mac;
-import javax.crypto.spec.SecretKeySpec;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.codec.DecoderException;
-import org.apache.commons.codec.binary.Hex;
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Strings;
@@ -59,25 +35,43 @@
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
import com.googlesource.gerrit.plugins.github.oauth.ScopedProvider;
import com.googlesource.gerrit.plugins.github.oauth.UserScopedProvider;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.security.InvalidKeyException;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import javax.crypto.Mac;
+import javax.crypto.spec.SecretKeySpec;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.codec.DecoderException;
+import org.apache.commons.codec.binary.Hex;
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
- * Handles webhook callbacks sent from Github. Delegates requests to
- * implementations of {@link WebhookEventHandler}.
+ * Handles webhook callbacks sent from Github. Delegates requests to implementations of {@link
+ * WebhookEventHandler}.
*/
@Singleton
public class WebhookServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
- private static final Logger logger =
- LoggerFactory.getLogger(WebhookServlet.class);
+ private static final Logger logger = LoggerFactory.getLogger(WebhookServlet.class);
- private static final String PACKAGE_NAME =
- WebhookServlet.class.getPackage().getName();
+ private static final String PACKAGE_NAME = WebhookServlet.class.getPackage().getName();
private static final String SIGNATURE_PREFIX = "sha1=";
private static final String HMAC_SHA1_ALGORITHM = "HmacSHA1";
private final Gson gson;
- private final Map<String, WebhookEventHandler<?>> handlerByName =
- new ConcurrentHashMap<>();
+ private final Map<String, WebhookEventHandler<?>> handlerByName = new ConcurrentHashMap<>();
private final Injector injector;
private final GitHubConfig config;
@@ -86,9 +80,12 @@
private final DynamicItem<WebSession> session;
@Inject
- public WebhookServlet(UserScopedProvider<GitHubLogin> loginProvider,
+ public WebhookServlet(
+ UserScopedProvider<GitHubLogin> loginProvider,
ScopedProvider<GitHubLogin> requestScopedLoginProvider,
- GitHubConfig config, Gson gson, DynamicItem<WebSession> session,
+ GitHubConfig config,
+ Gson gson,
+ DynamicItem<WebSession> session,
Injector injector) {
this.loginProvider = loginProvider;
this.requestScopedLoginProvider = requestScopedLoginProvider;
@@ -125,16 +122,15 @@
private String eventClassName(String name) {
String[] nameParts = name.split("_");
List<String> classNameParts =
- Lists.transform(Arrays.asList(nameParts),
+ Lists.transform(
+ Arrays.asList(nameParts),
new Function<String, String>() {
@Override
public String apply(String part) {
- return Character.toUpperCase(part.charAt(0))
- + part.substring(1);
+ return Character.toUpperCase(part.charAt(0)) + part.substring(1);
}
});
- return PACKAGE_NAME + "." + Joiner.on("").join(classNameParts)
- + "Handler";
+ return PACKAGE_NAME + "." + Joiner.on("").join(classNameParts) + "Handler";
}
@Override
@@ -146,8 +142,7 @@
return;
}
- WebhookEventHandler<?> handler =
- getWebhookHandler(req.getHeader("X-Github-Event"));
+ WebhookEventHandler<?> handler = getWebhookHandler(req.getHeader("X-Github-Event"));
if (handler == null) {
resp.sendError(SC_NOT_FOUND);
return;
@@ -155,8 +150,7 @@
try (BufferedReader reader = req.getReader()) {
String body = Joiner.on("\n").join(CharStreams.readLines(reader));
- if (!validateSignature(req.getHeader("X-Hub-Signature"), body,
- req.getCharacterEncoding())) {
+ if (!validateSignature(req.getHeader("X-Hub-Signature"), body, req.getCharacterEncoding())) {
logger.error("Signature mismatch to the payload");
resp.sendError(SC_FORBIDDEN);
return;
@@ -167,7 +161,8 @@
if (login == null || !login.isLoggedIn()) {
logger.error(
"Cannot login to github as {}. {}.webhookUser is not correctly configured?",
- config.webhookUser, GitHubConfig.CONF_SECTION);
+ config.webhookUser,
+ GitHubConfig.CONF_SECTION);
resp.setStatus(SC_INTERNAL_SERVER_ERROR);
return;
}
@@ -187,8 +182,8 @@
if (payload != null) {
return handler.doAction(payload);
}
- logger.error("Cannot decode JSON payload '" + jsonBody + "' into "
- + handler.getPayloadType().getName());
+ logger.error(
+ "Cannot decode JSON payload '" + jsonBody + "' into " + handler.getPayloadType().getName());
return false;
}
@@ -197,16 +192,16 @@
*
* @param signatureHeader signature HTTP request header of a github webhook
* @param payload HTTP request body
- * @return true if webhook secret is not configured or signatureHeader is
- * valid against payload and the secret, false if otherwise.
+ * @return true if webhook secret is not configured or signatureHeader is valid against payload
+ * and the secret, false if otherwise.
* @throws UnsupportedEncodingException
*/
- private boolean validateSignature(String signatureHeader, String body,
- String encoding) throws UnsupportedEncodingException {
+ private boolean validateSignature(String signatureHeader, String body, String encoding)
+ throws UnsupportedEncodingException {
byte[] payload = body.getBytes(encoding == null ? "UTF-8" : encoding);
if (config.webhookSecret == null || config.webhookSecret.equals("")) {
- logger.debug("{}.webhookSecret not configured. Skip signature validation",
- GitHubConfig.CONF_SECTION);
+ logger.debug(
+ "{}.webhookSecret not configured. Skip signature validation", GitHubConfig.CONF_SECTION);
return true;
}
@@ -216,8 +211,7 @@
}
byte[] signature;
try {
- signature = Hex.decodeHex(
- signatureHeader.substring(SIGNATURE_PREFIX.length()).toCharArray());
+ signature = Hex.decodeHex(signatureHeader.substring(SIGNATURE_PREFIX.length()).toCharArray());
} catch (DecoderException e) {
logger.error("Invalid signature: {}", signatureHeader);
return false;
@@ -231,12 +225,11 @@
* @param payload payload to calculate a signature for
* @return signature of the payload
* @see <a href=
- * "https://developer.github.com/webhooks/securing/#validating-payloads-from-github">
- * Validating payloads from GitHub</a>
+ * "https://developer.github.com/webhooks/securing/#validating-payloads-from-github">
+ * Validating payloads from GitHub</a>
*/
private byte[] getExpectedSignature(byte[] payload) {
- SecretKeySpec key =
- new SecretKeySpec(config.webhookSecret.getBytes(), HMAC_SHA1_ALGORITHM);
+ SecretKeySpec key = new SecretKeySpec(config.webhookSecret.getBytes(), HMAC_SHA1_ALGORITHM);
Mac hmac;
try {
hmac = Mac.getInstance(HMAC_SHA1_ALGORITHM);
@@ -244,8 +237,7 @@
} catch (NoSuchAlgorithmException e) {
throw new IllegalStateException("Hmac SHA1 must be supported", e);
} catch (InvalidKeyException e) {
- throw new IllegalStateException(
- "Hmac SHA1 must be compatible to Hmac SHA1 Secret Key", e);
+ throw new IllegalStateException("Hmac SHA1 must be compatible to Hmac SHA1 Secret Key", e);
}
return hmac.doFinal(payload);
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/Destination.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/Destination.java
index 193024e..b1b2df3 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/Destination.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/Destination.java
@@ -28,14 +28,12 @@
import com.google.gerrit.server.project.NoSuchProjectException;
import com.google.gerrit.server.project.ProjectControl;
import com.google.inject.Injector;
-
-import org.eclipse.jgit.lib.Config;
-import org.eclipse.jgit.transport.RemoteConfig;
-import org.eclipse.jgit.transport.URIish;
-
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.List;
+import org.eclipse.jgit.lib.Config;
+import org.eclipse.jgit.transport.RemoteConfig;
+import org.eclipse.jgit.transport.URIish;
public class Destination {
private final RemoteConfig remote;
@@ -43,33 +41,31 @@
private final String remoteNameStyle;
private final CurrentUser remoteUser;
- Destination(final Injector injector, final RemoteConfig rc, final Config cfg,
+ Destination(
+ final Injector injector,
+ final RemoteConfig rc,
+ final Config cfg,
final RemoteSiteUser.Factory replicationUserFactory,
final PluginUser pluginUser,
final GroupBackend groupBackend) {
remote = rc;
remoteNameStyle =
- MoreObjects.firstNonNull(
- cfg.getString("remote", rc.getName(), "remoteNameStyle"), "slash");
+ MoreObjects.firstNonNull(cfg.getString("remote", rc.getName(), "remoteNameStyle"), "slash");
- String[] authGroupNames =
- cfg.getStringList("remote", rc.getName(), "authGroup");
+ String[] authGroupNames = cfg.getStringList("remote", rc.getName(), "authGroup");
if (authGroupNames.length > 0) {
ImmutableSet.Builder<AccountGroup.UUID> builder = ImmutableSet.builder();
for (String name : authGroupNames) {
- GroupReference g =
- GroupBackends.findExactSuggestion(groupBackend, name);
+ GroupReference g = GroupBackends.findExactSuggestion(groupBackend, name);
if (g != null) {
builder.add(g.getUUID());
} else {
- GitHubDestinations.log.warn(String.format(
- "Group \"%s\" not recognized, removing from authGroup", name));
+ GitHubDestinations.log.warn(
+ String.format("Group \"%s\" not recognized, removing from authGroup", name));
}
}
- remoteUser =
- replicationUserFactory
- .create(new ListGroupMembership(builder.build()));
+ remoteUser = replicationUserFactory.create(new ListGroupMembership(builder.build()));
} else {
remoteUser = pluginUser;
}
@@ -77,8 +73,7 @@
projectControlFactory = injector.getInstance(ProjectControl.Factory.class);
}
- ProjectControl controlFor(Project.NameKey project)
- throws NoSuchProjectException {
+ ProjectControl controlFor(Project.NameKey project) throws NoSuchProjectException {
return projectControlFactory.controlFor(project);
}
@@ -95,12 +90,10 @@
} else if (remoteNameStyle.equals("underscore")) {
name = name.replace("/", "_");
} else if (!remoteNameStyle.equals("slash")) {
- GitHubDestinations.log.debug(String.format(
- "Unknown remoteNameStyle: %s, falling back to slash",
- remoteNameStyle));
+ GitHubDestinations.log.debug(
+ String.format("Unknown remoteNameStyle: %s, falling back to slash", remoteNameStyle));
}
- String replacedPath =
- GitHubDestinations.replaceName(uri.getPath(), name);
+ String replacedPath = GitHubDestinations.replaceName(uri.getPath(), name);
if (replacedPath != null) {
uri = uri.setPath(replacedPath);
r.add(uri);
@@ -125,8 +118,7 @@
// context. In the path part of a URI space should be %20, but in form
// data
// space is '+'. Our cleanup replace fixes these two issues.
- return URLEncoder.encode(str, "UTF-8").replaceAll("%2[fF]", "/")
- .replace("+", "%20");
+ return URLEncoder.encode(str, "UTF-8").replaceAll("%2[fF]", "/").replace("+", "%20");
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/GitHubDestinations.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/GitHubDestinations.java
index 92cea4e..585244b 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/GitHubDestinations.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/GitHubDestinations.java
@@ -21,16 +21,6 @@
import com.google.gerrit.server.config.SitePaths;
import com.google.inject.Inject;
import com.google.inject.Injector;
-
-import org.eclipse.jgit.errors.ConfigInvalidException;
-import org.eclipse.jgit.storage.file.FileBasedConfig;
-import org.eclipse.jgit.transport.RefSpec;
-import org.eclipse.jgit.transport.RemoteConfig;
-import org.eclipse.jgit.transport.URIish;
-import org.eclipse.jgit.util.FS;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.file.Files;
@@ -39,6 +29,14 @@
import java.util.Collections;
import java.util.List;
import java.util.Set;
+import org.eclipse.jgit.errors.ConfigInvalidException;
+import org.eclipse.jgit.storage.file.FileBasedConfig;
+import org.eclipse.jgit.transport.RefSpec;
+import org.eclipse.jgit.transport.RemoteConfig;
+import org.eclipse.jgit.transport.URIish;
+import org.eclipse.jgit.util.FS;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/** Manages automatic replication to remote repositories. */
public class GitHubDestinations {
@@ -57,7 +55,6 @@
private final Injector injector;
private final List<Destination> configs;
-
private final RemoteSiteUser.Factory replicationUserFactory;
private final PluginUser pluginUser;
private final GroupBackend groupBackend;
@@ -65,9 +62,12 @@
private final List<String> organisations;
@Inject
- GitHubDestinations(final Injector i, final SitePaths site,
+ GitHubDestinations(
+ final Injector i,
+ final SitePaths site,
final RemoteSiteUser.Factory ruf,
- final GroupBackend gb, final PluginUser pu)
+ final GroupBackend gb,
+ final PluginUser pu)
throws ConfigInvalidException, IOException {
injector = i;
pluginUser = pu;
@@ -92,17 +92,16 @@
throws ConfigInvalidException, IOException {
if (!Files.exists(cfgPath) || Files.size(cfgPath) == 0) {
return Collections.emptyList();
- }
-
+ }
+
FileBasedConfig cfg = new FileBasedConfig(cfgPath.toFile(), FS.DETECTED);
try {
cfg.load();
} catch (ConfigInvalidException e) {
- throw new ConfigInvalidException(String.format(
- "Config file %s is invalid: %s", cfg.getFile(), e.getMessage()), e);
+ throw new ConfigInvalidException(
+ String.format("Config file %s is invalid: %s", cfg.getFile(), e.getMessage()), e);
} catch (IOException e) {
- throw new IOException(String.format("Cannot read %s: %s", cfg.getFile(),
- e.getMessage()), e);
+ throw new IOException(String.format("Cannot read %s: %s", cfg.getFile(), e.getMessage()), e);
}
ImmutableList.Builder<Destination> dest = ImmutableList.builder();
@@ -113,9 +112,10 @@
for (URIish u : c.getURIs()) {
if (u.getPath() == null || !u.getPath().contains("${name}")) {
- throw new ConfigInvalidException(String.format(
- "remote.%s.url \"%s\" lacks ${name} placeholder in %s",
- c.getName(), u, cfg.getFile()));
+ throw new ConfigInvalidException(
+ String.format(
+ "remote.%s.url \"%s\" lacks ${name} placeholder in %s",
+ c.getName(), u, cfg.getFile()));
}
}
@@ -127,19 +127,16 @@
}
if (c.getPushRefSpecs().isEmpty()) {
- c.addPushRefSpec(new RefSpec().setSourceDestination("refs/*", "refs/*")
- .setForceUpdate(true));
+ c.addPushRefSpec(
+ new RefSpec().setSourceDestination("refs/*", "refs/*").setForceUpdate(true));
}
- dest.add(new Destination(injector, c, cfg,
- replicationUserFactory, pluginUser,
- groupBackend));
+ dest.add(new Destination(injector, c, cfg, replicationUserFactory, pluginUser, groupBackend));
}
return dest.build();
}
- private static List<RemoteConfig> allRemotes(FileBasedConfig cfg)
- throws ConfigInvalidException {
+ private static List<RemoteConfig> allRemotes(FileBasedConfig cfg) throws ConfigInvalidException {
Set<String> names = cfg.getSubsections("remote");
List<RemoteConfig> result = Lists.newArrayListWithCapacity(names.size());
for (String name : names) {
@@ -148,8 +145,8 @@
result.add(new RemoteConfig(cfg, name));
}
} catch (URISyntaxException e) {
- throw new ConfigInvalidException(String.format(
- "remote %s has invalid URL in %s", name, cfg.getFile()));
+ throw new ConfigInvalidException(
+ String.format("remote %s has invalid URL in %s", name, cfg.getFile()));
}
}
return result;
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ListProjectReplicationStatus.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ListProjectReplicationStatus.java
index 868ac5b..87ac175 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ListProjectReplicationStatus.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ListProjectReplicationStatus.java
@@ -30,8 +30,8 @@
}
@Override
- public Object apply(ProjectResource resource) throws AuthException,
- BadRequestException, ResourceConflictException, Exception {
+ public Object apply(ProjectResource resource)
+ throws AuthException, BadRequestException, ResourceConflictException, Exception {
return statusStore.list(resource.getNameKey());
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/RemoteSiteUser.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/RemoteSiteUser.java
index 42f6857..9f7e787 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/RemoteSiteUser.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/RemoteSiteUser.java
@@ -28,8 +28,8 @@
private final GroupMembership effectiveGroups;
@Inject
- RemoteSiteUser(CapabilityControl.Factory capabilityControlFactory,
- @Assisted GroupMembership authGroups) {
+ RemoteSiteUser(
+ CapabilityControl.Factory capabilityControlFactory, @Assisted GroupMembership authGroups) {
super(capabilityControlFactory);
effectiveGroups = authGroups;
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusFlatFile.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusFlatFile.java
index 4d5a033..70723d2 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusFlatFile.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusFlatFile.java
@@ -18,6 +18,12 @@
import static java.nio.file.StandardOpenOption.TRUNCATE_EXISTING;
import static java.nio.file.StandardOpenOption.WRITE;
+import com.google.gerrit.extensions.annotations.PluginData;
+import com.google.gerrit.reviewdb.client.Project;
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
import java.io.IOException;
import java.io.Reader;
import java.nio.charset.StandardCharsets;
@@ -29,36 +35,26 @@
import java.util.ArrayList;
import java.util.List;
-import com.google.gerrit.extensions.annotations.PluginData;
-import com.google.gerrit.reviewdb.client.Project;
-import com.google.gson.Gson;
-import com.google.gson.JsonObject;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
public class ReplicationStatusFlatFile implements ReplicationStatusStore {
private final Path pluginData;
private final Gson gson;
@Inject
- public ReplicationStatusFlatFile(@PluginData Path pluginData,
- Provider<Gson> gsonProvider) {
+ public ReplicationStatusFlatFile(@PluginData Path pluginData, Provider<Gson> gsonProvider) {
this.pluginData = pluginData;
this.gson = gsonProvider.get();
}
@Override
- public void set(Project.NameKey projectKey, String refKey,
- JsonObject statusEvent) throws IOException {
- Path replicationStatusPath =
- getReplicationStatusPath(projectKey.get() + "/" + refKey);
- Files.write(replicationStatusPath, statusEvent.toString().getBytes(),
- TRUNCATE_EXISTING, CREATE, WRITE);
+ public void set(Project.NameKey projectKey, String refKey, JsonObject statusEvent)
+ throws IOException {
+ Path replicationStatusPath = getReplicationStatusPath(projectKey.get() + "/" + refKey);
+ Files.write(
+ replicationStatusPath, statusEvent.toString().getBytes(), TRUNCATE_EXISTING, CREATE, WRITE);
}
private Path getReplicationStatusPath(String key) throws IOException {
- Path projectPath =
- pluginData.resolve(getSanitizedKey(key) + ".replication-error.json");
+ Path projectPath = pluginData.resolve(getSanitizedKey(key) + ".replication-error.json");
Files.createDirectories(projectPath.getParent());
return projectPath;
}
@@ -72,20 +68,20 @@
public List<JsonObject> list(Project.NameKey parentKey) throws IOException {
Path projectPath = pluginData.resolve(getSanitizedKey(parentKey.get()));
final List<JsonObject> entries = new ArrayList<>();
- Files.walkFileTree(projectPath, new SimpleFileVisitor<Path>() {
+ Files.walkFileTree(
+ projectPath,
+ new SimpleFileVisitor<Path>() {
- @Override
- public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
- throws IOException {
- try (Reader fileReader =
- Files.newBufferedReader(file, StandardCharsets.UTF_8)) {
- JsonObject json = gson.fromJson(fileReader, JsonObject.class);
- entries.add(json);
- }
- return FileVisitResult.CONTINUE;
- }
- });
+ @Override
+ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
+ throws IOException {
+ try (Reader fileReader = Files.newBufferedReader(file, StandardCharsets.UTF_8)) {
+ JsonObject json = gson.fromJson(fileReader, JsonObject.class);
+ entries.add(json);
+ }
+ return FileVisitResult.CONTINUE;
+ }
+ });
return entries;
}
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusListener.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusListener.java
index 49358a9..89fe432 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusListener.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusListener.java
@@ -14,11 +14,6 @@
package com.googlesource.gerrit.plugins.github.replication;
-import java.io.IOException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import com.google.gerrit.common.EventListener;
import com.google.gerrit.reviewdb.client.Project.NameKey;
import com.google.gerrit.server.events.Event;
@@ -28,19 +23,21 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
+import java.io.IOException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
@Singleton
public class ReplicationStatusListener implements EventListener {
private static final String REF_REPLICATED_EVENT = "ref-replicated";
- private static Logger log = LoggerFactory
- .getLogger(ReplicationStatusListener.class);
+ private static Logger log = LoggerFactory.getLogger(ReplicationStatusListener.class);
private final ReplicationStatusStore statusStore;
private final Gson gson;
@Inject
- public ReplicationStatusListener(ReplicationStatusStore statusStore,
- Provider<Gson> gsonProvider) {
+ public ReplicationStatusListener(
+ ReplicationStatusStore statusStore, Provider<Gson> gsonProvider) {
this.statusStore = statusStore;
this.gson = gsonProvider.get();
}
@@ -57,8 +54,12 @@
try {
statusStore.set(projectNameKey, refKey, eventJson);
} catch (IOException e) {
- log.error("Unable to update replication status for event " + eventJson
- + " on project " + projectNameKey, e);
+ log.error(
+ "Unable to update replication status for event "
+ + eventJson
+ + " on project "
+ + projectNameKey,
+ e);
}
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusStore.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusStore.java
index 75c1872..ba03105 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusStore.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/ReplicationStatusStore.java
@@ -14,16 +14,15 @@
package com.googlesource.gerrit.plugins.github.replication;
+import com.google.gerrit.reviewdb.client.Project;
+import com.google.gson.JsonObject;
import java.io.IOException;
import java.util.List;
-import com.google.gerrit.reviewdb.client.Project;
-import com.google.gson.JsonObject;
-
public interface ReplicationStatusStore {
- public void set(Project.NameKey projectKey, String refKey,
- JsonObject statusEvent) throws IOException;
+ public void set(Project.NameKey projectKey, String refKey, JsonObject statusEvent)
+ throws IOException;
public List<JsonObject> list(Project.NameKey projectKey) throws IOException;
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityModel.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityModel.java
index 8b4236b..4970e1d 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityModel.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityModel.java
@@ -15,7 +15,6 @@
import com.google.inject.Inject;
import com.google.inject.servlet.RequestScoped;
-
import org.apache.velocity.VelocityContext;
@RequestScoped
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityRuntimeProvider.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityRuntimeProvider.java
index b0ef350..7f5ed56 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityRuntimeProvider.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityRuntimeProvider.java
@@ -20,28 +20,21 @@
import com.google.inject.Provider;
import com.google.inject.ProvisionException;
import com.google.inject.Singleton;
-
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.Properties;
import org.apache.velocity.runtime.RuntimeConstants;
import org.apache.velocity.runtime.RuntimeInstance;
import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
import org.apache.velocity.runtime.resource.loader.JarResourceLoader;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Properties;
-
@Singleton
public class PluginVelocityRuntimeProvider implements Provider<RuntimeInstance> {
- private static final String VELOCITY_FILE_RESOURCE_LOADER_PATH =
- "file.resource.loader.path";
- private static final String VELOCITY_FILE_RESOURCE_LOADER_CLASS =
- "file.resource.loader.class";
- private static final String VELOCITY_CLASS_RESOURCE_LOADER_CLASS =
- "class.resource.loader.class";
- private static final String VELOCITY_JAR_RESOURCE_LOADER_CLASS =
- "jar.resource.loader.class";
- private static final String VELOCITY_JAR_RESOURCE_LOADER_PATH =
- "jar.resource.loader.path";
+ private static final String VELOCITY_FILE_RESOURCE_LOADER_PATH = "file.resource.loader.path";
+ private static final String VELOCITY_FILE_RESOURCE_LOADER_CLASS = "file.resource.loader.class";
+ private static final String VELOCITY_CLASS_RESOURCE_LOADER_CLASS = "class.resource.loader.class";
+ private static final String VELOCITY_JAR_RESOURCE_LOADER_CLASS = "jar.resource.loader.class";
+ private static final String VELOCITY_JAR_RESOURCE_LOADER_PATH = "jar.resource.loader.path";
private static final String VELOCITY_RESOURCE_LOADER = "resource.loader";
private final SitePaths site;
private String pluginName;
@@ -58,20 +51,17 @@
Properties p = new Properties();
p.setProperty(RuntimeConstants.VM_PERM_INLINE_LOCAL, "true");
- p.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS,
- Slf4jLogChute.class.getName());
+ p.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, Slf4jLogChute.class.getName());
p.setProperty(RuntimeConstants.RUNTIME_REFERENCES_STRICT, "true");
p.setProperty("runtime.log.logsystem.log4j.category", "velocity");
p.setProperty(VELOCITY_RESOURCE_LOADER, "file, class, jar");
- p.setProperty(VELOCITY_FILE_RESOURCE_LOADER_CLASS, pkg
- + ".FileResourceLoader");
- p.setProperty(VELOCITY_FILE_RESOURCE_LOADER_PATH,
+ p.setProperty(VELOCITY_FILE_RESOURCE_LOADER_CLASS, pkg + ".FileResourceLoader");
+ p.setProperty(
+ VELOCITY_FILE_RESOURCE_LOADER_PATH,
site.static_dir.getParent().toAbsolutePath().toString());
- p.setProperty(VELOCITY_CLASS_RESOURCE_LOADER_CLASS,
- ClasspathResourceLoader.class.getName());
- p.setProperty(VELOCITY_JAR_RESOURCE_LOADER_CLASS,
- JarResourceLoader.class.getName());
+ p.setProperty(VELOCITY_CLASS_RESOURCE_LOADER_CLASS, ClasspathResourceLoader.class.getName());
+ p.setProperty(VELOCITY_JAR_RESOURCE_LOADER_CLASS, JarResourceLoader.class.getName());
p.setProperty(VELOCITY_JAR_RESOURCE_LOADER_PATH, detectPluginJar());
RuntimeInstance ri = new RuntimeInstance();
@@ -86,8 +76,7 @@
private String detectPluginJar() {
ClassLoader myClassLoader = this.getClass().getClassLoader();
if (!URLClassLoader.class.isAssignableFrom(myClassLoader.getClass())) {
- throw new IllegalStateException(pluginName
- + " plugin can be loaded only from a Jar file");
+ throw new IllegalStateException(pluginName + " plugin can be loaded only from a Jar file");
}
@SuppressWarnings("resource")
@@ -99,8 +88,11 @@
}
}
- throw new IllegalStateException("Cannot find any Jar file in " + pluginName
- + " plugin class loader URLs " + jarUrls
- + ": unable to initialize Velocity resource loading.");
+ throw new IllegalStateException(
+ "Cannot find any Jar file in "
+ + pluginName
+ + " plugin class loader URLs "
+ + jarUrls
+ + ": unable to initialize Velocity resource loading.");
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/VelocityStaticServlet.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/VelocityStaticServlet.java
index 15b698b..46119af 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/VelocityStaticServlet.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/VelocityStaticServlet.java
@@ -21,13 +21,6 @@
import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.google.inject.name.Named;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.velocity.runtime.RuntimeInstance;
-import org.apache.velocity.runtime.resource.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -35,18 +28,22 @@
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.zip.GZIPOutputStream;
-
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.io.IOUtils;
+import org.apache.velocity.runtime.RuntimeInstance;
+import org.apache.velocity.runtime.resource.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/** Sends static content using Velocity resource resolver */
@SuppressWarnings("serial")
@Singleton
public class VelocityStaticServlet extends HttpServlet {
- private static final Logger log = LoggerFactory
- .getLogger(VelocityStaticServlet.class);
+ private static final Logger log = LoggerFactory.getLogger(VelocityStaticServlet.class);
private static final Map<String, String> MIME_TYPES = Maps.newHashMap();
+
static {
MIME_TYPES.put("html", "text/html");
MIME_TYPES.put("htm", "text/html");
@@ -89,7 +86,7 @@
return out.toByteArray();
}
- private final RuntimeInstance velocity;
+ private final RuntimeInstance velocity;
@Inject
VelocityStaticServlet(
@@ -133,8 +130,8 @@
}
@Override
- protected void doGet(final HttpServletRequest req,
- final HttpServletResponse rsp) throws IOException {
+ protected void doGet(final HttpServletRequest req, final HttpServletResponse rsp)
+ throws IOException {
final Resource p = local(req);
if (p == null) {
CacheHeaders.setNotCacheable(rsp);
@@ -144,8 +141,7 @@
final String type = contentType(p.getName());
final byte[] tosend;
- if (!type.equals("application/x-javascript")
- && RPCServletUtils.acceptsGzipEncoding(req)) {
+ if (!type.equals("application/x-javascript") && RPCServletUtils.acceptsGzipEncoding(req)) {
rsp.setHeader("Content-Encoding", "gzip");
tosend = compress(readResource(p));
} else {
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/VelocityViewServlet.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/VelocityViewServlet.java
index 1e5f447..85197dd 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/VelocityViewServlet.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/VelocityViewServlet.java
@@ -22,7 +22,15 @@
import com.googlesource.gerrit.plugins.github.GitHubConfig;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
import com.googlesource.gerrit.plugins.github.oauth.ScopedProvider;
-
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.Map.Entry;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.apache.http.HttpStatus;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
@@ -31,21 +39,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import java.util.Map.Entry;
-
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
@Singleton
public class VelocityViewServlet extends HttpServlet {
- private static final Logger log = LoggerFactory
- .getLogger(VelocityViewServlet.class);
+ private static final Logger log = LoggerFactory.getLogger(VelocityViewServlet.class);
private static final String STATIC_PREFIX = "/static/";
private static final long serialVersionUID = 529071287765413268L;
private final RuntimeInstance velocityRuntime;
@@ -58,7 +54,7 @@
public VelocityViewServlet(
@Named("PluginRuntimeInstance") final RuntimeInstance velocityRuntime,
Provider<PluginVelocityModel> modelProvider,
- ScopedProvider<GitHubLogin> loginProvider,
+ ScopedProvider<GitHubLogin> loginProvider,
Provider<CurrentUser> userProvider,
GitHubConfig config) {
@@ -69,7 +65,6 @@
this.config = config;
}
-
@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
@@ -78,9 +73,7 @@
String pathInfo =
STATIC_PREFIX
- + MoreObjects.firstNonNull(
- (String) req.getAttribute("destUrl"),
- req.getPathInfo());
+ + MoreObjects.firstNonNull((String) req.getAttribute("destUrl"), req.getPathInfo());
try {
Template template = velocityRuntime.getTemplate(pathInfo, "UTF-8");
@@ -94,8 +87,7 @@
resp.sendError(HttpStatus.SC_NOT_FOUND);
} catch (Exception e) {
log.error("Error executing velocity template " + pathInfo, e);
- resp.sendError(HttpStatus.SC_INTERNAL_SERVER_ERROR,
- e.getLocalizedMessage());
+ resp.sendError(HttpStatus.SC_INTERNAL_SERVER_ERROR, e.getLocalizedMessage());
}
}
@@ -104,7 +96,7 @@
GitHubLogin gitHubLogin = loginProvider.get(request);
model.put("myself", gitHubLogin.getMyself());
model.put("config", config);
-
+
CurrentUser user = userProvider.get();
if (user.isIdentifiedUser()) {
model.put("user", user);
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/AccountController.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/AccountController.java
index 13085c4..b9faf94 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/AccountController.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/AccountController.java
@@ -34,7 +34,15 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
-
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.eclipse.jgit.errors.ConfigInvalidException;
import org.kohsuke.github.GHKey;
@@ -43,21 +51,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
public class AccountController implements VelocityController {
- private static final Logger log = LoggerFactory
- .getLogger(AccountController.class);
+ private static final Logger log = LoggerFactory.getLogger(AccountController.class);
private final AddSshKey restAddSshKey;
private final GetSshKeys restGetSshKeys;
private final AccountManager accountManager;
@@ -65,9 +61,12 @@
private final AccountCache accountCache;
@Inject
- public AccountController(final AddSshKey restAddSshKey,
- final GetSshKeys restGetSshKeys, final AccountManager accountManager,
- final Provider<ReviewDb> dbProvider, final AccountCache accountCache) {
+ public AccountController(
+ final AddSshKey restAddSshKey,
+ final GetSshKeys restGetSshKeys,
+ final AccountManager accountManager,
+ final Provider<ReviewDb> dbProvider,
+ final AccountCache accountCache) {
this.restAddSshKey = restAddSshKey;
this.restGetSshKeys = restGetSshKeys;
this.accountManager = accountManager;
@@ -76,8 +75,12 @@
}
@Override
- public void doAction(IdentifiedUser user, GitHubLogin hubLogin,
- HttpServletRequest req, HttpServletResponse resp, ControllerErrors errors)
+ public void doAction(
+ IdentifiedUser user,
+ GitHubLogin hubLogin,
+ HttpServletRequest req,
+ HttpServletResponse resp,
+ ControllerErrors errors)
throws ServletException, IOException {
try {
setAccountIdentity(user, req);
@@ -90,15 +93,14 @@
}
}
- private void setAccountIdentity(IdentifiedUser user, HttpServletRequest req) throws ServletException, ConfigInvalidException {
+ private void setAccountIdentity(IdentifiedUser user, HttpServletRequest req)
+ throws ServletException, ConfigInvalidException {
String fullName = req.getParameter("fullname");
String email = req.getParameter("email");
try {
Id accountId = user.getAccountId();
- AuthResult result =
- accountManager.link(accountId, AuthRequest.forEmail(email));
- log.debug("Account {} linked to email {}: result = {}", accountId, email,
- result);
+ AuthResult result = accountManager.link(accountId, AuthRequest.forEmail(email));
+ log.debug("Account {} linked to email {}: result = {}", accountId, email, result);
Account a = dbProvider.get().accounts().get(accountId);
a.setPreferredEmail(email);
@@ -106,18 +108,20 @@
dbProvider.get().accounts().update(Collections.singleton(a));
log.debug(
"Account {} updated with preferredEmail = {} and fullName = {}",
- accountId, email, fullName);
+ accountId,
+ email,
+ fullName);
accountCache.evict(accountId);
log.debug("Account cache evicted for {}", accountId);
} catch (AccountException | OrmException | IOException e) {
- throw new ServletException("Cannot associate email '" + email
- + "' to current user '" + user + "'", e);
+ throw new ServletException(
+ "Cannot associate email '" + email + "' to current user '" + user + "'", e);
}
}
- private void setAccoutPublicKeys(IdentifiedUser user, GitHubLogin hubLogin,
- HttpServletRequest req) throws IOException {
+ private void setAccoutPublicKeys(
+ IdentifiedUser user, GitHubLogin hubLogin, HttpServletRequest req) throws IOException {
GHMyself myself = hubLogin.getMyself();
List<GHVerifiedKey> githubKeys = myself.getPublicVerifiedKeys();
HashSet<String> gerritKeys = Sets.newHashSet(getCurrentGerritSshKeys(user));
@@ -125,7 +129,8 @@
String sshKeyCheckedParam = "key_check_" + ghKey.getId();
String sshKeyWithLabel = ghKey.getKey() + " " + ghKey.getTitle();
String checked = req.getParameter(sshKeyCheckedParam);
- if (checked != null && checked.equalsIgnoreCase("on")
+ if (checked != null
+ && checked.equalsIgnoreCase("on")
&& !gerritKeys.contains(ghKey.getKey())) {
addSshKey(user, sshKeyWithLabel);
gerritKeys.add(ghKey.getKey());
@@ -133,19 +138,19 @@
}
}
- private List<String> getCurrentGerritSshKeys(final IdentifiedUser user)
- throws IOException {
+ private List<String> getCurrentGerritSshKeys(final IdentifiedUser user) throws IOException {
AccountResource res = new AccountResource(user);
try {
List<SshKeyInfo> keysInfo = restGetSshKeys.apply(res);
- return Lists.transform(keysInfo, new Function<SshKeyInfo, String>() {
+ return Lists.transform(
+ keysInfo,
+ new Function<SshKeyInfo, String>() {
- @Override
- public String apply(SshKeyInfo keyInfo) {
- return StringUtils.substringBeforeLast(keyInfo.sshPublicKey, " ");
- }
-
- });
+ @Override
+ public String apply(SshKeyInfo keyInfo) {
+ return StringUtils.substringBeforeLast(keyInfo.sshPublicKey, " ");
+ }
+ });
} catch (Exception e) {
log.error("User list keys failed", e);
throw new IOException("Cannot get list of user keys", e);
@@ -155,26 +160,26 @@
private void addSshKey(final IdentifiedUser user, final String sshKeyWithLabel)
throws IOException {
AccountResource res = new AccountResource(user);
- final ByteArrayInputStream keyIs =
- new ByteArrayInputStream(sshKeyWithLabel.getBytes());
+ final ByteArrayInputStream keyIs = new ByteArrayInputStream(sshKeyWithLabel.getBytes());
AddSshKey.Input key = new AddSshKey.Input();
- key.raw = new RawInput() {
+ key.raw =
+ new RawInput() {
- @Override
- public InputStream getInputStream() throws IOException {
- return keyIs;
- }
+ @Override
+ public InputStream getInputStream() throws IOException {
+ return keyIs;
+ }
- @Override
- public String getContentType() {
- return "text/plain";
- }
+ @Override
+ public String getContentType() {
+ return "text/plain";
+ }
- @Override
- public long getContentLength() {
- return sshKeyWithLabel.length();
- }
- };
+ @Override
+ public long getContentLength() {
+ return sshKeyWithLabel.length();
+ }
+ };
try {
restAddSshKey.apply(res, key);
} catch (Exception e) {
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/ControllerErrors.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/ControllerErrors.java
index 49a4a84..289c397 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/ControllerErrors.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/ControllerErrors.java
@@ -16,14 +16,12 @@
import com.google.gerrit.server.IdentifiedUser;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Singleton
public class ControllerErrors {
- private static final Logger log = LoggerFactory
- .getLogger(ControllerErrors.class);
+ private static final Logger log = LoggerFactory.getLogger(ControllerErrors.class);
private final IdentifiedUser user;
@@ -33,8 +31,11 @@
}
public void submit(Exception e) {
- log.error(String.format("User:%s Controller:%s Exception:%s '%s'",
- getUser(), getController(), e.getClass(), e.getLocalizedMessage()), e);
+ log.error(
+ String.format(
+ "User:%s Controller:%s Exception:%s '%s'",
+ getUser(), getController(), e.getClass(), e.getLocalizedMessage()),
+ e);
}
private String getController() {
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/JobStatusController.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/JobStatusController.java
index 5489282..d31e283 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/JobStatusController.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/JobStatusController.java
@@ -16,25 +16,20 @@
import com.google.common.collect.Lists;
import com.google.gson.Gson;
import com.google.gson.stream.JsonWriter;
-
import com.googlesource.gerrit.plugins.github.git.BatchImporter;
import com.googlesource.gerrit.plugins.github.git.GitJob;
import com.googlesource.gerrit.plugins.github.git.GitJobStatus;
-
import java.io.IOException;
import java.util.Collection;
import java.util.List;
-
import javax.servlet.http.HttpServletResponse;
-
-
public class JobStatusController {
public JobStatusController() {
super();
}
-
+
protected void respondWithJobStatusJson(HttpServletResponse resp, BatchImporter cloner)
throws IOException {
Collection<GitJob> jobs = cloner.getJobs();
@@ -46,6 +41,4 @@
new Gson().toJson(jobListStatus, jobListStatus.getClass(), writer);
}
}
-
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestImportController.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestImportController.java
index 747f388..1a2ee89 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestImportController.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestImportController.java
@@ -17,14 +17,11 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-
import com.googlesource.gerrit.plugins.github.git.PullRequestImportType;
import com.googlesource.gerrit.plugins.github.git.PullRequestImporter;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
-
import java.io.IOException;
import java.util.Map.Entry;
-
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -35,39 +32,37 @@
private Provider<PullRequestImporter> prImportProvider;
@Inject
- public PullRequestImportController(
- final Provider<PullRequestImporter> pullRequestsImporter) {
+ public PullRequestImportController(final Provider<PullRequestImporter> pullRequestsImporter) {
this.prImportProvider = pullRequestsImporter;
}
@Override
- public void doAction(IdentifiedUser user, GitHubLogin hubLogin,
- HttpServletRequest req, HttpServletResponse resp, ControllerErrors errors)
+ public void doAction(
+ IdentifiedUser user,
+ GitHubLogin hubLogin,
+ HttpServletRequest req,
+ HttpServletResponse resp,
+ ControllerErrors errors)
throws ServletException, IOException {
String organisation = req.getParameter("organisation");
PullRequestImporter prImporter = prImportProvider.get();
for (Entry<String, String[]> param : req.getParameterMap().entrySet()) {
String name = param.getKey();
- if (name.endsWith(".selected") && param.getValue().length == 1
+ if (name.endsWith(".selected")
+ && param.getValue().length == 1
&& param.getValue()[0].equalsIgnoreCase("on")) {
- String paramPrefix =
- name.substring(0, name.length() - ".selected".length());
+ String paramPrefix = name.substring(0, name.length() - ".selected".length());
int idx = Integer.parseInt(req.getParameter(paramPrefix + ".idx"));
PullRequestImportType importType =
- PullRequestImportType.valueOf(req.getParameter(paramPrefix
- + ".type"));
-
- int pullRequestId =
- Integer.parseInt(req.getParameter(paramPrefix + ".id"));
- String repoName =
- req.getParameter(paramPrefix + ".repo");
+ PullRequestImportType.valueOf(req.getParameter(paramPrefix + ".type"));
- prImporter.importPullRequest(idx, organisation, repoName,
- pullRequestId, importType);
+ int pullRequestId = Integer.parseInt(req.getParameter(paramPrefix + ".id"));
+ String repoName = req.getParameter(paramPrefix + ".repo");
+
+ prImporter.importPullRequest(idx, organisation, repoName, pullRequestId, importType);
}
}
-
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestImportStatusController.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestImportStatusController.java
index 0a9d2c7..730b29f 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestImportStatusController.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestImportStatusController.java
@@ -16,12 +16,9 @@
import com.google.gerrit.server.IdentifiedUser;
import com.google.inject.Inject;
import com.google.inject.Provider;
-
import com.googlesource.gerrit.plugins.github.git.PullRequestImporter;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
-
import java.io.IOException;
-
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -38,8 +35,12 @@
}
@Override
- public void doAction(IdentifiedUser user, GitHubLogin hubLogin,
- HttpServletRequest req, HttpServletResponse resp, ControllerErrors errors)
+ public void doAction(
+ IdentifiedUser user,
+ GitHubLogin hubLogin,
+ HttpServletRequest req,
+ HttpServletResponse resp,
+ ControllerErrors errors)
throws ServletException, IOException {
respondWithJobStatusJson(resp, pullRequestsImporter.get());
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestListController.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestListController.java
index 3faa6b4..74c889b 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestListController.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestListController.java
@@ -36,7 +36,16 @@
import com.google.inject.Singleton;
import com.googlesource.gerrit.plugins.github.GitHubConfig;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
-
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.text.SimpleDateFormat;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.eclipse.jgit.errors.IncorrectObjectTypeException;
import org.eclipse.jgit.lib.Repository;
import org.kohsuke.github.GHIssueState;
@@ -46,22 +55,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.text.SimpleDateFormat;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
@Singleton
public class PullRequestListController implements VelocityController {
- private static final Logger LOG = LoggerFactory
- .getLogger(PullRequestListController.class);
+ private static final Logger LOG = LoggerFactory.getLogger(PullRequestListController.class);
private static final String DATE_FMT = "yyyy-MM-dd HH:mm z";
private final GitHubConfig config;
@@ -72,7 +68,8 @@
private final ChangeQueryBuilder changeQuery;
@Inject
- public PullRequestListController(ProjectCache projectsCache,
+ public PullRequestListController(
+ ProjectCache projectsCache,
GitRepositoryManager repoMgr,
Provider<ReviewDb> schema,
GitHubConfig config,
@@ -87,8 +84,12 @@
}
@Override
- public void doAction(IdentifiedUser user, GitHubLogin hubLogin,
- HttpServletRequest req, HttpServletResponse resp, ControllerErrors errors)
+ public void doAction(
+ IdentifiedUser user,
+ GitHubLogin hubLogin,
+ HttpServletRequest req,
+ HttpServletResponse resp,
+ ControllerErrors errors)
throws ServletException, IOException {
try (PrintWriter out = resp.getWriter()) {
SimpleDateFormat dateFmt = new SimpleDateFormat(DATE_FMT);
@@ -110,11 +111,10 @@
prObj.add("id", new JsonPrimitive(new Integer(pr.getNumber())));
prObj.add("title", new JsonPrimitive(pr.getTitle()));
prObj.add("body", new JsonPrimitive(pr.getBody()));
- prObj.add("author", new JsonPrimitive(pr.getUser() == null ? "" : pr
- .getUser().getLogin()));
+ prObj.add(
+ "author", new JsonPrimitive(pr.getUser() == null ? "" : pr.getUser().getLogin()));
prObj.add("status", new JsonPrimitive(pr.getState().name()));
- prObj.add("date",
- new JsonPrimitive(dateFmt.format(pr.getUpdatedAt())));
+ prObj.add("date", new JsonPrimitive(dateFmt.format(pr.getUpdatedAt())));
prArray.add(prObj);
}
@@ -128,28 +128,24 @@
}
private Map<String, List<GHPullRequest>> getPullRequests(
- GitHubLogin hubLogin, String organisation, String repository)
- throws IOException {
+ GitHubLogin hubLogin, String organisation, String repository) throws IOException {
return getPullRequests(
- hubLogin,
- projectsCache.byName(organisation + "/"
- + Strings.nullToEmpty(repository)));
+ hubLogin, projectsCache.byName(organisation + "/" + Strings.nullToEmpty(repository)));
}
- private Map<String, List<GHPullRequest>> getPullRequests(GitHubLogin login,
- Iterable<NameKey> repos) throws IOException {
+ private Map<String, List<GHPullRequest>> getPullRequests(
+ GitHubLogin login, Iterable<NameKey> repos) throws IOException {
int numPullRequests = 0;
Map<String, List<GHPullRequest>> allPullRequests = Maps.newHashMap();
try (ReviewDb db = schema.get()) {
for (NameKey gerritRepoName : repos) {
try (Repository gitRepo = repoMgr.openRepository(gerritRepoName)) {
String ghRepoName = gerritRepoName.get().split("/")[1];
- Optional<GHRepository> githubRepo =
- getGHRepository(login, gerritRepoName);
+ Optional<GHRepository> githubRepo = getGHRepository(login, gerritRepoName);
if (githubRepo.isPresent()) {
numPullRequests =
- collectPullRequestsFromGitHubRepository(numPullRequests, db,
- allPullRequests, gitRepo, ghRepoName, githubRepo);
+ collectPullRequestsFromGitHubRepository(
+ numPullRequests, db, allPullRequests, gitRepo, ghRepoName, githubRepo);
}
}
}
@@ -157,19 +153,21 @@
}
}
- private int collectPullRequestsFromGitHubRepository(int numPullRequests, ReviewDb db,
- Map<String, List<GHPullRequest>> allPullRequests, Repository gitRepo,
- String ghRepoName, Optional<GHRepository> githubRepo)
+ private int collectPullRequestsFromGitHubRepository(
+ int numPullRequests,
+ ReviewDb db,
+ Map<String, List<GHPullRequest>> allPullRequests,
+ Repository gitRepo,
+ String ghRepoName,
+ Optional<GHRepository> githubRepo)
throws IncorrectObjectTypeException, IOException {
List<GHPullRequest> repoPullRequests = Lists.newArrayList();
int count = numPullRequests;
if (count < config.pullRequestListLimit) {
- for (GHPullRequest ghPullRequest : githubRepo.get()
- .listPullRequests(GHIssueState.OPEN)) {
+ for (GHPullRequest ghPullRequest : githubRepo.get().listPullRequests(GHIssueState.OPEN)) {
- if (isAnyCommitOfPullRequestToBeImported(db, gitRepo,
- ghPullRequest)) {
+ if (isAnyCommitOfPullRequestToBeImported(db, gitRepo, ghPullRequest)) {
repoPullRequests.add(ghPullRequest);
count++;
}
@@ -183,8 +181,8 @@
return count;
}
- private Optional<GHRepository> getGHRepository(GitHubLogin login,
- NameKey gerritRepoName) throws IOException {
+ private Optional<GHRepository> getGHRepository(GitHubLogin login, NameKey gerritRepoName)
+ throws IOException {
try {
return Optional.of(login.getHub().getRepository(gerritRepoName.get()));
} catch (FileNotFoundException e) {
@@ -193,21 +191,18 @@
}
}
- private boolean isAnyCommitOfPullRequestToBeImported(ReviewDb db,
- Repository gitRepo, GHPullRequest ghPullRequest)
+ private boolean isAnyCommitOfPullRequestToBeImported(
+ ReviewDb db, Repository gitRepo, GHPullRequest ghPullRequest)
throws IncorrectObjectTypeException, IOException {
boolean pullRequestToImport = false;
try {
- for (GHPullRequestCommitDetail pullRequestCommit : ghPullRequest
- .listCommits()) {
+ for (GHPullRequestCommitDetail pullRequestCommit : ghPullRequest.listCommits()) {
pullRequestToImport |=
- qp.query(changeQuery.commit(pullRequestCommit.getSha()))
- .entities().isEmpty();
+ qp.query(changeQuery.commit(pullRequestCommit.getSha())).entities().isEmpty();
}
return pullRequestToImport;
} catch (OrmException | QueryParseException e) {
- LOG.error("Unable to query Gerrit changes for pull-request "
- + ghPullRequest.getNumber(), e);
+ LOG.error("Unable to query Gerrit changes for pull-request " + ghPullRequest.getNumber(), e);
return false;
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneCancelController.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneCancelController.java
index 7667eeb..4cb1d7d 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneCancelController.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneCancelController.java
@@ -16,13 +16,10 @@
import com.google.gerrit.server.IdentifiedUser;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-
import com.googlesource.gerrit.plugins.github.git.GitImporter;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
import com.googlesource.gerrit.plugins.github.oauth.ScopedProvider;
-
import java.io.IOException;
-
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -38,10 +35,13 @@
}
@Override
- public void doAction(IdentifiedUser user, GitHubLogin hubLogin,
- HttpServletRequest req, HttpServletResponse resp, ControllerErrors errors)
+ public void doAction(
+ IdentifiedUser user,
+ GitHubLogin hubLogin,
+ HttpServletRequest req,
+ HttpServletResponse resp,
+ ControllerErrors errors)
throws ServletException, IOException {
clonerProvider.get(req).cancel();
}
-
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneController.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneController.java
index 72e2a91..6177033 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneController.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneController.java
@@ -15,15 +15,12 @@
import com.google.gerrit.server.IdentifiedUser;
import com.google.inject.Inject;
-
import com.googlesource.gerrit.plugins.github.git.GitImporter;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
import com.googlesource.gerrit.plugins.github.oauth.ScopedProvider;
-
import java.io.IOException;
import java.util.Map.Entry;
import java.util.Set;
-
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -38,10 +35,14 @@
}
@Override
- public void doAction(IdentifiedUser user, GitHubLogin hubLogin,
- HttpServletRequest req, HttpServletResponse resp,
- ControllerErrors errorMgr) throws ServletException, IOException {
-
+ public void doAction(
+ IdentifiedUser user,
+ GitHubLogin hubLogin,
+ HttpServletRequest req,
+ HttpServletResponse resp,
+ ControllerErrors errorMgr)
+ throws ServletException, IOException {
+
GitImporter gitCloner = cloneProvider.get(req);
gitCloner.reset();
Set<Entry<String, String[]>> params = req.getParameterMap().entrySet();
@@ -49,29 +50,25 @@
String paramName = param.getKey();
String[] paramValue = param.getValue();
- if (!paramName.startsWith(REPO_PARAM_PREFIX) || paramValue.length != 1
+ if (!paramName.startsWith(REPO_PARAM_PREFIX)
+ || paramValue.length != 1
|| paramName.split("_").length != 2) {
continue;
}
String repoIdxString = paramName.split("_")[1];
- if(!Character.isDigit(repoIdxString.charAt(0))) {
+ if (!Character.isDigit(repoIdxString.charAt(0))) {
continue;
}
-
+
int repoIdx = Integer.parseInt(repoIdxString);
- String organisation =
- req.getParameter(REPO_PARAM_PREFIX + repoIdx + "_organisation");
- String repository =
- req.getParameter(REPO_PARAM_PREFIX + repoIdx + "_repository");
- String description =
- req.getParameter(REPO_PARAM_PREFIX + repoIdx + "_description");
+ String organisation = req.getParameter(REPO_PARAM_PREFIX + repoIdx + "_organisation");
+ String repository = req.getParameter(REPO_PARAM_PREFIX + repoIdx + "_repository");
+ String description = req.getParameter(REPO_PARAM_PREFIX + repoIdx + "_description");
try {
- gitCloner.clone(repoIdx, organisation, repository,
- description);
+ gitCloner.clone(repoIdx, organisation, repository, description);
} catch (Exception e) {
errorMgr.submit(e);
}
-
}
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneStatusController.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneStatusController.java
index e8c2f05..ad823b2 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneStatusController.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesCloneStatusController.java
@@ -16,19 +16,17 @@
import com.google.gerrit.server.IdentifiedUser;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-
import com.googlesource.gerrit.plugins.github.git.GitImporter;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
import com.googlesource.gerrit.plugins.github.oauth.ScopedProvider;
-
import java.io.IOException;
-
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Singleton
-public class RepositoriesCloneStatusController extends JobStatusController implements VelocityController {
+public class RepositoriesCloneStatusController extends JobStatusController
+ implements VelocityController {
private ScopedProvider<GitImporter> clonerProvider;
@Inject
@@ -37,8 +35,12 @@
}
@Override
- public void doAction(IdentifiedUser user, GitHubLogin hubLogin,
- HttpServletRequest req, HttpServletResponse resp, ControllerErrors errors)
+ public void doAction(
+ IdentifiedUser user,
+ GitHubLogin hubLogin,
+ HttpServletRequest req,
+ HttpServletResponse resp,
+ ControllerErrors errors)
throws ServletException, IOException {
respondWithJobStatusJson(resp, clonerProvider.get(req));
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesListController.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesListController.java
index 281e3bd..4174c20 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesListController.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/RepositoriesListController.java
@@ -24,7 +24,10 @@
import com.google.inject.Singleton;
import com.googlesource.gerrit.plugins.github.GitHubConfig;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
-
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.kohsuke.github.GHMyself.RepositoryListFilter;
import org.kohsuke.github.GHOrganization;
import org.kohsuke.github.GHRepository;
@@ -33,36 +36,31 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
@Singleton
public class RepositoriesListController implements VelocityController {
private static final Logger log = LoggerFactory.getLogger(RepositoriesListController.class);
private final ProjectCache projects;
private final GitHubConfig config;
-
@Inject
- public RepositoriesListController(final ProjectCache projects,
- final GitHubConfig config) {
+ public RepositoriesListController(final ProjectCache projects, final GitHubConfig config) {
this.projects = projects;
this.config = config;
}
@Override
- public void doAction(IdentifiedUser user, GitHubLogin hubLogin,
- HttpServletRequest req, HttpServletResponse resp, ControllerErrors errors)
+ public void doAction(
+ IdentifiedUser user,
+ GitHubLogin hubLogin,
+ HttpServletRequest req,
+ HttpServletResponse resp,
+ ControllerErrors errors)
throws ServletException, IOException {
String organisation = req.getParameter("organisation");
JsonArray jsonRepos = new JsonArray();
int numRepos = 0;
- PagedIterator<GHRepository> repoIter =
- getRepositories(hubLogin, organisation).iterator();
+ PagedIterator<GHRepository> repoIter = getRepositories(hubLogin, organisation).iterator();
while (repoIter.hasNext() && numRepos < config.repositoryListLimit) {
GHRepository ghRepository = repoIter.next();
@@ -73,27 +71,28 @@
repository.add("name", new JsonPrimitive(ghRepository.getName()));
repository.add("organisation", new JsonPrimitive(organisation));
repository.add(
- "description",
- new JsonPrimitive(Strings.nullToEmpty(ghRepository
- .getDescription())));
- repository
- .add("private", new JsonPrimitive(new Boolean(ghRepository.isPrivate())));
+ "description", new JsonPrimitive(Strings.nullToEmpty(ghRepository.getDescription())));
+ repository.add("private", new JsonPrimitive(new Boolean(ghRepository.isPrivate())));
jsonRepos.add(repository);
numRepos++;
}
} else {
- log.warn("Skipping repository {} because user {} has no push/pull access to it",
- ghRepository.getName(), user.getUserName());
+ log.warn(
+ "Skipping repository {} because user {} has no push/pull access to it",
+ ghRepository.getName(),
+ user.getUserName());
}
}
resp.getWriter().println(jsonRepos.toString());
}
- private PagedIterable<GHRepository> getRepositories(GitHubLogin hubLogin,
- String organisation) throws IOException {
+ private PagedIterable<GHRepository> getRepositories(GitHubLogin hubLogin, String organisation)
+ throws IOException {
if (organisation.equals(hubLogin.getMyself().getLogin())) {
- return hubLogin.getMyself().listRepositories(config.repositoryListPageSize, RepositoryListFilter.OWNER);
+ return hubLogin
+ .getMyself()
+ .listRepositories(config.repositoryListPageSize, RepositoryListFilter.OWNER);
}
GHOrganization ghOrganisation =
hubLogin.getMyself().getAllOrganizations().byLogin(organisation);
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/VelocityController.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/VelocityController.java
index 12da108..83c130b 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/VelocityController.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/VelocityController.java
@@ -14,20 +14,19 @@
package com.googlesource.gerrit.plugins.github.wizard;
import com.google.gerrit.server.IdentifiedUser;
-
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
-
import java.io.IOException;
-
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
-
public interface VelocityController {
- void doAction(IdentifiedUser user, GitHubLogin hubLogin,
- HttpServletRequest req, HttpServletResponse resp, ControllerErrors errors)
+ void doAction(
+ IdentifiedUser user,
+ GitHubLogin hubLogin,
+ HttpServletRequest req,
+ HttpServletResponse resp,
+ ControllerErrors errors)
throws ServletException, IOException;
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/VelocityControllerServlet.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/VelocityControllerServlet.java
index bd908e7..845399e 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/VelocityControllerServlet.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/VelocityControllerServlet.java
@@ -18,29 +18,24 @@
import com.google.inject.Injector;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-
import com.googlesource.gerrit.plugins.github.GitHubConfig;
import com.googlesource.gerrit.plugins.github.GitHubConfig.NextPage;
import com.googlesource.gerrit.plugins.github.oauth.GitHubLogin;
import com.googlesource.gerrit.plugins.github.oauth.ScopedProvider;
-
-import org.apache.http.HttpStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.IOException;
-
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.http.HttpStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
@Singleton
public class VelocityControllerServlet extends HttpServlet {
private static final long serialVersionUID = 5565594120346641704L;
- private static final Logger log = LoggerFactory
- .getLogger(VelocityControllerServlet.class);
+ private static final Logger log = LoggerFactory.getLogger(VelocityControllerServlet.class);
private static final String CONTROLLER_PACKAGE =
VelocityControllerServlet.class.getPackage().getName();
private final ScopedProvider<GitHubLogin> loginProvider;
@@ -50,9 +45,12 @@
private final GitHubConfig githubConfig;
@Inject
- public VelocityControllerServlet(final ScopedProvider<GitHubLogin> loginProvider,
- Provider<IdentifiedUser> userProvider, final Injector injector,
- Provider<ControllerErrors> errorsProvider, GitHubConfig githubConfig) {
+ public VelocityControllerServlet(
+ final ScopedProvider<GitHubLogin> loginProvider,
+ Provider<IdentifiedUser> userProvider,
+ final Injector injector,
+ Provider<ControllerErrors> errorsProvider,
+ GitHubConfig githubConfig) {
this.loginProvider = loginProvider;
this.userProvider = userProvider;
this.injector = injector;
@@ -70,12 +68,11 @@
try {
Class<? extends VelocityController> controllerClass =
- (Class<? extends VelocityController>) Class
- .forName(CONTROLLER_PACKAGE + "." + controllerName + "Controller");
+ (Class<? extends VelocityController>)
+ Class.forName(CONTROLLER_PACKAGE + "." + controllerName + "Controller");
controller = injector.getInstance(controllerClass);
} catch (ClassNotFoundException e) {
- log.debug("Cannot find any controller for servlet "
- + req.getServletPath());
+ log.debug("Cannot find any controller for servlet " + req.getServletPath());
redirectToNextStep(req, resp);
return;
}
@@ -85,8 +82,7 @@
WrappedResponse wrappedResp = new WrappedResponse(resp);
controller.doAction(user, hubLogin, req, wrappedResp, errorsProvider.get());
- if (wrappedResp.getStatus() == 0 ||
- wrappedResp.getStatus() == HttpStatus.SC_OK) {
+ if (wrappedResp.getStatus() == 0 || wrappedResp.getStatus() == HttpStatus.SC_OK) {
redirectToNextStep(req, resp);
}
}
@@ -100,8 +96,7 @@
String[] controllerNameParts = reqServletName.split("-");
for (String namePart : controllerNameParts) {
- controllerName.append(Character.toUpperCase(namePart.charAt(0))
- + namePart.substring(1));
+ controllerName.append(Character.toUpperCase(namePart.charAt(0)) + namePart.substring(1));
}
return controllerName.toString();
}
@@ -120,8 +115,8 @@
return string;
}
- private void redirectToNextStep(HttpServletRequest req,
- HttpServletResponse resp) throws IOException, ServletException {
+ private void redirectToNextStep(HttpServletRequest req, HttpServletResponse resp)
+ throws IOException, ServletException {
String sourceUri = req.getPathInfo();
int pathPos = sourceUri.lastIndexOf('/') + 1;
String sourcePage = sourceUri.substring(pathPos);
@@ -144,7 +139,6 @@
}
private String nextPageURL(String sourcePath, NextPage nextPage) {
- return nextPage.uri.startsWith("/") ? nextPage.uri
- : sourcePath + nextPage.uri;
+ return nextPage.uri.startsWith("/") ? nextPage.uri : sourcePath + nextPage.uri;
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/WrappedResponse.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/WrappedResponse.java
index 89fb9a8..013a890 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/WrappedResponse.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/WrappedResponse.java
@@ -21,5 +21,4 @@
public WrappedResponse(HttpServletResponse response) {
super(response);
}
-
}