1 12 13 package com.openedit.servlet; 14 15 import java.io.File ; 16 import java.io.IOException ; 17 18 import javax.servlet.Filter ; 19 import javax.servlet.FilterChain ; 20 import javax.servlet.FilterConfig ; 21 import javax.servlet.ServletContext ; 22 import javax.servlet.ServletException ; 23 import javax.servlet.ServletRequest ; 24 import javax.servlet.ServletResponse ; 25 import javax.servlet.http.HttpServletRequest ; 26 import javax.servlet.http.HttpServletResponse ; 27 28 import com.openedit.BaseWebServer; 29 import com.openedit.OpenEditException; 30 31 public class OpenEditFilter implements Filter  32 { 33 private OpenEditEngine fieldEngine; 34 35 public void destroy() 36 { 37 getEngine().shutdown(); 38 } 39 40 50 public void doFilter(ServletRequest inRequest, ServletResponse inResponse, FilterChain chain) 51 throws IOException , ServletException  52 { 53 HttpServletRequest request = (HttpServletRequest ) inRequest; 54 55 HttpServletResponse response = (HttpServletResponse ) inResponse; 56 57 if (getEngine() == null) 58 { 59 response 60 .getWriter() 61 .print( 62 "<html>Open Edit Server is not initialized, please check the logs for errors</html>"); 63 64 return; 65 } 66 try 67 { 68 request.setAttribute("servletchain", chain); getEngine().render(request, response); 70 } 71 catch (OpenEditException ex) 72 { 73 throw new ServletException (ex); 74 } 75 } 76 77 80 public void init(FilterConfig inConfig) throws ServletException  81 { 82 ServletContext servletContext = inConfig.getServletContext(); 83 84 String rootPath = inConfig.getInitParameter("oe.root.path"); 85 86 if( rootPath == null) 87 { 88 rootPath = System.getProperty("oe.root.path"); 89 } 90 if( rootPath == null) 91 { 92 rootPath = servletContext.getRealPath("/"); 93 } 94 95 BaseWebServer server = new BaseWebServer(); 96 server.setRootDirectory(new File (rootPath)); 97 server.initialize(); 98 servletContext.setAttribute(server.getClass().getName(), server); fieldEngine = server.getOpenEditEngine(); 100 101 } 102 103 protected OpenEditEngine getEngine() 104 { 105 return fieldEngine; 106 } 107 } 108
| Popular Tags
|