1 10 package org.mmbase.servlet; 11 12 import java.io.IOException ; 13 14 import javax.servlet.ServletException ; 15 import javax.servlet.http.*; 16 17 import org.mmbase.module.builders.Jumpers; 18 import org.mmbase.util.logging.*; 19 20 31 public class servjumpers extends JamesServlet { 32 private static final Logger log = Logging.getLoggerInstance(servjumpers.class); 33 34 public void init() throws ServletException { 35 super.init(); 36 log.info("Init of servlet " + getServletConfig().getServletName() + "."); 38 } 39 40 51 public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException ,IOException { 52 incRefCount(req); try { 54 String url = null; 55 String tmpr = req.getRequestURI().substring(1); 56 if (tmpr.indexOf('.') == -1 && (!tmpr.endsWith("/"))) url = getUrl(tmpr); 57 if (url != null) { 58 res.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); res.setContentType("text/html"); 60 res.setHeader("Location", url); 61 return; 62 } 63 } 64 finally { decRefCount(req); 66 } 67 } 68 69 75 protected String getUrl(String key) { 76 String url = null; 77 Jumpers bul = null; 78 if (mmbase != null) { 79 bul = (Jumpers) mmbase.getMMObject("jumpers"); 80 } 81 if (bul != null) { 82 if (key.endsWith("/")) { 83 url = bul.getJump(key.substring(0, key.length() - 1)); 84 } else { 85 url = bul.getJump(key); 86 } 87 if (url != null) return url; 88 } else { 89 log.error("servjumpers -> can't access NodeManager jumpers (check jumpers.xml)"); 90 } 91 return null; 92 } 93 } 94 | Popular Tags |