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

Reply via email to