001
014
015 package com.liferay.portal.servlet.filters.weblogic;
016
017 import com.liferay.portal.kernel.servlet.WrapHttpServletResponseFilter;
018 import com.liferay.portal.servlet.filters.BasePortalFilter;
019 import com.liferay.registry.Registry;
020 import com.liferay.registry.RegistryUtil;
021 import com.liferay.registry.ServiceTracker;
022
023 import javax.servlet.http.HttpServletRequest;
024 import javax.servlet.http.HttpServletResponse;
025
026
029 public class WebLogicIncludeFilter
030 extends BasePortalFilter implements WrapHttpServletResponseFilter {
031
032 public WebLogicIncludeFilter() {
033 Registry registry = RegistryUtil.getRegistry();
034
035 _serviceTracker = registry.trackServices(
036 WebLogicIncludeServletResponseFactory.class);
037
038 _serviceTracker.open();
039 }
040
041 @Override
042 public void destroy() {
043 _serviceTracker.close();
044
045 super.destroy();
046 }
047
048 @Override
049 public HttpServletResponse getWrappedHttpServletResponse(
050 HttpServletRequest request, HttpServletResponse response) {
051
052 WebLogicIncludeServletResponseFactory
053 webLogicIncludeServletResponseFactory =
054 _serviceTracker.getService();
055
056 if (webLogicIncludeServletResponseFactory != null) {
057 return webLogicIncludeServletResponseFactory.create(response);
058 }
059
060 return response;
061 }
062
063 @Override
064 public boolean isFilterEnabled() {
065 return !_serviceTracker.isEmpty();
066 }
067
068 private final ServiceTracker
069 <WebLogicIncludeServletResponseFactory,
070 WebLogicIncludeServletResponseFactory> _serviceTracker;
071
072 }