annotate artifacts/src/main/java/org/dive4elements/river/artifacts/common/ExportContextPDF.java @ 9195:a4121ec450d6

'ca.'-issue ExportContextCSV+PDF separated uinfo.inundationduration url export
author gernotbelger
date Fri, 29 Jun 2018 14:52:54 +0200
parents 23945061daec
children 7b2b086e45f0
rev   line source
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
2 * Software engineering by
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
5 *
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
9 */
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
10 package org.dive4elements.river.artifacts.common;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
11
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
12 import java.text.DateFormat;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
13 import java.text.NumberFormat;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
14 import java.util.Date;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
15 import java.util.Locale;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
16
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
17 import org.apache.commons.lang.math.DoubleRange;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
18 import org.dive4elements.artifacts.CallContext;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
19 import org.dive4elements.river.FLYS;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
20 import org.dive4elements.river.artifacts.resources.Resources;
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
21 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
22 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
23
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
24 /**
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
25 * @author Domenico Nardi Tironi
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
26 *
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
27 */
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
28 public final class ExportContextPDF extends AbstractExportContext {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
29
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
30 public ExportContextPDF(final CallContext context, final AbstractCalculationResults<?> results) {
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
31 super(context, results);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
32 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
33
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
34 // TODO: rename
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
35 public String msgPdf(final SInfoResultType type) {
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
36 return type.getPdfHeader(getContext().getMeta());
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
37 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
38
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
39 public void addJRMetadata(final MetaAndTableJRDataSource source, final String key, final IResultType type) {
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
40 source.addMetaData(key, type.getPdfHeader(getContext().getMeta()));
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
41 }
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
42
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
43 public void addJRMetadata(final MetaAndTableJRDataSource source, final String key, final String msg) {
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
44 source.addMetaData(key, msg);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
45 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
46
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
47 // *** CUSTOM STUFF that is used multiple times ***///
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
48 public void addJRMetaDataDefaults(final MetaAndTableJRDataSource source) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
49
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
50 source.addMetaData("header", msg(I18NStrings.CSV_META_HEADER_RESULT_LABEL));
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
51 source.addMetaData("calcMode", getResults().getCalcModeLabel());
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
52
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
53 source.addMetaData("version_label", msg(I18NStrings.CSV_META_VERSION_LABEL));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
54 source.addMetaData("version", FLYS.VERSION);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
55
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
56 source.addMetaData("user_label", msg(I18NStrings.CSV_META_USER_LABEL));
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
57 source.addMetaData("user", getResults().getUser());
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
58
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
59 final Locale locale = Resources.getLocale(getContext().getMeta());
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
60 final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
61 source.addMetaData("date_label", msg(I18NStrings.CSV_META_CREATION_LABEL));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
62 source.addMetaData("date", df.format(new Date()));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
63 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
64
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
65 public void addJRMetaDataUSINFO(final MetaAndTableJRDataSource source) {
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
66
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
67 /* general metadata */
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
68 addJRMetaDataDefaults(source);
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
69
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
70 final RiverInfo river = getResults().getRiver();
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
71 final String wstUnitName = river.getWstUnit();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
72
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
73 source.addMetaData("river_label", msg(I18NStrings.CSV_META_RIVER_LABEL));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
74 source.addMetaData("river", river.getName());
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
75 source.addMetaData("river_unit", wstUnitName);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
76
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents: 9150
diff changeset
77 final DoubleRange calcRange = getResults().getCalcRange();
9150
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
78 final NumberFormat kmFormatter = getKmFormatter();
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
79 final String rangeValue = String.format("%s - %s", kmFormatter.format(calcRange.getMinimumDouble()), kmFormatter.format(calcRange.getMaximumDouble()));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
80 source.addMetaData("range_label", msg(I18NStrings.CSV_META_RANGE_LABEL));
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
81 source.addMetaData("range", rangeValue);
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
82 }
23945061daec gigantic refactoring: exporter, result, results
gernotbelger
parents:
diff changeset
83 }

http://dive4elements.wald.intevation.org