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