1 10 package org.mmbase.servlet; 11 12 import java.io.*; 13 import javax.servlet.*; 14 import javax.servlet.http.*; 15 16 import org.mmbase.module.sessionsInterface; 17 import org.mmbase.module.core.MMBaseContext; 18 import org.mmbase.module.gui.flash.*; 19 import org.mmbase.util.scanpage; 20 import org.mmbase.util.logging.Logger; 21 import org.mmbase.util.logging.Logging; 22 23 28 public class servflash extends JamesServlet { 29 private static Logger log; 30 31 private MMFlash gen; 32 private static sessionsInterface sessions = null; 33 34 public void init() throws ServletException { 35 super.init(); 36 log = Logging.getLoggerInstance(servflash.class); 38 } 39 40 public void setMMBase(org.mmbase.module.core.MMBase mmb) { 41 super.setMMBase(mmb); 42 try { 43 MMBaseContext.initHtmlRoot(); 44 } catch (ServletException se) { 45 log.error(se); 46 } 47 gen = (MMFlash)getModule("mmflash"); 48 sessions = (sessionsInterface)getModule("SESSION"); 49 } 50 51 54 public void reload() { 55 } 56 57 61 public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { 62 if (!checkInited(res)) { 63 return; 64 } 65 66 incRefCount(req); 67 try { 68 pageLog.service("Parsing FLASH page: " + req.getRequestURI()); 69 BufferedOutputStream out = null; 70 try { 71 out = new BufferedOutputStream(res.getOutputStream()); 72 } catch (Exception e) { 73 log.error(Logging.stackTrace(e)); 74 } 75 if (gen != null) { 76 scanpage sp = new scanpage(this, req, res, sessions); 77 if (req.getRequestURI().endsWith(".swt")) { 78 res.setContentType("text/plain"); 79 byte[] bytes = gen.getDebugSwt(sp); 80 if (bytes != null) { 81 out.write(bytes, 0, bytes.length); 82 } else { 83 res.sendError(404); 84 } 85 } else { 86 res.setContentType(sp.mimetype); byte[] bytes = gen.getScanParsedFlash(sp); 88 if (bytes != null) { 89 out.write(bytes, 0, bytes.length); 90 } else { 91 res.sendError(404); 92 } 93 } 94 } 95 pageLog.debug("END Parsing FLASH page"); 96 } 97 finally { 98 decRefCount(req); 99 } 100 } 101 } 102 | Popular Tags |