Improved log configuration init.
This commit is contained in:
parent
cc4bec97c2
commit
ad97832f48
1 changed files with 46 additions and 54 deletions
|
@ -31,14 +31,16 @@ import org.apache.commons.lang3.StringUtils;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import fr.devinsy.kiss4web.catchers.BlankCatcher;
|
||||
import fr.devinsy.kiss4web.catchers.FolderCatcher;
|
||||
import fr.devinsy.kiss4web.catchers.LongURLCatcher;
|
||||
import fr.devinsy.kiss4web.catchers.RootCatcher;
|
||||
import fr.devinsy.kiss4web.catchers.ShortURLCatcher;
|
||||
import fr.devinsy.kiss4web.catchers.WebContentCatcher;
|
||||
import fr.devinsy.kiss4web.catchers.WebInfCatcher;
|
||||
import fr.devinsy.kiss4web.catchers.XHTMLCatcher;
|
||||
import fr.devinsy.kiss4web.hooks.BlankHook;
|
||||
import fr.devinsy.kiss4web.hooks.FolderHook;
|
||||
import fr.devinsy.kiss4web.hooks.Hook;
|
||||
import fr.devinsy.kiss4web.hooks.HookRegister;
|
||||
import fr.devinsy.kiss4web.hooks.LongURLHook;
|
||||
import fr.devinsy.kiss4web.hooks.RootHook;
|
||||
import fr.devinsy.kiss4web.hooks.ShortURLHook;
|
||||
import fr.devinsy.kiss4web.hooks.WebContentHook;
|
||||
import fr.devinsy.kiss4web.hooks.WebInfHook;
|
||||
import fr.devinsy.kiss4web.hooks.XHTMLHook;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -52,14 +54,14 @@ public class KissDispatcher extends HttpServlet
|
|||
private static Logger logger = LoggerFactory.getLogger(KissDispatcher.class);
|
||||
|
||||
public static final int DEFAULT_CACHE_AGE = 2 * 60 * 60;
|
||||
private String webclassesRootPackage;
|
||||
private KissClassCache cache;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public KissDispatcher()
|
||||
{
|
||||
this.webclassesRootPackage = null;
|
||||
this.cache = new KissClassCache();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -75,7 +77,7 @@ public class KissDispatcher extends HttpServlet
|
|||
* </pre>
|
||||
*
|
||||
*/
|
||||
public void dispatch(final HttpServletRequest request, final HttpServletResponse response, final String webClassesRootPath) throws IOException, ServletException
|
||||
public void dispatch(final HttpServletRequest request, final HttpServletResponse response) throws IOException, ServletException
|
||||
{
|
||||
long startTime = new Date().getTime();
|
||||
|
||||
|
@ -141,43 +143,30 @@ public class KissDispatcher extends HttpServlet
|
|||
*/
|
||||
// String urlPath = request.getPathInfo();
|
||||
|
||||
if (BlankCatcher.matches(request))
|
||||
HookRegister hookRegister = KissDispatcherFactory.instance().catchers();
|
||||
if (hookRegister.hooks().isEmpty())
|
||||
{
|
||||
BlankCatcher.doCatch(response);
|
||||
hookRegister.register(new BlankHook());
|
||||
hookRegister.register(new RootHook());
|
||||
hookRegister.register(new LongURLHook());
|
||||
hookRegister.register(new FolderHook());
|
||||
hookRegister.register(new ShortURLHook());
|
||||
hookRegister.register(new XHTMLHook());
|
||||
hookRegister.register(new WebContentHook());
|
||||
hookRegister.register(new WebInfHook());
|
||||
}
|
||||
else if (RootCatcher.matches(request))
|
||||
{
|
||||
RootCatcher.doCatch(this.getServletConfig(), request, response, webClassesRootPath);
|
||||
}
|
||||
else if (LongURLCatcher.matches(request))
|
||||
{
|
||||
LongURLCatcher.doCatch(this.getServletConfig(), request, response, webClassesRootPath);
|
||||
}
|
||||
else if (FolderCatcher.matches(request))
|
||||
{
|
||||
FolderCatcher.doCatch(this.getServletConfig(), request, response, webClassesRootPath);
|
||||
}
|
||||
else if (ShortURLCatcher.matches(request))
|
||||
{
|
||||
ShortURLCatcher.doCatch(this.getServletConfig(), request, response, webClassesRootPath);
|
||||
}
|
||||
else if (XHTMLCatcher.matches(request))
|
||||
{
|
||||
XHTMLCatcher.doCatch(this.getServletConfig(), request, response, webClassesRootPath);
|
||||
}
|
||||
else if (WebContentCatcher.matches(this.getServletContext(), request))
|
||||
{
|
||||
WebContentCatcher.doCatch(this.getServletContext(), request, response);
|
||||
}
|
||||
else if (WebInfCatcher.matches(this.getServletContext(), request, webClassesRootPath))
|
||||
{
|
||||
WebInfCatcher.doCatch(this.getServletContext(), request, response, webClassesRootPath);
|
||||
}
|
||||
else
|
||||
|
||||
// Search a matching catcher.
|
||||
Hook hook = hookRegister.getMatching(this.getServletContext(), request);
|
||||
if (hook == null)
|
||||
{
|
||||
logger.info("Request not satisfied [" + request.getPathInfo() + "]");
|
||||
response.sendError(HttpServletResponse.SC_NOT_FOUND);
|
||||
}
|
||||
else
|
||||
{
|
||||
hook.process(this.getServletConfig(), this.getServletContext(), request, response);
|
||||
}
|
||||
|
||||
//
|
||||
long endTime = new Date().getTime();
|
||||
|
@ -185,12 +174,12 @@ public class KissDispatcher extends HttpServlet
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
*
|
||||
*/
|
||||
@Override
|
||||
public void doDelete(final HttpServletRequest request, final HttpServletResponse response) throws IOException, ServletException
|
||||
{
|
||||
dispatch(request, response, this.webclassesRootPackage);
|
||||
dispatch(request, response);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -199,7 +188,7 @@ public class KissDispatcher extends HttpServlet
|
|||
@Override
|
||||
public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws IOException, ServletException
|
||||
{
|
||||
dispatch(request, response, this.webclassesRootPackage);
|
||||
dispatch(request, response);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -208,7 +197,7 @@ public class KissDispatcher extends HttpServlet
|
|||
@Override
|
||||
public void doPost(final HttpServletRequest request, final HttpServletResponse response) throws IOException, ServletException
|
||||
{
|
||||
dispatch(request, response, this.webclassesRootPackage);
|
||||
dispatch(request, response);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -217,12 +206,12 @@ public class KissDispatcher extends HttpServlet
|
|||
@Override
|
||||
public void doPut(final HttpServletRequest request, final HttpServletResponse response) throws IOException, ServletException
|
||||
{
|
||||
dispatch(request, response, this.webclassesRootPackage);
|
||||
dispatch(request, response);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
*
|
||||
*/
|
||||
@Override
|
||||
public void init() throws ServletException
|
||||
{
|
||||
|
@ -253,6 +242,13 @@ public class KissDispatcher extends HttpServlet
|
|||
try
|
||||
{
|
||||
System.out.println("Log configuration defined (" + logFilePathname + "), will use it.");
|
||||
|
||||
if (!logFilePathname.startsWith("/"))
|
||||
{
|
||||
logFilePathname = getServletContext().getRealPath("/") + logFilePathname;
|
||||
System.out.println("Log configuration redefined (" + logFilePathname + "), will use it.");
|
||||
}
|
||||
|
||||
org.apache.log4j.PropertyConfigurator.configure(getServletContext().getRealPath("/") + logFilePathname);
|
||||
}
|
||||
catch (Exception exception)
|
||||
|
@ -264,9 +260,5 @@ public class KissDispatcher extends HttpServlet
|
|||
logger = LoggerFactory.getLogger(this.getClass());
|
||||
logger.info("Log initialization done.");
|
||||
}
|
||||
|
||||
//
|
||||
this.webclassesRootPackage = getInitParameter("webClassesRootPackage");
|
||||
logger.info("webClassesRootPackage loaded=[{}]", this.webclassesRootPackage);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue