comparison 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
comparison
equal deleted inserted replaced
803:653ae84533e7 804:374712890b94
1 package de.intevation.flys.client.server; 1 package de.intevation.flys.client.server;
2 2
3 import java.util.List; 3 import java.util.List;
4 import java.util.Map; 4 import java.util.Map;
5 import java.util.Set;
5 6
6 import org.w3c.dom.Document; 7 import org.w3c.dom.Document;
7 import org.w3c.dom.Element; 8 import org.w3c.dom.Element;
8 9
9 import de.intevation.artifacts.common.ArtifactNamespaceContext; 10 import de.intevation.artifacts.common.ArtifactNamespaceContext;
10 import de.intevation.artifacts.common.utils.XMLUtils; 11 import de.intevation.artifacts.common.utils.XMLUtils;
11 import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; 12 import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;
12 13
14 import de.intevation.flys.client.shared.model.AttributedTheme;
13 import de.intevation.flys.client.shared.model.Collection; 15 import de.intevation.flys.client.shared.model.Collection;
14 import de.intevation.flys.client.shared.model.OutputMode; 16 import de.intevation.flys.client.shared.model.OutputMode;
15 import de.intevation.flys.client.shared.model.Theme; 17 import de.intevation.flys.client.shared.model.Theme;
16 import de.intevation.flys.client.shared.model.ThemeList; 18 import de.intevation.flys.client.shared.model.ThemeList;
17 19
141 { 143 {
142 if (theme == null) { 144 if (theme == null) {
143 return null; 145 return null;
144 } 146 }
145 147
146 Element t = cr.create("theme"); 148 Element t = cr.create("facet");
147 149
148 cr.addAttr(t, "active", theme.isActive() ? "1" : "0", true); 150 if (theme instanceof AttributedTheme) {
149 cr.addAttr(t, "artifact", theme.getArtifact(), true); 151 AttributedTheme at = (AttributedTheme) theme;
150 cr.addAttr(t, "facet", theme.getFacet(), true); 152 Set<String> keys = at.getKeys();
151 cr.addAttr(t, "pos", Integer.toString(theme.getPosition()), true); 153
152 cr.addAttr(t, "index", Integer.toString(theme.getIndex()), true); 154 for (String key: keys) {
153 cr.addAttr(t, "description", theme.getDescription(), true); 155 cr.addAttr(t, key, at.getAttr(key), true);
156 }
157 }
158 else {
159 cr.addAttr(t, "active", Integer.toString(theme.getActive()), true);
160 cr.addAttr(t, "artifact", theme.getArtifact(), true);
161 cr.addAttr(t, "facet", theme.getFacet(), true);
162 cr.addAttr(t, "pos", Integer.toString(theme.getPosition()), true);
163 cr.addAttr(t, "index", Integer.toString(theme.getIndex()), true);
164 cr.addAttr(t, "description", theme.getDescription(), true);
165 }
154 166
155 return t; 167 return t;
156 } 168 }
157 } 169 }
158 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 170 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org