Jason Pyeron
2012-08-19 d1231c63669f4bc3643985b9032de7f998612e08
src/com/gitblit/wicket/pages/RepositoriesPage.java
@@ -16,17 +16,19 @@
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;
@@ -120,14 +122,17 @@
            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");
            }
         }
      }
@@ -135,35 +140,38 @@
   }
   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();
   }
}