Honor project specific MIME types when getting formatter Projects are allowed to map files to specific MIME types using configuration settings stored inside of project.config Change-Id: Ide82fea14d2b3d6b24ff09968022a8624ffc8aca Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/formatter/Formatters.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/formatter/Formatters.java index faa2160..0bf1150 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/formatter/Formatters.java +++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/formatter/Formatters.java
@@ -22,10 +22,12 @@ import static com.googlesource.gerrit.plugins.xdocs.XDocGlobalConfig.KEY_PRIO; import static com.googlesource.gerrit.plugins.xdocs.XDocGlobalConfig.SECTION_FORMATTER; +import com.google.gerrit.common.data.PatchScript.FileMode; import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.mime.FileTypeRegistry; +import com.google.gerrit.server.change.FileContentUtil; import com.google.gerrit.server.config.PluginConfigFactory; import com.google.gerrit.server.project.ProjectCache; import com.google.gerrit.server.project.ProjectState; @@ -83,6 +85,8 @@ XDocGlobalConfig globalCfg = new XDocGlobalConfig( pluginCfgFactory.getGlobalPluginConfig(pluginName)); MimeType mimeType = fileTypeRegistry.getMimeType(fileName, null); + mimeType = new MimeType(FileContentUtil.resolveContentType( + project, fileName, FileMode.FILE, mimeType.toString())); String extension = FilenameUtils.getExtension(fileName); FormatterProvider formatter = null; int formatterPrio = 0;