Update of /var/cvs/src/org/mmbase/module/core
In directory james.mmbase.org:/tmp/cvs-serv28180/src/org/mmbase/module/core
Modified Files:
Tag: MMBase-1_8
ClusterBuilder.java MMObjectNode.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/module/core
Index: ClusterBuilder.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/module/core/ClusterBuilder.java,v
retrieving revision 1.85.2.1
retrieving revision 1.85.2.2
diff -u -b -r1.85.2.1 -r1.85.2.2
--- ClusterBuilder.java 10 Jun 2008 09:20:19 -0000 1.85.2.1
+++ ClusterBuilder.java 28 Jun 2008 11:57:10 -0000 1.85.2.2
@@ -10,17 +10,25 @@
package org.mmbase.module.core;
import java.util.*;
-import org.mmbase.module.corebuilders.*;
-import org.mmbase.core.CoreField;
+
+import org.mmbase.bridge.BridgeException;
import org.mmbase.bridge.Field;
+import org.mmbase.cache.Cache;
+import org.mmbase.cache.MultilevelCache;
+import org.mmbase.core.CoreField;
import org.mmbase.core.util.Fields;
-import org.mmbase.util.functions.*;
-import org.mmbase.datatypes.*;
+import org.mmbase.datatypes.DataType;
+import org.mmbase.datatypes.DataTypes;
+import org.mmbase.module.corebuilders.FieldDefs;
+import org.mmbase.module.corebuilders.InsRel;
import org.mmbase.storage.search.*;
import org.mmbase.storage.search.implementation.*;
import org.mmbase.storage.search.legacy.ConstraintParser;
import org.mmbase.util.QueryConvertor;
-import org.mmbase.util.logging.*;
+import org.mmbase.util.functions.Parameter;
+import org.mmbase.util.functions.Parameters;
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
/**
@@ -49,7 +57,7 @@
* @author Rico Jansen
* @author Pierre van Rooden
* @author Rob van Maris
- * @version $Id: ClusterBuilder.java,v 1.85.2.1 2008/06/10 09:20:19 michiel
Exp $
+ * @version $Id: ClusterBuilder.java,v 1.85.2.2 2008/06/28 11:57:10 nklasens
Exp $
* @see ClusterNode
*/
public class ClusterBuilder extends VirtualBuilder {
@@ -437,13 +445,37 @@
* @since MMBase-1.7
* @see org.mmbase.storage.search.SearchQueryHandler#getNodes
*/
- public List getClusterNodes(SearchQuery query) throws SearchQueryException
{
+ public List getClusterNodes(SearchQuery query) {
+ // start multilevel cache
+ Cache multilevelCache = MultilevelCache.getCache();
+
+ // check multilevel cache if needed
+ List resultList = null;
+ if (query.getCachePolicy().checkPolicy(query)) {
+ resultList = (List)multilevelCache.get(query);
+ }
+ // if unavailable, obtain from database
+ if (resultList == null) {
+ log.debug("result list is null, getting from database");
+ try {
+ resultList = getClusterNodesFromQueryHandler(query);
+ } catch (SearchQueryException sqe) {
+ throw new BridgeException(query.toString() + ":" +
sqe.getMessage(), sqe);
+ }
+ if (query.getCachePolicy().checkPolicy(query)) {
+ multilevelCache.put(query, resultList);
+ }
+ }
+
+ return resultList;
+ }
+
+ public List getClusterNodesFromQueryHandler(SearchQuery query) throws
SearchQueryException {
// TODO (later): implement maximum set by maxNodesFromQuery?
// Execute query, return results.
return mmb.getSearchQueryHandler().getNodes(query, this);
-
}
/**
Index: MMObjectNode.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/module/core/MMObjectNode.java,v
retrieving revision 1.193.2.11
retrieving revision 1.193.2.12
diff -u -b -r1.193.2.11 -r1.193.2.12
--- MMObjectNode.java 11 Apr 2008 15:18:30 -0000 1.193.2.11
+++ MMObjectNode.java 28 Jun 2008 11:57:10 -0000 1.193.2.12
@@ -38,7 +38,7 @@
* @author Eduard Witteveen
* @author Michiel Meeuwissen
* @author Ernst Bunders
- * @version $Id: MMObjectNode.java,v 1.193.2.11 2008/04/11 15:18:30 nklasens
Exp $
+ * @version $Id: MMObjectNode.java,v 1.193.2.12 2008/06/28 11:57:10 nklasens
Exp $
*/
public class MMObjectNode implements org.mmbase.util.SizeMeasurable,
java.io.Serializable {
@@ -1703,7 +1703,7 @@
List v = (List) relatedCache.get(query);
if (v == null) {
try {
- v = clusterBuilder.getClusterNodes(query);
+ v = clusterBuilder.getClusterNodesFromQueryHandler(query);
relatedCache.put(query, v);
} catch (SearchQueryException sqe) {
log.error(sqe.toString());
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs