comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java @ 937:9e813e9137a5

Added a monitor that creates new artifacts for default themes in charts and maps. flys-artifacts/trunk@2329 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 14 Jul 2011 11:27:01 +0000
parents 9ff7e06bcb77
children 5de90b0cff8e
comparison
equal deleted inserted replaced
936:759808931a2e 937:9e813e9137a5
1 package de.intevation.flys.artifacts; 1 package de.intevation.flys.artifacts;
2 2
3 import java.util.Arrays; 3 import java.util.Arrays;
4 import java.util.ArrayList; 4 import java.util.ArrayList;
5 import java.util.HashSet;
6 import java.util.List; 5 import java.util.List;
7 import java.util.Map; 6 import java.util.Map;
8 import java.util.Set;
9 7
10 import org.w3c.dom.Document; 8 import org.w3c.dom.Document;
11 import org.w3c.dom.Element; 9 import org.w3c.dom.Element;
12 import org.w3c.dom.Node; 10 import org.w3c.dom.Node;
13 11
15 13
16 import de.intevation.artifacts.ArtifactNamespaceContext; 14 import de.intevation.artifacts.ArtifactNamespaceContext;
17 import de.intevation.artifacts.CallContext; 15 import de.intevation.artifacts.CallContext;
18 16
19 import de.intevation.artifactdatabase.ProtocolUtils; 17 import de.intevation.artifactdatabase.ProtocolUtils;
20 import de.intevation.artifactdatabase.state.DefaultOutput;
21 import de.intevation.artifactdatabase.state.Facet; 18 import de.intevation.artifactdatabase.state.Facet;
22 import de.intevation.artifactdatabase.state.Output; 19 import de.intevation.artifactdatabase.state.Output;
23 import de.intevation.artifactdatabase.state.State; 20 import de.intevation.artifactdatabase.state.State;
24 import de.intevation.artifactdatabase.state.StateEngine; 21 import de.intevation.artifactdatabase.state.StateEngine;
25 import de.intevation.artifactdatabase.transition.TransitionEngine; 22 import de.intevation.artifactdatabase.transition.TransitionEngine;
229 // state is not valid, so we do not append its outputs. 226 // state is not valid, so we do not append its outputs.
230 } 227 }
231 } 228 }
232 229
233 230
234 protected List<Output> generateOutputs(List<Output> list, List<Facet> fs) {
235 List<Output> generated = new ArrayList<Output>();
236
237 boolean debug = logger.isDebugEnabled();
238
239 for (Output out: list) {
240 Output o = new DefaultOutput(
241 out.getName(),
242 out.getDescription(),
243 out.getMimeType(),
244 out.getType());
245
246 Set<String> outTypes = new HashSet<String>();
247
248 for (Facet f: out.getFacets()) {
249 if (outTypes.add(f.getName()) && debug) {
250 logger.debug("configured facet " + f);
251 }
252 }
253
254 boolean facetAdded = false;
255 for (Facet f: fs) {
256 String type = f.getName();
257
258 if (outTypes.contains(type)) {
259 if (debug) {
260 logger.debug("Add facet " + f);
261 }
262 facetAdded = true;
263 o.addFacet(f);
264 }
265 }
266
267 if (facetAdded) {
268 generated.add(o);
269 }
270 }
271
272 return generated;
273 }
274
275
276 /** 231 /**
277 * This method appends the static data - that has already been inserted by 232 * This method appends the static data - that has already been inserted by
278 * the user - to the static node of the DESCRIBE document. 233 * the user - to the static node of the DESCRIBE document.
279 * 234 *
280 * @param doc The document. 235 * @param doc The document.

http://dive4elements.wald.intevation.org