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

Reply via email to