Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.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 | c09c9e05ecfa |
children | f4439e015278 |
comparison
equal
deleted
inserted
replaced
936:759808931a2e | 937:9e813e9137a5 |
---|---|
3 import java.util.Arrays; | 3 import java.util.Arrays; |
4 import java.util.ArrayList; | 4 import java.util.ArrayList; |
5 import java.util.Collection; | 5 import java.util.Collection; |
6 import java.util.Collections; | 6 import java.util.Collections; |
7 import java.util.HashMap; | 7 import java.util.HashMap; |
8 import java.util.HashSet; | |
8 import java.util.TreeMap; | 9 import java.util.TreeMap; |
9 import java.util.List; | 10 import java.util.List; |
10 import java.util.Map; | 11 import java.util.Map; |
11 import java.util.Set; | 12 import java.util.Set; |
12 | 13 |
29 import de.intevation.artifacts.common.utils.XMLUtils; | 30 import de.intevation.artifacts.common.utils.XMLUtils; |
30 | 31 |
31 import de.intevation.artifactdatabase.DefaultArtifact; | 32 import de.intevation.artifactdatabase.DefaultArtifact; |
32 import de.intevation.artifactdatabase.data.DefaultStateData; | 33 import de.intevation.artifactdatabase.data.DefaultStateData; |
33 import de.intevation.artifactdatabase.data.StateData; | 34 import de.intevation.artifactdatabase.data.StateData; |
35 import de.intevation.artifactdatabase.state.DefaultOutput; | |
34 import de.intevation.artifactdatabase.state.Facet; | 36 import de.intevation.artifactdatabase.state.Facet; |
37 import de.intevation.artifactdatabase.state.Output; | |
35 import de.intevation.artifactdatabase.state.State; | 38 import de.intevation.artifactdatabase.state.State; |
36 import de.intevation.artifactdatabase.state.StateEngine; | 39 import de.intevation.artifactdatabase.state.StateEngine; |
37 import de.intevation.artifactdatabase.transition.TransitionEngine; | 40 import de.intevation.artifactdatabase.transition.TransitionEngine; |
38 | 41 |
39 import de.intevation.flys.utils.DoubleUtil; | 42 import de.intevation.flys.utils.DoubleUtil; |
362 public StateData getData(String name) { | 365 public StateData getData(String name) { |
363 return data.get(name); | 366 return data.get(name); |
364 } | 367 } |
365 | 368 |
366 | 369 |
370 public String getDataAsString(String name) { | |
371 StateData data = getData(name); | |
372 return data != null ? (String) data.getValue() : null; | |
373 } | |
374 | |
375 | |
367 public Facet getNativeFacet(Facet facet) { | 376 public Facet getNativeFacet(Facet facet) { |
368 String name = facet.getName(); | 377 String name = facet.getName(); |
369 int index = facet.getIndex(); | 378 int index = facet.getIndex(); |
370 | 379 |
371 for (Map.Entry<String, List<Facet>> entry: facets.entrySet()) { | 380 for (Map.Entry<String, List<Facet>> entry: facets.entrySet()) { |
1068 | ((long)value.hashCode() << (shift + 3)); | 1077 | ((long)value.hashCode() << (shift + 3)); |
1069 shift += 2; | 1078 shift += 2; |
1070 } | 1079 } |
1071 | 1080 |
1072 return getCurrentStateId() + hash; | 1081 return getCurrentStateId() + hash; |
1082 } | |
1083 | |
1084 | |
1085 protected List<Output> generateOutputs(List<Output> list, List<Facet> fs) { | |
1086 List<Output> generated = new ArrayList<Output>(); | |
1087 | |
1088 boolean debug = logger.isDebugEnabled(); | |
1089 | |
1090 for (Output out: list) { | |
1091 Output o = new DefaultOutput( | |
1092 out.getName(), | |
1093 out.getDescription(), | |
1094 out.getMimeType(), | |
1095 out.getType()); | |
1096 | |
1097 Set<String> outTypes = new HashSet<String>(); | |
1098 | |
1099 for (Facet f: out.getFacets()) { | |
1100 if (outTypes.add(f.getName()) && debug) { | |
1101 logger.debug("configured facet " + f); | |
1102 } | |
1103 } | |
1104 | |
1105 boolean facetAdded = false; | |
1106 for (Facet f: fs) { | |
1107 String type = f.getName(); | |
1108 | |
1109 if (outTypes.contains(type)) { | |
1110 if (debug) { | |
1111 logger.debug("Add facet " + f); | |
1112 } | |
1113 facetAdded = true; | |
1114 o.addFacet(f); | |
1115 } | |
1116 } | |
1117 | |
1118 if (facetAdded) { | |
1119 generated.add(o); | |
1120 } | |
1121 } | |
1122 | |
1123 return generated; | |
1073 } | 1124 } |
1074 | 1125 |
1075 | 1126 |
1076 /** | 1127 /** |
1077 * Dispatches the computation request to compute(CallContext context, String | 1128 * Dispatches the computation request to compute(CallContext context, String |