Author: nbelaevski
Date: 2007-08-06 09:05:44 -0400 (Mon, 06 Aug 2007)
New Revision: 2072
Modified:
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModel.java
Log:
Minor StackingTreeModel optimizations
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-06
12:33:05 UTC (rev 2071)
+++
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModel.java 2007-08-06
13:05:44 UTC (rev 2072)
@@ -82,13 +82,20 @@
LinkedList stack = new LinkedList();
+ StackingTreeModel lastModel = null;
if (currentEntry != null) {
iterator.remove();
stack.addFirst(currentEntry);
+ lastModel = currentEntry.model;
}
-
+
while (iterator.hasNext()) {
- stack.addFirst(iterator.next());
+ StackEntry entry = (StackEntry) iterator.next();
+ if (entry.model != lastModel) {
+ lastModel = entry.model;
+ stack.addFirst(entry);
+ }
+
iterator.remove();
}