You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mc...@apache.org on 2008/01/23 00:53:58 UTC

svn commit: r614381 - in /myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main: java-templates/org/apache/myfaces/trinidad/component/ java/org/apache/myfaces/trinidad/component/

Author: mcooper
Date: Tue Jan 22 15:53:34 2008
New Revision: 614381

URL: http://svn.apache.org/viewvc?rev=614381&view=rev
Log:
TRINIDAD-642 thx to Max Starets for his patch

Modified:
    myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java
    myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java
    myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java

Modified: myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java?rev=614381&r1=614380&r2=614381&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java Tue Jan 22 15:53:34 2008
@@ -312,17 +312,23 @@
     CollectionModel model = super.createCollectionModel(current, value); 
 
     RowKeySet selectedRowKeys = getSelectedRowKeys();
-    RowKeySet disclosedRowKeys = getDisclosedRowKeys();
 
-    if (selectedRowKeys != null)
+    if (selectedRowKeys == null)
     {
-      selectedRowKeys.setCollectionModel(model);
+      selectedRowKeys = new RowKeySetImpl();
+      setSelectedRowKeys(selectedRowKeys);
     }
 
-    if (disclosedRowKeys != null)
+    RowKeySet disclosedRowKeys = getDisclosedRowKeys();
+
+    if (disclosedRowKeys == null)
     {
-      disclosedRowKeys.setCollectionModel(model);
+      disclosedRowKeys = new RowKeySetImpl();
+      setDisclosedRowKeys(disclosedRowKeys);
     }
+
+    selectedRowKeys.setCollectionModel(model);
+    disclosedRowKeys.setCollectionModel(model);
 
     // If we were perviously sorted, restore the sort order:
     if (_sortCriteria != null)

Modified: myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java?rev=614381&r1=614380&r2=614381&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java Tue Jan 22 15:53:34 2008
@@ -102,9 +102,27 @@
   {
     
     TreeModel model = ModelUtils.toTreeModel(value);
-    model.setRowKey(null);    
-    getDisclosedRowKeys().setCollectionModel(model);
-    getSelectedRowKeys().setCollectionModel(model);
+    model.setRowKey(null);
+
+    RowKeySet selectedRowKeys = getSelectedRowKeys();
+
+    if (selectedRowKeys == null)
+    {
+      selectedRowKeys = new RowKeySetTreeImpl();
+      setSelectedRowKeys(selectedRowKeys);
+    }
+
+    RowKeySet disclosedRowKeys = getDisclosedRowKeys();
+
+    if (disclosedRowKeys == null)
+    {
+      disclosedRowKeys = new RowKeySetTreeImpl();
+      setDisclosedRowKeys(disclosedRowKeys);
+    }
+
+    selectedRowKeys.setCollectionModel(model);
+    disclosedRowKeys.setCollectionModel(model);
+
     return model;
   }
 

Modified: myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java?rev=614381&r1=614380&r2=614381&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java Tue Jan 22 15:53:34 2008
@@ -1013,7 +1013,13 @@
     if (clientId.equals(thisClientId))
     {
       if (_getAndMarkFirstInvokeForRequest(context, clientId))
+      {
+        // Call _init() since _flushCachedModel() assumes that
+        // selectedRowKeys and disclosedRowKeys are initialized to be non-null
+        _init();
+
         _flushCachedModel();
+      }
 
       callback.invokeContextCallback(context, this);
       return true;
@@ -1025,7 +1031,13 @@
         (clientId.charAt(thisClientIdLength) == NamingContainer.SEPARATOR_CHAR))
     {
       if (_getAndMarkFirstInvokeForRequest(context, clientId))
+      {
+        // Call _init() since _flushCachedModel() assumes that
+        // selectedRowKeys and disclosedRowKeys are initialized to be non-null
+        _init();
+
         _flushCachedModel();
+      }
 
       String postId = clientId.substring(thisClientIdLength + 1);
       int sepIndex = postId.indexOf(NamingContainer.SEPARATOR_CHAR);