Author: michiel
Date: 2010-04-27 17:45:38 +0200 (Tue, 27 Apr 2010)
New Revision: 42060

Modified:
   
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/storage/search/implementation/BasicStepField.java
Log:


Modified: 
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/storage/search/implementation/BasicStepField.java
===================================================================
--- 
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/storage/search/implementation/BasicStepField.java
  2010-04-27 15:43:18 UTC (rev 42059)
+++ 
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/storage/search/implementation/BasicStepField.java
  2010-04-27 15:45:38 UTC (rev 42060)
@@ -126,7 +126,8 @@
 
     // Perhaps it is better to have something like this available in 
CloudContext itself.
     // CloudContext#getAnonymousCloud or so.
-    private static final Map<CloudContext, Cloud> anonymousClouds = new 
ConcurrentHashMap<CloudContext, Cloud>(3);
+    private static final Map<CloudContext, Map<String, Cloud>> anonymousClouds 
= new ConcurrentHashMap<CloudContext, Map<String, Cloud>>();
+
     /**
      * Constructor.
      *
@@ -156,10 +157,15 @@
             // So, we use a specialized anonymous cloud instance
             Cloud cloud = f.getNodeManager().getCloud();
             CloudContext cloudContext = cloud.getCloudContext();
-            Cloud anonymousCloud = anonymousClouds.get(cloudContext);
+            Map<String, Cloud> map = anonymousClouds.get(cloudContext);
+            if (map == null) {
+                map = new ConcurrentHashMap<String, Cloud>();
+                anonymousClouds.put(cloudContext, map);
+            }
+            Cloud anonymousCloud = map.get(cloud.getName());
             if (anonymousCloud == null) {
                 anonymousCloud = cloudContext.getCloud(cloud.getName());
-                anonymousClouds.put(cloudContext, anonymousCloud);
+                map.put(cloud.getName(), anonymousCloud);
             }
             NodeManager anonymousNodeManager = 
anonymousCloud.getNodeManager(f.getNodeManager().getName());
             Field origField = f;

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

Reply via email to