Update of /var/cvs/applications/dove/src/org/mmbase/applications/dove
In directory james.mmbase.org:/tmp/cvs-serv21997

Modified Files:
        Dove.java 
Log Message:
made determination of the 'specializtion' (the @ftype in wizard.xsl) a bit more 
sophisticated. This fixes 'time' datatypes, which were presented as datetimes.


See also: 
http://cvs.mmbase.org/viewcvs/applications/dove/src/org/mmbase/applications/dove


Index: Dove.java
===================================================================
RCS file: 
/var/cvs/applications/dove/src/org/mmbase/applications/dove/Dove.java,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -b -r1.99 -r1.100
--- Dove.java   17 Nov 2008 14:28:12 -0000      1.99
+++ Dove.java   13 Jan 2009 11:04:13 -0000      1.100
@@ -55,7 +55,7 @@
  *
  * @author Pierre van Rooden
  * @since MMBase-1.5
- * @version $Id: Dove.java,v 1.99 2008/11/17 14:28:12 michiel Exp $
+ * @version $Id: Dove.java,v 1.100 2009/01/13 11:04:13 michiel Exp $
  */
 
 public class Dove extends AbstractDove {
@@ -605,11 +605,11 @@
             }
 
             // plural name
-            elm = 
addContentElement(PLURALNAME,nm.getGUIName(NodeManager.GUI_PLURAL, locale), 
out);
+            elm = addContentElement(PLURALNAME, 
nm.getGUIName(NodeManager.GUI_PLURAL, locale), out);
             if (lang != null) elm.setAttribute(ELM_LANG, lang);
 
                 // description
-            elm = addContentElement(DESCRIPTION,nm.getDescription(locale), 
out);
+            elm = addContentElement(DESCRIPTION, nm.getDescription(locale), 
out);
             if (lang != null) elm.setAttribute(ELM_LANG, lang);
 
             // parent
@@ -652,14 +652,17 @@
                     if (lang != null) elm.setAttribute(ELM_LANG, lang);
                     // guitype
                     DataType dataType = fielddef.getDataType();
+                    // The written type will be the first non-anonymous origin 
(or self).
                     String baseType = dataType.getBaseTypeIdentifier();
-                    String specialization = dataType.getName();
-                    if ("".equals(specialization)) {
-                        DataType origin = dataType.getOrigin();
-                        if (origin != null) {
-                            specialization = origin.getName();
-                        }
+
+                    DataType specializationDataType = dataType;
+                    String specialization = specializationDataType.getName();
+                    while (specialization == null || 
"".equals(specialization)) {
+                        specializationDataType = 
specializationDataType.getOrigin();
+                        if (specializationDataType == null) break;
+                        specialization = specializationDataType.getName();
                     }
+                    log.debug("Found " + specialization);
                     if (getOptionList(dataType, nm.getCloud(), null, fielddef) 
!= null) {
                         specialization = "enum";
                     } else if (dataType instanceof StringDataType) {
@@ -1327,10 +1330,7 @@
                 if (originalValues != null) {
                     if(!putChangeNode(alias, values, originalValues, aliases, 
newElement, cloud)) return false;
                 } else {
-                    // give error not a org. node
-                    Element err = addContentElement(ERROR,"Node not defined in 
original tag, node number : " + alias, out);
-                    err.setAttribute(ELM_TYPE, IS_SERVER);
-                    return false;
+                    throw new RuntimeException("Node not defined in original 
tag, node number : " + alias);
                 }
             } else {
                 // give error not a org. node
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to