comparison artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesCrossSectionProcessor.java @ 9506:8b7bf26b8782

Predefined artifact for standard vegetation zones. Some minor adaptions.
author gernotbelger
date Fri, 28 Sep 2018 13:44:12 +0200
parents cb3dabb77857
children 6146358c4842
comparison
equal deleted inserted replaced
9505:3f230fe8eb19 9506:8b7bf26b8782
17 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; 17 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
18 import org.dive4elements.artifactdatabase.state.Facet; 18 import org.dive4elements.artifactdatabase.state.Facet;
19 import org.dive4elements.artifacts.Artifact; 19 import org.dive4elements.artifacts.Artifact;
20 import org.dive4elements.artifacts.CallContext; 20 import org.dive4elements.artifacts.CallContext;
21 import org.dive4elements.artifacts.DataProvider; 21 import org.dive4elements.artifacts.DataProvider;
22 import org.dive4elements.river.artifacts.common.AbstractCalculationResult; 22 import org.dive4elements.river.artifacts.D4EArtifact;
23 import org.dive4elements.river.artifacts.common.AbstractProcessor; 23 import org.dive4elements.river.artifacts.common.AbstractProcessor;
24 import org.dive4elements.river.artifacts.model.CrossSectionFacetUtils; 24 import org.dive4elements.river.artifacts.model.CrossSectionFacetUtils;
25 import org.dive4elements.river.artifacts.model.river.MainWstValuesCalculator; 25 import org.dive4elements.river.artifacts.model.river.MainWstValuesCalculator;
26 import org.dive4elements.river.artifacts.uinfo.UINFOArtifact;
27 import org.dive4elements.river.exports.CrossSectionGenerator; 26 import org.dive4elements.river.exports.CrossSectionGenerator;
28 import org.dive4elements.river.exports.DiagramGenerator; 27 import org.dive4elements.river.exports.DiagramGenerator;
29 import org.dive4elements.river.jfree.StripedAreaDataset; 28 import org.dive4elements.river.jfree.StripedAreaDataset;
30 import org.dive4elements.river.jfree.StripedAreaDataset.Stripe; 29 import org.dive4elements.river.jfree.StripedAreaDataset.Stripe;
31 import org.dive4elements.river.model.FastCrossSectionLine; 30 import org.dive4elements.river.model.FastCrossSectionLine;
40 39
41 private static final String MAIN_VALUE_MQ = "mq"; 40 private static final String MAIN_VALUE_MQ = "mq";
42 41
43 public static final String FACET_VEGETATION_ZONES_CROSS_SECTION = "uinfo_facet_vegetation_zones_cross_section"; 42 public static final String FACET_VEGETATION_ZONES_CROSS_SECTION = "uinfo_facet_vegetation_zones_cross_section";
44 43
45 private static final String FACET_VEGETATION_ZONES_CROSS_SECTION_DESCRIPTION = "uinfo_facet_vegetation_zones_cross_section.description";
46 44
47 private static final Set<String> HANDLED_FACET_TYPES = new HashSet<>(); 45 private static final Set<String> HANDLED_FACET_TYPES = new HashSet<>();
48 46
49 static { 47 static {
50 HANDLED_FACET_TYPES.add(FACET_VEGETATION_ZONES_CROSS_SECTION); 48 HANDLED_FACET_TYPES.add(FACET_VEGETATION_ZONES_CROSS_SECTION);
51 } 49 }
52 50
53 public static Facet createVegetationZonesCrossSectionFacet(final CallContext context, final String hash, final String id, 51 public static Facet createVegetationZonesCrossSectionFacet(final String description) {
54 final AbstractCalculationResult result, final int index) { 52
55 return AbstractProcessor.createFacet(context, hash, id, result, index, CrossSectionGenerator.I18N_XAXIS_LABEL, FACET_VEGETATION_ZONES_CROSS_SECTION, 53 return new VegetationZonesCrossSectionFacet(FACET_VEGETATION_ZONES_CROSS_SECTION, description);
56 FACET_VEGETATION_ZONES_CROSS_SECTION_DESCRIPTION);
57 } 54 }
58 55
59 public static void generateSeries(final CrossSectionGenerator generator, final ArtifactAndFacet bundle, final CallContext context, 56 public static void generateSeries(final CrossSectionGenerator generator, final ArtifactAndFacet bundle, final CallContext context,
60 final ThemeDocument theme, final boolean visible) { 57 final ThemeDocument theme, final boolean visible) {
61 58
68 if (bundle.getFacetName().equals(FACET_VEGETATION_ZONES_CROSS_SECTION)) { 65 if (bundle.getFacetName().equals(FACET_VEGETATION_ZONES_CROSS_SECTION)) {
69 66
70 final StripedAreaDataset dataset = new StripedAreaDataset(theme); 67 final StripedAreaDataset dataset = new StripedAreaDataset(theme);
71 68
72 final Artifact artifact = bundle.getArtifact(); 69 final Artifact artifact = bundle.getArtifact();
73 final VegetationzonesAccess vAccess = new VegetationzonesAccess((UINFOArtifact) artifact); 70 final VegetationzonesAccess vAccess = new VegetationzonesAccess((D4EArtifact) artifact);
74 final River river = vAccess.getRiver(); 71 final River river = vAccess.getRiver();
75 final List<VegetationZoneServerClientXChange> zones = VegetationZoneServerClientXChange.parse(vAccess.getVegZones()); 72 final List<VegetationZoneServerClientXChange> zones = VegetationZoneServerClientXChange.parse(vAccess.getVegZones());
76 73
77 for (final VegetationZoneServerClientXChange zone : zones) { 74 for (final VegetationZoneServerClientXChange zone : zones) {
78 75

http://dive4elements.wald.intevation.org