# HG changeset patch # User Raimund Renkert # Date 1393509396 -3600 # Node ID cd04a7389389060ed09f91f1fb028d0b11b7f777 # Parent 4a85cc6add7fe3e1218c68b30892f299434a01c3 Read rivers supported by a module from config file. diff -r 4a85cc6add7f -r cd04a7389389 artifacts/src/main/java/org/dive4elements/river/artifacts/context/RiverContextFactory.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/context/RiverContextFactory.java Thu Feb 27 14:55:38 2014 +0100 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/context/RiverContextFactory.java Thu Feb 27 14:56:36 2014 +0100 @@ -33,6 +33,7 @@ import org.dive4elements.artifacts.common.utils.XMLUtils; import org.dive4elements.river.artifacts.model.Module; +import org.dive4elements.river.artifacts.model.RiverFactory; import org.dive4elements.river.artifacts.model.ZoomScale; import org.dive4elements.river.artifacts.states.StateFactory; @@ -42,6 +43,7 @@ import org.dive4elements.river.exports.GeneratorLookup; import org.dive4elements.river.exports.OutGenerator; +import org.dive4elements.river.model.River; import org.dive4elements.river.themes.Theme; import org.dive4elements.river.themes.ThemeFactory; import org.dive4elements.river.themes.ThemeGroup; @@ -571,7 +573,28 @@ boolean selected = attrselected == null ? false : attrselected.equalsIgnoreCase("true"); logger.debug("Loaded module " + modulename); - modules.add(new Module(modulename, selected)); + NodeList children = e.getChildNodes(); + List rivers = new ArrayList(children.getLength()); + for (int j = 0; j < children.getLength(); j++) { + if (children.item(j).getNodeType() != Node.ELEMENT_NODE) { + continue; + } + Element ce = (Element)children.item(j); + if (ce.hasAttribute("uuid")) { + rivers.add(ce.getAttribute("uuid")); + } + else if (ce.hasAttribute("name")) { + List allRivers = RiverFactory.getRivers(); + String name = ce.getAttribute("name"); + for (River r: allRivers) { + if (name.equals(r.getName())) { + rivers.add(r.getModelUuid()); + break; + } + } + } + } + modules.add(new Module(modulename, selected, rivers)); } context.put(RiverContext.MODULES, modules); }