Update of /var/cvs/src/org/mmbase/cache
In directory james.mmbase.org:/tmp/cvs-serv5020

Modified Files:
      Tag: MMBase-1_8
        BasicReleaseStrategy.java 
Log Message:
trying to avoid NPE's.   MMB-1591


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/cache
See also: http://www.mmbase.org/jira/browse/MMB-1591


Index: BasicReleaseStrategy.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/cache/BasicReleaseStrategy.java,v
retrieving revision 1.13
retrieving revision 1.13.2.1
diff -u -b -r1.13 -r1.13.2.1
--- BasicReleaseStrategy.java   27 Jun 2006 07:31:45 -0000      1.13
+++ BasicReleaseStrategy.java   12 Feb 2008 16:27:51 -0000      1.13.2.1
@@ -29,7 +29,7 @@
  *
  * @author Ernst Bunders
  * @since MMBase-1.8
- * @version $Id: BasicReleaseStrategy.java,v 1.13 2006/06/27 07:31:45 michiel 
Exp $
+ * @version $Id: BasicReleaseStrategy.java,v 1.13.2.1 2008/02/12 16:27:51 
michiel Exp $
  */
 public class BasicReleaseStrategy extends ReleaseStrategy {
 
@@ -62,12 +62,23 @@
         MMBase mmb = MMBase.getMMBase();
         String eventTable = event.getBuilderName();
         MMObjectBuilder eventBuilder = mmb.getBuilder(eventTable);
+        if (eventBuilder == null) {
+            eventBuilder = mmb.getBuilder("object");
+            eventTable = "object";
+        }
         Iterator i = query.getSteps().iterator();
         while (i.hasNext()) {
             Step step = (Step) i.next();
             String table = step.getTableName();
+            if (table == null) {
+                // I think this cannot happen
+                log.warn("Found null in a query !" + query);
+                continue;
+            }
+            MMObjectBuilder stepBuilder = mmb.getBuilder(table);
+            if (stepBuilder == null) stepBuilder = mmb.getBuilder("object");
             if (! (table.equals(eventTable) ||
-                   eventBuilder.isExtensionOf(mmb.getBuilder(table)))) 
continue;
+                   eventBuilder.isExtensionOf(stepBuilder))) continue;
             Set nodes = step.getNodes();
             if (nodes == null || nodes.size() == 0 ||  nodes.contains(new 
Integer(event.getNodeNumber()))) {
                 return true;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to