Update of /var/cvs/src/org/mmbase/bridge/util/xml/query
In directory james.mmbase.org:/tmp/cvs-serv14656

Modified Files:
      Tag: MMBase-1_8
        QueryReader.java 
Log Message:
to fix MMB-1707, made it possible to explicitley make a query multilevel


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/bridge/util/xml/query
See also: http://www.mmbase.org/jira/browse/MMB-1707


Index: QueryReader.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/bridge/util/xml/query/QueryReader.java,v
retrieving revision 1.8.2.3
retrieving revision 1.8.2.4
diff -u -b -r1.8.2.3 -r1.8.2.4
--- QueryReader.java    23 Jan 2008 15:36:42 -0000      1.8.2.3
+++ QueryReader.java    18 Aug 2008 11:07:48 -0000      1.8.2.4
@@ -18,14 +18,16 @@
 import org.mmbase.storage.search.*;
 import org.mmbase.storage.search.implementation.BasicCompositeConstraint;
 import org.mmbase.util.*;
+import org.mmbase.util.logging.*;
 
 /**
  *
  * @author Pierre van Rooden
- * @version $Id: QueryReader.java,v 1.8.2.3 2008/01/23 15:36:42 pierre Exp $
+ * @version $Id: QueryReader.java,v 1.8.2.4 2008/08/18 11:07:48 michiel Exp $
  * @since MMBase-1.8
  **/
 public class QueryReader {
+    private static final Logger log = 
Logging.getLoggerInstance(QueryReader.class);
 
     public static final String XSD_SEARCHQUERY_1_0 = "searchquery.xsd";
     public static final String NAMESPACE_SEARCHQUERY_1_0 = 
"http://www.mmbase.org/xmlns/searchquery";;
@@ -174,8 +176,8 @@
         }
         StepField stepField = null;
         String fieldName = "number";
-        if (hasAttribute(constraintElement,"element")) {
-            if (hasAttribute(constraintElement,"field")) {
+        if (hasAttribute(constraintElement, "element")) {
+            if (hasAttribute(constraintElement, "field")) {
                 throw new IllegalArgumentException("Can not specify both 
'field' and 'element' attributes on ageconstraint");
             }
             fieldName = getAttribute(constraintElement,"element") + ".number";
@@ -412,12 +414,15 @@
             queryDefinition.isMultiLevel = !path.equals(element);
 
 
-            if (element != null) {
+            if (element != null && ! "".equals(element)) {
                 queryDefinition.elementManager = cloud.getNodeManager(element);
             }
             if (!path.equals(element)) /* (queryDefinition.isMultiLevel) */ {
                 queryDefinition.query = cloud.createQuery();
                 Queries.addPath(queryDefinition.query, path, searchDirs);
+                if (log.isDebugEnabled()) {
+                    log.debug("" + queryDefinition.query.toSql());
+                }
             } else {
                 queryDefinition.query = 
queryDefinition.elementManager.createQuery();
             }
@@ -433,7 +438,9 @@
 
             // custom configurations to the query
             queryDefinition.configure(queryElement);
-
+            if (log.isDebugEnabled()) {
+                log.debug("" + queryDefinition.query.toSql());
+            }
             NodeList childNodes = queryElement.getChildNodes();
             for (int k = 0; k < childNodes.getLength(); k++) {
                 if (childNodes.item(k) instanceof Element) {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to