Update of /var/cvs/src/org/mmbase/util
In directory james.mmbase.org:/tmp/cvs-serv14516
Modified Files:
LocalizedEntryListFactory.java
Log Message:
MMB-1707
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util
See also: http://www.mmbase.org/jira/browse/MMB-1707
Index: LocalizedEntryListFactory.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/LocalizedEntryListFactory.java,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -b -r1.49 -r1.50
--- LocalizedEntryListFactory.java 24 Jul 2008 11:34:55 -0000 1.49
+++ LocalizedEntryListFactory.java 18 Aug 2008 11:05:10 -0000 1.50
@@ -38,7 +38,7 @@
* partially by explicit values, though this is not recommended.
*
* @author Michiel Meeuwissen
- * @version $Id: LocalizedEntryListFactory.java,v 1.49 2008/07/24 11:34:55
michiel Exp $
+ * @version $Id: LocalizedEntryListFactory.java,v 1.50 2008/08/18 11:05:10
michiel Exp $
* @since MMBase-1.8
*/
public class LocalizedEntryListFactory<C> implements Serializable, Cloneable {
@@ -315,16 +315,29 @@
continue;
}
}
- Query query =
QueryReader.parseQuery(element, useCloud, null).query;
+ final Query query =
QueryReader.parseQuery(element, useCloud, null).query;
final org.mmbase.bridge.NodeList list
= query.getList();
- subIterator = new Iterator() {
+ subIterator = new
Iterator<Map.Entry<C, String>>() {
final NodeIterator
nodeIterator = list.nodeIterator();
public boolean hasNext() {
return
nodeIterator.hasNext();
}
- public Object next() {
+ public Map.Entry<C, String>
next() {
org.mmbase.bridge.Node
next = nodeIterator.nextNode();
- return new Entry<Node,
FieldValue>(next, next.getFunctionValue("gui", null));
+ if (query instanceof
NodeQuery) {
+ return new Entry<C,
String>((C) next, next.getFunctionValue("gui", null).toString());
+ } else {
+ String alias =
Queries.getFieldAlias(query.getFields().get(0));
+ log.debug("using field
" + alias);
+ if
(query.getFields().size() == 1) {
+ return new
Entry<C, String>((C) next.getValue(alias),
+
next.getStringValue(alias));
+ } else {
+ String alias2 =
Queries.getFieldAlias(query.getFields().get(1));
+ return new
Entry<C, String>((C) next.getValue(alias),
+
next.getStringValue(alias2));
+ }
+ }
}
public void remove() {
throw new
UnsupportedOperationException();
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs