Author: michiel
Date: 2009-05-18 14:02:58 +0200 (Mon, 18 May 2009)
New Revision: 35249

Modified:
   
mmbase/trunk/applications/cloudcontext/src/org/mmbase/security/implementation/cloudcontext/Caches.java
Log:
If for some reason security implementation different, then don't fail complete 
event-handler

Modified: 
mmbase/trunk/applications/cloudcontext/src/org/mmbase/security/implementation/cloudcontext/Caches.java
===================================================================
--- 
mmbase/trunk/applications/cloudcontext/src/org/mmbase/security/implementation/cloudcontext/Caches.java
      2009-05-18 11:55:17 UTC (rev 35248)
+++ 
mmbase/trunk/applications/cloudcontext/src/org/mmbase/security/implementation/cloudcontext/Caches.java
      2009-05-18 12:02:58 UTC (rev 35249)
@@ -125,38 +125,46 @@
 
     static void notify(NodeEvent event) {
 
-        String builder = event.getBuilderName();
-        if 
(builder.equals(Authenticate.getInstance().getUserProvider().getUserBuilder().getTableName()))
 {
-            invalidateCaches(event.getNodeNumber());
+        try {
+            String builder = event.getBuilderName();
+            if 
(builder.equals(Authenticate.getInstance().getUserProvider().getUserBuilder().getTableName()))
 {
+                invalidateCaches(event.getNodeNumber());
+            }
+            if (new 
BuilderNames(Verify.getInstance().getContextProvider().getContextQueries()).contains((builder))
+                || builder.equals("rightsrel")
+                || builder.equals("groups")
+                || builder.equals("ranks")
+                ) {
+                invalidateCaches();
+            }
+        } catch (ClassCastException cce) {
+            log.debug(cce + " (Different security implementations?)");
         }
-        if (new 
BuilderNames(Verify.getInstance().getContextProvider().getContextQueries()).contains((builder))
-            || builder.equals("rightsrel")
-            || builder.equals("groups")
-            || builder.equals("ranks")
-            ) {
-            invalidateCaches();
-        }
     }
     static void notify(RelationEvent event) {
-        String sourceType = event.getRelationSourceType();
-        String destType = event.getRelationDestinationType();
-        String userBuilder = 
Authenticate.getInstance().getUserProvider().getUserBuilder().getTableName();
-        Collection<String> contextBuilders = new 
BuilderNames(Verify.getInstance().getContextProvider().getContextQueries());
-        if (sourceType.equals(userBuilder)) {
-            invalidateCaches(event.getRelationSourceNumber());
+        try {
+            String sourceType = event.getRelationSourceType();
+            String destType = event.getRelationDestinationType();
+            String userBuilder = 
Authenticate.getInstance().getUserProvider().getUserBuilder().getTableName();
+            Collection<String> contextBuilders = new 
BuilderNames(Verify.getInstance().getContextProvider().getContextQueries());
+            if (sourceType.equals(userBuilder)) {
+                invalidateCaches(event.getRelationSourceNumber());
+            }
+            if (destType.equals(userBuilder)) {
+                invalidateCaches(event.getRelationDestinationNumber());
+            }
+            if (contextBuilders.contains(sourceType) || 
contextBuilders.contains(destType)) {
+                invalidateCaches();
+            }
+            if (sourceType.equals("groups") || destType.equals("groups")) {
+                invalidateCaches();
+            }
+            if (sourceType.equals("ranks") || destType.equals("ranks")) {
+                invalidateCaches();
+            }
+        } catch (ClassCastException cce) {
+            log.debug(cce + " (Different security implementations?)");
         }
-        if (destType.equals(userBuilder)) {
-            invalidateCaches(event.getRelationDestinationNumber());
-        }
-        if (contextBuilders.contains(sourceType) || 
contextBuilders.contains(destType)) {
-            invalidateCaches();
-        }
-        if (sourceType.equals("groups") || destType.equals("groups")) {
-            invalidateCaches();
-        }
-        if (sourceType.equals("ranks") || destType.equals("ranks")) {
-            invalidateCaches();
-        }
     }
 
 

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to