# HG changeset patch # User Ingo Weinzierl # Date 1306234008 0 # Node ID 27ffaf628b544ce9dba9236c029270dac2c12670 # Parent b9127f876a6ad0efcbb95d89c79fd0afe0e01cf3 The default values/labels for Data objects are read from DESCRIBE document. flys-client/trunk@1985 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r b9127f876a6a -r 27ffaf628b54 flys-client/ChangeLog --- a/flys-client/ChangeLog Tue May 24 10:44:59 2011 +0000 +++ b/flys-client/ChangeLog Tue May 24 10:46:48 2011 +0000 @@ -1,3 +1,8 @@ +2011-05-24 Ingo Weinzierl + + * src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java: + Read the default values for Data objects from DESCRIBE. + 2011-05-24 Ingo Weinzierl * src/main/java/de/intevation/flys/client/shared/model/Data.java, diff -r b9127f876a6a -r 27ffaf628b54 flys-client/src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java --- a/flys-client/src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java Tue May 24 10:44:59 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java Tue May 24 10:46:48 2011 +0000 @@ -116,8 +116,9 @@ d, "@art:name", ArtifactNamespaceContext.INSTANCE); DataItem[] dataItems = extractCurrentDataItems(choices); + DataItem def = extractDefaultDataItem(d); - list.add(new DefaultData(name, label, null, dataItems)); + list.add(new DefaultData(name, label, null, dataItems, def)); } return list; @@ -125,6 +126,31 @@ /** + * This method extracts the default value of a Data object. + * + * @param data The data object node. + * + * @return the default DataItem. + */ + protected static DataItem extractDefaultDataItem(Node data) { + System.out.println( + "ArtifactDescriptionFactory - extractSelectedDataItem"); + + String value = XMLUtils.xpathString( + data, "@art:defaultValue", ArtifactNamespaceContext.INSTANCE); + + String label = XMLUtils.xpathString( + data, "@art:defaultLabel", ArtifactNamespaceContext.INSTANCE); + + if (value != null && label != null) { + return new DefaultDataItem(label, null, value); + } + + return null; + } + + + /** * This method extract the {@link DataItem}s of the DESCRIBE document. * * @param items The items in the DESCRIBE document.