You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2007/11/09 08:10:18 UTC
svn commit: r593441 -
/myfaces/trinidad/tags/trinidad-1.0.4/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java
Author: matzew
Date: Thu Nov 8 23:10:17 2007
New Revision: 593441
URL: http://svn.apache.org/viewvc?rev=593441&view=rev
Log:
Merged TRINIDAD-803 to 1.0.4 TAG
Modified:
myfaces/trinidad/tags/trinidad-1.0.4/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java
Modified: myfaces/trinidad/tags/trinidad-1.0.4/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/tags/trinidad-1.0.4/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java?rev=593441&r1=593440&r2=593441&view=diff
==============================================================================
--- myfaces/trinidad/tags/trinidad-1.0.4/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java (original)
+++ myfaces/trinidad/tags/trinidad-1.0.4/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java Thu Nov 8 23:10:17 2007
@@ -811,14 +811,14 @@
for(Map.Entry<String, UIComponent> entry : facetMap.entrySet())
{
Object singleFacetState = saveStampState(context, entry.getValue());
+ if ((singleFacetState == null) ||
+ (singleFacetState == Transient.TRUE))
+ continue;
+
// Don't bother allocating anything until we have some non-null
// and non-transient facet state
if (facetStateIsEmpty)
- {
- if ((singleFacetState == null) ||
- (singleFacetState == Transient.TRUE))
- continue;
-
+ {
facetStateIsEmpty = false;
facetState = new Object[facetCount * 2];
}
@@ -829,11 +829,18 @@
facetState[base + 1] = singleFacetState;
i++;
}
-
+
// OK, we had something: allocate the state array to three
// entries, and insert the facet state at position 2
if (!facetStateIsEmpty)
{
+ // trim the facetState array if necessary
+ if(i < facetCount)
+ {
+ Object[] trimmed = new Object[i*2];
+ System.arraycopy(facetState, 0, trimmed, 0, i*2);
+ facetState = trimmed;
+ }
state = new Object[3];
state[2] = facetState;
}
@@ -1421,4 +1428,4 @@
// are specially handled, since they may or may not actually still
// be there when you go to restore state later (e.g., on the next request!)
enum Transient { TRUE };
-}
+}
\ No newline at end of file