/** * Add a buffered response to the redirect buffer. * * @param sessionId * the session id * @param bufferId * the id that should be used for storing the buffer * @param renderedResponse * the response to buffer */ final void addBufferedResponse(String sessionId, String bufferId, BufferedHttpServletResponse renderedResponse) { Map responsesPerSession = (Map)bufferedResponses.get(sessionId); if (responsesPerSession == null) { responsesPerSession = new MostRecentlyUsedMap(4); bufferedResponses.put(sessionId, responsesPerSession); } responsesPerSession.put(bufferId, renderedResponse); }
/** * create version cache * <p/> * the cache will accept a maximum number of entries specified * by <code>maxEntries</code> before evicting the oldest entries. * * @param delegate * resource version provider * @param maxEntries * maximum number of cache entries */ public CachingResourceVersion(IResourceVersion delegate, int maxEntries) { if (maxEntries < 1) { throw new IllegalArgumentException("maxEntries must be greater than zero"); } this.delegate = Args.notNull(delegate, "delegate"); this.cache = Collections.synchronizedMap( new MostRecentlyUsedMap<Serializable, String>(maxEntries)); }
/** * create version cache * <p/> * the cache will accept a maximum number of entries specified * by <code>maxEntries</code> before evicting the oldest entries. * * @param delegate * resource version provider * @param maxEntries * maximum number of cache entries */ public CachingResourceVersion(IResourceVersion delegate, int maxEntries) { if (maxEntries < 1) { throw new IllegalArgumentException("maxEntries must be greater than zero"); } this.delegate = Args.notNull(delegate, "delegate"); this.cache = Collections.synchronizedMap( new MostRecentlyUsedMap<Serializable, String>(maxEntries)); }
/** * Add a buffered response to the redirect buffer. * * @param sessionId * the session id * @param bufferId * the id that should be used for storing the buffer * @param renderedResponse * the response to buffer */ final void addBufferedResponse(String sessionId, String bufferId, BufferedHttpServletResponse renderedResponse) { Map<String, BufferedHttpServletResponse> responsesPerSession = bufferedResponses.get(sessionId); if (responsesPerSession == null) { responsesPerSession = Collections.synchronizedMap(new MostRecentlyUsedMap<String, BufferedHttpServletResponse>( 4)); Map<String, BufferedHttpServletResponse> previousValue = bufferedResponses.putIfAbsent( sessionId, responsesPerSession); if (previousValue != null) { responsesPerSession = previousValue; } } String bufferKey = bufferId.startsWith("/") ? bufferId.substring(1) : bufferId; responsesPerSession.put(bufferKey, renderedResponse); }