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 :

http://dive4elements.wald.intevation.org