Mercurial > dive4elements > river
comparison 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 |
comparison
equal
deleted
inserted
replaced
9191:f692f5a0536a | 9195:a4121ec450d6 |
---|---|
16 | 16 |
17 import org.apache.commons.lang.math.DoubleRange; | 17 import org.apache.commons.lang.math.DoubleRange; |
18 import org.dive4elements.artifacts.CallContext; | 18 import org.dive4elements.artifacts.CallContext; |
19 import org.dive4elements.river.FLYS; | 19 import org.dive4elements.river.FLYS; |
20 import org.dive4elements.river.artifacts.resources.Resources; | 20 import org.dive4elements.river.artifacts.resources.Resources; |
21 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; | |
21 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; | 22 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; |
22 import org.dive4elements.river.utils.Formatter; | |
23 | 23 |
24 /** | 24 /** |
25 * @author Domenico Nardi Tironi | 25 * @author Domenico Nardi Tironi |
26 * | 26 * |
27 */ | 27 */ |
28 public final class ExportContextPDF { | 28 public final class ExportContextPDF extends AbstractExportContext { |
29 | 29 |
30 private NumberFormat kmFormat; | 30 public ExportContextPDF(final CallContext context, final AbstractCalculationResults<?> results) { |
31 | 31 super(context, results); |
32 /** The CallContext object. */ | |
33 private final CallContext context; | |
34 | |
35 public ExportContextPDF(final CallContext context) { | |
36 this.context = context; | |
37 | |
38 } | 32 } |
39 | 33 |
40 private String msg(final String key) { | 34 // TODO: rename |
41 return Resources.getMsg(this.context.getMeta(), key, key); | 35 public String msgPdf(final SInfoResultType type) { |
42 } | 36 return type.getPdfHeader(getContext().getMeta()); |
43 | |
44 private String msg(final String key, final Object... args) { | |
45 return Resources.getMsg(this.context.getMeta(), key, key, args); | |
46 } | 37 } |
47 | 38 |
48 public void addJRMetadata(final MetaAndTableJRDataSource source, final String key, final IResultType type) { | 39 public void addJRMetadata(final MetaAndTableJRDataSource source, final String key, final IResultType type) { |
49 source.addMetaData(key, type.getPdfHeader(this.context.getMeta())); | 40 source.addMetaData(key, type.getPdfHeader(getContext().getMeta())); |
41 } | |
42 | |
43 public void addJRMetadata(final MetaAndTableJRDataSource source, final String key, final String msg) { | |
44 source.addMetaData(key, msg); | |
50 } | 45 } |
51 | 46 |
52 // *** CUSTOM STUFF that is used multiple times ***/// | 47 // *** CUSTOM STUFF that is used multiple times ***/// |
53 public void addJRMetaDataDefaults(final MetaAndTableJRDataSource source, final AbstractCalculationResults results) { | 48 public void addJRMetaDataDefaults(final MetaAndTableJRDataSource source) { |
54 | 49 |
55 source.addMetaData("header", msg(I18NStrings.CSV_META_HEADER_RESULT_LABEL)); | 50 source.addMetaData("header", msg(I18NStrings.CSV_META_HEADER_RESULT_LABEL)); |
56 source.addMetaData("calcMode", results.getCalcModeLabel()); | 51 source.addMetaData("calcMode", getResults().getCalcModeLabel()); |
57 | 52 |
58 source.addMetaData("version_label", msg(I18NStrings.CSV_META_VERSION_LABEL)); | 53 source.addMetaData("version_label", msg(I18NStrings.CSV_META_VERSION_LABEL)); |
59 source.addMetaData("version", FLYS.VERSION); | 54 source.addMetaData("version", FLYS.VERSION); |
60 | 55 |
61 source.addMetaData("user_label", msg(I18NStrings.CSV_META_USER_LABEL)); | 56 source.addMetaData("user_label", msg(I18NStrings.CSV_META_USER_LABEL)); |
62 source.addMetaData("user", results.getUser()); | 57 source.addMetaData("user", getResults().getUser()); |
63 | 58 |
64 final Locale locale = Resources.getLocale(this.context.getMeta()); | 59 final Locale locale = Resources.getLocale(getContext().getMeta()); |
65 final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); | 60 final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); |
66 source.addMetaData("date_label", msg(I18NStrings.CSV_META_CREATION_LABEL)); | 61 source.addMetaData("date_label", msg(I18NStrings.CSV_META_CREATION_LABEL)); |
67 source.addMetaData("date", df.format(new Date())); | 62 source.addMetaData("date", df.format(new Date())); |
68 } | 63 } |
69 | 64 |
70 public void addJRMetaDataUSINFO(final MetaAndTableJRDataSource source, final AbstractCalculationResults results) { | 65 public void addJRMetaDataUSINFO(final MetaAndTableJRDataSource source) { |
71 | 66 |
72 /* general metadata */ | 67 /* general metadata */ |
73 addJRMetaDataDefaults(source, results); | 68 addJRMetaDataDefaults(source); |
74 | 69 |
75 final RiverInfo river = results.getRiver(); | 70 final RiverInfo river = getResults().getRiver(); |
76 final String wstUnitName = river.getWstUnit(); | 71 final String wstUnitName = river.getWstUnit(); |
77 | 72 |
78 source.addMetaData("river_label", msg(I18NStrings.CSV_META_RIVER_LABEL)); | 73 source.addMetaData("river_label", msg(I18NStrings.CSV_META_RIVER_LABEL)); |
79 source.addMetaData("river", river.getName()); | 74 source.addMetaData("river", river.getName()); |
80 source.addMetaData("river_unit", wstUnitName); | 75 source.addMetaData("river_unit", wstUnitName); |
81 | 76 |
82 final DoubleRange calcRange = results.getCalcRange(); | 77 final DoubleRange calcRange = getResults().getCalcRange(); |
83 final NumberFormat kmFormatter = getKmFormatter(); | 78 final NumberFormat kmFormatter = getKmFormatter(); |
84 final String rangeValue = String.format("%s - %s", kmFormatter.format(calcRange.getMinimumDouble()), kmFormatter.format(calcRange.getMaximumDouble())); | 79 final String rangeValue = String.format("%s - %s", kmFormatter.format(calcRange.getMinimumDouble()), kmFormatter.format(calcRange.getMaximumDouble())); |
85 source.addMetaData("range_label", msg(I18NStrings.CSV_META_RANGE_LABEL)); | 80 source.addMetaData("range_label", msg(I18NStrings.CSV_META_RANGE_LABEL)); |
86 source.addMetaData("range", rangeValue); | 81 source.addMetaData("range", rangeValue); |
87 | |
88 /* column headings */ | |
89 // source.addMetaData("station_header", GeneralResultType.station.getPdfHeader(this.context.getMeta())); | |
90 | |
91 // moved to *result | |
92 /* column headings */ | |
93 // source.addMetaData("flowdepth_header", SInfoResultType.flowdepth.getPdfHeader(this.context.getMeta())); | |
94 // source.addMetaData("flowdepth_tkh_header", SInfoResultType.flowdepthtkh.getPdfHeader(this.context.getMeta())); | |
95 // source.addMetaData("tkh_header", SInfoResultType.tkh.getPdfHeader(this.context.getMeta())); | |
96 // source.addMetaData("waterlevel_header", SInfoResultType.waterlevel.getPdfHeader(this.context.getMeta())); | |
97 // source.addMetaData("discharge_header", SInfoResultType.discharge.getPdfHeader(this.context.getMeta())); | |
98 // source.addMetaData("waterlevel_name_header", SInfoResultType.waterlevelLabel.getPdfHeader(this.context.getMeta())); | |
99 // source.addMetaData("gauge_header", SInfoResultType.gaugeLabel.getPdfHeader(this.context.getMeta())); | |
100 // source.addMetaData("bedheight_header", SInfoResultType.meanBedHeight.getPdfHeader(this.context.getMeta())); | |
101 // source.addMetaData("sounding_name_header", SInfoResultType.soundingLabel.getPdfHeader(this.context.getMeta())); | |
102 // source.addMetaData("location_header", SInfoResultType.location.getPdfHeader(this.context.getMeta())); | |
103 } | |
104 | |
105 // copy from AbstractExporter TODO merge with ExportContextCSV | |
106 protected NumberFormat getKmFormatter() { | |
107 | |
108 if (this.kmFormat == null) { | |
109 this.kmFormat = Formatter.getWaterlevelKM(this.context); | |
110 } | |
111 return this.kmFormat; | |
112 } | 82 } |
113 } | 83 } |