You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by aw...@apache.org on 2007/08/18 01:10:58 UTC

svn commit: r567167 - /myfaces/trinidad/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java

Author: awiner
Date: Fri Aug 17 16:10:57 2007
New Revision: 567167

URL: http://svn.apache.org/viewvc?view=rev&rev=567167
Log:
TRINIDAD-630: Table stamp state could be greatly optimized for size
- Don't put "null" into the stamp state HashMap:  remove the entry instead
- With this change, non-editable tables typically have no stamp state overhead at all

Modified:
    myfaces/trinidad/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java

Modified: myfaces/trinidad/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java?view=diff&rev=567167&r1=567166&r2=567167
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java Fri Aug 17 16:10:57 2007
@@ -69,12 +69,21 @@
     Map<DualKey, Object> comparant = Collections.emptyMap();
     if (_rows == comparant)
     {
+      if (value == null)
+        return;
+
       // =-=AEW Better default sizes
       _rows = new HashMap<DualKey, Object>(109);
     }
 
     DualKey dk = new DualKey(currencyObj, key);
-    _rows.put(dk, value);
+    // Make sure that if we're applying a null value, that we 
+    // don't hold on to the key and retain the entry - just nuke
+    // the entry
+    if (value == null)
+      _rows.remove(dk);
+    else
+      _rows.put(dk, value);
   }
 
   public int size()