View Javadoc

1   package org.paneris.bibliomania.pagination;
2   
3   import java.io.File;
4   import java.io.FileNotFoundException;
5   import java.io.FileReader;
6   import java.io.IOException;
7   
8   import org.melati.Melati;
9   import org.melati.util.IoUtils;
10  import org.paneris.bibliomania.BibliomaniaDatabase;
11  import org.paneris.bibliomania.BibliomaniaServlet;
12  import org.webmacro.WebMacroException;
13  import org.webmacro.servlet.HandlerException;
14  import org.webmacro.servlet.WebContext;
15  
16  public class ShowTexLog extends BibliomaniaServlet {
17  
18    private static final long serialVersionUID = 1L;
19  
20    protected String area() {
21      return "Admin";
22    }
23  
24    protected String bibliomaniaHandle(Melati melati, WebContext context)
25        throws WebMacroException {
26      File log = new File(context.getForm("texLogFile"));
27      if (!((BibliomaniaDatabase)melati.getDatabase()).pagination().
28              isTempFile(log))
29        throw new HandlerException("access to " + log + " not granted");
30  
31      try {
32        context.put("log", new String(IoUtils.slurp(new FileReader(log), 4096)));
33      } catch (FileNotFoundException e) {
34        throw new HandlerException("File" + log + " not found:" + e.toString());
35      } catch (IOException e) {
36        throw new HandlerException(e.toString());
37      }
38  
39      return bibliomaniaTemplate("pagination/TexLog.wm");
40    }
41  }