Merge branch 'stable-2.15'
* stable-2.15:
Assure that project is quoted in download command
Change-Id: I5e4647a34c09b5e940756b295857871e3e5fecfb
diff --git a/src/main/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHook.java b/src/main/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHook.java
index adb0ca8..d55a2ed 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHook.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHook.java
@@ -22,6 +22,7 @@
import com.googlesource.gerrit.plugins.download.scheme.AnonymousHttpScheme;
import com.googlesource.gerrit.plugins.download.scheme.HttpScheme;
import com.googlesource.gerrit.plugins.download.scheme.SshScheme;
+import java.util.Optional;
import org.eclipse.jgit.lib.Config;
public class CloneWithCommitMsgHook extends CloneCommand {
@@ -44,8 +45,8 @@
@Override
public String getCommand(DownloadScheme scheme, String project) {
- String username = userProvider.get().getUserName();
- if (username == null) {
+ Optional<String> username = userProvider.get().getUserName();
+ if (!username.isPresent()) {
return null;
}
String projectName = getBaseName(project);
@@ -70,7 +71,7 @@
}
b.append(" ")
- .append(username)
+ .append(username.get())
.append("@")
.append(sshScheme.getSshdHost())
.append(":")
diff --git a/src/main/java/com/googlesource/gerrit/plugins/download/command/GitDownloadCommand.java b/src/main/java/com/googlesource/gerrit/plugins/download/command/GitDownloadCommand.java
index 301abeb..eb1b06f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/download/command/GitDownloadCommand.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/download/command/GitDownloadCommand.java
@@ -14,6 +14,7 @@
package com.googlesource.gerrit.plugins.download.command;
+import com.google.common.flogger.FluentLogger;
import com.google.gerrit.extensions.client.GeneralPreferencesInfo;
import com.google.gerrit.extensions.config.DownloadCommand;
import com.google.gerrit.extensions.config.DownloadScheme;
@@ -31,11 +32,9 @@
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.transport.URIish;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
abstract class GitDownloadCommand extends DownloadCommand {
- private static final Logger log = LoggerFactory.getLogger(GitDownloadCommand.class);
+ private static final FluentLogger logger = FluentLogger.forEnclosingClass();
private static final String DOWNLOAD = "download";
private static final String UPLOADPACK = "uploadpack";
@@ -106,15 +105,15 @@
if (id != null) {
return id.name();
}
- log.error("Cannot resolve ref {} in project {}", ref, project);
+ logger.atSevere().log("Cannot resolve ref %s in project %s", ref, project);
return null;
}
return ref;
} catch (RepositoryNotFoundException e) {
- log.error("Missing project: {}", project, e);
+ logger.atSevere().withCause(e).log("Missing project: %s", project);
return null;
} catch (IOException e) {
- log.error("Failed to lookup project {} from cache", project, e);
+ logger.atSevere().withCause(e).log("Failed to lookup project %s from cache", project);
return null;
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/download/scheme/HttpScheme.java b/src/main/java/com/googlesource/gerrit/plugins/download/scheme/HttpScheme.java
index 0e5bbee..3fabaa5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/download/scheme/HttpScheme.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/download/scheme/HttpScheme.java
@@ -63,8 +63,10 @@
}
String host = base.substring(p + 3, s);
r.append(base.substring(0, p + 3));
- r.append(userProvider.get().getUserName());
- r.append("@");
+ if (userProvider.get().getUserName().isPresent()) {
+ r.append(userProvider.get().getUserName().get());
+ r.append("@");
+ }
r.append(host);
r.append(base.substring(s));
r.append("a/");
diff --git a/src/main/java/com/googlesource/gerrit/plugins/download/scheme/SshScheme.java b/src/main/java/com/googlesource/gerrit/plugins/download/scheme/SshScheme.java
index ac198fb..e775d95 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/download/scheme/SshScheme.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/download/scheme/SshScheme.java
@@ -16,7 +16,6 @@
import static com.google.gerrit.reviewdb.client.CoreDownloadSchemes.SSH;
-import com.google.common.base.Strings;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.extensions.config.DownloadScheme;
import com.google.gerrit.server.CurrentUser;
@@ -28,6 +27,7 @@
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
+import java.util.Optional;
public class SshScheme extends DownloadScheme {
private final String sshdAddress;
@@ -84,14 +84,15 @@
if (!isEnabled() || !userProvider.get().isIdentifiedUser()) {
return null;
}
- String username = userProvider.get().getUserName();
- if (Strings.isNullOrEmpty(username)) {
+
+ Optional<String> username = userProvider.get().getUserName();
+ if (!username.isPresent()) {
return null;
}
StringBuilder r = new StringBuilder();
r.append("ssh://");
- r.append(username);
+ r.append(username.get());
r.append("@");
r.append(ensureSlash(sshdAddress));
r.append(project);