Author: michiel
Date: 2009-07-07 18:08:45 +0200 (Tue, 07 Jul 2009)
New Revision: 36633

Modified:
   
mmbase/trunk/core/src/main/java/org/mmbase/bridge/implementation/VirtualNodeManager.java
Log:
it's a bit pointless to instantiate a new Corefield for every step Field which 
we encounter. Staticly caching one.

Modified: 
mmbase/trunk/core/src/main/java/org/mmbase/bridge/implementation/VirtualNodeManager.java
===================================================================
--- 
mmbase/trunk/core/src/main/java/org/mmbase/bridge/implementation/VirtualNodeManager.java
    2009-07-07 15:48:27 UTC (rev 36632)
+++ 
mmbase/trunk/core/src/main/java/org/mmbase/bridge/implementation/VirtualNodeManager.java
    2009-07-07 16:08:45 UTC (rev 36633)
@@ -84,8 +84,9 @@
 
     }
 
-    /**
 
+
+    private static CoreField UNKNOWN_NODE_TYPE = 
Fields.createField("unknown_node_type", Field.TYPE_NODE, Field.TYPE_UNKNOWN, 
Field.STATE_VIRTUAL, DataTypes.getDataType("node"));
     /**
      * Returns the fieldlist of this nodemanager after making sure the manager 
is synced with the builder.
      * @since MMBase-1.8
@@ -97,13 +98,11 @@
             if (query != null) { // means not yet called (lazy loading of 
fields)
                 // code to solve the fields.
                 for (Step step : query.getSteps()) {
-                    DataType nodeType  = DataTypes.getDataType("node");
-
                     String name = step.getAlias();
-                    if (name == null) name = step.getTableName();
-                    CoreField fd = Fields.createField(name, Field.TYPE_NODE, 
Field.TYPE_UNKNOWN, Field.STATE_VIRTUAL, nodeType);
-
-                    Field ft = new VirtualNodeManagerField(fd, name);
+                    if (name == null) {
+                        name = step.getTableName();
+                    }
+                    Field ft = new VirtualNodeManagerField(UNKNOWN_NODE_TYPE, 
name);
                     fieldTypes.put(name, ft);
 
                     if (allowNonQueriedFields && ! query.isAggregating()) {

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

Reply via email to