Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java @ 1622:6d0299d63819
#325 Create human readable label for the selected DEM (used in the static UI part).
flys-artifacts/trunk@2795 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 21 Sep 2011 10:08:47 +0000 |
parents | 23eb122c8ec1 |
children | 8a2cbf947395 |
comparison
equal
deleted
inserted
replaced
1621:6d3c1f4d0e8c | 1622:6d0299d63819 |
---|---|
1 package de.intevation.flys.artifacts.states; | 1 package de.intevation.flys.artifacts.states; |
2 | |
3 import java.io.File; | |
4 | |
5 import org.w3c.dom.Element; | |
6 | |
7 import org.apache.log4j.Logger; | |
8 | |
9 import de.intevation.artifacts.CallContext; | |
10 | |
11 import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; | |
12 | |
13 import de.intevation.flys.model.DGM; | |
14 | |
2 | 15 |
3 /** | 16 /** |
4 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | 17 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
5 */ | 18 */ |
6 public class DGMSelect extends DefaultState { | 19 public class DGMSelect extends DefaultState { |
7 | 20 |
21 private static final Logger logger = Logger.getLogger(DGMSelect.class); | |
22 | |
23 | |
8 @Override | 24 @Override |
9 protected String getUIProvider() { | 25 protected String getUIProvider() { |
10 return "dgm_datacage_panel"; | 26 return "dgm_datacage_panel"; |
11 } | 27 } |
28 | |
29 | |
30 @Override | |
31 protected Element createStaticData( | |
32 ElementCreator creator, | |
33 CallContext cc, | |
34 String name, | |
35 String value, | |
36 String type | |
37 ) { | |
38 Element dataElement = creator.create("data"); | |
39 creator.addAttr(dataElement, "name", name, true); | |
40 creator.addAttr(dataElement, "type", type, true); | |
41 | |
42 Element itemElement = creator.create("item"); | |
43 creator.addAttr(itemElement, "value", value, true); | |
44 | |
45 creator.addAttr(itemElement, "label", getLabel(cc, value), true); | |
46 dataElement.appendChild(itemElement); | |
47 | |
48 return dataElement; | |
49 } | |
50 | |
51 | |
52 public static String getLabel(CallContext cc, String value) { | |
53 logger.debug("Create label for value: " + value); | |
54 | |
55 try { | |
56 DGM dgm = DGM.getDGM(Integer.parseInt(value)); | |
57 | |
58 File file = new File(dgm.getPath()); | |
59 return file.getName(); | |
60 } | |
61 catch (NumberFormatException nfe) { | |
62 logger.warn("Cannot parse int value: '" + value + "'"); | |
63 } | |
64 | |
65 return ""; | |
66 } | |
12 } | 67 } |
13 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : | 68 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |