Update of /var/cvs/applications/dove/src/org/mmbase/applications/dove In directory james.mmbase.org:/tmp/cvs-serv22189
Modified Files: Tag: MMBase-1_8 Dove.java Log Message: made determination of the 'specialization' (the @ftype in wizard.xsl) a bit more sophisticated. This fixes 'time' datatypes, which were presented as datetimes. (MMB-1773) See also: http://cvs.mmbase.org/viewcvs/applications/dove/src/org/mmbase/applications/dove See also: http://www.mmbase.org/jira/browse/MMB-1773 Index: Dove.java =================================================================== RCS file: /var/cvs/applications/dove/src/org/mmbase/applications/dove/Dove.java,v retrieving revision 1.78.2.10 retrieving revision 1.78.2.11 diff -u -b -r1.78.2.10 -r1.78.2.11 --- Dove.java 27 Jul 2008 14:51:54 -0000 1.78.2.10 +++ Dove.java 13 Jan 2009 11:07:33 -0000 1.78.2.11 @@ -54,7 +54,7 @@ * * @author Pierre van Rooden * @since MMBase-1.5 - * @version $Id: Dove.java,v 1.78.2.10 2008/07/27 14:51:54 andre Exp $ + * @version $Id: Dove.java,v 1.78.2.11 2009/01/13 11:07:33 michiel Exp $ */ public class Dove extends AbstractDove { @@ -476,7 +476,7 @@ int number=java.lang.Math.abs(n.getNumber()); data.setAttribute(ELM_NUMBER, "n"+number); out.appendChild(data); - getDataNode(null,data,n); + getDataNode(null, data, n); } finally { n.cancel(); // have to cancel node ! It will only be really made in the putNewNode function } @@ -658,14 +658,18 @@ 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) { _______________________________________________ Cvs mailing list Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs