[richfaces-svn-commits] JBoss Rich Faces SVN: r2293 - in trunk/framework: test/src/test/java/org/richfaces/model and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Thu Aug 16 10:00:26 EDT 2007


Author: nbelaevski
Date: 2007-08-16 10:00:26 -0400 (Thu, 16 Aug 2007)
New Revision: 2293

Modified:
   trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModel.java
   trunk/framework/test/src/test/java/org/richfaces/model/StackingTreeDataModelTest.java
Log:
- StackingTreeModel optimized
- StackingTreeModelTest updated

Modified: trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModel.java	2007-08-16 13:00:53 UTC (rev 2292)
+++ trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModel.java	2007-08-16 14:00:26 UTC (rev 2293)
@@ -74,7 +74,8 @@
 			return ((StackEntry) stackEntries.getLast()).model;
 		}
 
-		return null;
+		throw new IllegalStateException(
+				"No tree element available or row key not set!");
 	}
 	
 	public boolean isEmpty() {
@@ -99,6 +100,7 @@
 		while (iterator.hasNext()) {
 			StackEntry entry = (StackEntry) iterator.next();
 			if (entry.model != lastModel) {
+				//always true for non-recursive models
 				lastModel = entry.model;
 				stack.addFirst(entry);
 			}
@@ -215,7 +217,7 @@
 	 * @see org.richfaces.model.AbstractTreeDataModel#getTreeNode()
 	 */
 	public TreeNode getTreeNode() {
-		if (this.rowKey == null || isRowAvailable()) {
+		if (isRowAvailable()) {
 			return null;
 		}
 
@@ -230,10 +232,6 @@
 	 */
 	public boolean isLeaf() {
 		if (isRowAvailable()) {
-			if (stackEntries.isEmpty()) {
-				return false;
-			}
-
 			StackEntry lastEntry = (StackEntry) stackEntries.getLast();
 			for (Iterator iterator = lastEntry.model.getInternalModelsIterator(); iterator.hasNext();) {
 				StackingTreeModel stackingTreeModel = (StackingTreeModel) iterator.next();
@@ -477,10 +475,6 @@
 	 */
 	public Object getRowData() {
 		if (isRowAvailable()) {
-			if (stackEntries.isEmpty()) {
-				return null;
-			}
-
 			StackEntry lastEntry = (StackEntry) stackEntries.getLast();
 			return lastEntry.model.rowData;
 		}

Modified: trunk/framework/test/src/test/java/org/richfaces/model/StackingTreeDataModelTest.java
===================================================================
--- trunk/framework/test/src/test/java/org/richfaces/model/StackingTreeDataModelTest.java	2007-08-16 13:00:53 UTC (rev 2292)
+++ trunk/framework/test/src/test/java/org/richfaces/model/StackingTreeDataModelTest.java	2007-08-16 14:00:26 UTC (rev 2293)
@@ -143,6 +143,9 @@
 		assertTrue(this.stackingTreeModel.isRowAvailable());
 		assertNotNull(this.stackingTreeModel.getRowData());
 		
+		assertNull(this.stackingTreeModel.getTreeNode());
+		assertFalse(this.stackingTreeModel.isLeaf());
+		
 		this.stackingTreeModel.setRowKey(new ListRowKey(new StackingTreeModel.Key("project", "projectAAAAA")));
 		assertFalse(this.stackingTreeModel.isRowAvailable());
 		try {
@@ -151,6 +154,20 @@
 		} catch (Exception e) {
 
 		}
+		
+		try {
+			this.stackingTreeModel.isLeaf();
+			fail();
+		} catch (Exception e) {
+
+		}
+
+		try {
+			this.stackingTreeModel.getTreeNode();
+			fail();
+		} catch (Exception e) {
+
+		}
 	}
 	
 	public void testActiveData() throws Exception {




More information about the richfaces-svn-commits mailing list