Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/ModuleService.java @ 3630:28be160b5870
Add a module service. It's now possible to configure the modules which are
available for a client. With the selected attribute it is possible to give
a hint for the client which module should be pre selected by default
flys-artifacts/trunk@5330 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Bjoern Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Fri, 31 Aug 2012 13:17:16 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
3629:f3717e625b0a | 3630:28be160b5870 |
---|---|
1 package de.intevation.flys.artifacts.services; | |
2 | |
3 import java.util.List; | |
4 | |
5 import org.apache.log4j.Logger; | |
6 | |
7 import org.w3c.dom.Document; | |
8 import org.w3c.dom.Element; | |
9 | |
10 import de.intevation.artifacts.common.utils.XMLUtils; | |
11 | |
12 import de.intevation.artifacts.CallMeta; | |
13 import de.intevation.artifacts.GlobalContext; | |
14 import de.intevation.artifacts.ArtifactNamespaceContext; | |
15 import de.intevation.flys.artifacts.model.Module; | |
16 import de.intevation.flys.artifacts.context.FLYSContext; | |
17 import de.intevation.flys.artifacts.resources.Resources; | |
18 | |
19 public class ModuleService extends FLYSService { | |
20 | |
21 private static final String MODULE = "module"; | |
22 | |
23 private static Logger logger = Logger.getLogger(ModuleService.class); | |
24 | |
25 protected Document doProcess( | |
26 Document data, | |
27 GlobalContext globalContext, | |
28 CallMeta callMeta | |
29 ) { | |
30 logger.debug("ModuleService.process"); | |
31 | |
32 Document result = XMLUtils.newDocument(); | |
33 | |
34 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator( | |
35 result, | |
36 ArtifactNamespaceContext.NAMESPACE_URI, | |
37 ArtifactNamespaceContext.NAMESPACE_PREFIX); | |
38 | |
39 Element em = ec.create("modules"); | |
40 List<Module> modules = (List<Module>)globalContext.get(FLYSContext.MODULES); | |
41 | |
42 for (Module module : modules) { | |
43 Element m = ec.create("module"); | |
44 ec.addAttr(m, "name", module.getName(), true); | |
45 String localname = Resources.getMsg(callMeta, | |
46 MODULE + "." + module.getName(), module.getName()); | |
47 ec.addAttr(m, "localname", localname, true); | |
48 | |
49 if (module.isSelected()) { | |
50 ec.addAttr(m, "selected", "true", true); | |
51 } | |
52 | |
53 em.appendChild(m); | |
54 } | |
55 | |
56 result.appendChild(em); | |
57 | |
58 return result; | |
59 } | |
60 } | |
61 | |
62 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 tw=80: |