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()