Do not encode file path in URL of preview diff screens If the path is encoded the diff fails to load. Not encoding the file path in the URL of the preview diff screen is consistent with the URL of the normal diff screens where the file path is also not encoded. Change-Id: I8fe742f9c371d9cefd8c086504b96c98391f629c Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/SideBySideDiffPreviewWebLink.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/SideBySideDiffPreviewWebLink.java index 2cf03c7..27c04bf 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/SideBySideDiffPreviewWebLink.java +++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/SideBySideDiffPreviewWebLink.java
@@ -16,7 +16,6 @@ import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.common.DiffWebLinkInfo; -import com.google.gerrit.extensions.restapi.Url; import com.google.gerrit.extensions.webui.DiffWebLink; import com.google.inject.Inject; @@ -39,21 +38,21 @@ @Override public DiffWebLinkInfo getDiffLink(String projectName, int changeId, - Integer patchSetIdA, String revisionA, String fileNameA, int patchSetIdB, - String revisionB, String fileNameB) { - FormatterProvider formatter = formatters.get(projectName, fileNameB); + Integer patchSetIdA, String revisionA, String pathA, int patchSetIdB, + String revisionB, String pathB) { + FormatterProvider formatter = formatters.get(projectName, pathB); if (formatter == null) { return null; } return DiffWebLinkInfo.forSideBySideDiffView(SIDE_BY_SIDE_PREVIEW_DIFF, "plugins/" + pluginName + "/static/sideBySideDiffPreview.png", - getUrl(pluginName, changeId, patchSetIdA, patchSetIdB, fileNameB), + getUrl(pluginName, changeId, patchSetIdA, patchSetIdB, pathB), Target.SELF); } public static String getUrl(String pluginName, int changeId, - Integer patchSetIdA, int patchSetIdB, String fileName) { + Integer patchSetIdA, int patchSetIdB, String path) { StringBuilder url = new StringBuilder(); url.append("#/x/"); url.append(pluginName); @@ -66,7 +65,7 @@ } url.append(patchSetIdB); url.append("/"); - url.append(Url.encode(fileName)); + url.append(path); return url.toString(); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/UnifiedDiffPreviewWebLink.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/UnifiedDiffPreviewWebLink.java index efdfa07..f51c2b6 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/UnifiedDiffPreviewWebLink.java +++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/UnifiedDiffPreviewWebLink.java
@@ -38,22 +38,22 @@ @Override public DiffWebLinkInfo getDiffLink(String projectName, int changeId, - Integer patchSetIdA, String revisionA, String fileNameA, int patchSetIdB, - String revisionB, String fileNameB) { - FormatterProvider formatter = formatters.get(projectName, fileNameB); + Integer patchSetIdA, String revisionA, String pathA, int patchSetIdB, + String revisionB, String pathB) { + FormatterProvider formatter = formatters.get(projectName, pathB); if (formatter == null) { return null; } return DiffWebLinkInfo.forUnifiedDiffView(UNIFIED_PREVIEW_DIFF, "plugins/" + pluginName + "/static/unifiedDiffPreview.png", - getUrl(pluginName, changeId, patchSetIdA, patchSetIdB, fileNameB), + getUrl(pluginName, changeId, patchSetIdA, patchSetIdB, pathB), Target.SELF); } private static String getUrl(String pluginName, int changeId, - Integer patchSetIdA, int patchSetIdB, String fileName) { + Integer patchSetIdA, int patchSetIdB, String path) { return SideBySideDiffPreviewWebLink.getUrl(pluginName, changeId, - patchSetIdA, patchSetIdB, fileName) + ",unified"; + patchSetIdA, patchSetIdB, path) + ",unified"; } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/PatchSetSelectBox.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/PatchSetSelectBox.java index 8ced54b..21ddf00 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/PatchSetSelectBox.java +++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/PatchSetSelectBox.java
@@ -16,7 +16,6 @@ import com.google.gerrit.plugin.client.Plugin; import com.google.gwt.core.client.JsArray; -import com.google.gwt.http.client.URL; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.InlineHyperlink; import com.google.gwt.user.client.ui.Label; @@ -150,7 +149,7 @@ } url.append(patchSetIdB); url.append("/"); - url.append(URL.encode(path)); + url.append(path); if (diffView == DiffView.UNIFIED_DIFF) { url.append(",unified"); }