Update of /var/cvs/src/org/mmbase/storage/search
In directory james.mmbase.org:/tmp/cvs-serv13533/src/org/mmbase/storage/search

Modified Files:
        ResultBuilder.java 
Log Message:
Use Cache classes not in bridge only in core. Cache classes will start MMbase 
even when MMbase is shutting down.



See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/storage/search


Index: ResultBuilder.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/storage/search/ResultBuilder.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- ResultBuilder.java  24 Feb 2007 21:57:50 -0000      1.9
+++ ResultBuilder.java  13 Jun 2008 09:58:26 -0000      1.10
@@ -9,9 +9,13 @@
 */
 package org.mmbase.storage.search;
 
-import java.util.*;
+import java.util.Iterator;
+import java.util.List;
+
 import org.mmbase.bridge.Field;
+import org.mmbase.cache.AggregatedResultCache;
 import org.mmbase.module.core.*;
+import org.mmbase.storage.StorageException;
 
 /**
  * A <code>ResultBuilder</code> is a builder for
@@ -21,11 +25,13 @@
  * This builder contains info on the fields of the resultnodes.
  *
  * @author  Rob van Maris
- * @version $Id: ResultBuilder.java,v 1.9 2007/02/24 21:57:50 nklasens Exp $
+ * @version $Id: ResultBuilder.java,v 1.10 2008/06/13 09:58:26 nklasens Exp $
  * @since MMBase-1.7
  */
 public class ResultBuilder extends VirtualBuilder {
 
+    private SearchQuery query;
+    
     /**
      * Creator.
      * Creates new <code>ResultBuilder</code> instance, used to represent
@@ -36,6 +42,7 @@
      */
     public ResultBuilder(MMBase mmbase, SearchQuery query) {
         super(mmbase);
+        this.query = query;
 
         // Create fieldsByAlias map.
         List<StepField> queryFields = query.getFields();
@@ -50,9 +57,22 @@
         }
     }
 
-    // javadoc is inherited
+    /**
+     * @see org.mmbase.module.core.VirtualBuilder#getNewNode(java.lang.String)
+     */
     public MMObjectNode getNewNode(String owner) {
         return new ResultNode(this);
     }
 
+    public List<MMObjectNode> getResult() throws StorageException, 
SearchQueryException {
+        AggregatedResultCache cache = AggregatedResultCache.getCache();
+
+        List<MMObjectNode> resultList = cache.get(query);
+        if (resultList == null) {
+            resultList = this.mmb.getSearchQueryHandler().getNodes(query, 
this);
+            cache.put(query, resultList);
+        }
+        return resultList;
+    }
+
 }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to