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.
      *