| | |
| | | package com.gitblit.wicket.pages;
|
| | |
|
| | | import java.io.File;
|
| | | import java.io.FileReader;
|
| | | import java.io.FileInputStream;
|
| | | import java.io.FileNotFoundException;
|
| | | import java.io.InputStream;
|
| | | import java.io.InputStreamReader;
|
| | | import java.text.MessageFormat;
|
| | | import java.util.List;
|
| | |
|
| | | import org.apache.wicket.Application;
|
| | | import org.apache.wicket.Component;
|
| | | import org.apache.wicket.PageParameters;
|
| | | import org.apache.wicket.markup.html.basic.Label;
|
| | | import org.apache.wicket.resource.ContextRelativeResource;
|
| | | import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
|
| | | import org.eclipse.jgit.lib.Constants;
|
| | |
|
| | | import com.gitblit.GitBlit;
|
| | | import com.gitblit.Keys;
|
| | |
| | | File file = new File(messageSource);
|
| | | if (file.exists()) {
|
| | | try {
|
| | | FileReader reader = new FileReader(file);
|
| | | FileInputStream fis = new FileInputStream(file);
|
| | | InputStreamReader reader = new InputStreamReader(fis,
|
| | | Constants.CHARACTER_ENCODING);
|
| | | message = MarkdownUtils.transformMarkdown(reader);
|
| | | reader.close();
|
| | | } catch (Throwable t) {
|
| | | message = "Failed to read " + file;
|
| | | message = getString("gb.failedToRead") + " " + file;
|
| | | warn(message, t);
|
| | | }
|
| | | } else {
|
| | | message = messageSource + " is not a valid file.";
|
| | | message = messageSource + " " + getString("gb.isNotValidFile");
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | private String readDefaultMarkdown(String file) {
|
| | | String content = readDefaultMarkdown(file, getLanguageCode());
|
| | | if (StringUtils.isEmpty(content)) {
|
| | | content = readDefaultMarkdown(file, null);
|
| | | }
|
| | | return content;
|
| | | }
|
| | | |
| | | private String readDefaultMarkdown(String file, String lc) {
|
| | | if (!StringUtils.isEmpty(lc)) {
|
| | | // convert to file_lc.mkd
|
| | | file = file.substring(0, file.lastIndexOf('.')) + "_" + lc + file.substring(file.lastIndexOf('.'));
|
| | | }
|
| | | String message;
|
| | | try {
|
| | | try { |
| | | ContextRelativeResource res = WicketUtils.getResource(file);
|
| | | InputStream is = res.getResourceStream().getInputStream();
|
| | | InputStreamReader reader = new InputStreamReader(is);
|
| | | InputStreamReader reader = new InputStreamReader(is, Constants.CHARACTER_ENCODING);
|
| | | message = MarkdownUtils.transformMarkdown(reader);
|
| | | reader.close();
|
| | | } catch (ResourceStreamNotFoundException t) {
|
| | | if (lc == null) {
|
| | | // could not find default language resource
|
| | | message = MessageFormat.format(getString("gb.failedToReadMessage"), file);
|
| | | error(message, t, false);
|
| | | } else {
|
| | | // ignore so we can try default language resource
|
| | | message = null;
|
| | | }
|
| | | } catch (Throwable t) {
|
| | | message = MessageFormat.format("Failed to read default message from {0}!", file);
|
| | | message = MessageFormat.format(getString("gb.failedToReadMessage"), file);
|
| | | error(message, t, false);
|
| | | }
|
| | | return message;
|
| | | }
|
| | |
|
| | | @Override
|
| | | protected void onBeforeRender() {
|
| | | if (GitBlit.isDebugMode()) {
|
| | | // strip Wicket tags in debug mode for jQuery DOM traversal
|
| | | Application.get().getMarkupSettings().setStripWicketTags(true);
|
| | | }
|
| | | super.onBeforeRender();
|
| | | }
|
| | |
|
| | | @Override
|
| | | protected void onAfterRender() {
|
| | | if (GitBlit.isDebugMode()) {
|
| | | // restore Wicket debug tags
|
| | | Application.get().getMarkupSettings().setStripWicketTags(false);
|
| | | }
|
| | | super.onAfterRender();
|
| | | }
|
| | | }
|