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

Modified Files:
        Queries.java 
Log Message:
added this method to be able to edit relations within the searchrelate widget




See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/bridge/util


Index: Queries.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/bridge/util/Queries.java,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -b -r1.110 -r1.111
--- Queries.java        16 Sep 2008 11:20:18 -0000      1.110
+++ Queries.java        7 Nov 2008 13:42:26 -0000       1.111
@@ -26,7 +26,7 @@
  * methods are put here.
  *
  * @author Michiel Meeuwissen
- * @version $Id: Queries.java,v 1.110 2008/09/16 11:20:18 michiel Exp $
+ * @version $Id: Queries.java,v 1.111 2008/11/07 13:42:26 andre Exp $
  * @see  org.mmbase.bridge.Query
  * @since MMBase-1.7
  */
@@ -1351,8 +1351,26 @@
      * @since MMBase-1.8.6
      */
     public static NodeList removeFromResult(Query q, Node n) {
-        List<Step> steps = q.getSteps();
+        NodeList result = getRelations(q, n);
+        NodeIterator ni = result.nodeIterator();
+        while (ni.hasNext()) {
+            Node r = ni.nextNode();
+            r.delete();
+        }
 
+        return result;
+    }
+    
+    /**
+     * Explores a query object, returns the relations the node has within the 
query.
+     *
+     * @throws UnsupportedOperationException If it cannot be determined how 
the node is related.
+     * @since MMBase-1.9.1
+     * @return The relation nodes
+     * @throws NullPointerException if q or n is <code>null</code>
+     */
+    public static NodeList getRelations(Query q, Node n) {
+        List<Step> steps = q.getSteps();
         if (steps.size() < 3) throw new UnsupportedOperationException();
 
         NodeList result = q.getCloud().createNodeList();
@@ -1380,10 +1398,7 @@
                     Node virtual = ni.nextNode();
                     Node r = cloud.getNode(virtual.getIntValue(alias));
                     result.add(r);
-                    r.delete();
-
                 }
-
             }
         }
         return result;
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to