Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/server/CollectionHelper.java @ 804:374712890b94
Facets read from Collection's DESCRIBE document keep all their attributes after the Collection's attribute has been modified.
flys-client/trunk@2362 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 19 Jul 2011 16:32:52 +0000 |
parents | a0884f486711 |
children | e9337488bac3 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/server/CollectionHelper.java Mon Jul 18 09:52:16 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/CollectionHelper.java Tue Jul 19 16:32:52 2011 +0000 @@ -2,6 +2,7 @@ import java.util.List; import java.util.Map; +import java.util.Set; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -10,6 +11,7 @@ import de.intevation.artifacts.common.utils.XMLUtils; import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; +import de.intevation.flys.client.shared.model.AttributedTheme; import de.intevation.flys.client.shared.model.Collection; import de.intevation.flys.client.shared.model.OutputMode; import de.intevation.flys.client.shared.model.Theme; @@ -143,14 +145,24 @@ return null; } - Element t = cr.create("theme"); + Element t = cr.create("facet"); - cr.addAttr(t, "active", theme.isActive() ? "1" : "0", true); - cr.addAttr(t, "artifact", theme.getArtifact(), true); - cr.addAttr(t, "facet", theme.getFacet(), true); - cr.addAttr(t, "pos", Integer.toString(theme.getPosition()), true); - cr.addAttr(t, "index", Integer.toString(theme.getIndex()), true); - cr.addAttr(t, "description", theme.getDescription(), true); + if (theme instanceof AttributedTheme) { + AttributedTheme at = (AttributedTheme) theme; + Set<String> keys = at.getKeys(); + + for (String key: keys) { + cr.addAttr(t, key, at.getAttr(key), true); + } + } + else { + cr.addAttr(t, "active", Integer.toString(theme.getActive()), true); + cr.addAttr(t, "artifact", theme.getArtifact(), true); + cr.addAttr(t, "facet", theme.getFacet(), true); + cr.addAttr(t, "pos", Integer.toString(theme.getPosition()), true); + cr.addAttr(t, "index", Integer.toString(theme.getIndex()), true); + cr.addAttr(t, "description", theme.getDescription(), true); + } return t; }