You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2013/12/23 19:51:23 UTC
svn commit: r1553177 - in
/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/viewstate:
SerializedViewCollection.java ServerSideStateCacheImpl.java
Author: lu4242
Date: Mon Dec 23 18:51:23 2013
New Revision: 1553177
URL: http://svn.apache.org/r1553177
Log:
MYFACES-3822 General cleanup and remove unused web config params
Modified:
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/viewstate/SerializedViewCollection.java
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/viewstate/ServerSideStateCacheImpl.java
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/viewstate/SerializedViewCollection.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/viewstate/SerializedViewCollection.java?rev=1553177&r1=1553176&r2=1553177&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/viewstate/SerializedViewCollection.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/viewstate/SerializedViewCollection.java Mon Dec 23 18:51:23 2013
@@ -26,9 +26,7 @@ import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.context.FacesContext;
-import org.apache.commons.collections.map.AbstractReferenceMap;
import org.apache.commons.collections.map.LRUMap;
-import org.apache.commons.collections.map.ReferenceMap;
import org.apache.myfaces.shared.util.WebConfigParamUtils;
/**
@@ -50,9 +48,6 @@ class SerializedViewCollection implement
private final Map<SerializedViewKey, SerializedViewKey> _precedence =
new HashMap<SerializedViewKey, SerializedViewKey>();
private Map<String, SerializedViewKey> _lastWindowKeys = null;
- // old views will be hold as soft references which will be removed by
- // the garbage collector if free memory is low
- private transient Map<Object, Object> _oldSerializedViews = null;
public synchronized void add(FacesContext context, Object state,
SerializedViewKey key, SerializedViewKey previousRestoredKey)
@@ -123,17 +118,8 @@ class SerializedViewCollection implement
// do nothing
}
- if (_serializedViews.containsKey(keyToRemove) &&
- !ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_OFF.
- equals( getCacheOldViewsInSessionMode(context)) )
- {
- getOldSerializedViewsMap().put(keyToRemove, _serializedViews.remove(keyToRemove));
- }
- else
- {
- _serializedViews.remove(keyToRemove);
- }
-
+ _serializedViews.remove(keyToRemove);
+
keyToRemove = _precedence.remove(keyToRemove);
}
while (keyToRemove != null);
@@ -151,21 +137,13 @@ class SerializedViewCollection implement
// do it with a loop.
do
{
+
keyToRemove = _precedence.remove(keyToRemove);
}
while (keyToRemove != null);
}
- if (_serializedViews.containsKey(key) &&
- !ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_OFF.
- equals( getCacheOldViewsInSessionMode( context )))
- {
- getOldSerializedViewsMap().put(key, _serializedViews.remove(key));
- }
- else
- {
- _serializedViews.remove(key);
- }
+ _serializedViews.remove(key);
}
}
@@ -237,75 +215,6 @@ class SerializedViewCollection implement
return null;
}
- /**
- * @return old serialized views map
- */
- @SuppressWarnings("unchecked")
- protected Map<Object, Object> getOldSerializedViewsMap()
- {
- FacesContext context = FacesContext.getCurrentInstance();
- if (_oldSerializedViews == null && context != null)
- {
- String cacheMode = getCacheOldViewsInSessionMode(context);
- if ( ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_WEAK.equals(cacheMode))
- {
- _oldSerializedViews = new ReferenceMap( AbstractReferenceMap.WEAK, AbstractReferenceMap.WEAK, true);
- }
- else if ( ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_SOFT_WEAK.equals(cacheMode))
- {
- _oldSerializedViews = new ReferenceMap(AbstractReferenceMap.SOFT, AbstractReferenceMap.WEAK, true);
- }
- else if ( ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_SOFT.equals(cacheMode))
- {
- _oldSerializedViews = new ReferenceMap(AbstractReferenceMap.SOFT, AbstractReferenceMap.SOFT, true);
- }
- else if ( ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_HARD_SOFT.equals(cacheMode))
- {
- _oldSerializedViews = new ReferenceMap(AbstractReferenceMap.HARD, AbstractReferenceMap.SOFT);
- }
- }
-
- return _oldSerializedViews;
- }
-
- /**
- * Reads the value of the <code>org.apache.myfaces.CACHE_OLD_VIEWS_IN_SESSION_MODE</code> context parameter.
- *
- * @since 1.2.5
- * @param context
- * @return constant indicating caching mode
- * @see ServerSideStateCacheImpl#CACHE_OLD_VIEWS_IN_SESSION_MODE
- */
- protected String getCacheOldViewsInSessionMode(FacesContext context)
- {
- String value = context.getExternalContext().getInitParameter(
- ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE);
- if (value == null)
- {
- return ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_OFF;
- }
- else if (value.equalsIgnoreCase( ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_SOFT))
- {
- return ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_SOFT;
- }
- else if (value.equalsIgnoreCase( ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_SOFT_WEAK))
- {
- return ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_SOFT_WEAK;
- }
- else if (value.equalsIgnoreCase( ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_WEAK))
- {
- return ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_WEAK;
- }
- else if (value.equalsIgnoreCase( ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_HARD_SOFT))
- {
- return ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_HARD_SOFT;
- }
- else
- {
- return ServerSideStateCacheImpl.CACHE_OLD_VIEWS_IN_SESSION_MODE_OFF;
- }
- }
-
public Object get(SerializedViewKey key)
{
Object value = _serializedViews.get(key);
@@ -315,15 +224,6 @@ class SerializedViewCollection implement
{
return EMPTY_STATES;
}
- Map<Object,Object> oldSerializedViewMap = getOldSerializedViewsMap();
- if (oldSerializedViewMap != null)
- {
- value = oldSerializedViewMap.get(key);
- if (value == null && oldSerializedViewMap.containsKey(key) )
- {
- return EMPTY_STATES;
- }
- }
}
else if (value instanceof Object[] &&
((Object[])value).length == 2 &&
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/viewstate/ServerSideStateCacheImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/viewstate/ServerSideStateCacheImpl.java?rev=1553177&r1=1553176&r2=1553177&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/viewstate/ServerSideStateCacheImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/viewstate/ServerSideStateCacheImpl.java Mon Dec 23 18:51:23 2013
@@ -127,48 +127,16 @@ class ServerSideStateCacheImpl extends S
public static final boolean DEFAULT_SERIALIZE_STATE_IN_SESSION = false;
/**
- * Define the way of handle old view references(views removed from session), making possible to
- * store it in a cache, so the state manager first try to get the view from the session. If is it
- * not found and soft or weak ReferenceMap is used, it try to get from it.
- * <p>
- * Only applicable if state saving method is "server" (= default).
- * </p>
- * <p>
- * The gc is responsible for remove the views, according to the rules used for soft, weak or phantom
- * references. If a key in soft and weak mode is garbage collected, its values are purged.
- * </p>
- * <p>
- * By default no cache is used, so views removed from session became phantom references.
- * </p>
- * <ul>
- * <li> off, no: default, no cache is used</li>
- * <li> hard-soft: use an ReferenceMap(AbstractReferenceMap.HARD, AbstractReferenceMap.SOFT)</li>
- * <li> soft: use an ReferenceMap(AbstractReferenceMap.SOFT, AbstractReferenceMap.SOFT, true) </li>
- * <li> soft-weak: use an ReferenceMap(AbstractReferenceMap.SOFT, AbstractReferenceMap.WEAK, true) </li>
- * <li> weak: use an ReferenceMap(AbstractReferenceMap.WEAK, AbstractReferenceMap.WEAK, true) </li>
- * </ul>
+ * This parameter has been removed from 2.2.x version.
*
+ * @deprecated removed because it has
*/
+ @Deprecated
@JSFWebConfigParam(defaultValue="off", expectedValues="off, no, hard-soft, soft, soft-weak, weak",
- since="1.2.5", group="state", tags="performance")
+ since="1.2.5", group="state", tags="performance", deprecated = true)
public static final String CACHE_OLD_VIEWS_IN_SESSION_MODE = "org.apache.myfaces.CACHE_OLD_VIEWS_IN_SESSION_MODE";
/**
- * This option uses an hard-soft ReferenceMap, but it could cause a
- * memory leak, because the keys are not removed by any method
- * (MYFACES-1660). So use with caution.
- */
- public static final String CACHE_OLD_VIEWS_IN_SESSION_MODE_HARD_SOFT = "hard-soft";
-
- public static final String CACHE_OLD_VIEWS_IN_SESSION_MODE_SOFT = "soft";
-
- public static final String CACHE_OLD_VIEWS_IN_SESSION_MODE_SOFT_WEAK = "soft-weak";
-
- public static final String CACHE_OLD_VIEWS_IN_SESSION_MODE_WEAK = "weak";
-
- public static final String CACHE_OLD_VIEWS_IN_SESSION_MODE_OFF = "off";
-
- /**
* Allow use flash scope to keep track of the views used in session and the previous ones,
* so server side state saving can delete old views even if POST-REDIRECT-GET pattern is used.
*