001
014
015 package com.liferay.portal.kernel.servlet;
016
017 import com.liferay.portal.kernel.log.Log;
018 import com.liferay.portal.kernel.log.LogFactoryUtil;
019
020 import java.util.Map;
021 import java.util.Set;
022 import java.util.concurrent.ConcurrentHashMap;
023
024 import javax.servlet.ServletContext;
025
026
029 public class ServletContextPool {
030
031 public static void clear() {
032 _instance._servletContexts.clear();
033 }
034
035 public static boolean containsKey(String servletContextName) {
036 return _instance._containsKey(servletContextName);
037 }
038
039 public static ServletContext get(String servletContextName) {
040 return _instance._get(servletContextName);
041 }
042
043 public static Set<String> keySet() {
044 return _instance._keySet();
045 }
046
047 public static void put(
048 String servletContextName, ServletContext servletContext) {
049
050 _instance._put(servletContextName, servletContext);
051 }
052
053 public static ServletContext remove(String servletContextName) {
054 return _instance._remove(servletContextName);
055 }
056
057 private ServletContextPool() {
058 _servletContexts = new ConcurrentHashMap<String, ServletContext>();
059 }
060
061 private boolean _containsKey(String servletContextName) {
062 boolean value = _servletContexts.containsKey(servletContextName);
063
064 if (_log.isDebugEnabled()) {
065 _log.debug("Contains key " + servletContextName + " " + value);
066 }
067
068 return value;
069 }
070
071 private ServletContext _get(String servletContextName) {
072 ServletContext servletContext = _servletContexts.get(
073 servletContextName);
074
075 if (_log.isDebugEnabled()) {
076 _log.debug("Get " + servletContextName + " " + servletContext);
077 }
078
079 return servletContext;
080 }
081
082 private Set<String> _keySet() {
083 return _servletContexts.keySet();
084 }
085
086 private void _put(
087 String servletContextName, ServletContext servletContext) {
088
089 if (_log.isDebugEnabled()) {
090 _log.debug("Put " + servletContextName + " " + servletContext);
091 }
092
093 _servletContexts.put(servletContextName, servletContext);
094 }
095
096 private ServletContext _remove(String servletContextName) {
097 ServletContext servletContext = _servletContexts.remove(
098 servletContextName);
099
100 if (_log.isDebugEnabled()) {
101 _log.debug("Remove " + servletContextName + " " + servletContext);
102 }
103
104 return servletContext;
105 }
106
107 private static Log _log = LogFactoryUtil.getLog(ServletContextPool.class);
108
109 private static ServletContextPool _instance = new ServletContextPool();
110
111 private Map<String, ServletContext> _servletContexts;
112
113 }