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