[picocontainer-scm] [5683] java/2.x/trunk/web/web-remoting/src/java/org/picocontainer/web/remoting/AbstractPicoWebRemotingServlet.java: better stream handling

paul-yCVjj/[email protected]
Newsgroups gmane.comp.java.picocontainer.cvs
Message-ID <[email protected]>
Revision 5683
Author paul
Date 2010-06-21 08:25:57 -0500 (Mon, 21 Jun 2010)

Log Message

better stream handling

Modified Paths

- java/2.x/trunk/web/web-remoting/src/java/org/picocontainer/web/remoting/AbstractPicoWebRemotingServlet.java

Diff

Modified: java/2.x/trunk/web/web-remoting/src/java/org/picocontainer/web/remoting/AbstractPicoWebRemotingServlet.java (5682 => 5683)

--- java/2.x/trunk/web/web-remoting/src/java/org/picocontainer/web/remoting/AbstractPicoWebRemotingServlet.java 2010-05-26 12:39:34 UTC (rev 5682)
+++ java/2.x/trunk/web/web-remoting/src/java/org/picocontainer/web/remoting/AbstractPicoWebRemotingServlet.java 2010-06-21 13:25:57 UTC (rev 5683)
@@ -8,12 +8,10 @@
package org.picocontainer.web.remoting;

import java.io.IOException;
-import java.io.PrintWriter;
import java.lang.reflect.Member;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -24,7 +22,6 @@
import org.picocontainer.PicoContainer;
import org.picocontainer.monitors.NullComponentMonitor;
import org.picocontainer.web.PicoServletContainerFilter;
-import org.picocontainer.web.Cache;

import com.thoughtworks.xstream.XStream;

@@ -64,7 +61,7 @@
private PicoWebRemoting pwr;
private String mimeType = "text/plain";
private PicoWebRemotingMonitor monitor;
-
+
public static class ServletFilter extends PicoServletContainerFilter {

@Override
@@ -83,85 +80,14 @@
}
}

- public static class Struts1ServletFilter
- extends org.picocontainer.web.struts.PicoActionFactory.ServletFilter {
- protected void setAppContainer(MutablePicoContainer container) {
- super.setAppContainer(container);
- currentAppContainer.set(container);
- }
-
- protected void setRequestContainer(MutablePicoContainer container) {
- super.setRequestContainer(container);
- currentRequestContainer.set(container);
- }
-
- protected void setSessionContainer(MutablePicoContainer container) {
- super.setSessionContainer(container);
- currentSessionContainer.set(container);
- }
- }
-
- public static class Struts2ServletFilter
- extends org.picocontainer.web.struts2.PicoObjectFactory.ServletFilter {
- protected void setAppContainer(MutablePicoContainer container) {
- super.setAppContainer(container);
- currentAppContainer.set(container);
- }
-
- protected void setRequestContainer(MutablePicoContainer container) {
- super.setRequestContainer(container);
- currentRequestContainer.set(container);
- }
-
- protected void setSessionContainer(MutablePicoContainer container) {
- super.setSessionContainer(container);
- currentSessionContainer.set(container);
- }
- }
-
- public static class WebWork1ServletFilter
- extends org.picocontainer.web.webwork.PicoActionFactory.ServletFilter {
- protected void setAppContainer(MutablePicoContainer container) {
- super.setAppContainer(container);
- currentAppContainer.set(container);
- }
-
- protected void setRequestContainer(MutablePicoContainer container) {
- super.setRequestContainer(container);
- currentRequestContainer.set(container);
- }
-
- protected void setSessionContainer(MutablePicoContainer container) {
- super.setSessionContainer(container);
- currentSessionContainer.set(container);
- }
- }
-
- public static class WebWork2ServletFilter
- extends org.picocontainer.web.webwork2.PicoObjectFactory.ServletFilter {
- protected void setAppContainer(MutablePicoContainer container) {
- super.setAppContainer(container);
- currentAppContainer.set(container);
- }
-
- protected void setRequestContainer(MutablePicoContainer container) {
- super.setRequestContainer(container);
- currentRequestContainer.set(container);
- }
-
- protected void setSessionContainer(MutablePicoContainer container) {
- super.setSessionContainer(container);
- currentSessionContainer.set(container);
- }
- }
-
private boolean initialized;

protected abstract XStream createXStream();
-
+
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws IOException {
+
if (!initialized) {
publishAdapters();
initialized = true;
@@ -175,19 +101,22 @@

final String httpMethod = request.getMethod();

+ //final Cache cache = currentAppContainer.get().getComponent(Cache.class);
+
String result = pwr.processRequest(pathInfo, currentRequestContainer.get(), httpMethod, new NullComponentMonitor() {
@Override
public Object invoking(PicoContainer container, ComponentAdapter<?> componentAdapter, Member member, Object instance, Object[] args) {
return ComponentMonitor.KEEP;
}

+ @Override
public void invoked(PicoContainer container, ComponentAdapter<?> componentAdapter, Member member, Object instance, long duration, Object[] args, Object retVal) {
+ // Empty
}
});

- PrintWriter writer = response.getWriter();
if (result != null) {
- writer.print(result);
+ response.getWriter().print(result);
} else {
response.sendError(400, "Nothing is mapped to this URL, try removing the last term for directory list.");
}

----------

To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.