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 01:02:04 UTC

svn commit: r614383 - in /myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main: java-templates/org/apache/myfaces/trinidad/component/ java/org/apache/myfaces/trinidad/component/

Author: mcooper
Date: Tue Jan 22 16:01:46 2008
New Revision: 614383

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

Modified:
    myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java
    myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java
    myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java

Modified: myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java?rev=614383&r1=614382&r2=614383&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java (original)
+++ myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java Tue Jan 22 16:01:46 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/branches/1.2.4.1-branch/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java?rev=614383&r1=614382&r2=614383&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java (original)
+++ myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java Tue Jan 22 16:01:46 2008
@@ -101,9 +101,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/branches/1.2.4.1-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java?rev=614383&r1=614382&r2=614383&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java (original)
+++ myfaces/trinidad/branches/1.2.4.1-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java Tue Jan 22 16:01:46 2008
@@ -1011,7 +1011,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;
@@ -1023,7 +1029,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);