diff --git a/services/git-bridge/bin/config.json b/services/git-bridge/bin/config.json index a34a3c7b61..9596adf60a 100644 --- a/services/git-bridge/bin/config.json +++ b/services/git-bridge/bin/config.json @@ -4,5 +4,6 @@ "apiKey": "", "hostname": "https://radiant-wind-3058.herokuapp.com/", "username": "staging", - "password": "6kUfbv0R" + "password": "6kUfbv0R", + "serviceName": "WriteLatex" } diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/application/Config.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/application/Config.java index dae5a557e7..b29a6f3e6d 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/application/Config.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/application/Config.java @@ -21,6 +21,7 @@ public class Config implements JSONSource { private String username; private String password; private String hostname; + private String serviceName; public Config(String configFilePath) throws InvalidConfigFileException, IOException { try { @@ -36,9 +37,10 @@ public class Config implements JSONSource { port = getElement(configObject, "port").getAsInt(); rootGitDirectory = getElement(configObject, "rootGitDirectory").getAsString(); apiKey = getElement(configObject, "apiKey").getAsString(); - username = getElement(configObject, "username").getAsString(); - password = getElement(configObject, "password").getAsString(); + username = getOptionalString(configObject, "username"); + password = getOptionalString(configObject, "password"); hostname = getElement(configObject, "hostname").getAsString(); + serviceName = getElement(configObject, "serviceName").getAsString(); } public int getPort() { @@ -73,4 +75,16 @@ public class Config implements JSONSource { return element; } + private String getOptionalString(JsonObject configObject, String name) { + JsonElement element = configObject.get(name); + if (element == null || !element.isJsonPrimitive()) { + return ""; + } + return element.getAsString(); + } + + public String getServiceName() { + return serviceName; + } + } diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/application/WLGitBridgeServer.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/application/WLGitBridgeServer.java index f39a16e8d2..0eff6758f3 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/application/WLGitBridgeServer.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/application/WLGitBridgeServer.java @@ -11,6 +11,7 @@ import uk.ac.ic.wlgitbridge.application.jetty.NullLogger; import uk.ac.ic.wlgitbridge.bridge.WriteLatexDataSource; import uk.ac.ic.wlgitbridge.git.exception.InvalidRootDirectoryPathException; import uk.ac.ic.wlgitbridge.git.servlet.WLGitServlet; +import uk.ac.ic.wlgitbridge.util.Util; import uk.ac.ic.wlgitbridge.writelatex.WriteLatexAPI; import uk.ac.ic.wlgitbridge.writelatex.api.request.base.SnapshotAPIRequest; import uk.ac.ic.wlgitbridge.writelatex.model.WLDataModel; @@ -31,6 +32,7 @@ public class WLGitBridgeServer { private final Server jettyServer; private final int port; private String rootGitDirectoryPath; + private String writeLatexHostname; /** * Constructs an instance of the server. @@ -50,7 +52,9 @@ public class WLGitBridgeServer { public WLGitBridgeServer(Config config) throws ServletException, InvalidRootDirectoryPathException { this(config.getPort(), config.getRootGitDirectory(), config.getAPIKey()); SnapshotAPIRequest.setBasicAuth(config.getUsername(), config.getPassword()); - SnapshotAPIRequest.setBaseURL(config.getHostname()); + writeLatexHostname = config.getHostname(); + SnapshotAPIRequest.setBaseURL(writeLatexHostname); + Util.setServiceName(config.getServiceName()); } /** @@ -62,6 +66,7 @@ public class WLGitBridgeServer { System.out.println(); System.out.println("WriteLatex-Git Bridge server started"); System.out.println("Listening on port: " + port); + System.out.println("Bridged to: " + writeLatexHostname); System.out.println("Root git directory path: " + rootGitDirectoryPath); } catch (BindException e) { e.printStackTrace(); diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/handler/WLUploadPackFactory.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/handler/WLUploadPackFactory.java index cd9398a56b..5d3b1975d9 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/handler/WLUploadPackFactory.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/git/handler/WLUploadPackFactory.java @@ -5,6 +5,7 @@ import org.eclipse.jgit.transport.UploadPack; import org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException; import org.eclipse.jgit.transport.resolver.ServiceNotEnabledException; import org.eclipse.jgit.transport.resolver.UploadPackFactory; +import uk.ac.ic.wlgitbridge.util.Util; import javax.servlet.http.HttpServletRequest; @@ -15,7 +16,7 @@ public class WLUploadPackFactory implements UploadPackFactory extends Request { } public static void setBaseURL(String baseURL) { + if (!(baseURL.endsWith("/"))) { + baseURL += "/"; + } BASE_URL = baseURL; } diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/getsavedvers/SnapshotInfo.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/getsavedvers/SnapshotInfo.java index c9f0407442..f5359bbd70 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/getsavedvers/SnapshotInfo.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/getsavedvers/SnapshotInfo.java @@ -1,5 +1,7 @@ package uk.ac.ic.wlgitbridge.writelatex.api.request.getsavedvers; +import uk.ac.ic.wlgitbridge.util.Util; + /** * Created by Winston on 06/11/14. */ @@ -12,7 +14,7 @@ public class SnapshotInfo { public SnapshotInfo(int versionID, String createdAt, String name, String email) { this.versionId = versionID; - comment = "Update on WriteLatex.com."; + comment = "Update on " + Util.getServiceName() + "."; user = new WLUser(name, email); this.createdAt = createdAt; } diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/push/exception/InvalidFilesException.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/push/exception/InvalidFilesException.java index 08ba8e67fa..1b5e5ff455 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/push/exception/InvalidFilesException.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/push/exception/InvalidFilesException.java @@ -3,6 +3,7 @@ package uk.ac.ic.wlgitbridge.writelatex.api.request.push.exception; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import uk.ac.ic.wlgitbridge.util.Util; import java.util.LinkedList; import java.util.List; @@ -32,7 +33,7 @@ public class InvalidFilesException extends SnapshotPostException { public void fromJSON(JsonElement json) { descriptionLines = new LinkedList(); JsonArray errors = json.getAsJsonObject().get("errors").getAsJsonArray(); - descriptionLines.add("You have " + errors.size() + " invalid files in your WriteLatex project:"); + descriptionLines.add("You have " + errors.size() + " invalid files in your " + Util.getServiceName() + " project:"); for (JsonElement error : errors) { descriptionLines.add(describeError(error.getAsJsonObject())); } diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/push/exception/UnexpectedErrorException.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/push/exception/UnexpectedErrorException.java index 961592243d..492428a79c 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/push/exception/UnexpectedErrorException.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/api/request/push/exception/UnexpectedErrorException.java @@ -2,6 +2,7 @@ package uk.ac.ic.wlgitbridge.writelatex.api.request.push.exception; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import uk.ac.ic.wlgitbridge.util.Util; import java.util.Arrays; import java.util.List; @@ -12,8 +13,8 @@ import java.util.List; public class UnexpectedErrorException extends SnapshotPostException { private static final String[] DESCRIPTION_LINES = { - "There was an internal error with the WriteLatex server.", - "Please contact WriteLatex." + "There was an internal error with the " + Util.getServiceName() + " server.", + "Please contact " + Util.getServiceName() + "." }; public UnexpectedErrorException(JsonObject json) { @@ -22,7 +23,7 @@ public class UnexpectedErrorException extends SnapshotPostException { @Override public String getMessage() { - return "writelatex error"; + return Util.getServiceName() + " error"; } @Override diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/Snapshot.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/Snapshot.java index 067f862964..8bd927dd0c 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/Snapshot.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/Snapshot.java @@ -1,5 +1,6 @@ package uk.ac.ic.wlgitbridge.writelatex.model; +import uk.ac.ic.wlgitbridge.util.Util; import uk.ac.ic.wlgitbridge.writelatex.api.request.getforversion.SnapshotAttachment; import uk.ac.ic.wlgitbridge.writelatex.api.request.getforversion.SnapshotData; import uk.ac.ic.wlgitbridge.writelatex.api.request.getforversion.SnapshotFile; @@ -49,7 +50,7 @@ public class Snapshot implements Comparable { this.versionID = versionID; comment = "Most recent update"; userName = "Anonymous"; - userEmail = "anonymous@writelatex.com"; + userEmail = "anonymous@" + Util.getServiceName() + ".com"; createdAt = new Date(); srcs = new LinkedList();