Update of /var/cvs/src/org/mmbase/framework
In directory james.mmbase.org:/tmp/cvs-serv18204
Modified Files:
Setting.java
Log Message:
if no node yet, simply list all possible keys of all components
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/framework
Index: Setting.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/Setting.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- Setting.java 4 Jul 2008 16:34:34 -0000 1.8
+++ Setting.java 4 Jul 2008 16:41:48 -0000 1.9
@@ -11,8 +11,7 @@
import org.mmbase.datatypes.*;
import org.mmbase.datatypes.util.xml.DataTypeReader;
import org.mmbase.datatypes.util.xml.DependencyException;
-import org.mmbase.util.LocalizedString;
-import org.mmbase.util.Entry;
+import org.mmbase.util.*;
import org.mmbase.bridge.*;
import org.w3c.dom.Element;
import java.util.*;
@@ -28,7 +27,7 @@
* xml. There must be some way to persistify them. There should also be a
editor in the admin pages.
*
* @author Michiel Meeuwissen
- * @version $Id: Setting.java,v 1.8 2008/07/04 16:34:34 michiel Exp $
+ * @version $Id: Setting.java,v 1.9 2008/07/04 16:41:48 michiel Exp $
* @since MMBase-1.9
*/
public class Setting<C> {
@@ -108,10 +107,18 @@
public Iterator<Map.Entry<String, String>> getEnumerationValues(final
Locale locale, final Cloud cloud, final Node node, final Field field) {
- final Component component =
ComponentRepository.getInstance().toMap().get(node == null ?
field.getNodeManager().getField(componentField).getDataType().getDefaultValue()
-
: node.getStringValue(componentField));
+ final Iterator<Setting<?>> iterator;
+ if (node != null) {
+ iterator =
ComponentRepository.getInstance().toMap().get(node.getStringValue(componentField)).getSettings().iterator();
+ } else {
+ ChainedIterator chain = new ChainedIterator<Setting<?>>();
+ for (Component comp :
ComponentRepository.getInstance().toMap().values()) {
+ chain.addIterator(comp.getSettings().iterator());
+ }
+ iterator = chain;
+ }
return new Iterator<Map.Entry<String, String>> () {
- Iterator<Setting<?>> iterator =
component.getSettings().iterator();
+
public boolean hasNext() {
return iterator.hasNext();
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs