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

http://dive4elements.wald.intevation.org