Author: michiel
Date: 2010-04-12 18:29:03 +0200 (Mon, 12 Apr 2010)
New Revision: 41856

Added:
   mmbase/trunk/core/src/main/java/org/mmbase/bridge/LocalResolver.java
Modified:
   
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreClusterQueries.java
   mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreQueryContext.java
   mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectNode.java
   mmbase/trunk/core/src/main/java/org/mmbase/module/core/NodeSearchQuery.java
   
mmbase/trunk/core/src/main/java/org/mmbase/storage/search/legacy/QueryConvertor.java
   
mmbase/trunk/core/src/test/java/org/mmbase/storage/search/ClusterQueriesTest.java
Log:


Added: mmbase/trunk/core/src/main/java/org/mmbase/bridge/LocalResolver.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/bridge/LocalResolver.java        
                        (rev 0)
+++ mmbase/trunk/core/src/main/java/org/mmbase/bridge/LocalResolver.java        
2010-04-12 16:29:03 UTC (rev 41856)
@@ -0,0 +1,26 @@
+package org.mmbase.bridge;
+
+/**
+ * The resolver recognizing only the string 'local', which then returns 
{...@link LocalContext#getCloudContext}.
+ *
+ * @since MMBase-2.0
+ */
+
+public class LocalResolver extends ContextProvider.Resolver {
+    @Override
+    public CloudContext resolve(String uri) {
+        if (uri.equals("local")){
+            return LocalContext.getCloudContext();
+        } else {
+            return null;
+        }
+    }
+    @Override
+    public boolean equals(Object o) {
+        return o != null && o instanceof LocalResolver;
+    }
+    @Override
+    public String toString() {
+        return "local";
+    }
+}

Modified: 
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreClusterQueries.java
===================================================================
--- 
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreClusterQueries.java  
    2010-04-12 16:21:03 UTC (rev 41855)
+++ 
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreClusterQueries.java  
    2010-04-12 16:29:03 UTC (rev 41856)
@@ -31,7 +31,7 @@
  * @since MMBase-2.0
  */
 
-public class CoreClusterQueries extends ClusterQueries {
+class CoreClusterQueries extends ClusterQueries {
 
     private static final Logger log= 
Logging.getLoggerInstance(CoreClusterQueries.class);
 
@@ -41,6 +41,10 @@
     private CoreClusterQueries() {
     }
 
+    public QueryContext getQueryContext() {
+        return CoreQueryContext.INSTANCE;
+    }
+
     protected int getNumberForAlias(String alias) {
         int nodeNumber = MMBase.getMMBase().getOAlias().getNumber(alias);
         if (nodeNumber < 0) {
@@ -55,7 +59,7 @@
         QueryConvertor.setConstraint(query, where);
     }
     protected StepField getField(String fieldName, BasicSearchQuery query) {
-        return ConstraintParser.getField(fieldName, query.getSteps());
+        return ConstraintParser.getField(getQueryContext(), fieldName, 
query.getSteps());
     }
 
     protected boolean isRelation(String builder) {
@@ -145,9 +149,5 @@
         throw new UnsupportedOperationException();
     }
 
-    @Override
-    public Collection<CoreField> getFields(String buil) {
-        return 
MMBase.getMMBase().getBuilder(buil).getFields(org.mmbase.bridge.NodeManager.ORDER_CREATE);
-    }
 }
 

Modified: 
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreQueryContext.java
===================================================================
--- 
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreQueryContext.java    
    2010-04-12 16:21:03 UTC (rev 41855)
+++ 
mmbase/trunk/core/src/main/java/org/mmbase/module/core/CoreQueryContext.java    
    2010-04-12 16:29:03 UTC (rev 41856)
@@ -9,8 +9,11 @@
 */
 package org.mmbase.module.core;
 
+import java.util.*;
 import org.mmbase.bridge.Field;
+import org.mmbase.core.CoreField;
 import org.mmbase.storage.search.QueryContext;
+import org.mmbase.storage.search.ClusterQueries;
 import org.mmbase.storage.*;
 /**
  *
@@ -22,6 +25,10 @@
 
     public static final QueryContext INSTANCE = new CoreQueryContext();
 
+    public ClusterQueries getClusterQueries () {
+        return CoreClusterQueries.INSTANCE;
+    }
+
     public  String getStorageIdentifier(String s) {
         StorageManagerFactory<?> factory = 
MMBase.getMMBase().getStorageManagerFactory();
         return (String) factory.getStorageIdentifier(s);
@@ -30,5 +37,11 @@
         return MMBase.getMMBase().getBuilder(builder).getField(fieldName);
     }
 
+
+    @Override
+    public Collection<CoreField> getFields(String buil) {
+        return 
MMBase.getMMBase().getBuilder(buil).getFields(org.mmbase.bridge.NodeManager.ORDER_CREATE);
+    }
+
 }
 

Modified: 
mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectNode.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectNode.java    
2010-04-12 16:21:03 UTC (rev 41855)
+++ mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMObjectNode.java    
2010-04-12 16:29:03 UTC (rev 41856)
@@ -1338,7 +1338,7 @@
             if (properties == null) {
                 properties = new HashMap<String,MMObjectNode>();
                 MMObjectBuilder bul = parent.mmb.getBuilder("properties");
-                NodeSearchQuery query = new 
NodeSearchQuery(bul.getTableName(), CoreClusterQueries.INSTANCE);
+                NodeSearchQuery query = new 
NodeSearchQuery(bul.getTableName(), CoreQueryContext.INSTANCE);
                 StepField parentField = query.getField(bul.getField("parent"));
                 BasicFieldValueConstraint cons = new 
BasicFieldValueConstraint(parentField, getNumber());
                 query.setConstraint(cons);

Modified: 
mmbase/trunk/core/src/main/java/org/mmbase/module/core/NodeSearchQuery.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/module/core/NodeSearchQuery.java 
2010-04-12 16:21:03 UTC (rev 41855)
+++ mmbase/trunk/core/src/main/java/org/mmbase/module/core/NodeSearchQuery.java 
2010-04-12 16:29:03 UTC (rev 41856)
@@ -7,7 +7,7 @@
 
 
     public NodeSearchQuery(MMObjectBuilder buil) {
-        super(buil.getTableName(), CoreClusterQueries.INSTANCE);
+        super(buil.getTableName(), CoreQueryContext.INSTANCE);
     }
 
     public MMObjectBuilder getBuilder() {

Modified: 
mmbase/trunk/core/src/main/java/org/mmbase/storage/search/legacy/QueryConvertor.java
===================================================================
--- 
mmbase/trunk/core/src/main/java/org/mmbase/storage/search/legacy/QueryConvertor.java
        2010-04-12 16:21:03 UTC (rev 41855)
+++ 
mmbase/trunk/core/src/main/java/org/mmbase/storage/search/legacy/QueryConvertor.java
        2010-04-12 16:29:03 UTC (rev 41856)
@@ -16,6 +16,7 @@
 import org.mmbase.bridge.Field;
 import org.mmbase.core.CoreField;
 import org.mmbase.storage.StorageManagerFactory;
+import org.mmbase.module.core.CoreQueryContext;
 import org.mmbase.storage.search.*;
 import org.mmbase.storage.search.implementation.BasicCompositeConstraint;
 import org.mmbase.storage.search.implementation.BasicFieldValueConstraint;
@@ -116,14 +117,14 @@
             // "where"-clause.
             // Strip leading "where ".
             constraint =
-                new ConstraintParser(query).toConstraint(where.substring(6));
+                new ConstraintParser(CoreQueryContext.INSTANCE, 
query).toConstraint(where.substring(6));
 
         } else if (where.substring(0, 6).equalsIgnoreCase("WHERE(")) {
             // "where"-clause, without space following "where".
             // Supported for backward compatibility.
             // Strip leading "where".
             constraint =
-                new ConstraintParser(query).toConstraint(where.substring(5));
+                new ConstraintParser(CoreQueryContext.INSTANCE, 
query).toConstraint(where.substring(5));
 
         } else {
             // AltaVista format.

Modified: 
mmbase/trunk/core/src/test/java/org/mmbase/storage/search/ClusterQueriesTest.java
===================================================================
--- 
mmbase/trunk/core/src/test/java/org/mmbase/storage/search/ClusterQueriesTest.java
   2010-04-12 16:21:03 UTC (rev 41855)
+++ 
mmbase/trunk/core/src/test/java/org/mmbase/storage/search/ClusterQueriesTest.java
   2010-04-12 16:29:03 UTC (rev 41856)
@@ -22,7 +22,7 @@
         RELATED =  
MockCloudContext.getInstance().getCloud("mmbase").getRelationManager("related").getNumber();
     }
 
-    ClusterQueries instance = new 
BridgeClusterQueries(MockCloudContext.getInstance().getCloud("mmbase"));
+    ClusterQueries instance = new BridgeClusterQueries(new 
QueryContext.Bridge(MockCloudContext.getInstance().getCloud("mmbase")));
 
     @Test
     public void getUniqueTableAlias() {

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

Reply via email to