You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2007/12/05 00:30:19 UTC
svn commit: r601149 - in
/geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6:
./ handler/
Author: djencks
Date: Tue Dec 4 15:30:18 2007
New Revision: 601149
URL: http://svn.apache.org/viewvc?rev=601149&view=rev
Log:
GERONIMO-3609 Better fix for supplying jndi on forwarded calls as well as for servlet listeners
Added:
geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/TwistyWebAppContext.java (with props)
Modified:
geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyWebAppContext.java
geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/AbstractImmutableHandler.java
geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/ComponentContextHandler.java
geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/InstanceContextHandler.java
geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/ThreadClassloaderHandler.java
geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/UserTransactionHandler.java
Modified: geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyWebAppContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyWebAppContext.java?rev=601149&r1=601148&r2=601149&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyWebAppContext.java (original)
+++ geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyWebAppContext.java Tue Dec 4 15:30:18 2007
@@ -51,6 +51,7 @@
import org.apache.geronimo.jetty6.handler.JettySecurityHandler;
import org.apache.geronimo.jetty6.handler.LifecycleCommand;
import org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler;
+import org.apache.geronimo.jetty6.handler.TwistyWebAppContext;
import org.apache.geronimo.jetty6.handler.UserTransactionHandler;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.ObjectNameUtil;
@@ -61,15 +62,14 @@
import org.apache.geronimo.naming.enc.EnterpriseNamingContext;
import org.apache.geronimo.security.jacc.RunAsSource;
import org.apache.geronimo.transaction.GeronimoUserTransaction;
+import org.mortbay.jetty.Handler;
import org.mortbay.jetty.MimeTypes;
-import org.mortbay.jetty.handler.AbstractHandler;
import org.mortbay.jetty.security.Authenticator;
import org.mortbay.jetty.servlet.ErrorPageErrorHandler;
import org.mortbay.jetty.servlet.ServletHandler;
import org.mortbay.jetty.servlet.ServletHolder;
import org.mortbay.jetty.servlet.ServletMapping;
import org.mortbay.jetty.servlet.SessionHandler;
-import org.mortbay.jetty.webapp.WebAppContext;
/**
* Wrapper for a WebApplicationContext that sets up its J2EE environment.
@@ -91,7 +91,7 @@
private String displayName;
private final String objectName;
- private final WebAppContext webAppContext;//delegate
+ private final TwistyWebAppContext webAppContext;//delegate
private final AbstractImmutableHandler lifecycleChain;
private final Context componentContext;
private final Holder holder;
@@ -168,7 +168,7 @@
ServletHandler servletHandler = new ServletHandler();
- webAppContext = new WebAppContext(securityHandler, sessionHandler, servletHandler, null);
+ webAppContext = new TwistyWebAppContext(securityHandler, sessionHandler, servletHandler, null);
//wrap the web app context with the jndi handler
GeronimoUserTransaction userTransaction = new GeronimoUserTransaction(transactionManager);
@@ -189,13 +189,13 @@
// localize access to next
{
//install the other handlers inside the web app context
- AbstractHandler next = sessionHandler;
+ Handler next = webAppContext.newTwistyHandler();
next = new ThreadClassloaderHandler(next, classLoader);
next = new InstanceContextHandler(next, unshareableResources, applicationManagedSecurityResources, trackedConnectionAssociator);
next = new UserTransactionHandler(next, userTransaction);
next = new ComponentContextHandler(next, this.componentContext);
- webAppContext.setHandler(next);
+ webAppContext.setTwistyHandler(next);
lifecycleChain = (AbstractImmutableHandler) next;
}
Modified: geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/AbstractImmutableHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/AbstractImmutableHandler.java?rev=601149&r1=601148&r2=601149&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/AbstractImmutableHandler.java (original)
+++ geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/AbstractImmutableHandler.java Tue Dec 4 15:30:18 2007
@@ -27,10 +27,10 @@
/**
* @version $Rev$ $Date$
*/
-public abstract class AbstractImmutableHandler extends AbstractHandlerContainer {
- protected final AbstractHandler next;
+public abstract class AbstractImmutableHandler implements Handler /*extends AbstractHandlerContainer*/ {
+ protected final Handler next;
- protected AbstractImmutableHandler(AbstractHandler next) {
+ protected AbstractImmutableHandler(Handler next) {
this.next = next;
}
@@ -43,10 +43,18 @@
}
public void setServer(Server server) {
- super.setServer(server);
+// super.setServer(server);
next.setServer(server);
}
+ public Server getServer() {
+ return next.getServer();
+ }
+
+ public void destroy() {
+ next.destroy();
+ }
+
public void lifecycleCommand(LifecycleCommand lifecycleCommand) throws Exception {
if (next instanceof AbstractImmutableHandler) {
((AbstractImmutableHandler) next).lifecycleCommand(lifecycleCommand);
@@ -72,7 +80,39 @@
*/
protected Object expandChildren(Object list, Class byClass)
{
- return expandHandler(next, list, byClass);
+// return expandHandler(next, list, byClass);
+ return null;
}
+ public void start() throws Exception {
+ next.start();
+ }
+
+ public void stop() throws Exception {
+ next.stop();
+ }
+
+ public boolean isRunning() {
+ return next.isRunning();
+ }
+
+ public boolean isStarted() {
+ return next.isStarted();
+ }
+
+ public boolean isStarting() {
+ return next.isStarting();
+ }
+
+ public boolean isStopping() {
+ return next.isStopping();
+ }
+
+ public boolean isStopped() {
+ return next.isStopped();
+ }
+
+ public boolean isFailed() {
+ return false;
+ }
}
Modified: geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/ComponentContextHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/ComponentContextHandler.java?rev=601149&r1=601148&r2=601149&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/ComponentContextHandler.java (original)
+++ geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/ComponentContextHandler.java Tue Dec 4 15:30:18 2007
@@ -26,7 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.geronimo.naming.java.RootContext;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.mortbay.jetty.Handler;
/**
* @version $Rev$ $Date$
@@ -35,7 +35,7 @@
private final Context componentContext;
- public ComponentContextHandler(AbstractHandler next, Context componentContext) {
+ public ComponentContextHandler(Handler next, Context componentContext) {
super(next);
this.componentContext = componentContext;
}
Modified: geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/InstanceContextHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/InstanceContextHandler.java?rev=601149&r1=601148&r2=601149&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/InstanceContextHandler.java (original)
+++ geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/InstanceContextHandler.java Tue Dec 4 15:30:18 2007
@@ -42,7 +42,7 @@
private final Set applicationManagedSecurityResources;
private final TrackedConnectionAssociator trackedConnectionAssociator;
- public InstanceContextHandler(AbstractHandler next, Set unshareableResources, Set applicationManagedSecurityResources, TrackedConnectionAssociator trackedConnectionAssociator) {
+ public InstanceContextHandler(Handler next, Set unshareableResources, Set applicationManagedSecurityResources, TrackedConnectionAssociator trackedConnectionAssociator) {
super(next);
this.unshareableResources = unshareableResources;
this.applicationManagedSecurityResources = applicationManagedSecurityResources;
Modified: geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/ThreadClassloaderHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/ThreadClassloaderHandler.java?rev=601149&r1=601148&r2=601149&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/ThreadClassloaderHandler.java (original)
+++ geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/ThreadClassloaderHandler.java Tue Dec 4 15:30:18 2007
@@ -24,7 +24,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.mortbay.jetty.Handler;
/**
* @version $Rev$ $Date$
@@ -33,7 +33,7 @@
private final ClassLoader classLoader;
- public ThreadClassloaderHandler(AbstractHandler next, ClassLoader classLoader) {
+ public ThreadClassloaderHandler(Handler next, ClassLoader classLoader) {
super(next);
this.classLoader = classLoader;
}
Added: geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/TwistyWebAppContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/TwistyWebAppContext.java?rev=601149&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/TwistyWebAppContext.java (added)
+++ geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/TwistyWebAppContext.java Tue Dec 4 15:30:18 2007
@@ -0,0 +1,112 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+package org.apache.geronimo.jetty6.handler;
+
+import java.io.IOException;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.ServletException;
+
+import org.mortbay.jetty.Handler;
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.handler.ErrorHandler;
+import org.mortbay.jetty.security.SecurityHandler;
+import org.mortbay.jetty.servlet.ServletHandler;
+import org.mortbay.jetty.servlet.SessionHandler;
+import org.mortbay.jetty.webapp.WebAppContext;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class TwistyWebAppContext extends WebAppContext {
+
+ private Handler handler;
+
+
+ public TwistyWebAppContext(SecurityHandler securityHandler, SessionHandler sessionHandler, ServletHandler servletHandler, ErrorHandler errorHandler) {
+ super(securityHandler, sessionHandler, servletHandler, errorHandler);
+ }
+
+ public void setTwistyHandler(Handler handler) {
+ this.handler = handler;
+ }
+
+ public Handler newTwistyHandler() {
+ return new TwistyHandler();
+ }
+
+ @Override
+ public void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch) throws IOException, ServletException {
+ handler.handle(target, request, response, dispatch);
+ }
+
+ private class TwistyHandler implements Handler {
+
+ public void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch) throws IOException, ServletException {
+ TwistyWebAppContext.super.handle(target, request, response, dispatch);
+ }
+
+ public void setServer(Server server) {
+ TwistyWebAppContext.super.setServer(server);
+ }
+
+ public Server getServer() {
+ return TwistyWebAppContext.super.getServer();
+ }
+
+ public void destroy() {
+ TwistyWebAppContext.super.destroy();
+ }
+
+ public void start() throws Exception {
+ TwistyWebAppContext.super.start();
+ }
+
+ public void stop() throws Exception {
+ TwistyWebAppContext.super.stop();
+ }
+
+ public boolean isRunning() {
+ return TwistyWebAppContext.super.isRunning();
+ }
+
+ public boolean isStarted() {
+ return TwistyWebAppContext.super.isStarted();
+ }
+
+ public boolean isStarting() {
+ return TwistyWebAppContext.super.isStarting();
+ }
+
+ public boolean isStopping() {
+ return TwistyWebAppContext.super.isStopping();
+ }
+
+ public boolean isStopped() {
+ return TwistyWebAppContext.super.isStopped();
+ }
+
+ public boolean isFailed() {
+ return TwistyWebAppContext.super.isFailed();
+ }
+ }
+}
Propchange: geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/TwistyWebAppContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/TwistyWebAppContext.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/TwistyWebAppContext.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/UserTransactionHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/UserTransactionHandler.java?rev=601149&r1=601148&r2=601149&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/UserTransactionHandler.java (original)
+++ geronimo/server/trunk/plugins/jetty/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/UserTransactionHandler.java Tue Dec 4 15:30:18 2007
@@ -29,7 +29,7 @@
import javax.transaction.SystemException;
import javax.transaction.UserTransaction;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.mortbay.jetty.Handler;
/**
* @version $Rev$ $Date$
@@ -37,7 +37,7 @@
public class UserTransactionHandler extends AbstractImmutableHandler {
private final UserTransaction userTransaction;
- public UserTransactionHandler(AbstractHandler next, UserTransaction userTransaction) {
+ public UserTransactionHandler(Handler next, UserTransaction userTransaction) {
super(next);
this.userTransaction = userTransaction;
}