diff --git a/sandbox/sandbox-servlet/pom.xml b/sandbox/sandbox-servlet/pom.xml
index 9d05293f..d2bb73de 100644
--- a/sandbox/sandbox-servlet/pom.xml
+++ b/sandbox/sandbox-servlet/pom.xml
@@ -80,11 +80,5 @@
provided
-
- log4j
- log4j
- 1.2.14
- provided
-
diff --git a/sandbox/sandbox-servlet/src/main/java/com/twelvemonkeys/servlet/log4j/Log4JContextWrapper.java b/sandbox/sandbox-servlet/src/main/java/com/twelvemonkeys/servlet/log4j/Log4JContextWrapper.java
deleted file mode 100755
index 0599a468..00000000
--- a/sandbox/sandbox-servlet/src/main/java/com/twelvemonkeys/servlet/log4j/Log4JContextWrapper.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package com.twelvemonkeys.servlet.log4j;
-
-import org.apache.log4j.Logger;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.Servlet;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Set;
-
-/**
- * Log4JContextWrapper
- *
- *
- * @author Harald Kuhr
- * @version $Id: log4j/Log4JContextWrapper.java#1 $
- */
-final class Log4JContextWrapper implements ServletContext {
- // TODO: Move to sandbox
-
- // TODO: This solution sucks...
- // How about starting to create some kind of pluggable decorator system,
- // something along the lines of AOP mixins/interceptor pattern..
- // Probably using a dynamic Proxy, delegating to the mixins and or the
- // wrapped object based on configuration.
- // This way we could simply call ServletUtil.decorate(ServletContext):ServletContext
- // And the context would be decorated with all configured mixins at once,
- // requiring less boilerplate delegation code, and less layers of wrapping
- // (alternatively we could decorate the Servlet/FilterConfig objects).
- // See the ServletUtil.createWrapper methods for some hints..
-
-
- // Something like this:
- public static ServletContext wrap(final ServletContext pContext, final Object[] pDelegates, final ClassLoader pLoader) {
- ClassLoader cl = pLoader != null ? pLoader : Thread.currentThread().getContextClassLoader();
-
- // TODO: Create a "static" mapping between methods in the ServletContext
- // and the corresponding delegate
-
- // TODO: Resolve super-invokations, to delegate to next delegate in
- // chain, and finally invoke pContext
-
- return (ServletContext) Proxy.newProxyInstance(cl, new Class[] {ServletContext.class}, new InvocationHandler() {
- public Object invoke(Object pProxy, Method pMethod, Object[] pArgs) throws Throwable {
- // TODO: Test if any of the delegates should receive, if so invoke
-
- // Else, invoke on original object
- return pMethod.invoke(pContext, pArgs);
- }
- });
- }
-
- private final ServletContext context;
-
- private final Logger logger;
-
- Log4JContextWrapper(ServletContext pContext) {
- context = pContext;
-
- // TODO: We want a logger per servlet, not per servlet context, right?
- logger = Logger.getLogger(pContext.getServletContextName());
-
- // TODO: Automatic init/config of Log4J using context parameter for log4j.xml?
- // See Log4JInit.java
-
- // TODO: Automatic config of properties in the context wrapper?
- }
-
- public final void log(final Exception pException, final String pMessage) {
- log(pMessage, pException);
- }
-
- // TODO: Add more logging methods to interface info/warn/error?
- // TODO: Implement these mehtods in GenericFilter/GenericServlet?
-
- public void log(String pMessage) {
- // TODO: Get logger for caller..
- // Should be possible using some stack peek hack, but that's slow...
- // Find a good way...
- // Maybe just pass it into the constuctor, and have one wrapper per servlet
- logger.info(pMessage);
- }
-
- public void log(String pMessage, Throwable pCause) {
- // TODO: Get logger for caller..
-
- logger.error(pMessage, pCause);
- }
-
- public Object getAttribute(String pMessage) {
- return context.getAttribute(pMessage);
- }
-
- public Enumeration getAttributeNames() {
- return context.getAttributeNames();
- }
-
- public ServletContext getContext(String pMessage) {
- return context.getContext(pMessage);
- }
-
- public String getInitParameter(String pMessage) {
- return context.getInitParameter(pMessage);
- }
-
- public Enumeration getInitParameterNames() {
- return context.getInitParameterNames();
- }
-
- public int getMajorVersion() {
- return context.getMajorVersion();
- }
-
- public String getMimeType(String pMessage) {
- return context.getMimeType(pMessage);
- }
-
- public int getMinorVersion() {
- return context.getMinorVersion();
- }
-
- public RequestDispatcher getNamedDispatcher(String pMessage) {
- return context.getNamedDispatcher(pMessage);
- }
-
- public String getRealPath(String pMessage) {
- return context.getRealPath(pMessage);
- }
-
- public RequestDispatcher getRequestDispatcher(String pMessage) {
- return context.getRequestDispatcher(pMessage);
- }
-
- public URL getResource(String pMessage) throws MalformedURLException {
- return context.getResource(pMessage);
- }
-
- public InputStream getResourceAsStream(String pMessage) {
- return context.getResourceAsStream(pMessage);
- }
-
- public Set getResourcePaths(String pMessage) {
- return context.getResourcePaths(pMessage);
- }
-
- public String getServerInfo() {
- return context.getServerInfo();
- }
-
- public Servlet getServlet(String pMessage) throws ServletException {
- //noinspection deprecation
- return context.getServlet(pMessage);
- }
-
- public String getServletContextName() {
- return context.getServletContextName();
- }
-
- public Enumeration getServletNames() {
- //noinspection deprecation
- return context.getServletNames();
- }
-
- public Enumeration getServlets() {
- //noinspection deprecation
- return context.getServlets();
- }
-
- public void removeAttribute(String pMessage) {
- context.removeAttribute(pMessage);
- }
-
- public void setAttribute(String pMessage, Object pExtension) {
- context.setAttribute(pMessage, pExtension);
- }
-}
diff --git a/servlet/pom.xml b/servlet/pom.xml
index 61ff3353..9aec6f96 100644
--- a/servlet/pom.xml
+++ b/servlet/pom.xml
@@ -57,13 +57,6 @@
provided
-
- log4j
- log4j
- 1.2.14
- provided
-
-
commons-fileupload
commons-fileupload