Author: michiel
Date: 2010-05-17 13:37:02 +0200 (Mon, 17 May 2010)
New Revision: 42177

Modified:
   
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/bridge/util/Queries.java
Log:
sort orders of first step were not properly copied

Modified: 
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/bridge/util/Queries.java
===================================================================
--- 
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/bridge/util/Queries.java
   2010-05-17 09:49:23 UTC (rev 42176)
+++ 
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/bridge/util/Queries.java
   2010-05-17 11:37:02 UTC (rev 42177)
@@ -630,16 +630,22 @@
 
      */
     public static void copySortOrders(List<SortOrder> sortOrders, Step 
sourceStep,  Query query, Step step) {
+        log.info("Copying sortorders " + sortOrders);
         for (SortOrder sortOrder : sortOrders) {
             StepField sourceField = sortOrder.getField();
-            if (! sourceField.getStep().equals(sourceStep)) continue; // for 
another step
+            if (! sourceField.getStep().equals(sourceStep)) {
+                log.info("Different step " + sourceField + " " + sourceStep);
+                continue; // for another step
+            }
             if (sortOrder instanceof DateSortOrder) {
                 query.addSortOrder(query.createStepField(step, 
sourceField.getFieldName()), sortOrder.getDirection(),
                                    sortOrder.isCaseSensitive(),
                                    ((DateSortOrder)sortOrder).getPart());
             } else {
-                query.addSortOrder(query.createStepField(step, 
sourceField.getFieldName()), sortOrder.getDirection(),
-                                   sortOrder.isCaseSensitive());
+                SortOrder so = query.addSortOrder(query.createStepField(step, 
sourceField.getFieldName()), sortOrder.getDirection(),
+                                                  sortOrder.isCaseSensitive());
+                log.info("Copied " + so);
+
             }
         }
     }
@@ -2082,6 +2088,7 @@
                 addConstraint(subQuery, copyConstraint(q.getConstraint(), 
sourceStep, subQuery, destStep));
                 subQuery.setAlias(destStep, sourceStep.getAlias());
                 addConstraint(subQuery, copyConstraint(q.getConstraint(), 
sourceStep, subQuery, destStep));
+                copySortOrders(q.getSortOrders(), sourceStep, subQuery, 
destStep);
                 step += 2;
             } else {
                 throw new IllegalArgumentException();

_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to