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

Modified Files:
      Tag: MMBase-1_8
        ResultBuilder.java SearchQuery.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.8
retrieving revision 1.8.2.1
diff -u -b -r1.8 -r1.8.2.1
--- ResultBuilder.java  4 Nov 2005 23:34:42 -0000       1.8
+++ ResultBuilder.java  28 Jun 2008 11:57:10 -0000      1.8.2.1
@@ -9,10 +9,14 @@
 */
 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.cache.Cache;
 import org.mmbase.module.core.*;
-import org.mmbase.util.logging.*;
+import org.mmbase.storage.StorageException;
 
 /**
  * A <code>ResultBuilder</code> is a builder for
@@ -22,12 +26,12 @@
  * This builder contains info on the fields of the resultnodes.
  *
  * @author  Rob van Maris
- * @version $Id: ResultBuilder.java,v 1.8 2005/11/04 23:34:42 michiel Exp $
+ * @version $Id: ResultBuilder.java,v 1.8.2.1 2008/06/28 11:57:10 nklasens Exp 
$
  * @since MMBase-1.7
  */
 public class ResultBuilder extends VirtualBuilder {
 
-    private static final Logger log = 
Logging.getLoggerInstance(ResultBuilder.class);
+    private SearchQuery query;
 
     /**
      * Creator.
@@ -39,6 +43,7 @@
      */
     public ResultBuilder(MMBase mmbase, SearchQuery query) {
         super(mmbase);
+        this.query = query;
 
         // Create fieldsByAlias map.
         List queryFields = query.getFields();
@@ -53,9 +58,21 @@
         }
     }
 
-    // javadoc is inherited
+    /**
+     * @see org.mmbase.module.core.VirtualBuilder#getNewNode(java.lang.String)
+     */
     public MMObjectNode getNewNode(String owner) {
         return new ResultNode(this);
     }
 
+    public List getResult() throws StorageException, SearchQueryException {
+        Cache cache = AggregatedResultCache.getCache();
+
+        List resultList = (List) cache.get(query);
+        if (resultList == null) {
+            resultList = this.mmb.getSearchQueryHandler().getNodes(query, 
this);
+            cache.put(query, resultList);
+        }
+        return resultList;
+    }
 }


Index: SearchQuery.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/storage/search/SearchQuery.java,v
retrieving revision 1.3
retrieving revision 1.3.4.1
diff -u -b -r1.3 -r1.3.4.1
--- SearchQuery.java    1 Apr 2004 20:57:48 -0000       1.3
+++ SearchQuery.java    28 Jun 2008 11:57:10 -0000      1.3.4.1
@@ -10,16 +10,18 @@
 package org.mmbase.storage.search;
 
 import java.util.List;
+
+import org.mmbase.bridge.Cacheable;
 /**
  * Encapsulates a request for a search of the object cloud.
  * <p>
  * This corresponds to a SELECT query in SQL syntax.
  *
  * @author Rob van Maris
- * @version $Id: SearchQuery.java,v 1.3 2004/04/01 20:57:48 robmaris Exp $
+ * @version $Id: SearchQuery.java,v 1.3.4.1 2008/06/28 11:57:10 nklasens Exp $
  * @since MMBase-1.7
  */
-public interface SearchQuery {
+public interface SearchQuery extends Cacheable {
     /**
      * Default maxNumber value, corresponds to no maximum.
      * @see SearchQuery#getMaxNumber 
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to