Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java @ 3812:f788d2d901d6
merged flys-artifacts/pre2.6-2011-12-05
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:53 +0200 |
parents | 8a2cbf947395 |
children | 9d5f339d83a3 |
comparison
equal
deleted
inserted
replaced
3808:5fab0fe3c445 | 3812:f788d2d901d6 |
---|---|
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.artifacts.FLYSArtifact; | |
14 import de.intevation.flys.model.DGM; | |
15 | |
16 | |
17 /** | |
18 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | |
19 */ | |
20 public class DGMSelect extends DefaultState { | |
21 | |
22 private static final Logger logger = Logger.getLogger(DGMSelect.class); | |
23 | |
24 | |
25 @Override | |
26 protected String getUIProvider() { | |
27 return "dgm_datacage_panel"; | |
28 } | |
29 | |
30 | |
31 @Override | |
32 protected Element createStaticData( | |
33 FLYSArtifact flys, | |
34 ElementCreator creator, | |
35 CallContext cc, | |
36 String name, | |
37 String value, | |
38 String type | |
39 ) { | |
40 Element dataElement = creator.create("data"); | |
41 creator.addAttr(dataElement, "name", name, true); | |
42 creator.addAttr(dataElement, "type", type, true); | |
43 | |
44 Element itemElement = creator.create("item"); | |
45 creator.addAttr(itemElement, "value", value, true); | |
46 | |
47 creator.addAttr(itemElement, "label", getLabel(cc, value), true); | |
48 dataElement.appendChild(itemElement); | |
49 | |
50 return dataElement; | |
51 } | |
52 | |
53 | |
54 public static String getLabel(CallContext cc, String value) { | |
55 logger.debug("Create label for value: " + value); | |
56 | |
57 try { | |
58 DGM dgm = DGM.getDGM(Integer.parseInt(value)); | |
59 | |
60 File file = new File(dgm.getPath()); | |
61 return file.getName(); | |
62 } | |
63 catch (NumberFormatException nfe) { | |
64 logger.warn("Cannot parse int value: '" + value + "'"); | |
65 } | |
66 | |
67 return ""; | |
68 } | |
69 } | |
70 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |