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:

http://dive4elements.wald.intevation.org