01: /**
02: * Copyright 2003 Sun Microsystems, Inc. All
03: * rights reserved. Use of this product is subject
04: * to license terms. Federal Acquisitions:
05: * Commercial Software -- Government Users
06: * Subject to Standard License Terms and
07: * Conditions.
08: *
09: * Sun, Sun Microsystems, the Sun logo, and Sun ONE
10: * are trademarks or registered trademarks of Sun Microsystems,
11: * Inc. in the United States and other countries.
12: */package com.sun.portal.wsrp.producer.filter;
13:
14: import java.util.logging.Level;
15: import java.util.logging.Logger;
16:
17: import javax.servlet.Filter;
18: import javax.servlet.FilterChain;
19: import javax.servlet.ServletRequest;
20: import javax.servlet.ServletResponse;
21: import javax.servlet.FilterConfig;
22: import javax.servlet.ServletConfig;
23: import javax.servlet.ServletContext;
24: import javax.servlet.ServletException;
25:
26: import javax.servlet.http.HttpServletRequest;
27: import javax.servlet.http.HttpServletResponse;
28:
29: import com.sun.portal.desktop.context.DesktopContextFactory;
30: import com.sun.portal.desktop.context.PSDesktopContextFactoryManager;
31: import com.sun.portal.desktop.context.DesktopAppContext;
32:
33: import com.sun.portal.desktop.RequestThreadLocalizer;
34: import com.sun.portal.desktop.ServletContextThreadLocalizer;
35:
36: import com.sun.portal.wsrp.producer.ISConnection;
37: import com.sun.portal.log.common.PortalLogger;
38:
39: public class ProducerFilter implements Filter {
40: private ServletContext servletContext = null;
41:
42: private static Logger logger = PortalLogger
43: .getLogger(ProducerFilter.class);
44:
45: public void init(FilterConfig filterConfig) throws ServletException {
46: servletContext = filterConfig.getServletContext();
47:
48: if (logger.isLoggable(Level.FINEST))
49: logger.log(Level.FINEST, "PSWS_CSPWPF0001");
50: }
51:
52: public void doFilter(ServletRequest request,
53: ServletResponse response, FilterChain chain)
54: throws java.io.IOException, ServletException {
55: //
56: // these are for the desktop context layer
57: //
58: com.sun.portal.desktop.RequestThreadLocalizer.set(
59: (HttpServletRequest) request,
60: (HttpServletResponse) response);
61: com.sun.portal.desktop.ServletContextThreadLocalizer
62: .set(servletContext);
63:
64: DesktopContextFactory dcf = PSDesktopContextFactoryManager
65: .getFactory(servletContext);
66: DesktopAppContext dac = dcf.getDesktopAppContext();
67:
68: if (logger.isLoggable(Level.FINEST))
69: logger.log(Level.FINEST, "PSWS_CSPWPF0002");
70:
71: ProducerThreadLocalizer.set(servletContext, request, response);
72:
73: chain.doFilter(request, response);
74: }
75:
76: public void destroy() {
77: // nothing
78: }
79: }
|