Author: michiel
Date: 2009-06-29 18:25:01 +0200 (Mon, 29 Jun 2009)
New Revision: 36484

Modified:
   mmbase/trunk/core/src/main/java/org/mmbase/bridge/util/TreeList.java
Log:
Hmm, it seems that alias could be null in just added test-cases

Modified: mmbase/trunk/core/src/main/java/org/mmbase/bridge/util/TreeList.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/bridge/util/TreeList.java        
2009-06-29 16:19:17 UTC (rev 36483)
+++ mmbase/trunk/core/src/main/java/org/mmbase/bridge/util/TreeList.java        
2009-06-29 16:25:01 UTC (rev 36484)
@@ -483,14 +483,19 @@
 
         public Node getParent() {
             NodeList nl = TreeList.this.getLeafList(currentDepth() - 1);
-            Query q = TreeList.this.branches.get(currentDepth() -1 
).getQuery();
+            Query q = TreeList.this.branches.get(currentDepth() - 
1).getQuery();
             List<Step> steps = q.getSteps();
             if (steps.size() >= 3) {
                 Step thisStep = steps.get(steps.size() - 1);
                 Step parentStep = steps.get(steps.size() - 3);
                 for (Node sibling : nl) {
                     if (current.getNumber() == 
sibling.getIntValue(thisStep.getAlias() +".number")) {
-                        return 
getCloud().getNode(sibling.getIntValue(parentStep.getAlias() +".number"));
+                        String parentAlias = parentStep.getAlias();
+                        if (parentAlias == null) {
+                            parentAlias = parentStep.getTableName();
+                            //throw new IllegalStateException("No alias in " + 
parentStep + " (of " + q + ")");
+                        }
+                        return 
getCloud().getNode(sibling.getIntValue(parentAlias +".number"));
                     }
                 }
             }
@@ -509,7 +514,11 @@
                 Step thisStep = steps.get(steps.size() - 1);
                 Step parentStep = steps.get(steps.size() - 3);
                 for (Node sibling : nl) {
-                    if (sibling.getIntValue(parentStep.getAlias() +".number") 
== parent) {
+                    String parentAlias = parentStep.getAlias();
+                    if (parentAlias == null) {
+                        parentAlias = parentStep.getTableName();
+                    }
+                    if (sibling.getIntValue(parentAlias +".number") == parent) 
{
                         
l.add(getCloud().getNode(sibling.getIntValue(thisStep.getAlias() +".number")));
                     }
                 }

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to