felix@2212: 2012-01-31 Felix Wolfsteller felix@2212: felix@2212: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@2212: Avoid NPE, add warning to log to not forget about it. felix@2212: sascha@2211: 2012-01-31 Sascha L. Teichmann sascha@2211: sascha@2211: * src/main/java/de/intevation/flys/artifacts/model/Calculation.java: sascha@2211: Fixed problems with unformatted numbers in error message. sascha@2211: ingo@2210: 2012-01-31 Ingo Weinzierl ingo@2210: ingo@2210: * src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeState.java: ingo@2210: Override getLabelFor() to return the I18N string for the selected ingo@2210: evaluation mode. ingo@2210: ingo@2209: 2012-01-31 Ingo Weinzierl ingo@2209: ingo@2209: * doc/conf/artifacts/winfo.xml: Modified types of parameters in the ingo@2209: 'historical discharge curves' transitions. ingo@2209: felix@2208: 2012-01-30 Felix Wolfsteller felix@2208: felix@2208: * doc/conf/artifacts/winfo.xml: Fix transition type (Stupid Bug 1.0 reverse). felix@2208: ingo@2207: 2012-01-30 Ingo Weinzierl ingo@2207: ingo@2207: * src/main/java/de/intevation/flys/artifacts/states/ReferenceGaugeState.java: ingo@2207: Override getLabelFor() method defined in DefaultState to return the name ingo@2207: of a Gauge based on the official number which is stored in the ingo@2207: parameterization. ingo@2207: felix@2206: 2012-01-30 Felix Wolfsteller felix@2206: felix@2206: Allow manual points in more diagram types. felix@2206: felix@2206: * doc/conf/artifacts/winfo.xml: Add respective facet types to felix@2206: compatibility lists of output modes. felix@2206: felix@2206: * doc/conf/artifacts/manualpoints.xml: Mention facet types. felix@2206: felix@2206: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@2206: Added ChartType enum to ease later iteration. felix@2206: (IS.MANUALPOINTS): Added helper. felix@2206: felix@2206: * src/main/java/de/intevation/flys/artifacts/model/ManualPointsFacet.java: felix@2206: Help artifact figuring out which data to provide by passing facet felix@2206: name. felix@2206: felix@2206: * src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java: felix@2206: Respond to getPointData with correct data item, depending on facet felix@2206: name. felix@2206: felix@2206: * src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java: felix@2206: Iterate over chart types. Add facets if corresponding data is found. felix@2206: felix@2206: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, felix@2206: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, felix@2206: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, felix@2206: src/main/java/de/intevation/flys/exports/XYChartGenerator.java, felix@2206: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, felix@2206: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: felix@2206: Handle manual point facets. felix@2206: ingo@2205: 2012-01-30 Ingo Weinzierl ingo@2205: ingo@2205: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Clone ingo@2205: StateData model objects to save parameters in this Artifact - create ingo@2205: new StateData instances only if no StateData model was found for a ingo@2205: parameter. This solves the problem of loosing the type of a StateData. ingo@2205: ingo@2205: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@2205: Implemented a getLabelFor() method that is used to format a parameter ingo@2205: value. ingo@2205: ingo@2205: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java: ingo@2205: Adapted method signature of transform(). ingo@2205: ingo@2205: * src/main/java/de/intevation/flys/artifacts/states/MinMaxState.java: ingo@2205: Override getLabelFor() method to create a well formatted label for min/max ingo@2205: values. ingo@2205: ingo@2204: 2012-01-30 Ingo Weinzierl ingo@2204: ingo@2204: * src/main/java/de/intevation/flys/artifacts/states/StateFactory.java: ingo@2204: Bugfix: use correct order of parameters in DefaultStateData constructor. ingo@2204: ingo@2203: 2012-01-30 Ingo Weinzierl ingo@2203: ingo@2203: * doc/conf/artifacts/winfo.xml: Fixed a stupid bug. Use ingo@2203: ValueCompareTransition instead of DefaultTransition to evaluate values. ingo@2203: ingo@2202: 2012-01-30 Ingo Weinzierl ingo@2202: ingo@2202: * src/main/java/de/intevation/flys/artifacts/states/MinMaxState.java: ingo@2202: Write default values for min and max items into the DESCRIBE document. ingo@2202: sascha@2211: 2012-01-30 Sascha L. Teichmann sascha@2201: sascha@2201: * src/main/java/de/intevation/flys/artifacts/model/WW.java: sascha@2201: Added field 'startKm' and 'endKm' to make it easier to associate sascha@2201: gauge to km to return Ws in cm if km is at a gauge. sascha@2201: sascha@2201: * src/main/java/de/intevation/flys/artifacts/model/Calculation5.java: sascha@2201: Construct the WWs with startKm and endKm. This is necessary because sascha@2201: if an error occurs in calcuting an in between km in a list of end kms sascha@2201: the index does not correspond to the input value any more. sascha@2201: ingo@2200: 2012-01-30 Ingo Weinzierl ingo@2200: ingo@2200: * doc/conf/artifacts/winfo.xml: Added transitions for "historical discharge ingo@2200: curves" calculation. ingo@2200: felix@2199: 2012-01-30 Felix Wolfsteller felix@2199: felix@2199: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@2199: (doPoints): Skip 'inactive' points. felix@2199: sascha@2198: 2012-01-28 Sascha L. Teichmann sascha@2198: sascha@2198: * src/main/java/de/intevation/flys/artifacts/model/WW.java: sascha@2198: Removed the createNormalized() method because it did not sascha@2198: solve all problems with the transformation of the W~W data we have. sascha@2198: sascha@2198: - We need to shift the values to be based in (0, 0). sascha@2198: - We need to linear transform the values if they are at gauges. sascha@2198: - Copying the data is memory expensive. sascha@2198: sascha@2198: Therefore there is now a new inner class ApplyFunctionIterator sascha@2198: that is able to transform the values in an iterator like manner. sascha@2198: The transform functions default to the identity. sascha@2198: sascha@2198: * src/main/java/de/intevation/flys/artifacts/math/Sub.java: New. sascha@2198: Simple function that subtract a scalar from the parameter. sascha@2198: sascha@2198: * src/main/java/de/intevation/flys/artifacts/model/W.java: Added sascha@2198: method minWs() to calulate the minimal W of the data. sascha@2198: sascha@2198: * src/main/java/de/intevation/flys/artifacts/model/NormalizedReferenceCurveFacet.java: sascha@2198: getData() returns a WW.ApplyFunctionIterator with identity transform. sascha@2198: sascha@2198: * src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java: sascha@2198: getData() returns a WW.ApplyFunctionIterator with a base shift to (0, 0). sascha@2198: sascha@2197: 2012-01-27 Sascha L. Teichmann sascha@2197: sascha@2197: * src/main/java/de/intevation/flys/artifacts/model/WW.java: sascha@2197: Added method createNormalized() to shift the data to start in (0, 0). sascha@2197: sascha@2197: * src/main/java/de/intevation/flys/artifacts/model/NormalizedReferenceCurveFacet.java: sascha@2197: Returns the 'normalized' data of the reference curve. sascha@2197: sascha@2196: 2012-01-27 Sascha L. Teichmann sascha@2196: sascha@2196: * src/main/java/de/intevation/flys/artifacts/model/NormalizedReferenceCurveFacet.java: sascha@2196: New. Facet for the normalized W~W relation. sascha@2196: TODO: Implement the on-the-fly creation logic. sascha@2196: sascha@2196: * src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java: sascha@2196: New. Facet for the W~W relation. sascha@2196: sascha@2196: * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: Cosmetics. felix@2199: sascha@2195: 2012-01-27 Sascha L. Teichmann sascha@2195: sascha@2195: * src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java: sascha@2195: Added stub loop for creating facets. sascha@2195: sascha@2195: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: sascha@2195: Cosmetics. sascha@2195: sascha@2194: 2012-01-27 Sascha L. Teichmann sascha@2194: sascha@2194: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@2194: Call the 'Bezugslinienverfahren'. sascha@2194: sascha@2194: * src/main/resources/messages.properties, sascha@2194: src/main/resources/messages_de_DE.properties, sascha@2194: src/main/resources/messages_en.properties, sascha@2194: src/main/resources/messages_de.properties: sascha@2194: I18N for the 'Bezugslinienverfahren' error messages. sascha@2194: felix@2193: 2012-01-27 Felix Wolfsteller felix@2193: felix@2193: * doc/conf/themes.xml: Better theme for manual points. felix@2193: felix@2193: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2193: Theme text part of manual points. Offset it a bit. felix@2193: sascha@2192: 2012-01-27 Sascha L. Teichmann sascha@2192: sascha@2192: * src/main/java/de/intevation/flys/artifacts/model/Calculation5.java: sascha@2192: Fixed stupid bug. sascha@2192: ingo@2191: 2012-01-27 Ingo Weinzierl ingo@2191: ingo@2191: * src/main/java/de/intevation/flys/artifacts/states/ReferenceGaugeState.java, ingo@2191: src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java, ingo@2191: src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeState.java, ingo@2191: src/main/java/de/intevation/flys/artifacts/states/GaugeTimerangeState.java: ingo@2191: New. States used in the 'historical discharge curve' calculation. ingo@2191: ingo@2190: 2012-01-27 Ingo Weinzierl ingo@2190: ingo@2190: * src/main/java/de/intevation/flys/artifacts/states/MinMaxState.java: New ingo@2190: state that eases adding min/max value pairs to describe document. ingo@2190: ingo@2190: * src/main/java/de/intevation/flys/artifacts/states/IntRangeState.java: ingo@2190: New. Subclasses MinMaxState and allows adding min/max integer value pairs. ingo@2190: ingo@2189: 2012-01-27 Ingo Weinzierl ingo@2189: ingo@2189: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Moved ingo@2189: code to add items to a data node for dynamich UI into an own method. ingo@2189: ingo@2188: 2012-01-27 Ingo Weinzierl ingo@2188: ingo@2188: * src/main/java/de/intevation/flys/artifacts/model/WQKmsFacet.java: Removed ingo@2188: useless import. ingo@2188: ingo@2187: 2012-01-27 Ingo Weinzierl ingo@2187: ingo@2187: * src/main/resources/messages.properties, ingo@2187: src/main/resources/messages_de_DE.properties, ingo@2187: src/main/resources/messages_en.properties, ingo@2187: src/main/resources/messages_de.properties: Added strings which are used n ingo@2187: the calculation "historical discharge curve". ingo@2187: sascha@2186: 2012-01-27 Sascha L. Teichmann sascha@2186: sascha@2186: * src/main/java/de/intevation/flys/artifacts/model/Calculation5.java: sascha@2186: New. Calcutation to be created from WINFOArtifact sascha@2186: for the 'Bezugslinienverfahren'. sascha@2186: sascha@2186: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@2186: Added TODO about optimization of the 'Bezugslinienverfahren'. sascha@2186: Added number of default samples of the W~W relation. sascha@2186: sascha@2186: * src/main/java/de/intevation/flys/artifacts/model/WW.java: sascha@2186: Added convinience constructor to store the calculation results. sascha@2186: sascha@2186: * ChangeLog: Removed false TODO. sascha@2186: raimund@2185: 2012-01-27 Raimund Renkert raimund@2185: raimund@2185: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, raimund@2185: src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, raimund@2185: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java, raimund@2185: src/main/java/de/intevation/flys/exports/WDifferencesExporter.java: raimund@2185: Read jasper template file from resources to support i18n reports. raimund@2185: raimund@2185: * doc/conf/jasper/wdifferences.jasper, raimund@2185: doc/conf/jasper/duration.jasper, raimund@2185: doc/conf/jasper/computed-discharge.jasper, raimund@2185: doc/conf/jasper/waterlevel.jasper: raimund@2185: Updated report template. Resized left margin. raimund@2185: raimund@2185: * doc/conf/jasper/computed-discharge_en.jasper, raimund@2185: doc/conf/jasper/duration_en.jasper, raimund@2185: doc/conf/jasper/wdifferences_en.jasper, raimund@2185: doc/conf/jasper/waterlevel_en.jasper: raimund@2185: New. Templates for english reports. raimund@2185: raimund@2185: * src/main/resources/messages.properties, raimund@2185: src/main/resources/messages_de_DE.properties, raimund@2185: src/main/resources/messages_en.properties, raimund@2185: src/main/resources/messages_de.properties: raimund@2185: Added i18n strings for template files and modes. raimund@2185: felix@2184: 2012-01-27 Felix Wolfsteller felix@2184: felix@2184: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, felix@2184: src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2184: Prevent second Legend Entry for points (prior was one for the felix@2184: TextAnnotations and one for the points). felix@2184: felix@2183: 2012-01-27 Felix Wolfsteller felix@2183: felix@2183: Blindly render Text of manual points if it does not collide with felix@2183: other text. felix@2183: felix@2183: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, felix@2183: src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2183: Handle TextAnnotations, create some for manual points. felix@2183: felix@2183: * src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: felix@2183: Added setter for TextAnnotations, documentation. felix@2183: felix@2183: 2012-01-27 Felix Wolfsteller felix@2183: felix@2183: * src/main/resources/messages.properties, felix@2183: src/main/resources/messages_de_DE.properties, felix@2183: sascha@2182: 2012-01-27 Sascha L. Teichmann sascha@2182: sascha@2182: Refactored class hierachy to integrate model for W~W: sascha@2182: sascha@2182: NamedObjImpl sascha@2182: \-- W sascha@2182: +-- WW sascha@2182: \-- WQ sascha@2186: +-- WQDay sascha@2182: \-- WQKms sascha@2186: \-- WQCKms sascha@2182: sascha@2182: * src/main/java/de/intevation/flys/artifacts/model/W.java: sascha@2182: New. Base class sascha@2182: sascha@2182: * src/main/java/de/intevation/flys/artifacts/model/WW.java: sascha@2182: New. Model for W~W sascha@2182: sascha@2182: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java, sascha@2182: src/main/java/de/intevation/flys/artifacts/model/WQDay.java, sascha@2182: src/main/java/de/intevation/flys/artifacts/model/WQ.java, sascha@2182: src/main/java/de/intevation/flys/artifacts/model/WQCKms.java: sascha@2182: Adjusted to follow the new class hierarchy. sascha@2182: sascha@2182: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, sascha@2182: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: sascha@2182: Removed superfluous imports. sascha@2182: felix@2181: 2012-01-27 Felix Wolfsteller felix@2181: felix@2181: * src/main/resources/messages.properties, felix@2181: src/main/resources/messages_de_DE.properties, felix@2181: src/main/resources/messages_en.properties, felix@2181: src/main/resources/messages_de.properties, felix@2181: src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java: felix@2181: i18n for ManualPointsFacets. felix@2181: raimund@2180: 2012-01-27 Raimund Renkert raimund@2180: raimund@2180: Issue 138: PDF output for calculations. raimund@2180: raimund@2180: * src/main/java/de/intevation/flys/exports/WDifferencesExporter.java: raimund@2180: Create the PDF data source and generate the PDF report output. raimund@2180: raimund@2180: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: raimund@2180: Add the PDF facet to state. Add export facets only once. raimund@2180: raimund@2180: * doc/conf/artifacts/winfo.xml: raimund@2180: Added PDF facet to state. raimund@2180: raimund@2180: * src/main/java/de/intevation/flys/artifacts/model/WKmsJRDataSource.java: raimund@2180: Added new field type 'differences'. raimund@2180: raimund@2180: * doc/conf/jasper/wdifferences.jasper: raimund@2180: New. Template for w-differences PDF export. raimund@2180: raimund@2179: 2012-01-27 Raimund Renkert raimund@2179: raimund@2179: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: raimund@2179: New method that creates and returns the chosen differences of w-difference raimund@2179: calculation as string. raimund@2179: raimund@2178: 2012-01-27 Raimund Renkert raimund@2178: raimund@2178: Issue 138: PDF output for calculations. raimund@2178: raimund@2178: * src/main/java/de/intevation/flys/exports/DurationCurveExporter.java: raimund@2178: Create the PDF data source and generate the PDF report output. raimund@2178: raimund@2178: * src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java, raimund@2178: doc/conf/artifacts/winfo.xml: raimund@2178: Added PDF facet to state. raimund@2178: raimund@2178: * src/main/java/de/intevation/flys/artifacts/model/WKmsJRDataSource.java: raimund@2178: Added new field type 'day'. raimund@2178: raimund@2178: * doc/conf/jasper/duration.jasper: raimund@2178: New. Template for duration curve PDF report. raimund@2178: raimund@2177: 2012-01-26 Raimund Renkert raimund@2177: raimund@2177: Issue 138: PDF output for calculations. raimund@2177: raimund@2177: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: raimund@2177: Create the PDF datasource and generate the PDF report output. raimund@2177: raimund@2177: * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java, raimund@2177: doc/conf/artifacts/winfo.xml: raimund@2177: Added PDF facet to state. raimund@2177: raimund@2177: * doc/conf/jasper/computed-discharge.jasper: raimund@2177: New. Template for computed discharge PDF report. raimund@2177: raimund@2176: 2012-01-26 Raimund Renkert raimund@2176: raimund@2176: Issue 138: PDF output for calculations. raimund@2176: raimund@2176: * pom.xml: New Dependency to net.sf.jasperreports/jasperreports and raimund@2176: org.codehaus.groovy/groovy-all. raimund@2176: raimund@2176: * src/main/java/de/intevation/flys/exports/AbstractExporter.java: raimund@2176: Added methods for PDF generation. raimund@2176: raimund@2176: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: raimund@2176: Create the PDF data source and generate the PDF report output. raimund@2176: raimund@2176: * src/main/java/de/intevation/flys/artifacts/model/WKmsJRDataSource.java: raimund@2176: New. Data source for jasper reports containing the waterlevel calculation raimund@2176: result. raimund@2176: raimund@2176: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: raimund@2176: Added facet for PDF export to state. raimund@2176: raimund@2176: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: raimund@2176: Added PDF facet type. raimund@2176: raimund@2176: * src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, raimund@2176: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java, raimund@2176: src/main/java/de/intevation/flys/exports/WDifferencesExporter.java: raimund@2176: Added stub for inherited abstract method. raimund@2176: raimund@2176: * doc/conf/artifacts/winfo.xml: raimund@2176: Added PDF facet to outputmode 'export'. raimund@2176: raimund@2176: * doc/conf/jasper, raimund@2176: doc/conf/jasper/waterlevel.jasper: raimund@2176: New. Folder for jasperreports templates and first template for raimund@2176: waterlevel report. raimund@2176: raimund@2176: * src/main/resources/messages.properties, raimund@2176: src/main/resources/messages_de_DE.properties, raimund@2176: src/main/resources/messages_en.properties, raimund@2176: src/main/resources/messages_de.properties: raimund@2176: Added i18n string for calculation mode. raimund@2176: felix@2175: 2012-01-26 Felix Wolfsteller felix@2175: felix@2175: Renderer 'manual' points in LongitudinalSectionGenerator. felix@2175: felix@2175: * pom.xml: New dependency to org.json/json. felix@2175: felix@2175: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@2175: (doOut): Handle manual points. felix@2175: (doPoints): Add point- series. felix@2175: felix@2175: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@2175: Added MANUALPOINTS Facet Type. felix@2175: felix@2175: * doc/conf/themes.xml: Added Default Theme for Manual Points. felix@2175: felix@2175: * doc/conf/artifacts/winfo.xml: Added manual point facet to felix@2175: compatibility list of longitudinal section diagram. felix@2175: felix@2174: 2012-01-26 Felix Wolfsteller felix@2174: felix@2174: Cosmetics. felix@2174: felix@2174: * src/main/java/de/intevation/flys/artifacts/model/ManualPointsFacet.java, felix@2174: src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java: felix@2174: Removed obsolete imports. felix@2174: felix@2174: 2012-01-26 Felix Wolfsteller felix@2174: felix@2174: Add initial infrastructure for user-provided data ('manual points'). felix@2174: felix@2174: * doc/conf/artifacts/manualpoints.xml: Trivial state model for new felix@2174: Artifact. felix@2174: felix@2174: * doc/conf/conf.xml: Registered manualpoint artifact and factory. felix@2174: felix@2174: * src/main/java/de/intevation/flys/artifacts/model/ManualPointsFacet.java, felix@2174: src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java, felix@2174: src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java: felix@2174: New. Basic infrastructure for ManualPoints. felix@2174: sascha@2171: 2012-01-25 Sascha L. Teichmann sascha@2171: sascha@2171: * doc/conf/artifacts/winfo.xml: Removed superfluous condition checks. sascha@2171: felix@2169: 2012-01-25 Felix Wolfsteller felix@2169: felix@2169: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: felix@2169: Cosmetics, documentation. felix@2169: sascha@2168: 2012-01-25 Sascha L. Teichmann sascha@2168: sascha@2170: * doc/conf/artifacts/winfo.xml: Add states/transitions stubs for sascha@2170: "Bezugsllinenverfahren." sascha@2170: sascha@2170: * src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java, sascha@2170: src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveInputState.java: sascha@2170: Stubs for the two new states. sascha@2170: sascha@2170: 2012-01-25 Sascha L. Teichmann sascha@2170: sascha@2168: * contrib/visualize-transitions.xsl: Fixed output of the conditions sascha@2168: of the transitions. Now you can see the circumstances sascha@2168: when a branch is taken. sascha@2168: raimund@2167: 2012-01-25 Raimund Renkert raimund@2167: raimund@2167: Issue 461. raimund@2167: raimund@2167: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: raimund@2167: Override buildChartSection() to disable the chart subtitle entry in raimund@2167: ChartSettings. raimund@2167: sascha@2166: 2012-01-24 Sascha L. Teichmann sascha@2166: sascha@2166: I18N for WINFO calculations messages. sascha@2166: sascha@2166: * src/main/java/de/intevation/flys/artifacts/model/Calculation.java: sascha@2166: Allow optional arguments in error messages to support meaningful sascha@2166: formatting containing e.g. numbers. sascha@2166: sascha@2166: * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: sascha@2166: Added a convenience getMsg() method. sascha@2166: sascha@2166: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, sascha@2166: src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java, sascha@2166: src/main/java/de/intevation/flys/artifacts/model/Calculation2.java, sascha@2166: src/main/java/de/intevation/flys/artifacts/model/Calculation3.java, sascha@2166: src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java, sascha@2166: src/main/java/de/intevation/flys/artifacts/model/Calculation4.java: sascha@2166: Adjusted the code to use the I18N symbols now. sascha@2166: sascha@2166: * src/main/resources/messages.properties, sascha@2166: src/main/resources/messages_de_DE.properties, sascha@2166: src/main/resources/messages_en.properties, sascha@2166: src/main/resources/messages_de.properties: Added the I18N strings. sascha@2166: sascha@2165: 2012-01-23 Sascha L. Teichmann sascha@2165: sascha@2165: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@2165: Handle the case in "W auf freier Strecke" where more than sascha@2165: one Q is related to a W. TODO: Generate user report. sascha@2165: sascha@2164: 2012-01-23 Sascha L. Teichmann sascha@2164: sascha@2164: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@2164: Added code for the simple case of "Bezugslinienverfahren" ("W auf freier Strecke"). sascha@2164: TODO: Handle case if the model returns more than one Q for a given W. sascha@2164: sascha@2164: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java, sascha@2164: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: sascha@2164: Micro optimizations. sascha@2164: felix@2163: 2012-01-23 Felix Wolfsteller felix@2163: felix@2163: Fix flys/issue452 (Annotations at second y-axis). felix@2163: felix@2163: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@2163: Added new type (duration_curve.mainvalues.q). felix@2169: felix@2163: * doc/conf/themes.xml: Added theme mapping for new facet type. felix@2163: felix@2163: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@2163: Create another Facet. felix@2163: felix@2163: * doc/conf/artifacts/winfo.xml: Added new facet type to compatibility felix@2163: list. felix@2163: felix@2163: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: felix@2163: Handle new Facet. felix@2163: felix@2163: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: felix@2163: Added field to be able to remember which axis to stick to. felix@2163: felix@2163: * src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java: felix@2163: Tell Annotations to stick to Q axis in the special duration_curve felix@2163: environment. felix@2163: felix@2163: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2163: (AxisDataset): Added plotAxisIndex to now have a felix@2163: two-way-association. felix@2163: Tell own axisDatasets to which 'jfreechart'-axis they are assigned. felix@2163: Evaluate which axis the StickyAxisAnnotations should be sticked to, felix@2163: and calculate text and line positions accordingly. felix@2163: Removed junk. felix@2163: felix@2162: 2012-01-23 Felix Wolfsteller felix@2162: felix@2162: Fix compilation. felix@2162: felix@2162: * src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java: felix@2162: Use StickyAxisAnnotations instead of XYTextAnnotations. felix@2162: felix@2161: 2012-01-23 Felix Wolfsteller felix@2161: felix@2161: Some unification of Annotation handling. felix@2161: felix@2161: * src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: felix@2161: Add a third annotation type (now have text, hyk and sticky). felix@2161: felix@2161: * src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java: felix@2161: Use double instead of float values, removed commented code. felix@2161: felix@2161: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: felix@2161: Reduced to keep information about placements etc only. Not a felix@2161: Annotation (in JFreeChart sense) anymore. felix@2161: felix@2161: * src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java, felix@2161: src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java, felix@2161: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@2161: Use StickyAxisAnnotations instead of XYTextAnnotations. felix@2161: felix@2161: * src/main/java/de/intevation/flys/themes/ThemeAccess.java: felix@2161: Added new LineStyle class. felix@2169: felix@2161: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2161: Call addAnnotationsToRenderer later, where positioning information felix@2161: is already known. felix@2161: (addAnnotationsToRenderer): Deal with the three Annotation types. felix@2161: Instead of StickyAnnotations, add felix@2161: CollisionFreeXYText- and felix@2161: XYLineAnnotations. felix@2161: (Area): Helper class. felix@2161: felix@2161: 2012-01-23 Felix Wolfsteller felix@2161: felix@2161: Some unification of Annotation handling. felix@2161: felix@2161: * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: felix@2161: felix@2160: 2012-01-23 Felix Wolfsteller felix@2160: felix@2160: Fix flys/issue395 (SVG/PDF-Export: Längsschitt enthält keine felix@2160: Streckenfavoriten.) felix@2160: felix@2160: * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: felix@2160: Fix pdf/svg rendering of annotatios, by adding a felix@2160: ChartRenderingInfo-object to the chart.draw call. felix@2160: raimund@2159: 2012-01-20 Raimund Renkert raimund@2159: raimund@2159: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: raimund@2159: Added new key and getter for a short subtitle. The short subtitle is raimund@2159: used if no range exists. raimund@2159: raimund@2159: * src/main/resources/messages.properties, raimund@2159: src/main/resources/messages_de_DE.properties, raimund@2159: src/main/resources/messages_en.properties, raimund@2159: src/main/resources/messages_de.properties: raimund@2159: Added i18n string for shor subtitle. raimund@2159: raimund@2158: 2012-01-20 Raimund Renkert raimund@2158: raimund@2158: * src/main/java/de/intevation/flys/artifacts/ChartArtifact.java: raimund@2158: Removed state validation. Validation prevents drawing the diffenrences raimund@2158: diagramm and all states except of WDifferencesState always return raimund@2158: true. raimund@2158: felix@2157: 2012-01-20 Felix Wolfsteller felix@2157: felix@2157: * src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java: felix@2157: New. Candidate to replace StickyAxisAnnotation eventually. felix@2157: felix@2156: 2012-01-20 Felix Wolfsteller felix@2156: felix@2156: * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java: felix@2156: Added null-guards to functions parameters. felix@2156: felix@2155: 2012-01-20 Felix Wolfsteller felix@2155: felix@2155: * src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java: felix@2155: Respect flowing direction of river when finding valid felix@2155: hykformations. felix@2155: raimund@2154: 2012-01-20 Raimund Renkert raimund@2154: raimund@2154: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: raimund@2154: Add an empty facet to this state if the artifact is a Chartartifact. raimund@2154: raimund@2154: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: raimund@2154: Do not add the range to subtitle if no range exists. raimund@2154: raimund@2153: 2012-01-20 Raimund Renkert raimund@2153: raimund@2153: 'New chart' for cross sections. raimund@2153: raimund@2153: * doc/conf/artifacts/chart.xml: Updated the states and transitions for raimund@2153: new charts. raimund@2153: raimund@2153: * doc/conf/meta-data.xml: Added cross sections to datacage. raimund@2153: raimund@2153: * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java: raimund@2153: Changed cast from WINFOArtifact to FLYSArtifact. raimund@2153: raimund@2153: * src/main/java/de/intevation/flys/artifacts/ChartArtifact.java: raimund@2153: Changed artifact data strings for chart_type. raimund@2153: raimund@2153: * src/main/resources/messages.properties, raimund@2153: src/main/resources/messages_de_DE.properties, raimund@2153: src/main/resources/messages_en.properties, raimund@2153: src/main/resources/messages_de.properties: raimund@2153: Changed i18n string for cross sections and logitudinal sections. raimund@2153: felix@2152: 2012-01-20 Felix Wolfsteller felix@2152: felix@2152: Add basic (text) styling for HYKs. felix@2152: felix@2152: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@2152: Minor cleanup, pass HYK theme on. felix@2152: felix@2152: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2152: Apply TextStyle to TextAnnotation part for HYK zones. felix@2152: felix@2152: * src/main/java/de/intevation/flys/themes/ThemeAccess.java: felix@2152: (TextStyle): New class to bundle text-styling info. felix@2152: felix@2152: * src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: felix@2152: Refactored constructors to ease setting Style in the newly felix@2152: created usage scenario. felix@2152: felix@2151: 2012-01-20 Felix Wolfsteller felix@2151: felix@2151: * src/main/java/de/intevation/flys/artifacts/states/StaticHYKState.java: felix@2151: Cleanup. Mark spot where State-based caching could happen. felix@2151: felix@2150: 2012-01-20 Felix Wolfsteller felix@2150: felix@2150: * src/main/java/de/intevation/flys/artifacts/model/HYKFacet.java: felix@2150: Cosmetics. felix@2150: felix@2149: 2012-01-20 Felix Wolfsteller felix@2149: felix@2149: * doc/conf/cache.xml: Added Cache for HYKS. felix@2149: felix@2148: 2012-01-20 Felix Wolfsteller felix@2148: felix@2148: * src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java: felix@2148: Made HYKFactory.Zone Serializable. felix@2148: felix@2147: 2012-01-20 Felix Wolfsteller felix@2147: felix@2147: * src/main/java/de/intevation/flys/artifacts/HYKArtifact.java: felix@2147: Cosmetics. felix@2147: felix@2146: 2012-01-20 Felix Wolfsteller felix@2146: felix@2146: Added style definition for hyks. felix@2146: felix@2146: * doc/conf/themes.xml: Added hyk style (text). felix@2146: sascha@2145: 2012-01-19 Sascha L. Teichmann sascha@2145: sascha@2145: * doc/conf/cache.xml: Removed cache "service-distanceinfo". sascha@2145: sascha@2145: * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: sascha@2145: Now uses the annotations from the LocationProvider and the sascha@2145: XML documents are no longer cached. sascha@2145: sascha@2144: 2012-01-19 Sascha L. Teichmann sascha@2144: sascha@2144: * doc/conf/cache.xml: Removed "annotations" cache. sascha@2144: sascha@2144: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: sascha@2144: Removed annotation caching. sascha@2144: sascha@2144: * src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java: sascha@2144: Changed internal data structure to FastAnnotations which are also cached. sascha@2144: sascha@2144: * src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java: sascha@2144: Use FastAnnotations now which are fetched via the LocationProvider. sascha@2144: sascha@2144: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Added sascha@2144: time measurement for writing the CVS output. sascha@2144: sascha@2144: * src/main/java/de/intevation/flys/artifacts/states/StaticHYKState.java: sascha@2144: Removed superfluous import. sascha@2144: felix@2141: 2012-01-19 Felix Wolfsteller felix@2141: felix@2146: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@2146: Respect visibility flag of HYK facet. felix@2146: felix@2146: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2146: Log malcondition, make colored hyk-box a bit smaller. felix@2146: felix@2146: 2012-01-19 Felix Wolfsteller felix@2146: felix@2141: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java, felix@2141: src/main/java/de/intevation/flys/artifacts/model/DataFacet.java, felix@2141: src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java, felix@2141: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java, felix@2141: src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java, felix@2141: src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java, felix@2141: src/main/java/de/intevation/flys/exports/ChartGenerator.java: felix@2141: Cosmetics, docs, improved logging. felix@2141: felix@2140: 2012-01-19 Felix Wolfsteller felix@2140: felix@2140: * doc/conf/meta-data.xml: Recommend hyks for current river if hit by felix@2140: a crosssection-out. felix@2140: felix@2139: 2012-01-19 Felix Wolfsteller felix@2139: felix@2139: Somewhat improved HYK handling and rendering. felix@2139: felix@2139: * src/main/java/de/intevation/flys/artifacts/HYKArtifact.java: felix@2139: Store ids in more sensibly named data item and expose it. felix@2139: Spawn all facets in inactive state. felix@2139: felix@2139: * src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java: felix@2139: Make HYK name accessible, do not query hyks by river, but by hyk-id, felix@2139: made query more real-world. felix@2139: felix@2139: * src/main/java/de/intevation/flys/artifacts/states/StaticHYKState.java: felix@2139: Use hyks name as facet name, pass hyk-id when asking for hyks. felix@2139: felix@2138: 2012-01-19 Felix Wolfsteller felix@2138: felix@2138: Somewhat improved HYK handling and rendering. felix@2138: felix@2138: * src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: felix@2138: Added ability to store 'zones', next to text annotations. felix@2138: felix@2138: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2138: (getLowestYValue, getUppestYValue, colorForHYKZone), felix@2138: (addBoxAnnotations): New. Create box annotations from zones. felix@2138: felix@2138: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@2138: (doHYK): New, handle hyk facets by adding zones to annotation felix@2138: container. felix@2138: felix@2137: 2012-01-19 Felix Wolfsteller felix@2137: felix@2137: Preparing improved HYK handling. felix@2137: felix@2137: * src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java: felix@2137: (Zone.getTo): New accesor. felix@2137: TODOs and documentation added. felix@2137: raimund@2136: 2012-01-18 Raimund Renkert raimund@2136: raimund@2136: 'New Chart' for w-differences curve. raimund@2136: raimund@2136: * doc/conf/artifacts/chart.xml: Added empty facet to output mode. raimund@2136: raimund@2136: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: raimund@2136: Add an empty facet if the artifact is a ChartArtifact. raimund@2136: raimund@2135: 2012-01-18 Raimund Renkert raimund@2135: raimund@2135: 'New Chart' for discharge longitudinal section curve. raimund@2135: raimund@2135: * doc/conf/artifacts/chart.xml: Added transition for location input. raimund@2135: raimund@2135: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: raimund@2135: Changed cast from WINFOArtifact to FLYSArtifact. raimund@2135: raimund@2135: * src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java: raimund@2135: Add an empty facet if the artifact is a ChartArtifact. raimund@2135: raimund@2134: 2012-01-18 Raimund Renkert raimund@2134: raimund@2134: 'New Chart' for duration curve. raimund@2134: raimund@2134: * doc/conf/artifacts/chart.xml: Added state and transition for location input. raimund@2134: raimund@2134: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: raimund@2134: Changed cast from WINFOArtifact to FLYSArtifact. raimund@2134: raimund@2134: * src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java: raimund@2134: Add an empty facet if the artifact is a ChartArtifact. raimund@2134: felix@2133: 2012-01-18 Felix Wolfsteller felix@2133: felix@2133: Added accidentally ommitted HYKFacet, fixing build. felix@2133: felix@2133: * src/main/java/de/intevation/flys/artifacts/model/HYKFacet.java: felix@2133: New, stubby facet for hyk infrastructure. felix@2133: raimund@2132: 2012-01-18 Raimund Renkert raimund@2132: raimund@2132: 'New Chart' for computed discharge curve. raimund@2132: raimund@2132: * doc/conf/artifacts/chart.xml: Fixed transitions and added state for km input. raimund@2132: raimund@2132: * src/main/java/de/intevation/flys/artifacts/model/EmptyFacet.java: raimund@2132: New. Added an empty facet to avoid deleting an empty output. raimund@2132: raimund@2132: * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java, raimund@2132: src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java, raimund@2132: src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java: raimund@2132: Changed some return values if the artifact is a ChartArtifact. raimund@2132: raimund@2132: * src/main/java/de/intevation/flys/exports/ChartGenerator.java, raimund@2132: src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java: raimund@2132: Changed casts from WINFOArtifact to FLYSArtifact. raimund@2132: raimund@2132: * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java: raimund@2132: Add an empty facet if the artifact is a ChartArtifact. raimund@2132: raimund@2132: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: raimund@2132: Set a default axis range if the range is null. raimund@2132: felix@2131: 2012-01-18 Felix Wolfsteller felix@2131: felix@2131: Added stub hyk infrastructure. felix@2131: felix@2131: * doc/conf/artifacts/hyk.xml: Added trivial transition configuration felix@2131: for hyk artifacts. felix@2131: felix@2131: * doc/conf/conf.xml: Register HYK artifact and its transition conf. felix@2131: felix@2131: * src/main/java/de/intevation/flys/artifacts/HYKArtifact.java, felix@2131: src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java, felix@2131: src/main/java/de/intevation/flys/artifacts/states/StaticHYKState.java: felix@2131: Added static 'hyk' artifact, facet and state. felix@2131: felix@2130: 2012-01-18 Felix Wolfsteller felix@2130: felix@2130: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@2130: Add 'hyk' facet type. felix@2130: felix@2129: 2012-01-18 Felix Wolfsteller felix@2129: felix@2129: Add hyk facet to compatibility list of winfo.xml . felix@2129: felix@2129: * doc/conf/artifacts/winfo.xml: Add hyk facets to compatibility list. felix@2129: ingo@2128: 2012-01-18 Ingo Weinzierl ingo@2128: ingo@2128: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a ingo@2128: method getDataAsLong that returns a Long representation of a data item or ingo@2128: null if no such data item is existing or it cannot be parsed as Long. ingo@2128: ingo@2128: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function ingo@2128: that returns the selected reference gauge (specified by 'reference_gauge' ingo@2128: parameter) of a FLYSArtifact. ingo@2128: sascha@2127: 2012-01-17 Sascha L. Teichmann sascha@2127: sascha@2127: * src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java: sascha@2127: Cache a TreeMap of the annotation values of whole sascha@2127: rivers. This is _much_ more efficient than firing an HQL/SQL statement for sascha@2127: each km and caching these results. sascha@2127: sascha@2126: 2012-01-17 Sascha L. Teichmann sascha@2126: sascha@2126: * src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionLine.java: sascha@2126: Deleted. It is in the backend now. sascha@2126: sascha@2126: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, sascha@2126: src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionChunk.java, sascha@2126: src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java, sascha@2126: src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionLineFactory.java, sascha@2126: src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java, sascha@2126: src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java, sascha@2126: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: sascha@2126: Adjusted to use the fast cross section line from backend now. sascha@2126: sascha@2126: * doc/conf/cache.xml: Store cross section lines cache on disk. sascha@2126: sascha@2126: * src/main/java/de/intevation/flys/artifacts/states/StaticWQKmsState.java, sascha@2126: src/main/java/de/intevation/flys/artifacts/model/DataFacet.java, sascha@2126: src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: Removed sascha@2126: superfluous imports. sascha@2126: felix@2125: 2012-01-17 Felix Wolfsteller felix@2125: felix@2125: Fix assignment of stateId/hash in WaterlevelFacet. felix@2125: felix@2125: * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: felix@2125: More verbose logging, fix hash/stateid assignment. felix@2125: felix@2125: * src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java: felix@2125: (deepCopy): implemented. felix@2125: felix@2124: 2012-01-17 Felix Wolfsteller felix@2124: felix@2124: "Ported" StaticWQKmsArtifact to use compute-type caching mechanism. felix@2124: felix@2124: * doc/conf/artifacts/staticwqkms.xml: Declare trivial info. felix@2124: felix@2124: * doc/conf/conf.xml: Register staticwqkms artifact and factory. felix@2124: felix@2124: * src/main/java/de/intevation/flys/artifacts/model/WQKmsFacet.java: felix@2124: Sublacss DataFacet. felix@2124: felix@2124: * src/main/java/de/intevation/flys/artifacts/states/StaticWQKmsState.java: felix@2124: New. State. felix@2124: felix@2124: * src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java: felix@2124: Refactored. Most computation and stuff now done in State and Facet. felix@2124: felix@2123: 2012-01-17 Felix Wolfsteller felix@2123: felix@2123: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: felix@2123: Minor cosmetics. felix@2123: felix@2122: 2012-01-17 Felix Wolfsteller felix@2122: felix@2122: Refactoring. felix@2122: felix@2122: * src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java: felix@2122: Added new constructor. felix@2122: felix@2122: * src/main/java/de/intevation/flys/artifacts/model/DataFacet.java: felix@2122: Refactored, subclass BlackboardDataFacet. felix@2122: felix@2122: * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: felix@2122: Refactored, subclass DataFacet. felix@2122: felix@2122: * src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java: felix@2122: Adjusted. felix@2122: felix@2121: 2012-01-17 Felix Wolfsteller felix@2121: felix@2121: * src/main/java/de/intevation/flys/artifacts/model/DataFacet.java: felix@2121: Cosmetics, added new constructor. felix@2121: sascha@2120: 2012-01-16 Sascha L. Teichmann sascha@2120: sascha@2120: Use improved caching for cross section data. sascha@2120: !!! This commit needs heavy testing !!! sascha@2120: sascha@2120: * src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java: sascha@2120: Refactored to provide the map to determine the nearest cross section line sascha@2120: neighbors for a given km to the public. This is a bit hackish because sascha@2120: it hhould have its own factory which is then used by this service and sascha@2120: other parts of the code. sascha@2120: sascha@2120: * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java: sascha@2120: searchCrossSectionLine() now returns a FastCrossSectionLine. To find this sascha@2120: line efficiently it uses the map of the CrossSectionKMService which sascha@2120: already provides a nearest neighbor searching mechanism for cross sascha@2120: section lines. The FastCrossSectionLine is fetched with the sascha@2120: FastCrossSectionLineFactory which uses a cache as described in the sascha@2120: previous commit. sascha@2120: sascha@2120: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java sascha@2120: src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java, sascha@2120: src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java, sascha@2120: src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, sascha@2120: src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Uses sascha@2120: the FastCrossSectionLine instead of CrossSectionLines now. sascha@2120: sascha@2120: * src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionLine.java: sascha@2120: Added method fetchCrossSectionProfile() to access the point data in sascha@2120: the profile generating compatible way. sascha@2120: sascha@2120: * src/main/java/de/intevation/flys/artifacts/ChartArtifact.java: Removed sascha@2120: superfluous import. sascha@2120: sascha@2119: 2012-01-16 Sascha L. Teichmann sascha@2119: sascha@2119: * doc/conf/cache.xml: Added cache for fast section lines chunks. sascha@2119: sascha@2119: * src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionChunk.java: sascha@2119: New. Chunks of FastCrossSectionLines. Stores cross section lines for ranges sascha@2119: of one KM. sascha@2119: sascha@2119: * src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionLineFactory.java: sascha@2119: New. Access fast cross section lines. It uses the cache 'fast-cross-section-lines' sascha@2119: configured in cache.xml to store chunks of cross section lines. sascha@2119: sascha@2119: * src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionLine.java: sascha@2119: New. Stores the important data (points) of a cross section line. sascha@2119: ingo@2118: 2012-01-16 Ingo Weinzierl ingo@2118: ingo@2118: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@2118: Added a new calculation option for historical discharge curves. ingo@2118: ingo@2118: * src/main/resources/messages.properties, ingo@2118: src/main/resources/messages_de_DE.properties, ingo@2118: src/main/resources/messages_en.properties, ingo@2118: src/main/resources/messages_de.properties: Added translations for ingo@2118: historical discharge curves. ingo@2118: felix@2117: 2012-01-16 Felix Wolfsteller felix@2117: felix@2117: * doc/conf/artifacts/winfo.xml: Added certain facets to to felix@2117: compatibility matrices. felix@2117: felix@2116: 2012-01-16 Felix Wolfsteller felix@2116: felix@2116: * doc/conf/artifacts/annotation.xml: Fixed accidental change. felix@2116: felix@2115: 2012-01-16 Felix Wolfsteller felix@2115: felix@2115: * doc/conf/artifacts/annotation.xml: Cosmetics. felix@2115: ingo@2114: 2012-01-16 Ingo Weinzierl ingo@2114: ingo@2114: * doc/conf/meta-data.xml: Enabled old floodmap calculations for output ingo@2114: type 'map'. ingo@2114: raimund@2113: 2012-01-13 Raimund Renkert raimund@2113: raimund@2113: Initial implementation for module 'new chart'. raimund@2113: raimund@2113: * src/main/java/de/intevation/flys/artifacts/ChartArtifact.java: raimund@2113: New. Artifact for module 'new chart'. raimund@2113: raimund@2113: * doc/conf/artifacts/chart.xml: raimund@2113: New. Artifact description for the new artifact. raimund@2113: raimund@2113: * doc/conf/conf.xml: raimund@2113: Added new artifact to config. raimund@2113: raimund@2113: * src/main/resources/messages.properties, raimund@2113: src/main/resources/messages_de_DE.properties, raimund@2113: src/main/resources/messages_en.properties, raimund@2113: src/main/resources/messages_de.properties: raimund@2113: Added i18n strings for 'new chart' chart types. raimund@2113: felix@2112: 2011-01-13 Felix Wolfsteller felix@2112: felix@2112: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: felix@2112: Cosmetics. felix@2112: felix@2111: 2011-01-13 Felix Wolfsteller felix@2111: felix@2111: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: felix@2111: Avoid NPE when copying data from one artifact to another. felix@2111: felix@2110: 2011-01-13 Felix Wolfsteller felix@2110: felix@2110: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2110: (expandRange): Prevent collapse due to negative values. felix@2110: raimund@2109: 2012-01-12 Raimund Renkert raimund@2109: raimund@2109: * doc/conf/artifacts/map.xml, raimund@2109: doc/conf/conf.xml, raimund@2109: src/main/java/de/intevation/flys/artifacts/MapArtifact.java: raimund@2109: Changed the MapArtifact name to 'new_map'. raimund@2109: sascha@2108: 2011-01-12 Sascha L. Teichmann sascha@2108: sascha@2108: * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: sascha@2108: Added code to calculate the area of the generated polygons. sascha@2108: TODO: Render the generated area sum to the plot. sascha@2108: sascha@2107: 2011-01-12 Sascha L. Teichmann sascha@2107: sascha@2107: * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: sascha@2107: Replaced System.err.println()s with proper logging. sascha@2107: sascha@2107: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, sascha@2107: src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java, sascha@2107: src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed sascha@2107: superfluous imports. sascha@2107: felix@2106: 2011-01-12 Felix Wolfsteller felix@2106: felix@2106: flys/issue450 (i18n: Datenkorb: longitudinal-section) felix@2106: felix@2106: * doc/conf/meta-data.xml: Replaced dash by underscore in felix@2106: longitudinal-section. felix@2106: felix@2105: 2011-01-12 Felix Wolfsteller felix@2105: felix@2105: Towards areas on other than the first axes. felix@2105: felix@2105: * src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java: felix@2105: Changed signature on which to provide data via the blackboard. felix@2105: Include facets name to allow unique identification. felix@2105: felix@2105: * src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java: felix@2105: Store name of one of the facets involved in area creation. felix@2105: (AreaFacet.Data): New class to hold result data. felix@2105: felix@2105: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@2105: New methods to find out whether we have a general Q or W type of felix@2105: facet. felix@2105: felix@2105: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@2105: (doArea): Use new Result-Data object instead of Object[], resolve felix@2105: which axis to put area to. felix@2105: (axisIdxForFacet): New. felix@2105: felix@2105: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@2105: Subclass LongitudinalSectionGenerator. felix@2105: felix@2103: 2011-01-12 Felix Wolfsteller felix@2103: felix@2103: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java: felix@2103: Do not intefere with CrossSections. felix@2103: felix@2102: 2011-01-12 Felix Wolfsteller felix@2102: felix@2102: Cosmetics, cleanups. felix@2102: felix@2102: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@2102: (getCrossSections, getCrossSectionNames): Removed. felix@2102: felix@2101: 2011-01-11 Felix Wolfsteller felix@2101: felix@2101: flys/issue439 (Streckenfavoriten lassen sich nicht über den Datenkorb felix@2101: hinzuladen) felix@2101: felix@2101: * doc/conf/meta-data.xml: Made Annotations available via datacage felix@2101: in longitudinal section, cosmetics. felix@2101: raimund@2100: 2012-01-11 Raimund Renkert raimund@2100: raimund@2100: * doc/conf/conf.xml: raimund@2100: Added output generator for output type 'map'. raimund@2100: raimund@2100: * doc/conf/artifacts/map.xml: raimund@2100: Changed output name to 'map'. raimund@2100: raimund@2100: * doc/conf/meta-data.xml: raimund@2100: Added new output type 'map'. raimund@2100: felix@2099: 2011-01-11 Felix Wolfsteller felix@2099: felix@2099: Fix flys/issue446 (Dauerline/Abflusskurve am Pegel: Eigenschaften vom felix@2099: Hauptwertthema nicht aufrufbar) felix@2099: felix@2099: * doc/conf/themes.xml: Add default styles for mainvalues.q/w and other felix@2099: themes. felix@2099: sascha@2098: 2012-01-11 Sascha L. Teichmann sascha@2098: sascha@2098: * src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java: sascha@2098: Removed XPath injection security hole. A serious one because it allowed sascha@2098: inspecting the conf.xml file ... with all the db passwords. sascha@2098: sascha@2097: 2012-01-11 Sascha L. Teichmann sascha@2097: sascha@2097: * src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java, sascha@2097: src/main/java/de/intevation/flys/exports/XYChartGenerator.java: sascha@2097: Removed superfluous imports. sascha@2097: ingo@2096: 2012-01-11 Ingo Weinzierl ingo@2096: ingo@2096: * doc/conf/meta-data.xml: Added the definition of old calculation results ingo@2096: for floodmaps. ingo@2096: ingo@2095: 2012-01-10 Ingo Weinzierl ingo@2095: ingo@2095: * src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: Added ingo@2095: methods getLayers() and removeLayer(). ingo@2095: ingo@2095: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a ingo@2095: method getFacets() which returns a list of Facets supported by this ingo@2095: Artifact. In addition, the FLYSArtifact is now more verbose while ingo@2095: filtering Facets for Outputs. ingo@2095: ingo@2095: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@2095: Implemented initialize() which now copies the shapefile directory of the ingo@2095: model Artifact and modifies its Facets (adapts the shapepath which is the ingo@2095: uuid of the Artifact). ingo@2095: ingo@2094: 2012-01-10 Ingo Weinzierl ingo@2094: ingo@2094: * src/main/java/de/intevation/flys/collections/AttributeWriter.java, ingo@2094: src/main/java/de/intevation/flys/collections/OutputParser.java: Made ingo@2094: them more verbose for better debugging. ingo@2094: ingo@2093: 2012-01-09 Ingo Weinzierl ingo@2093: ingo@2093: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@2093: Initialize() now also calls State.initialize() for each State. ingo@2093: ingo@2093: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@2093: Override initialize() which is defined in AbstractState. NOTE: Currently, ingo@2093: this method has no code. ingo@2093: sascha@2092: 2012-01-07 Sascha L. Teichmann sascha@2092: sascha@2092: * src/main/java/de/intevation/flys/artifacts/services/CacheInvalidationService.java: sascha@2092: New. The service to invalidate the caches. (Argh! Forgot to 'svn add') sascha@2092: ingo@2091: 2012-01-06 Ingo Weinzierl ingo@2091: ingo@2091: flys/issue298 (Karte: Automatischer Zoom auf Berechnungsergebnisse) ingo@2091: ingo@2091: * src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Added a ingo@2091: debug statement that prints out the WSPLGEN extent. ingo@2091: ingo@2091: * src/main/java/de/intevation/flys/exports/MapGenerator.java: Create new ingo@2091: Envelope instances for initial and max extent if they are not existing. ingo@2091: Some debug statements have now been removed. ingo@2091: felix@2090: 2011-01-06 Felix Wolfsteller felix@2090: felix@2090: Add cache for 'static' wqkms (e.g. BaseData) to default cache conf. felix@2090: felix@2090: * doc/conf/cache.xml: Add Cache Config for static wqkms. felix@2090: felix@2090: * src/main/java/de/intevation/flys/artifacts/model/StaticWQKmsCacheKey.java: felix@2090: Adjust typo in cache name, minor cosmetic. felix@2090: raimund@2089: 2011-01-06 Raimund Renkert raimund@2089: raimund@2089: * src/main/java/de/intevation/flys/artifacts/MapArtifact.java: raimund@2089: The map artifact has two states now and overrides describe() to raimund@2089: generate UI sections in the describe response. raimund@2089: The map state overrides computeAdvance() instead of computeFeed(). raimund@2089: raimund@2089: * src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java, raimund@2089: src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: raimund@2089: Changed the WMSDBArtifact in WMSDBState to FLYSArtifact and adjusted raimund@2089: constructors in state classes. raimund@2089: raimund@2089: * doc/conf/artifacts/map.xml: raimund@2089: Added initial state and transition. raimund@2089: raimund@2089: * src/main/resources/messages.properties, raimund@2089: src/main/resources/messages_de_DE.properties, raimund@2089: src/main/resources/messages_en.properties, raimund@2089: src/main/resources/messages_de.properties: raimund@2089: Added i18n strings for new state. raimund@2089: felix@2088: 2011-01-06 Felix Wolfsteller felix@2088: felix@2088: Partial fix for flys/issue437 (Querprofil: Zugeladene Basisdaten felix@2088: ignorieren W/Q-heit, falsche Namen). felix@2088: felix@2088: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: felix@2088: Set name also for first column (zero based). felix@2088: ingo@2087: 2012-01-06 Ingo Weinzierl ingo@2087: ingo@2087: flys/issue196 (i18n/l10n: Zahlenformate einheitlich) ingo@2087: ingo@2087: * src/main/java/de/intevation/flys/artifacts/model/WQ.java: New method ingo@2087: getRawValue() that extracts the raw double value from 'name' parameter. ingo@2087: ingo@2087: * src/main/java/de/intevation/flys/utils/Formatter.java: New method ingo@2087: getRawFormatter() that returns a NumberFormat instance for the current ingo@2087: locale. ingo@2087: ingo@2087: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: ingo@2087: Localized the W/Q labels in CSV exports. ingo@2087: felix@2086: 2011-01-06 Felix Wolfsteller felix@2086: felix@2086: flys/issue442 (i18n: Datenkorb: flood-protections) felix@2086: felix@2086: * doc/conf/meta-data.xml: Replaced dash in flood-protection by felix@2086: underscore to allow translation. felix@2086: felix@2085: 2011-01-06 Felix Wolfsteller felix@2085: felix@2085: flys/issue438 (i18n: Datenkorb: additionals) felix@2085: felix@2085: * doc/conf/meta-data.xml: Fix typo. felix@2085: sascha@2084: 2011-01-05 Sascha L. Teichmann sascha@2084: sascha@2084: * src/main/java/de/intevation/flys/artifacts/services/CacheInvalidationService.java: sascha@2084: New. Uses the CacheFactory to invalidate caches by their names. sascha@2084: This can be used by external ETL processes like the AFT/DIPS importer sascha@2084: to prevent cache inconsistencies. sascha@2084: sascha@2084: Input documents look like this: sascha@2084: sascha@2084: sascha@2084: sascha@2084: ... sascha@2084: sascha@2084: sascha@2084: sascha@2084: Output documents look like this: sascha@2084: sascha@2084: sascha@2084: All elements removed. sascha@2084: ... sascha@2084: Error: Cache not found. sascha@2084: sascha@2084: sascha@2084: * doc/conf/conf.xml: Added the cache invalidation service. sascha@2084: sascha@2084: * src/main/java/de/intevation/flys/artifacts/services/FLYSService.java: sascha@2084: Added Override annotation. sascha@2084: felix@2083: 2011-01-05 Felix Wolfsteller felix@2083: felix@2083: flys/issue432 (Diagrammeigenschaften/Flächenrenderer: felix@2083: Legenden-schriftgröße für Flächenthemen wird ignoriert) felix@2083: felix@2083: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2083: Respect legend item size when generating legend items for felix@2083: area dataseries. felix@2083: raimund@2082: 2011-12-09 Raimund Renkert raimund@2082: raimund@2082: Implemented new module "new map". raimund@2082: raimund@2082: * src/main/java/de/intevation/flys/artifacts/MapArtifact.java: raimund@2082: New. Artifact for the new module, extends RiverAxisArtifact and raimund@2082: contains the MapState class. raimund@2082: raimund@2082: * src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java, raimund@2082: src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: raimund@2082: Added empty constructor to embedded state classes to allow instantiation raimund@2082: of MapState that extends the RiverAxisState. raimund@2082: raimund@2082: * src/main/java/de/intevation/flys/exports/MapGenerator.java: raimund@2082: Do not generate an initialExtent element if the initial extent is raimund@2082: empty. raimund@2082: raimund@2082: * doc/conf/artifacts/map.xml: raimund@2082: New. Describes the state for the new module. raimund@2082: raimund@2082: * doc/conf/conf.xml: raimund@2082: Added new config file. raimund@2082: ingo@2081: 2012-01-05 Ingo Weinzierl ingo@2081: ingo@2081: flys/issue444 (error_no_export_found bei "W bei ungleichwertigem Abfluss") ingo@2081: ingo@2081: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: If no boolean ingo@2081: value "wq_free" exists in getWQMode(), false is the default. ingo@2081: felix@2080: 2011-01-05 Felix Wolfsteller felix@2080: felix@2080: flys/issue443 (Querprofile: Hibernate LazyInitializationException) felix@2080: felix@2080: * doc/conf/cache.xml: Disable cache for cross-sections. felix@2080: ingo@2079: 2012-01-05 Ingo Weinzierl ingo@2079: ingo@2079: flys/issue447 (W-Differenzen: Fehler beim Hinzufügen einer Parameterisierung) ingo@2079: ingo@2079: * src/main/java/de/intevation/flys/collections/CollectionAttribute.java: ingo@2079: Added a new method cleanEmptyOutputs() which removes Outputs that have ingo@2079: no Facets set. ingo@2079: ingo@2079: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: Call ingo@2079: CollectionAttribute.cleanEmptyOutputs() at the end of write() to remove ingo@2079: empty Outputs that have been added during the merge process. ingo@2079: ingo@2078: 2012-01-05 Ingo Weinzierl ingo@2078: ingo@2078: flys/issue440 (Karte: WSPLGEN Berechnungen für Mosel schlagen fehl) ingo@2078: ingo@2078: * src/main/java/de/intevation/flys/utils/GeometryUtils.java: Modified the ingo@2078: getRiverBoundary() method because the signature of ingo@2078: RiverAxis.getRiverAxis() has changed. This method will now take each ingo@2078: geometry into account, that is retrieved by ingo@2078: RiverAxis.getRiverBoundary(). ingo@2078: ingo@2078: * src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java: ingo@2078: Use GeometryUtils.getRiverBoundary() to determine the boundary of a ingo@2078: river. ingo@2078: ingo@2078: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@2078: Create the riveraxis shapefile with all geometries returned by ingo@2078: RiverAxis.getRiverAxis(). ingo@2078: ingo@2077: 2012-01-05 Ingo Weinzierl ingo@2077: ingo@2077: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Repaired ingo@2077: broken items in legend. The new renderer requires the current plot. This ingo@2077: is set now. ingo@2077: ingo@2076: 2012-01-04 Ingo Weinzierl ingo@2076: ingo@2076: * doc/conf/themes.xml: Added a new field 'pointsize' to the virtual theme ingo@2076: 'HiddenColorLines'. ingo@2076: ingo@2076: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added methods to ingo@2076: parse the new field of 'HiddenColorLines'. ingo@2076: ingo@2076: * src/main/java/de/intevation/flys/jfree/StyledXYSeries.java: Apply the ingo@2076: pointsize defined in themes. ingo@2076: ingo@2075: 2012-01-04 Ingo Weinzierl ingo@2075: ingo@2075: * src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java: ingo@2075: Use correct keys for buffering in getMinimum() and getMaximum(). ingo@2075: ingo@2074: 2012-01-04 Ingo Weinzierl ingo@2074: ingo@2074: * src/main/java/de/intevation/flys/exports/StyledXYSeries.java, ingo@2074: src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java, ingo@2074: src/main/java/de/intevation/flys/exports/EnhancedLineAndShapeRenderer.java: ingo@2074: Moved to de.intevation.flys.jfree. ingo@2074: ingo@2074: * src/main/java/de/intevation/flys/jfree/StyledXYSeries.java, ingo@2074: src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java, ingo@2074: src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java: ingo@2074: Moved from de.intevation.flys.exports. ingo@2074: ingo@2074: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, ingo@2074: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, ingo@2074: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@2074: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, ingo@2074: src/main/java/de/intevation/flys/exports/XYChartGenerator.java, ingo@2074: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, ingo@2074: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: ingo@2074: Added necessary imports. ingo@2074: ingo@2073: 2012-01-04 Ingo Weinzierl ingo@2073: ingo@2073: * src/main/java/de/intevation/flys/exports/EnhancedLineAndShapeRenderer.java: ingo@2073: Buffered the computation results of getMinimum() and getMaximum(). ingo@2073: ingo@2072: 2012-01-04 Ingo Weinzierl ingo@2072: ingo@2072: flys/issue393 (Themenstileditor: Minimum anzeigen / Beschriftung anzeigen) ingo@2072: ingo@2072: * src/main/java/de/intevation/flys/exports/EnhancedLineAndShapeRenderer.java: ingo@2072: New renderer that overrides JFreeChart's XYLineAndShapeRenderer. This ingo@2072: renderer brings the option to explicitly display the minimum and/or ingo@2072: maximum or a series as shape. Currently, there are no options to adjust ingo@2072: the style of those shapes. ingo@2072: ingo@2072: * doc/conf/themes.xml: Added a new virtual theme 'MinMaxPoints'. All line ingo@2072: theme inherit from that theme now. ingo@2072: ingo@2072: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added methods to ingo@2072: parse the fields 'showminimum' and 'showmaximum' of 'MinMaxPoints' theme. ingo@2072: ingo@2072: * src/main/java/de/intevation/flys/exports/StyledXYSeries.java: Added ingo@2072: methods to apply the fields of the new Theme 'MinMaxPoints'. ingo@2072: ingo@2072: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Modified ingo@2072: the getRenderer() method which now always returns a new instance of ingo@2072: EnhancedLineAndShapeRenderer. ingo@2072: felix@2071: 2011-01-02 Felix Wolfsteller felix@2071: felix@2071: Allow styling of outline of areas. felix@2071: felix@2071: * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: felix@2071: Allow styling of outline of areas. felix@2071: felix@2071: * src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java: felix@2071: Parse outline style for areas, apply it to renderer. felix@2071: ingo@2070: 2012-01-03 Ingo Weinzierl ingo@2070: ingo@2070: flys/issue104 (W-INFO: Wasserspiegellagenberechnung / Strecke) ingo@2070: ingo@2070: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Call ingo@2070: the new flys-backend method Wst.determineMinMaxQFree() to determine the ingo@2070: min/max Qs at a given kilometer. ingo@2070: felix@2069: 2011-01-02 Felix Wolfsteller felix@2069: felix@2069: * doc/conf/themes.xml: Reflect name chnage of longitudinal sections felix@2069: area artifacts and include ColorLine style for area styles. felix@2069: ingo@2068: 2012-01-02 Ingo Weinzierl ingo@2068: ingo@2068: flys/issue370 (WINFO: Berechnungsausgabe W/Pegel [cm] fehlt bei Wasserspiegellage und W am Pegel) ingo@2068: ingo@2068: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: New method that ingo@2068: extracts the double value of a WQ object's name. ingo@2068: ingo@2068: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Adapted ingo@2068: the header of CSV exports and the content of the "W at gauge" column. ingo@2068: ingo@2068: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java: ingo@2068: Adapted method signatures that have been changed in WaterlevelExporter. ingo@2068: ingo@2067: 2012-01-02 Ingo Weinzierl ingo@2067: ingo@2067: * src/main/resources/messages.properties, ingo@2067: src/main/resources/messages_de_DE.properties, ingo@2067: src/main/resources/messages_en.properties, ingo@2067: src/main/resources/messages_de.properties: Added strings used in the CSV ingo@2067: export. ingo@2067: ingo@2066: 2012-01-02 Ingo Weinzierl ingo@2066: ingo@2066: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Check ingo@2066: if the location of a CSV row is in range of the reference gauge. Write ingo@2066: "outside reference gauge" into CSV in such cases. ingo@2066: ingo@2065: 2012-01-02 Ingo Weinzierl ingo@2065: ingo@2065: PART II of flys/issue125 (W-INFO: Wasserspiegellagenberechnung / tabellarische Berechnungsausgabe) ingo@2065: ingo@2065: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Add the ingo@2065: named main value of a Q and the name of the gauge used for the calculation ingo@2065: if the WQ mode is "W at gauge" or "Q at gauge". ingo@2065: ingo@2065: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java: ingo@2065: Adapted the method signatures that have been modified in ingo@2065: WaterlevelExporter. ingo@2065: ingo@2064: 2012-01-02 Ingo Weinzierl ingo@2064: ingo@2064: * src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java, ingo@2064: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@2064: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, ingo@2064: src/main/java/de/intevation/flys/exports/AxisSection.java, ingo@2064: src/main/java/de/intevation/flys/exports/ExportSection.java, ingo@2064: src/main/java/de/intevation/flys/exports/LegendSection.java, ingo@2064: src/main/java/de/intevation/flys/exports/ChartSection.java: Removed ingo@2064: unused imports. ingo@2064: ingo@2063: 2012-01-02 Ingo Weinzierl ingo@2063: ingo@2063: PART I of flys/issue125 (W-INFO: Wasserspiegellagenberechnung / tabellarische Berechnungsausgabe) ingo@2063: ingo@2063: * doc/conf/cache.xml: Registered a new Cache for the LocationProvider. ingo@2063: ingo@2063: * src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java: ingo@2063: New. This class is able to return the description of a location based on a ingo@2063: river and kilometer parameter. The LocationProvider stores single ingo@2063: locations into a Cache if one is configured for this class. ingo@2063: ingo@2063: * src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: ingo@2063: Added a method that returns a single Annotation for a specific kilometer and ingo@2063: river. ingo@2063: ingo@2063: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method ingo@2063: getLocationDescription() that might be used to determine the description ingo@2063: of a specified kilometer for a given river. ingo@2063: ingo@2063: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Make use ingo@2063: of FLYSUtils.getLocationDescription() to add a new column that contains ingo@2063: the location description. ingo@2063: ingo@2062: 2011-12-29 Ingo Weinzierl ingo@2062: ingo@2062: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Write ingo@2062: min/max values for free Qs into Artifact's DESCRIBE document. ingo@2062: ingo@2061: 2011-12-28 Ingo Weinzierl ingo@2061: ingo@2061: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Fixed ingo@2061: broken order to determine the step width of Qs and Ws. ingo@2061: ingo@2060: 2011-12-28 Ingo Weinzierl ingo@2060: ingo@2060: flys/issue104 (W-INFO: Wasserspiegellagenberechnung / Strecke) ingo@2060: ingo@2060: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@2060: Validate user defined free Q values. ingo@2060: ingo@2059: 2011-12-28 Ingo Weinzierl ingo@2059: ingo@2059: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@2059: Compute better step width based on a maximal number of steps = 30. ingo@2059: Results with digits are rounded up. E.g.: ingo@2059: Q range = 9.6 - 1750 ingo@2059: Step width = 58.01 ingo@2059: Rounded result = 60 ingo@2059: ingo@2058: 2011-12-27 Ingo Weinzierl ingo@2058: ingo@2058: * src/main/java/de/intevation/flys/exports/AxisSection.java, ingo@2058: src/main/java/de/intevation/flys/exports/LegendSection.java, ingo@2058: src/main/java/de/intevation/flys/exports/ChartSection.java: Subclasses ingo@2058: TypeSection to be able to use convinience methods for string, integer, ingo@2058: double and boolean values. ingo@2058: ingo@2057: 2011-12-27 Ingo Weinzierl ingo@2057: ingo@2057: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: The ingo@2057: getSize() method now returns null if no width and height is specified in ingo@2057: the request document or if width/height <= 0. It no longer returns the ingo@2057: result of getDefaultSize(). ingo@2057: ingo@2057: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Set the ingo@2057: size of a chart export to the size specified in the ChartSettings if ingo@2057: there are no valid values in the request document. ingo@2057: ingo@2057: * src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: Set the ingo@2057: chart size to ChartGenerator.getDefaultSize() if no valid values are ingo@2057: returned by ChartGenerator.getSize(). This has been done autoamtically ingo@2057: before. ingo@2057: ingo@2056: 2011-12-27 Ingo Weinzierl ingo@2056: ingo@2056: * src/main/java/de/intevation/flys/exports/TypeSection.java: New. This ingo@2056: Section defines some convinience methods to add/set string, integer, ingo@2056: double and boolean values. ingo@2056: ingo@2056: * src/main/java/de/intevation/flys/exports/ExportSection.java: New. ingo@2056: Subclasses TypeSection. The ExportSection currently offers attributes ingo@2056: 'width' and 'height'. ingo@2056: ingo@2056: * src/main/java/de/intevation/flys/exports/ChartSettings.java: Added ingo@2056: getter/setter methods to support an ExportSection. ingo@2056: ingo@2056: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Create an ingo@2056: ExportSection while initial ChartSettings creation. ingo@2056: ingo@2055: 2011-12-27 Ingo Weinzierl ingo@2055: ingo@2055: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added and ingo@2055: make use of a new method createLegendLabelFont() to create unified Fonts for ingo@2055: LegendItems. This method considers the user defined size for LegendItems. ingo@2055: ingo@2054: 2011-12-27 Ingo Weinzierl ingo@2054: ingo@2054: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@2054: Implemented adjustAxes(). This method now sets the label Font of the X ingo@2054: axis. Its size is determined by getXAxisLabelFontSize(). ingo@2054: ingo@2053: 2011-12-27 Ingo Weinzierl ingo@2053: ingo@2053: * src/main/java/de/intevation/flys/exports/AxisSection.java: Added method ingo@2053: getFontSize() to retrieve the font size for an axis. ingo@2053: ingo@2053: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@2053: Modified createYAxis(int): call super.createYAxis(int) and adjust ingo@2053: necessary settings - no Axis creation takes place here. ingo@2053: ingo@2053: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added ingo@2053: getXAxisLabelFontSize() and getYAxisLabelFontSize(int) to retrieve the ingo@2053: user defined font size for an axis. The getYAxisLabelFontSize() is used in ingo@2053: createYAxis(int) to set the font size for axes labels. ingo@2053: ingo@2052: 2011-12-27 Ingo Weinzierl ingo@2052: ingo@2052: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: ingo@2052: Override getYAxisWalker(). ingo@2052: ingo@2052: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Create new ingo@2052: instances of IdentifiableNumberAxis in createYAxis(int) default ingo@2052: implementation. ingo@2052: ingo@2051: 2011-12-27 Ingo Weinzierl ingo@2051: ingo@2051: * src/main/java/de/intevation/flys/exports/AxisSection.java: Added ingo@2051: getLabel() to retrieve the axis label. ingo@2051: ingo@2051: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, ingo@2051: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, ingo@2051: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@2051: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, ingo@2051: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: ingo@2051: Override getDefaultXAxisLabel() and getDefaultYAxisLabel() defined in ingo@2051: XYChartGenerator. ingo@2051: ingo@2051: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Implement ingo@2051: getXAxisLabel() and getYAxisLabel(int). Both methods search for an axis ingo@2051: label defined in the ChartSettings first. If no label is specified or if ingo@2051: no ChartSettings is set, getDefaultXAxisLabel() or ingo@2051: getDefaultYAxisLabel(int) is called to retrieve the initial/default axis ingo@2051: label. ingo@2051: ingo@2050: 2011-12-27 Ingo Weinzierl ingo@2050: ingo@2050: * src/main/java/de/intevation/flys/exports/ChartSettings.java: Modified the ingo@2050: signature of addAxisSection(). This method now accepts AxisSections only. ingo@2050: In addition, there is a new method getAxisSection(String) that returns an ingo@2050: AxisSection specified by its identifier. ingo@2050: ingo@2050: * src/main/java/de/intevation/flys/exports/AxisSection.java: Added new ingo@2050: methods getIdentifier(), isFixed(), getUpperRange() and getLowerRange() to ingo@2050: retrieve the attributes supported by this Section. ingo@2050: ingo@2050: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Make use ingo@2050: of axes ranges specified in ChartSettings if an axis is fixed. ingo@2050: ingo@2049: 2011-12-23 Ingo Weinzierl ingo@2049: ingo@2049: * src/main/java/de/intevation/flys/exports/IdentifiableNumberAxis.java: New. ingo@2049: Subclasses JFreeChart's NumberAxis and offers a getId() method which ingo@2049: returns an identifiable key. ingo@2049: ingo@2049: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Implements ingo@2049: a createNumberAxis() method that should be used by all subclasses to ingo@2049: create new axes. This method returns an instance of IdentifiableNumberAxis ingo@2049: which is required for zooming. ingo@2049: ingo@2049: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, ingo@2049: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@2049: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: ingo@2049: Create new NumberAxis instances by using XYChartGenerator.createNumberAxis(). ingo@2049: ingo@2048: 2011-12-23 Ingo Weinzierl ingo@2048: ingo@2048: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@2048: Implemented the methods getChartTitle() and getChartSubtitle(). Both ingo@2048: methods try to get the required information from ChartSettings. If no ingo@2048: ChartSettings is set for this OutGenerator, these methods will call ingo@2048: getDefaultChartTitle() and getDefaultChartSubtitle(). ingo@2048: ingo@2048: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, ingo@2048: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, ingo@2048: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@2048: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, ingo@2048: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, ingo@2048: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: ingo@2048: Renamed getChartTitle() and getChartSubtitle() to ingo@2048: getDefaultChartTitle() and getDefaultChartSubtitle(). In addition, the ingo@2048: methods addSubtitles() became more robust - these OutGenerators add ingo@2048: subtitles only if the subtitle is not empty. ingo@2048: ingo@2047: 2011-12-23 Ingo Weinzierl ingo@2047: ingo@2047: * src/main/java/de/intevation/flys/exports/OutGenerator.java: Added a ingo@2047: setSettings(Settings) method. ingo@2047: ingo@2047: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@2047: Call OutGenerator.setSettings() before calling doOut() for each Facet. ingo@2047: ingo@2047: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: Implemented ingo@2047: setSettings() and added convinience methods to access chart specific ingo@2047: settings. ingo@2047: ingo@2047: * src/main/java/de/intevation/flys/exports/MapGenerator.java, ingo@2047: src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java, ingo@2047: src/main/java/de/intevation/flys/exports/AbstractExporter.java, ingo@2047: src/main/java/de/intevation/flys/exports/ATExporter.java, ingo@2047: src/main/java/de/intevation/flys/exports/ReportGenerator.java: Implemented ingo@2047: setSettings(). ingo@2047: ingo@2047: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@2047: src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Make use ingo@2047: of the attributes specified in the Settings: the title, subtitle, ingo@2047: displayGrid and displayLegend settings are functional now. ingo@2047: ingo@2046: 2011-12-23 Ingo Weinzierl ingo@2046: ingo@2046: * src/main/java/de/intevation/flys/exports/ChartSettings.java, ingo@2046: src/main/java/de/intevation/flys/exports/LegendSection.java, ingo@2046: src/main/java/de/intevation/flys/exports/ChartSection.java: Use more ingo@2046: concrete classes than Settings and Section in these classes to avoid a lot ingo@2046: of castings. ingo@2046: ingo@2045: 2011-12-22 Ingo Weinzierl ingo@2045: ingo@2045: flys/issue242 (W-INFO: Fehlende Header in Datenexporten) ingo@2045: ingo@2045: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added functions ingo@2045: getQs(), getWs(), getGauge(), getGaugename() and getRivername() that all ingo@2045: take a parameter FLYSArtifact. ingo@2045: ingo@2045: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Moved the ingo@2045: implementation of getGauge() to FLYSUtils. The getGauge() in this class ingo@2045: just calls and returns FLYSUtils.getGauge(). ingo@2045: ingo@2045: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Write a ingo@2045: header into a CSV export containing meta information about this export. ingo@2045: ingo@2045: * src/main/resources/messages.properties, ingo@2045: src/main/resources/messages_de_DE.properties, ingo@2045: src/main/resources/messages_en.properties, ingo@2045: src/main/resources/messages_de.properties: Added strings used in the CSV ingo@2045: export as header. ingo@2045: felix@2044: 2011-12-22 Felix Wolfsteller felix@2044: felix@2044: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@2044: (getKm): Removed, not called anymore. felix@2044: felix@2043: 2011-12-22 Felix Wolfsteller felix@2043: felix@2043: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@2043: Include km of cross-section-master in diagrams subtitle (fetched felix@2043: from 'blackboard'. felix@2043: felix@2041: 2011-12-22 Felix Wolfsteller felix@2041: felix@2041: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: felix@2041: Cosmetics, docs. felix@2041: felix@2040: 2011-12-22 Felix Wolfsteller felix@2040: felix@2040: * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java felix@2040: (getInitialFacetActivity): Only newest CrossSection is initially felix@2040: active. felix@2040: felix@2039: 2011-12-22 Felix Wolfsteller felix@2039: felix@2039: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java felix@2039: (isNewest): New, query whether a CrossSection is the newest for its felix@2039: river, doc. felix@2039: ingo@2038: 2011-12-21 Ingo Weinzierl ingo@2038: ingo@2038: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a ingo@2038: convinience method to retrieve the value of an data object stored at ingo@2038: FLYSArtifact as Boolean value. ingo@2038: ingo@2038: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method that ingo@2038: returns the named value of a given double value. This method returns only ingo@2038: the named value, if the WQ mode is "Q at gauge" and if the value fits to a ingo@2038: named value. In addition to this method, there is a new method to retrieve ingo@2038: the selected WQ mode as 'WQ_MODE' enum. ingo@2038: ingo@2038: * src/main/java/de/intevation/flys/exports/AbstractExporter.java: ingo@2038: Removed prepareData() and its call. The data preparation had a bad side ingo@2038: effect: the modifications are "persisted" into cache, which has again bad ingo@2038: side effects. ingo@2038: ingo@2038: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Removed ingo@2038: prepareData(). The label creation for columns in the WST export will now ingo@2038: take place in addWSTColumn(). With help of the master Artifact (I forgot ingo@2038: this Artifact in my last commit) we are able to replace Q values with ingo@2038: their named main value. ingo@2038: felix@2037: 2011-12-21 Felix Wolfsteller felix@2037: felix@2037: * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java: felix@2037: Cover 'locations' case for initial km of cross section artifacts. felix@2037: felix@2036: 2011-12-21 Felix Wolfsteller felix@2036: felix@2036: * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java: felix@2036: (initialize): Eat ld_from from master artifact. felix@2036: (setup): Set cross_section.km to either masters km or the lowest felix@2036: defined cross-section line, whatever is bigger. felix@2036: ingo@2035: 2011-12-21 Ingo Weinzierl ingo@2035: ingo@2035: flys/issue252 (W-INFO: Wasserspiegellagenberechnung / Mitführung der Jährlichkeiten in der Diagramm-/Ergbnisausgabe) ingo@2035: ingo@2035: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function ingo@2035: stripNamedMainValue(). The result of this function is a named main value's ingo@2035: base name without declaration of a year. ingo@2035: ingo@2035: * src/main/java/de/intevation/flys/exports/AbstractExporter.java: Added a ingo@2035: method pepareData() that is called in doOut() before the data supported by ingo@2035: the current Facet is added using addData(). ingo@2035: ingo@2035: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Override ingo@2035: the prepareData() method to reset the name of WQKms objects. The Qs in a ingo@2035: waterlevel export should be the Q value or the named main value if the ingo@2035: value fits to a named main value. ingo@2035: felix@2034: 2011-12-20 Felix Wolfsteller felix@2034: felix@2034: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2034: Survive cases where the first dataset has an area-renderer assigned. felix@2034: felix@2034: 2011-12-20 Felix Wolfsteller felix@2034: felix@2034: * src/main/java/de/intevation/flys/artifacts/AreaArtifact.java: felix@2034: Store additional parameter (whether or not to fill everything in felix@2034: between two curves.) felix@2034: felix@2034: * src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java: felix@2034: Deliver additional info from artifact. felix@2034: felix@2034: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@2034: Evaluate new parameter. felix@2034: felix@2032: 2011-12-20 Felix Wolfsteller felix@2032: felix@2032: * doc/conf/themes.xml: Add transparency setting to area theme style. felix@2032: felix@2032: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: Helper to felix@2032: access transparency setting in theme. felix@2032: felix@2032: * src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java: felix@2034: Respect transparency setting. felix@2032: felix@2031: 2011-12-20 Felix Wolfsteller felix@2031: felix@2031: * src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java: felix@2031: Subclass BlackboardDataFacet to provide data for area calculation. felix@2031: felix@2031: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@2031: Cast data to WKms instead of WQKms. felix@2031: ingo@2030: 2011-12-20 Ingo Weinzierl ingo@2030: ingo@2030: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@2030: Use a ';' as seperator between Qs and Ws. ingo@2030: felix@2029: 2011-12-20 Felix Wolfsteller felix@2029: felix@2029: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java felix@2029: (doOut, doArea): Added handling for areafacets. Code yet mostly felix@2029: copied from CrossSectionGenerator. felix@2029: felix@2028: 2011-12-20 Felix Wolfsteller felix@2028: felix@2028: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java: felix@2028: Refactoring, subclass BlackboardDataFacet, remove duplicate code. felix@2028: felix@2027: 2011-12-20 Felix Wolfsteller felix@2027: felix@2027: Cosmetics. felix@2027: felix@2027: * doc/conf/artifacts/winfo.xml, felix@2027: src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@2027: Renamed facet for consistency reasons. felix@2027: felix@2026: 2011-12-20 Felix Wolfsteller felix@2026: felix@2026: Make Waterlevelfacet deliver data via blackbord. felix@2026: felix@2026: * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: felix@2026: Subclass BlackboardDataFacet. felix@2026: ingo@2025: 2011-12-20 Ingo Weinzierl ingo@2025: ingo@2025: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@2025: Create all formatted string labels for Ws and Qs in this class, because ingo@2025: this class is the only instance that knows that there are double values ingo@2025: to format. ingo@2025: felix@2024: 2011-12-20 Felix Wolfsteller felix@2024: felix@2024: Introduced new Facet that will deliver whatever getData returns via felix@2024: blackbord under key which is defined by convention. Attention, the felix@2024: data is not cached if handled this way. felix@2024: felix@2024: * src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java: felix@2024: New facet, will be useful for easing implementation of facets that felix@2024: can contribute to area-computations. felix@2024: felix@2023: 2011-12-20 Felix Wolfsteller felix@2023: felix@2023: * src/main/java/de/intevation/flys/exports/VisibleAttribute.java: felix@2023: Removed obsolete imports. felix@2023: felix@2022: 2011-12-20 Felix Wolfsteller felix@2022: felix@2022: Removed obsolete imports. felix@2022: felix@2022: * src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java, felix@2022: src/main/java/de/intevation/flys/artifacts/AreaArtifact.java, felix@2022: src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java, felix@2022: src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java, felix@2022: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@2022: Removed obsolete imports. felix@2022: felix@2021: 2011-12-20 Felix Wolfsteller felix@2021: felix@2021: With StableXYDifferenceRenderer, create legend items in rectangular felix@2021: form, to discern "line" from "area" in legend. felix@2021: felix@2021: * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java felix@2021: (legendLine, legendShape): Renamed. felix@2021: (getLegendItem): Create LegendItem with fill, use PositivePaint for felix@2021: that. felix@2021: felix@2020: 2011-12-20 Felix Wolfsteller felix@2020: felix@2020: Added further 'area' infrastructure. felix@2020: felix@2020: * src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java: felix@2020: New, "area dataset". felix@2020: felix@2020: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java felix@2020: (doOut): Use helper to decide if facet is an 'area' facet. felix@2020: (doArea): Construct StyledAreaSeriesCollection instead of two felix@2020: dataseries. felix@2020: felix@2020: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2020: (AxisDataset.isArea): Distinguish area datasets with instanceof. felix@2020: (AxisDataset.addArea): New. Replaces addAreaDataset. felix@2020: (addAreaSeries): Simplified with new custom SeriesCollection. felix@2020: (applyTheme): Register and style StableXYDifferenceRenderer for felix@2020: StyledAreaSeriesCollections. felix@2020: Added various TODOs and debug output to stabilize development. felix@2020: felix@2020: 2011-12-20 Felix Wolfsteller felix@2020: felix@2020: * doc/conf/artifacts/winfo.xml: Added facets to compatibility felix@2020: matrices. felix@2020: felix@2020: * doc/conf/themes.xml: Added Area theme defaults. felix@2020: felix@2018: 2011-12-20 Felix Wolfsteller felix@2018: felix@2018: Lay ground for having areas in longitudinal section diagrams, too. felix@2018: This is done by different naming of the facets. felix@2018: felix@2018: * src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java: felix@2018: Make the name dynamic. felix@2018: felix@2018: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@2018: Added further facet types, helper. felix@2018: felix@2018: * src/main/java/de/intevation/flys/artifacts/AreaArtifact.java: felix@2018: Store name for facets in data item, restrict access to some fields. felix@2018: felix@2018: * src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java: felix@2018: Use AreaArtifacts data item to use name for facets. felix@2018: felix@2017: 2011-12-20 Felix Wolfsteller felix@2017: felix@2017: Cosmetics. felix@2017: felix@2017: * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java, felix@2017: src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java, felix@2017: src/main/java/de/intevation/flys/exports/StyledXYSeries.java: felix@2017: Doc. felix@2017: felix@2017: * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java, felix@2017: src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java, felix@2017: src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: felix@2017: Whitespace. felix@2017: felix@2017: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Doc and felix@2017: whitespace. felix@2017: felix@2016: 2011-12-19 Felix Wolfsteller felix@2016: felix@2016: * src/main/java/de/intevation/flys/utils/ThemeUtil.java felix@2016: (parseBoolean): New, extracted, updated callers. felix@2016: (parseFillColorField, parseShowBorder): New, for area styles. felix@2016: ingo@2015: 2011-12-19 Ingo Weinzierl ingo@2015: ingo@2015: flys/issue202 (W-INFo: Wasserspiegellagenberechnung / Vorbelegung Strecke) ingo@2015: ingo@2015: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@2015: Added a system property which is used to determine, if the DESCRIBE ingo@2015: document of an Artifact should include default values (values, that have ingo@2015: been inserted by the user some time ago) or not. The default case is, ingo@2015: that the DESCRIBE does NOT include default values. To enable default ingo@2015: values, set "flys.use.default.values" to "true". ingo@2015: ingo@2014: 2011-12-19 Ingo Weinzierl ingo@2014: ingo@2014: flys/issue419 (Themen-Name "Q(null)" bei W bei ungl. A.) ingo@2014: ingo@2014: * src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java: ingo@2014: Use correct variable to create Facet names. ingo@2014: ingo@2013: 2011-12-19 Ingo Weinzierl ingo@2013: ingo@2013: flys/issue380 (W-INFO / Überschwemmungskarte, falsches DGM) ingo@2013: ingo@2013: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a ingo@2013: convinience method that returns a parameter of FLYSArtifact as Integer. ingo@2013: ingo@2013: * src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java: Override ingo@2013: validate() to determine, if the DGM selected by the user is valid for the ingo@2013: current calculation range and river. ingo@2013: felix@2012: 2011-12-19 Felix Wolfsteller felix@2012: felix@2012: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@2012: Roll-back accidentally committed changes. felix@2012: felix@2011: 2011-12-19 Felix Wolfsteller felix@2011: felix@2011: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java felix@2011: (doOut): Hide 'invisible' (deleted) themes from Outgenerators. felix@2011: felix@2010: 2011-12-19 Felix Wolfsteller felix@2010: felix@2010: Added area.name data item and access to areaartifact. felix@2010: felix@2010: * src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java: felix@2010: Rephrased debug output, do survive case where only one curve is felix@2010: given for area calculation (this is the "above" or "under" case). felix@2010: felix@2010: * src/main/java/de/intevation/flys/artifacts/AreaArtifact.java felix@2010: (getAreaName): Access "area.name" data item. felix@2010: felix@2010: * src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java: felix@2010: Respect area.name data of artifact when reproducing facets. felix@2010: felix@2009: 2011-12-16 Felix Wolfsteller felix@2009: felix@2009: * doc/conf/conf.xml: Fix, accidentally added wrong factory in last felix@2009: commit. felix@2009: felix@2009: 2011-12-16 Felix Wolfsteller felix@2009: felix@2009: * doc/conf/conf.xml: Register area artifact factory. felix@2009: felix@2007: 2011-12-16 Felix Wolfsteller felix@2007: felix@2007: * doc/conf/artifacts/winfo.xml: Added area artifacts to cross-section felix@2007: compatibility matrix. felix@2007: felix@2006: 2011-12-16 Felix Wolfsteller felix@2006: felix@2006: Add area dataseries when facet delivering one. felix@2006: felix@2006: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java felix@2006: (doOut): Handle area facets. felix@2006: (doArea): Register areas for area facets. felix@2006: felix@2005: 2011-12-16 Felix Wolfsteller felix@2005: felix@2005: Add simple area registerig functions. felix@2005: felix@2005: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@2005: (AxisDataset.addAreaDataset): New, add an area dataset. felix@2005: (AxisDataset.isArea): New. felix@2005: (addAreaSeries): New. Add Area Dataset. felix@2005: (applyThemes): Pass info if we have an area, to set different felix@2005: renderer. felix@2005: felix@2004: 2011-12-16 Felix Wolfsteller felix@2004: felix@2004: * src/main/java/de/intevation/flys/artifacts/states/StaticState.java: felix@2004: Added convenience function and easy sybclassing. felix@2004: felix@2003: 2011-12-16 Felix Wolfsteller felix@2003: felix@2003: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@2003: Register AREA ("area") facet type. felix@2003: felix@2002: 2011-12-16 Felix Wolfsteller felix@2002: felix@2002: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java, felix@2002: src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java: felix@2002: Register blackboard key uuid+index and respond with data to it, as felix@2002: assumed by the areaartifact and facet. felix@2002: felix@2001: 2011-12-16 Felix Wolfsteller felix@2001: felix@2001: Added partial area-infrastructure. felix@2001: felix@2001: * src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java, felix@2001: src/main/java/de/intevation/flys/artifacts/AreaArtifact.java, felix@2001: src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java: felix@2001: New artifact, facet and state for area rendering. felix@2001: ingo@2000: 2011-12-16 Ingo Weinzierl ingo@2000: ingo@2000: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Defined an ingo@2000: interface YAxisWalker that allows to walk over each Y axis definition in ingo@2000: subclasses. This walker can be retrieved using the new getYAxisWalker() ingo@2000: method. The AxisSections are built in this class now. ingo@2000: ingo@2000: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@2000: Implemented the YAxisWalker interface and the getYAxisWalker() method. ingo@2000: Removed the code to build AxisSections. ingo@2000: ingo@2000: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: ingo@2000: Implemented getYAxisLabel(int pos) and getYAxisWalker(). ingo@2000: ingo@2000: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java, ingo@2000: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@2000: Implemented the getYAxisWalker() method. ingo@2000: ingo@1999: 2011-12-16 Ingo Weinzierl ingo@1999: ingo@1999: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1999: Some optimizations during out() operation - the CollectionAttribute is ingo@1999: parsed a single time now (*i guess*). This code really needs some ingo@1999: refactoring! ingo@1999: ingo@1998: 2011-12-16 Ingo Weinzierl ingo@1998: ingo@1998: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1998: Added an INFO message that displays the duration time for the out() ingo@1998: operation. ingo@1998: ingo@1997: 2011-12-16 Ingo Weinzierl ingo@1997: ingo@1997: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@1997: Calls super.buildAxisSections(). ingo@1997: ingo@1997: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@1997: Implemented the method buildAxisSections(). The result list will contain ingo@1997: an AxisSection for the X axis. ingo@1997: ingo@1996: 2011-12-16 Ingo Weinzierl ingo@1996: ingo@1996: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: Bugfix: ingo@1996: Add new Outputs to the current CollectionAttribute if no old one is ingo@1996: existing. ingo@1996: sascha@1995: 2011-12-16 Sascha L. Teichmann sascha@1995: sascha@1995: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: sascha@1995: Directly fetch key/value pairs when writing a collection attribute. sascha@1995: ingo@1994: 2011-12-16 Ingo Weinzierl ingo@1994: ingo@1994: * src/main/java/de/intevation/flys/exports/ChartSettings.java: Added new ingo@1994: functions that allow parsing a ChartSettings object from DOM Node. ingo@1994: ingo@1994: * src/main/java/de/intevation/flys/collections/AttributeParser.java: Parse ingo@1994: the Settings of each Output. ingo@1994: ingo@1993: 2011-12-16 Ingo Weinzierl ingo@1993: ingo@1993: * src/main/java/de/intevation/flys/collections/CollectionAttribute.java: ingo@1993: Added a method to set a new Settings object for a specific Output and a ingo@1993: method to clear the list of Facets of a specific Output. ingo@1993: ingo@1993: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: The ingo@1993: AttributeWriter no longer creates new CollectionAttributes - it only ingo@1993: modifies the old CollectionAttribute. At first, it clears the Facets of ingo@1993: all Outputs. Finally, the merged Facets are added to the Outputs. ingo@1993: ingo@1993: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1993: Added the CollectionAttribute to the AttributeWriters constructor. ingo@1993: ingo@1992: 2011-12-16 Ingo Weinzierl ingo@1992: ingo@1992: * src/main/java/de/intevation/flys/exports/DoubleAttribute.java: New. An ingo@1992: Attribute that stores double values. ingo@1992: ingo@1992: * src/main/java/de/intevation/flys/exports/AxisSection.java: Added methods ingo@1992: to set values for 'fixation', 'font-size', 'lower' and 'upper'. ingo@1992: ingo@1992: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@1992: Set new attributes mentioned above for each axis' AxisSection. ingo@1992: ingo@1991: 2011-12-15 Ingo Weinzierl ingo@1991: ingo@1991: * src/main/java/de/intevation/flys/exports/AxisSection.java: Added methods ingo@1991: to set the axis label and id. ingo@1991: ingo@1991: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Improved ingo@1991: the ChartSettings that will now contain a set of AxisSections. The new ingo@1991: buildAxisSections() method in this class is not implemented and needs to ingo@1991: be implemented by subclasses. ingo@1991: ingo@1991: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@1991: Override buildAxisSections() of XYChartGenerator to create an AxisSection ingo@1991: for each axis that is able to be displayed in this sort of chart. In ingo@1991: addition, there is a new method getYAxisLabel(int) that returns the label ingo@1991: for a specific Y axis. ingo@1991: ingo@1990: 2011-12-15 Ingo Weinzierl ingo@1990: ingo@1990: * src/main/java/de/intevation/flys/exports/IntegerAttribute.java: New. ingo@1990: Concrete subclass of a DefaultAttribute for storing integer values. ingo@1990: ingo@1990: * src/main/java/de/intevation/flys/exports/LegendSection.java: New. A ingo@1990: concrete Section subclass to store legend specific attributes. ingo@1990: ingo@1990: * src/main/java/de/intevation/flys/exports/BooleanAttribute.java, ingo@1990: src/main/java/de/intevation/flys/exports/StringAttribute.java: Removed ingo@1990: needless import of org.w3c.dom.Attr. ingo@1990: ingo@1990: * src/main/java/de/intevation/flys/exports/ChartSettings.java: ChartSettings ingo@1990: is able to store a Section for legends now. ingo@1990: ingo@1990: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added ingo@1990: methods to retrieve the font size of legends and if the legend should be ingo@1990: visible or not. In addition, the ChartSettings returned by this instance ingo@1990: will now contain a LegendSection as well. ingo@1990: ingo@1989: 2011-12-15 Ingo Weinzierl ingo@1989: ingo@1989: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Introduced ingo@1989: methods getChartSubtitle() and isGridVisible(). getChartSubtitle() returns ingo@1989: in this implementation null. Concrete subclasses should override this ingo@1989: mehtod if they require subtitles in charts. isGridVisible() determines if ingo@1989: the grid in the chart should be visible or not. This method return always ingo@1989: true in this implementation. ingo@1989: In addition, the Settings object returned by getSettings() will now have a ingo@1989: ChartSection set properly. ingo@1989: ingo@1989: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, ingo@1989: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, ingo@1989: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@1989: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, ingo@1989: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: ingo@1989: Override getChartSubtitle(). ingo@1989: ingo@1988: 2011-12-15 Ingo Weinzierl ingo@1988: ingo@1988: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1988: Prepare the OutGenerator (process each of the Output's Facets) during the ingo@1988: describe() operation to be able to return an initial Settings object. ingo@1988: ingo@1987: 2011-12-15 Ingo Weinzierl ingo@1987: ingo@1987: * src/main/java/de/intevation/flys/exports/BooleanAttribute.java, ingo@1987: src/main/java/de/intevation/flys/exports/VisibleAttribute.java, ingo@1987: src/main/java/de/intevation/flys/exports/StringAttribute.java: Fixed wrong ingo@1987: usage of DOM operations. ingo@1987: ingo@1986: 2011-12-14 Ingo Weinzierl ingo@1986: ingo@1986: * src/main/java/de/intevation/flys/exports/BooleanAttribute.java, ingo@1986: src/main/java/de/intevation/flys/exports/VisibleAttribute.java, ingo@1986: src/main/java/de/intevation/flys/exports/StringAttribute.java: New. ingo@1986: Concrete subclasses of a DefaultAttribute. ingo@1986: ingo@1986: * src/main/java/de/intevation/flys/exports/ChartSettings.java, ingo@1986: src/main/java/de/intevation/flys/exports/AxisSection.java, ingo@1986: src/main/java/de/intevation/flys/exports/ChartSection.java: ingo@1986: Implementations for chart settings. WORK IN PROGRESS! ingo@1986: ingo@1986: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Override ingo@1986: the getSettings() method. The implementation here returns a ChartSettings ingo@1986: instance. ingo@1986: ingo@1986: * src/main/java/de/intevation/flys/exports/EmptySettings.java: Modified the ingo@1986: node name of the settings ("art:settings" -> "settings"). ingo@1986: felix@1985: 2011-12-14 Felix Wolfsteller felix@1985: felix@1985: * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java: felix@1985: Cosmetics, doc. felix@1985: felix@1984: 2011-12-14 Felix Wolfsteller felix@1984: felix@1984: Cosmetics. felix@1984: felix@1984: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: felix@1984: Remove needless imports. felix@1984: felix@1983: 2011-12-14 Felix Wolfsteller felix@1983: felix@1983: Fix/Guard certain misconditions. felix@1983: felix@1983: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Do felix@1983: not crash when given null-range. felix@1983: felix@1983: * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java: felix@1983: Do not crash when given malformed array. felix@1983: felix@1982: 2011-12-14 Felix Wolfsteller felix@1982: felix@1982: Cosmetics. felix@1982: felix@1982: * src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java, felix@1982: ChangeLog: Whitespace cosmetic. felix@1982: felix@1982: * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java: felix@1982: Annotation cosmetic. felix@1982: felix@1982: * src/main/java/de/intevation/flys/artifacts/ExternalWMSArtifact.java: felix@1982: Convenience cosmetic. felix@1982: felix@1982: * src/main/java/de/intevation/flys/utils/DataUtil.java: felix@1982: vim-magicosmetic. felix@1982: felix@1981: 2011-12-14 Felix Wolfsteller felix@1981: felix@1981: Implement new WaterLineArtifact where needed so far. felix@1981: felix@1981: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1981: Declare that we implement WaterLineArtifact. felix@1981: felix@1981: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: felix@1981: (getWaterLines): Implement to fulfil new WaterLineArtifact- felix@1981: interface-impl. Also generate new Facet. felix@1981: felix@1981: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java: felix@1981: Do not depend on WINFOArtifacts, but on WaterLineArtifacts instead. felix@1981: felix@1980: 2011-12-14 Felix Wolfsteller felix@1980: felix@1980: Added interface WaterLineArtifact to be implemented by artifacts felix@1980: that know how to create a water line "against" a cross section. felix@1980: felix@1980: * src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java: felix@1980: New, straight-forward interface. felix@1980: ingo@1979: 2011-12-14 Ingo Weinzierl ingo@1979: ingo@1979: * src/main/java/de/intevation/flys/exports/EmptySettings.java: An ingo@1979: implementation of the Settings interface defined in the artifact-database ingo@1979: module. This implementation accepts no Section objects at all and creates ingo@1979: an empty "settings" Node in its toXML() operation. ingo@1979: ingo@1979: * src/main/java/de/intevation/flys/exports/OutGenerator.java: Defined a new ingo@1979: method getSettings() that returns a Settings instance. ingo@1979: ingo@1979: * src/main/java/de/intevation/flys/exports/ChartGenerator.java, ingo@1979: src/main/java/de/intevation/flys/exports/ReportGenerator.java, ingo@1979: src/main/java/de/intevation/flys/exports/MapGenerator.java, ingo@1979: src/main/java/de/intevation/flys/exports/AbstractExporter.java, ingo@1979: src/main/java/de/intevation/flys/exports/ATExporter.java, ingo@1979: src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: ingo@1979: Implemented the getSettings() operation. All OutGenerators will currently ingo@1979: return an instance of EmptySettings. ingo@1979: ingo@1979: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1979: Before the DESCRIBE document is created, we gonna evaluate each Output ingo@1979: defined in the Collection's attribute document, if it has a Settings ingo@1979: object set. If this is not the case, the relevant OutGenerator is called ingo@1979: to retrieve a new instance of Settings. ingo@1979: ingo@1979: * src/main/java/de/intevation/flys/collections/CollectionAttribute.java: ingo@1979: Append the Settings of Outputs to the Output nodes in the XML ingo@1979: representation. ingo@1979: felix@1978: 2011-12-13 Felix Wolfsteller felix@1978: felix@1978: Recommend cross-sections. felix@1978: felix@1978: * doc/conf/meta-data.xml: When having a cross-section out, recommend felix@1978: respective artifacts. felix@1978: felix@1977: 2011-12-13 Felix Wolfsteller felix@1977: felix@1977: Register factory for CrossSectionArtifacts. felix@1977: felix@1977: * doc/conf/conf.xml: Register CrossSectionArtifact-Factory. felix@1977: ingo@1976: 2011-12-13 Ingo Weinzierl ingo@1976: ingo@1976: * src/main/java/de/intevation/flys/collections/CollectionAttribute.java: ingo@1976: New. This class will store the information provided in the Collection's ingo@1976: attribute (which is a DOM document). ingo@1976: ingo@1976: * src/main/java/de/intevation/flys/collections/CollectionDescriptionHelper.java: ingo@1976: Store an instance of CollectionAttribute and append its XML representation ingo@1976: to the DESCRIBE document. ingo@1976: ingo@1976: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: Removed ingo@1976: all DOM operations from this writer. Its new task is to create a new ingo@1976: CollectionAttribute object which represents a merged version of the old ingo@1976: CollectionAttribute and the information provided by the Collection's child ingo@1976: Artifacts. ingo@1976: ingo@1976: * src/main/java/de/intevation/flys/collections/AttributeParser.java: The ingo@1976: result of AttributeParser's parse() operation is a CollectionAttribute ingo@1976: object now. The methods getOuts() and getFacets() are as of now proxy ingo@1976: methods that call the relevant methods of CollectionAttribute. ingo@1976: ingo@1976: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1976: Some structural changes in the process to build the attribute Document of ingo@1976: the Collection's DESCRIBE. We will no longer work with Document during ingo@1976: this process but with instances of CollectionAttribute. ingo@1976: felix@1975: 2011-12-13 Felix Wolfsteller felix@1975: felix@1975: Server-side of newer Cross-Section diagram construction architecture. felix@1975: felix@1975: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java felix@1975: (searchCrossSectionKmLine, getCrossSectionSnapKm), felix@1975: (getCrossSectionData): Removed, most functionality contained in felix@1975: CrossSectionArtifact. felix@1975: (getWaterLines): Now get CrossSectionLines to calculate water line. felix@1975: felix@1975: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java: felix@1975: Get a CrossSectionLine from blackboard. felix@1975: felix@1975: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@1975: Hard TODO, commented out function needed for subtitle to allow felix@1975: compilation. felix@1975: felix@1975: * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java: felix@1975: Added Empty-Dataset- guard. felix@1975: felix@1974: 2011-12-13 Felix Wolfsteller felix@1974: felix@1974: Cosmetics. felix@1974: felix@1974: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1974: Cosmetics. felix@1974: ingo@1973: 2011-12-13 Ingo Weinzierl ingo@1973: ingo@1973: * src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java, ingo@1973: src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java: ingo@1973: Removed superfluous imports. ingo@1973: ingo@1972: 2011-12-13 Ingo Weinzierl ingo@1972: ingo@1972: * src/main/java/de/intevation/flys/collections/CollectionDescriptionHelper.java: ingo@1972: New. This class helps generating the DESCRIBE document of a collection. ingo@1972: ingo@1972: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1972: Moved some of the code to create the DESCRIBE document out to ingo@1972: CollectionDescriptionHelper. ingo@1972: felix@1971: 2011-12-12 Felix Wolfsteller felix@1971: felix@1971: Resolve todo about wrongly named cross sections. felix@1971: Open StaticState to allow that facets survive a compute. felix@1971: felix@1971: * src/main/java/de/intevation/flys/artifacts/states/StaticState.java felix@1971: (computeAdvance, computeFeed, computeInit): Override to call felix@1971: staticCompute. felix@1971: (staticCompute): New. Do nothing but be able to be overridden. felix@1971: felix@1971: * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java felix@1971: (setup): Fetch facets name from db (resolves todo). felix@1971: (getCurrentState): override staticstates staticcompute to let felix@1971: facets survive a compute. felix@1971: ingo@1970: 2011-12-12 Ingo Weinzierl ingo@1970: ingo@1970: * src/main/java/de/intevation/flys/wsplgen/JobExecutor.java, ingo@1970: src/main/java/de/intevation/flys/wsplgen/WSPLGENCallable.java: Renamed ingo@1970: JobExecutor to WSPLGENCallable (because it is a Callable now). In addition ingo@1970: to the call() method which starts the WSPLGEN process, this Callable ingo@1970: offers a cancelWSPLGEN() method to destroy a running WSPLGEN process. ingo@1970: ingo@1970: * src/main/java/de/intevation/flys/wsplgen/WSPLGENFuture.java: A FutureTask ingo@1970: that overrides cancel(boolean). Before this instance call ingo@1970: super.cancel(boolean), it executes WSPLGENCallable.cancelWSPLGEN() to kill ingo@1970: a running WSPLGEN process. ingo@1970: ingo@1970: * src/main/java/de/intevation/flys/wsplgen/Scheduler.java: The Scheduler is ingo@1970: no longer a Runnable. It makes now use of a ScheduledThreadPoolExecutor to ingo@1970: schedule the incoming WSPLGENJobs. The ScheduledThreadPoolExecutor has a ingo@1970: fixed number of worker threads that process the jobs. The number is 1 per ingo@1970: default; it can be modified using a System property "wsplgen.max.threads". ingo@1970: ingo@1970: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: Added ingo@1970: a string constant SCHEDULER. ingo@1970: ingo@1970: * src/main/java/de/intevation/flys/wsplgen/SchedulerSetup.java: A ingo@1970: LifetimeListener that currently implements the systemUp() method to create ingo@1970: an instance of Scheduler. After its creation, the Scheduler is put into ingo@1970: the GlobalContext using FLYSContext.SCHEDULER as key. ingo@1970: ingo@1970: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1970: Fetch the Scheduler from GlobalContext. ingo@1970: ingo@1970: * doc/conf/conf.xml: Registered SchedulerSetup as LifetimeListener. ingo@1970: felix@1969: 2011-12-09 Felix Wolfsteller felix@1969: felix@1969: * src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java: felix@1969: (describe): Add data items to StaticFLYSArtifacts describe-doc. felix@1969: felix@1968: 2011-12-09 Felix Wolfsteller felix@1968: felix@1968: * src/main/java/de/intevation/flys/artifacts/states/StaticState.java: felix@1968: (addDefaultChartOutput): Convenienve function to add a chart-output. felix@1968: felix@1968: 2011-12-09 Felix Wolfsteller felix@1968: felix@1968: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java: felix@1968: Play nice with CrossSectionArtifact. Employ blackboard. felix@1968: felix@1968: * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java: felix@1968: Spawn a CrossSectionFacet, handle various data. felix@1968: felix@1968: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: felix@1968: Do not produce CrossSectionFacets anymore, these now "belong" to felix@1968: CrossSectionArtifacts. felix@1968: felix@1966: 2011-12-09 Felix Wolfsteller felix@1966: felix@1966: * doc/conf/cache.xml: Added cross_sections cache. felix@1966: felix@1965: 2011-12-09 Felix Wolfsteller felix@1965: felix@1965: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java: felix@1965: (getCrossSection, getCrossSectionUncached): New, access specific felix@1965: CrossSection, employ caching. felix@1965: felix@1964: 2011-12-09 Felix Wolfsteller felix@1964: felix@1964: * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java: felix@1964: New artifact to handle cross-section access. felix@1964: raimund@1963: 2011-12-09 Raimund Renkert raimund@1963: raimund@1963: Issue 413. raimund@1963: raimund@1963: * src/main/java/de/intevation/flys/exports/StyledXYSeries.java: raimund@1963: Apply point size from theme attribute linewidth. raimund@1963: felix@1962: 2011-12-08 Felix Wolfsteller felix@1962: felix@1962: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java, felix@1962: src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java, felix@1962: src/main/java/de/intevation/flys/exports/OutGenerator.java, felix@1962: src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: felix@1962: Cosmetics. felix@1962: felix@1961: 2011-12-08 Felix Wolfsteller felix@1961: felix@1961: * src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java: felix@1961: Documentation added, let a value be its own neighbour (distance 0). felix@1961: felix@1961: 2011-12-08 Sascha L. Teichmann sascha@1960: sascha@1960: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: sascha@1960: Added "Bezugslinie" to list of calculation alternatives. sascha@1960: sascha@1960: * src/main/resources/messages.properties, sascha@1960: src/main/resources/messages_de_DE.properties, sascha@1960: src/main/resources/messages_de.properties: Added I18N. sascha@1960: felix@1959: 2011-12-06 Felix Wolfsteller felix@1959: felix@1959: Further flys/issue420 fix (No Discharge Curves for Mosel). felix@1959: felix@1959: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1959: (includeYRange, mergeRanges): Moved NaN-guard to lowest level. felix@1959: (combineXRanges): Also NaN guard the X Axis extent. felix@1959: felix@1958: 2011-12-06 Felix Wolfsteller felix@1958: felix@1958: Partial fix for flys/issue420 (Berechnete Abflusskurve: Kein Diagramm für felix@1958: Mosel). Protect axis extent calculation from empty or invalid felix@1958: datasets. felix@1958: felix@1958: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1958: (includeRange, includeYRange): Renamed, updated callers. felix@1958: (includeYRange): Protect from merging extent with NaNs. felix@1958: (debugDatasets): Be more verbose on the datasets. felix@1958: (zoom): Doc. felix@1958: felix@1957: 2011-12-06 Felix Wolfsteller felix@1957: felix@1957: Fix flys/issue423 (Diagramm: Hauptwerte bei Abflusskurve am Pegel felix@1957: werden an Y-Achse nicht angezeigt) - show not "raw" (vs interpolated) felix@1957: values at Gauge. felix@1957: felix@1957: * src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java, felix@1957: src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java: felix@1957: Add parameterization to let facet know whether to fetch data at felix@1957: Gauges or at Artifacts position. felix@1957: felix@1957: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1957: Let the MainValueFacets know whether to ask for interpolated felix@1957: MainValues; (do not interpolate for Gauges Main Values). felix@1957: (getMainValuesQ, getMainValuesW): Added parameter to control felix@1957: interpolation. felix@1957: ingo@1956: 2011-12-05 Ingo Weinzierl ingo@1956: ingo@1956: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Modified ingo@1956: prefix constants for Mapserver layers and renamed constants (which have ingo@1956: been postfixes before). ingo@1956: ingo@1956: * src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Adjusted ingo@1956: usage of Mapserver constants to the changes described above. ingo@1956: ingo@1955: 2011-12-05 Ingo Weinzierl ingo@1955: ingo@1955: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1955: Bugfix: Evaluate the correct parameter whether to set the floodplain or ingo@1955: not. In addition, the scenario parameter used by WSPLGEN is now set ingo@1955: correctly. ingo@1955: felix@1957: >>>>>>> .r3356 felix@1954: 2011-12-05 Felix Wolfsteller felix@1954: felix@1954: Allow longitudinal_section.q facets in wdiff states output. felix@1954: felix@1954: * doc/conf/artifacts/winfo.xml: Added longitudinal_section.q facets felix@1954: to w-diff states out compatibility- matrix. felix@1954: felix@1953: 2011-12-05 Felix Wolfsteller felix@1953: felix@1953: Refactored Longitudinal*/WDiff-*Generator hierarchy and change axis felix@1953: ordering, resolved label-i18n TODO. felix@1953: felix@1953: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, felix@1953: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1953: Merge, avoid duplicate code, fix axis ordering in w-diff diagram, felix@1953: label in ls-diagramm. felix@1953: ingo@1952: 2011-12-05 Ingo Weinzierl ingo@1952: ingo@1952: * src/main/resources/messages.properties, ingo@1952: src/main/resources/messages_de_DE.properties, ingo@1952: src/main/resources/messages_en.properties, ingo@1952: src/main/resources/messages_de.properties: Added missing state titles. ingo@1952: felix@1951: 2011-12-05 Felix Wolfsteller felix@1951: felix@1951: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: felix@1951: Do not include zero on first axis. felix@1951: felix@1950: 2011-12-02 Felix Wolfsteller felix@1950: felix@1950: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@1950: (buildArtifactNode): Include artifacts state data in description felix@1950: document of collection. felix@1950: sascha@1948: 2011-11-30 Sascha L. Teichmann sascha@1948: felix@1949: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, felix@1949: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, felix@1949: src/main/java/de/intevation/flys/exports/ChartGenerator.java, felix@1949: src/main/java/de/intevation/flys/exports/ReportGenerator.java, felix@1949: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, felix@1949: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, felix@1949: src/main/java/de/intevation/flys/exports/XYChartGenerator.java, felix@1949: src/main/java/de/intevation/flys/exports/AbstractExporter.java, felix@1949: src/main/java/de/intevation/flys/exports/ATExporter.java, felix@1949: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, felix@1949: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, felix@1949: src/main/java/de/intevation/flys/exports/OutGenerator.java, felix@1949: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java, felix@1949: src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java, felix@1949: src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: sascha@1948: Removed superfluous imports. sascha@1948: sascha@1947: 2011-11-30 Sascha L. Teichmann sascha@1947: sascha@1947: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: sascha@1947: Removed import to make it compileable again. sascha@1947: felix@1946: 2011-11-30 Felix Wolfsteller felix@1946: felix@1946: Introduce pre-rendering inter-facet communication phase ('blackboard felix@1946: pass'). felix@1946: felix@1946: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java felix@1946: (doBlackboardPass): New. Before actually calling doOut, bundle felix@1946: ArtifactAndFacets and let them register felix@1946: themselfes as DataProvider in CallContext if they felix@1946: want ("announce on blackboard"). felix@1946: felix@1945: 2011-11-30 Felix Wolfsteller felix@1945: felix@1945: * src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java felix@1945: (doOut): Adjusted signature. felix@1945: felix@1944: 2011-11-30 Felix Wolfsteller felix@1944: felix@1944: Changed doOut signature to use ArtifactAndFacet, which will be felix@1944: side effect of upcoming "blackboard" feature. felix@1944: felix@1944: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java felix@1944: (getRangesForDataset, getRangesForAxis): Renamed, removed TODO. felix@1944: felix@1944: * src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java felix@1944: (createAxis): Update call to XYChartGenerator.getRangesForAxis, felix@1944: cosmetics. felix@1944: felix@1944: * src/main/java/de/intevation/flys/exports/OutGenerator.java felix@1944: (doOut): Changed Signature to accet ArifactAndFacet instead of felix@1944: Artifact and Facet. felix@1944: felix@1944: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, felix@1944: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, felix@1944: src/main/java/de/intevation/flys/exports/ChartGenerator.java, felix@1944: src/main/java/de/intevation/flys/exports/ReportGenerator.java, felix@1944: src/main/java/de/intevation/flys/exports/MapGenerator.java, felix@1944: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, felix@1944: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, felix@1944: src/main/java/de/intevation/flys/exports/AbstractExporter.java, felix@1944: src/main/java/de/intevation/flys/exports/ATExporter.java, felix@1944: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, felix@1944: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, felix@1944: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java, felix@1944: src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java felix@1944: (doOut): Adjusted to new signature. felix@1944: felix@1944: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@1944: (adjustAxes): Removed, we do not need a (manual) second axis. felix@1944: felix@1943: 2011-11-28 Felix Wolfsteller felix@1943: felix@1943: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1943: Fix compilation, use features of XYChartGenerator. felix@1943: felix@1943: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1943: Set default behaviour such that 0 is not included in ranges. felix@1943: felix@1943: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: felix@1943: Set behaviour of axis such that 0 is not (automagically) included. felix@1943: felix@1942: 2011-11-28 Felix Wolfsteller felix@1942: felix@1942: * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java: felix@1942: Fix wrong documentation. felix@1942: felix@1941: 2011-11-28 Felix Wolfsteller felix@1941: felix@1941: Fix LongitudinalSections multi-axes plotting behavior. felix@1941: felix@1941: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1941: Removed obsolete functions, use better working multi-axis felix@1941: magic by XYChartGenerator. felix@1941: felix@1940: 2011-11-28 Felix Wolfsteller felix@1940: felix@1940: Overhaul dataset/axis/renderer housekeeping in Mother of all felix@1940: ChartGenerators. felix@1940: felix@1940: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1940: Refactored, keep axis/rendering relevant information in objects felix@1940: of new class AxisDataset. Removed some obsolete code while adding felix@1940: documentation. felix@1940: sascha@1939: 2011-11-25 Sascha L. Teichmann sascha@1939: sascha@1939: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(relateWs): sascha@1939: Added the implementation of the 'Bezugslinienverfahren'. Should sascha@1939: be complete but needs testing! sascha@1939: TODO: Setup a Calculation and integrate it into WINFO. sascha@1939: sascha@1938: 2011-11-25 Sascha L. Teichmann sascha@1938: sascha@1938: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@1938: Refactored the code for the "berechnete Abflusskurve" to enable sascha@1938: the "Bezugslinienverfahren" to use the same code paths. It also sascha@1938: removes a good deal of already existing code duplication. sascha@1938: sascha@1937: 2011-11-25 Sascha L. Teichmann sascha@1937: sascha@1937: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(findQsForW): sascha@1937: Added method findQsForW(w, km) to retrieve the Qs that correspond sascha@1937: for the given w and km. sascha@1937: sascha@1937: This is to be called when doing a "W auf freier Strecke" calculation sascha@1937: to find out the Qs belonging to the user given W. sascha@1937: sascha@1937: * src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java, sascha@1937: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, sascha@1937: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: sascha@1937: Removed superfluous imports. sascha@1937: felix@1936: 2011-11-25 Felix Wolfsteller felix@1936: felix@1936: Fix bug when adding Q data in LongitudinalSectionGenerator. felix@1936: felix@1936: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1936: Add data from Q -Facet as Q over Km points. felix@1936: felix@1935: 2011-11-25 Felix Wolfsteller felix@1935: felix@1935: Added handling of empty plots. felix@1935: felix@1935: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1935: (createAxes, removeEmptyRangeAxes): Survive empty datasets map, create sascha@1938: primary axis. felix@1935: (recoverEmptyPlot): New. felix@1935: felix@1934: 2011-11-25 Felix Wolfsteller felix@1934: felix@1934: Let first visible axis be always on the left. felix@1934: felix@1934: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1934: (createAxes): When creating axes, keep track of which is the first felix@1934: one. Set its location to "left". felix@1934: felix@1933: 2011-11-24 Felix Wolfsteller felix@1933: felix@1933: Use multiple axis in relevant generators. felix@1933: felix@1933: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, felix@1933: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, felix@1933: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, felix@1933: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, felix@1933: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1933: (createYAxis): Implemented. felix@1933: Define and use YAXIS enum for axes. felix@1933: felix@1932: 2011-11-24 Felix Wolfsteller felix@1932: felix@1932: Fix theming and legend items for plot with multiaxis feature. felix@1932: Decouple renderer index from dataset index. felix@1932: felix@1932: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1932: (applyThemes): Do not get renderer based on dataset/axis-index but felix@1932: count. felix@1932: felix@1931: 2011-11-24 Felix Wolfsteller felix@1931: felix@1931: In XYChartGenerators allow more than two datasets. felix@1931: Assign axis to indices of datasets, do not show axis if corresponding felix@1931: dataset is set to be not visible. felix@1931: Do proper axis-setting in LongitudinalSectionGenerator only (other felix@1931: will follow). Based on a patch by Sascha Teichmann. felix@1931: felix@1931: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1931: Keep relation between index and dataset, once its added. Compute felix@1931: ranges per index. Allow subclasses to override createAxes to specify felix@1931: internationalized labels etc. felix@1931: felix@1931: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, felix@1931: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, felix@1931: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, felix@1931: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, felix@1931: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java, felix@1931: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java: felix@1931: Add datasets to first index. felix@1931: felix@1931: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1931: Implement createYAxis to create correct first, second and third felix@1931: axis. Added enum to easy identification of axis. Stripped down felix@1931: adjustAxis which was used to create second axis. felix@1931: Add datasets at correct indices. felix@1931: felix@1930: 2011-11-23 Felix Wolfsteller felix@1930: felix@1930: * src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java, felix@1930: src/main/java/de/intevation/flys/artifacts/datacage/templating/FunctionResolver.java, felix@1930: src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1930: Cosmetics, docs. felix@1930: felix@1929: 2011-11-23 Felix Wolfsteller felix@1929: felix@1929: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: felix@1929: Cosmetics, docs. felix@1929: felix@1928: 2011-11-23 Felix Wolfsteller felix@1928: felix@1928: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableCacheKey.java: felix@1928: Cosmetics, docs. felix@1928: felix@1927: 2011-11-23 Felix Wolfsteller felix@1927: felix@1927: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java: felix@1927: Resolved TODO about caching certain WstValueTables. felix@1927: ingo@1926: 2011-11-22 Ingo Weinzierl ingo@1926: ingo@1926: * src/main/java/de/intevation/flys/artifacts/ExternalWMSArtifact.java: New. ingo@1926: This Artifact is used to allow users adding external WMS layers to their ingo@1926: floodmaps. An ExternalWMSArtifact stores an URL of a WMS, the name and the ingo@1926: title of the WMS layer. The internal State extends WMSBackgroundState. ingo@1926: ingo@1926: * doc/conf/conf.xml: Registered the ExternalWMSArtifact. ingo@1926: ingo@1926: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added a ingo@1926: new type "floodmap.externalwms" which is used by the ExternalWMSArtifact. ingo@1926: ingo@1926: * doc/conf/artifacts/winfo.xml: Allowed the "floodmap.externalwms" facet for ingo@1926: floodmaps. ingo@1926: ingo@1926: * src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java: ingo@1926: Some refactoring to allow easier subclassing. ingo@1926: felix@1925: 2011-11-22 Felix Wolfsteller felix@1925: felix@1925: Fixed flys/411. felix@1925: felix@1925: * src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: felix@1925: Use different queries to avoid costy joins. felix@1925: felix@1924: 2011-11-22 Felix Wolfsteller felix@1924: felix@1924: * src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: felix@1924: Use different queries to avoid costy joins. Patch by Sascha felix@1924: Teichmann, minor typo-fix. felix@1924: felix@1923: 2011-11-17 Felix Wolfsteller felix@1923: felix@1923: * doc/conf/artifacts/winfo.xml: Added other.wkms.interpol facet felix@1923: to compatibility matrix for computed discharge curves. felix@1923: felix@1922: 2011-11-17 Felix Wolfsteller felix@1922: felix@1922: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1922: Resolve cosmetic todo, use importData-convenience method. felix@1922: felix@1921: 2011-11-17 Felix Wolfsteller felix@1921: felix@1921: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1921: Handle STATIC_WKMS_INTERPOL and WQ/Points as Annotations. felix@1921: felix@1920: 2011-11-17 Felix Wolfsteller felix@1920: felix@1920: * src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java: felix@1920: Give Facet different name when its a flood*, so that it can be felix@1920: understood to be e.g. a flood-protection further down the processing felix@1920: line. felix@1920: felix@1919: 2011-11-17 Felix Wolfsteller felix@1919: felix@1919: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: felix@1919: Prevent ArrayIndexOutOfBounds, log method entry. felix@1919: felix@1918: 2011-11-17 Felix Wolfsteller felix@1918: felix@1918: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@1918: Added new Facet Type: Interpolated W/Km values. felix@1918: ingo@1917: 2011-11-16 Ingo Weinzierl ingo@1917: ingo@1917: * src/main/java/de/intevation/flys/wsplgen/FacetCreator.java, ingo@1917: src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java, ingo@1917: src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Avoid ingo@1917: WMS layer names that begin with digits. This would lead to invalid ingo@1917: WMSGetFeatureInfo responses, where the name of a layer is the name of a ingo@1917: XML node. ingo@1917: felix@1916: 2011-11-16 Felix Wolfsteller felix@1916: felix@1916: * doc/conf/meta-data.xml: Added and use *_wq macros for interpolated felix@1916: w/q data (currently used in computed discharge curve only). felix@1916: felix@1915: 2011-11-16 Felix Wolfsteller felix@1915: felix@1915: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1915: Handle STATIC_WQ_ANNOTATION type facets, build and add annotations felix@1915: for these. felix@1915: felix@1914: 2011-11-16 Felix Wolfsteller felix@1914: felix@1914: * src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java: felix@1914: Set Facet type (name) based on static datas name (special case felix@1914: everything starting with "height"). felix@1914: felix@1913: 2011-11-16 Felix Wolfsteller felix@1913: felix@1913: * doc/conf/artifacts/winfo.xml: Extended compatibility matrices. felix@1913: felix@1912: 2011-11-16 Felix Wolfsteller felix@1912: felix@1912: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@1912: Added new STATIC_WQ_ANNOTATIONS Facet Type. felix@1912: ingo@1911: 2011-11-16 Ingo Weinzierl ingo@1911: ingo@1911: * src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: ingo@1911: Added a method isQueryable() that determines if a layer is queryable via ingo@1911: WMS GetFeatureInfo request. This method returns false as default. ingo@1911: ingo@1911: * src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java: ingo@1911: Override isQueryable(). All WMSDBLayerFacets are queryable via WMS ingo@1911: GetFeatureInfo request. ingo@1911: felix@1910: 2011-11-16 Felix Wolfsteller felix@1910: felix@1910: * src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java: felix@1910: Added functionality to artifact to use single column wst felix@1910: interpolators. felix@1910: felix@1909: 2011-11-16 Felix Wolfsteller felix@1909: felix@1909: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java: felix@1909: Added methods to create WstValueTables (interpolators) for specific felix@1909: columns of wsts. felix@1909: felix@1908: 2011-11-16 Felix Wolfsteller felix@1908: felix@1908: * doc/conf/themes.xml: Added Point Style for other.wq data. felix@1908: sascha@1907: 2011-11-16 Sascha L. Teichmann sascha@1907: sascha@1907: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@1907: Do not re-evaluate constant size() in for-loops. sascha@1907: felix@1906: 2011-11-16 Felix Wolfsteller felix@1906: felix@1906: * src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java: felix@1906: Get ld_locations not locations data item to determine km. felix@1906: (getDataAsDouble): New helper function to get data item as double. felix@1906: felix@1905: 2011-11-16 Felix Wolfsteller felix@1905: felix@1905: * doc/conf/meta-data.xml: Recommend fixations for computed discharge felix@1905: curve outs, minor refactoring of dc conf. felix@1905: felix@1904: 2011-11-16 Felix Wolfsteller felix@1904: felix@1904: * doc/conf/conf.xml: Added wqinterpol factory to produce felix@1904: WQKmsInterpolArtifacts. felix@1904: felix@1903: 2011-11-16 Felix Wolfsteller felix@1903: felix@1903: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1903: Use StyledSeriesBuilder to add WQ data from WQKms to Series. felix@1903: felix@1901: 2011-11-16 Felix Wolfsteller felix@1901: felix@1901: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1901: Handle interpolated WQ data. felix@1901: felix@1900: 2011-11-16 Felix Wolfsteller felix@1900: felix@1900: * src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java: felix@1900: Adjusted to similar implementations. Added TODO about merging with felix@1900: these similar implementations. felix@1900: felix@1899: 2011-11-16 Felix Wolfsteller felix@1899: felix@1899: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: felix@1899: Removed logging noise, find better suited rows for interpolation. felix@1899: felix@1898: 2011-11-16 Felix Wolfsteller felix@1898: felix@1898: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java: felix@1898: Cache WstValueTables that were fetched by wst_id. felix@1898: felix@1897: 2011-11-16 Felix Wolfsteller felix@1897: felix@1897: * src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java: felix@1897: (getWstName): Fix and use SQL statement. felix@1897: felix@1896: 2011-11-15 Felix Wolfsteller felix@1896: felix@1896: * src/main/java/de/intevation/flys/artifacts/model/WQFacet.java, felix@1896: src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java: felix@1896: Added new Facet and Artifact to access W over Q data. felix@1896: felix@1895: 2011-11-15 Felix Wolfsteller felix@1895: felix@1895: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: felix@1895: (importData): New function to copy data from one artifact to felix@1895: another. felix@1895: felix@1894: 2011-11-15 Felix Wolfsteller felix@1894: felix@1894: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java felix@1894: (getTable): New methods to get WstValueTable for given wst_id. felix@1894: Prepolate Arrays with NaNs. felix@1894: felix@1893: 2011-11-15 Felix Wolfsteller felix@1893: felix@1893: * src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java: felix@1893: (getWKmsName): Fix definition. felix@1893: felix@1892: 2011-11-15 Felix Wolfsteller felix@1892: felix@1892: * src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java: felix@1892: (getWKmsName): New function. Get name (description) of a WST. felix@1892: felix@1892: 2011-11-15 Felix Wolfsteller felix@1892: felix@1891: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@1891: Added new "other.wq"/STATIC_WQ Facet-Type, e.g. for fixations in felix@1891: discharge curves. felix@1891: felix@1890: 2011-11-15 Felix Wolfsteller felix@1890: felix@1890: Picky cosmetics. felix@1890: felix@1890: * src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java, felix@1890: src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java, felix@1890: src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java, felix@1890: src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java: felix@1890: Cosmetics, docs. felix@1890: felix@1889: 2011-11-15 Felix Wolfsteller felix@1889: felix@1889: Added translations for Mosel, Elbe and Saar. felix@1889: felix@1889: * src/main/resources/messages.properties, felix@1889: src/main/resources/messages_de_DE.properties, felix@1889: src/main/resources/messages_en.properties, felix@1889: src/main/resources/messages_de.properties: Added translations felix@1889: for Mosel, Elbe, Saar. felix@1889: felix@1888: 2011-11-15 Felix Wolfsteller felix@1888: felix@1888: Added new interpolation mechanism to WstValueTable to interpolate felix@1888: given columns only. felix@1888: felix@1888: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java felix@1888: (linearW): New, interpolate a given columns w's between given rows. felix@1888: (interpolateWQColumnwise): New, interpolate between rows ws at a felix@1888: given column and km. felix@1888: felix@1887: 2011-11-14 Felix Wolfsteller felix@1887: felix@1887: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: felix@1887: Minor doc added. felix@1887: sascha@1886: 2011-11-13 Sascha L. Teichmann sascha@1886: sascha@1886: * src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java, sascha@1886: src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java, sascha@1886: src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java, sascha@1886: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, sascha@1886: src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java, sascha@1886: src/main/java/de/intevation/flys/themes/ThemeFactory.java: sascha@1886: Removed dead ';' from empty bodies. sascha@1886: sascha@1885: 2011-11-13 Sascha L. Teichmann sascha@1885: sascha@1885: * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: sascha@1885: s/reset/resetQuick/s in TDoubleArrayLists. sascha@1885: sascha@1884: 2011-11-13 Sascha L. Teichmann sascha@1884: sascha@1884: * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: sascha@1884: Added system properties 'waterlevel' and 'km'. Useful to sascha@1884: init the UI with a given waterlevel and drawing the cross-sections sascha@1884: at the given km. sascha@1884: sascha@1884: * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: sascha@1884: Spliting by NaNs definition holes _should_ work now. Needs sascha@1884: some more testing. sascha@1884: TODOs: sascha@1884: - Use log4j instead of println for logging. sascha@1884: - Subclass XYDifferenceRenderer instead of replacing it totally. sascha@1884: sascha@1883: 2011-11-12 Sascha L. Teichmann sascha@1883: sascha@1883: * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: sascha@1883: Draw water, too. sascha@1883: sascha@1883: * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: sascha@1883: First code to split datasets by NaNs. WIP. sascha@1883: sascha@1882: 2011-11-12 Sascha L. Teichmann sascha@1881: sascha@1881: * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: sascha@1881: Draw ground with StableXYDifferenceRenderer. sascha@1881: sascha@1881: * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: sascha@1881: Removed XYDatasetToZeroMapper stuff. Not needed any longer sascha@1881: because we use rendereres on dataset basis now. sascha@1881: sascha@1881: * src/main/java/de/intevation/flys/jfree/XYDatasetToZeroMapper.java: sascha@1881: Removed.Not longer needed. sascha@1881: felix@1880: 2011-11-11 Felix Wolfsteller felix@1880: felix@1880: * doc/conf/meta-data.xml: Include computed discharge curves in dc felix@1880: conf. felix@1880: felix@1879: 2011-11-11 Felix Wolfsteller felix@1879: felix@1879: * doc/conf/meta-data.xml: Somewhat unify user-part of dc config. felix@1879: ingo@1878: 2011-11-11 Ingo Weinzierl ingo@1878: ingo@1878: * doc/conf/themes.xml: Modified some floodmap styles and added a ingo@1878: backgroundcolor attribute to polygon themes. ingo@1878: ingo@1878: * src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java: ingo@1878: Added support for backgroundcolor. ingo@1878: ingo@1878: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: Parse ingo@1878: backgroundcolor from theme document. If a value is given, the ingo@1878: backgroundcolor is set on the Mapserver style. ingo@1878: ingo@1877: 2011-11-11 Ingo Weinzierl ingo@1877: ingo@1877: * src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java: ingo@1877: Set correct Mapserver attribute name to adjust the width of a line. ingo@1877: ingo@1876: 2011-11-11 Ingo Weinzierl ingo@1876: ingo@1876: * doc/conf/themes.xml: Added 'textcolor' and 'textsize' attributes to the ingo@1876: existing 'Kms' theme. ingo@1876: ingo@1876: * doc/conf/mapserver/fontset.txt: Defined a 'DefaultFont' that is used as ingo@1876: default font for Mapserver labels. ingo@1876: ingo@1876: * doc/conf/mapserver/db_layer.vm: Add a Mapserver LABELITEM if a value is ingo@1876: provided by LayerInfo object. ingo@1876: ingo@1876: * src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: Added a ingo@1876: getLabelItem() method that returns null as default. ingo@1876: ingo@1876: * src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: Override ingo@1876: getLabelItem() to return "km" which is the database field that contains ingo@1876: the kilometer information. ingo@1876: ingo@1876: * src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java, ingo@1876: src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java: ingo@1876: Added an attribute labelItem with appropriate getter/setter methods. ingo@1876: ingo@1876: * src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java: ingo@1876: Splitted up the internal class Clazz. Now, there are two new inner ingo@1876: classes Style and Label that fulfill the appropriate Mapfile sections of ingo@1876: Mapserver. ingo@1876: ingo@1876: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: Also Read font ingo@1876: attributes and add new Clazz Label for the Mapserver layer. ingo@1876: ingo@1876: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Set the ingo@1876: "labelItem" attribute on the LayerInfo object used to fill DB layer ingo@1876: templates. ingo@1876: felix@1875: 2011-11-11 Felix Wolfsteller felix@1875: felix@1875: * doc/conf/meta-data.xml: Re-use macros to include more data to felix@1875: datacage in more situations. felix@1875: ingo@1874: 2011-11-11 Ingo Weinzierl ingo@1874: ingo@1874: * src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: ingo@1874: Removed needless imports. ingo@1874: ingo@1873: 2011-11-10 Ingo Weinzierl ingo@1873: ingo@1873: * src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java: New ingo@1873: WMSDBArtifact that creates facets for "fixpoints" relation. ingo@1873: ingo@1873: * doc/conf/artifacts/winfo.xml: Registered "floodmap.fixpoints" as valid ingo@1873: "floodmap" facet. ingo@1873: ingo@1873: * doc/conf/conf.xml: Registered the new WMSFixpointsArtifact. ingo@1873: ingo@1873: * doc/conf/themes.xml: Added a theme for "floodmap.fixpoints". ingo@1873: ingo@1873: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added ingo@1873: Facet type "floodmap.fixpoints". ingo@1873: ingo@1873: * doc/conf/meta-data.xml: Made "floodmap.fixpoints" available via datacage. ingo@1873: ingo@1873: * src/main/resources/messages.properties, ingo@1873: src/main/resources/messages_de_DE.properties, ingo@1873: src/main/resources/messages_en.properties, ingo@1873: src/main/resources/messages_de.properties: Added titles for ingo@1873: "floodmap.fixpoints" facets. ingo@1873: felix@1872: 2011-11-10 Felix Wolfsteller felix@1872: felix@1872: * doc/conf/meta-data.xml: Refactored and (re)use macros. felix@1872: ingo@1871: 2011-11-10 Ingo Weinzierl ingo@1871: ingo@1871: * src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java: New ingo@1871: WMSDBArtifact that creates facets for "buildings" relation. ingo@1871: ingo@1871: * doc/conf/artifacts/winfo.xml: Registered "floodmap.buildings" as valid ingo@1871: "floodmap" facet. ingo@1871: ingo@1871: * doc/conf/conf.xml: Registered the new WMSBuildingsArtifact. ingo@1871: ingo@1871: * doc/conf/themes.xml: Added a theme for "floodmap.buildings". ingo@1871: ingo@1871: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added ingo@1871: Facet type "floodmap.buildings". ingo@1871: ingo@1871: * doc/conf/meta-data.xml: Made "floodmap.buildings" available via datacage. ingo@1871: ingo@1871: * src/main/resources/messages.properties, ingo@1871: src/main/resources/messages_de_DE.properties, ingo@1871: src/main/resources/messages_en.properties, ingo@1871: src/main/resources/messages_de.properties: Added titles for ingo@1871: "floodmap.buildings" facets. ingo@1871: ingo@1870: 2011-11-10 Ingo Weinzierl ingo@1870: ingo@1870: * src/main/java/de/intevation/flys/artifacts/WMSLineArtifact.java: New ingo@1870: WMSDBArtifact that creates facets for "lines" relation. ingo@1870: ingo@1870: * doc/conf/artifacts/winfo.xml: Registered "floodmap.lines" as valid ingo@1870: "floodmap" facet. ingo@1870: ingo@1870: * doc/conf/conf.xml: Registered the new WMSLineArtifact. ingo@1870: ingo@1870: * doc/conf/themes.xml: Added a theme for "floodmap.lines". ingo@1870: ingo@1870: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added ingo@1870: Facet type "floodmap.lines". ingo@1870: ingo@1870: * doc/conf/meta-data.xml: Made "floodmap.lines" available via datacage. ingo@1870: ingo@1870: * src/main/resources/messages.properties, ingo@1870: src/main/resources/messages_de_DE.properties, ingo@1870: src/main/resources/messages_en.properties, ingo@1870: src/main/resources/messages_de.properties: Added titles for facets. ingo@1870: felix@1869: 2011-11-10 Felix Wolfsteller felix@1869: felix@1869: * doc/conf/meta-data.xml: Adjusted DC configuration to felix@1869: also allow heightmarks and base data in discharge longitudinal felix@1869: sections. Minor refac. felix@1869: felix@1868: 2011-11-10 Felix Wolfsteller felix@1868: felix@1868: * doc/conf/meta-data.xml: Adjusted DC configuration to let old felix@1868: calculations be available for discharge longitudinal sections. felix@1868: felix@1867: 2011-11-10 Felix Wolfsteller felix@1867: felix@1867: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java: felix@1867: Handle other WQKm and WKm Facets. felix@1867: felix@1866: 2011-11-10 Felix Wolfsteller felix@1866: felix@1866: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java felix@1866: (IS): New inner class with static method to allow queries whether felix@1866: a type belongs to a however-defined "group". felix@1866: felix@1866: 2011-11-10 Felix Wolfsteller felix@1866: felix@1866: * doc/conf/conf.xml: Reverted accidental commit. felix@1866: felix@1866: * doc/conf/meta-data.xml: Extracted annotations-macro, add recommendation felix@1866: for discharge longitudinal sections. felix@1866: felix@1865: 2011-11-10 Felix Wolfsteller felix@1865: felix@1865: * doc/conf/conf.xml: Reverted accidental commit. felix@1865: felix@1865: * doc/conf/meta-data.xml: Extracted annotations-macro, add recommendation felix@1865: for discharge longitudinal sections. felix@1865: felix@1864: 2011-11-10 Felix Wolfsteller felix@1864: felix@1864: Made discharge longitudinal section out compatible with annotations. felix@1864: felix@1864: * doc/conf/artifacts/winfo.xml: Added facets to compatibility list felix@1864: for discharge longitudinal section outs. felix@1864: felix@1863: 2011-11-10 Felix Wolfsteller felix@1863: felix@1863: Extracted Annotations-Macro in dc conf, recommend Annotations for felix@1865: discharge longitudinal sections. (Note correction two commits later). felix@1863: felix@1863: * doc/conf/conf.xml: Extracted annotations-macro, add recommendation felix@1863: for discharge longitudinal sections. felix@1863: felix@1862: 2011-11-10 Felix Wolfsteller felix@1862: felix@1862: Handle Annotations in DischargeLongitudinalSection diagrams. felix@1862: felix@1862: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java: felix@1862: Call doAnnotations for LONGITUDINAL_ANNOTATION facets. felix@1862: felix@1861: 2011-11-10 Felix Wolfsteller felix@1861: felix@1861: Resolve code duplicate. felix@1861: felix@1861: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java felix@1861: (doAnnotationsOut): Removed duplicate code. felix@1861: Theoretically handle WQKMS data. felix@1861: felix@1861: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1861: Adjusted call to doAnnotationOut. felix@1861: felix@1861: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java felix@1861: (doAnnotations): Doc from LongitudinalSectionGenerator. felix@1861: felix@1860: 2011-11-10 Felix Wolfsteller felix@1860: felix@1860: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: felix@1860: Include exception when logging issue with spline creation. felix@1860: felix@1859: 2011-11-10 Felix Wolfsteller felix@1859: felix@1859: * src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java: felix@1859: When during XPath evaluation an exception is thrown, log the felix@1859: expression that caused the trouble. felix@1859: sascha@1858: 2011-11-10 Sascha L. Teichmann sascha@1858: sascha@1858: * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: sascha@1858: Use separate XYDataset for each curve. This is needed because sascha@1858: "Raum/Flaeche" needs specialized renderers, which are not compatible sascha@1858: with the standard renderers. sascha@1858: sascha@1858: * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: sascha@1858: Removed superfluous import. sascha@1858: ingo@1857: 2011-11-09 Ingo Weinzierl ingo@1857: ingo@1857: * src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java: New ingo@1857: Artifact that is used to create WMS layers for floodplains in maps. ingo@1857: ingo@1857: * doc/conf/conf.xml: Registered the new WMSFloodplainArtifact. ingo@1857: ingo@1857: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added ingo@1857: a new type 'floodmap.floodplain'. ingo@1857: ingo@1857: * doc/conf/artifacts/winfo.xml: Registered the 'floodmap.floodplain' facet ingo@1857: for floodmaps. ingo@1857: ingo@1857: * doc/conf/themes.xml: Added a theme for 'floodmap.floodplain' facets. ingo@1857: ingo@1857: * doc/conf/meta-data.xml: Added configuration for 'floodplain'. ingo@1857: ingo@1857: * src/main/resources/messages.properties, ingo@1857: src/main/resources/messages_de_DE.properties, ingo@1857: src/main/resources/messages_en.properties, ingo@1857: src/main/resources/messages_de.properties: Added facet titles for ingo@1857: 'floodmap.floodplain' facets. ingo@1857: ingo@1856: 2011-11-09 Ingo Weinzierl ingo@1856: ingo@1856: * src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java: New ingo@1856: Artifact that is used to create WMS layers for catchments in maps. ingo@1856: ingo@1856: * doc/conf/conf.xml: Registered the new WMSCatchmentArtifact. ingo@1856: ingo@1856: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added ingo@1856: a new type 'floodmap.catchment'. ingo@1856: ingo@1856: * doc/conf/artifacts/winfo.xml: Registered the 'floodmap.catchment' facet ingo@1856: for floodmaps. ingo@1856: ingo@1856: * doc/conf/themes.xml: Added a theme for 'floodmap.catchment' facets. ingo@1856: ingo@1856: * doc/conf/meta-data.xml: Added configuration for 'catchments'. ingo@1856: ingo@1856: * src/main/resources/messages.properties, ingo@1856: src/main/resources/messages_de_DE.properties, ingo@1856: src/main/resources/messages_en.properties, ingo@1856: src/main/resources/messages_de.properties: Added facet titles for ingo@1856: 'floodmap.catchment' facets. ingo@1856: ingo@1855: 2011-11-09 Ingo Weinzierl ingo@1855: ingo@1855: * src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java: New ingo@1855: Artifact that is used to create WMS layers for flood protected works. ingo@1855: ingo@1855: * doc/conf/conf.xml: Registered the new WMSHwsArtifact. ingo@1855: ingo@1855: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added ingo@1855: a new type 'floodmap.hws'. ingo@1855: ingo@1855: * doc/conf/artifacts/winfo.xml: Registered the 'floodmap.hws' facet for ingo@1855: floodmaps. ingo@1855: ingo@1855: * doc/conf/themes.xml: Added a theme for 'floodmap.hws' facets. ingo@1855: ingo@1855: * doc/conf/meta-data.xml: Added configuration for 'hws'. ingo@1855: ingo@1855: * src/main/resources/messages.properties, ingo@1855: src/main/resources/messages_de_DE.properties, ingo@1855: src/main/resources/messages_en.properties, ingo@1855: src/main/resources/messages_de.properties: Added facet titles for ingo@1855: 'floodmap.hws' facets. ingo@1855: ingo@1854: 2011-11-09 Ingo Weinzierl ingo@1854: ingo@1854: * doc/conf/mapserver/dbconnection.include: Removed. DB connections are ingo@1854: supported by LayerInfo objects now. So, we do not need to configure it any ingo@1854: more. ingo@1854: ingo@1854: * doc/conf/mapserver/db_layer.vm: The database connection is provided by ingo@1854: LayerInfo objects. The "INCLUDE dbconnection.include" has been replaced. ingo@1854: ingo@1854: * src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: The inner ingo@1854: State class got two new methods that provide information about db ingo@1854: connection string and connection type. ingo@1854: ingo@1854: * src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java, ingo@1854: src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Both ingo@1854: classes support getter/setter for connection and connectionType. ingo@1854: ingo@1854: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Fill ingo@1854: LayerInfo objects used to create DB layers with the connection and ingo@1854: connection type provided by WMSDBLayerFacet. ingo@1854: felix@1853: 2011-11-09 Felix Wolfsteller felix@1853: felix@1853: Allow height marks with points style in w-differences diagrams. felix@1853: felix@1853: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1853: Handle HEIGHTMARKS_POINTS facets. felix@1853: felix@1852: 2011-11-09 Felix Wolfsteller felix@1852: felix@1852: Made Q Duration curve initially inactive. felix@1852: felix@1852: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java felix@1852: (getInitialFacetActivity): Return 0 for DURATION_Q facets. Minor felix@1852: cosmetics. felix@1852: felix@1851: 2011-11-09 Felix Wolfsteller felix@1851: felix@1851: Recommend mainvalues for Duration Curve Diagrams. felix@1851: felix@1851: * doc/conf/meta-data.xml: Recommend mainvalues for duration curve felix@1851: diagrams. refactored into macro. felix@1851: felix@1850: 2011-11-09 Felix Wolfsteller felix@1850: felix@1850: Handle MainValue Facets in Duration Curve Diagrams. felix@1850: felix@1850: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: felix@1850: Handle MainValues. felix@1850: felix@1850: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1850: Adjusted to call doAnnotations. felix@1850: felix@1849: 2011-11-09 Felix Wolfsteller felix@1849: felix@1849: Move do*Annotation* (like mainvalue) in XYChartGenerator. felix@1849: felix@1849: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java felix@1849: (doAnnotations): New, moved from DischargeCurveGenerator. felix@1849: felix@1849: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java felix@1849: (doMainValueAnnotations): Moved to superclass. felix@1849: felix@1848: 2011-11-09 Felix Wolfsteller felix@1848: felix@1848: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: felix@1848: Removed duplicate code. felix@1848: felix@1847: 2011-11-09 Felix Wolfsteller felix@1847: felix@1847: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java felix@1847: (): Minor cosmetics, added stability. felix@1847: (getInitialFacetActivity): Let facets be inactive in duration curve felix@1847: diagrams. felix@1847: felix@1846: 2011-11-09 Felix Wolfsteller felix@1846: felix@1846: * doc/conf/artifacts/winfo.xml: Allow other.wqkms facets in many felix@1846: outputs, mainvalues in duration curves. felix@1846: ingo@1845: 2011-11-09 Ingo Weinzierl ingo@1845: ingo@1845: * doc/conf/mapserver/dbconnection.include: Adapted connection params for ingo@1845: using an oracle database. ingo@1845: ingo@1845: * src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java, ingo@1845: src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java, ingo@1845: src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: ingo@1845: Added Oracle support for Mapserver's DATA attribute. Oracle doesn't allow ingo@1845: a "USING UNIQUE id" string in this attribute which is required by Postgis. ingo@1845: ingo@1845: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1845: Modified the geometry type of "talaue.shp" from MultiPolygon to Polygon. ingo@1845: ingo@1845: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function ingo@1845: which returns true, if the backend uses an Oracle db instance. Otherwise, ingo@1845: it returns false. ingo@1845: felix@1844: 2011-11-08 Felix Wolfsteller felix@1844: felix@1844: Fix flys/issue406 (Themestyle-editor: themes for "other.wkms" and felix@1844: "other.wqkms" missing) felix@1844: felix@1844: * doc/conf/themes.xml: Fixed typos in WKms and WQKms theme names. felix@1844: felix@1843: 2011-11-08 Felix Wolfsteller felix@1843: felix@1843: Fix flys/issue405 (Datacage: Recommendations get loaded twice). felix@1843: felix@1843: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java felix@1843: (setup): Do not try/catch exception. felix@1843: (spawn_state): Generate just one "general" output. felix@1843: ingo@1842: 2011-11-08 Ingo Weinzierl ingo@1842: ingo@1842: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: ingo@1842: Added a log.warn() which prints out an exception - previously it was ingo@1842: just skipped. ingo@1842: ingo@1841: 2011-11-08 Ingo Weinzierl ingo@1841: ingo@1841: * doc/conf/meta-data.xml: Removed orphaned datacage configuration which is ingo@1841: no longer loadable. ingo@1841: ingo@1840: 2011-11-07 Ingo Weinzierl ingo@1840: ingo@1840: * doc/conf/conf.xml: Added an "post-describe" hook which is necessary to ingo@1840: load recommendations for "floodmaps". ingo@1840: felix@1839: 2011-11-07 Felix Wolfsteller felix@1839: felix@1839: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java felix@1839: (loadRows, loadColumns, loadQRanges): Refactored in preparation to felix@1839: ability to create WstValueTables for given wst_id and felix@1839: column_pos (interpolation for static data). felix@1839: felix@1838: 2011-11-07 Felix Wolfsteller felix@1838: felix@1838: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, felix@1838: src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java: felix@1838: Minor, picky cosmetics. felix@1838: felix@1838: * src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java: felix@1838: Removed junk. felix@1838: felix@1838: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: felix@1838: Added documentation. felix@1838: felix@1837: 2011-11-07 Felix Wolfsteller felix@1837: felix@1837: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@1837: Be more specific in what to catch. felix@1837: ingo@1836: 2011-11-04 Ingo Weinzierl ingo@1836: ingo@1836: * doc/conf/meta-data.xml: Added the CrossSectionTracks to the "floodmap" ingo@1836: datacage configuration. ingo@1836: ingo@1836: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added a ingo@1836: FacetType "floodmap.qps". ingo@1836: ingo@1836: * doc/conf/conf.xml: Defined an ArtifactFactory for the "wmspqsartifact" ingo@1836: string. The factory will create new instances of WMSQPSArtifact. ingo@1836: ingo@1836: * src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java: New. This ingo@1836: Artifact is used to create "floodmap.qps" facets. It has an internal fixed ingo@1836: State WMSQPSState. ingo@1836: ingo@1836: * doc/conf/artifacts/winfo.xml: Added the "floodmap.qps" layer to the ingo@1836: "floodmap" output. ingo@1836: ingo@1836: * doc/conf/themes.xml: Added a theme for "floodmap.qps" facets. ingo@1836: ingo@1836: * src/main/resources/messages.properties, ingo@1836: src/main/resources/messages_de_DE.properties, ingo@1836: src/main/resources/messages_en.properties, ingo@1836: src/main/resources/messages_de.properties: Added strings for the QPS WMS ingo@1836: layer used in floodmaps. ingo@1836: felix@1835: 2011-11-04 Felix Wolfsteller felix@1835: felix@1835: Re-enable mainvalue-recommendations for computed discharge curves, felix@1835: as the NPE should be gone. felix@1835: felix@1835: * doc/conf/meta-data.xml: Uncomment mainvalue recommendations. felix@1835: felix@1835: 2011-11-04 Felix Wolfsteller felix@1835: felix@1835: When querying metadata/datacage, use only output-names of outputs that felix@1835: actually exists (in the sense of having facets). felix@1835: felix@1835: * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: felix@1835: Get output names from artifact, not from state. felix@1835: ingo@1833: 2011-11-04 Ingo Weinzierl ingo@1833: ingo@1833: * doc/conf/meta-data.xml: Removed DEMs from floodmap configuration, ingo@1833: because we are not able to draw DEMs into maps. ingo@1833: ingo@1832: 2011-11-04 Ingo Weinzierl ingo@1832: ingo@1832: * src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: ingo@1832: Subclasses WMSDBArtifact now and defines an inner class RiverAxisState ingo@1832: which subclasses WMSDBState. ingo@1832: ingo@1832: * src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: ingo@1832: Removed. The RiverAxisState is an inner class of RiverAxisArtifact now ingo@1832: which subclasses WMSDBState. ingo@1832: ingo@1832: * doc/conf/artifacts/riveraxis.xml: Removed, because the RiverAxisArtifact ingo@1832: has a fixed static State only. ingo@1832: ingo@1832: * doc/conf/conf.xml: Removed riveraxis.xml definition. ingo@1832: felix@1831: 2011-11-04 Felix Wolfsteller felix@1831: felix@1831: For a Flys-Collection, add outputt to attributes-part of describe felix@1831: document only if they contain facets. -> Prevent empty output nodes felix@1831: in flys-collections outputs. felix@1831: felix@1831: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: felix@1831: (writeFacets): Added return type to indicate whether any facet was felix@1831: written. Decide whether to add an output-node depending on this felix@1831: return value. felix@1831: ingo@1830: 2011-11-04 Ingo Weinzierl ingo@1830: ingo@1830: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Create ingo@1830: line and polygon layers for barriers only if they are really existing. ingo@1830: felix@1829: 2011-11-04 Felix Wolfsteller felix@1829: felix@1829: Disable mainvalue-recommendations for discharge curves as they trigger felix@1829: a yet-to-be understood NPE. felix@1829: felix@1829: * doc/conf/meta-data.xml: Comment mainvalue-recommendations for felix@1829: discharge curves. felix@1829: felix@1828: 2011-11-04 Felix Wolfsteller felix@1828: felix@1828: Added new matching condition for theme-mappings: the name of felix@1828: the output. felix@1828: felix@1828: * src/main/java/de/intevation/flys/themes/ThemeMapping.java: felix@1828: Added output field and function to match it against a given felix@1828: output name. felix@1828: felix@1828: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: felix@1828: Createing ThemeMapping with output attribute from configuration. felix@1828: felix@1828: * src/main/java/de/intevation/flys/themes/ThemeFactory.java: felix@1828: (getTheme(FLYSContext, string)): Removed, never called. felix@1828: (getTheme): Added outputName argument, match it. felix@1828: felix@1828: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@1828: Pass outputs name until it can be matched against mapping. felix@1828: felix@1827: 2011-11-04 Felix Wolfsteller felix@1827: felix@1827: * doc/conf/themes.xml: Added default themes for other.w(q)kms. felix@1827: felix@1826: 2011-11-04 Felix Wolfsteller felix@1826: felix@1826: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, felix@1826: src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: felix@1826: Cosmetics, reduce logging noise. felix@1826: felix@1825: 2011-11-03 Felix Wolfsteller felix@1825: felix@1825: Added access to static W_Q_Kms - data in much the same way then static felix@1825: WKms. felix@1825: felix@1825: * src/main/java/de/intevation/flys/artifacts/model/StaticWQKmsCacheKey.java: felix@1825: Cache Key for static wqkms data. felix@1825: felix@1825: * src/main/java/de/intevation/flys/artifacts/model/WQKmsFacet.java: felix@1825: Facet for WQKms. felix@1825: felix@1825: * src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java: felix@1825: Factory to access WQKms. felix@1825: felix@1825: * src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java: felix@1825: Artifact that provides 'static' WQKms. felix@1825: felix@1825: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@1825: Added STATIC_WQKMS type. felix@1825: sascha@1824: 2011-11-03 Sascha L. Teichmann sascha@1824: sascha@1824: * src/main/java/de/intevation/flys/jfree/XYDatasetToZeroMapper.java: sascha@1824: New. Maps series to zero to be compatible with XYDifferenceRenderer. sascha@1824: It returns an iterator over XYDatasets to enable splitting by NaNs, sascha@1824: which still needs to be implemented. sascha@1824: sascha@1824: * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: sascha@1824: Uses a XYDatasetToZeroMapper now. Fixed package name. sascha@1824: felix@1822: 2011-11-03 Felix Wolfsteller felix@1822: felix@1822: Added new matching options for theme-mappings to allow more felix@1822: overspecification of defaults (e.g. now name,description-pattern and felix@1822: master-artifacts attributes are matched). The first full match from felix@1822: the configuration file is done. felix@1822: New matching option in the masterAttr- field of a mapping are felix@1822: super-basic until new use-cases come up. felix@1822: Concrete new themes are point-styles of Ws when locations where chosen felix@1822: to calculate. felix@1822: felix@1822: * doc/conf/themes.xml: Added newly defined Themes. felix@1822: felix@1822: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@1822: Put master-artifact in flys-context. felix@1822: felix@1822: * src/main/java/de/intevation/flys/themes/ThemeMapping.java: felix@1822: Accept masterAttr in constructor. felix@1822: (masterAttrMatches): New, check masterAttr-condition against felix@1822: artifact. felix@1822: felix@1822: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: felix@1822: When creating ThemeMappings, pass in masterAttr. felix@1822: felix@1822: * src/main/java/de/intevation/flys/themes/ThemeFactory.java: felix@1822: (getTheme): Evaluate masterAttr-condition, always return first full felix@1822: match. felix@1822: felix@1821: 2011-11-03 Felix Wolfsteller felix@1821: felix@1821: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: felix@1821: Added ARTIFACT key, documentation. felix@1821: sascha@1820: 2011-11-03 Sascha L. Teichmann sascha@1820: sascha@1823: * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: sascha@1823: New. At the moment a pure copy of JFreeChart's XYDifferenceRenderer. sascha@1823: Needs to be refactored to cope with its limitations: sascha@1823: sascha@1823: - Series numbers need to be zero based. We have more than two series sascha@1823: in our diagrams. sascha@1823: sascha@1823: - Cannot handle definition holes indicated by NaNs. We have these sascha@1823: cases e.g. more than one "Fliessbereich". sascha@1823: sascha@1823: 2011-11-03 Sascha L. Teichmann sascha@1823: sascha@1820: * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: sascha@1820: Reenabled dumping data to disk. sascha@1820: sascha@1820: 2011-11-03 Sascha L. Teichmann sascha@1820: sascha@1820: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: sascha@1820: Removed superfluous import. sascha@1820: sascha@1818: 2011-11-03 Sascha L. Teichmann sascha@1818: sascha@1818: * src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java: sascha@1818: Use new pair in stack of results and connections because they are sascha@1818: always used in pairs. Maintaining two separate stacks is not sascha@1818: needed any longer. sascha@1818: sascha@1817: 2011-11-03 Sascha L. Teichmann sascha@1817: sascha@1817: * src/main/java/de/intevation/flys/utils/Pair.java: New. A generic pair. sascha@1817: sascha@1817: * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: sascha@1817: Rewritten to useful as test bed for "Raum/Flaeche" operations. sascha@1817: ingo@1816: 2011-11-02 Ingo Weinzierl ingo@1816: ingo@1816: * src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Added ingo@1816: setter methods for all parameters and removed the constructors. There is ingo@1816: just an empty constructor - all parameters need to be set via setter ingo@1816: methods. ingo@1816: ingo@1816: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Modified the ingo@1816: creation of LayerInfo objects. ingo@1816: ingo@1816: * src/main/java/de/intevation/flys/artifacts/model/DBLayerInfo.java: ingo@1816: Removed, because the internal structure and constructors of LayerInfo have ingo@1816: changed, so that we gonna use LayerInfo for all layers now. ingo@1816: ingo@1816: * doc/conf/themes.xml: Modified the color definitions of ingo@1816: 'floodmap.riveraxis' and 'floodmap.kms' themes and added a 'symbol' field ingo@1816: to 'floodmap.kms'. ingo@1816: ingo@1816: * doc/conf/mapserver/symbols.sym, ingo@1816: doc/conf/mapserver/fontset.txt: New. Required by Mapserver. ingo@1816: ingo@1816: * doc/conf/mapserver/db_layer.vm: Added an 'EXTENT' field that is filled ingo@1816: using LayerInfo.getExtent(). ingo@1816: ingo@1816: * doc/conf/mapserver/mapfile.vm: Modified FONTSET directory and added a ingo@1816: SYMBOLSET. ingo@1816: ingo@1816: * src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: Added an ingo@1816: abstract method getGeometryType(). ingo@1816: ingo@1816: * src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: Override ingo@1816: getGeometryType() of WMSDBArtifact. This Artifact provides "POINT"s. ingo@1816: ingo@1816: * src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: ingo@1816: Create new WMSDBLayerFacets with geometry type "LINE". ingo@1816: ingo@1816: * src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java: ingo@1816: Added a 'geometryType' attribute and getter/setter methods. This attribute ingo@1816: determines the type of geometry provided by this database wms layer. Types ingo@1816: could be "POLYGON", "POINT", "LINE" and so on. ingo@1816: ingo@1816: * src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java: ingo@1816: Added a 'symbol' attribute to the inner class Clazz. ingo@1816: ingo@1816: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added a function to ingo@1816: parse the symbol field of a theme. This symbol is used for ingo@1816: MapserverStyle.Clazz. ingo@1816: felix@1815: 2011-11-02 Felix Wolfsteller felix@1815: felix@1815: Apply point theme to heightmarks when imported in longitudinal felix@1815: section diagram. felix@1815: felix@1815: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@1815: Added new FacetType HEIGHTMARK_POINTS. felix@1815: felix@1815: * src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java: felix@1815: Allow name to be given in constructor. felix@1815: felix@1815: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: felix@1815: If heightmarks were loaded, give respective name in WKmsFacet felix@1815: generation. felix@1815: felix@1815: * doc/conf/themes.xml: Added virtual "Points" and concrete felix@1815: heightmark_points - theme. felix@1815: felix@1815: * doc/conf/artifacts/winfo.xml: Made longitudinal_section output felix@1815: compatible with heightmarks_points. felix@1815: felix@1815: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1815: Render heightmarks like other wkms. felix@1815: felix@1815: * doc/conf/meta-data.xml: Changed heightmark ids such that it can be felix@1815: identified in StaticWKmsFacet . felix@1815: felix@1814: 2011-11-02 Felix Wolfsteller felix@1814: felix@1814: * src/main/java/de/intevation/flys/exports/StyledXYSeries.java: felix@1814: Documentation added. felix@1814: felix@1813: 2011-11-02 Felix Wolfsteller felix@1813: felix@1813: * src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java: felix@1813: Fix bug where (wrong) active-attribute was set, doc. felix@1813: felix@1812: 2011-11-02 Felix Wolfsteller felix@1812: felix@1812: Refactoring to allow mainvalues in both discharge and computed felix@1812: discharge curve diagrams. felix@1812: felix@1812: * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java felix@1812: (addPointsQW): New helper function. felix@1812: felix@1812: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, felix@1812: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1812: Moved doMainValueQAnnotations, doMainValueWAnnotations from child- felix@1812: to parent-class, extracetd doDischargeOut. Use felix@1812: StyledSeriesBuilder.addPointsQW . felix@1812: felix@1811: 2011-11-02 Felix Wolfsteller felix@1811: felix@1811: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1811: Removed logger/debugging noise. felix@1811: felix@1810: 2011-11-02 Felix Wolfsteller felix@1810: felix@1810: 1) Pass outputs name to artifacts getInitialFacetActivity(). felix@1810: 2) Do not allow "gaps" in positions of facets in outputs in attributes felix@1810: of collection (prevent e.g. positions 1,3,5; will become 1,2,3 felix@1810: instead). felix@1810: felix@1810: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: felix@1810: Pass outputname to artifacts getInitialFacetActivity(), prevent felix@1810: gaps in facets positions in outputs (1,3,10 become 1,2,3). felix@1810: felix@1808: 2011-11-02 Felix Wolfsteller felix@1808: felix@1809: 1) Give Artifacts information about the out when they have to decide felix@1809: whether a given facet is initially in/active by adding parameter felix@1809: to getInitialFacetActivity(+outputName). felix@1809: 2) Generate separate Set of MainValueFacets for discharge curves. felix@1809: felix@1809: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, felix@1809: src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, felix@1809: src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java, felix@1809: src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java, felix@1809: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: felix@1809: (getInitialFacetActivity): Adjusted, new parameter outputName. felix@1808: Added MAINVALUES_{Q,W} definition. felix@1808: felix@1809: * src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java, felix@1809: src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java: felix@1809: Accept name in constructor. felix@1809: felix@1809: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1809: Create second pair of MainValuesFacets, give distinguishable names. felix@1809: felix@1807: 2011-11-02 Felix Wolfsteller felix@1807: felix@1807: Added compatibility of (computed)discharge-curve diagrams with felix@1807: mainvalues. felix@1807: felix@1807: * doc/conf/artifacts/winfo.xml: Added mainvalues to compatibility list felix@1807: of (computed) discharge curve outputs. These facet-definitionss can felix@1807: differ in names because we can can have up to 4 mainvalue facets in felix@1807: one state. felix@1807: ingo@1806: 2011-11-01 Ingo Weinzierl ingo@1806: ingo@1806: * src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: Determine ingo@1806: the extent of such WMS layer based on the list of RiverAxisKm objects ingo@1806: returned by the backend. ingo@1806: ingo@1805: 2011-11-01 Ingo Weinzierl ingo@1805: ingo@1805: * doc/conf/meta-data.xml: Added a datacage node that represents a ingo@1805: kilometer WMS layer. ingo@1805: ingo@1805: * doc/conf/conf.xml: Added a new Artifact WMSKmArtifact. ingo@1805: ingo@1805: * doc/conf/themes.xml: Added a style for 'floodmap.kms' facets. ingo@1805: ingo@1805: * doc/conf/artifacts/winfo.xml: Defined 'floodmap.kms' as valid floodmap ingo@1805: facet. ingo@1805: ingo@1805: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added ingo@1805: a 'floodmap.kms' facet. ingo@1805: ingo@1805: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method to ingo@1805: determine the srid of a river based on its name. ingo@1805: ingo@1805: * src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: New. This ingo@1805: Artifact should act as base Artifact for WMS layers that represent data ingo@1805: from database datastore. ingo@1805: ingo@1805: * src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java: New. This ingo@1805: Artifact is used to generate facets for kilometer WMS layers. ingo@1805: ingo@1805: * src/main/resources/messages.properties, ingo@1805: src/main/resources/messages_de_DE.properties, ingo@1805: src/main/resources/messages_en.properties, ingo@1805: src/main/resources/messages_de.properties: Added default descriptions ingo@1805: for 'floodmap.kms' facets. ingo@1805: felix@1804: 2011-11-01 Felix Wolfsteller felix@1804: felix@1804: Fix incompilability. felix@1804: felix@1804: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java: felix@1804: Adjust to changed CrossSectionFacet. felix@1804: felix@1803: 2011-11-01 Felix Wolfsteller felix@1803: felix@1803: Minor preparations to handle multiple cross sections in one felix@1803: diagram/artifact, faking certain aspects (e.g. ability to display felix@1803: multiple cross sections, but let these fetch the exactly same data felix@1803: for now). felix@1803: felix@1803: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1803: Parameterize but fake access to cross-section (always take first felix@1803: one). felix@1803: (getCrossSectionName,getCrossSectionNames): Renamed, access names felix@1803: of all cross-sections, so that at least facets with different names felix@1803: are created (they will still deliver the same data). felix@1803: felix@1803: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java: felix@1803: Allow indexing. felix@1803: felix@1803: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: felix@1803: Index created cross-sections. felix@1803: felix@1802: 2011-11-01 Felix Wolfsteller felix@1802: felix@1802: Show multiple water lines and facets in cross-section diagram if felix@1802: multiple waterlevel values had been entered. felix@1802: felix@1802: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java felix@1802: (appendBackgroundActivity): Made static. felix@1802: (getWaterLines): Add 'idx' argument to specify index of queried felix@1802: waterlevel. felix@1802: felix@1802: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java: felix@1802: Add index. felix@1802: felix@1802: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: felix@1802: Add one Facet for each of the computed waterlevels. felix@1802: sascha@1801: 2011-10-31 Sascha L. Teichmann sascha@1801: sascha@1801: * src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java: sascha@1801: Added code to calculate intersection points. sascha@1801: sascha@1801: * src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java: sascha@1801: Added polygons for trivial cases. WIP sascha@1801: sascha@1800: 2011-10-31 Sascha L. Teichmann sascha@1800: sascha@1800: * src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java: sascha@1800: Made it compilable again. sascha@1800: sascha@1799: 2011-10-31 Sascha L. Teichmann sascha@1799: sascha@1799: * src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java: sascha@1799: Made X() and Y() access macros public. sascha@1799: sascha@1799: * src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java: sascha@1799: More code. WIP. sascha@1799: sascha@1798: 2011-10-31 Sascha L. Teichmann sascha@1798: sascha@1798: * src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java: sascha@1798: Handle start points when building polygons. Work in progress. sascha@1798: sascha@1797: 2011-10-31 Sascha L. Teichmann sascha@1797: sascha@1797: * src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java: sascha@1797: New. Vector operations on Point2D. sascha@1797: sascha@1797: * src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java: sascha@1797: Moved vector operations to VectorUtils. sascha@1797: sascha@1796: 2011-10-31 Sascha L. Teichmann sascha@1796: sascha@1796: * src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java: sascha@1796: Do not call size() in for loop again and again. sascha@1796: sascha@1795: 2011-10-30 Sascha L. Teichmann sascha@1795: sascha@1795: * src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java: sascha@1795: Interim check in. Work in progress. sascha@1795: sascha@1794: 2011-10-28 Sascha L. Teichmann sascha@1794: sascha@1794: * src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java: New. sascha@1794: Polygon class to help creating "Raum/Flaeche" renderers with gaps in sascha@1794: their definitions. WORK IN PROGRESS! sascha@1794: ingo@1793: 2011-10-28 Ingo Weinzierl ingo@1793: ingo@1793: * doc/conf/themes.xml: Added a default theme for the riveraxis used in the ingo@1793: floodmap. ingo@1793: ingo@1793: * src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java: ingo@1793: New. This class is used by ThemeUtil to create a style which is ingo@1793: compatible for Mapserver- ingo@1793: ingo@1793: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added a method to ingo@1793: retrieve a Mapserver compatible style (as string) based on a given ingo@1793: Document (that comes from CollectionItem's attribute). ingo@1793: ingo@1793: * src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: ingo@1793: Implemented the setStyle() and getStyle() methods. ingo@1793: ingo@1793: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Added a ingo@1793: new parameter 'style' to createDatabaseLayer(). This parameter is set on ingo@1793: LayerInfo. ingo@1793: ingo@1793: * src/main/java/de/intevation/flys/exports/MapGenerator.java: Create ingo@1793: Mapserver compatible styles and call createDatabaseLayer() with this ingo@1793: style. ingo@1793: ingo@1792: 2011-10-28 Ingo Weinzierl ingo@1792: ingo@1792: * doc/conf/artifacts/winfo.xml: Defined "floodmap.riveraxis" and ingo@1792: "floodmap.wmsbackground" as compatible layers for the floodmap output. ingo@1792: ingo@1792: * doc/conf/mapserver/db_layer.vm: New. This layer template is used for ingo@1792: Mapserver layers with database datastore. ingo@1792: ingo@1792: * doc/conf/mapserver/dbconnection.include: New. The database configuration ingo@1792: used in the db_layer template. ingo@1792: ingo@1792: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method ingo@1792: getUserWMSUrl() that returns the URL to the user specific WMS server. ingo@1792: This method requires a UUID of an Artifact to identify the owner of the ingo@1792: Artifact. ingo@1792: ingo@1792: * src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Use ingo@1792: FLYSUtils.getUserWMSUrl() to create the URL to the user WMS for ingo@1792: WMSLayerFacets creation. ingo@1792: ingo@1792: * src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java: ingo@1792: New. Subclasses WMSLayerFacet to save data and filter parameters used ingo@1792: for database storage in Mapfiles. ingo@1792: ingo@1792: * src/main/java/de/intevation/flys/artifacts/model/DBLayerInfo.java: New. ingo@1792: Subclasses LayerInfo to save database relevant parameters. ingo@1792: ingo@1792: * src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: ingo@1792: Creates new WMSDBLayerFacets, so that the riveraxis layer data is ingo@1792: fetched from database. ingo@1792: ingo@1792: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Added a ingo@1792: public method that allows creating layers (type LINE) based on ingo@1792: WMSDBLayerFacets. ingo@1792: ingo@1792: * src/main/java/de/intevation/flys/exports/MapGenerator.java: Enabled ingo@1792: support for Facets other than "floodmap.wsplgen" and "floodmap.barriers". ingo@1792: Those other Facets are supposed to be WMSDBLayerFacets. ingo@1792: felix@1791: 2011-10-28 Felix Wolfsteller felix@1791: felix@1791: Refactored, added StyledSeriesBuilder to unify adding points to felix@1791: XYSeries. felix@1791: felix@1791: * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java: felix@1791: New class to help with adding points to XYSeries. felix@1791: felix@1791: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, felix@1791: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, felix@1791: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1791: Use StyledSeriesBuilder to add points to series. felix@1791: felix@1790: 2011-10-28 Felix Wolfsteller felix@1790: felix@1790: Added DC-conf, such that static data can be loaded from w-difference felix@1790: diagrams datacage. felix@1790: felix@1790: * doc/conf/meta-data.xml: Minor "refactoring" (definition of two felix@1790: macros, allow certain static data to be loaded via datacage to felix@1790: w-difference diagrams, too. felix@1790: felix@1789: 2011-10-28 Felix Wolfsteller felix@1789: felix@1789: Load and display annotations in w-differences, minor polishing. felix@1789: felix@1789: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java, felix@1789: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1789: Use FacetType 'instead' of string. Allow Annotations in felix@1789: WDifferences- diagram. felix@1789: felix@1789: * doc/conf/meta-data.xml: Recommend annotations in w-differences case. felix@1789: felix@1788: 2011-10-28 Felix Wolfsteller felix@1788: felix@1788: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: felix@1788: Survive case where a given output doesnt exist in compatibility felix@1788: matrix. felix@1788: felix@1787: 2011-10-28 Felix Wolfsteller felix@1787: felix@1787: * src/main/java/de/intevation/flys/artifacts/states/StaticState.java: felix@1787: Added simpler constructor. felix@1787: felix@1787: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, felix@1787: src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1787: Adjusted construction of StaticStates. felix@1787: felix@1786: 2011-10-28 Felix Wolfsteller felix@1786: felix@1786: * doc/conf/artifacts/winfo.xml: Allow Annotations in longitudinal and felix@1786: w-differences diagrams. felix@1786: felix@1785: 2011-10-28 Felix Wolfsteller felix@1785: felix@1785: Use artifacts configuration (e.g. winfo.xml) to define which facets felix@1785: can be used in which output. Hide no-matches. felix@1785: felix@1785: * src/main/java/de/intevation/flys/collections/AttributeWriter.java, felix@1785: src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@1785: Added use of "compatibility matrix". Only include facets in in felix@1785: collections description document that are marked compatible in the felix@1785: masterartifacts configuration (e.g. winfo.xml). felix@1785: felix@1784: 2011-10-28 Felix Wolfsteller felix@1784: felix@1784: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java felix@1784: (mergeAttributes, getMasterArtifact): Extraced, updated caller. felix@1784: Cosmetics to reduce indentation one step. felix@1784: felix@1783: 2011-10-28 Felix Wolfsteller felix@1783: felix@1783: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java felix@1783: (getStateHistoryIds): New, return list of current and all previous felix@1783: state ids. felix@1783: ingo@1782: 2011-10-28 Ingo Weinzierl ingo@1782: ingo@1782: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1782: Trigger the re-creation of FLYS mapfile if endOfLife() of this state is ingo@1782: called. ingo@1782: ingo@1781: 2011-10-28 Ingo Weinzierl ingo@1781: ingo@1781: * doc/conf/mapserver/mapfile.vm: The "layers" injected by VelocityEngine is ingo@1781: now used to include layers. A single string in this list represents the ingo@1781: path to a file which contains a LAYER section for Mapserver' Mapfile. ingo@1781: ingo@1781: * src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Removed the ingo@1781: update() call of MapfileGenerator. Mapfiles are generated by MapGenerator ingo@1781: only which requires a FLYSArtifactCollection.doOut()! ingo@1781: ingo@1781: * src/main/java/de/intevation/flys/exports/MapGenerator.java: Call update() ingo@1781: of MapfileGenerator to trigger the re-creation of mapfile(s). ingo@1781: ingo@1781: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Collect all ingo@1781: LAYER snippets from filesystem and inject the filepath for each snippet ingo@1781: into the Mapfile template. ingo@1781: felix@1780: 2011-10-28 Felix Wolfsteller felix@1780: felix@1780: * src/main/java/de/intevation/flys/collections/AttributeWriter.java, felix@1780: src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java, felix@1780: src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@1780: Cosmetics, doc. felix@1780: felix@1779: 2011-10-28 Felix Wolfsteller felix@1779: felix@1779: Let OutputParser and AttributeParser collect all facets on the way. felix@1779: felix@1779: * src/main/java/de/intevation/flys/collections/OutputParser.java, felix@1779: src/main/java/de/intevation/flys/collections/AttributeParser.java: felix@1779: Collect all facets while iterating over Outputs and Attributes, felix@1779: documentation added. felix@1779: felix@1777: 2011-10-28 Felix Wolfsteller felix@1777: felix@1777: Extracted getFlysContext from FLYSArtifacts into FLYSUtils. felix@1777: felix@1777: * src/main/java/de/intevation/flys/utils/FLYSUtils.java felix@1777: (getFlysContext): Added, extracted from FLYSArtifact. felix@1777: felix@1777: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: felix@1777: (getFlysContext): Moved to FLYSUtils, updated callers. felix@1777: felix@1777: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java, felix@1777: src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1777: Update callers to getFlysContext. felix@1777: ingo@1775: 2011-10-28 Ingo Weinzierl ingo@1775: felix@1778: * src/main/java/de/intevation/flys/exports/MapGenerator.java: Bugfix: felix@1778: Catch IOException - flys-artifacts compiles again. felix@1778: felix@1778: 2011-10-28 Ingo Weinzierl felix@1778: ingo@1775: * doc/conf/artifacts/winfo.xml: Defined "floodmap.barriers" as valid facet ingo@1775: for floodmaps. ingo@1775: ingo@1775: * doc/conf/mapserver/shapefile_layer.vm: New. Currently a copy of ingo@1775: layer.vm. This template will evolve to a special mapserver layer ingo@1775: template with a shapefile data source. ingo@1775: ingo@1775: * src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Fixed broken ingo@1775: facet name of barriers. ingo@1775: ingo@1775: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Added ingo@1775: public methods for creating wsplgen and barriers layer files for ingo@1775: mapserver. ingo@1775: ingo@1775: * src/main/java/de/intevation/flys/exports/MapGenerator.java: Use ingo@1775: MapfileGenerator to create new layer files for wsplgen and barriers. ingo@1775: ingo@1774: 2011-10-28 Ingo Weinzierl ingo@1774: ingo@1774: * src/main/java/de/intevation/flys/utils/GeometryUtils.java: Added new ingo@1774: method gerRiverBoundary() which returns an Envelope object (which ingo@1774: represents the bounding box of a Geometry) of a riveraxis specified by its ingo@1774: rivername. ingo@1774: ingo@1774: * src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: Use ingo@1774: Geometry.getRiverBoundary() to determine the max extent of a river. ingo@1774: ingo@1774: * src/main/java/de/intevation/flys/wsplgen/FacetCreator.java, ingo@1774: src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: Use ingo@1774: JTS Envelope to save the bounding boxes of WMS layers. ingo@1774: ingo@1774: * src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java: ingo@1774: Adapted the code to apply the changes in GeometryUtils (use Envelope to ingo@1774: determine the max extent of the river axis). ingo@1774: ingo@1774: * src/main/java/de/intevation/flys/exports/MapGenerator.java: New (work in ingo@1774: progress). This Generator will currently return a map configuration in XML ingo@1774: which consists of parameters required by OpenLayers to create a map. ingo@1774: ingo@1774: * doc/conf/conf.xml: Registered the new MapGenerator. ingo@1774: felix@1773: 2011-10-27 Felix Wolfsteller felix@1773: felix@1773: * doc/conf/meta-data.xml: Do not recommend historical data to load felix@1773: when having computational discharge curves. felix@1773: felix@1772: 2011-10-27 Felix Wolfsteller felix@1772: felix@1772: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@1772: Reduce noise, given "error" message was more of "debug" nature. felix@1772: felix@1771: 2011-10-27 Felix Wolfsteller felix@1771: felix@1771: Restore mapping of state id to facets (essentially revert, revision felix@1771: 3083 and 3088). felix@1771: felix@1771: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1771: (getInitialFacetActivity): Be more explicit on which facets to felix@1771: introduce inactivated. felix@1771: felix@1771: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, felix@1771: src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1771: Minor refactoring, declare a string final static. felix@1771: felix@1771: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, felix@1771: src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java, felix@1771: src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, felix@1771: src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java, felix@1771: src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java, felix@1771: src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java, felix@1771: src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java, felix@1771: src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java, felix@1771: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: felix@1771: Restore association from state id to facets. felix@1771: felix@1770: 2011-10-26 Felix Wolfsteller felix@1770: felix@1770: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java, felix@1770: src/main/java/de/intevation/flys/collections/OutputParser.java: felix@1770: Cosmetics, documentation. felix@1770: felix@1769: 2011-10-26 Felix Wolfsteller felix@1769: felix@1769: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1769: Prepare rendering of "other/static wkms" (functional) and felix@1769: w-differences (not yet fully functional). felix@1769: felix@1768: 2011-10-26 Felix Wolfsteller felix@1768: felix@1768: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java, felix@1768: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, felix@1768: src/main/java/de/intevation/flys/exports/ChartGenerator.java, felix@1768: src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1768: Cosmetics. felix@1768: felix@1767: 2011-10-26 Felix Wolfsteller felix@1767: felix@1767: * src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: felix@1767: Do not store facets in a map from stateId to list of facets, but in felix@1767: a pure list instead. felix@1767: felix@1766: 2011-10-26 Felix Wolfsteller felix@1766: felix@1766: * doc/conf/artifacts/winfo.xml: Adjusted to newer semantics, felix@1766: minor cleanups. felix@1766: felix@1765: 2011-10-26 Felix Wolfsteller felix@1765: felix@1765: Resolve association of facets to states in artifacts. This eases felix@1765: merging of outputs and facets and inhibition of unwanted outputs felix@1765: substiantially (at the price of slightly more expensive merging). felix@1765: Also, the semantics of artifacts configuration files (e.g. winfo.xml) felix@1765: is changed (facet elements within an output elements are used for felix@1765: merging). felix@1765: felix@1765: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, felix@1765: src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java, felix@1765: src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, felix@1765: src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java, felix@1765: src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java, felix@1765: src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java, felix@1765: src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java, felix@1765: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: felix@1765: Do not store facets in a map from stateId to list of facets, but in felix@1765: a pure list instead. felix@1765: felix@1764: 2011-10-26 Felix Wolfsteller felix@1764: felix@1764: * doc/conf/meta-data.xml: Added dc configuration for some data felix@1764: that can be loaded from longitudinal section diagrams. felix@1764: felix@1763: 2011-10-25 Felix Wolfsteller felix@1763: felix@1763: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: felix@1763: Cosmetics, docs. felix@1763: felix@1762: 2011-10-25 Felix Wolfsteller felix@1762: felix@1762: Let Qs in Longitudinal Diagram be inactive, initally. felix@1762: felix@1762: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1762: (getInitialFacetActivity): Do not let Facets ending with a 'q' felix@1762: enter in active state. felix@1762: felix@1761: 2011-10-25 Felix Wolfsteller felix@1761: felix@1761: * doc/conf/meta-data.xml: Fix broken datacage config. felix@1761: felix@1759: 2011-10-25 Felix Wolfsteller felix@1759: felix@1760: * doc/conf/meta-data.xml: Configured to include correct id to felix@1760: clone artifact that produces w-diff. felix@1760: felix@1760: 2011-10-25 Felix Wolfsteller felix@1760: felix@1760: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: felix@1759: Revert correct behaviour of Annotations (the small axis tick shall felix@1759: always be drawn). Minor refactoring. felix@1759: felix@1758: 2011-10-25 Felix Wolfsteller felix@1758: felix@1758: * doc/conf/meta-data.xml: Added configuration to include differences felix@1758: in datacage when longitudinal sections are shown (yet not felix@1758: functional). felix@1758: felix@1757: 2011-10-25 Felix Wolfsteller felix@1757: felix@1757: * doc/conf/meta-data.xml: Cosmetics. felix@1757: felix@1756: 2011-10-24 Felix Wolfsteller felix@1756: felix@1756: * doc/conf/themes.xml: Added theme for w_differences facets. felix@1756: felix@1756: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java felix@1756: (createSecondAxisRange): Survive parameter-nullness for now. felix@1756: Added documentation. felix@1756: sascha@1754: 2011-10-21 Sascha L. Teichmann sascha@1754: sascha@1754: * src/main/java/de/intevation/flys/themes/ThemeAccess.java: sascha@1754: New. Caching wrapper around an XML document theme. It uses ThemeUtil sascha@1754: to access the values and stores them in instance variable. sascha@1754: Background: ThemeUtil use XPath a lot which is expensive. sascha@1754: sascha@1754: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java, sascha@1754: src/main/java/de/intevation/flys/exports/XYChartGenerator.java: sascha@1754: Use ThemeAccess to style the annotations. sascha@1754: sascha@1754: * src/main/java/de/intevation/flys/exports/StyledXYSeries.java: sascha@1754: Removed some XPath strings. They are in ThemeUtil. sascha@1754: raimund@1753: 2011-10-21 Raimund Renkert raimund@1753: raimund@1753: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: raimund@1753: Added methods to parse further attributes. raimund@1753: raimund@1753: * src/main/java/de/intevation/flys/exports/StyledXYSeries.java: raimund@1753: Apply the theme attributes and use ThemeUtils to get the attribute values. raimund@1753: raimund@1753: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: raimund@1753: Removed the spamy debug output. raimund@1753: sascha@1752: 2011-10-21 Sascha L. Teichmann sascha@1752: sascha@1752: To obtain the size of a diagram it is rendered twice. The sascha@1752: second time the generated image is omitted so the concrete sascha@1752: rendered image is not needed. To save CPU cycles in this pass sascha@1752: the image is rendered to to /dev/null Graphics2D object. sascha@1752: sascha@1752: * src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: sascha@1752: Added boolean system property "info.rendering.nop.graphics" (default: false). sascha@1752: With this property set the info rendering is done via a new sascha@1752: NOPGraphics2D opbject which does not render the image. sascha@1752: sascha@1752: * src/main/java/de/intevation/flys/java2d/NOPGraphics2D.java: sascha@1752: New. Implements java.awt.Graphics2D trivial empty methods. sascha@1752: This prevents rendering. sascha@1752: sascha@1752: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: sascha@1752: Commented out spamy debug output felix@1756: raimund@1751: 2011-10-21 Raimund Renkert raimund@1751: raimund@1751: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: raimund@1751: Draw the text background and use orientation attribute. raimund@1751: raimund@1750: 2011-10-21 Raimund Renkert raimund@1750: raimund@1750: * doc/conf/themes.xml: raimund@1750: Renamed 'textbackground' to 'backgroundcolor' to have 'color' in the raimund@1750: attribute name. raimund@1750: raimund@1750: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: raimund@1750: Process text attributes correctly. raimund@1750: sascha@1749: 2011-10-20 Sascha L. Teichmann sascha@1749: sascha@1749: * src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java: sascha@1752: New. Service to lookup the Nth nearest neighbors for a set of given sascha@1749: cross section ids and kms. sascha@1749: sascha@1749: * doc/conf/conf.xml: Registered service. sascha@1749: sascha@1749: * doc/conf/cache.xml: Cache config. sascha@1749: sascha@1749: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, sascha@1749: src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java: sascha@1749: Removed superfluous imports. sascha@1749: raimund@1748: 2011-10-20 Raimund Renkert raimund@1748: raimund@1748: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: raimund@1748: Added methods to extract further attributes from theme. raimund@1748: ingo@1747: 2011-10-20 Ingo Weinzierl ingo@1747: ingo@1747: * doc/conf/themes.xml: Added main value themes for longitudinal section ingo@1747: charts. ingo@1747: ingo@1747: * src/main/java/de/intevation/flys/themes/ThemeMapping.java: New. This ingo@1747: class stores the name of a facet, the related theme and a pattern ingo@1747: string. ingo@1747: ingo@1747: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@1747: Read the pattern string and store a list of ThemeMapping objects in the ingo@1747: FLYSContext. ingo@1747: ingo@1747: * src/main/java/de/intevation/flys/themes/ThemeFactory.java: Modified ingo@1747: getTheme() which now takes the FLYSContext, the name of a facet and an ingo@1747: optional pattern string. Now, we can have specialized Themes for each ingo@1747: chart type. E.g. the facet "longitudinal_section.w" maps the default ingo@1747: Theme for W lines in longitudinal section charts. If the optional ingo@1747: pattern string matches the pattern ".*(HQ1000)(\D.*)*", the ThemeFactory ingo@1747: will return the Theme "LongitudinalSectionW_HQ1000". ingo@1747: ingo@1747: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1747: Use the description of a facet as pattern string to get the relevant ingo@1747: Theme from ThemeFactory. ingo@1747: raimund@1746: 2011-10-20 Raimund Renkert raimund@1746: raimund@1746: * doc/conf/themes.xml: raimund@1746: Added new theme attributes. raimund@1746: felix@1745: 2011-10-19 Felix Wolfsteller felix@1745: felix@1745: Fix WDifference plots where masterartifact has no range set. felix@1745: felix@1745: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1745: (addSubtitles): Overridden, the master artifact has no felix@1745: range. felix@1745: felix@1744: 2011-10-19 Felix Wolfsteller felix@1744: felix@1744: Fix masterartifact in collections in cases where the original felix@1744: masterartifacts facets do not come first in certain list. Query felix@1744: 'backend'/db instead. felix@1744: felix@1744: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@1744: Set 'real' master artifact, defined to be oldest belonging to this felix@1744: collection. felix@1744: ingo@1743: 2011-10-19 Ingo Weinzierl ingo@1743: ingo@1743: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java, ingo@1743: src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java, ingo@1743: src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java, ingo@1743: src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java: ingo@1743: Modified the method signature of createStaticData() which now also ingo@1743: requires a FLYSArtifact. ingo@1743: ingo@1743: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: sascha@1749: Override createStaticData() to create titles for Qs manually - we want ingo@1743: to display the named main values if existing for the selected Qs. ingo@1743: raimund@1742: 2011-10-19 Raimund Renkert raimund@1742: raimund@1742: * doc/conf/themes.xml: raimund@1742: ComputedDischargeCurveW and ComputedDischargeCurveQ inherit attributes from raimund@1742: theme 'Text'. raimund@1742: sascha@1741: 2011-10-19 Sascha L. Teichmann sascha@1741: sascha@1741: Fix for flys/issue316 sascha@1741: sascha@1741: * src/main/java/de/intevation/flys/exports/StyledXYSeries.java: Added sascha@1741: constructor to not sort the data. sascha@1741: sascha@1741: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: sascha@1741: Use the not sorting constructor of StyledXYSeries. sascha@1741: ingo@1740: 2011-10-19 Ingo Weinzierl ingo@1740: ingo@1740: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: ingo@1740: moved the code to create WSP W and Q facet names to FLYSUtils. ingo@1740: ingo@1740: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: New functions for ingo@1740: creating WSP W and Q facet names and for querying a named main value ingo@1740: based on a given gauge and value. The names of W and Q facets will now ingo@1740: depend on the selected Q and Q mode: if the mode is "q at gauge" and a ingo@1740: named value is found for the given value, the facet's name contains the ingo@1740: named value instead of the value itself. ingo@1740: felix@1739: 2011-10-19 Felix Wolfsteller felix@1739: felix@1739: Fix datacage configuration to let client load ZUS and flood felix@1739: protections. felix@1739: felix@1739: * doc/conf/meta-data.xml: Use 'ids' instead of 'id' to help client. felix@1739: raimund@1738: 2011-10-19 Raimund Renkert raimund@1738: raimund@1738: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: raimund@1738: Added methods to parse text attributes from theme document. raimund@1738: raimund@1738: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java, raimund@1738: src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: raimund@1738: Apply a theme to axis annotations. raimund@1738: felix@1737: 2011-10-19 Felix Wolfsteller felix@1737: felix@1737: Create (data) Label from data string (client will be adjusted to send felix@1737: the name). felix@1737: felix@1737: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java: felix@1737: Create label from input data string, documentation added, junk felix@1737: removed. felix@1737: sascha@1736: 2011-10-19 Sascha L. Teichmann sascha@1736: sascha@1736: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java(zoom): sascha@1736: Do not crash if no axis is given. sascha@1736: ingo@1735: 2011-10-19 Ingo Weinzierl ingo@1735: ingo@1735: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added ingo@1735: getFormat() which extracts the format string from XML request document. ingo@1735: ingo@1735: * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: Adapted ingo@1735: method signatures of exportImage(), exportSVG() and exportPDF(). All ingo@1735: methods now take a CallContext object which stores extra chart export ingo@1735: parameters. ingo@1735: ingo@1735: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@1735: Enabled PDF and SVG chart exports based on the "format" string given in ingo@1735: the XML request document. ingo@1735: felix@1734: 2011-10-18 Felix Wolfsteller felix@1734: felix@1734: Simplify rendereing W(Q)Kms in WDifferencesCurveGenerator. felix@1734: felix@1734: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1734: (doWOut, doWOut): Simplified. felix@1734: felix@1733: 2011-10-18 Felix Wolfsteller felix@1733: felix@1733: Render zus and flood-protections in WDifferences-diagrams. felix@1733: felix@1733: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1733: Added basic respect of "other.wkms"- facets. felix@1733: felix@1732: felix@1731: 2011-10-18 Felix Wolfsteller felix@1731: felix@1731: Adjusted Datacage-Configuration to fetch "extra longitudinal...." felix@1731: (.zus) - waterlevels in certain case (in system-part). felix@1731: felix@1731: * doc/conf/meta-data.xml: Adjusted to present extra-kms with felix@1731: staticwkms factory in certain case. felix@1731: raimund@1730: 2011-10-17 Raimund Renkert raimund@1730: raimund@1730: * doc/conf/themes.xml: raimund@1730: Added new virtual theme for text with the attributes 'font', 'textcolor' raimund@1730: and 'textsize'. raimund@1730: felix@1729: 2011-10-18 Felix Wolfsteller felix@1729: felix@1729: Give StaticWKmsArtifacts proper names, and pre-deselect them. felix@1729: felix@1729: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: felix@1729: (getInitialFacetActivity): Overridden to let facets enter plot felix@1729: inactively. felix@1729: (setup): Give Facets the name of the Wst. felix@1729: felix@1729: * src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java: felix@1729: Refactored to expose getWKmsName separately. felix@1729: felix@1728: 2011-10-18 Felix Wolfsteller felix@1728: felix@1728: Adjusted Datacage-Configuration to fetch flood-protections when felix@1728: waterlevels are requested (in system-part). felix@1728: felix@1728: * doc/conf/meta-data.xml: Adjusted to present flood-protections with felix@1728: staticwkms factory in certain case. felix@1728: felix@1727: 2011-10-18 Felix Wolfsteller felix@1727: felix@1727: Register staticwkms factory. felix@1727: felix@1727: * doc/conf/conf.xml: Register staticwkms factory to spawn StaticWKms- felix@1727: Artifacts. felix@1727: felix@1726: 2011-10-18 Felix Wolfsteller felix@1726: felix@1726: Fetch name of static WKms. felix@1726: felix@1726: * src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java: felix@1726: Removed dependence on "kind", but fetch name for created WKms. felix@1726: felix@1726: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: felix@1726: Remove dependence on Kind. felix@1726: felix@1725: 2011-10-18 Felix Wolfsteller felix@1725: felix@1725: Store parameterization in data, not in Artifact. felix@1725: felix@1725: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: felix@1725: Resolve col_pos and wst_id field, use data instead. felix@1725: felix@1724: 2011-10-18 Felix Wolfsteller felix@1724: felix@1724: Add convenience-method to add defaultdata (string). felix@1724: felix@1724: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: felix@1724: (addStringData): Add Default (String) Data . felix@1724: felix@1723: 2011-10-18 Felix Wolfsteller felix@1723: felix@1723: Add a new Artifact and Facet (StaticWKmsArtifact, WKmsFacet) to felix@1723: access WKms obtainable with the WKmsFactory. felix@1723: felix@1723: * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: felix@1723: New, artifact with single state to get WKms from WKmsFactory. felix@1723: felix@1723: * src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java: felix@1723: New Facet to display W over km. felix@1723: felix@1723: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@1723: Added new type name. felix@1723: felix@1722: 2011-10-18 Felix Wolfsteller felix@1722: felix@1722: Add WKMsFactory to access 'static' wst-data. felix@1722: felix@1722: * src/main/java/de/intevation/flys/artifacts/model/StaticWKmsCacheKey.java: felix@1722: Cache Key for the static WKms data. felix@1722: felix@1722: * src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java: felix@1722: New, creates WKms from wst-id and column. Does not yet fetch the felix@1722: name. felix@1722: felix@1722: * doc/conf/cache.xml: Added cache configuration for static wkms data. felix@1722: felix@1721: 2011-10-18 Felix Wolfsteller felix@1721: felix@1721: Cosmetics, docs. felix@1721: felix@1721: * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java, felix@1721: src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java, felix@1721: src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java, felix@1721: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, felix@1721: src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: felix@1721: Cosmetics, docs. felix@1721: felix@1720: 2011-10-18 Felix Wolfsteller felix@1720: felix@1720: * src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java: felix@1720: Added constructor that takes name, docs. felix@1720: felix@1719: 2011-10-18 Felix Wolfsteller felix@1719: felix@1719: Fix issue that Annotations do not come with theme/style. felix@1719: felix@1719: * doc/conf/themes.xml: Added "Annotations" default style. felix@1719: felix@1719: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1719: Set style of annotations, minor cosmetics. felix@1719: sascha@1718: 2011-10-17 Sascha L. Teichmann sascha@1718: sascha@1718: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: sascha@1718: Made inner class ThemeList static. sascha@1718: s/new Integer(small)/Integer.valueOf(small)/ sascha@1718: ingo@1717: 2011-10-17 Ingo Weinzierl ingo@1717: ingo@1717: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1717: The inner class ThemeList makes now use of ManagedDomFacet to read the ingo@1717: attributes of Facets saved in the Collection's attribute. ingo@1717: sascha@1716: 2011-10-17 Sascha L. Teichmann sascha@1716: sascha@1716: flys/issue314: Variables in datacage are now case insensitive. sascha@1716: (H2 returns meta data variables uppercase) sascha@1716: sascha@1716: * doc/conf/meta-data.xml: sascha@1716: Made a statement more precise. Added some debug output. sascha@1716: sascha@1716: * src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java: sascha@1716: Use uppercase variable names. sascha@1716: sascha@1716: * src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java, sascha@1716: src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java, sascha@1716: src/main/java/de/intevation/flys/artifacts/datacage/templating/FunctionResolver.java, sascha@1716: src/main/java/de/intevation/flys/artifacts/datacage/templating/ResultData.java: sascha@1716: Variables are now treated as uppercase. sascha@1716: sascha@1716: * src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java: sascha@1716: Input variables are now treated uppercase. sascha@1716: ingo@1715: 2011-10-17 Ingo Weinzierl ingo@1715: ingo@1715: * src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java, ingo@1715: src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java, ingo@1715: src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java: ingo@1715: Prepared Facets to support a "visible" attribute. ingo@1715: ingo@1715: * src/main/java/de/intevation/flys/collections/OutputParser.java: Adapted ingo@1715: the constructor call of ManagedFacetAdapter. ingo@1715: ingo@1715: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1715: The inner class ThemeList now supports the "visible" attribute of ingo@1715: ManagedFacets. ingo@1715: raimund@1714: 2011-10-17 Raimund Renkert raimund@1714: raimund@1714: * src/main/java/de/intevation/flys/exports/StyledXYSeries.java: raimund@1714: Added method to apply line type. raimund@1714: raimund@1714: * doc/conf/themes.xml: raimund@1714: Changed initial default value for line type. raimund@1714: ingo@1713: 2011-10-17 Ingo Weinzierl ingo@1713: ingo@1713: flys/issue226 (W-INFO: Dauerlinienberechung /Abbbildung x-Achse) ingo@1713: ingo@1713: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: ingo@1713: Set the upper bound of these charts to 364. ingo@1713: ingo@1712: 2011-10-17 Ingo Weinzierl ingo@1712: ingo@1712: * src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java: ingo@1712: Added a function that returns a Gauge based on its name. ingo@1712: ingo@1712: * src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java: ingo@1712: Create proper descriptions for facets. ingo@1712: ingo@1712: * src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: Added a ingo@1712: setter for labels. ingo@1712: ingo@1712: * src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java, ingo@1712: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, ingo@1712: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, ingo@1712: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@1712: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, ingo@1712: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: ingo@1712: Use the string returned by Facet.getDescription() as series names. The ingo@1712: ThemePanel and the Legend will always display the same titles for curves ingo@1712: now. ingo@1712: ingo@1712: felix@1711: 2011-10-17 Felix Wolfsteller felix@1711: felix@1711: Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering). felix@1711: felix@1711: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: felix@1711: (parseLineWidth): New. Get line width from Document. felix@1711: felix@1711: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1711: When adding annotations, parse line width from theme, set it. felix@1711: felix@1711: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: felix@1711: When painting, set Paint and stroke early enough. felix@1711: ingo@1710: 2011-10-14 Ingo Weinzierl ingo@1710: ingo@1710: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Put the ingo@1710: config directory into the Velocity context. It is available as ingo@1710: '$CONFIGDIR' in templates. ingo@1710: ingo@1710: * doc/conf/mapserver/mapfile.vm: Set the debug file to ingo@1710: "$CONFIGDIR/flys-user-wms.log" and added a LEGEND section. ingo@1710: ingo@1710: * doc/conf/mapserver/wsplgen_class.vm: Adapted the class names. Those ingo@1710: names are displayed in the image served by GetLegendGraphic. ingo@1710: felix@1709: 2011-10-14 Felix Wolfsteller felix@1709: felix@1709: Add possibility of programmatic configuration of initial "activity" felix@1709: state (active or inactive) of (Managed)Facets by introducing felix@1709: FLYSArtifact.getInitialFacetActivity. This method shall be overriden felix@1709: by subclasses where Facets are wanted to come to live inactive. felix@1709: Artifacts will be asked only once how the MangedFacet should come to live, felix@1709: namely when AttributeWriter finds a genuinely new Facet. felix@1709: felix@1709: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java, felix@1709: src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java felix@1709: (getInitialFacetActivity): felix@1709: New function to let Artifact decide whether a ManagedFacet shall felix@1709: initially be set to active or inactive. felix@1709: felix@1709: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: felix@1709: Accept database in constructor. For genuinely new Facets, spawn its felix@1709: mother artifact and ask whether the (Managed)Facet shall be active felix@1709: or inactive (initially). felix@1709: felix@1709: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java felix@1709: (buildOutAttributes): Pass database to AttributeWrite (which needs it felix@1709: to spawn artifacts), rename items parameter to reflect content. felix@1709: felix@1708: 2011-10-13 Felix Wolfsteller felix@1708: felix@1709: Cosmetics, removed obsolete imports. felix@1708: felix@1708: * src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java, felix@1708: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1708: Removed obsolete imports. felix@1708: ingo@1707: 2011-10-12 Ingo Weinzierl ingo@1707: ingo@1707: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1707: Added a further attribute "mark.selected" to the barriers feature type. ingo@1707: This attribute is used in the client, where we are not able to remove it ingo@1707: properly. Reading the GeoJSON string without this attribute is no longer ingo@1707: possible... strange! ingo@1707: felix@1706: 2011-10-12 Felix Wolfsteller felix@1706: felix@1706: Added i18n for label of wdiff "pair select" states data. felix@1706: felix@1706: * src/main/resources/messages.properties, felix@1706: src/main/resources/messages_de_DE.properties, felix@1706: src/main/resources/messages_en.properties, felix@1706: src/main/resources/messages_de.properties: Added i18n for felix@1706: state.winfo.waterlevel_pair_select . felix@1706: felix@1705: 2011-10-12 Felix Wolfsteller felix@1705: felix@1705: Addressed "Wrong labels" [6] part of flys/issue371 (W-INFO / Differenzen: felix@1705: Anmerkungen zur Umsetzung) . felix@1705: felix@1705: * src/main/java/de/intevation/flys/exports/WDifferencesExporter.java: felix@1705: Adjusted variable names to avoid conflict in subclasses, adjusted felix@1705: default value for i18n string. felix@1705: felix@1704: 2011-10-12 Felix Wolfsteller felix@1704: felix@1704: Cosmetics, docs. felix@1704: felix@1704: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: felix@1704: Cosmetics: Space after full stop in commments, slightly improved felix@1704: documentation, added one debug message. felix@1704: felix@1703: 2011-10-12 Felix Wolfsteller felix@1703: felix@1703: Fix remainder of flys/issue304 (Erweiterte Funktionen W-Differenzen) . felix@1703: felix@1703: * doc/conf/artifacts/winfo.xml: Removed obsolete data of felix@1703: WDifferencesState. felix@1703: felix@1703: * src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java: felix@1703: Re-enable facet-filtering, but adjust filters before that happens felix@1703: (former longitudinal_section output is now w_differences output). felix@1703: felix@1702: 2011-10-11 Felix Wolfsteller felix@1702: felix@1702: Added wdiff-chart translations. felix@1702: felix@1702: * src/main/resources/messages.properties, felix@1702: src/main/resources/messages_de_DE.properties, felix@1702: src/main/resources/messages_en.properties, felix@1702: src/main/resources/messages_de.properties: Added i18n for wdiff. felix@1702: felix@1701: 2011-10-11 Felix Wolfsteller felix@1701: felix@1701: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, felix@1701: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1701: Expose translateable Strings as constants. felix@1701: felix@1700: 2011-10-11 Felix Wolfsteller felix@1700: felix@1700: Fix most labels in w-differences charts. felix@1700: felix@1700: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, felix@1700: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1700: Remove most static final i18n-variables in favor of direct String felix@1700: usage or usage of methods. By this, allow easier adoption of labels felix@1700: in subclasses. felix@1700: ingo@1699: 2011-10-11 Ingo Weinzierl ingo@1699: ingo@1699: flys/issue383 (Zweite Y-Achse wird beim Zoomen/Verschieben nicht angepasst.) ingo@1699: ingo@1699: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@1699: Call adjustAxes() before applying zoom settings with autoZoom(). We need ingo@1699: to add new y-axes first before we adjust their ranges. ingo@1699: sascha@1698: 2011-10-10 Sascha L. Teichmann sascha@1698: sascha@1698: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: sascha@1698: s/new Integer(small)/Integer.valueOf(small)/ sascha@1698: sascha@1697: 2011-10-10 Sascha L. Teichmann sascha@1697: sascha@1697: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, sascha@1697: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: sascha@1697: Do not fire change events for each and every data point added. sascha@1697: felix@1696: 2011-10-10 Felix Wolfsteller felix@1696: felix@1696: Fix WDifferences with more than one Pair (crashed due to incorrect index for felix@1696: facets.) felix@1696: felix@1696: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: felix@1696: Fix wrong index for difference facets (allows for more than one felix@1696: difference facet per artifact without crashes). felix@1696: felix@1695: 2011-10-10 Felix Wolfsteller felix@1695: felix@1695: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1695: Use slightly modified doWOut-implementation from felix@1695: LongitudinalSectionGenerator (here need to add Ws to different axis). felix@1695: felix@1694: 2011-10-10 Felix Wolfsteller felix@1694: felix@1694: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java: felix@1694: Fix import/reference. felix@1694: felix@1693: 2011-10-10 Felix Wolfsteller felix@1693: felix@1693: Let WaterlevelPairSelectState include diffids-data (if any) to enable felix@1693: future work on repopulation of Grid in GUI when jumping back felix@1693: (reparameterization). felix@1693: felix@1693: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java: felix@1693: (createItems): Override to include old data. felix@1693: ingo@1692: 2011-10-10 Ingo Weinzierl ingo@1692: ingo@1692: flys/issue150 (Diagramm: Anzeige von W bergauf) ingo@1692: flys/issue345 (W-INFO / Wasserspiegellagenberechnung, Diagrammausgabe) ingo@1692: ingo@1692: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@1692: Corrected the determination to invert the x axis, so that waterlines ingo@1692: will start with their highest value at the left and end with their ingo@1692: lowest values at the right. ingo@1692: felix@1691: 2011-10-10 Felix Wolfsteller felix@1691: felix@1691: * src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java: felix@1691: Cosmetics, added an (@Override) annotation. felix@1691: felix@1691: * src/main/java/de/intevation/flys/artifacts/model/CalculationResult.java, felix@1691: src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: felix@1691: Cosmetics, added documentation. felix@1691: felix@1691: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: felix@1691: Cosmetics, whitespace after full stops in comments, added felix@1691: (@Override) annotation. felix@1691: ingo@1690: 2011-10-10 Ingo Weinzierl ingo@1690: ingo@1690: flys/issue220 (Diagramm: Achsenbeschriftungen an verschiedenen Achsen müssen gleich aussehen) ingo@1690: ingo@1690: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, ingo@1690: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@1690: Adjusted the label font of the 2nd y-axis - now, both axes labels look ingo@1690: equal. ingo@1690: ingo@1689: 2011-10-10 Ingo Weinzierl ingo@1689: ingo@1689: flys/issue189 (WINFO/Dauerlinie: Sortierung der Berechnungsausgabe nach Dauerzahlen aufsteigend) ingo@1689: ingo@1689: * src/main/java/de/intevation/flys/artifacts/model/WQDay.java: Added a ingo@1689: method that determines if the items (days) in this object are increasing ingo@1689: or not. ingo@1689: ingo@1689: * src/main/java/de/intevation/flys/exports/DurationCurveExporter.java: ingo@1689: Changed the order of the CSV export - the highest day is at the top of ingo@1689: the export; the lowest day is at the bottom. ingo@1689: sascha@1688: 2011-10-07 Sascha L. Teichmann sascha@1688: sascha@1688: Worked on flys/issue150 (Diagramm: Anzeige von W bergauf). sascha@1688: Still does not work in all cases. sascha@1688: sascha@1688: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java (generateChart()): sascha@1688: Reordered calls to ensure that the inversion of the x axis is sascha@1688: not eliminated by other chart generation steps as a side effect. sascha@1688: sascha@1688: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: sascha@1688: Assuming that JFreeChart is inverting axis automatically if the sascha@1688: KMs are reversed ordered only do invert only in some situations. sascha@1688: sascha@1688: Do not invert axis for Q (@Ingo: This is wrong! We must do this sascha@1688: if we are only displaying the Qs and the Ws are deactived). sascha@1688: ingo@1687: 2011-10-07 Ingo Weinzierl ingo@1687: ingo@1687: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@1687: Take care on empty ranges while preparing ranges for single points. ingo@1687: ingo@1686: 2011-10-07 Ingo Weinzierl ingo@1686: ingo@1686: flys/issue114 (W-INFO: Wasserspiegellagenberechnung / Ort (Spezialfall: Generierung eines Diagramms bei punkthafter Berechnung)) ingo@1686: ingo@1686: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Expand ingo@1686: ranges for x and y axes if there is just a single point in a series - ingo@1686: JFreeChart requires a range where lower <> upper. ingo@1686: felix@1685: 2011-10-07 Felix Wolfsteller felix@1685: felix@1685: * src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java, felix@1685: src/main/java/de/intevation/flys/artifacts/states/DistanceSelect.java, felix@1685: src/main/java/de/intevation/flys/artifacts/states/RangeState.java, felix@1685: src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1685: Add whitespace after full stop in comments, minor doc improvements. felix@1685: ingo@1684: 2011-10-07 Ingo Weinzierl ingo@1684: ingo@1684: flys/issue353 (W-INFO / Wasserspiegellagenberechnung, Diagramm) ingo@1684: ingo@1684: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1684: Adapted the process of collecting outs for Artifacts/Facets. We will now ingo@1684: call OutGenerator.doOut() for each Artifact and Facet - never mind if ingo@1684: the facet is activated (visible) or not. The OutGenerator should decide ingo@1684: on its own whtat to do with facets which are "marked" as _not_ visible. ingo@1684: ingo@1684: * src/main/java/de/intevation/flys/exports/OutGenerator.java, ingo@1684: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, ingo@1684: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, ingo@1684: src/main/java/de/intevation/flys/exports/ChartGenerator.java, ingo@1684: src/main/java/de/intevation/flys/exports/ReportGenerator.java, ingo@1684: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, ingo@1684: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@1684: src/main/java/de/intevation/flys/exports/AbstractExporter.java, ingo@1684: src/main/java/de/intevation/flys/exports/ATExporter.java, ingo@1684: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, ingo@1684: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, ingo@1684: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java, ingo@1684: src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: ingo@1684: Adapted the signature of OutGenerator.doOut(). There will be a new ingo@1684: boolean parameter "visible" that determines if the facet specified in ingo@1684: this method is visible for this output or not. ingo@1684: ingo@1684: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Now, ingo@1684: that we walk over every Artifact/Facet, we are able to collect min/max ingo@1684: data for all axes. We store these information and use them to set the ingo@1684: ranges of x and y axes. The result of this: a chart can have proper axes ingo@1684: set without any data in it. ingo@1684: ingo@1684: * src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: Use ingo@1684: min/max ranges stored while calling doOut() for each Artifact/Facet ingo@1684: instead of fetching those information from chart's Datasets (which could ingo@1684: be null). ingo@1684: ingo@1683: 2011-10-07 Ingo Weinzierl ingo@1683: ingo@1683: * src/main/java/de/intevation/flys/utils/Formatter.java: Changed the max ingo@1683: number of digits for AT exports from 0 to 2. ingo@1683: sascha@1682: 2011-10-06 Sascha L. Teichmann sascha@1682: sascha@1682: * src/main/java/de/intevation/flys/exports/ATWriter.java: Get rid sascha@1682: of buggy first line code. sascha@1682: sascha@1681: 2011-10-05 Sascha L. Teichmann sascha@1681: sascha@1681: fixed flys/issue201 sascha@1681: sascha@1681: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@1681: Replace >= with > in km index lookup because last km was not found. sascha@1681: sascha@1680: 2011-10-05 Sascha L. Teichmann sascha@1680: sascha@1680: fixed flys/issue177 sascha@1680: sascha@1680: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: sascha@1680: Revert rev2245. Code works fine now! :-) sascha@1680: ingo@1679: 2011-10-05 Ingo Weinzierl ingo@1679: ingo@1679: * src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: Stores a ingo@1679: list of XYTextAnnotations instead of FLYS specific Annotations. This ingo@1679: makes this class suitable for other annotation types as well. ingo@1679: ingo@1679: * src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java, ingo@1679: src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java: ingo@1679: Both facets' getData() will now return an instance of FLYSAnnotation. ingo@1679: ingo@1679: * src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java: ingo@1679: Create XYTextAnnotations used to instantiate an object of ingo@1679: FLYSAnnotation. ingo@1679: ingo@1679: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, ingo@1679: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@1679: Removed the code to add annotations to the plot. This task is general ingo@1679: enough to move this code to parent class. ingo@1679: ingo@1679: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@1679: Instances of this class are now able to store - besides first and second ingo@1679: axes datasets - a list of annotations. This annotations are added to the ingo@1679: plot after the datasets have been added. To support LegendItems for ingo@1679: those annotions, it was necessary to create a the LegendItemCollection ingo@1679: by ourself. This work is done while applying the themes for each series ingo@1679: in the chart. ingo@1679: sascha@1678: 2011-10-05 Sascha L. Teichmann sascha@1678: sascha@1678: Removed code duplication of guessWaterIncreasing() sascha@1678: sascha@1678: * src/main/java/de/intevation/flys/artifacts/model/WKms.java(allKms, allWs): sascha@1678: Added methods to fetch all kms and all ws. sascha@1678: sascha@1678: * src/main/java/de/intevation/flys/utils/DataUtil.java: Generalized to sascha@1678: get WKms as arguments. sascha@1678: sascha@1678: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java, sascha@1678: src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java, sascha@1678: src/main/java/de/intevation/flys/artifacts/model/WQ.java: Implements sascha@1678: the extended WKms interface. sascha@1678: sascha@1678: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: sascha@1678: Uses the generalized DataUtil.guessWaterIncreasing(). sascha@1678: ingo@1677: 2011-10-05 Ingo Weinzierl ingo@1677: ingo@1677: flys/issue347 (W-INFO / Wasserspiegellagenberechnung, Längsschnittdiagramm) ingo@1677: flys/issue303 (Keine Streckenfavoriten, wenn nur Q im Längsschnittdiagram ausgewählt) ingo@1677: flys/issue353 (W-INFO / Wasserspiegellagenberechnung, Diagramm) ingo@1677: ingo@1677: * src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: New. A ingo@1677: wrapper for Annotations which allows us to provide a description for a ingo@1677: set of annotations. ingo@1677: ingo@1677: * src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java: ingo@1677: The getData() will now return an instance of FLYSAnnotation that wraps ingo@1677: the Annotations returned by the AnnotationArtifact. The lebel of ingo@1677: FLYSAnnotation is the description of this Facet. ingo@1677: ingo@1677: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@1677: Modified the way to add Annotations. We will no longer create an empty ingo@1677: series to support a LegendItem for a set of Annotations, but we will add ingo@1677: a LegendItem manually to the LegendItemCollection of the plot. In ingo@1677: addition, we are now able to display annotations if one of the two ingo@1677: y-axes are missing. If there are no y-axes existing, we are not able to ingo@1677: display annotations yet. ingo@1677: ingo@1677: 2011-10-05 Sascha L. Teichmann sascha@1676: sascha@1676: * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: sascha@1676: Lifted the wrong point. Now all backjump corrections look fine. :-) sascha@1676: ingo@1675: 2011-10-05 Ingo Weinzierl ingo@1675: ingo@1675: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: ingo@1675: Fixed bugs and make use of a cache for annotations now. ingo@1675: sascha@1674: 2011-10-04 Sascha L. Teichmann sascha@1674: sascha@1674: Worked on flys/issue31 sascha@1674: sascha@1674: * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: sascha@1674: Simplified the code a lot. Needs testing. Maybe flys/issue31 is gone sascha@1674: ingo@1673: 2011-10-04 Ingo Weinzierl ingo@1673: ingo@1673: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@1673: Fetch the WstUnit value from river - the Wst itself no longer supports a ingo@1673: Unit iself. ingo@1673: sascha@1672: 2011-10-04 Sascha L. Teichmann sascha@1672: sascha@1672: * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java, sascha@1672: src/main/java/de/intevation/flys/utils/DoubleUtil.java: Moved some generic sascha@1672: double array code to DoubleUtil. sascha@1672: sascha@1671: 2011-10-04 Sascha L. Teichmann sascha@1671: sascha@1671: * src/main/java/de/intevation/flys/utils/DoubleUtil.java (interpolateSorted): sascha@1671: Added code to linear interpolate double values in a sorted array. sascha@1671: Keys and values are given as double arrays. Keys need to be sorted. sascha@1671: sascha@1670: 2011-10-04 Sascha L. Teichmann sascha@1670: sascha@1670: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java, sascha@1670: src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java: sascha@1670: Removed superfluous imports. sascha@1670: ingo@1669: 2011-10-04 Ingo Weinzierl ingo@1669: ingo@1669: flys/issue330 (Dauerlinie kann nicht berechnet werden) ingo@1669: ingo@1669: * src/main/java/de/intevation/flys/artifacts/model/Calculation3.java: ingo@1669: Add a problem if no data was found for duration curves. ingo@1669: ingo@1668: 2011-10-04 Ingo Weinzierl ingo@1668: ingo@1668: * src/main/java/de/intevation/flys/themes/Theme.java, ingo@1668: src/main/java/de/intevation/flys/themes/DefaultTheme.java: Added ingo@1668: getter/setter methods to provide a facet (string) and index (int). Both ingo@1668: values are written as attribute to the Theme's XML representation. ingo@1668: ingo@1668: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1668: Set the "facet" and "index" values of themes. ingo@1668: ingo@1667: 2011-10-04 Ingo Weinzierl ingo@1667: ingo@1667: flys/issue346 (W-INFO / Anzeige der Höheninformation) ingo@1667: ingo@1667: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@1667: Modified x and y axis title. The x axis title is now "RIVERNAME-km"; the ingo@1667: y axis title is now "W[WST_UNIT]" where WST_UNIT depends on the unit of ingo@1667: the WST. ingo@1667: ingo@1667: * src/main/resources/messages.properties, ingo@1667: src/main/resources/messages_de_DE.properties, ingo@1667: src/main/resources/messages_en.properties, ingo@1667: src/main/resources/messages_de.properties: Modified i18n expressions for ingo@1667: x and y axis of longitudinal section charts. ingo@1667: ingo@1666: 2011-09-30 Ingo Weinzierl ingo@1666: ingo@1666: flys/issue351 (W-INFO / Wasserspiegellagenberechnungen) ingo@1666: ingo@1666: * src/main/java/de/intevation/flys/utils/DoubleUtil.java: Modified the ingo@1666: explode() function that returns a list of values specified by min, max ingo@1666: and an interval. If the last value, determined by the interval, is ingo@1666: bigger than the max value, it is not included in the result list. ingo@1666: felix@1665: 2011-09-30 Felix Wolfsteller felix@1665: felix@1665: flys/issue334 (Querprofil-Diagramm: Ausgabe dieses Diagrammtyps felix@1665: möglich, obwohl WSP Berechnung keine Ergebnisse liefert) felix@1665: felix@1665: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: felix@1665: (compute): Add Facets regarding CrossSections only if data available. felix@1665: ingo@1664: 2011-09-29 Ingo Weinzierl ingo@1664: ingo@1664: flys/issue176 (Diagramm: Benennung eines Abflusses bei gewählter Höhe am Pegel) ingo@1664: flys/issue349 (W-INFO / Wasserspiegellagenberechnung, Längsschnittdiagramm) ingo@1664: ingo@1664: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: ingo@1664: Create titles for W and Q waterlevel facets with proper fractions. ingo@1664: felix@1663: 2011-09-30 Felix Wolfsteller felix@1663: felix@1663: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java: felix@1663: (createStaticData, getLabels): Create proper labels for differences. felix@1663: sascha@1662: 2011-09-29 Sascha L. Teichmann sascha@1662: sascha@1662: flys/issue244 (WINFO: Export von AT-Dateien im ersten Teil unterschiedlich) sascha@1662: flys/issue332 (W-INFO / Berechnung Abflusskurve, Export, FLYS 2.5) sascha@1662: sascha@1662: * src/main/java/de/intevation/flys/exports/ATWriter.java: Due to a rounding sascha@1662: issue the w's of the first line underun the minimal w of the curve at times. sascha@1662: An extra test was introduced to suppress the output of the q's of the wrong w's. sascha@1662: felix@1661: 2011-09-28 Felix Wolfsteller felix@1661: felix@1661: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: felix@1661: Use StringUtil.wWrap , fix wrong loop, minor refac and cosmetics. felix@1661: felix@1660: 2011-09-28 Felix Wolfsteller felix@1660: felix@1660: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java: felix@1660: Extracted/use StringUtil.wWrap . felix@1660: ingo@1659: 2011-09-28 Ingo Weinzierl ingo@1659: ingo@1659: * src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java: ingo@1659: Log the gauge which has been determined. ingo@1659: ingo@1658: 2011-09-28 Ingo Weinzierl ingo@1658: ingo@1658: flys/issue332 (W-INFO / Berechnung Abflusskurve, Export, FLYS 2.5) ingo@1658: ingo@1658: * src/main/java/de/intevation/flys/exports/ATExporter.java: Store the ingo@1658: master Artifact which is set via setMasterArtifact(). This is required ingo@1658: for meta information used while preparing the header row of AT exports. ingo@1658: ingo@1658: * src/main/java/de/intevation/flys/exports/ATWriter.java: Print a header ingo@1658: row into the AT export for being compatible with desktop FLYS. ingo@1658: ingo@1658: * src/main/resources/messages.properties, ingo@1658: src/main/resources/messages_de_DE.properties, ingo@1658: src/main/resources/messages_en.properties, ingo@1658: src/main/resources/messages_de.properties: Added header row for AT ingo@1658: export files. ingo@1658: ingo@1657: 2011-09-28 Ingo Weinzierl ingo@1657: ingo@1657: flys/issue328 (W-INFO / ÃœSK: Auswahl der Wasserspiegellage / Auswahlunterstützung) ingo@1657: ingo@1657: * doc/conf/meta-data.xml: Added an out 'waterlevels' that might be used to ingo@1657: fetch user specific waterlevels (same as longitudinal sections, but ingo@1657: without Q facet). ingo@1657: In addition, the system specific datacage stuff is now fetched, when: ingo@1657: a) no user-id is given ingo@1657: b) a user-id is given and there is a parameter 'load-system' ingo@1657: ingo@1657: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java: ingo@1657: If the label of the WQKms object specified by the waterlevel selection ingo@1657: begins with a "Q", the label is wrapped into a "W()", e.g. "W(Q=1200)". ingo@1657: ingo@1656: 2011-09-28 Ingo Weinzierl ingo@1656: ingo@1656: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Made ingo@1656: feed() able to remove existing data items from Artifact's data pool. ingo@1656: Therefore, the value for the item which should be removed needs to an ingo@1656: empty string. ingo@1656: felix@1655: 2011-09-28 Felix Wolfsteller felix@1655: felix@1655: Extracted StringUtil.unbracket from WaterlevelSelectState.strip. felix@1655: felix@1655: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java, felix@1655: src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java: felix@1655: Extract and use StringUtil.unbracket, minor doc. felix@1655: ingo@1654: 2011-09-27 Ingo Weinzierl ingo@1654: ingo@1654: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java, ingo@1654: src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: ingo@1654: Changed access of getCurrentState() from protected to public. ingo@1654: ingo@1654: * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: We ingo@1654: use the configured Outputs instead of the actuel Outputs of an Artifact ingo@1654: to make recommendations, now. This has the bad side effect of giving ingo@1654: recommendations for Outputs that we might _NOT_ be able to produce. But ingo@1654: otherwise, we would not be able to give recommendations for states with ingo@1654: long calculation times that start background threads for calculation (as ingo@1654: WSPLGEN caluclations does). ingo@1654: felix@1653: 2011-09-27 Felix Wolfsteller felix@1653: felix@1653: Enable "auto-scaling" axis for waterlevels in WDifference-plots. felix@1653: felix@1653: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1653: (createSecondaryAxis, zoomY): Refactored to allow modification in felix@1653: siblings. felix@1653: felix@1653: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1653: (createSecondaryAxisRange): Override to achieve expected behavior. felix@1653: Also adjusted label. felix@1653: felix@1652: 2011-09-27 Felix Wolfsteller felix@1652: felix@1652: In W-Difference Calculation, respect indices of selected facets. felix@1652: felix@1652: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: felix@1652: (computeAdvance): Respect index of selected facets. felix@1652: sascha@1651: 2011-09-27 Sascha L. Teichmann sascha@1651: sascha@1651: flys/issue317: (Querprofil-Diagramm: Referenzen auf CrossSectionApp entfernen) sascha@1651: sascha@1651: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@1651: Removed dependency to demo app. sascha@1651: sascha@1651: * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: sascha@1651: Refactored to use logic from the models. sascha@1651: sascha@1651: * src/main/java/de/intevation/flys/artifacts/geom/Lines.java: sascha@1651: Moved some logic from the demo app to this model. ingo@1654: ingo@1650: 2011-09-27 Ingo Weinzierl ingo@1650: ingo@1650: * src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: New. Code ingo@1650: from FloodMapState moved to its own class with the intent, to use it in ingo@1650: classes different from FloodMapState. ingo@1650: ingo@1650: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1650: Removed the inner class FacetCreator. ingo@1650: ingo@1650: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Stores ingo@1650: an instance of FacetCreator. ingo@1650: NOTE: Maybe we should move the WSPLGEN parameters into an own class ingo@1650: which might be serializable. ingo@1650: ingo@1650: * src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Use the ingo@1650: FacetCreator instance stored in the WSPLGENJob to create a new WSPLGEN ingo@1650: facet if the calculation was successfully (without errors). Finally, the ingo@1650: facets of FacetCreator are added to the Facet list of the FLYSArtifacts. ingo@1650: ingo@1649: 2011-09-27 Ingo Weinzierl ingo@1649: ingo@1649: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1649: Put Artifact in background mode first before starting WSPLGEN, otherwise ingo@1649: a very fast errors (call CallContext.afterBackground() before Artifact is ingo@1649: in Background mode) might lead to an inconsistent state. ingo@1649: ingo@1649: * src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: Repaired ingo@1649: broken error num parsing. ingo@1649: ingo@1648: 2011-09-27 Ingo Weinzierl ingo@1648: ingo@1648: * src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: Track ingo@1648: critical errors as well (improved regular expression for errors). ingo@1648: sascha@1647: 2011-09-27 Sascha L. Teichmann sascha@1647: sascha@1647: * ChangeLog: Fixed whitespace usage. sascha@1647: sascha@1646: 2011-09-27 Sascha L. Teichmann sascha@1646: sascha@1646: * src/main/java/de/intevation/flys/artifacts/services/RiverService.java, sascha@1646: src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java sascha@1646: src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java, sascha@1646: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: sascha@1646: Removed superfluous imports. sascha@1646: ingo@1645: 2011-09-27 Ingo Weinzierl ingo@1645: ingo@1645: flys/issue68 (Diagramm: Werte an der Y-Achse benötigen i18n) ingo@1645: ingo@1645: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added a ingo@1645: method to retrieve the current/preferred locale specified by CallMeta. ingo@1645: ingo@1645: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@1645: Introduced two methods localizeDomainAxis() and localizeRangeAxis(). ingo@1645: Both methods of this class override the NumberFormat used to format axes ingo@1645: numbers. Those methods are called by localizeAxes() - which has private ingo@1645: access - for each domain and range axis of the current XYPlot. ingo@1645: sascha@1644: 2011-09-27 Sascha L. Teichmann sascha@1644: sascha@1644: * doc/conf/cache.xml: Number of cached annotations was much sascha@1644: to low. sascha@1644: felix@1643: 2011-09-27 Felix Wolfsteller felix@1643: sascha@1647: Improved w-differences diagram generation where multiple differences sascha@1647: can be shown. felix@1643: felix@1643: * src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java: felix@1643: New facet type. felix@1643: felix@1643: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: felix@1643: Employ new DifferenceCurveFacet, return CalculationResult that can felix@1643: store more than one WKms. felix@1643: ingo@1642: 2011-09-27 Ingo Weinzierl ingo@1642: ingo@1642: flys/issue320 (ÃœSK:Mapserver hat Probleme beim Shapefilepath mit "../" im Pfad) ingo@1642: ingo@1642: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Use ingo@1642: File.getCanonicalPath() to substitute "../" in shapefile directories. ingo@1642: ingo@1641: 2011-09-26 Ingo Weinzierl ingo@1641: ingo@1641: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1641: The extent of the WSPLGEN result layer is now specified by the extent of ingo@1641: the CrossSectionTracks that matches the start and end kilometer of the ingo@1641: WSPLGEN calculation. ingo@1641: ingo@1641: * src/main/java/de/intevation/flys/utils/GeometryUtils.java: New function ingo@1641: that creates the OpenLayers bounding box based on two Geometries. ingo@1641: felix@1640: 2011-09-26 Felix Wolfsteller felix@1640: sascha@1647: Improved w-differences diagram generation with included "absolute" sascha@1647: values. felix@1640: felix@1640: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1640: Fixed one (of two) incorrect labels. felix@1640: (doWaterlevelOut): Survive non-found gauge, fetch kilometer and w felix@1640: instead of values for w and q. felix@1640: felix@1639: 2011-09-26 Felix Wolfsteller felix@1639: sascha@1647: Add positional-conflict-awareness when merging Facets for a sascha@1647: FLYSArtifactCollection. First come first serve. felix@1639: felix@1639: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: felix@1639: (writeFacets): First, sort incoming facets into 2 groups: felix@1639: "genuinely new" and "already there", then for each new check felix@1639: whether the position is already taken. If so, push "up" (position++) felix@1639: until no conflict exists anymore. felix@1639: ingo@1638: 2011-09-26 Ingo Weinzierl ingo@1638: ingo@1638: flys/issue296 (Karte: Bezeichnungen verbessern) ingo@1638: ingo@1638: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1638: I18N of the WSPLGEN and barriers facets (WMS layers). ingo@1638: ingo@1638: * src/main/resources/messages.properties, ingo@1638: src/main/resources/messages_de_DE.properties, ingo@1638: src/main/resources/messages_en.properties, ingo@1638: src/main/resources/messages_de.properties: Added strings for the wsplgen ingo@1638: and barriers WMS layers. ingo@1638: felix@1639: 2011-09-26 Felix Wolfsteller felix@1637: sascha@1647: Fix (revert) access to position in ManagedDomFacet. felix@1637: felix@1637: * src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java: felix@1637: (getPosition): Do not add prefix when querying position ("pos") felix@1637: attribute, add a logger for faster future debugging. felix@1637: felix@1637: 2011-09-23 Felix Wolfsteller felix@1637: sascha@1647: Squash positional conflict-bug. felix@1637: felix@1637: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: felix@1637: (mergeFacets): Removed, replaced in parts by pickFacet. felix@1637: (pickFacet): New, return facet to be added to document. felix@1637: Documentation added. felix@1637: felix@1636: 2011-09-23 Felix Wolfsteller felix@1636: sascha@1647: Squash a bug about wrongly named "art:pos" attribute in ManagedDomFacet (was sascha@1647: "pos"). Added documentation from commit message. felix@1636: felix@1636: * src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java: felix@1636: Added documentation (commit message with minor adjustments). felix@1636: (getPosition, setPosition): Include PREFIX in attribute name. felix@1636: felix@1635: 2011-09-23 Felix Wolfsteller felix@1635: sascha@1647: Refactoring, doc. felix@1635: felix@1635: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: felix@1635: (mergeFacets): Removed, replaced in parts by pickFacet. felix@1635: (pickFacet): New, return facet to be added to document. felix@1635: Documentation added. felix@1635: felix@1634: 2011-09-23 Felix Wolfsteller felix@1634: sascha@1647: Cosmetics, docs. felix@1634: felix@1634: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: felix@1634: Documentation added. felix@1634: ingo@1633: 2011-09-22 Ingo Weinzierl ingo@1633: ingo@1633: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: ingo@1633: Subclasses the FLYSService now - this should improve the database ingo@1633: connection handling. ingo@1633: bjoern@1632: 2011-09-22 Bjoern Schilberg bjoern@1632: bjoern@1632: * doc/mapserver/mosel-mapfile.map: bjoern@1632: Full blown mosel wms mapfile. bjoern@1632: ingo@1631: 2011-09-22 Ingo Weinzierl ingo@1631: ingo@1631: * src/main/java/de/intevation/flys/artifacts/services/FLYSService.java: ingo@1631: New. A subclass of DefaultService which is used in FLYS to init and ingo@1631: shutdown database connections. ingo@1631: ingo@1631: * src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java, ingo@1631: src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java, ingo@1631: src/main/java/de/intevation/flys/artifacts/services/RiverService.java: ingo@1631: Centralized the initialization and shutdown of database connections. ingo@1631: These services now subclass FLYSService which handles the database stuff. ingo@1631: ingo@1631: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: The ingo@1631: current database connection is not closed here - this is done in a ingo@1631: Service or in the CallContext. ingo@1631: ingo@1631: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: It's ingo@1631: not necessary to create new database connections here. We already have ingo@1631: an existing connection which is initialized by CallContext. ingo@1631: ingo@1630: 2011-09-22 Ingo Weinzierl ingo@1630: ingo@1630: * src/main/java/de/intevation/flys/artifacts/states/DistanceOnlySelect.java: ingo@1630: Override validate() of parent classes to suppress "step" validation ingo@1630: which is not present in this state. ingo@1630: ingo@1630: * src/main/java/de/intevation/flys/artifacts/states/RangeState.java: Added ingo@1630: new method validateBounds() which really just validates a boundary ingo@1630: without "step" parameter. ingo@1630: felix@1629: 2011-09-21 Felix Wolfsteller felix@1629: sascha@1647: Added WaterlevelArtifact to accompany WINFOArtifacts in WDifferencesPlots. felix@1629: felix@1629: * src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java: felix@1629: New WaterlevelArtifact. felix@1629: felix@1629: * doc/conf/conf.xml: felix@1629: Added configuration for WaterlevelArtifact configuration (path to state-xml) felix@1629: waterlevel-factory. felix@1629: felix@1629: * doc/conf/artifacts/waterlevel.xml: felix@1629: New, trivial state description for Waterlevelartifact. felix@1629: felix@1629: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java: felix@1629: New, only state for WaterlevelArtifact. felix@1629: felix@1628: 2011-09-21 Felix Wolfsteller felix@1628: sascha@1647: Cosmetics, docs. felix@1628: felix@1628: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java, felix@1628: src/main/java/de/intevation/flys/collections/AttributeWriter.java, felix@1628: src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@1628: Cosmetics, documentation. felix@1628: felix@1627: 2011-09-21 Felix Wolfsteller felix@1627: sascha@1647: Added WaterlevelOut-processing ability to WDifferencesCurveGenerator. felix@1627: felix@1627: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1627: Process LONGITUDINAL_W facets. felix@1627: felix@1626: 2011-09-21 Felix Wolfsteller felix@1626: sascha@1647: Improved WDifferenceState in preparation to be able to deal with multiple sascha@1647: pairs for differences. felix@1626: felix@1626: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: felix@1626: Prepare multiple-pairs-case. felix@1626: ingo@1625: 2011-09-21 Ingo Weinzierl ingo@1625: ingo@1625: flys/issue315 (Ãœberschwemmungsfläche: String bei Streckenauswahl) ingo@1625: ingo@1625: * doc/conf/artifacts/winfo.xml: Added a new state for floodmap's range ingo@1625: input. This state will accept a km range only, there is no step width. ingo@1625: ingo@1625: * src/main/java/de/intevation/flys/artifacts/states/DistanceOnlySelect.java: ingo@1625: New. The state which is used to enter a km range with step width. ingo@1625: felix@1624: 2011-09-21 Felix Wolfsteller felix@1624: sascha@1647: Cosmetics, improved debug output, doc. felix@1624: felix@1624: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: felix@1624: Improved debug output. felix@1624: felix@1624: * src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java: felix@1624: Added documentation. felix@1624: felix@1624: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java, felix@1624: src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: felix@1624: Removed commented code. felix@1624: felix@1624: * src/main/java/de/intevation/flys/collections/AttributeParser.java: felix@1624: Whitespace cosmetics. felix@1624: felix@1623: 2011-09-21 Felix Wolfsteller felix@1623: sascha@1647: Avoid NullPointerException when drawing XYChart without data. felix@1623: felix@1623: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1623: Guard calls to dataset to avoid NullPointerException. felix@1623: ingo@1622: 2011-09-21 Ingo Weinzierl ingo@1622: ingo@1622: flys/issue325 (FLYS Client: Auswahl des DGM zeigt numerischen Wert an) ingo@1622: ingo@1622: * src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java: Write ingo@1622: a better label for the selected DEM into the static DESCRIBE. Use the ingo@1622: name of the DEM file as label instead of the database id. ingo@1622: bjoern@1188: 2011-09-16 Bjoern Schilberg bjoern@1188: bjoern@1188: * doc/mapserver/fontset.txt: bjoern@1188: Added initial font set for km_annotation layer. bjoern@1188: * doc/mapserver/symbols/symbols.sym: bjoern@1188: Added square symbol for km and fixpoint layer. bjoern@1188: * doc/mapserver/saar-mapfile.map: bjoern@1188: Adjust styling in the flys karte-archiv way. bjoern@1188: ingo@1187: 2011-09-19 Ingo Weinzierl ingo@1187: ingo@1621: Tagged RELEASE 2.5 ingo@1621: ingo@1621: * Changes: Prepared changes for release. ingo@1621: ingo@1621: 2011-09-19 Ingo Weinzierl ingo@1621: ingo@1187: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java, ingo@1187: src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java, ingo@1187: src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java, ingo@1187: src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java, ingo@1187: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Removed ingo@1187: needless imports. ingo@1187: ingo@1186: 2011-09-16 Ingo Weinzierl ingo@1186: ingo@1186: * doc/conf/meta-data.xml: Improved datacage configuration for DEMs. ingo@1186: ingo@1186: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1186: Query DGMs by the given ID in the FLYS data pool - not by given range ingo@1186: values. ingo@1186: ingo@1185: 2011-09-16 Ingo Weinzierl ingo@1185: ingo@1185: * doc/conf/meta-data.xml: Added a section for DEMs to the floodmap ingo@1185: section. ingo@1185: felix@1184: 2011-09-16 Felix Wolfsteller felix@1184: sascha@1647: Fix build. felix@1184: felix@1184: * src/main/java/de/intevation/flys/artifacts/state/WDifferencesState.java: felix@1184: Fix build. felix@1184: felix@1183: 2011-09-16 Felix Wolfsteller felix@1183: sascha@1647: Take a given WaterlevelPair-String, load artifact and plot the diff. felix@1183: felix@1183: * src/main/java/de/intevation/flys/artifacts/state/WDifferencesState.java: felix@1183: Load correct artifacts. felix@1183: bjoern@1182: 2011-09-16 Bjoern Schilberg bjoern@1182: bjoern@1182: * doc/mapserver/*: Added inital mapserver configuration files. bjoern@1182: ingo@1181: 2011-09-16 Ingo Weinzierl ingo@1181: ingo@1181: * doc/conf/meta-data.xml: Moved the system specific configuration into a ingo@1181: macro to the top of the configuration document. Call this macro at the ingo@1181: end of the user specific part and in the part that should contain the ingo@1181: system specific stuff only! ingo@1181: ingo@1180: 2011-09-16 Ingo Weinzierl ingo@1180: ingo@1180: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@1180: Defined createItem() here and adapted some method signatures, because I ingo@1180: need the CallContext deeper in code than expected. ingo@1180: ingo@1180: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java: ingo@1180: Write the name of the selected waterlevel into the static DESCRIBE. ingo@1180: ingo@1180: * src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java: ingo@1180: Adapted method signatures that have been changed in DefaultState. ingo@1180: ingo@1180: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@1180: Removed method createItem() which is now defined in the upper class ingo@1180: DefaultState. ingo@1180: ingo@1180: * src/main/resources/messages.properties, ingo@1180: src/main/resources/messages_de_DE.properties, ingo@1180: src/main/resources/messages_en.properties, ingo@1180: src/main/resources/messages_de.properties: Added string for selected ingo@1180: waterlevel that is displayed in static UI. ingo@1180: ingo@1179: 2011-09-16 Ingo Weinzierl ingo@1179: ingo@1179: * src/main/resources/messages.properties, ingo@1179: src/main/resources/messages_de_DE.properties, ingo@1179: src/main/resources/messages_en.properties, ingo@1179: src/main/resources/messages_de.properties: Added state label for ingo@1179: waterlevel selection. ingo@1179: ingo@1178: 2011-09-15 Ingo Weinzierl ingo@1178: ingo@1178: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java: ingo@1178: Validate incoming data string and strip brackets. ingo@1178: ingo@1178: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1178: Fetch waterlevel data from external Artifact if existing. If no external ingo@1178: Artifact is specified that provides waterlevel data, we gonna try to ingo@1178: fetch it from the current Artifact. ingo@1178: ingo@1177: 2011-09-15 Ingo Weinzierl ingo@1177: ingo@1177: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java: ingo@1177: Removed needless import which caused compile errors. ingo@1177: ingo@1176: 2011-09-15 Ingo Weinzierl ingo@1176: ingo@1176: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@1176: Added a transform() method. This method should be used to transform ingo@1176: input data in form of a string into a better data structure. This state ingo@1176: provides a simple implementation which just returns a StateData object ingo@1176: that contains exactly the input string. ingo@1176: ingo@1176: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Transform ingo@1176: input strings using DefaultState.transform() before they are added to ingo@1176: its data pool. ingo@1176: ingo@1175: 2011-09-15 Ingo Weinzierl ingo@1175: ingo@1175: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1175: Made collection solid for the case if it has no Artifacts. ingo@1175: ingo@1174: 2011-09-15 Ingo Weinzierl ingo@1174: ingo@1174: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Fetch Artifact ingo@1174: from ArtifactDatabase properly. Write better error logs if that process ingo@1174: fails. ingo@1174: felix@1173: 2011-09-14 Felix Wolfsteller felix@1173: sascha@1647: Extend WDifferences branch to have calculations in dedicated, new state. felix@1173: felix@1173: * doc/conf/artifacts/winfo.xml: Added new State and Transition in felix@1173: WDifferences-branch. felix@1173: felix@1173: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java: felix@1173: New state. felix@1173: felix@1173: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: felix@1173: Specify to not take input, prepare getting other facets. felix@1173: ingo@1172: 2011-09-14 Ingo Weinzierl ingo@1172: ingo@1172: * src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java: This ingo@1172: state now desires the UIProvider 'dem_datacage_panel'. ingo@1172: ingo@1172: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java: ingo@1172: New. This state is used to define the desired UIProvider ingo@1172: 'wsp_datacage_panel'. ingo@1172: ingo@1172: * doc/conf/artifacts/winfo.xml: Added a new way to start a WSPLGEN ingo@1172: calculation when choosing the calculation type 'floodmap'. ingo@1172: ingo@1171: 2011-09-14 Ingo Weinzierl ingo@1171: ingo@1171: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: Merge ingo@1171: facets only if their name AND their owner artifact are equal. ingo@1171: felix@1170: 2011-09-14 Felix Wolfsteller felix@1170: sascha@1647: Partial Fix flys/issue304 (3) (Baseline). felix@1170: felix@1170: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1170: Show Baseline in WDifferencesPlot. felix@1170: felix@1170: 2011-09-14 Felix Wolfsteller felix@1170: sascha@1647: Fix flys/issue310 (cross-section theme). felix@1170: felix@1170: * doc/conf/themes.xml: CrossSection-Themes: profile thin, water blue. felix@1170: felix@1169: 2011-09-14 Felix Wolfsteller felix@1169: sascha@1647: Fix flys/issue310 (cross-section theme). felix@1169: felix@1169: * doc/conf/themes.xml: CrossSection-Themes: profile thin, water blue. felix@1169: ingo@1168: 2011-09-13 Ingo Weinzierl ingo@1168: ingo@1168: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1168: Add an quick and simple error to the report if an error occured while ingo@1168: WSPLGENJob creation. ingo@1168: ingo@1168: * src/main/resources/messages.properties, ingo@1168: src/main/resources/messages_de_DE.properties, ingo@1168: src/main/resources/messages_en.properties, ingo@1168: src/main/resources/messages_de.properties: Added error messages for ingo@1168: WSPLGEN job creation errors. ingo@1168: felix@1167: 2011-09-13 Felix Wolfsteller felix@1167: sascha@1647: Fix crash when drawing StickyAxisAnnotation when no range was given. sascha@1647: User-directed issues remain ( flys/issue303 ). felix@1167: felix@1167: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java felix@1167: (draw): felix@1167: Guard access to domainAxis, rangeAxis and the corresponding ranges. felix@1167: Warn and exit if any was null. felix@1167: ingo@1166: 2011-09-13 Ingo Weinzierl ingo@1166: ingo@1166: flys/issue290 (Karte: Eingabe von Differenzen zw. WSP und Gelände findet ingo@1166: keine Ausprägung in der Karte) ingo@1166: ingo@1166: * doc/conf/mapserver/wsplgen_class.vm: Added styles for DIFF attribute. ingo@1166: ingo@1166: * doc/conf/mapserver/mapfile.vm: Set debug default to '5'. ingo@1166: ingo@1165: 2011-09-12 Ingo Weinzierl ingo@1165: ingo@1165: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1165: Add a first WSPLGEN status message (notifies the user about a ingo@1165: queued job) after the job has been added to the Scheduler. ingo@1165: ingo@1165: * src/main/resources/messages.properties, ingo@1165: src/main/resources/messages_de_DE.properties, ingo@1165: src/main/resources/messages_en.properties, ingo@1165: src/main/resources/messages_de.properties: Added english and german ingo@1165: status message text. ingo@1165: ingo@1164: 2011-09-12 Ingo Weinzierl ingo@1164: ingo@1164: * src/main/java/de/intevation/flys/utils/GeometryUtils.java: Write ingo@1164: shapefiles only if there are features for it existing. ingo@1164: ingo@1164: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1164: A WSPLGEN facet is only created, if the calculation was successfully ingo@1164: added to the Scheduler. A barrier facet is only created if the WSPLGEN ingo@1164: calculation has been added to the scheduler AND if there are digitized ingo@1164: geometries existing. ingo@1164: felix@1163: 2011-09-12 Felix Wolfsteller felix@1163: sascha@1647: Copied and slightly modified implementation of guessWaterIncreasing from sascha@1647: WQKms to (new) DataUtils. Accidentally commited usage in last commit, to sascha@1647: correct orientation of diagram (invert x axis). felix@1163: felix@1163: * src/main/java/de/intevation/flys/utils/DataUtils.java: felix@1163: New file with guessWaterIncreasing implementation from WQKms, felix@1163: slightly adjusted. felix@1163: felix@1162: 2011-09-12 Felix Wolfsteller felix@1162: sascha@1647: Cosmetics. felix@1162: felix@1162: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java, felix@1162: src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java: felix@1162: Cosmetics. felix@1162: felix@1161: 2011-09-12 Felix Wolfsteller felix@1161: sascha@1647: Added CSV Export for W-Differences. felix@1161: felix@1161: * doc/conf/conf.xml: Added Exporter. felix@1161: felix@1161: * doc/conf/artifacts/winfo.xml: Removed transition over distances felix@1161: state, added export outputmode and facet. felix@1161: felix@1161: * src/main/java/de/intevation/flys/exports/WDifferencesExporter.java: felix@1161: New, CSV-Exporter for WDifferences. felix@1161: felix@1161: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: felix@1161: Add export facet. felix@1161: felix@1160: 2011-09-12 Felix Wolfsteller felix@1160: felix@1160: * src/main/java/de/intevation/flys/artifacts/model/DataFacet.java: felix@1160: Cosmetics, docs. felix@1160: felix@1160: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java, felix@1160: src/main/java/de/intevation/flys/exports/AbstractExporter.java, felix@1160: src/main/java/de/intevation/flys/exports/DurationCurveExporter.java: felix@1160: Cosmetics. felix@1160: ingo@1159: 2011-09-12 Ingo Weinzierl ingo@1159: ingo@1159: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@1159: Sourced the code to append a concrete data item to the static DESCRIBE ingo@1159: part out to an own method (appendStaticData()). ingo@1159: ingo@1159: * src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java: ingo@1159: Override appendStaticData() to suppress the GeoJSON string to be ingo@1159: included in the static DESCRIBE. ingo@1159: ingo@1158: 2011-09-12 Ingo Weinzierl ingo@1158: ingo@1158: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java, ingo@1158: src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java, ingo@1158: src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java, ingo@1158: src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java, ingo@1158: src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java, ingo@1158: src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java, ingo@1158: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: ingo@1158: Removed needless imports. ingo@1158: ingo@1157: 2011-09-09 Ingo Weinzierl ingo@1157: ingo@1157: * src/main/java/de/intevation/flys/artifacts/model/CalculationMessage.java: ingo@1157: New. A subclass of Message (in the Artifacts system). It stores a ingo@1157: string message and a progress (in form of step x/y). ingo@1157: ingo@1157: * src/main/java/de/intevation/flys/wsplgen/JobObserver.java: The observer ingo@1157: now writes background messages into the artifact system using the ingo@1157: CallContext.addBackgroundMessage(). We use instances of ingo@1157: CalculationMessage here, that makes the WINFOArtifact able to put ingo@1157: progress information into the Artifact's DESCRIBE as well. ingo@1157: ingo@1157: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Write ingo@1157: status message and progress information into the DESCRIBE if the ingo@1157: Artifact has started a background process. ingo@1157: felix@1156: 2011-09-09 Felix Wolfsteller felix@1156: sascha@1647: Fix flys/issue280 . felix@1156: felix@1156: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: felix@1156: Do not draw boxes around annotations. felix@1156: felix@1155: 2011-09-09 Felix Wolfsteller felix@1155: sascha@1647: Fix flys/issue279 . felix@1155: felix@1155: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1155: Fix behaviour in various thinkable malconditions. felix@1155: felix@1154: 2011-09-09 Felix Wolfsteller felix@1154: felix@1154: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1154: Made one case of cross section fetching more robust. felix@1154: felix@1153: 2011-09-09 Felix Wolfsteller felix@1153: felix@1153: Fix Facet name and Legend of W-Differences, also insert state to specify felix@1153: distance. felix@1153: felix@1153: * doc/conf/artifacts/winfo.xml: Add additional transitions to walk over felix@1153: distances state. felix@1153: felix@1153: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: felix@1153: Set facets description. felix@1153: felix@1153: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1153: Take facets description as legend. felix@1153: felix@1152: 2011-09-09 Felix Wolfsteller felix@1152: felix@1152: Added configuration to kick-in w-differences branch of winfo. felix@1152: felix@1152: * doc/conf/conf.xml: Register new (w-differences) OutputGenerators. felix@1152: felix@1152: * doc/conf/artifacts/winfo.xml: Register new state and transitions. felix@1152: felix@1152: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: felix@1152: Added new (w-differences) calculation mode. felix@1152: felix@1152: * src/main/java/de/intevation/flys/exports/WDifferencesCurveInfoGenerator.java: felix@1152: New file, implementing naive approach to display w-differences felix@1152: (accidentially omitted in last commit). felix@1152: felix@1151: 2011-09-09 Felix Wolfsteller felix@1151: felix@1151: Added very stubby WDifferences State/OutGenerator for WINFOArtifact. felix@1151: felix@1151: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@1151: Added w_differences facet type. felix@1151: felix@1151: * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: felix@1151: New file, implements naive approach to calculate w-differences (of felix@1151: calculations identified by hardcoded uuids!) and register respective facet. felix@1151: felix@1153: * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: felix@1152: New file, implementing naive approach to display w-differences. felix@1151: felix@1151: 2011-09-09 Felix Wolfsteller felix@1150: felix@1150: Implement getArtifact(uuid,context) in FLYSUtils. felix@1150: felix@1150: * src/main/java/de/intevation/flys/utils/FLYSUtils.java (getArtifact): felix@1150: Added implementation, partially resolving a TODO. Added logger instance. felix@1150: ingo@1149: 2011-09-08 Ingo Weinzierl ingo@1149: ingo@1149: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENCalculation.java: ingo@1149: New. This sublcass of Calculation saves warnings and errors that occur ingo@1149: while WSPLGEN is running. ingo@1149: Note, that the interface of this class doesn't exactly apply the interface ingo@1149: of Calculation. Maybe, we should generalize this interface! ingo@1149: ingo@1149: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Stores ingo@1149: an instance of WSPLGENCalculation now. We use this instance to save ingo@1149: warnings and errors. ingo@1149: ingo@1149: * src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: Use the ingo@1149: WSPLGENCalculation to save errors and warnings. ingo@1149: ingo@1149: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENReportFacet.java: ingo@1149: New. This facet is used for WSPLGEN reports. It stores an instance of ingo@1149: WSPLGENCalculation which saves ERRORS and WARNINGS that occur while ingo@1149: WSPLGEN execution. ingo@1149: ingo@1149: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1149: Create a WSPLGENReportFacet for WSPLGEN reports. ingo@1149: ingo@1149: * doc/conf/conf.xml: Added an OutputGenerator 'report' for WSPLGEN ingo@1149: reports. ingo@1149: ingo@1149: * doc/conf/artifacts/winfo.xml: Added an output 'report' for WSPLGEN ingo@1149: reports. ingo@1149: felix@1148: 2011-09-08 Felix Wolfsteller felix@1148: felix@1148: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, felix@1148: src/main/java/de/intevation/flys/artifacts/math/WKmsOperation.java, felix@1148: src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: felix@1148: Cosmetics, docs. felix@1148: ingo@1147: 2011-09-08 Ingo Weinzierl ingo@1147: ingo@1147: * src/main/java/de/intevation/flys/wsplgen/JobObserver.java: Small ingo@1147: adjustments that makes it easier to subclass this observer. ingo@1147: ingo@1147: * src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java: New. A ingo@1147: sublcass of JobObserver which analyses the WSPLGEN output for errors and ingo@1147: warnings. ingo@1147: ingo@1147: * src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Use ingo@1147: JobObserver and ProblemObserver to track the whole WSPLGEN output and ingo@1147: print number of errors/warnings to log output. ingo@1147: felix@1146: 2011-09-08 Felix Wolfsteller felix@1146: felix@1146: Added translation of w_differences. felix@1146: felix@1146: * src/main/resources/messages_de_DE.properties, felix@1146: src/main/resources/messages_de.properties, felix@1146: src/main/resources/messages_en.properties, felix@1146: src/main/resources/messages.properties: felix@1146: Added "w_differnces" translation. felix@1146: ingo@1145: 2011-09-07 Ingo Weinzierl ingo@1145: ingo@1145: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Appended ingo@1145: a new attribute 'background-processing' to the DESCRIBE of this ingo@1145: Artifact. Its value is 'true' if this Artifact has started a background ingo@1145: thread which has not finished yet - otherwise it is 'false. ingo@1145: ingo@1144: 2011-09-07 Ingo Weinzierl ingo@1144: ingo@1144: * src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java, ingo@1144: src/main/java/de/intevation/flys/utils/GeometryUtils.java: Moved the ingo@1144: code to determine the extent of a river based on its axis to ingo@1144: GeometryUtils. ingo@1144: ingo@1144: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1144: Determine the extent of the selected river and set the WMSLayerFacet's ingo@1144: extent attribute. ingo@1144: felix@1143: 2011-09-07 Felix Wolfsteller felix@1143: felix@1143: Added Themeing support for CrossSection Diagrams. felix@1143: felix@1143: * doc/conf/themes.xml: felix@1143: Added new themes and mappings, slightly modified longitudinalsection felix@1143: theme. felix@1143: felix@1142: 2011-09-07 Felix Wolfsteller felix@1142: felix@1142: In CrossSection Diagram fix subtitle to display the km of which the data is felix@1142: actually displayed (maybe contrasting users wish). felix@1142: felix@1142: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1142: (getCrossSectionSnapKm): New method to fetch the actual km of crosssection. felix@1142: felix@1142: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@1142: Add correct km to charts subtitle. felix@1142: felix@1141: 2011-09-07 Felix Wolfsteller felix@1141: felix@1141: Fix various display-issues like i18n in cross-section diagram. felix@1141: felix@1141: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: felix@1141: Set description of facets to expected values. felix@1141: felix@1141: * src/main/java/de/intevation/flys/artifacts/exports/CrossSectionGenerator.java: felix@1141: Fix i18n of chart title. Set subtitle to expected value, pass facets felix@1141: description to StyledSeries to see expected legend. felix@1141: felix@1141: 2011-09-07 Felix Wolfsteller felix@1141: felix@1141: Cosmetics, resolved refactoring todo. felix@1141: felix@1141: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java felix@1141: (compute, computeAdvance, computeFeed): Refactored, extracted method, felix@1141: resolving duplicate code and TODO. felix@1141: felix@1139: 2011-09-07 Felix Wolfsteller felix@1139: felix@1139: Fix waterline "calculation" at given km. Chosen approach is felix@1139: "head-through-wall". felix@1139: felix@1139: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1139: Some refactoring to do the same calculation twice easier and be able felix@1139: to "cross" waterline against correct profile data. felix@1139: felix@1139: felix@1138: 2011-09-07 Felix Wolfsteller felix@1138: felix@1138: Fix setting of kilometer for profile (not yet waterlevel) of cross section felix@1138: diagram. felix@1138: felix@1138: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1138: (getCrossSectionData): Respect corss_section.km data; do naive linear felix@1138: search for profile data for this km. felix@1138: felix@1138: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java: felix@1138: Declare a ComputeType. felix@1138: felix@1138: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: felix@1138: Implement computeFeed. felix@1138: felix@1137: 2011-09-07 Felix Wolfsteller felix@1137: felix@1137: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java, felix@1137: src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1137: Minor cosmetics. felix@1137: felix@1136: 2011-09-07 Felix Wolfsteller felix@1136: felix@1136: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java, felix@1136: src/main/java/de/intevation/flys/artifacts/model/DataFacet.java, felix@1136: src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java, felix@1136: src/main/java/de/intevation/flys/artifacts/state/DefaultState.java: felix@1136: Cosmetics, docs. felix@1136: ingo@1135: 2011-09-06 Ingo Weinzierl ingo@1135: ingo@1135: * doc/conf/mapserver/barrier_polygons_class.vm, ingo@1135: doc/conf/mapserver/barrier_lines_class.vm, ingo@1135: doc/conf/mapserver/wsplgen_class.vm: Default Mapserver styles for ingo@1135: barriers and WSPLGEN results. Those styles are only used as long as we ingo@1135: don't have map specific themes (as already used in charts). ingo@1135: ingo@1135: * doc/conf/mapserver/layer.vm: Implements a fallback mechanism for styling ingo@1135: barrier lines/polygons and WSPLGEN results. ingo@1135: ingo@1135: * src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Added a ingo@1135: getStyle() method that currently returns "null". This method needs to be ingo@1135: implemented when map themes are introduced. ingo@1135: ingo@1134: 2011-09-06 Ingo Weinzierl ingo@1134: ingo@1134: * src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: Renamed ingo@1134: some attributes to make their job in the mapfile more obvious. ingo@1134: ingo@1134: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added ingo@1134: new facet type for barriers. ingo@1134: ingo@1134: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: Add ingo@1134: a facet for the barriers layer. ingo@1134: ingo@1134: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Parse ingo@1134: barriers (lines and polygons) and create two new layers for each type - ingo@1134: those layers are grouped. ingo@1134: ingo@1134: * doc/conf/mapserver/layer.vm: Renamed attribute based on changes in ingo@1134: LayerInfo and added support for Group-Layers. ingo@1134: raimund@1133: 2011-09-06 Raimund Renkert raimund@1133: raimund@1133: * doc/conf/conf.xml: raimund@1133: Added driver to database configuration for use with postgresql. raimund@1133: ingo@1132: 2011-09-06 Ingo Weinzierl ingo@1132: ingo@1132: * doc/conf/mapserver/mapfile.vm: Removed FONTSET attribute and set quotes ingo@1132: for SHAPEPATH. ingo@1132: ingo@1131: 2011-09-05 Ingo Weinzierl ingo@1131: ingo@1131: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java: ingo@1131: Removed. We gonna use the WMSLayerFacet until now. ingo@1131: ingo@1131: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1131: Add a WMSLayerFacet after we triggered the Scheduler to start a WSPLGEN ingo@1131: calculation. ingo@1131: ingo@1130: 2011-09-05 Ingo Weinzierl ingo@1130: ingo@1130: * doc/conf/mapserver/layer.vm, ingo@1130: doc/conf/mapserver/mapfile.vm: Small bugfixes and style improvements. ingo@1130: ingo@1130: * src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Trigger the ingo@1130: MapfileGenerator after a WSPLGEN job has finished regardless if it has ingo@1130: been finished successfully or not. ingo@1130: ingo@1129: 2011-09-05 Ingo Weinzierl ingo@1129: ingo@1129: * pom.xml: Added Apache Velocity 1.7 for templating support. ingo@1129: ingo@1129: * doc/conf/conf.xml: Added config options for mapserver/template relevant ingo@1129: stuff. ingo@1129: ingo@1129: * doc/conf/mapserver/mapfile.vm, ingo@1129: doc/conf/mapserver/layer.vm: New. A default mapfile template and a ingo@1129: template used for layers. ingo@1129: ingo@1129: * src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java: New. ingo@1129: This class is used while reading WMS layer relevant information from ingo@1129: filesystem. ingo@1129: ingo@1129: * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: New. This ingo@1129: thread is used for creating mapfiles for Mapserver. The MapfileGenerator ingo@1129: runs in daemon mode (own thread) and creates mapfiles based on WMS ingo@1129: layer relevant information read from filesystem. ingo@1129: ingo@1129: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java, ingo@1129: src/main/java/de/intevation/flys/utils/FLYSUtils.java: Moved shapefile ingo@1129: specific XPath expressions from FloodMapState to FLYSUtils which is a ingo@1129: better place to use it in other classes (as MapfileGenerator). ingo@1129: ingo@1128: 2011-09-05 Ingo Weinzierl ingo@1128: ingo@1128: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: ingo@1128: Bugfixed broken attribute assignment. ingo@1128: ingo@1128: * src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: Call ingo@1128: CallContext.afterBackground() after a WSPLGEN job has finished to remove ingo@1128: the background lock from Artifact. ingo@1128: ingo@1128: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1128: Call CallContext.afterCall(BACKGROUND) to lock the Artifact for ingo@1128: background processing. ingo@1128: ingo@1127: 2011-09-02 Ingo Weinzierl ingo@1127: ingo@1127: * src/main/java/de/intevation/flys/wsplgen/JobExecutor.java: New. This ingo@1127: class is used to start WSPLGEN for a specific WSPLGENJob. The System ingo@1127: property "wsplgen.bin.path" tells the JobExecutor where the WSPLGEN ingo@1127: binary is placed (which means in general, the property points to the ingo@1127: 'wsplgen.exe'). ingo@1127: ingo@1127: * src/main/java/de/intevation/flys/wsplgen/Scheduler.java: New. This ingo@1127: scheduler currently allows to start just a single WSPLGEN Thread. All ingo@1127: WSPLGEN calculations should be started using Scheduler.addJob(). ingo@1127: ingo@1127: * src/main/java/de/intevation/flys/wsplgen/JobObserver.java: New. This ingo@1127: thread reads log messages from WSPLGEN and listens for specific ingo@1127: messages. It should be used to update status messages of the WSPLGEN ingo@1127: calculation that is currently running. ingo@1127: There is a System property that tells the JobObserver to log all WSPLGEN ingo@1127: output to log4j: enable WSPLGEN output with "-Dwsplgen.log.output=true". ingo@1127: ingo@1127: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Added ingo@1127: the FLYSArtifact, the current working directory and the CallContext. ingo@1127: ingo@1127: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1127: Use the Scheduler to start new WSPLGEN calculations. ingo@1127: felix@1126: 2011-09-02 Felix Wolfsteller felix@1126: felix@1126: Add CrossSectionInfoGenerator. felix@1126: felix@1126: * src/main/java/de/intevation/flys/exports/CrossSectionInfoGenerator.java: felix@1126: New, trivial implementation of CrossSectionInfoGenerator. felix@1126: felix@1126: * doc/conf/conf.xml: felix@1126: Register CrossSectionInfoGenerator. felix@1126: felix@1125: 2011-09-01 Felix Wolfsteller felix@1125: felix@1125: Cleanups of CrossSection*. felix@1125: felix@1125: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1125: New methods to retrieve name of utilized CrossSection. felix@1125: felix@1125: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@1125: Cleanup, get rid of copied unused method, documentation and more sensible felix@1125: translations. felix@1125: felix@1125: * src/main/resources/messages_de_DE.properties, felix@1125: src/main/resources/messages_de.properties, felix@1125: src/main/resources/messages_en.properties, felix@1125: src/main/resources/messages.properties: felix@1125: Added cross_section* translations, also cleanups. felix@1125: ingo@1124: 2011-09-01 Ingo Weinzierl ingo@1124: ingo@1124: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1124: Set the "typ" attribute of lines and polygons in barrier shapefiles. ingo@1124: ingo@1123: 2011-09-01 Ingo Weinzierl ingo@1123: ingo@1123: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1123: Set the Z values of line and polygon barrier geometries. Both barrier ingo@1123: shapefiles will contain 3D geometries now. ingo@1123: felix@1125: 2011-09-01 Felix Wolfsteller felix@1122: felix@1122: Get real data to display in CrossSection (although ignorant of felix@1122: parameterization), making use of the showcase code of the CrossSectionApp- felix@1122: Standalone application. felix@1122: felix@1122: * doc/conf/artifacts/winfo.xml: Add new facet (~waterline) to state/out. felix@1122: felix@1122: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1122: New methods to get relevant data. So far just takes the first value of felix@1122: everything and assuming a waterlevel at 130m. felix@1122: felix@1122: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java: felix@1122: New Facet responsible of water level in cross section. felix@1122: felix@1122: * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: felix@1122: Made some functionality publicly and statically available. felix@1122: felix@1122: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java: felix@1122: Update call. felix@1122: felix@1122: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added new felix@1122: Facet type. felix@1122: felix@1122: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: felix@1122: Added new Facet to out. felix@1122: felix@1122: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@1122: Respect new facet and facets data. felix@1122: ingo@1121: 2011-09-01 Ingo Weinzierl ingo@1121: ingo@1121: * src/main/java/de/intevation/flys/utils/GeometryUtils.java: Close an open ingo@1121: shapefile transaction and catch exceptions which are thrown while ingo@1121: shapefile creation here. If there occured an error, this functions ingo@1121: returns FALSE, otherwise TRUE. ingo@1121: ingo@1121: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1121: Removed exception handling while shapefile creation - this is done in ingo@1121: GeometryUtils now. ingo@1121: ingo@1120: 2011-09-01 Ingo Weinzierl ingo@1120: ingo@1120: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1120: Renamed the file for WSPLGEN required waterlevels to "waterlevels.wst". ingo@1120: WSPLGEN did not work with the former "waterlevels.txt" file. ingo@1120: ingo@1119: 2011-09-01 Ingo Weinzierl ingo@1119: ingo@1119: * src/main/java/de/intevation/flys/utils/GeometryUtils.java: New static ingo@1119: function that builds new SimpleFeatureTypes with additional attributes. ingo@1119: ingo@1119: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1119: Write attributes "ELEVATION" and "KILOMETER" into the crosssection ingo@1119: tracks shapefiles. ingo@1119: ingo@1118: 2011-08-31 Ingo Weinzierl ingo@1118: ingo@1118: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a method ingo@1118: stub that should return a FLYSArtifact based on a given UUID. ingo@1118: ingo@1118: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1118: Write the selected WST file for WSPLGEN. Note, that this is the WST file ingo@1118: of the current WINFO artifact. Furthermore, there is currently no way ingo@1118: for the user to select a column from WST file, so we currently use the ingo@1118: column that is written to WST file at first. ingo@1118: ingo@1117: 2011-08-31 Ingo Weinzierl ingo@1117: ingo@1117: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed ingo@1117: the parameter order of a compute(...) method. This makes me able to call ingo@1117: this without a hash value. ingo@1117: ingo@1117: * src/main/java/de/intevation/flys/artifacts/model/DataFacet.java, ingo@1117: src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java, ingo@1117: src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java: ingo@1117: Adapted the parameter order of the compute() call (see above). ingo@1117: felix@1116: 2011-08-31 Felix Wolfsteller felix@1116: felix@1116: More bones to CrossSection sceleton. felix@1116: felix@1116: * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java, felix@1116: src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java: felix@1116: New, yet trivial implementations of Factory and Facet for CrossSections. felix@1116: felix@1116: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: felix@1116: Add new CrossSection- (instead of Default-)Facet. felix@1116: felix@1116: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, felix@1116: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@1116: Adjusted to use (touch) new Factory and Facet. felix@1116: felix@1115: 2011-08-31 Felix Wolfsteller felix@1115: felix@1115: Cosmetics. felix@1115: felix@1115: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1115: Cosmetics. felix@1115: felix@1113: 2011-08-31 Felix Wolfsteller felix@1113: felix@1113: Cosmetics. felix@1113: felix@1113: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java, felix@1113: src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java, felix@1113: src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java, felix@1113: src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@1113: Removed obselete imports. felix@1113: felix@1113: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1113: Removed obselete imports, whitespaces. felix@1113: felix@1113: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1113: Whitespaces, docs. felix@1113: felix@1112: 2011-08-31 Felix Wolfsteller felix@1112: felix@1112: Fix translations of Main Values Facets. felix@1112: felix@1112: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1112: Do acrobatics to keep state transient but get translated title. felix@1112: felix@1112: * src/main/java/de/intevation/flys/artifacts/MainValuesQFacet.java, felix@1112: src/main/java/de/intevation/flys/artifacts/MainValuesWFacet.java: felix@1112: Changed constructor to get description (which is then already be translated) felix@1112: dynamically, adjust deepCopy. felix@1112: felix@1112: * src/main/java/de/intevation/flys/states/StaticState.java: felix@1112: Adjust constructor accordingly. felix@1112: felix@1111: 2011-08-31 Felix Wolfsteller felix@1111: felix@1111: Add sceleton for CrossSection outs. felix@1111: felix@1111: * doc/conf/artifacts/winfo.xml: felix@1111: Added new output mode to respective state of winfo artifact configuration. felix@1111: felix@1112: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: felix@1111: Add new Dummy-Facet in state. felix@1111: felix@1111: * doc/conf/conf.xml: felix@1111: Registered new OutputGenerator. felix@1111: felix@1111: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@1111: Added new CROSS_SECTION type. felix@1111: felix@1111: * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: felix@1111: New, stubby skeleton for an CrossSectionGenerator. felix@1111: felix@1111: * src/main/resources/messages_de_DE.properties, felix@1111: src/main/resources/messages_de.properties, felix@1111: src/main/resources/messages_en.properties, felix@1111: src/main/resources/messages.properties: felix@1111: Added cross_section translation, also cleanups (e.g. main values). felix@1111: ingo@1110: 2011-08-31 Ingo Weinzierl ingo@1110: felix@1114: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Marked ingo@1110: required parameters with a comment. ingo@1110: ingo@1110: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1110: Export floodplains (german 'Talaue') to shapefile and write its file ingo@1110: path into the WSPLGEN job. ingo@1110: ingo@1109: 2011-08-31 Ingo Weinzierl ingo@1109: ingo@1109: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1109: Search for a DGM that fits to the current river and km range and write ingo@1109: its file path into the WSPLGEN job. ingo@1109: ingo@1108: 2011-08-30 Ingo Weinzierl ingo@1108: ingo@1108: * src/main/java/de/intevation/flys/utils/GeometryUtils.java: Improved ingo@1108: exception handling: exceptions are catched in GeometryUtils now. ingo@1108: ingo@1108: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1108: Write river axis and crosssections to shapefiles and save shapefile ingo@1108: pathes in WSPLGENJob. ingo@1108: ingo@1107: 2011-08-30 Ingo Weinzierl ingo@1107: ingo@1107: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1107: Use the coorect SRID for reading GeoJSON and writing line/polygon ingo@1107: shapefiles. ingo@1107: ingo@1107: * src/main/java/de/intevation/flys/utils/GeometryUtils.java: Use a ingo@1107: concrete coordinate system while feature type creation. ingo@1107: ingo@1106: 2011-08-30 Ingo Weinzierl ingo@1106: ingo@1106: * pom.xml: Added GeoTools 2.7.2 dependencies for Shapefile, GeoJSON and ingo@1106: EPSG support. ingo@1106: ingo@1106: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: Store ingo@1106: 'LIN' parameter in a list now. A WSPLGEN parameter might contain many ingo@1106: LINs. ingo@1106: ingo@1106: * src/main/java/de/intevation/flys/utils/GeometryUtils.java: New functions ingo@1106: to create FeatureTypes and to write shapefiles. ingo@1106: ingo@1106: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1106: Write user specified barriers into a shapefile placed in the artifact ingo@1106: directory. ingo@1106: ingo@1105: 2011-08-30 Ingo Weinzierl ingo@1105: ingo@1105: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: Added a function ingo@1105: that extracts the SRID defined in the global configuration file for a ingo@1105: given river. ingo@1105: ingo@1105: * src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: ingo@1105: Removed the code that extracts the river SRID - use FLYSUtils instead. ingo@1105: felix@1104: 2011-08-29 Felix Wolfsteller felix@1104: felix@1104: Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver. felix@1104: felix@1104: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: felix@1104: Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver. felix@1104: felix@1103: 2011-08-29 Felix Wolfsteller felix@1103: felix@1103: Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver. felix@1103: felix@1103: * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java, felix@1103: src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java, felix@1103: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java, felix@1103: src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java, felix@1103: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: felix@1103: Use FLYSUtils.getRiver instead of WINFOArtifact.getRiver. felix@1103: felix@1102: 2011-08-29 Felix Wolfsteller felix@1102: felix@1102: Commit accidentally omitted result of refactoring (WINFO/FLYSUtils/getRiver). felix@1102: felix@1102: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: felix@1102: Removed implementations of getRiver, update calls to use FLYSUtils. felix@1102: felix@1101: 2011-08-29 Felix Wolfsteller felix@1101: felix@1101: Interpolate Q main values, generate interpolated W main values on the fly from felix@1101: Q main values. felix@1101: felix@1101: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1101: (getGaugeDatum): removed, obsolete felix@1101: (getLocation): new, gets location felix@1101: Use WstValueTable to look up interpolated Qs of MainValues. In absence of felix@1101: the same functionality for Ws, generate W Main Values from Q Main Values. felix@1101: felix@1100: 2011-08-29 Felix Wolfsteller felix@1100: felix@1100: Use new helper class FLYSUtils, minor refactorization. felix@1100: felix@1100: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1100: Use new functionality of helper class, convenience of FLYSArtifact. felix@1100: felix@1099: 2011-08-29 Felix Wolfsteller felix@1099: felix@1099: Refactored to use new Helper class FLYSUtils, moved getRiver-functionality felix@1099: in there. felix@1099: felix@1099: * src/main/java/de/intevation/flys/utils/FLYSUtils.java (getRiver): felix@1099: New function to retrieve river of an artifact, slightly modified from felix@1099: WINFOArtifact. felix@1099: felix@1102: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: felix@1099: Removed implementations of getRiver, update calls to use FLYSUtils. felix@1099: felix@1098: 2011-08-29 Felix Wolfsteller felix@1098: felix@1098: Minor cosmetics. felix@1098: felix@1098: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1098: Resolved a TODO. felix@1098: felix@1098: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: felix@1098: Added some documentation. felix@1098: felix@1098: * src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: felix@1098: Minor cosmetic. felix@1098: sascha@1097: 2011-08-26 Sascha L. Teichmann sascha@1097: sascha@1097: * doc/conf/meta-data.xml: Made it Oracle compatible. sascha@1097: sascha@1097: * src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java: sascha@1097: If running in debug mode log executed statements. sascha@1097: Helps debugging Oracle connections. sascha@1097: ingo@1096: 2011-08-26 Ingo Weinzierl ingo@1096: ingo@1096: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1096: Set some WSPLGENJob parameters which are stored at FLYSArtifact. ingo@1096: ingo@1095: 2011-08-26 Ingo Weinzierl ingo@1095: ingo@1095: * src/main/java/de/intevation/flys/utils/FLYSUtils.java: New. This helper ingo@1095: class should provide some basic FLYS stuff. Currently, there are functions ingo@1095: that return the km range/location. ingo@1095: ingo@1095: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed ingo@1095: the methods that return the km range/locations. This is implemented in ingo@1095: FLYSUtils now. ingo@1095: ingo@1095: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java, ingo@1095: src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java, ingo@1095: src/main/java/de/intevation/flys/exports/ChartGenerator.java: Adapted ingo@1095: the WINFO method calls to retrieve the km range/locations - call ingo@1095: FLYSUtils now. ingo@1095: ingo@1094: 2011-08-26 Ingo Weinzierl ingo@1094: ingo@1094: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New method ingo@1094: to destroy a single state. ingo@1094: felix@1093: 2011-08-26 Felix Wolfsteller felix@1093: felix@1093: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1093: Cosmetic, remove debug output and comments, minor style adjustments. felix@1093: felix@1092: 2011-08-26 Felix Wolfsteller felix@1092: felix@1092: Added limited themeing-support for MainValues. felix@1092: felix@1092: * doc/conf/themes.xml: felix@1092: Added Q/W-MainValues themes. felix@1092: felix@1092: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1092: Added limited theming support, add legend entry for main values. felix@1092: ingo@1091: 2011-08-26 Ingo Weinzierl ingo@1091: ingo@1091: * doc/conf/conf.xml: Added a configuration node that points to the directory ingo@1091: where shapefiles should be stored in. ingo@1091: ingo@1091: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java: New. ingo@1091: This class is used to save/write the parameter for a WSPLGEN calculation. ingo@1091: WSPLGEN's *.par files are written using the toFile() method. ingo@1091: ingo@1091: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1091: A directory for all WSPLGEN stuff is created in computeAdvance() - those ingo@1091: directory and all its contained files are removed in endOfLife(). ingo@1091: felix@1090: 2011-08-26 Felix Wolfsteller felix@1090: felix@1090: * src/main/java/de/intevation/flys/utils/ThemeUtil.java: felix@1090: New Util to work with theme-related stuff. felix@1090: felix@1089: 2011-08-26 Felix Wolfsteller felix@1089: felix@1089: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1089: Use NamedDoubles instead of MainValues, try to adjust scale of Ws. felix@1089: felix@1089: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1089: Use NamedDoubles instead of MainValues, generalize annotation handling, to felix@1089: allow easier reusability and themeing. felix@1089: felix@1089: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: felix@1089: Added convenience constructor, exemplary switch on bordered text. felix@1089: felix@1088: 2011-08-26 Felix Wolfsteller felix@1088: felix@1088: * doc/conf/meta-data.xml: felix@1088: Recommend MainValues for Computed discharge curves. felix@1088: felix@1087: 2011-08-26 Felix Wolfsteller felix@1087: felix@1087: New NamedDouble class which implements a -pair. felix@1087: felix@1087: * src/main/java/de/intevation/flys/artifacts/model/NamedDouble.java: felix@1087: New, implementation of a double with a string or vice versa. felix@1087: ingo@1086: 2011-08-26 Ingo Weinzierl ingo@1086: ingo@1086: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Call ingo@1086: State.endOfLife() for all States when endOfLife() of the Artifact is ingo@1086: called. ingo@1086: felix@1085: 2011-08-26 Felix Wolfsteller felix@1085: felix@1085: Also plot "W"-MainValues (on vertical axis), take correct parameters, but felix@1085: do not convert to correct scale (cm vs NN+m). felix@1085: felix@1085: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: felix@1085: Naive attempt at allowing the vertical axis to be sticked at. felix@1085: felix@1085: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1085: Store Q and W MainValues separately, add them to plot as annotations. felix@1085: felix@1085: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1085: Serve the MainValues, parameterized on river and location, Q and W. felix@1085: Removed Facet-implementation. felix@1085: felix@1085: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@1085: Updated Facet Types. felix@1085: felix@1085: * src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java: felix@1085: src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java: felix@1085: New, trivial facets, extracted from MainValuesArtifact. felix@1085: ingo@1084: 2011-08-26 Ingo Weinzierl ingo@1084: ingo@1084: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Call ingo@1084: State.endOfLife() of each State that is no longer in the queue of the ingo@1084: artifact when this artifact steps back to a previous state. ingo@1084: felix@1083: 2011-08-25 Felix Wolfsteller felix@1083: felix@1083: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1083: Plot MainValues delivered by MainValuesFacet in much the same ways than felix@1083: Annotations in LongitudinalSection plots. felix@1083: felix@1082: 2011-08-25 Felix Wolfsteller felix@1082: felix@1082: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: felix@1082: Prepare further differentiation between Annotations that stick to X or Y- felix@1082: Axis, copied some positioning logic into StickyAxisAnnotation felix@1082: implementation. felix@1082: felix@1081: 2011-08-25 Felix Wolfsteller felix@1081: felix@1081: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: felix@1081: Minor cosmetics. felix@1081: felix@1080: 2011-08-25 Felix Wolfsteller felix@1080: felix@1080: Added MainValue-Fetching-Capabilities to MainValuesArtifact. felix@1080: felix@1080: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java felix@1080: (initialize, getMinValues): felix@1080: Let MainValuesArtifact return "real" MainValues, although ignorant of all felix@1080: parameterization. felix@1080: felix@1080: 2011-08-25 Felix Wolfsteller felix@1080: felix@1080: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java felix@1080: (MainValueFacet): felix@1080: Improved and straightened implementation, added code-Annotations and Todos. felix@1080: felix@1079: 2011-08-25 Felix Wolfsteller felix@1079: felix@1079: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java felix@1079: (MainValueFacet): felix@1079: Improved and straightened implementation, added code-Annotations and Todos. felix@1079: felix@1078: 2011-08-25 Felix Wolfsteller felix@1078: felix@1078: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java felix@1078: (getState): felix@1078: Resolved multiple creation of state (yet not very clean). felix@1078: felix@1077: 2011-08-25 Felix Wolfsteller felix@1077: felix@1077: * src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java, felix@1077: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1077: Cosmetics, docs. felix@1077: felix@1077: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: felix@1077: Cosmetics. felix@1077: felix@1076: 2011-08-25 Felix Wolfsteller felix@1076: felix@1076: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: felix@1076: Added new (MainValues) Facet-Type. felix@1076: ingo@1075: 2011-08-24 Ingo Weinzierl ingo@1075: ingo@1075: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: ingo@1075: Added a method that returns a River object based on its database id. ingo@1075: ingo@1075: * src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: The ingo@1075: data that is required for this artifact is fetched from database instead ingo@1075: from a Master-Artifact. The creation of static artifacts should use ingo@1075: database ids instead of cloning a Master-Artifact. ingo@1075: ingo@1074: 2011-08-24 Ingo Weinzierl ingo@1074: ingo@1074: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: ingo@1074: Removed needless imports. ingo@1074: felix@1073: 2011-08-24 Felix Wolfsteller felix@1073: felix@1076: Added configuration for factory and rule for MainValueArtifacts. felix@1073: felix@1073: * doc/conf.xml: felix@1073: Add a mainvalue factory to serve MainValueArtifacts. felix@1073: felix@1073: * doc/conf/meta-data.xml: felix@1073: Recomment mainvalue artifact when computed_discharge_curve can be put out. felix@1073: felix@1073: 2011-08-24 Felix Wolfsteller felix@1073: felix@1073: Let MainValuesArtifact have a state, outputmode and facet. felix@1073: felix@1073: * src/main/java/de/intevation/flys/artifacts/states/StaticState.java: felix@1073: New, a non-abstract DefaultState. felix@1073: felix@1073: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1073: Progressed with implementation, use StaticState to hook output modes and felix@1073: facet in; use (Static)FLYSArtifact implementation. felix@1073: felix@1070: 2011-08-24 Felix Wolfsteller felix@1070: felix@1070: Smaller cosmetics. felix@1070: felix@1070: * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java, felix@1070: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: felix@1070: Cosmetics in comments. felix@1070: felix@1070: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: felix@1070: Added @Override annotations. felix@1070: felix@1070: * src/main/java/de/intevation/flys/artifacts/model/DataFacet.java: felix@1070: Use brackets to improve readability of ternary operator. felix@1070: felix@1071: 2011-08-24 Sascha L. Teichmann sascha@1069: sascha@1069: * doc/conf/meta-data.xml: Use "ids" in user specific part, too. sascha@1069: felix@1071: 2011-08-24 Sascha L. Teichmann sascha@1068: sascha@1068: * doc/conf/meta-data.xml: s/db-ids/ids/g to unify system and user specific sascha@1068: loading. sascha@1068: felix@1067: 2011-08-24 Felix Wolfsteller felix@1067: felix@1067: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: felix@1067: Extracted access to state and states in order to have fewer places to felix@1067: modify when going for single/trivial state- artifacts. felix@1067: ingo@1066: 2011-08-24 Ingo Weinzierl ingo@1066: ingo@1066: * src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java: ingo@1066: Append the river's srid to the WMSLayerFacet. ingo@1066: felix@1065: 2011-08-24 Felix Wolfsteller felix@1065: felix@1065: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1065: Minor fixes, ressurect Facet implementation as inner class. felix@1065: ingo@1064: 2011-08-24 Ingo Weinzierl ingo@1064: ingo@1064: * doc/conf/artifacts/winfo.xml: Moved the input of barriers one state ingo@1064: earlier where the scenario is selected as well. ingo@1064: ingo@1064: * src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java: ingo@1064: This state now desires the "map_digitize" UI provider and returns both ingo@1064: items "scenario" and "uesk.barriers" in the dynamic describe part. ingo@1064: ingo@1064: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1064: Removed the UI provider and the computeFeed() which is no longer needed, ingo@1064: because there is no more user input in this state. ingo@1064: ingo@1063: 2011-08-24 Ingo Weinzierl ingo@1063: ingo@1063: * src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java, ingo@1063: src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: ingo@1063: Repaired broken xpath expressions (the config changed in one of the last ingo@1063: commits) and make use of the variable support in xpath expressions to ingo@1063: replace the rivername. ingo@1063: ingo@1063: * src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java: ingo@1063: Save the rivername while initializing this artifact. This is now ingo@1063: necessary, because each river can have its own background wms ingo@1063: configured. ingo@1063: ingo@1062: 2011-08-23 Ingo Weinzierl ingo@1062: ingo@1062: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@1062: Repaired broken river-wms initialization. ingo@1062: sascha@1061: 2011-08-23 Sascha L. Teichmann sascha@1061: sascha@1061: * src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java, sascha@1061: src/main/java/de/intevation/flys/artifacts/model/DataFacet.java, sascha@1061: src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java, sascha@1061: src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java, sascha@1061: src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java, sascha@1061: src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java, sascha@1061: src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java, sascha@1061: src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java, sascha@1061: src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java: sascha@1061: Made facets cloneable with the right type. sascha@1061: sascha@1061: * src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java, sascha@1061: src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: sascha@1061: Removed superfluous imports. sascha@1061: ingo@1060: 2011-08-23 Ingo Weinzierl ingo@1060: ingo@1060: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@1060: Declare the first artifact of an output as master artifact (artifacts ingo@1060: are ordered by their creation time). ingo@1060: sascha@1059: 2011-08-23 Sascha L. Teichmann sascha@1059: sascha@1059: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: sascha@1059: Removed facet interface. sascha@1059: sascha@1059: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@1059: Make artifacts cloneable. TODO: Override deepCopy() in subclassed sascha@1059: states and facets. sascha@1059: ingo@1058: 2011-08-23 Ingo Weinzierl ingo@1058: ingo@1058: * doc/conf/conf.xml: Added the MapInfoService and adapted the floodmap ingo@1058: configuration. Now, each river can have its own background wms layer ingo@1058: defined. ingo@1058: ingo@1058: * src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java: ingo@1058: New. This service returns some basic information used to create maps for ingo@1058: a specific river. The name of the desired river needs to be defined at ingo@1058: "/mapinfo/river/text()". ingo@1058: ingo@1058: * src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: ingo@1058: Adapted an xpath expression that points to the srid of a river in the ingo@1058: floodmap configuration (which changed). ingo@1058: sascha@1057: 2011-08-22 Sascha L. Teichmann sascha@1057: sascha@1057: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@1057: Build out/facet filter from XML document passed at creation time. sascha@1057: sascha@1056: 2011-08-22 Sascha L. Teichmann sascha@1056: sascha@1056: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@1056: Added some code to filter outs/facets by an optional positive list. sascha@1056: This is needed to only expose parts of the facets. This sascha@1056: is needed for artifacts which are loaded into a collection. sascha@1056: TODO: create the filter from the XML document passed at creation sascha@1056: time. sascha@1056: sascha@1055: 2011-08-22 Sascha L. Teichmann sascha@1055: sascha@1055: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Moved all sascha@1055: WINFO specific code to WINFOArtifact. FLYSArtifact is now only revolving sascha@1055: about state affairs. sascha@1055: sascha@1055: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Re-inserted sascha@1055: the specific stuff here. sascha@1055: sascha@1055: * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java, sascha@1055: src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, sascha@1055: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java, sascha@1055: src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java, sascha@1055: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, sascha@1055: src/main/java/de/intevation/flys/exports/ChartGenerator.java: sascha@1055: Adjusted the casts. sascha@1055: sascha@1054: 2011-08-22 Sascha L. Teichmann sascha@1054: sascha@1054: * doc/conf/meta-data.xml: Filter by outs in user template part. sascha@1054: ingo@1053: 2011-08-22 Ingo Weinzierl ingo@1053: ingo@1053: * doc/conf/artifacts/winfo.xml: Defined an input value for the GeoJSON ingo@1053: string to save user defined barriers in the map. ingo@1053: ingo@1053: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@1053: Added a computeFeed() method. In addition, this state now prefers the ingo@1053: "noinput" UI provider. ingo@1053: ingo@1052: 2011-08-19 Ingo Weinzierl ingo@1052: ingo@1052: * doc/conf/conf.xml: Each river requires a SRID definition. This ingo@1052: definition is used to transform the river's geometries into the desired ingo@1052: projection. ingo@1052: ingo@1052: * src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: ingo@1052: This facets are able to save a SRID. ingo@1052: ingo@1052: * src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: ingo@1052: The extent that is written into the WMSLayerFacet is determined by the ingo@1052: boundary of the geometry. ingo@1052: ingo@1052: * src/main/java/de/intevation/flys/utils/GeometryUtils.java: New. A ingo@1052: utility class that provides helper functions for geometries. Currently, ingo@1052: one function is defined, that creates a boundary string for OpenLayers. ingo@1052: sascha@1051: 2011-08-19 Sascha L. Teichmann sascha@1051: sascha@1051: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java, sascha@1051: src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java, sascha@1051: src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java, sascha@1051: src/main/java/de/intevation/flys/artifacts/states/ProfileDistanceSelect.java, sascha@1051: src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, sascha@1051: src/main/java/de/intevation/flys/artifacts/states/RangeState.java: sascha@1051: Removed superfluous imports. sascha@1051: sascha@1050: 2011-08-19 Sascha L. Teichmann sascha@1050: sascha@1050: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: sascha@1050: Removed CallContext from state validation. It is not needed and hindered sascha@1050: the extraction of all out of an artifact if you don't have a sascha@1050: call context (like initial scan of datacage database). sascha@1050: sascha@1050: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@1050: Extract all outs now. sascha@1050: sascha@1050: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/ProfileDistanceSelect.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/DefaultState.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/RangeState.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java, sascha@1050: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@1050: Adjusted calls. sascha@1050: felix@1049: 2011-08-19 Felix Wolfsteller felix@1049: felix@1049: * src/main/resources/messages.properties, felix@1049: src/main/resources/messages_de_DE.properties, felix@1049: src/main/resources/messages_en.properties, felix@1049: src/main/resources/messages_de.properties: felix@1049: Added lacalization of "Streckenfavoriten". felix@1049: felix@1048: 2011-08-19 Felix Wolfsteller felix@1048: felix@1048: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: felix@1048: Picky white-space cosmetics. felix@1048: felix@1047: 2011-08-19 Felix Wolfsteller felix@1047: felix@1047: Added stub implementation of new MainValuesArtifact. felix@1047: felix@1047: * src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: felix@1047: New. Stub implementation for new MainValuesArtifact. felix@1047: sascha@1046: 2011-08-19 Sascha L. Teichmann sascha@1046: sascha@1046: Fixed flys/issue262 sascha@1046: sascha@1046: * src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java: sascha@1046: Unified user and system tempate. sascha@1046: Looks for "/artifact-database/metadata/template/text()" sascha@1046: in conf.xml. Defaults to "${artifacts.config.dir}/meta-data.xml". If user id is sascha@1046: given its the default connection for contexts. sascha@1046: sascha@1046: * doc/conf/conf.xml: Adjusted sascha@1046: * doc/conf/meta-data-system.xml, doc/conf/meta-data-user.xml: Deleted. sascha@1046: * doc/conf/meta-data.xml: Unified version of user and system template. sascha@1046: sascha@1046: * src/main/java/de/intevation/flys/artifacts/datacage/templating/App.java: sascha@1046: Adjusted the test program. sascha@1046: sascha@1045: 2011-08-18 Sascha L. Teichmann sascha@1045: sascha@1045: Fixed flys/issue260 sascha@1045: sascha@1045: * doc/conf/meta-data-user.xml: Uses master_artifacts view now. sascha@1045: sascha@1044: 2011-08-18 Sascha L. Teichmann sascha@1044: sascha@1044: * doc/conf/datacage.sql: Added view master_artifacts to select sascha@1044: the master artifacts of the collections more easily. sascha@1044: To upgrade existing database: sascha@1044: sascha@1044: CREATE VIEW master_artifacts AS sascha@1044: SELECT a2.id AS id, sascha@1044: a2.gid AS gid, sascha@1044: a2.state AS state, sascha@1044: a2.creation AS creation, sascha@1044: ci2.collection_id AS collection_id sascha@1044: FROM collection_items ci2 sascha@1044: JOIN artifacts a2 sascha@1044: ON ci2.artifact_id = a2.id sascha@1044: JOIN (SELECT ci.collection_id AS c_id, sascha@1044: MIN(a.creation) AS oldest_a sascha@1044: FROM collection_items ci sascha@1044: JOIN artifacts a sascha@1044: ON ci.artifact_id = a.id sascha@1044: GROUP BY ci.collection_id) o sascha@1044: ON o.c_id = ci2.collection_id sascha@1044: WHERE a2.creation = o.oldest_a; sascha@1044: sascha@1044: TODO: Use the view in the templates. sascha@1044: sascha@1043: 2011-08-18 Sascha L. Teichmann sascha@1043: sascha@1043: * doc/conf/meta-data-user.xml: Removed state filter because it was broken. sascha@1043: Simplified by joining two contexts. sascha@1043: felix@1042: 2011-08-18 Felix Wolfsteller felix@1042: felix@1042: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: felix@1042: Fix issues with lines of annotation when zoomed (wrong scale used). felix@1042: felix@1042: 2011-08-18 Felix Wolfsteller felix@1042: felix@1042: Added legend for annotations to LongitudinalSectionDiagram. felix@1042: felix@1042: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1042: Added a pseudo-dataseries/collection to employ existing infrastructure for felix@1042: displaying localized label for Annotations (yet unthemed). felix@1042: felix@1042: * src/main/resources/messages.properties, felix@1042: src/main/resources/messages_de_DE.properties, felix@1042: src/main/resources/messages_en.properties, felix@1042: src/main/resources/messages_de.properties: felix@1042: Made label-string available for localization. felix@1042: felix@1040: 2011-08-17 Felix Wolfsteller felix@1040: felix@1040: Moved StickyAxisAnnotation into new package de.intevation.flys.jfree . felix@1040: felix@1040: * src/main/java/de/intevation/flys/exports/StickyAxisAnnotation.java: felix@1040: Deleted/moved to src/main/java/de/intevation/flys/jfree/ . felix@1040: felix@1040: * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: felix@1040: New/moved from src/main/java/de/intevation/flys/export/ , adjusted felix@1040: package statement, made class public. felix@1040: felix@1040: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1040: Added import statement for de.intevation.flys.jfree.StickyAxisAnnotation . felix@1040: felix@1038: 2011-08-17 Felix Wolfsteller felix@1038: felix@1038: Extracted and renamed CustomAnnotation to StickyAxisAnnotation. Also removed felix@1038: needless imports. felix@1038: felix@1038: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, felix@1038: src/main/java/de/intevation/flys/exports/StickyAxisAnnotation.java: felix@1038: Extracted class implementation CustomAnnotation and renamed to felix@1038: StickyAxisAnnotation. felix@1038: felix@1037: 2011-08-17 Felix Wolfsteller felix@1037: felix@1037: Improved CustomAnnotations and rendering thereof, now including an felix@1037: "axis mark" (little line at axis), also prepared possibility to put felix@1037: annotations on Y-axis. felix@1037: felix@1037: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1037: Improved CustomAnnotation to include marks on the axis and better spacing felix@1037: from it. felix@1037: felix@1037: 2011-08-17 Felix Wolfsteller felix@1036: felix@1036: Implemented proof-of-concept collision-detection when drawing felix@1036: CustomAnnotations (text only). felix@1036: felix@1036: * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: felix@1036: Pass a fresh ChartRenderingInfo-Object to createBufferedImage, such that felix@1036: information can be collected while rendering. felix@1036: felix@1036: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1036: Exploit the fact that XYTextAnnotation already registers drawn shape in the felix@1036: ChartRenderingInfo if it exists and either an URL or tooltip is set. felix@1036: Before drawing, calculate own shape and compare against already registered felix@1036: shapes. felix@1036: felix@1035: 2011-08-16 Felix Wolfsteller felix@1035: felix@1035: Implemented (yet dummy) custom Annotation class. felix@1035: felix@1035: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1035: Added implementation of yet dummy CustomAnnotation class. felix@1035: felix@1034: 2011-08-16 Felix Wolfsteller felix@1034: felix@1034: Slightly improved rendering of annotations. felix@1034: felix@1034: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1034: Slightly improved rendering of annotations. Still no valid collision felix@1034: detection. Annotations are drawn every 2 km; first come first serve. felix@1034: sascha@1033: 2011-08-15 Sascha L. Teichmann sascha@1033: sascha@1033: Fix for flys/issue191 sascha@1033: sascha@1033: * src/main/java/de/intevation/flys/artifacts/model/WQ.java(longestIncreasingWRangeIndices): sascha@1033: Added a method to find the longest index range with increasing w values. sascha@1033: sascha@1033: * src/main/java/de/intevation/flys/exports/ATWriter.java: Export the longest sascha@1033: range of monotone increasing w values instead of the first one. sascha@1033: TODO: The first line of the export is still broken. sascha@1033: sascha@1033: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: sascha@1033: Removed superfluous import. sascha@1033: felix@1032: 2011-08-12 Felix Wolfsteller felix@1032: felix@1032: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java: felix@1032: Resolved two TODOs: get Annotations of selected River, get "point" felix@1032: Annotations only. felix@1032: felix@1031: 2011-08-12 Felix Wolfsteller felix@1031: felix@1031: Added functionality to query range and point-annotations only to felix@1031: AnnotationFactory. felix@1031: felix@1031: * src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java felix@1031: (getPointAnnotations, getAnnotationsBreadth): felix@1031: New functions to query breadth and point-only annotations. felix@1031: sascha@1030: 2011-08-11 Sascha L. Teichmann sascha@1030: sascha@1030: * src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java: sascha@1030: Added a development mode for recommendations. Enabled with sascha@1030: stetting system property 'flys.datacage.recommendations.development' to true. sascha@1030: When set the XML template are re-read if the timestamps of the sascha@1030: files have changed so you do not have to restart the server again and again. sascha@1030: sascha@1030: * doc/conf/meta-data-user.xml: Sort collections by creation time in descending order. sascha@1030: felix@1029: 2011-08-11 Felix Wolfsteller felix@1029: felix@1029: Rather picky cosmetics only. felix@1029: felix@1029: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, felix@1029: src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java, felix@1029: src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java, felix@1029: src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java, felix@1029: src/main/java/de/intevation/flys/artifacts/model/WQKms.java, felix@1029: src/main/java/de/intevation/flys/artifacts/states/DefaultState.java, felix@1029: src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java, felix@1029: src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@1029: End comments on a full stop, separate from closing '*/' by whitespace, felix@1029: adjusted javadoc comments. felix@1029: felix@1028: 2011-08-11 Felix Wolfsteller felix@1028: felix@1028: Made Annotations visible in LongitudinalSection diagrams. felix@1028: felix@1028: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java, felix@1028: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: felix@1028: Register new Facet Type, let LongitudinalSectionGenerator include felix@1028: Annotations in diagram (yet unfiltered and independent of river). felix@1028: felix@1027: 2011-08-11 Felix Wolfsteller felix@1027: felix@1027: * doc/conf/conf.xml, felix@1027: doc/conf/artifacts/annotation.xml, felix@1027: doc/conf/meta-data-system.xml: felix@1027: Added configuration for AnnotationArtifacts. felix@1027: felix@1026: 2011-08-11 Felix Wolfsteller felix@1026: felix@1026: Added demo- implementation of a AnnotationArtifact and its Facet. felix@1026: felix@1026: * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java, felix@1026: src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java, felix@1026: src/main/java/de/intevation/flys/artifacts/states/AnnotationRiverState.java: felix@1026: New. Initial version of an AnnotationArtifact and its State and Facet. felix@1026: sascha@1025: 2011-08-10 Sascha L. Teichmann sascha@1025: sascha@1025: * doc/conf/datacage.sql: Extended schema for artifacts and collections sascha@1025: to have creation times, too. sascha@1025: sascha@1025: To update existing databases: sascha@1025: sascha@1025: ALTER TABLE artifacts ADD COLUMN creation TIMESTAMP NOT NULL DEFAULT current_timestamp; sascha@1025: ALTER TABLE collections ADD COLUMN creation TIMESTAMP NOT NULL DEFAULT current_timestamp; sascha@1025: sascha@1025: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@1025: Store creation times for artifacts and collections, too. sascha@1025: sascha@1025: * src/main/resources/datacage-sql/org-h2-driver.properties, sascha@1025: src/main/resources/datacage-sql/org-postgresql-driver.properties: sascha@1025: Adjusted SQL statements. sascha@1025: sascha@1025: 2011-08-10 Sascha L. Teichmann sascha@1025: sascha@1025: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@1025: Make it compilable again (BackendListener interface changed). sascha@1025: sascha@1023: 2011-08-10 Sascha L. Teichmann sascha@1023: sascha@1023: * doc/conf/meta-data-user.xml: Added grouping element around w/q of each sascha@1023: longitudinal section artifact. sascha@1023: sascha@1023: * src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java, sascha@1023: src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java: sascha@1023: Added some debugging capabilities. sascha@1023: sascha@1023: * src/main/java/de/intevation/flys/artifacts/datacage/templating/ResultData.java: sascha@1023: Added isEmpty() method. sascha@1023: sascha@1023: * src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java: sascha@1023: Now it is possible to nest into other elements in the sascha@1023: body. This is useful and needed for grouping and repeating results. sascha@1023: sascha@1022: 2011-08-10 Sascha L. Teichmann sascha@1022: sascha@1022: * src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java: sascha@1022: User connection was cached, system was not. Lead to incorrect results. sascha@1022: sascha@1021: 2011-08-09 Sascha L. Teichmann sascha@1021: sascha@1021: * doc/conf/meta-data-user.xml: Added element sascha@1021: around old calculations. sascha@1021: sascha@1020: 2011-08-09 Sascha L. Teichmann sascha@1020: sascha@1020: * src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java: sascha@1020: Cosmetic: Replaced usage of legacy java.util.Stack with java.util.Deque. sascha@1020: sascha@1019: 2011-08-04 Sascha L. Teichmann sascha@1019: sascha@1019: * doc/conf/meta-data-user.xml: Use 'CAST(x AS uuid)' instead of 'x::uuid' sascha@1019: to be more compatible. sascha@1019: sascha@1018: 2011-08-04 Sascha L. Teichmann sascha@1018: sascha@1018: * src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java: sascha@1018: If given an artifact place its identifier into parameters passed to template. sascha@1018: Fixed swapped user/system connections if using the user template. sascha@1018: sascha@1018: * doc/conf/meta-data-user.xml: Recommend w/q facet from old calculations sascha@1018: if an artifact was given that represents a longitudinal section sascha@1018: "Laengsschnitt". sascha@1018: sascha@1018: TODO I: The template uses PostgreSQL specific UUID casts. sascha@1018: TODO II: We need to find a way only to recommend the master artifacts. sascha@1018: sascha@1017: 2011-08-04 Sascha L. Teichmann sascha@1017: sascha@1017: * src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java: sascha@1017: Added a tag to place comments in the meta data templates. sascha@1017: comments are copied through. sascha@1017: sascha@1017: * doc/conf/meta-data-user.xml: Added a simple test. sascha@1017: sascha@1016: 2011-08-04 Sascha L. Teichmann sascha@1016: sascha@1016: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@1016: Be a bit more tolerant about empty strings for UUIDs of artifact and user. sascha@1016: sascha@1015: 2011-08-03 Sascha L. Teichmann sascha@1015: sascha@1015: Bring user specific meta data service to life. sascha@1015: sascha@1015: * doc/conf/conf.xml: There are now two templates to configure: sascha@1015: The system template (only the data from the backend) and the sascha@1015: user template (the datcage db and the backend db), sascha@1015: sascha@1015: * doc/conf/meta-data-template.xml: Deleted. sascha@1015: * doc/conf/meta-data-user.xml: New. The user specific template. TODO: Write it! sascha@1015: * doc/conf/meta-data-system.xml: New. The system template. sascha@1015: sascha@1015: * src/main/java/de/intevation/flys/artifacts/datacage/templating/NoneUserSpecific.java: sascha@1015: Deleted. sascha@1015: * src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java: sascha@1015: New. The logic to fill the templates. sascha@1015: sascha@1015: * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: sascha@1015: Adjusted to follow the new call signatures. sascha@1015: sascha@1015: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@1015: Refactored. Removed the old code and only leave the new service. Following sascha@1015: XPaths are evaluated on the incomming document: sascha@1015: sascha@1015: "/art:meta/art:artifact-id/@value" The UUID of the artifact. Optional. sascha@1015: Used to fill the template enviroment. sascha@1018: "/art:meta/art:user-id/@value" The UUID of the user. Optional. sascha@1015: If given the user specific template is filled. sascha@1015: "/art:meta/art:outs/@value" The list of outs used to recommend for the sascha@1015: various outputs. sascha@1015: "/art:meta/art:parameters/@value" A list of key/value pairs to inject more sascha@1015: filters to the templating. sascha@1015: sascha@1015: * src/main/java/de/intevation/flys/artifacts/datacage/templating/App.java: sascha@1015: Change to follow the new recommendations semantics. sascha@1015: sascha@1015: * src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java: sascha@1015: Added symbolic constants to distinguish "user" and "system" db connections. sascha@1015: felix@1014: 2011-08-03 Felix Wolfsteller felix@1014: felix@1014: * doc/conf/conf.xml: felix@1014: Cosmetics, let comments start with a capital and end on a full stop, felix@1014: removed incorrect comment. felix@1014: felix@1013: 2011-08-03 Felix Wolfsteller felix@1013: felix@1013: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: felix@1013: Cosmetics, let comments start with a capital and end on a full stop. felix@1013: sascha@1012: 2011-08-03 Sascha L. Teichmann sascha@1012: sascha@1012: * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java(extractOutputNames): sascha@1012: Fixed potential NPE. sascha@1012: sascha@1011: 2011-08-03 Sascha L. Teichmann sascha@1011: sascha@1011: Added support for more than one db connection in datacage templating. sascha@1011: sascha@1011: * src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java: sascha@1011: Now you can pass a list of named db connections to the build process. sascha@1011: The purpose is to mix more then one database (e.g. the backend db and sascha@1011: the user specific one). sascha@1011: sascha@1011: To use this feature you can add an "connection" attribute sascha@1011: to with the name of the connection to use. sascha@1011: If no connection name is given the last used is used again. sascha@1011: Initially the first connection in the given list is used. sascha@1011: If the context is left the connection that was active before sascha@1011: will be active again in a stacking manner. sascha@1011: sascha@1011: When creating NamedConnection objects you can set a boolean flag sascha@1011: if the results coming from the connection should be cached. This sascha@1011: is useful e.g. for the user specific database which runs in-memory sascha@1011: so caching would introduce some superfluous overhead. sascha@1011: sascha@1011: * src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java: sascha@1011: When executing the queries explicitly pass if caching should be used. sascha@1011: sascha@1010: 2011-08-02 Sascha L. Teichmann sascha@1010: sascha@1010: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@1010: Forgot to fetch dialect dependent SQL statement for deleting sascha@1010: artifacts by uuid. sascha@1010: sascha@1009: 2011-08-02 Sascha L. Teichmann sascha@1009: sascha@1009: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@1009: Set the name of the collections at initial scan, too. sascha@1009: sascha@1008: 2011-08-02 Sascha L. Teichmann sascha@1008: sascha@1008: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@1008: Fixed wrong SQL references. sascha@1008: sascha@1007: 2011-08-02 Sascha L. Teichmann sascha@1007: sascha@1007: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@1007: Fixed two NPEs. sascha@1007: sascha@1006: 2011-08-02 Sascha L. Teichmann sascha@1006: sascha@1006: * src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java, sascha@1006: src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@1006: Forwarded kill collections and artifacts events to datacage. sascha@1006: sascha@1006: * src/main/resources/datacage-sql/org-h2-driver.properties, sascha@1006: src/main/resources/datacage-sql/org-postgresql-driver.properties: sascha@1006: Added statement to delete artifact by uuid. sascha@1006: sascha@1005: 2011-08-02 Sascha L. Teichmann sascha@1005: sascha@1005: * src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java: sascha@1005: Made it compilable again. The signature of BackendListener has changed. sascha@1005: sascha@1004: 2011-08-01 Sascha L. Teichmann sascha@1004: sascha@1004: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@1004: Completed the backend listener stuff. sascha@1004: sascha@1004: TODO I: Added some cleanup for orphaned artifacts. sascha@1004: TODO II: Figure out a way to delete collections/artifacts sascha@1004: which are delete from backend without the sascha@1004: backend API. sascha@1004: sascha@1004: * src/main/resources/datacage-sql/org-h2-driver.properties, sascha@1004: src/main/resources/datacage-sql/org-postgresql-driver.properties: sascha@1004: Added needed statements. sascha@1004: sascha@1003: 2011-08-01 Sascha L. Teichmann sascha@1003: sascha@1003: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@1003: Update collection names on change. Remove artifacts from collections. sascha@1003: sascha@1003: * src/main/resources/datacage-sql/org-h2-driver.properties, sascha@1003: src/main/resources/datacage-sql/org-postgresql-driver.properties: sascha@1003: Added needed statements. sascha@1003: sascha@1002: 2011-08-01 Sascha L. Teichmann sascha@1002: sascha@1002: * src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java: sascha@1002: Call datacage with the global context. This is needed to access the state engine. sascha@1002: sascha@1002: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: Changed sascha@1002: signatures to take the global context, too. Create artifacts via backend listener sascha@1002: interface. sascha@1002: sascha@1001: 2011-08-01 Sascha L. Teichmann sascha@1001: sascha@1001: * src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java: sascha@1001: Fixed recursion bug. sascha@1001: sascha@1000: 2011-08-01 Sascha L. Teichmann sascha@1000: sascha@1000: * src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java: sascha@1000: Added debug output. sascha@1000: sascha@999: 2011-08-01 Sascha L. Teichmann sascha@999: sascha@999: * doc/conf/conf.xml: Added backend listener for datacage. sascha@999: sascha@999: * src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java: sascha@999: New. Proxies backend listener calls to datacage. sascha@999: sascha@999: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@999: Implements backend listener. TODO: Update the datacage database sascha@999: according the change calls. sascha@999: sascha@998: 2011-08-01 Sascha L. Teichmann sascha@998: sascha@998: * src/main/java/de/intevation/flys/artifacts/services/meta, sascha@998: src/main/java/de/intevation/flys/artifacts/datacage/templating: sascha@998: Moved/renamed package to better fit the common semantics. sascha@998: DataCage.java is now call NoneUserSpecific.java to reflect the sascha@998: fact that it is the template for the user independent db sascha@998: analysis. sascha@998: sascha@998: * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java, sascha@998: src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@998: Ajusted imports and calls. sascha@998: sascha@997: 2011-08-01 Sascha L. Teichmann sascha@997: sascha@997: * doc/conf/conf.xml: For documentation purposes added a out-commented sascha@997: section with the default configuration of the datacage. sascha@997: sascha@996: 2011-07-31 Sascha L. Teichmann sascha@996: sascha@996: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@996: Delete the artifacts at before initial scan, too. They are independent sascha@996: from users. Fixed problem when writing state data content. sascha@996: sascha@996: * src/main/resources/datacage-sql/org-h2-driver.properties: Added sascha@996: statement to delete the artifacts at initial scan, too. sascha@996: sascha@996: * src/main/resources/datacage-sql/org-postgresql-driver.properties: sascha@996: New. PostgreSQL version of the statements. The database scheme sascha@996: is the same as H2. Very useful for debugging. sascha@996: sascha@995: 2011-07-31 Sascha L. Teichmann sascha@995: sascha@995: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@995: Added kludge for the types of artifact data. They seem to be null sascha@995: in some circumstances. Needs to be debugged! sascha@995: sascha@994: 2011-07-31 Sascha L. Teichmann sascha@994: sascha@994: * src/main/java/de/intevation/flys/artifacts/datacage/DBConfig.java: sascha@994: Fixed default connection URL to use a namend in-mermory database. sascha@994: sascha@994: 2011-07-31 Sascha L. Teichmann sascha@993: sascha@993: * doc/conf/datacage.sql: Fixed constraint. sascha@993: sascha@993: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@993: Added some debug output. sascha@993: sascha@992: 2011-07-29 Sascha L. Teichmann sascha@992: sascha@992: * doc/conf/datacage.sql: Removed artifact_id from facet because there sascha@992: is a link via out_id -> outs.id: artifact_id -> artifacts to sascha@992: find the corresponding artifact. sascha@992: sascha@992: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java, sascha@992: src/main/resources/datacage-sql/org-h2-driver.properties: Store sascha@992: facets of outs into datacage db at initial scan. sascha@992: sascha@991: 2011-07-29 Sascha L. Teichmann sascha@991: sascha@991: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java, sascha@991: src/main/resources/datacage-sql/org-h2-driver.properties: sascha@991: Store outs of artifacts into datacage db at initial scan. sascha@991: TODO: store facets. sascha@991: sascha@990: 2011-07-29 Sascha L. Teichmann sascha@990: sascha@990: * doc/conf/datacage.sql: Added 'type' column in artifacts data. sascha@990: Maybe useful for filtering. sascha@990: sascha@990: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java, sascha@990: src/main/resources/datacage-sql/org-h2-driver.properties: sascha@990: Store artifact data into db at initial scan. sascha@990: TODO: store outs and facets. sascha@990: sascha@989: 2011-07-29 Sascha L. Teichmann sascha@989: sascha@989: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java, sascha@989: src/main/resources/datacage-sql/org-h2-driver.properties: sascha@989: Add artifacts into datacage db at initial scan. sascha@989: TODO: Store data, outs and facets. sascha@989: sascha@988: 2011-07-28 Sascha L. Teichmann sascha@988: sascha@988: * doc/conf/datacage.sql: Fixed spelling in sequence name. sascha@988: sascha@988: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java, sascha@988: src/main/resources/datacage-sql/org-h2-driver.properties: Simply add sascha@988: collection item at initial scan if artifact was stored before. sascha@988: TODO: Store new artifacts. sascha@988: sascha@987: 2011-07-28 Sascha L. Teichmann sascha@987: sascha@987: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java, sascha@987: src/main/resources/datacage-sql/org-h2-driver.properties: Add sascha@987: collections at initial scan. sascha@987: sascha@986: 2011-07-28 Sascha L. Teichmann sascha@986: sascha@986: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java, sascha@986: src/main/resources/datacage-sql/org-h2-driver.properties: Add users sascha@986: at initial scan. sascha@986: sascha@985: 2011-07-28 Sascha L. Teichmann sascha@985: sascha@985: * doc/conf/datacage.sql: Using sequences for id generation now sascha@985: to make schema more compatible. sascha@985: sascha@985: 2011-07-28 Sascha L. Teichmann sascha@984: sascha@984: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java, sascha@984: src/main/resources/datacage-sql/org-h2-driver.properties: Clear database sascha@984: before initial scan. sascha@984: sascha@985: 2011-07-28 Sascha L. Teichmann sascha@983: sascha@983: * src/main/java/de/intevation/flys/artifacts/datacage/DBConnection.java: sascha@983: Deleted. This stuff comes from the artifact database now. sascha@983: sascha@983: * src/main/java/de/intevation/flys/artifacts/datacage/DBConfig.java: sascha@983: New. The db config of the datacage database. sascha@983: sascha@983: * src/main/resources/datacage-sql/org-h2-driver.properties: New. sascha@983: The SQL statements needed for the datacage. sascha@983: sascha@983: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@983: Make use of the db config. sascha@983: sascha@982: 2011-07-27 Sascha L. Teichmann sascha@982: sascha@982: * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: sascha@982: New. A artifact database lifetime listener to build the initial sascha@982: index of the artifacts in database. sascha@982: sascha@982: * doc/conf/conf.xml: Added the datacage to the list of lifetime sascha@982: listeners. sascha@982: sascha@981: 2011-07-27 Sascha L. Teichmann sascha@981: sascha@981: * doc/conf/datacage.sql: Added an explicit table for the outs sascha@981: of an artifact. sascha@981: sascha@981: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@981: Make the current outs of an artifact accessible only with sascha@981: the global context. sascha@981: sascha@980: 2011-07-27 Sascha L. Teichmann sascha@980: sascha@980: * doc/conf/datacage.sql: Added ON DELETE CASCADE constraints. sascha@980: Added state in facet. sascha@980: sascha@979: 2011-07-26 Sascha L. Teichmann sascha@979: sascha@979: * doc/conf/datacage.sql: New. H2 Schema for the datacage database. sascha@979: Uses special features like IDENTITY (autoincrement) typed columns. sascha@979: sascha@979: * src/main/java/de/intevation/flys/artifacts/datacage/DBConnection.java: sascha@979: Pooled connection. sascha@979: sascha@979: * pom.xml: Added dependencies to H2 and Apache DBCP. sascha@979: sascha@978: 2011-07-26 Sascha L. Teichmann sascha@978: sascha@978: * src/test/java/de/intevation/flys/artifacts/AppTest.java, sascha@978: src/main/java/de/intevation/flys/artifacts/App.java: Removed. sascha@978: This the stupid "Hello, World!" app initially created by the sascha@978: maven archetype. It was never used. sascha@978: sascha@977: 2011-07-25 Sascha L. Teichmann sascha@977: sascha@977: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@977: Argh! Usage the DOM was not thread safe (discovered with ab). sascha@977: sascha@976: 2011-07-25 Sascha L. Teichmann sascha@976: sascha@976: * doc/conf/meta-data-template.xml: '$recommended' lead to XPath sascha@976: errors. Using "dc:contains($parameters, 'recommended')" helps. sascha@976: sascha@976: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java, sascha@976: src/main/java/de/intevation/flys/artifacts/services/meta/FunctionResolver.java: sascha@976: Added some debugging. sascha@976: sascha@976: * src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java: sascha@976: Added parameters as 'parameters' to parameters. Usefull to check sascha@976: for containment of variables. sascha@976: sascha@975: 2011-07-25 Sascha L. Teichmann sascha@975: sascha@975: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@975: Added 'if log.isDebugEnabled() {}'. sascha@975: sascha@975: 2011-07-25 Sascha L. Teichmann sascha@974: sascha@974: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@974: Made Artifact UUID optional and accept extra parameters, too. This enables sascha@974: the service to be used without an arttifact and test all filters. sascha@974: sascha@974: sascha@974: sascha@974: sascha@974: sascha@974: sascha@974: sascha@974: * src/main/java/de/intevation/flys/artifacts/services/meta/FunctionResolver.java: sascha@974: 'contain' accept Maps and collection, too. sascha@974: sascha@974: * src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java: sascha@974: Made artifact option (= null) in recommendations. sascha@974: sascha@973: 2011-07-21 Sascha L. Teichmann sascha@973: sascha@973: * src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java: sascha@973: Moved connection specific into inner class. The enables the reuse of the sascha@973: compiled statement. sascha@973: sascha@973: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: The sascha@973: SQL statements are now only compiled once at creation time of the builder. sascha@973: Each connection now reuses them. sascha@973: sascha@972: 2011-07-21 Sascha L. Teichmann sascha@972: sascha@972: * doc/conf/cache.xml: Added configuration for static datacage db access. sascha@972: sascha@972: * src/main/java/de/intevation/flys/artifacts/services/meta/App.java: Using sascha@972: caches seems to need an explicit System.exit(). sascha@972: sascha@972: * src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java: sascha@972: Added support for caching the SQL statements and there results. sascha@972: sascha@972: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: Some sascha@972: clean up. Reordered code for performance. Strip SQL statements more sascha@972: aggressively. sascha@972: sascha@972: * src/main/java/de/intevation/flys/artifacts/services/meta/ResultData.java: sascha@972: Made it Serializable. sascha@972: sascha@972: * src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java: sascha@972: Introduced system property 'flys.artifacts.cache.config.file' to make sascha@972: the caching configurable without pulling up the whole stack. sascha@972: ingo@971: 2011-07-22 Ingo Weinzierl ingo@971: ingo@971: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@971: Prepared the FLYSArtifactCollection to support the storage of already ingo@971: loaded recommendations in its attribute document. ingo@971: sascha@970: 2011-07-21 Sascha L. Teichmann sascha@970: sascha@970: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@970: Adjusted to use the DataCage recommendations. The incomming document sascha@970: can pass the artifacts UUID by '/art:outs/@value' the outs as a sascha@970: comma separated list in '/art:outs/@value' and optional a set of sascha@970: filters comma separated in '/art:filters/@value'. sascha@970: sascha@970: If UUID and OUTS are not given the old service is used. This sascha@970: should be removed as soon as the client uses the new service. sascha@970: sascha@969: 2011-07-21 Sascha L. Teichmann sascha@969: sascha@969: * src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java: sascha@969: Allow '-' in variable names. sascha@969: ingo@968: 2011-07-21 Ingo Weinzierl ingo@968: ingo@968: * doc/conf/meta-data-template.xml: Now, the river-id is really added to ingo@968: the factory node of the wmsbackground layer. ingo@968: ingo@967: 2011-07-21 Ingo Weinzierl ingo@967: ingo@967: * doc/conf/meta-data-template.xml: Added the river-id to the factory node ingo@967: of the riveraxis and wmsbackground layer. ingo@967: sascha@966: 2011-07-21 Sascha L. Teichmann sascha@966: sascha@966: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java, sascha@966: src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java, sascha@966: src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java, sascha@966: src/main/java/de/intevation/flys/artifacts/services/RiverService.java: sascha@966: Adjusted to implement changed Service interface. sascha@966: ingo@965: 2011-07-21 Ingo Weinzierl ingo@965: ingo@965: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Refactored ingo@965: the method that retrieves the Outputs for the Artifact. Now, we are able ingo@965: to query the Outputs for the current state, and all outputs separately. ingo@965: ingo@965: * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: The ingo@965: recommendations provided by this monitor will take the Outputs of the ingo@965: current state only into account. ingo@965: ingo@964: 2011-07-21 Ingo Weinzierl ingo@964: ingo@964: * doc/conf/meta-data-template.xml: Added conditions for each output type. ingo@964: Splitted the "floodmap" output into two parts: a recommended one and a ingo@964: complete one. The recommended part will only build the document tree for ingo@964: the recommended artifacts; the complete part will build the whole document ingo@964: tree that is available for a floodmap. ingo@964: ingo@964: * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: ingo@964: This Hook now uses the DataCage to generate the recommended artifacts. ingo@964: The output-defaults configurtion is needless now. ingo@964: ingo@964: * doc/conf/output-defaults.xml: Removed. The configuration of recommended ingo@964: artifacts takes place in meta-data-template.xml. ingo@964: ingo@964: * src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java: ingo@964: Bugfix: the DataCage didn't start working if its builder was NOT null, ingo@964: but it shouldn't start if the builder IS null. ingo@964: sascha@963: 2011-07-21 Sascha L. Teichmann sascha@963: sascha@963: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@963: Now it is possible to directly pass a Node as a root to the builder. sascha@963: The owning document if fetch by Node.getOwnerDocument(). This is sascha@963: useful if you want to generate the recommendation directly into sascha@963: an already existing document under a given node. sascha@963: sascha@963: * src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java: sascha@963: Changed the signature of recommend() to accept a node where to sascha@963: append the recommendations. sascha@963: sascha@962: 2011-07-20 Sascha L. Teichmann sascha@962: sascha@962: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@962: Added a macro mechanism: sascha@962: sascha@962: sascha@962: '5' ist nicht in der Liste der Outs. sascha@962: sascha@962: sascha@962: sascha@962: sascha@962: sascha@962: Macros can be defined everywhere in the template sascha@962: with 'macro'. There bodies can contain all valid elements sascha@962: including other 'macro's and 'call-macro's. They are sascha@962: called with their 'name' with 'call-macro'. The control flow sascha@962: is continued inside the body of the called macro and sascha@962: will continue right after the calling 'call-macro' when sascha@962: the macro body is finished. sascha@962: sascha@961: 2011-07-20 Sascha L. Teichmann sascha@961: sascha@961: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@961: Added a new 'if' construct similiar to XSLT: sascha@961: sascha@961: sascha@961: '5' ist nicht in der Liste der Outs. sascha@961: sascha@961: sascha@961: The control flow is continued inside the 'if' if the 'test' attribute sascha@961: as an XPath expression on an empty document evalutes to true. sascha@961: Else the inside is skipped. There is no 'else'. Use 'choose'/'otherwise' sascha@961: if you need this. sascha@961: sascha@960: 2011-07-20 Sascha L. Teichmann sascha@960: sascha@960: * src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java: sascha@960: Added a recommend() method to generate recommendations for sascha@960: a given artifact, outs and extra parameters. sascha@960: sascha@960: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added sascha@960: method to extract all data at once. sascha@960: sascha@959: 2011-07-20 Sascha L. Teichmann sascha@959: sascha@959: * src/main/java/de/intevation/flys/artifacts/services/meta/FunctionResolver.java: sascha@959: New. Custom XPath function provider. Provides sascha@959: 'dc:contains(Object [] haystack, Object needle)' by now. Should be sascha@959: useful to check containments in 'out' lists later. sascha@959: sascha@959: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@959: Register the FunctionResolver to the evaluated XPaths. sascha@959: sascha@959: * src/main/java/de/intevation/flys/artifacts/services/meta/App.java: sascha@959: Added code to parse sascha@959: "param:a,b,c" to "param" -> new String [] { "a", "b", "c" } to sascha@959: help testing the 'dc:contains' XPath function. sascha@959: ingo@958: 2011-07-20 Ingo Weinzierl ingo@958: ingo@958: * doc/conf/conf.xml: Added wms configurations for Saar, Mosel and Elbe. ingo@958: Each river supported by FLYS requires such a WMS configuration. A WMS ingo@958: should contain layers for the river axis, buildings, kilometer labels ingo@958: and maybe a background layer as well. ingo@958: ingo@958: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: ingo@958: Added key that is used to store a map of WMS URLs - for each river a ingo@958: WMS URL. ingo@958: ingo@958: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@958: Parse the river WMS from global configuration. ingo@958: ingo@958: * src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: ingo@958: Create WMSLayerFacets with URLs based on the river and the river wms ingo@958: configuration stored in the FLYSContext. ingo@958: ingo@958: * src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java, ingo@958: src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: ingo@958: Adapted the initialize() signature and the method call of computeInit() ingo@958: which requires a FLYSContext to retrieve the river WMS configurations. ingo@958: ingo@958: * src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java, ingo@958: src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@958: Added the context object parameter to the computeInit() method. ingo@958: ingo@958: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Call ingo@958: initialize() with the context object - which is a FLYSContext or a ingo@958: CallContext. ingo@958: sascha@957: 2011-07-20 Sascha L. Teichmann sascha@957: sascha@957: * src/main/java/de/intevation/flys/artifacts/services/meta/App.java: sascha@957: Check if builder was created properly before using it. sascha@957: sascha@957: * src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java: sascha@957: Implements now variable provider for XPath expressions. sascha@957: sascha@957: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@957: Added new choose/when/otherwise construct similiar to XSLT sascha@957: sascha@957: sascha@957: sascha@957: Es ist die Mosel. sascha@957: sascha@957: sascha@957: Es ist die Saar. sascha@957: sascha@957: sascha@957: Es ist weder Mosel noch Saar. sascha@957: sascha@957: sascha@957: sascha@957: A 'choose' block can contain a list of 'when's and an optional sascha@957: 'otherwise'. For each 'when' the test attribute is evaluated sascha@957: as an XPath expression on an empty document. The result of sascha@957: the evaluation is taken as a boolean value. If its value is sascha@957: true the control flow is continued inside the corresponding sascha@957: 'when' and the other choose elements are not tested. sascha@957: If the value is values the testing continues with the next sascha@957: 'when'. If no 'test' expression is evaluated to true, the sascha@957: control flow continues inside the 'otherwise'. If no 'otherwise' sascha@957: is given nothing happens at all. sascha@957: ingo@956: 2011-07-20 Ingo Weinzierl ingo@956: ingo@956: * doc/conf/conf.xml: Added a config section for floodmaps. Currently, the ingo@956: background layer's url and layername is defined here. ingo@956: ingo@956: * src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java: ingo@956: Read the background layer configuration from conf.xml. Those values are ingo@956: used to create the WMSLayerFacet. ingo@956: ingo@955: 2011-07-20 Ingo Weinzierl ingo@955: ingo@955: * src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java: ingo@955: The background layer facet will no longer have an extent set. ingo@955: ingo@954: 2011-07-20 Ingo Weinzierl ingo@954: ingo@954: * src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java, ingo@954: src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java: ingo@954: Set the extent of the created WMSLayerFacets and i18n its descriptions. ingo@954: ingo@954: * src/main/resources/messages.properties, ingo@954: src/main/resources/messages_de_DE.properties, ingo@954: src/main/resources/messages_en.properties, ingo@954: src/main/resources/messages_de.properties: Added I18N strings for the ingo@954: background an river axis layer. ingo@954: ingo@953: 2011-07-20 Ingo Weinzierl ingo@953: ingo@953: * src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: ingo@953: This facet type has a method to set the extent of a WMS layer. The ingo@953: extent is written to the facets XML node in toXML() as well. ingo@953: ingo@952: 2011-07-20 Ingo Weinzierl ingo@952: ingo@952: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Adapted ingo@952: the signature of setup() which requires a CallMeta parameter now. ingo@952: ingo@952: * src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java, ingo@952: src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: Use ingo@952: the CallMeta object retrieved in setup() to call initialize(). It is now ingo@952: able to i18n things. ingo@952: sascha@951: 2011-07-20 Sascha L. Teichmann sascha@951: sascha@951: * src/main/java/de/intevation/flys/artifacts/services/meta/App.java: New. sascha@951: Standalone app to debug the datacage template. To use in a maven environment: sascha@951: sascha@951: -Dmeta.data.template=PATH_TO_META_DATA-TEMPLATE.XML \ sascha@951: -Dmeta.data.parameters=river:Mosel \ sascha@951: -Dmeta.data.output=OUTPUT.XML \ sascha@951: -Dflys.backend.user=DB_USER \ sascha@951: -Dflys.backend.password=DB_PASSWORD \ sascha@951: -Dflys.backend.url=DB_CONNECTION_URL \ sascha@951: -Dexec.mainClass=de.intevation.flys.artifacts.services.meta.App sascha@951: sascha@950: 2011-07-20 Sascha L. Teichmann sascha@950: sascha@950: * src/main/java/de/intevation/flys/artifacts/services/meta/DataCage.java: sascha@950: New. First step to factor out the "Datenkorb" logic into a service independent sascha@950: singleton. sascha@950: sascha@950: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@950: Uses the "Datenkorb" singleton now. sascha@950: ingo@949: 2011-07-20 Ingo Weinzierl ingo@949: ingo@949: * src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java: ingo@949: Removed "index" property, because it is already existing in parent ingo@949: class. ingo@949: sascha@948: 2011-07-19 Sascha L. Teichmann sascha@948: sascha@948: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@948: Improved error handling. sascha@948: sascha@948: 2011-07-19 Sascha L. Teichmann sascha@947: sascha@947: * src/main/resources/metadata/template.xml: Deleted. sascha@947: sascha@947: * doc/conf/meta-data-template.xml: New. Was template.xml sascha@947: sascha@947: * doc/conf/conf.xml: Made meta data template configurable. sascha@947: sascha@947: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@947: Load template from configuration not from resources. sascha@947: sascha@948: 2011-07-19 Sascha L. Teichmann sascha@946: sascha@946: * src/main/resources/metadata/template.xml: s/[a-z]+-id/db-id/ sascha@946: Make database ids identifiable with unique name "db-id". sascha@946: ingo@945: 2011-07-19 Ingo Weinzierl ingo@945: ingo@945: * src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java: ingo@945: Override the toXML() method. Subclasses can now write their own XML ingo@945: representation. ingo@945: ingo@945: * src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java: ingo@945: New. This ManagedFacet uses an Element (DOM) to store the information ingo@945: about a facet. The intent of this facet type is to represent a facet ingo@945: stored in an Collection attribute. Different facets can have different ingo@945: attributes that we need to parse, but the only thing ManagedFacets need ingo@945: to do, is to adjust the attributes "active" and "position". So, those ingo@945: values are set directly on the Element, the other attributes aren't ingo@945: touched. ingo@945: ingo@945: * src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java: ingo@945: New. This facet is a wrapper for another facet. This subclass of a ingo@945: ManagedFacet overrides the toXML() method. The XML representation is ingo@945: defined by the inner facet that is stored as member variable. The ingo@945: ManagedFacet specific attributes "artifact", "facet", "pos" and "active" ingo@945: are added manually. ingo@945: ingo@945: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: Uses ingo@945: the toXML() method to write a facet node into the attribute document. ingo@945: ingo@945: * src/main/java/de/intevation/flys/collections/AttributeParser.java: Uses ingo@945: the ManagedDomFacet to save the information of a facet which is ingo@945: contained in the attribute part of a Collection's DESCRIBE document. ingo@945: ingo@945: * src/main/java/de/intevation/flys/collections/OutputParser.java: Uses the ingo@945: ManagedFacetAdapter to save a facet, because we want to keep the ingo@945: specific facet to be able to write its specific XML representation into ingo@945: the Collection's DESCRIBE document. ingo@945: ingo@945: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@945: Adapted the XPath of facets stored in the attribute part of the ingo@945: DESCRIBE. ingo@945: ingo@944: 2011-07-18 Ingo Weinzierl ingo@944: ingo@944: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a ingo@944: method that returns the Outputs for the Artifact. ingo@944: ingo@944: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@944: Adapeted the call of OutputParser. ingo@944: ingo@944: * src/main/java/de/intevation/flys/collections/OutputParser.java: ingo@944: Simplified the code to read the Outputs of Artifacts. This parser will ingo@944: now longer parse the DESCRIBE documents of the Artifacts, but query the ingo@944: Outputs via FLYSArtifact.getOutputs() directly. ingo@944: ingo@943: 2011-07-18 Ingo Weinzierl ingo@943: ingo@943: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, ingo@943: src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java: ingo@943: Adapted the function call of ProtocolUtils.appendOutputModes(). ingo@943: ingo@943: * src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: ingo@943: Override toXML() to add the URL and layernames to the XML representation ingo@943: of this facet. ingo@943: ingo@942: 2011-07-18 Ingo Weinzierl ingo@942: ingo@942: * doc/conf/artifacts/wmsbackground.xml, ingo@942: doc/conf/artifacts/riveraxis.xml: New configurations for an Artifact ingo@942: that is used as background layer in floodmaps, and an artifact that is ingo@942: used as layer showing the river axis in a floodmap. ingo@942: ingo@942: * doc/conf/output-defaults.xml: New file to configure default artifacts ingo@942: for specific output states. E.g. the floodmap state recommends a ingo@942: background layer and a layer displaying the river axis. In suche case, ingo@942: the floodmap state recommends two artifacts for the two layers. ingo@942: ingo@942: * doc/conf/conf.xml: Added new artifacts/artifact-factories and a Hook to ingo@942: monitor artifacts (-> CollectionMonitor.java). ingo@942: ingo@942: * src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java: ingo@942: New. This facet is used to represent a layer in a map. So, this facet ingo@942: stores information about a WMS URL and the layer names provided by this ingo@942: WMS. ingo@942: ingo@942: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added ingo@942: facet types for the wmsbackground and riveraxis. ingo@942: ingo@942: * src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java, ingo@942: src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java: ingo@942: New. An artifact and its default state. The intent of these classes is ingo@942: to generate WMSLayerFacets which represent background layers in maps. ingo@942: ingo@942: * src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java, ingo@942: src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java: New. ingo@942: An artifact and its default state. The intent of these classes is to ingo@942: generate WMSLayerFacets which represent layers that display a river ingo@942: axis. ingo@942: ingo@942: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@942: Added the INIT ComputeType. ingo@942: ingo@942: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a ingo@942: case for the INIT ComputeType while computing data. ingo@942: ingo@941: 2011-07-18 Ingo Weinzierl ingo@941: ingo@941: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@941: Added a method computeInit() which is called to initialize data/facets ingo@941: after an artifact has been created. ingo@941: ingo@941: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Repaired ingo@941: broken XPath. ingo@941: ingo@940: 2011-07-14 Ingo Weinzierl ingo@940: ingo@940: * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: ingo@940: Removed the code to generate new artifacts. Instead of creating new ingo@940: artifacts automatically, we decided to suggest creating new artifacts ingo@940: from specific types. Therefore, the DESCRIBE document of the artifacts ingo@940: is extended with a node that contains recommended artifact types. ingo@940: ingo@940: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@940: FLYSArtifacts might be setup with the identifier of an other ingo@940: FLYSArtifact. Subclasses are able to override a method called ingo@940: initialize(Artifact, GlobalContext). This might be helpful to extract ingo@940: required values or clone artifacts. ingo@940: ingo@939: 2011-07-14 Ingo Weinzierl ingo@939: ingo@939: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@939: Adapted the signature of createArtifactContext() - it returns an ingo@939: instance of GlobalContext now. ingo@939: sascha@938: 2011-07-14 Sascha L. Teichmann sascha@938: sascha@938: * src/main/java/de/intevation/flys/artifacts/geom/Lines.java: sascha@938: Debugged the water fill algorithm. Added a lot of logging. sascha@938: sascha@938: * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: sascha@938: Added a text field to give a water level to fill in. sascha@938: ingo@937: 2011-07-14 Ingo Weinzierl ingo@937: ingo@937: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, ingo@937: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Moved code ingo@937: to create the output modes based on the given facets to FLYSArtifact. In ingo@937: addition, FLYSArtifact got a new method that returns a specific input ingo@937: value as string. ingo@937: ingo@937: * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: New. ingo@937: This hook monitors the "post-feed" and "post-advance". If the monitored ingo@937: Artifact's state has configured recommended artifacts, this hook will ingo@937: create new Artifacts. ingo@937: ingo@937: TODO: We have to add the UUIDs of the new Artifacts to the DESCRIBE ingo@937: document of the artifact to let the client know, that there are new ingo@937: recommended Artifacts. ingo@937: ingo@937: * src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java: New. ingo@937: This Artifact is the base class for Artifacts, that represent static ingo@937: data. E.g. this could be a decoration theme in a chart or a background ingo@937: layer in the map. ingo@937: ingo@937: * src/main/java/de/intevation/flys/artifacts/states/OutputState.java: New. ingo@937: This state might be used as base class for states, that doesn't require ingo@937: any user input, but only provide static Facets added by a computeFeed() ingo@937: operation. So, subclasses need to implement computeFeed() only. ingo@937: sascha@936: 2011-07-13 Sascha L. Teichmann sascha@936: sascha@936: * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: sascha@936: New. Standalone Swing-App to test cross sections from database without the sascha@936: hassles of our complete software stack. Runnable from a maven environment: sascha@936: sascha@936: $ mvn -e \ sascha@936: -Dflys.backend.user=DB_USER \ sascha@936: -Dflys.backend.password=DB_PASSWD \ sascha@936: -Dflys.backend.url=DB_CONNECTION_URL \ sascha@936: -Dexec.mainClass=de.intevation.flys.artifacts.charts.CrossSectionApp \ sascha@936: exec:java sascha@936: sascha@936: You can set the river to be used with the system property 'river'. sascha@936: Defaults to 'Mosel'. sascha@936: sascha@936: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java: sascha@936: Removed superfluous imports. sascha@936: ingo@935: 2011-07-13 Ingo Weinzierl ingo@935: ingo@935: * doc/conf/artifacts/winfo.xml: The FloodMapState has a new Outputmode ingo@935: called "floodmap" now. ingo@935: ingo@935: * src/main/java/de/intevation/flys/artifacts/model/WSPLGENFacet.java: New. ingo@935: This facet is used to generate WSPLGEN results. ingo@935: ingo@935: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added ingo@935: the WSPLGENFacet. ingo@935: ingo@935: * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: ingo@935: This state will now generate WSPLGENFacets. ingo@935: sascha@934: 2011-07-12 Sascha L. Teichmann sascha@934: sascha@934: * src/main/java/de/intevation/flys/artifacts/geom/Lines.java: sascha@934: Fixed corner case. sascha@934: sascha@933: 2011-07-11 Sascha L. Teichmann sascha@933: sascha@933: * src/main/java/de/intevation/flys/artifacts/geom/Lines.java: New. sascha@933: fillWater() generates a list of wet lines for a given profile and a sascha@933: given water level. sascha@934: ingo@932: 2011-07-08 Ingo Weinzierl ingo@932: ingo@932: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The ingo@932: Outputs created while generating the DESCRIBE document will now have the ingo@932: 'type' member set. ingo@932: ingo@932: * src/main/java/de/intevation/flys/collections/OutputParser.java: Read the ingo@932: 'type' member from DESCRIBE document. ingo@932: ingo@931: 2011-07-06 Ingo Weinzierl ingo@931: ingo@931: * doc/conf/artifacts/winfo.xml: Removed a typo. ingo@931: ingo@930: 2011-07-06 Ingo Weinzierl ingo@930: ingo@930: * src/main/java/de/intevation/flys/artifacts/model/DataFacet.java: ingo@930: DataFacet are now able to store the ID of the state which has created ingo@930: this Facet. ingo@930: ingo@930: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: ingo@930: Initialize DataFacets with the ID of this state. This is necessary to ingo@930: renew the waterlevel data if it is no longer existing in the cache. ingo@930: ingo@929: 2011-07-06 Ingo Weinzierl ingo@929: ingo@929: * src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java: A ingo@929: report facet can now store the state's id and the artifact's hash value ingo@929: when it has been created. ingo@929: ingo@929: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: ingo@929: Initialize the ReportFacet and WaterlevelFacet with state id and hash ingo@929: information. This has been necessary to retrieve reports and waterlevels ingo@929: in states after this one - in states that we need to enter for floodmap ingo@929: parameterization. ingo@929: ingo@928: 2011-07-05 Ingo Weinzierl ingo@928: ingo@928: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelGroundDifferences.java: ingo@928: Changed the desired UI provider. ingo@928: ingo@927: 2011-07-05 Ingo Weinzierl ingo@927: ingo@927: * doc/conf/artifacts/winfo.xml: Added the option to continue the ingo@927: waterlevel parameterization with the intent to create flood maps. ingo@927: ingo@927: * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: ingo@927: This state is no longer a final state. The user has the option to ingo@927: continue with the parameterization for flood maps based on the current ingo@927: waterlevel. Therefore, this states desires the "continue" UI provider. ingo@927: Clients should recognice this to just step to the next state or display ingo@927: a button that lets the user step to the next state manually. ingo@927: ingo@927: * src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java, ingo@927: src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java, ingo@927: src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java, ingo@927: src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java, ingo@927: src/main/java/de/intevation/flys/artifacts/states/ProfileDistanceSelect.java, ingo@927: src/main/java/de/intevation/flys/artifacts/states/WaterlevelGroundDifferences.java: ingo@927: New. These states are used to parameterize a further calculation type: ingo@927: flood map. ingo@927: ingo@927: * src/main/resources/messages.properties, ingo@927: src/main/resources/messages_de_DE.properties, ingo@927: src/main/resources/messages_en.properties, ingo@927: src/main/resources/messages_de.properties: Required strings for the ingo@927: flood maps states. ingo@927: sascha@926: 2011-07-04 Sascha L. Teichmann sascha@926: sascha@926: Fix(?) for flys/issue114 sascha@926: sascha@926: * src/main/java/de/intevation/flys/artifacts/model/WQ.java: sascha@926: Make guessing a bit more robust. sascha@926: sascha@925: 2011-07-03 Sascha L. Teichmann sascha@925: sascha@925: Added the math needed to calculate "W-Differenzen" in "Laengsschnitten". sascha@925: Needs testing! sascha@925: sascha@925: * src/main/java/de/intevation/flys/artifacts/model/NamedObject.java: sascha@925: Made it an interface to be usable in more than one inheritance chain. sascha@925: sascha@925: * src/main/java/de/intevation/flys/artifacts/model/NamedObjectImpl.java: sascha@925: Implements the NamedObject interface and is the new base class of sascha@925: WQ and WKmsImpl. sascha@925: sascha@925: * src/main/java/de/intevation/flys/artifacts/model/WKms.java: sascha@925: New. Interface to associate kms with ws. sascha@925: sascha@925: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: sascha@925: Changed the base class to NamedObjectImpl. Renamed getKms(int) sascha@925: to getKm(int) to make clear it return a single scalar value sascha@925: and fullfil the WKms interface. sascha@925: sascha@925: * src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java: sascha@925: New. Implements the WKms interface. Intended to be a lightweight sascha@925: datastore for "zusaetzliche Laengsschnitte" and as results sascha@925: of the WKmsOperations. sascha@925: sascha@925: * src/main/java/de/intevation/flys/artifacts/model/WQ.java: sascha@925: Changed base class to NamedObjectImpl. sascha@925: sascha@925: * src/main/java/de/intevation/flys/artifacts/math/WKmsOperation.java: sascha@925: New. Operations on WKms data. sascha@925: Currently only the SUBTRACTION operation is implemented. This sascha@925: one is needed to calculate the "W-Differenzen". The operation sascha@925: is insensitive about the km directions of the datasets. Missing sascha@925: values are interpolated linear. sascha@925: sascha@925: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, sascha@925: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: sascha@925: Adjusted to satisfy the signature change of WQKMs. sascha@925: ingo@924: 2011-07-01 Ingo Weinzierl ingo@924: ingo@924: * src/main/java/de/intevation/flys/exports/StyledXYSeries.java: New. This ingo@924: XYSeries stores the style information that should be used to render this ingo@924: series. These information are stored as raw XML documents. A public ingo@924: method can be used to apply those style information to a ingo@924: XYLineAndShapeRenderer. ingo@924: ingo@924: Note: The only two attributes currently supported by StyledXYSeries ingo@924: items are "linesize" and "linecolor". ingo@924: ingo@924: * doc/conf/themes.xml: Added some more basic themes for the four ingo@924: calculation methods. ingo@924: ingo@924: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: This ingo@924: generator now tries to apply themes for all series contained in the ingo@924: chart. If a series is no instance of StyledXYSeries, the default ingo@924: renderer is used. ingo@924: ingo@924: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, ingo@924: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, ingo@924: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, ingo@924: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, ingo@924: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@924: Removed the code that had been introduced to adapt renderers statically. ingo@924: Now, each of these concrete ChartGenerators instantiates StyledXYSeries ingo@924: items to put the curves into the chart. Those items contain style ingo@924: information now! ingo@924: ingo@923: 2011-07-01 Ingo Weinzierl ingo@923: ingo@923: flys/issue135 (Diagramm: Trotz abgeschalteter Themen bleiben Beschriftungen bestehen) ingo@923: ingo@923: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: The way ingo@923: to store datasets has changed. Until this revision, the concrete ingo@923: generators managed their own datasets. E.g. the ingo@923: DischargeLongitudinalSectionGenerator had three datasets: w, q and ingo@923: corrected w. Now, there are just two datasets, managed by this base ingo@923: generator - one dataset for the first Y axis and one dataset for the ingo@923: second Y axis. This makes it easier to remove axes, that have no data to ingo@923: be displayed. All concrete chart generators have to add their XYSeries ingo@923: using two methods: addFirstAxisSeries() and addSecondAxisSeries(). ingo@923: ingo@923: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, ingo@923: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, ingo@923: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, ingo@923: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, ingo@923: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@923: Those concrete chart generators no longer manage datasets themself but ingo@923: they use the two methods described above, to plot the data to the first ingo@923: or second Y axis. ingo@923: ingo@922: 2011-07-01 Ingo Weinzierl ingo@922: ingo@922: * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: ingo@922: Added the option to use a filter to reduce the number of items returned ingo@922: by this service. ingo@922: ingo@921: 2011-06-30 Ingo Weinzierl ingo@921: ingo@921: flys/issue159 (WINFO: Radiobutton - Ortsauswahl bei "W für ungleichwertigen Abflusslängsschnitt" entfernen) ingo@921: ingo@921: * doc/conf/artifacts/winfo.xml: Changed the kilometer range input for ingo@921: calculation 4. This calculation type requires a kilometer range. So, ingo@921: after choosing the calculation 4, the transition model leads to a state ingo@921: that just allows the input of a kilometer range with no option to ingo@921: enter locations. ingo@921: ingo@921: * src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java: ingo@921: New. A base state for the kilometer selection for calculations. The ingo@921: target of this state is to provide facets for the duration curves. ingo@921: ingo@921: * src/main/java/de/intevation/flys/artifacts/states/DistanceSelect.java: ingo@921: New. This state is used to enter a kilometer range. The difference to ingo@921: the LocationDistanceSelect state is, that there is no option to enter ingo@921: locations. ingo@921: ingo@921: * src/main/java/de/intevation/flys/artifacts/states/RangeState.java: ingo@921: Improved this state to be the base state for calculation ranges. ingo@921: ingo@921: * src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java ingo@921: src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java ingo@921: ingo@921: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: This ingo@921: state no longer inherits from RangeState which now is used as base ingo@921: state for kilometer ranges. ingo@921: ingo@921: * src/main/resources/messages.properties, ingo@921: src/main/resources/messages_de_DE.properties, ingo@921: src/main/resources/messages_en.properties, ingo@921: src/main/resources/messages_de.properties: Added new i18n strings for ingo@921: the DistanceSelect state. ingo@921: sascha@920: 2011-06-28 Sascha L. Teichmann sascha@920: sascha@920: * pom.xml: Downgraded Trove to 1.1-beta-5, because the new sascha@920: later ones are removed from the maven repos. sascha@920: sascha@925: The functionality we need is in 1.1 so this downgrade should sascha@920: cause no problems. sascha@920: sascha@920: Would be nice if we would support the maintainers of trove to sascha@920: bring there new versions back into the main maven repos. sascha@920: ingo@919: 2011-06-28 Ingo Weinzierl ingo@919: ingo@919: * pom.xml: Repaired the JBoss repository which place has changed. ingo@919: ingo@918: 2011-06-28 Ingo Weinzierl ingo@918: ingo@918: Tagged RELEASE 2.4 ingo@918: ingo@749: 2011-06-27 Ingo Weinzierl ingo@749: ingo@749: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, ingo@749: src/main/java/de/intevation/flys/exports/WstWriter.java: ingo@749: Append the corrected W column (if existing) to the WST export. ingo@749: sascha@748: 2011-06-27 Sascha L. Teichmann sascha@748: sascha@748: * src/main/java/de/intevation/flys/artifacts/model/WQ.java: sascha@748: Guessing increaing w is not based on direct neighbors any more. sascha@748: The second to be compared with is choosen by random of sascha@748: the values before the first one. This makes the guessing sascha@748: more robust against 'plateaus' of equal w values. sascha@748: sascha@747: 2011-06-27 Sascha L. Teichmann sascha@747: sascha@747: * src/main/java/de/intevation/flys/exports/ATWriter.java: Array sascha@747: for constructing the spline was too large leading to non-increasing sascha@747: values. sascha@747: sascha@745: 2011-06-27 Sascha L. Teichmann sascha@745: sascha@745: Fix for flys/issue150 sascha@745: sascha@745: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, sascha@745: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: sascha@745: Invert the x axis if its guessed that water is increasing. sascha@745: sascha@744: 2011-06-27 Sascha L. Teichmann sascha@744: sascha@744: * src/main/java/de/intevation/flys/artifacts/model/WQ.java(guessWaterIncreasing): sascha@744: Added a method to guess based on a given factor of the size (default 0.05) sascha@744: if the water levels are increasing. Needed to determine in which direction sascha@744: the water level curve should be orientated. Based on random to avoid sascha@744: running over large dataset each time a diagram is generated. sascha@744: ingo@743: 2011-06-27 Ingo Weinzierl ingo@743: ingo@743: flys/issue177 (WINFO: Abflusskurven am Pegel verursachen ein Hängen des Servers) ingo@743: ingo@743: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@743: Commented out code to generate time ranges for series names. There ingo@743: seems to be a problem while loading the discharge tables of a gauge or ingo@743: while determining the start and/or end time of such discharge tables. ingo@743: sascha@742: 2011-06-26 Sascha L. Teichmann sascha@742: sascha@742: * src/main/java/de/intevation/flys/**/*.java: Removed trailing whitespace. sascha@742: sascha@741: 2011-06-26 Sascha L. Teichmann sascha@741: sascha@741: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@741: Removed dead code. sascha@741: sascha@739: 2011-06-26 Sascha L. Teichmann sascha@739: sascha@740: Fix for flys/issue173 sascha@740: sascha@739: * src/main/java/de/intevation/flys/artifacts/model/Calculation4.java: sascha@739: Fixed the way the gauge was found for a given interval. sascha@739: The old way does not work because it was just tested if sascha@739: the station point was inside the segments which is not sascha@739: necessarily true. The obvious solution to simply check sascha@739: the overlapping intervals does not work either because sascha@741: the gauge ranges touch each other and so more than sascha@739: one gauge are returned in these cases. The River.maxOverlap() sascha@739: is now used to find the gauge with the max overlapping sascha@739: range. sascha@739: sascha@738: 2011-06-26 Sascha L. Teichmann sascha@738: sascha@738: Fix for flys/issue147 sascha@738: sascha@738: * src/main/java/de/intevation/flys/artifacts/model/Calculation1.java: sascha@738: Removed the 'kmUp' flag. It was an left over from former sascha@738: WSP calculations (w/o ref km) leading to wrong results now. sascha@738: sascha@738: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@738: Don't pass the kmUp flag to the calculation. sascha@738: sascha@738: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@738: Added debug output to see the value of 'wq_free'. sascha@738: sascha@737: 2011-06-26 Sascha L. Teichmann sascha@737: sascha@737: Fix for flys/issue86 sascha@737: sascha@737: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@737: The reference gauge for calculations "am Pegel" was determined sascha@737: wrong. sascha@737: sascha@735: 2011-06-25 Sascha L. Teichmann sascha@735: sascha@735: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@735: Conversion w->q was broken. This should fix a number of issues sascha@735: around "W am Pegel" calculations. sascha@735: sascha@735: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@735: Issue an error report if a w->q conversion fails. sascha@735: sascha@735: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@735: The gauge to convert w->q with its discharge table was determined wrong. sascha@735: ingo@734: 2011-06-24 Ingo Weinzierl ingo@734: ingo@734: flys/issue174 (Diagramm: Q-Linie wird bei initialem Laden des Diagramms ingo@734: anders dargestellt als bei Ansicht auf gesamten Wertebereich) ingo@734: ingo@734: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@734: The chart will now have upper margins again. ingo@734: ingo@733: 2011-06-24 Ingo Weinzierl ingo@733: ingo@733: flys/issue172 (Diagramm: Ursprung der Diagramme bei Dauerzahlen) ingo@733: ingo@733: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: ingo@733: Charts of this type will have the lower X value set to "0". ingo@733: sascha@732: 2011-06-23 Sascha L. Teichmann sascha@732: sascha@732: * src/main/java/de/intevation/flys/exports/ATWriter.java: sascha@732: Results are now in cm. Made it more robust against corner cases. sascha@732: sascha@732: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: sascha@732: Removed superfluous import. sascha@732: sascha@731: 2011-06-23 Sascha L. Teichmann sascha@731: sascha@731: * doc/conf/artifacts/winfo.xml, doc/conf/conf.xml: sascha@731: Added facet config for AT exports. sascha@731: sascha@731: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: sascha@731: Added 'at' facet type. sascha@731: sascha@731: * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java: sascha@731: Generate AT facets. sascha@731: sascha@730: 2011-06-23 Sascha L. Teichmann sascha@730: sascha@730: * src/main/java/de/intevation/flys/exports/ATExporter.java: New. sascha@730: Exporter for AT facets. Needs testing. sascha@730: sascha@729: 2011-06-23 Sascha L. Teichmann sascha@729: sascha@729: * src/main/java/de/intevation/flys/exports/ATWriter.java: New. sascha@729: Writer for AT files. New code because our data model differs sascha@729: from Desktop-FLYS. Needs testing. sascha@729: ingo@728: 2011-06-23 Ingo Weinzierl ingo@728: ingo@728: flys/issue157 (Diagramm: Ursprung berechnete Abflusskurve) ingo@728: ingo@728: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, ingo@728: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@728: Moved the method that adjusts the X-axis to include the "0" value from ingo@728: ComputedDischargeCurveGenerator to DischargeCurveGenerator. Now, both ingo@728: charts will include the "0" on the X-axis. ingo@728: sascha@727: 2011-06-23 Sascha L. Teichmann sascha@727: sascha@727: * src/main/java/de/intevation/flys/artifacts/model/WQDay.java: sascha@727: Based on WQ now to make it exportable as AT. sascha@727: sascha@726: 2011-06-23 Sascha L. Teichmann sascha@726: sascha@726: * src/main/java/de/intevation/flys/artifacts/model/WQ.java: sascha@726: New. Base class for WQKms. sascha@726: sascha@726: TODO 1: make it a base class for WQDay, too, sascha@726: TODO 2: Generate instances of WQ instead of WQKms in "Abflusskurven" sascha@726: calculations. This will save memory. sascha@726: sascha@726: AT exporter will get instances of this class as data model sascha@726: sascha@726: * src/main/java/de/intevation/flys/artifacts/model/NamedObject.java: sascha@726: Add default constructor to ease inheritance. sascha@726: sascha@726: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: sascha@726: Based on WQ now. Removed code allready defined in base class. sascha@726: sascha@726: 2011-06-23 Sascha L. Teichmann sascha@725: sascha@725: * doc/conf/artifacts/winfo.xml: Add TODOs for error reports sascha@725: of "Abflusskurven am Pegel". Maybe we don't need them? sascha@725: sascha@725: * doc/conf/conf.xml: Configure report for each calculated output type. sascha@725: ingo@724: 2011-06-22 Ingo Weinzierl ingo@724: ingo@724: flys/issue164 (Berechnung 4: Umgekehrtes Berechnungsintervall führt zur) ingo@724: ingo@724: * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: ingo@724: Create the items with range information for W and Q which allows the ingo@724: client to validate the user inserted values. ingo@724: sascha@723: 2011-06-21 Sascha L. Teichmann sascha@723: sascha@723: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@723: Arguments in filling datastructure were flip. Now sascha@723: the "Abflusskurve am Pegel" looks correct again. sascha@723: sascha@723: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: sascha@723: Removed superfluous imports. sascha@723: sascha@722: 2011-06-21 Sascha L. Teichmann sascha@722: sascha@722: Improved situtation on rendering "Abflusskurve am Pegel". Not sascha@722: fully working, yet. sascha@722: sascha@722: * doc/conf/artifacts/winfo.xml: Generate facets for the location path, too. sascha@722: sascha@722: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Misspelled sascha@722: the facet which prevented the facets from being to the outputs. sascha@722: sascha@722: * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: sascha@722: Extended to store the hash and the state id of the producing artifact/state sascha@722: else it results in NPEs because the data is calculated on later (wrong) states. sascha@722: sascha@722: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: sascha@722: Store the state id and the hash in the facet, too. sascha@722: sascha@722: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Add two sascha@722: method to do calculations for a state the artifact is currently not in sascha@722: and fetching the current state id. sascha@722: sascha@721: 2011-06-21 Sascha L. Teichmann sascha@721: sascha@721: * doc/conf/artifacts/winfo.xml: Generate facets for "Abflusskurven am Pegel" sascha@721: Not working by now. :-/ sascha@721: sascha@721: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: New facet type sascha@721: for "Abflusskurven am Pegel" sascha@721: sascha@721: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Do calculation sascha@721: in the artifact not in the output generator. sascha@721: sascha@721: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: sascha@721: Generate the new facets. sascha@721: sascha@721: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: sascha@721: Fetch data from facet. sascha@721: ingo@720: 2011-06-22 Ingo Weinzierl ingo@720: ingo@720: flys/issue161 (Diagramm: Q-Achse in W-Längsschnitten immer bei Q=0) ingo@720: ingo@720: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@720: The Q axis (which is the second y axis) initially contains the 0 value. ingo@720: After a zoom action has taken place, this behaviour is no longer ingo@720: supported. ingo@720: sascha@719: 2011-06-21 Sascha L. Teichmann sascha@719: sascha@721: Draw correction curve again. sascha@719: sascha@719: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java: sascha@719: Use correction curve to map plot to axes. Not doing so prevented sascha@719: the correction curve from being drawn! sascha@719: Smaller code cleanups and simplifications. sascha@719: sascha@719: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java, sascha@719: src/main/java/de/intevation/flys/artifacts/model/WQCKms.java: sascha@719: Added methods to directly access the components w, q and c sascha@719: at a given index. sascha@719: sascha@719: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: sascha@719: Attribute access via DOM instead of XPath. sascha@719: sascha@719: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: sascha@719: Code simplification. sascha@719: ingo@718: 2011-06-21 Ingo Weinzierl ingo@718: ingo@718: flys/issue157 (Diagramm: Ursprung berechnete Abflusskurve) ingo@718: ingo@718: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Splitted ingo@718: up zooming for x and y axes to be able to override specific axis ingo@718: zoom behaviour. ingo@718: ingo@718: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@718: The lower bound of the x axis (which is the Q axis in such chart) is ingo@718: always 0. ingo@718: ingo@717: 2011-06-21 Ingo Weinzierl ingo@717: ingo@717: flys/issue90 (Diagramm: Trennung derDiagrammfläche und Achsenaufheben) ingo@717: ingo@717: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@717: Added a margin between chart data and chart axes. ingo@717: sascha@716: 2011-06-21 Sascha L. Teichmann sascha@716: sascha@716: Fix for flys/issue158 sascha@716: sascha@716: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java: sascha@716: Checks for right class now. sascha@716: sascha@715: 2011-06-21 Sascha L. Teichmann sascha@715: sascha@715: Fix for flys/issue154 sascha@715: sascha@715: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: sascha@715: Checks for right class now. sascha@715: sascha@714: 2011-06-21 Sascha L. Teichmann sascha@714: sascha@714: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@714: Only generate 'outs' if they have facets. sascha@714: sascha@714: * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: sascha@714: 'boolean ? true : false' <=> 'boolean' sascha@714: ingo@713: 2011-06-21 Ingo Weinzierl ingo@713: ingo@713: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@713: Added the time-to-live to the DESCRIBE document. ingo@713: sascha@712: 2011-06-20 Sascha L. Teichmann sascha@712: sascha@712: * doc/conf/artifacts/winfo.xml: Configured states to generate report facets. sascha@712: sascha@711: 2011-06-20 Sascha L. Teichmann sascha@711: sascha@711: * src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java: sascha@711: Return the report. sascha@711: sascha@711: * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java, sascha@711: src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java, sascha@711: src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java, sascha@711: src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: sascha@711: Generate report facets if there are problems with the calculations. sascha@711: TODO: Adjust winfo.xml to configure the facets. sascha@711: sascha@710: 2011-06-20 Sascha L. Teichmann sascha@710: sascha@710: * src/main/java/de/intevation/flys/exports/ReportGenerator.java: sascha@710: New. Generator for calculation reports. sascha@710: sascha@710: * doc/conf/conf.xml: Added ReportGenerator. sascha@710: sascha@710: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: sascha@710: Added type 'report'. sascha@710: sascha@710: * src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java: sascha@710: Specialized facet for serving reports. TODO: Added them to the sascha@710: calculation states. sascha@710: sascha@710: * src/main/java/de/intevation/flys/artifacts/model/Calculation.java: sascha@710: Looped through CallMeta for i18n purposes. TODO: do i18n sascha@710: sascha@710: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@710: Removed superfluous import. sascha@710: sascha@710: * src/main/java/de/intevation/flys/exports/AbstractExporter.java: sascha@710: Added some override annotations. sascha@710: sascha@709: 2011-06-20 Sascha L. Teichmann sascha@709: sascha@709: * src/main/java/de/intevation/flys/artifacts/model/CalculationResult.java: sascha@709: New. Used to transport the data and the error report. sascha@709: sascha@709: * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java, sascha@709: src/main/java/de/intevation/flys/artifacts/model/Calculation1.java, sascha@709: src/main/java/de/intevation/flys/artifacts/model/Calculation2.java, sascha@709: src/main/java/de/intevation/flys/artifacts/model/Calculation3.java, sascha@709: src/main/java/de/intevation/flys/artifacts/model/Calculation4.java, sascha@709: src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java, sascha@709: src/main/java/de/intevation/flys/artifacts/model/Calculation.java, sascha@709: src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, sascha@709: src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java, sascha@709: src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java, sascha@709: src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java, sascha@709: src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java, sascha@709: src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, sascha@709: src/main/java/de/intevation/flys/exports/DurationCurveExporter.java: sascha@709: Use the CalculationResult now. sascha@709: sascha@708: 2011-06-18 Sascha L. Teichmann sascha@708: sascha@708: * src/main/java/de/intevation/flys/artifacts/model/Calculation1.java: sascha@708: Allow an explicit reference km to enable calculation "am Pegel". sascha@708: sascha@708: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@708: If a calculation "am Pegel" is done, take start km of the sascha@708: calculation range and find the gauge in which range it is located. sascha@708: Take the station of the gauge as the reference km. If no gauge sascha@708: is found the calcualtion falls back to calculation "auf freier Strecke". sascha@708: sascha@708: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@708: Replaced another inefficient attribute extraction via XPath sascha@708: with direct DOM access. sascha@708: sascha@706: 2011-06-18 Sascha L. Teichmann sascha@706: sascha@706: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, sascha@706: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java, sascha@706: src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, sascha@706: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: sascha@706: Removed dead code. sascha@706: sascha@705: 2011-06-18 Sascha L. Teichmann sascha@705: sascha@705: * src/main/java/de/intevation/flys/artifacts/model/DataFacet.java sascha@705: src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java, sascha@705: src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java, sascha@705: src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java, sascha@705: src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, sascha@705: src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java, sascha@705: src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java, sascha@705: src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java, sascha@705: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@705: Only generate facets when needed. sascha@705: sascha@705: * src/main/java/de/intevation/flys/collections/OutputParser.java: sascha@705: Removed more XPath for simply accessing attributes of an element. sascha@705: sascha@705: * doc/conf/cache.xml: 200 elements in memory for "computed.values" are enough, sascha@705: LRU as eviction strategy is sufficent. sascha@705: sascha@705: * src/main/java/de/intevation/flys/collections/AttributeWriter.java, sascha@705: src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Use sascha@705: more 'standard' Java naming conventions. sascha@705: sascha@704: 2011-06-17 Sascha L. Teichmann sascha@704: sascha@704: Merged in the facet-slt branch to bring in the 'facet' feature. sascha@704: sascha@704: * doc/conf/artifacts/winfo.xml: Fixed some facets. sascha@704: sascha@704: * doc/conf/cache.xml: Added a "computed.values" cache to store the sascha@704: results of the WINFO calculations. sascha@704: sascha@704: * src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java: sascha@704: Add support for index per facet to make them unique and identifiable. sascha@704: sascha@704: * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: sascha@704: New. Inteface to be used to access the facet names of the configuration. sascha@704: sascha@704: * src/main/java/de/intevation/flys/artifacts/model/DataFacet.java: New. sascha@704: A facet to be used to have raw access to the computed data of an artifact. sascha@704: Useful to export things like CSV and WST. sascha@704: sascha@704: * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: New. sascha@704: Specialized facet to access the water level data stored in WQKms arrays. sascha@704: sascha@704: * src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java: New. sascha@704: Specialized facet to access the duration data stored in WQDay data structures. sascha@704: sascha@704: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Facets are sascha@704: now generated dynamically from the current available ones stored with sascha@704: the artifact. sascha@704: sascha@704: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Added sascha@704: methods computeAdvance() and computeFeed() called if artifact is fed or sascha@704: adance. This overwritten in subclasses to do the state depending calculations. sascha@704: sascha@704: * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java, sascha@704: src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, sascha@704: src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java, sascha@704: src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java, sascha@704: src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: These sascha@704: states overwrites the computeAdvance() and computeFeed() methods to do sascha@704: the corresponding WINFO calculations. sascha@704: sascha@704: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Calls sascha@704: computeAdvance() and computeFeed() if artifact is fed or advanced. Centralized sascha@704: the caching mechanism. sascha@704: sascha@704: * src/main/java/de/intevation/flys/exports/AbstractExporter.java, sascha@704: src/main/java/de/intevation/flys/collections/AttributeParser.java, sascha@704: src/main/java/de/intevation/flys/collections/OutputParser.java, sascha@704: src/main/java/de/intevation/flys/collections/AttributeWriter.java, sascha@704: src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: sascha@704: Adjusted the code to cope with the indices of the facets. Used sascha@704: DOM to access the attributes instead of XPath. Removed smaller bugs sascha@704: concerning position generation. sascha@704: sascha@704: * src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java, sascha@704: src/main/java/de/intevation/flys/exports/ChartGenerator.java, sascha@704: src/main/java/de/intevation/flys/exports/OutGenerator.java: sascha@704: Forwarded facet references. sascha@704: sascha@704: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java, sascha@704: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, sascha@704: src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, sascha@704: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java, sascha@704: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, sascha@704: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, sascha@704: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, sascha@704: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, sascha@704: src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: sascha@704: Uses facets to fetch data and generate output now. sascha@704: ingo@685: 2011-06-17 Ingo Weinzierl ingo@685: ingo@685: * doc/conf/artifacts/winfo.xml: Added a new parameter "wq_free" that ingo@685: determines the mode of calculation 1. If it is "false" (default), ingo@685: the calculation should be bound to a gauge. ingo@685: ingo@685: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a ingo@685: method to retrieve the information about the "wq_free" parameter. ingo@685: ingo@684: 2011-06-17 Ingo Weinzierl ingo@684: ingo@684: * doc/conf/artifacts/winfo.xml: Added a facet for corrected W in ingo@684: computation 4. ingo@684: ingo@686: 2011-06-14 Sascha L. Teichmann ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: ingo@686: Got rid of namespace in result document. ingo@686: ingo@686: 2011-06-14 Ingo Weinzierl ingo@686: ingo@686: flys/issue77 (Diagramm: Beschriftung der Kurven bei Dauerlinien) ingo@686: ingo@686: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: ingo@686: Give the curves in the chart names. ingo@686: ingo@686: * src/main/resources/messages.properties, ingo@686: src/main/resources/messages_de_DE.properties, ingo@686: src/main/resources/messages_en.properties, ingo@686: src/main/resources/messages_de.properties: Added titles for duration ingo@686: chart curves. ingo@686: ingo@686: 2011-06-14 Sascha L. Teichmann ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: ingo@686: Write top 'Oberkante' and bottom 'Unterkante' to out going XML ingo@686: if they exist. ingo@686: ingo@686: 2011-06-14 Ingo Weinzierl ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: ingo@686: Write the min/max W/Q ranges as art:range elements into the DESCRIBE. ingo@686: ingo@686: 2011-06-14 Ingo Weinzierl ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java: ingo@686: This state that is used to retrieve locations will now write the ingo@686: kilometer range of the selected river into the DESCRIBE document. ingo@686: ingo@686: 2011-06-10 Sascha L. Teichmann ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/Calculation1.java: ingo@686: New. Factored out version of "Wasserspiegellage" calculation. ingo@686: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: ingo@686: ingo@686: Removed some dead code. ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/WQCKms.java: ingo@686: Added Override annotation and used quick access method. ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: ingo@686: Looped through error reporting use by interpolate. ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: ingo@686: Used factored out version of calculation 1. Removed dead code. ingo@686: ingo@686: 2011-06-10 Sascha L. Teichmann ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/Calculation2.java: ingo@686: New. Factored out version of "Abflusskurve". ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: ingo@686: Loop errors through w/q at km interpolation. ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: ingo@686: Use factored out version of calculation 2. ingo@686: ingo@686: 2011-06-10 Sascha L. Teichmann ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/Calculation3.java: ingo@686: New. Factored out version of "Dauerzahlen". ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: ingo@686: Loop errors through for q->w interpolations. ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/WQDay.java: ingo@686: Added constructor to directly create with calculated results. ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/Calculation.java: ingo@686: Added method to return the number of problems. ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: ingo@686: Use factored out version of calculation 3. ingo@686: ingo@686: 2011-06-10 Sascha L. Teichmann ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java, ingo@686: src/main/java/de/intevation/flys/artifacts/model/WQCKms.java, ingo@686: src/main/java/de/intevation/flys/artifacts/model/WQDay.java: ingo@686: Added methods to remove NaN values. ingo@686: ingo@686: 2011-06-10 Sascha L. Teichmann ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/Calculation.java: ingo@686: New. Base class for calculations. Used to collect problems occuring ingo@686: during calculation. ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/Calculation4.java: ingo@686: Extends Calculation now. Looped through the problem reports to ingo@686: base class. ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: ingo@686: Looped through the problem reports. ingo@686: ingo@686: 2011-06-09 Ingo Weinzierl ingo@686: ingo@686: * src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: ingo@686: Append the min/max range and a transformation matrix for each axis. ingo@686: ingo@686: * src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: ingo@686: Instantiate the InfoGeneratorHelper with a XYChartGenerator instance. ingo@686: ingo@686: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@686: Changed the zoom operation. The zoom values defined in the chart request ingo@686: document are no longer absolute values for a specific axis. Those values ingo@686: represent percental values for the start and end point of x and y axes. ingo@686: E.g. a chart has three axes with the following ranges: ingo@686: - x axis : 0 - 10 ingo@686: - y axis 1: 20 - 40 ingo@686: - y axis 2: 40 - 90 ingo@686: - zoom values for x: 0.1 - 0.9 (10% - 90%) ingo@686: - zoom values for y: 0.2 - 0.8 (20% - 80%) ingo@686: The produced chart will have the following ranges: ingo@686: - x axis : 1 - 9 ingo@686: - y axis 1: 24 - 36 ingo@686: y axis 2: 50 - 80 ingo@686: ingo@686: 2011-06-09 Ingo Weinzierl ingo@686: ingo@686: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, ingo@686: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: ingo@686: Map datasets to axes correctly. ingo@686: ingo@686: 2011-06-08 Sascha L. Teichmann ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/Calculation4.java: ingo@686: Determine the gauges by their station positions. This hopfully ingo@686: fixes the problem with wrong assigned gauges and invalid segments. ingo@686: ingo@686: 2011-06-08 Sascha L. Teichmann ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/model/Segment.java, ingo@686: src/main/java/de/intevation/flys/artifacts/model/Calculation4.java: ingo@686: Added more debug output. ingo@686: ingo@686: 2011-06-08 Ingo Weinzierl ingo@686: ingo@686: flys/issue103 PART 1 (WINFO: Wasserspiegellagenberechnung / Layout-Inkonsistenz) ingo@686: ingo@686: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@686: Selected values are formatted with the current locale. The static part ingo@686: of the DESCRIBE document will now contain i18n formatted numbers. ingo@686: ingo@686: 2011-06-08 Ingo Weinzierl ingo@686: ingo@686: flys/issue93 (WINFO: Benennung der Berechnungsart korrigieren) ingo@686: ingo@686: * src/main/resources/messages_de_DE.properties, ingo@686: src/main/resources/messages_de.properties: Changed the name of ingo@686: calculation 4. ingo@686: ingo@667: 2011-06-08 Ingo Weinzierl ingo@667: ingo@667: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@667: Made the range determination more robust against NaN values. ingo@667: ingo@666: 2011-06-08 Ingo Weinzierl ingo@666: ingo@666: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@666: The second y axis is set to position "1". It was set to "2" before, but ingo@666: in that case, there was no position "1". ingo@666: sascha@664: 2011-06-08 Sascha L. Teichmann sascha@664: sascha@664: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, sascha@664: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, sascha@664: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java, sascha@664: src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, sascha@664: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, sascha@665: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java, sascha@665: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: sascha@665: s@m³/s@m\\u00b3/s@ sascha@664: sascha@663: 2011-06-08 Sascha L. Teichmann sascha@663: sascha@663: * src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: sascha@663: Only generate an axis element if a axis really exists. sascha@663: sascha@662: 2011-06-07 Sascha L. Teichmann sascha@662: sascha@662: * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: sascha@662: Simpified array swapping. sascha@662: sascha@660: 2011-06-07 Sascha L. Teichmann sascha@660: sascha@661: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, sascha@661: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@661: Use java.util.List instead of java.util.Vector sascha@661: sascha@661: * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java, sascha@661: src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java, sascha@661: src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java, sascha@661: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@661: Removed superfluous imports. sascha@661: sascha@661: 2011-06-07 Sascha L. Teichmann sascha@660: sascha@660: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: sascha@660: createItem() is not abstract any longer to avoid code repetitionin sub classes. sascha@660: sascha@661: * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java, sascha@661: src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, sascha@661: src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, sascha@661: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java, sascha@661: src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java, sascha@661: src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java, sascha@661: src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java, sascha@661: src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: sascha@661: Removed duplicated code, inserted default constructors and Override annotations. sascha@660: ingo@659: 2011-06-07 Ingo Weinzierl ingo@659: ingo@659: * src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: ingo@659: Append axes range information to the info document. ingo@659: sascha@660: 2011-06-07 Sascha L. Teichmann sascha@658: sascha@658: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@658: If feed() fails do not store invalid values in database. sascha@658: sascha@657: 2011-06-06 Sascha L. Teichmann sascha@657: sascha@657: * src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: sascha@657: Removed asymmetrical "- 1" from width calculation. sascha@657: sascha@656: 2011-06-05 Sascha L. Teichmann sascha@656: sascha@656: * src/main/java/de/intevation/flys/artifacts/model/Calculation4.java: sascha@656: Fixed problem when more than one value per segment are given. sascha@656: sascha@655: 2011-06-05 Sascha L. Teichmann sascha@655: sascha@655: Refactored version of "Berechnung 4" sascha@655: sascha@655: * src/main/java/de/intevation/flys/artifacts/model/Segment.java: sascha@655: Added instance fields for a reference point (= location of gauge) sascha@655: and backup of values (needed for naming). sascha@655: sascha@655: * src/main/java/de/intevation/flys/artifacts/model/WQCKms.java: sascha@655: Added a constructor to be created from a WQKms. This is helpful sascha@655: if a WQKms is replaced by a back jump correction. sascha@655: sascha@655: * src/main/java/de/intevation/flys/artifacts/model/Calculation4.java: sascha@655: New. Outfactored version of "W bei ungleichmaessigen Abflusslaengsschnitt". sascha@655: Much cleaner now and it should have a better handling of the corner sascha@655: cases. sascha@655: sascha@655: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@655: Removed the linear interpolation stuff. It is now in Linear. Removed sascha@655: the LinearRemap interpolation method because it is not needed any sascha@655: longer. Added a method to interpolate a given km with a given sascha@655: function. sascha@655: sascha@655: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@655: Removed the old calc 4 and used the new one. sascha@655: sascha@655: * src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java: sascha@655: Deleted. Not needed any longer. sascha@655: sascha@655: * src/main/java/de/intevation/flys/artifacts/math/Function.java: sascha@655: New. Interface for a uni-variate real function. sascha@655: sascha@655: * src/main/java/de/intevation/flys/artifacts/math/Identity.java: sascha@655: New. Implements Function with f(x) = x sascha@655: sascha@655: * src/main/java/de/intevation/flys/artifacts/math/Linear.java: sascha@655: New. Implements Function with f(x) = m*x + b sascha@655: sascha@655: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@655: Factored some stuff out to DoubleUtil. Removed some dead code. sascha@655: Does some rounding correct. sascha@655: sascha@655: * src/main/java/de/intevation/flys/utils/DoubleUtil.java: New. sascha@655: Centralized utils surrounding common double operations. sascha@655: sascha@655: * src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: sascha@655: Removed superfluous imports. sascha@655: ingo@654: 2011-06-03 Ingo Weinzierl ingo@654: ingo@654: flys/issue90(Diagramm: Trennung der Diagrammfläche und Achsen aufheben) ingo@654: ingo@654: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@654: Determine the ranges of x and y axes. If no zoom ranges are given, we ingo@654: will determine the min and max xy values in the dataset manually, ingo@654: because JFreeCharts adds a margin to the left and right of the data ingo@654: area automatically.. ingo@654: ingo@653: 2011-06-03 Ingo Weinzierl ingo@653: ingo@653: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Moved ingo@653: the chart creation into an own public method. This lets the ingo@653: ChartInfoGenerator create charts without duplicating code. ingo@653: ingo@653: * src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: ingo@653: Limited the possible class for generators to XYChartGenerator. This ingo@653: enables the ChartInfoGenerator class to do the whole chart creation ingo@653: stuff itself without outsourcing the code to concrete subclasses. ingo@653: ingo@653: * src/main/java/de/intevation/flys/exports/LongitudinalSectionInfoGenerator.java, ingo@653: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionInfoGenerator.java, ingo@653: src/main/java/de/intevation/flys/exports/DurationCurveInfoGenerator.java, ingo@653: src/main/java/de/intevation/flys/exports/DischargeCurveInfoGenerator.java, ingo@653: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveInfoGenerator.java: ingo@653: Removed the code to generate charts - this is done in ChartInfoGenerator ingo@653: now. ingo@653: ingo@652: 2011-06-03 Ingo Weinzierl ingo@652: ingo@652: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added new ingo@652: methods to extract the x and y ranges from request document. ingo@652: ingo@652: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added a ingo@652: method that zooms the chart to the specified x and y ranges. ingo@652: sascha@651: 2011-06-02 Sascha L. Teichmann sascha@651: sascha@651: * doc/conf/conf.xml: Set collection ttl to 6 hours. sascha@651: sascha@650: 2011-06-01 Sascha L. Teichmann sascha@650: sascha@650: * src/main/java/de/intevation/flys/artifacts/model/Segment.java: sascha@650: New. Parse segments only once. sascha@650: sascha@650: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@650: Expose new parser to artifacts. TODO: Use it. sascha@650: sascha@649: 2011-06-01 Sascha L. Teichmann sascha@649: sascha@649: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@649: Changed interpolation methods to interpolate to an arbitrary position sascha@649: in a given double result array as a preparation for segment independent sascha@649: calculation. sascha@649: sascha@649: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: sascha@649: Removed superfluous import. sascha@649: sascha@649: * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: sascha@649: Fixed cause for crashing: Run back too far in some siutations. sascha@649: sascha@649: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@649: Refactored range code a bit. Needs more work. sascha@649: ingo@648: 2011-06-01 Ingo Weinzierl ingo@648: ingo@648: * src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: ingo@648: Interchange the lower and upper x value of the chart if the x-axis is ingo@648: inverted before the matrix values are computed. Now, the matrix is able ingo@648: to work with charts that have an inverted x-axis. ingo@648: ingo@647: 2011-06-01 Ingo Weinzierl ingo@647: ingo@647: * src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: New. A ingo@647: chart info generator generates a document that contains meta information ingo@647: for a specific chart. Concrete instances of this abstract class need to ingo@647: instantiate concrete ChartGenerators and dispatch nearly all methods of ingo@647: an OutGenerator (init(), doOut(), setMaster()) to this instance. The ingo@647: generate() method is implemented in the ChartInfoGenerator itself. It ingo@647: creates a chart with help of the ChartGenerator instance and builds a ingo@647: document that contains meta information of this chart. ingo@647: ingo@647: * src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: New. ingo@647: This helper is used to create the chart info document. At the moment, ingo@647: the only information that is included in this document is a ingo@647: transformation matrix to transform image coordinates into chart ingo@647: coordinates. ingo@647: ingo@647: NOTE: The transformation matrix creation needs some work to support ingo@647: charts with inverted X axis. ingo@647: ingo@647: * src/main/java/de/intevation/flys/exports/LongitudinalSectionInfoGenerator.java, ingo@647: src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionInfoGenerator.java, ingo@647: src/main/java/de/intevation/flys/exports/DurationCurveInfoGenerator.java, ingo@647: src/main/java/de/intevation/flys/exports/DischargeCurveInfoGenerator.java, ingo@647: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveInfoGenerator.java: ingo@647: Concrete instances of ChartInfoGenerator that create the chart info for ingo@647: the currently supported chart types. ingo@647: ingo@647: * doc/conf/conf.xml: Registered new OutGenerators. ingo@647: ingo@646: 2011-05-31 Ingo Weinzierl ingo@646: ingo@646: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@646: Added support for the 'type' paramter of the collection's out() ingo@646: operation. ingo@646: sascha@645: 2011-05-31 Sascha L. Teichmann sascha@645: sascha@645: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, sascha@645: src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@645: Use an explicit reference km for interpolation now. sascha@645: sascha@644: 2011-05-30 Sascha L. Teichmann sascha@644: sascha@644: * doc/conf/cache.xml: Introduced cache to store the distance info per river. sascha@644: This boosts performance in following ab setup from 3.61 to 39.91 requests/secs. sascha@644: sascha@644: $ ab -c 20 -n 1000 -p distances.xml http://127.0.0.1:8181/service/distanceinfo sascha@644: sascha@644: $ cat distances.xml sascha@644: sascha@644: Elbe sascha@644: sascha@644: * src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: Added sascha@644: an iterator result to avoid construction expensive interim lists. sascha@644: sascha@644: * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: Use sascha@644: the cache if configured. sascha@644: sascha@643: 2011-05-30 Sascha L. Teichmann sascha@643: sascha@643: flys/issue82 sascha@643: sascha@643: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@643: Only successful interpolations are named. sascha@643: sascha@642: 2011-05-27 Sascha L. Teichmann sascha@642: sascha@642: * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: sascha@642: Make it work independent of river flow direction. sascha@642: sascha@642: * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: sascha@642: Fixed bug in ordering segments sascha@642: sascha@642: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Re-enabled sascha@642: calculation of the back jump correction. Fixed more flow direction issues. sascha@642: ingo@641: 2011-05-27 Ingo Weinzierl ingo@641: ingo@641: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@641: Removed call of XMLDebug class which is not in the version control. ingo@641: ingo@640: 2011-05-27 Ingo Weinzierl ingo@640: ingo@640: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@640: Moved the code part that skips themes right after the part that sets the ingo@640: master artifact for the OutGenerator. We need this master artifact to ingo@640: display empty charts - master artifact is used to create titles and ingo@640: axes. ingo@640: ingo@639: 2011-05-27 Ingo Weinzierl ingo@639: ingo@639: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@639: Deactivated themes are not put into the chart. ingo@639: ingo@638: 2011-05-27 Ingo Weinzierl ingo@638: ingo@638: * src/main/java/de/intevation/flys/collections/AttributeParser.java: ingo@638: Repaired broken XPath expressions to find the output modes in an ingo@638: attribute document of a collection. ingo@638: ingo@638: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: This ingo@638: writer will now create a document that has a root node art:attribute. ingo@638: Before these changes, the document's root node was art:outputs which is ingo@638: part of the attribute document but not the right root node. ingo@638: ingo@638: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@638: Adapted some XPath expressions and corrected the the process to create ingo@638: attribute documents. ingo@638: sascha@637: 2011-05-26 Sascha L. Teichmann sascha@637: sascha@637: * src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java: sascha@637: Made it work independent of from/to order. sascha@637: sascha@637: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@637: Added method to extract the ranges correctly from data. sascha@637: sascha@637: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@637: Use the correct ranges. Comment out backjump detection temporarily. sascha@637: sascha@636: 2011-05-26 Sascha L. Teichmann sascha@636: sascha@636: * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: sascha@636: Generate fields for w/q input depend on flow direction. sascha@636: sascha@636: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@636: Moved km up question out of loop. sascha@635: 2011-05-26 Sascha L. Teichmann sascha@635: sascha@635: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@635: Take the flow direction into account. sascha@635: sascha@635: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: sascha@635: Prevent NPE. sascha@635: sascha@635: * src/main/java/de/intevation/flys/artifacts/states/RangeState.java: sascha@635: Allow to be 'from' greater than 'to' in ranges. sascha@635: sascha@635: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Negate sascha@635: step if 'from' is greater than 'to'. sascha@635: sascha@634: 2011-05-26 Sascha L. Teichmann sascha@634: sascha@634: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@634: Round exploded values to a precision of 1e-6. sascha@634: sascha@633: 2011-05-25 Sascha L. Teichmann sascha@633: sascha@633: Qs are now stored in ranges for each column. sascha@633: sascha@633: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory2.java: sascha@633: Deleted. sascha@633: sascha@633: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java: sascha@633: Was WstValueTableFactory2. sascha@633: sascha@633: * src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java: Fixed sascha@633: node linking bug. Removed dead code. sascha@633: sascha@633: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@633: Q values are now stored in range trees by each column. The qs of the rows sascha@633: are removed and the calculations are adjusted. Removed dead code. sascha@633: sascha@632: 2011-05-24 Sascha L. Teichmann sascha@632: sascha@632: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java: sascha@632: Moved cache name to WstValueTableCacheKey. Do not cache null references. sascha@632: sascha@632: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableCacheKey.java: sascha@632: Moved cache name into this class. sascha@632: sascha@632: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@632: Store QRangeTree for each column of value table. TODO: Use them! sascha@632: sascha@632: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory2.java: sascha@632: Intended as a replacement for WstValueTableFactory, but is work in progress. sascha@632: sascha@632: * src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java: Fixed sascha@632: index errors and added methods to dump as graphviz graph. sascha@632: ingo@631: 2011-05-24 Ingo Weinzierl ingo@631: ingo@631: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@631: Improved the validation of WQ values. ingo@631: ingo@631: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Use the ingo@631: correct input data object to determine the selected WQ mode (range or ingo@631: single input). ingo@631: ingo@630: 2011-05-24 Ingo Weinzierl ingo@630: ingo@630: ISSUE-40 (part I/II) ingo@630: ingo@630: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@630: Write default values (values already selected by the user before) of the ingo@630: input data items into DESCRIBE. ingo@630: ingo@629: 2011-05-24 Ingo Weinzierl ingo@629: ingo@629: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: ingo@629: Removed needless imports. ingo@629: ingo@629: 2011-05-24 Ingo Weinzierl ingo@628: ingo@628: ISSUE-85 (part III/III) ingo@628: ingo@628: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: ingo@628: Added a static function that returns the kilometer values (double[]) ingo@628: from locations input (whitespace separated double values). ingo@628: ingo@628: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Adapted ingo@628: the getKms() method. It will now return a computed array of kilometers ingo@628: if we had inserted a range, or it will return the inserted kilometers if ingo@628: we had inserted locations. ingo@628: sascha@626: 2011-05-24 Sascha L. Teichmann sascha@626: sascha@626: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java: sascha@626: Moved cache key to separate class. sascha@626: sascha@626: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableCacheKey.java: sascha@626: New. The new cache key class. sascha@626: sascha@625: 2011-05-24 Sascha L. Teichmann sascha@625: sascha@625: * src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java: sascha@625: Model to store the q values of a WST column efficiently. First sascha@625: building block not to store the q values directly aside the sascha@625: w values. sascha@625: ingo@629: 2011-05-24 Ingo Weinzierl ingo@624: ingo@627: ISSUE-85 (part I/III) ingo@627: ingo@627: * doc/conf/artifacts/winfo.xml: Added two further field 'ld_mode' and ingo@627: 'ld_locations' to the range/locations state to track the selected mode ingo@627: and locations. ingo@627: ingo@627: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: ingo@627: Added methods to validate the user inserted locations. ingo@627: ingo@627: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a ingo@627: method to determine of a range or locations have been inserted. ingo@627: ingo@627: 2011-05-23 Ingo Weinzierl ingo@627: ingo@624: ISSUE-62 (part II/II) ingo@624: ingo@624: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Dump the ingo@624: artifacts state/data in DEBUG mode in describe(). ingo@624: ingo@624: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, ingo@624: src/main/java/de/intevation/flys/artifacts/states/DefaultState.java, ingo@624: src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, ingo@624: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java, ingo@624: src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java, ingo@624: src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java, ingo@624: src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@624: States will no longer store data. The only reason for states storing ingo@624: StateData is to know about the necessary data for this state. If a State ingo@624: needs to access the user input for a specific StateData object, it needs ingo@624: to query the FLYSArtifact which stores the data. ingo@624: ingo@623: 2011-05-23 Ingo Weinzierl ingo@623: ingo@623: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a ingo@623: method to dump the artifacts state(s)/data. ingo@623: sascha@622: 2011-05-23 Sascha L. Teichmann sascha@622: sascha@622: flys/issue84 sascha@622: sascha@622: * src/main/java/de/intevation/flys/artifacts/model/WstFactory.java: sascha@622: Forget to select wst kind. sascha@622: sascha@621: 2011-05-20 Sascha L. Teichmann sascha@621: sascha@621: flys/issue81 sascha@621: sascha@621: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@621: weights for kms were swapped. sascha@621: ingo@620: 2011-05-20 Ingo Weinzierl ingo@620: ingo@620: Tagged RELEASE 2.3.1 ingo@620: ingo@619: 2011-05-20 Ingo Weinzierl ingo@619: ingo@619: * Changes: Prepared changes for the upcoming release. ingo@619: hans@460: 2011-05-20 Hans Plum hans@460: hans@460: * NEWS: hans@460: Hint to Release 2.3.1. For further information look into module hans@460: flys-client/NEWS hans@460: sascha@459: 2011-05-19 Sascha L. Teichmann sascha@459: sascha@459: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java (getExplodedValues): sascha@459: Increment kms array size by one to take the end of range, too. sascha@459: sascha@458: 2011-05-19 Sascha L. Teichmann sascha@458: sascha@458: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java: sascha@458: Sort by rows (should not be necessary). sascha@458: sascha@458: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@458: Use unsharp km lookup (epsilon = 0.0001). This fixes the problem sascha@458: that some kms were not found. sascha@458: ingo@457: 2011-05-19 Ingo Weinzierl ingo@457: ingo@457: flys/issue66 ingo@457: ingo@457: * src/main/resources/messages_en.properties: Fixed broken template. ingo@457: ingo@456: 2011-05-19 Ingo Weinzierl ingo@456: ingo@456: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: ingo@456: Set the name of the computed discharge curve objects. ingo@456: ingo@456: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@456: The curves of this chart will now have names that consist of the word ingo@456: 'Discharge Curve', the river name and the kilometer that has been used ingo@456: for the computation. ingo@456: ingo@456: * src/main/resources/messages.properties, ingo@456: src/main/resources/messages_de_DE.properties, ingo@456: src/main/resources/messages_en.properties, ingo@456: src/main/resources/messages_de.properties: Added i18n strings for the ingo@456: computed discharge curves. ingo@456: sascha@455: 2011-05-19 Sascha L. Teichmann sascha@455: sascha@455: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@455: Added convenience method isQ() to determine if we are sascha@455: doing Q calculations. sascha@455: sascha@455: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@455: Reintroduced titles for the "W for unausgeglichene Abfluesse". sascha@455: ingo@454: 2011-05-19 Ingo Weinzierl ingo@454: ingo@454: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@454: The curves will now have names that consist of the gauge name and its ingo@454: valid time range. ingo@454: ingo@454: * src/main/resources/messages.properties, ingo@454: src/main/resources/messages_de_DE.properties, ingo@454: src/main/resources/messages_en.properties, ingo@454: src/main/resources/messages_de.properties: Added i18n strings for the ingo@454: discharge curves. ingo@454: sascha@453: 2011-05-19 Sascha L. Teichmann sascha@453: sascha@453: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@453: Removed dead code. sascha@453: sascha@452: 2011-05-19 Sascha L. Teichmann sascha@452: sascha@452: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@452: Use the correct method to generate kms. sascha@452: sascha@452: * src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java: sascha@452: Added some logging to test the map in debug mode. sascha@452: sascha@451: 2011-05-18 Sascha L. Teichmann sascha@451: sascha@451: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@451: Made getExplodedValues static. sascha@451: sascha@451: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@451: Use new logic to calculate "W für ungleichwertige Abfluesse". sascha@451: Not working, yet. sascha@451: sascha@451: * ChangeLog: Fixed former entry. sascha@451: ingo@450: 2011-05-18 Ingo Weinzierl ingo@450: ingo@450: * doc/conf/artifacts/winfo.xml: Registered the WST export for discharge ingo@450: longitudinal sections. ingo@450: ingo@450: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Set the ingo@450: names of the discharge longitudinal section computation results. ingo@450: ingo@450: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java: ingo@450: The W/Q curves in the chart will now have names. ingo@450: ingo@450: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: ingo@450: The WstWriter is filled with column names in an own method. So, we are ingo@450: able to override this process in subclasses. ingo@450: ingo@450: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java: ingo@450: Adapted the column names for the WST export. ingo@450: sascha@451: 2011-05-18 Sascha L. Teichmann sascha@451: sascha@451: Work on flys/issue69 sascha@451: sascha@451: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@451: Use new logic to calculate "Wasserstand/Wasserspiegellage". sascha@451: Compared to desktop FLYS are the results are structurally right sascha@451: but a bit off in the positions after the decimal points. sascha@451: Maybe a result of the interpolation? Need to debug this. sascha@449: ingo@448: 2011-05-18 Ingo Weinzierl ingo@448: ingo@448: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@448: W and Q curves will now have names based on the defined W or Q values ingo@448: for the waterlevel computation. ingo@448: ingo@447: 2011-05-18 Ingo Weinzierl ingo@447: ingo@447: * src/main/java/de/intevation/flys/artifacts/model/NamedObject.java: ingo@447: New. This object is used to give objects a name. ingo@447: ingo@447: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Inherit ingo@447: from NamedObject now. Because we need to display names for those objects ingo@447: in different places. ingo@447: ingo@447: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The WQKms ingo@447: objects returned by a waterlevel computation will now have names. ingo@447: ingo@447: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: ingo@447: Insert the column names for the WSTs into the WstWriter. ingo@447: ingo@447: * src/main/java/de/intevation/flys/exports/WstWriter.java: The column ingo@447: names are written into the head of the WSTs now. ingo@447: ingo@446: 2011-05-17 Ingo Weinzierl ingo@446: ingo@446: * src/main/java/de/intevation/flys/artifacts/model/WstLine.java: New. This ingo@446: class is used to store the W/Q values of a specific kilometer of a WST. ingo@446: ingo@446: * src/main/java/de/intevation/flys/exports/WstWriter.java: New. A writer ingo@446: that creates WSTs. ingo@446: ingo@446: TODO: The header of the WSTs is not finished. The Q descriptions are ingo@446: missing. ingo@446: ingo@446: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: ingo@446: Enabled WST exports. ingo@446: ingo@446: * doc/conf/artifacts/winfo.xml: Registered the WST export for waterlevels. ingo@446: ingo@445: 2011-05-17 Ingo Weinzierl ingo@445: ingo@445: * src/main/java/de/intevation/flys/utils/Formatter.java: New. This class ingo@445: supports functions to retrieve formatters for specific types of data ingo@445: used in FLYS. ingo@445: ingo@445: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, ingo@445: src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, ingo@445: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java, ingo@445: src/main/java/de/intevation/flys/exports/AbstractExporter.java: ingo@445: Removed the formatter declaration - the whole formatter stuff is done in ingo@445: Formatter now. ingo@445: ingo@444: 2011-05-17 Ingo Weinzierl ingo@444: ingo@444: ISSUE-72 ingo@444: ingo@444: * src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java: ingo@444: Repaired broken XPath expressions to extract start and end kilometer. ingo@444: sascha@443: 2011-05-17 Sascha L. Teichmann sascha@443: sascha@443: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@443: Removed the Hibernate loading stuff. sascha@443: sascha@443: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java: sascha@443: New. The Hibernate loading. sascha@443: sascha@443: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@443: Use the WstValueTableFactory for loading now. sascha@443: ingo@442: 2011-05-17 Ingo Weinzierl ingo@442: hans@460: Tagged RELEASE 0.1 aka Version 2.3.0 ingo@442: hans@428: 2011-05-16 Hans Plum hans@428: hans@428: * NEWS: hans@428: New. Giving some user specific perspective to new functionality and hans@428: changes. This file references releases dates only; details can be find hans@428: in the client module at flys-client. hans@428: sascha@427: 2011-05-10 Sascha L. Teichmann sascha@427: sascha@427: First step to calculate "W fuer ungleichwertige Abfluesse" correctly. sascha@427: flys/issue55 sascha@427: sascha@427: * src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java: sascha@427: New. Remaps "gleichwertige" Q values to the corresponding sascha@427: "ungleichwertige" Q values depending on km. sascha@427: sascha@427: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@427: Remap the Q values "ungleichwertig" depending on the sascha@427: "gleichwertige" ones. sascha@427: sascha@426: 2011-05-10 Sascha L. Teichmann sascha@426: sascha@426: First step to fix flys/issue69 sascha@426: sascha@426: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@426: New code path to implement the calculation of "Wasserstand/Wasspiegellage" sascha@426: correctly. TODO 1: Use new path in UI. TODO 2: Remove unused old code. sascha@426: ingo@425: 2011-05-13 Ingo Weinzierl ingo@425: ingo@425: * Changes: Prepared Changes for the upcoming release 2.3 - see Changes ingo@425: file to get to know about the changes of the version numbers. ingo@425: ingo@424: 2011-05-13 Ingo Weinzierl ingo@424: ingo@424: ISSUE-37 ingo@424: ingo@424: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: This ingo@424: state would be happy if there is a UI provider called "river_panel". ingo@424: ingo@423: 2011-05-11 Ingo Weinzierl ingo@423: ingo@423: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added new ingo@423: methods that return the requested chart size as integer array [width, ingo@423: height]. The requested size is read from the incomding request document. ingo@423: ingo@423: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: The size ingo@423: of a chart is no longer static. The requested size is fetched using ingo@423: ChartGenerator.getSize(). ingo@423: ingo@422: 2011-05-11 Ingo Weinzierl ingo@422: ingo@422: ISSUE-52 ingo@422: ingo@422: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@422: The X-Axis of such a chart is inverted, if the head of the river is not ingo@422: at kilometer 0. This type of charts always have the head of the river at ingo@422: the left side. ingo@422: sascha@421: 2011-05-10 Sascha L. Teichmann sascha@421: sascha@421: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@421: Make incoming XML symmetric to DistanceInfoService. sascha@421: ingo@420: 2011-05-10 Ingo Weinzierl ingo@420: ingo@420: ISSUE-47 ingo@420: ingo@420: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, ingo@420: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, ingo@420: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@420: Adjusted temporarily the color of the W, Q and corrected W curves to ingo@420: distinguish each other. ingo@420: ingo@419: 2011-05-10 Ingo Weinzierl ingo@419: ingo@419: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@419: Adjusted the plot of xy charts - the gridlines are displayed now. ingo@419: ingo@418: 2011-05-10 Ingo Weinzierl ingo@418: ingo@418: ISSUE-53 ingo@418: ingo@418: * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: ingo@418: Added a method that returns the preferred locale based on the available ingo@418: locales of the server and the desired locales of the request (CallMeta). ingo@418: ingo@418: * src/main/java/de/intevation/flys/exports/AbstractExporter.java: Added a ingo@418: method that creates a number formatter with minimum and maximum digits. ingo@418: ingo@418: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java, ingo@418: src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, ingo@418: src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, ingo@418: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: ingo@418: Formatted the number values of the CSV exports. ingo@418: ingo@417: 2011-05-10 Ingo Weinzierl ingo@417: ingo@417: * src/main/java/de/intevation/flys/artifacts/model/RangeWithValues.java: ingo@417: New. A data structure that enables us to save a data triple: a range ingo@417: that consist of lower and upper double value and a set of values that ingo@417: belong to this range. ingo@417: ingo@417: * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: ingo@417: Implemented the validation of W/Q values. ingo@417: ingo@416: 2011-05-10 Ingo Weinzierl ingo@416: ingo@416: * src/main/java/de/intevation/flys/exports/AbstractExporter.java: New ingo@416: method to retrieve i18n messages based on keys. ingo@416: ingo@416: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java, ingo@416: src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, ingo@416: src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, ingo@416: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: ingo@416: Added headers for CSV exports. ingo@416: ingo@416: * src/main/resources/messages.properties, ingo@416: src/main/resources/messages_de_DE.properties, ingo@416: src/main/resources/messages_en.properties, ingo@416: src/main/resources/messages_de.properties: Added new i18n strings for ingo@416: CSV headers. ingo@416: sascha@415: 2011-05-10 Sascha L. Teichmann sascha@415: sascha@415: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@415: Fetches river name from incoming XML document. If no river is given all sascha@415: infos about all rivers are listed. sascha@415: sascha@415: * src/main/resources/metadata/template.xml: Templates honors the 'river' sascha@415: parameter. sascha@415: sascha@415: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@415: Extended to pass parameters to the templating. Added support for sascha@415: type conversion. sascha@415: sascha@415: * src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java: sascha@415: Take parameters as an initial stack frame. sascha@415: sascha@415: * src/main/java/de/intevation/flys/artifacts/services/meta/TypeConverter.java: sascha@415: New. Converts types off stacked variables. sascha@415: ingo@414: 2011-05-10 Ingo Weinzierl ingo@414: ingo@414: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added a ingo@414: method to add subtitles to charts. The implementation in this class does ingo@414: not add any subtitle. Concrete subclasses may override this method to ingo@414: add some. ingo@414: ingo@414: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, ingo@414: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@414: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@414: Add subtitles to charts. ingo@414: ingo@414: * src/main/resources/messages.properties, ingo@414: src/main/resources/messages_de_DE.properties, ingo@414: src/main/resources/messages_en.properties, ingo@414: src/main/resources/messages_de.properties: Added i18n templates for ingo@414: compound messages (chart subtitles). ingo@414: ingo@413: 2011-05-10 Ingo Weinzierl ingo@413: ingo@413: * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: ingo@413: Added new methods to retrieve translated compound messages. ingo@413: ingo@412: 2011-05-10 Ingo Weinzierl ingo@412: ingo@412: * src/main/java/de/intevation/flys/exports/OutGenerator.java: Added a ingo@412: method to set the master artifact that should be used for some special ingo@412: operations. ingo@412: ingo@412: * src/main/java/de/intevation/flys/exports/ChartGenerator.java, ingo@412: src/main/java/de/intevation/flys/exports/AbstractExporter.java: ingo@412: Implement the setMasterArtifact() method of the interface. ingo@412: ingo@412: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@412: Call OutGenerator.setMasterArtifact(). ingo@412: ingo@412: NOTE: The determination of the master artifact needs to be implemented! ingo@412: ingo@411: 2011-05-10 Ingo Weinzierl ingo@411: ingo@411: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Removed ingo@411: hard coded dev code that defined a WQ mode. ingo@411: sascha@410: 2011-05-09 Sascha L. Teichmann sascha@410: sascha@410: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@410: Stripped ugly extra whitespace from output introduced by sascha@410: templating. sascha@410: sascha@409: 2011-05-09 Sascha L. Teichmann sascha@409: sascha@409: * src/main/resources/metadata/template.xml: Added forgotten sascha@409: columns of fixation WSTs. sascha@409: ingo@408: 2011-05-09 Ingo Weinzierl ingo@408: ingo@408: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added a ingo@408: method to retrieve i18n strings. ingo@408: ingo@408: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, ingo@408: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, ingo@408: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@408: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@408: Enabled i18n support for chart title and axes labels. ingo@408: ingo@408: * src/main/resources/messages.properties, ingo@408: src/main/resources/messages_de_DE.properties, ingo@408: src/main/resources/messages_en.properties, ingo@408: src/main/resources/messages_de.properties: Added i18n strings for the ingo@408: chart types above. ingo@408: ingo@407: 2011-05-09 Ingo Weinzierl ingo@407: ingo@407: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java: ingo@407: New. This OutGenerator exports the data of a discharge longitudinal ingo@407: section computation. ingo@407: ingo@407: * doc/conf/conf.xml: Added the DischargeLongitudinalSectionExporter. ingo@407: ingo@407: * doc/conf/artifacts/winfo.xml: Added the exporter with CSV facet to the ingo@407: discharge_longitudinal_section state. ingo@407: sascha@406: 2011-05-07 Sascha L. Teichmann sascha@406: sascha@406: * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: sascha@406: Added code to make back jump correction work with both sascha@406: potential flow directions. sascha@406: sascha@405: 2011-05-06 Sascha L. Teichmann sascha@405: sascha@405: * src/main/resources/metadata/template.xml: sascha@405: Added data cage configuration for 'Längsschnitt'. sascha@405: ingo@402: 2011-05-06 Ingo Weinzierl ingo@402: ingo@402: * doc/conf/artifacts/winfo.xml: Added the missing Q facet for discharge ingo@402: longitudinal sections. ingo@402: ingo@402: * src/main/java/de/intevation/flys/artifacts/model/WQCKms.java: New. A ingo@402: derived dataset to store W/Q values with corrected Ws for a kilometer ingo@402: range. ingo@402: ingo@402: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Some new ingo@402: methods and a new constructor to initialize this data object with a ingo@402: predefined set of values. ingo@402: ingo@402: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New ingo@402: methods to retrieve the W/Q values for the 'discharge longitudinal ingo@402: section' computation. ingo@402: ingo@402: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: New ingo@402: methods to retrieve and compute data used for the 'discharge ingo@402: longitudinal section' computation. ingo@402: ingo@401: 2011-05-05 Ingo Weinzierl ingo@401: ingo@401: * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: ingo@401: Bugfix: just write the ranges of gauges into the DESCRIBE if the ingo@401: 'wq_values' data item is required. ingo@401: ingo@401: * src/main/resources/messages.properties, ingo@401: src/main/resources/messages_de_DE.properties, ingo@401: src/main/resources/messages_en.properties, ingo@401: src/main/resources/messages_de.properties: Added i18n messages used in ingo@401: the DESCRIBE of the WQAdapted state. ingo@401: ingo@400: 2011-05-05 Ingo Weinzierl ingo@400: ingo@400: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@400: Changed the title of the y-axis (now 'W [NN+m]'). ingo@400: ingo@399: 2011-05-05 Ingo Weinzierl ingo@399: ingo@399: * doc/conf/artifacts/winfo.xml: Improved the transition model to reach the ingo@399: output state for creating 'discharge longitudinal section' charts. ingo@399: ingo@399: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a ingo@399: method that returns all gauges of the selected river based on a the ingo@399: given kilometer range. ingo@399: ingo@399: * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: New. ingo@399: This state creates a set of elements for the DESCRIBE that consist of a ingo@399: tuple of kilometer values. The number of elements depend on the number ingo@399: of gauges intersected by the given kilometer range. ingo@399: ingo@399: * src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java: ingo@399: New. This state is the output state that is reached after the 'discharge ingo@399: longitudinal section' computation has been chosen. ingo@399: ingo@398: 2011-05-05 Ingo Weinzierl ingo@398: ingo@398: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Default ingo@398: step width between two kilometers added - if no step width is given, ingo@398: this default width is used. ingo@398: ingo@397: 2011-05-05 Ingo Weinzierl ingo@397: ingo@397: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@397: Fixed a potential NullPointerException if there is just a single ingo@397: kilometer given to create a longitudinal section. ingo@397: sascha@396: 2011-05-04 Sascha L. Teichmann sascha@396: sascha@396: * pom.xml: Added http://repository.jboss.org/maven2 repo sascha@396: to fix flys/issue30 sascha@396: sascha@396: 2011-05-04 Sascha L. Teichmann sascha@395: sascha@395: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@395: To make diagram generation possible ws are now generated from qs sascha@395: because they are many ws having different qs. sascha@395: ingo@394: 2011-05-04 Ingo Weinzierl ingo@394: ingo@394: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: ingo@394: Fetch the WQ data from WINFO artifact and write those values into the ingo@394: CSV export. ingo@394: ingo@393: 2011-05-04 Ingo Weinzierl ingo@393: ingo@393: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added ingo@393: methods to compute and retrieve the data for discharge curves (computed). ingo@393: ingo@393: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@393: Fetch the computed discharge curve data from WINFOArtifact and add the ingo@393: values into the JFreeChart dataset. ingo@393: ingo@392: 2011-05-04 Ingo Weinzierl ingo@392: ingo@392: * doc/conf/artifacts/winfo.xml: Added new transitions and states to enable ingo@392: the WINFO artifact for computing discharge curves. ingo@392: ingo@392: * doc/conf/conf.xml: Added OutGenerators that generate computed discharge ingo@392: curves and exports for its data. ingo@392: ingo@392: * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java: ingo@392: New. This state is reached if the user chose the computed discharge ingo@392: curve. ingo@392: ingo@392: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@392: New. This is only a stub implementation at the moment. This ingo@392: OutGenerator should create computed discharge curves later. It extends ingo@392: the DischargeCurveGenerator which should do the same stuff for discharge ingo@392: curves for gauges. ingo@392: ingo@392: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: ingo@392: New. This is only a stub implementation at the moment. This OutGenerator ingo@392: should create the exports of the discharge curve computation. ingo@392: ingo@391: 2011-05-03 Ingo Weinzierl ingo@391: ingo@391: * doc/conf/artifacts/winfo.xml: Added a new output mode for the duration ingo@391: curve state (CSV export). ingo@391: ingo@391: * doc/conf/conf.xml: Added a new OutGenerator to export duration curve ingo@391: computations. ingo@391: ingo@391: * src/main/java/de/intevation/flys/exports/AbstractExporter.java: New. ingo@391: This abstract OutGenerator represents the base class for exporting ingo@391: computed data. Currently, the CSV export is supported. ingo@391: ingo@391: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Moved ingo@391: the most code to export to CSV into the AbstractExporter. ingo@391: ingo@391: * src/main/java/de/intevation/flys/exports/DurationCurveExporter.java: ingo@391: New. This exporter exports the computed data of a duration computation. ingo@391: ingo@390: 2011-05-03 Ingo Weinzierl ingo@390: ingo@390: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@390: Modified a wrong debug statement which would confuse the user. ingo@390: ingo@389: 2011-05-03 Ingo Weinzierl ingo@389: ingo@389: * doc/conf/artifacts/winfo.xml: Added a new output mode for the waterlevel ingo@389: state (CSV export). ingo@389: ingo@389: * doc/conf/conf.xml: Added a new OutGenerator to export waterlevels. ingo@389: ingo@389: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: New. ingo@389: This OutGenerator exports the data of a waterlevel computation. Note: ingo@389: It is necessary to specify the desired facet (e.g. ingo@389: 'waterlevel_export.csv'). ingo@389: ingo@389: * pom.xml: Added a dependency to OpenCSV. ingo@389: ingo@388: 2011-05-03 Ingo Weinzierl ingo@388: ingo@388: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@388: Introduced an "export" output target. If the target is "export", a ingo@388: facet (read from the incoming xml document) is a necessary parameter ingo@388: that determines which facets are written to the output. ingo@388: ingo@387: 2011-05-03 Ingo Weinzierl ingo@387: ingo@387: * src/main/resources/messages_en.properties: Bugfix: replaced german ingo@387: string (copy & paste mistake). ingo@387: ingo@386: 2011-05-03 Ingo Weinzierl ingo@386: ingo@386: * src/main/resources/messages.properties, ingo@386: src/main/resources/messages_de_DE.properties, ingo@386: src/main/resources/messages_en.properties, ingo@386: src/main/resources/messages_de.properties: Added new i18n strings for ingo@386: for the location selection. ingo@386: ingo@385: 2011-05-03 Ingo Weinzierl ingo@385: ingo@385: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: ingo@385: New. An OutGenerator for creating duration curves. ingo@385: ingo@385: * src/main/java/de/intevation/flys/artifacts/model/WQDay.java: New. A ingo@385: model class to store necessary data for creating W and Q facets of a ingo@385: duration curve. This model stores W, Q and Days. ingo@385: ingo@385: * src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java: ingo@385: Added a function to retrieve tuples of (day, q) based on a given gauge - ingo@385: these tuples are necessary for creating duration curves. ingo@385: ingo@385: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added ingo@385: methods to compute and retrieve the data necessary for creating duration ingo@385: curves. ingo@385: ingo@385: * src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java: ingo@385: Bugfix: improved the access to the location array (avoid ingo@385: NullPointerException). ingo@385: ingo@385: * doc/conf/conf.xml: Registered the new OutGenerator for duration curves. ingo@385: sascha@384: 2011-05-03 Sascha L. Teichmann sascha@384: sascha@384: * contrib/visualize-transitions.xsl: State quoting was done wrong. sascha@384: ingo@383: 2011-05-02 Ingo Weinzierl ingo@383: ingo@383: * doc/conf/artifacts/winfo.xml: Enhanced the transition model to reach the ingo@383: final state for creating duration curves. ingo@383: ingo@383: * src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java: ingo@383: New. This state should be reached to just insert an array of locations. ingo@383: ingo@383: * src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java: ingo@383: New. This state is reached if the duration curve calculation is ingo@383: selected. ingo@383: ingo@383: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Adjusted ingo@383: getDistance() so that it takes care on inserted locations - not just ingo@383: inserted ranges. ingo@383: sascha@382: 2011-05-02 Sascha L. Teichmann sascha@382: sascha@382: * src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java: sascha@382: Flush/persist caches at program exists. sascha@382: sascha@382: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: sascha@382: Commented out too eloquent debug output. sascha@382: ingo@381: 2011-05-02 Ingo Weinzierl ingo@381: ingo@381: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@381: Uses the methods of FLYSArtifact to retrieve the necessary information ingo@381: rivername and selected distance. ingo@381: sascha@380: 2011-05-02 Sascha L. Teichmann sascha@380: sascha@380: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@380: Added interpolateW method to take reference to result ws array sascha@380: as an argument to avoid expensive array allocations in km iterating sascha@380: loops. sascha@380: sascha@380: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: sascha@380: Added a constructor to create backing trove datastructure sascha@380: with the right capacity. sascha@380: sascha@380: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@380: Move allocation of result ws out of km loop. sascha@380: ingo@379: 2011-05-02 Ingo Weinzierl ingo@379: ingo@379: * doc/conf/artifacts/winfo.xml: Added two further data items in the WQ ingo@379: selection state. Those items are necessary to store the information ingo@379: about the selected mode (range/single selection) and the values of the ingo@379: single selection. ingo@379: ingo@379: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: If ingo@379: there is no value for a data item, this item is not written into the ingo@379: static DESCRIBE part. ingo@379: ingo@379: * src/main/java/de/intevation/flys/artifacts/states/RangeState.java, ingo@379: src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: ingo@379: Renamed the method to validate upper and lower values. ingo@379: ingo@379: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: This ingo@379: state can now handle values inserted in the single selection. Therefore, ingo@379: new validate methods has been added. ingo@379: ingo@379: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The ingo@379: methods getWs() and getWs() take care on the values inserted in the ingo@379: single insert mode of the client which enables the user to insert single ingo@379: W and Q. ingo@379: sascha@378: 2011-05-02 Sascha L. Teichmann sascha@378: sascha@378: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@378: Repaired getQForW() by calculating indices on right dimension. sascha@378: ingo@377: 2011-05-02 Ingo Weinzierl ingo@377: ingo@377: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New ingo@377: methods for retrieving selected W values (getWs()). ingo@377: ingo@377: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The ingo@377: method for retrieving waterlevel data takes care on selected Ws, now. ingo@377: The selected Ws are transformed using the DischargeTables.getQForW() ingo@377: into Q values. ingo@377: ingo@376: 2011-05-02 Ingo Weinzierl ingo@376: ingo@376: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: ingo@376: Removed an unused parameter 'result' of getQForW(). ingo@376: ingo@375: 2011-05-02 Ingo Weinzierl ingo@375: ingo@375: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Removed ingo@375: the getDataset() method and replaced it with a addDataset() method. ingo@375: On this way, concrete subclasses of this OutGenerator can have multiple ingo@375: datasets (e.g. different datasets for W and Q). This abstract method is ingo@375: called after the chart generation is finished. ingo@375: ingo@375: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@375: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@375: Both classes implement the addDataset() method. The ingo@375: LongitudinalSectionGenerator has already multiple datasets for W and Q. ingo@375: Both are added to the chart - both have an own range axis. ingo@375: sascha@374: 2011-05-01 Sascha L. Teichmann sascha@374: sascha@374: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@374: Use the cache for the wst value table if configured. sascha@374: sascha@374: * doc/conf/cache.xml: Choose a more precise name for the sascha@374: wst value table cache. sascha@374: sascha@373: 2011-04-29 Sascha L. Teichmann sascha@373: sascha@373: * pom.xml: Added dependency to Ehcache. Apache 2.0 license. sascha@373: sascha@373: * doc/conf/conf.xml: Added configuration of ehcache. sascha@373: sascha@373: * doc/conf/cache.xml: New. Cache configurations. sascha@373: sascha@373: * src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java: sascha@373: New. Factory to access caches. sascha@373: sascha@372: 2011-04-29 Sascha L. Teichmann sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@372: Forgot to add. sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@372: New. Given a database connection and a XML template it generates sascha@372: an output with meta data about the database. sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java: sascha@372: New. Holds prepared statements optimized to be run in the stack of sascha@372: contextes. sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java: sascha@372: New. Model to hold a hierarchical scope of variables. sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/services/meta/ResultData.java: sascha@372: New. Stores data set fetched from a sql select to be iterated in sascha@372: a context. sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java, sascha@372: src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: sascha@372: Removed superfluous imports. sascha@372: sascha@371: 2011-04-29 Sascha L. Teichmann sascha@371: sascha@371: * doc/conf/conf.xml: Added meta data service. sascha@371: sascha@371: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@371: Stub for the meta data service. sascha@371: sascha@371: * src/main/resources/metadata/template.xml: Initial template for sascha@371: the meta data service. sascha@371: ingo@370: 2011-04-29 Ingo Weinzierl ingo@370: ingo@370: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@370: Bugfix: Now, curves for Q values are drawn into a longitudinal section ingo@370: chart as well. Therefore, it was necessary to change the datastructure ingo@370: of the inner class ThemeList that stores all themes included in a chart ingo@370: in an ordered list (stored in a java.util.Vector now). ingo@370: ingo@369: 2011-04-29 Ingo Weinzierl ingo@369: ingo@369: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: New. An ingo@369: abstract base class for ChartGenerators that create XY charts. ingo@369: ingo@369: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@369: Sourced the generate() method out to the XYChartGenerator. ingo@369: ingo@369: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@369: Implemented the methods to add W and Q facets to the chart. ingo@369: ingo@368: 2011-04-29 Ingo Weinzierl ingo@368: ingo@368: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Improved ingo@368: the calculation of the step with for ranges. ingo@368: ingo@367: 2011-04-29 Ingo Weinzierl ingo@367: ingo@367: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Added a ingo@367: method that returns the number of elements stored in the data pool. ingo@367: sascha@366: 2011-04-29 Sascha L. Teichmann sascha@366: sascha@366: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: sascha@366: Added a get() method which takes destination array as an sascha@366: argument. sascha@366: ingo@365: 2011-04-29 Ingo Weinzierl ingo@365: ingo@365: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Changed the ingo@365: data structure to store w, q and kms values from List to ingo@365: TDoubleArrayList which stores native double values instead of big ingo@365: Double values. ingo@365: ingo@365: * pom.xml: Added the GNU Trove dependency. ingo@365: ingo@364: 2011-04-29 Ingo Weinzierl ingo@364: ingo@364: * src/main/java/de/intevation/flys/exports/OutGenerator.java: Added the ingo@364: name a the requested facet to doOut(). Concrete generators should just ingo@364: create output for this facet now. ingo@364: ingo@364: * src/main/java/de/intevation/flys/exports/ChartGenerator.java, ingo@364: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@364: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@364: Adapted the method signature of doOut(). ingo@364: ingo@364: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@364: Adapted the method call of OutGenerator.doOut(). ingo@364: ingo@363: 2011-04-29 Ingo Weinzierl ingo@363: ingo@363: * doc/conf/themes.xml: Added mappings for the facets ingo@363: longitudinal.section.w and longitudinal.section.q. ingo@363: ingo@362: 2011-04-29 Ingo Weinzierl ingo@362: ingo@362: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added some ingo@362: methods to retrieve necessary information for computing the data of a ingo@362: waterlevel. ingo@362: ingo@362: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added ingo@362: methods to compute and retrieve the data of a waterlevel computation. ingo@362: ingo@361: 2011-04-29 Ingo Weinzierl ingo@361: ingo@361: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: New. This ingo@361: model class represents a pool of data triples that consist of W, Q and ingo@361: Kms information. This class might be used to compute data for creating ingo@361: longitudinal section curves (which are based on those W, Q and Kms ingo@361: values). ingo@361: ingo@360: 2011-04-29 Ingo Weinzierl ingo@360: ingo@360: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: ingo@360: Bugfix: Removed endless loop and a bug while iterating over Hibernate ingo@360: results. ingo@360: ingo@359: 2011-04-28 Ingo Weinzierl ingo@359: ingo@359: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@359: New. An OutGenerator that creates longitudinal section curves. ingo@359: ingo@359: NOTE: This is just the stub - the out creation needs to be implemented! ingo@359: ingo@359: * doc/conf/conf.xml: Added the LongitudinalSectionGenerator. ingo@359: ingo@358: 2011-04-28 Ingo Weinzierl ingo@358: ingo@358: * doc/conf/conf.xml: Bugfix: Added missing section. ingo@358: ingo@357: 2011-04-28 Ingo Weinzierl ingo@357: ingo@357: * src/main/java/de/intevation/flys/artifacts/WaterlevelState.java: New. ingo@357: This state should be reached if the 'calc.surface.curve' calculation ingo@357: method has been chosen. ingo@357: ingo@357: * doc/conf/artifacts/winfo.xml: Modified a transition and added the ingo@357: WaterlevelState. This state is reached if the 'calc.surface.curve' ingo@357: calculation method has been chosen. It currently has 1 output - a ingo@357: longitudinal section that is not implemented yet! ingo@357: ingo@356: 2011-04-28 Ingo Weinzierl ingo@356: ingo@356: * src/main/java/de/intevation/flys/artifacts/transitions/ValueCompareTransition.java: ingo@356: New. This transition is valid if the a data object of the current ingo@356: artifact equals/notequals a configured value in the transition model. ingo@356: ingo@355: 2011-04-28 Ingo Weinzierl ingo@355: ingo@355: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, ingo@355: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Bugfixes: ingo@355: - Adapted the parameters of the isStateReachable() call - added the ingo@355: artifact and the current state. ingo@355: - Append the outputs of a current state if the state is filled with ingo@355: valid data. ingo@355: ingo@354: 2011-04-28 Ingo Weinzierl ingo@354: ingo@354: * src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java: ingo@354: Added the missing init() method that has been introduced in the ingo@354: interface some commits ealier. ingo@354: ingo@354: * src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java: ingo@354: Call init() after a Transition has been created. ingo@354: ingo@353: 2011-04-28 Ingo Weinzierl ingo@353: ingo@353: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: ingo@353: Bugfix: Introduced a node in the attribute document of a ingo@353: Collection that contains further nodes - instead of having ingo@353: multiple nodes at toplevel of the document. ingo@353: ingo@353: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@353: Adapted the XPath to retrieve the outputs in the attribute document of a ingo@353: Collection. ingo@353: sascha@351: 2011-04-28 Sascha L. Teichmann sascha@351: sascha@351: * contrib/visualize-transitions.xsl: Added to create a sascha@351: Graphviz digraph out of the config.xml. Usage: sascha@351: sascha@351: $ xsltproc --stringparam base-dir ../doc/conf/ \ sascha@351: contrib/visualize-transitions.xsl \ sascha@351: doc/conf/conf.xml > transitions.dot sascha@351: sascha@351: $ dot -Tsvg -o transitions.svg transitions.dot sascha@351: ingo@350: 2011-04-28 Ingo Weinzierl ingo@350: ingo@352: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, ingo@352: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@352: If no data has been inserted so far, an IllegalArgumentException is ingo@352: thrown. ingo@352: ingo@352: 2011-04-28 Ingo Weinzierl ingo@352: ingo@350: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:: ingo@350: A lot of new methods to retrieve the theme of a facet - used while ingo@350: creating the output of a facet/artifact. If a facet has no theme yet, it ingo@350: is initialized. ingo@350: ingo@349: 2011-04-27 Ingo Weinzierl ingo@349: ingo@349: * src/main/java/de/intevation/flys/collections/AttributeParser.java, ingo@349: src/main/java/de/intevation/flys/collections/OutputParser.java: Removed ingo@349: useless imports. ingo@349: ingo@348: 2011-04-27 Ingo Weinzierl ingo@348: ingo@348: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: New. An ingo@348: abstract OutGenerator that might be used to create chart output. Some ingo@348: basic things that are equal in all charts should be done here! ingo@348: ingo@348: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@348: This OutGenerator no longer implements the OutGenerator directly, but it ingo@348: extends the ChartGenerator now. ingo@348: ingo@347: 2011-04-27 Ingo Weinzierl ingo@347: ingo@347: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@347: Restructured the out() operation of a collection: Now, we collect a list ingo@347: of artifacts/facets and use this for the OutGenerator. Its doOut() ingo@347: method gets the attribute of an artifact - the position and the active ingo@347: state is managed by the Collection itself. ingo@347: ingo@346: 2011-04-26 Ingo Weinzierl ingo@346: ingo@346: * src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java: New. ingo@346: a specialized facet that stores information about its position and its ingo@346: state (active/inactive) in an output of a collection. ingo@346: ingo@346: * src/main/java/de/intevation/flys/collections/AttributeParser.java: New. ingo@346: This parser takes the attributes (XML) of a collection and extracts the ingo@346: contained outputs with its facets. The result is a Map. ingo@346: ingo@346: * src/main/java/de/intevation/flys/collections/OutputParser.java: New. ingo@346: This parser is used to query the artifact's DESCRIBE and to extract the ingo@346: supported outputs. The result is a Map. ingo@346: ingo@346: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: New. ingo@346: This writer merges the outputs contained in an attribute of a collection ingo@346: with the outputs of a collection's artifacts. ingo@346: ingo@346: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@346: The attributes of a collection are written into its DESCRIBE document ingo@346: now. The OutputParser and AttributeParser are used to read the supported ingo@346: attributes by the collection and its artifacts - the AttributeWriter is ingo@346: used to merge both attributes and create a final attribute document. ingo@346: ingo@345: 2011-04-26 Ingo Weinzierl ingo@345: ingo@345: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java, ingo@345: src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@345: The facet-2-theme mappings are initialized at startup and stored in the ingo@345: FLYSContext. ingo@345: ingo@345: * src/main/java/de/intevation/flys/themes/ThemeFactory.java: Added a ingo@345: function that retrieves a theme from FLYSContext based on its name. ingo@345: sascha@344: 2011-04-22 Sascha L. Teichmann sascha@344: sascha@344: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@344: Corrected a silly c&p mistake. sascha@344: sascha@343: 2011-04-22 Sascha L. Teichmann sascha@343: sascha@343: * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: sascha@343: sascha@343: Implementation of the "Ruecksprungkorrektur" to be done in sascha@343: "W fuer angepassten Abflusslaengschnitt". sascha@343: sascha@343: All tests show the expected results. In some corner cases the sascha@343: algorithm described in the "Anwenderhandbuch" chapter 3.3.4.3 "Korrektur" sascha@343: has some definition shortcomings: sascha@343: sascha@343: a - What should happend when you cannot find point 2 because sascha@343: you cannot step back one quarter from point 3 because there sascha@344: is no data there any more (river too short in this direction)? sascha@344: The implemented algorithm raises point 3' only to an sascha@344: according factor. E.g. If you can step back the whole quarter sascha@344: distance the elevation is the full quarter. If you can sascha@344: step back only the half of the quarter the elevation is sascha@344: only an eighth. sascha@343: sascha@343: b - If the water heights between point 2 and 3 are constant then sascha@343: the algorithm will produce a spline interpolation that sascha@344: lowers those values. Is this intended? sascha@343: sascha@343: For real data the back jumps are expected to be more in the middle sascha@343: of the distance ranges so the corner cases are maybe not so sascha@343: important. sascha@343: sascha@343: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: sascha@343: Removed superfluous import. sascha@343: ingo@342: 2011-04-21 Ingo Weinzierl ingo@342: ingo@342: * src/main/java/de/intevation/flys/themes/ThemeFactory.java: Removed debug ingo@342: code that has been commited by accident. ingo@342: ingo@341: 2011-04-21 Ingo Weinzierl ingo@341: ingo@341: * doc/conf/themes.xml: New. A first small theme configuration. ingo@341: ingo@341: * doc/conf/conf.xml: Added a link to the theme configuration. ingo@341: ingo@341: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: ingo@341: Defined a key that is used to store a themes map in the FLYSContext. ingo@341: ingo@341: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@341: The theme configuration is read at startup and the themes are stores in ingo@341: the FLYSContext. ingo@341: ingo@340: 2011-04-21 Ingo Weinzierl ingo@340: ingo@340: * src/main/java/de/intevation/flys/themes/Theme.java, ingo@340: src/main/java/de/intevation/flys/themes/DefaultTheme.java: ingo@340: New. The interface and its default implementation that represents themes ingo@340: used to style charts and maps. ingo@340: ingo@340: * src/main/java/de/intevation/flys/themes/ThemeField.java, ingo@340: src/main/java/de/intevation/flys/themes/DefaultThemeField.java: ingo@340: New. The interface and its default implementation that represents fields ingo@340: in themes. A theme might be "Lines" and one of its field might be ingo@340: "Color" or "Size". ingo@340: ingo@340: * src/main/java/de/intevation/flys/themes/ThemeFactory.java: A factory ingo@340: that creates new themes based on a theme configuration. ingo@340: sascha@339: 2011-04-20 Sascha L. Teichmann sascha@339: sascha@339: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@339: Implementation of "Abflusskurve/Abflusstafel" calculation. sascha@339: sascha@339: Added method interpolateWQ() which takes an km and results in a sascha@339: tuple of two double arrays containing the w/q values interpolated sascha@339: between the surrounding w/q values of the table. sascha@339: w values are interpolated linear, q values with a cubic spline. sascha@339: sascha@339: Drawing w over q gives you the discharge table at the given km. sascha@339: sascha@339: !!! This code needs testing !!! sascha@339: sascha@338: 2011-04-20 Sascha L. Teichmann sascha@338: sascha@338: * pom.xml: Added dependency to Apache Commons Math 2.2 (Apache License 2.0) sascha@338: sascha@337: 2011-04-20 Sascha L. Teichmann sascha@337: sascha@337: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@337: Fix problem when sorting by q (copied w instead of q). sascha@337: ingo@336: 2011-04-20 Ingo Weinzierl ingo@336: ingo@336: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: ingo@336: Fixed broken HQL statement. ingo@336: sascha@335: 2011-04-19 Sascha L. Teichmann sascha@335: sascha@335: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@339: add a method interpolateW() which takes an array of sascha@335: q values and returns an equal sized array of w values. sascha@335: This is essentially the "Wasserstand/Wasserspiegellagen" calculation sascha@335: of desktop FLYS. sascha@335: sascha@335: If you want to do a calculation with given w values you have sascha@335: to convert the w values with DischargeTables.getQForW() first. sascha@335: sascha@335: !!! This code needs heavy testing !!! sascha@335: sascha@334: 2011-04-19 Sascha L. Teichmann sascha@334: sascha@334: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@334: We need a getQForW() method and not getWForQ() because when sascha@334: doing a "Wasserstand/Wasserspiegellagen" calculation with given sascha@334: w values these values need to be translated to q values with sascha@334: the master discharge table. sascha@334: sascha@333: 2011-04-19 Sascha L. Teichmann sascha@333: sascha@333: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@333: Sorting of q values was done wrong. sascha@333: ingo@332: 2011-04-19 Ingo Weinzierl ingo@332: ingo@332: * src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: ingo@332: Ordered the list of annotations returned by this factory based on its ingo@332: range. ingo@332: ingo@331: 2011-04-19 Ingo Weinzierl ingo@331: ingo@331: * src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java: ingo@331: New. This service returns an XML document that includes the main values ingo@331: of a gauge based on a river name, a start and an end point. ingo@331: ingo@331: * doc/conf/conf.xml: Registered the MainValuesService. ingo@331: ingo@330: 2011-04-19 Ingo Weinzierl ingo@330: ingo@330: * src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java: ingo@330: A factory that provides methods to return MainValues. ingo@330: sascha@329: 2011-04-19 Sascha L. Teichmann sascha@329: sascha@329: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@329: Added static method getWForQ() to interpolate a w value for sascha@329: a given q value based on a given discharge table. sascha@329: sascha@328: 2011-04-19 Sascha L. Teichmann sascha@328: sascha@328: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@328: Added convenience constructors/methods to ease the access to the master sascha@328: discharge table of a gauge. sascha@328: sascha@327: 2011-04-18 Sascha L. Teichmann sascha@327: sascha@327: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@327: Moved the query complexity into view 'wst_value_table' and sascha@327: used this instead. sascha@327: sascha@326: 2011-04-18 Sascha L. Teichmann sascha@326: sascha@326: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@326: Fetches w/q value tables from the backend. TODO: Move this sascha@326: to the backend and use a view. sascha@326: ingo@325: 2011-04-18 Ingo Weinzierl ingo@325: ingo@325: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed ingo@325: the error key that is thrown if no input data was found so that the key ingo@325: is usable for GWT's i18n mechanism. ingo@325: ingo@324: 2011-04-18 Ingo Weinzierl ingo@324: ingo@324: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: ingo@324: The inserted river is validated now (overrides validate() of ingo@324: DefaultState). ingo@324: ingo@323: 2011-04-18 Ingo Weinzierl ingo@323: ingo@323: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@323: The inserted calculation method is validated now (overrides validate() ingo@323: of DefaultState). ingo@323: ingo@322: 2011-04-18 Ingo Weinzierl ingo@322: ingo@322: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@322: The input data of feed() are validated using the DefaultStates ingo@322: validate() method. ingo@322: ingo@322: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@322: New method validate() that needs to be overidden by concrete subclasses. ingo@322: It should return true, if the data of the State is fine, otherwise it ingo@322: should raise an exception. ingo@322: ingo@322: NOTE: The exceptions are not translated in the server but in the client! ingo@322: ingo@322: * src/main/java/de/intevation/flys/artifacts/states/RangeState.java: New. ingo@322: This abstract class exists to provide some methods for handling ranges. ingo@322: Currently, there is a method that validates a given range based on ingo@322: min/max values. ingo@322: ingo@322: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, ingo@322: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@322: Implemented input data validation for ranges. ingo@322: ingo@322: NOTE: The input validation of concrete values has not been implemented ingo@322: yet! ingo@322: ingo@321: 2011-04-18 Ingo Weinzierl ingo@321: ingo@321: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@321: Removed debug code that has been commited by accident :-/ ingo@321: ingo@320: 2011-04-18 Ingo Weinzierl ingo@320: ingo@320: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The ingo@320: getGauge() method returns the first gauge based on the given start and ingo@320: end point of the river. ingo@320: ingo@320: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@320: Fixed potential bugs: if no gauge could be determined, the default ingo@320: values for W and Q are the minimum and maximum double values. ingo@320: ingo@319: 2011-04-15 Ingo Weinzierl ingo@319: ingo@319: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Fills ingo@319: the DESCRIBE with default values for W and Q. ingo@319: ingo@318: 2011-04-15 Ingo Weinzierl ingo@318: ingo@318: * src/main/java/de/intevation/flys/artifacts/model/WstFactory.java: ingo@318: New. Returns Wst object - based on a river. ingo@318: ingo@317: 2011-04-15 Ingo Weinzierl ingo@317: ingo@317: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Now ingo@317: provides some methods that return some basic objects inserted while ingo@317: parameterization: River, Gauge and so on. ingo@317: ingo@316: 2011-04-15 Ingo Weinzierl ingo@316: ingo@316: * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java, ingo@316: src/main/java/de/intevation/flys/artifacts/services/RiverService.java: ingo@316: Bugfix: Repaired broken imports of the SessionHolder. ingo@316: ingo@315: 2011-04-15 Ingo Weinzierl ingo@315: ingo@315: * src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java: ingo@315: Moved this class to flys-backend. ingo@315: ingo@315: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java, ingo@315: src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java, ingo@315: src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java, ingo@315: src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java, ingo@315: src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: ingo@315: Adapted imports of the SessionHolder. ingo@315: sascha@314: 2011-04-14 Sascha L. Teichmann sascha@314: sascha@314: * trunk/src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java, sascha@314: trunk/src/main/java/de/intevation/flys/artifacts/services/RiverService.java: sascha@314: Acquire/release sessions in services to avoid db connection leaks. sascha@314: ingo@313: 2011-04-14 Ingo Weinzierl ingo@313: ingo@313: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@313: Changed some method signatures - added a reference to the owner ingo@313: Artifact. ingo@313: ingo@313: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, ingo@313: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java, ingo@313: src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@313: Modified method signatures based on the changes in DefaultState. ingo@313: ingo@313: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: ingo@313: Added default values to the dynamic part of DESCRIBE. ingo@313: ingo@312: 2011-04-14 Ingo Weinzierl ingo@312: ingo@312: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: ingo@312: Added a function that returns a River object based on a given river ingo@312: name. ingo@312: sascha@311: 2011-04-14 Sascha L. Teichmann sascha@311: sascha@311: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java, sascha@311: src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java, sascha@311: src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java, sascha@311: src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: sascha@311: Static methods are using the SessionHolder, too. sascha@311: ingo@310: 2011-04-14 Ingo Weinzierl ingo@310: ingo@310: * src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: ingo@310: Added the setup() method that has been added to the interface ingo@310: description in the last commits. ingo@310: ingo@310: * doc/conf/conf.xml: Registered the SessionCallContextListener as ingo@310: CallContext.Listener. ingo@310: ingo@309: 2011-04-14 Ingo Weinzierl ingo@309: ingo@309: * src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java: ingo@309: Bugfix: Call correct method to retrieve an instance of ingo@309: SessionFactoryProvider. ingo@309: sascha@308: 2011-04-14 Sascha L. Teichmann sascha@308: sascha@308: * src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java: sascha@308: New. Contains thread local session holder for hibernate sessions. sascha@311: sascha@308: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: sascha@308: Uses session from SessionHolder. sascha@308: sascha@308: * src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: sascha@308: Interacts with SessionHolder now. sascha@308: sascha@308: * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: sascha@308: Removed superfluous import. sascha@308: ingo@307: 2011-04-14 Ingo Weinzierl ingo@307: ingo@307: * src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: ingo@307: Implementation of a CallContext.Listener to open/close Hibernate ingo@307: Sessions for each request. ingo@307: ingo@306: 2011-04-14 Ingo Weinzierl ingo@306: ingo@306: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, ingo@306: src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@306: Some modifications related to the last commit - modification of the ingo@306: describe() signature of a State. ingo@306: ingo@305: 2011-04-14 Ingo Weinzierl ingo@305: ingo@305: * src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: ingo@305: Removed. We do not need a state to select a gauge - the selection takes ingo@305: place by choosing a start and an end point. ingo@305: ingo@304: 2011-04-13 Ingo Weinzierl ingo@304: ingo@304: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: ingo@304: Bugfix: added missing label node to root node and a namespace to the ingo@304: data node. ingo@304: ingo@303: 2011-04-12 Ingo Weinzierl ingo@303: ingo@303: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: ingo@303: The name of the artifact 'winfo' is written into the DESCRIBE document ingo@303: now. We need this to have a proper way to distinguish between different ingo@303: artifacts in the UI. ingo@303: ingo@302: 2011-04-12 Ingo Weinzierl ingo@302: ingo@302: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Bugfix: ingo@302: States are filled with data before they describe themself. ingo@302: ingo@301: 2011-04-11 Ingo Weinzierl ingo@301: ingo@301: * src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: ingo@301: New. A factory that returns the annotations of a specific river. ingo@301: ingo@301: * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: ingo@301: New. This service provides a document that contains information about ingo@301: distances of a river. ingo@301: ingo@301: * doc/conf/conf.xml: Registered the DistanceInfoService. ingo@301: ingo@300: 2011-04-06 Ingo Weinzierl ingo@300: ingo@300: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@300: This collection overrides the out() operation now. The incoming request ingo@300: document is read and the related OutGenerator is used to create the ingo@300: output. ingo@300: ingo@300: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed ingo@300: the code to create discharge curves. It has moved to the ingo@300: DischargeCurveGenerator which now does this work. ingo@300: ingo@299: 2011-04-06 Ingo Weinzierl ingo@299: ingo@299: * src/main/java/de/intevation/flys/exports/OutGenerator.java: The ingo@299: generate() method throws an IOException now. ingo@299: ingo@299: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@299: New. This OutGenerator creates discharge curves. ingo@299: ingo@298: 2011-04-06 Ingo Weinzierl ingo@298: ingo@298: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed ingo@298: the visibility of the getData() method. It's now public, because the ingo@298: OutGenerator needs an artifact's data. ingo@298: sascha@297: 2011-04-03 Sascha L. Teichmann sascha@297: sascha@297: * src/**/*.java: Removed trailing whitespace. sascha@297: sascha@296: 2011-04-03 Sascha L. Teichmann sascha@296: sascha@296: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: sascha@296: Make project compilable again by sascha@296: commenting out a not existing XMLDebug reference. sascha@296: ingo@295: 2011-03-31 Ingo Weinzierl ingo@295: ingo@295: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@295: Added code to parse the configured OutGenerators and to save them (in a ingo@295: map) in the FLYSContext. ingo@295: ingo@295: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: ingo@295: Added a key that is used to save the OutGenerators Map in the context. ingo@295: ingo@294: 2011-03-31 Ingo Weinzierl ingo@294: ingo@294: * src/main/java/de/intevation/flys/exports/OutGenerator.java: ingo@294: New. This interface is used to generator different types of output. ingo@294: ArtifactCollections will make use of this interface to create a ingo@294: collected output of all its artifacts. ingo@294: ingo@293: 2011-03-30 Ingo Weinzierl ingo@293: ingo@293: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@293: Removed the Backend from FLYSArtifactCollection - used ArtifactDatabase ingo@293: operations instead. ingo@293: ingo@293: * TODO: Removed 'remove Backend reference' TODO. ingo@293: ingo@292: 2011-03-30 Ingo Weinzierl ingo@292: ingo@292: * doc/conf/artifacts/winfo.xml: Enhanced the configuration of the ingo@292: discharge curve output mode. This output now provides three facets - W, ingo@292: Q and the curve itself. ingo@292: ingo@291: 2011-03-30 Ingo Weinzierl ingo@291: ingo@291: Tagged RELEASE 0.1 ingo@291: ingo@159: 2011-03-30 Ingo Weinzierl ingo@159: ingo@159: * doc/conf/artifacts/winfo.xml: Renamed an output mode in the WINFO ingo@159: artifact configuration. ingo@159: ingo@158: 2011-03-29 Ingo Weinzierl ingo@158: ingo@158: * src/main/resources/messages_de_DE.properties, ingo@158: src/main/resources/messages_de.properties: Changed a german string. ingo@158: ingo@157: 2011-03-29 Ingo Weinzierl ingo@157: ingo@157: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@157: Modified the available calculation modes and its order in the DESCRIBE ingo@157: document. ingo@157: ingo@157: * src/main/resources/messages.properties, ingo@157: src/main/resources/messages_de_DE.properties, ingo@157: src/main/resources/messages_en.properties, ingo@157: src/main/resources/messages_de.properties: Adapted the names of ingo@157: calculation modes. ingo@157: ingo@156: 2011-03-28 Ingo Weinzierl ingo@156: ingo@156: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@156: Added the hash code of an artifact to the artifact part of the ingo@156: collection's DESCRIBE document. ingo@156: ingo@155: 2011-03-28 Ingo Weinzierl ingo@155: ingo@155: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Changed ingo@155: the background color of discharge curves to white. ingo@155: sascha@154: 2011-03-28 Sascha L. Teichmann sascha@154: sascha@154: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@154: Cache the scale, too. Otherwise two calls to getValues() with sascha@154: different arguments will result in the same output. sascha@154: ingo@153: 2011-03-28 Ingo Weinzierl ingo@153: ingo@153: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: ingo@153: Introduced a 'scale' parameter in the getValues() method. ingo@153: ingo@153: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Filled ingo@153: the out() operation with code that draws a discharge table of one or ingo@153: more gauges specified by the given range in entered in a previous state. ingo@153: ingo@152: 2011-03-28 Ingo Weinzierl ingo@152: ingo@152: * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: ingo@152: New. A helper class to exports charts. ingo@152: ingo@152: * pom.xml: Added dependencies to iText, Batik and JFreeChart. ingo@152: sascha@151: 2011-03-28 Sascha L. Teichmann sascha@151: sascha@154: * src/main/java/de/intevation/flys/importer/PegelGltParser.java: sascha@154: Fixed swap of operands. sascha@154: sascha@154: 2011-03-28 Sascha L. Teichmann sascha@154: sascha@151: * src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java: sascha@151: New. Load gauges for a river and filter them for given sascha@151: ranges. sascha@151: sascha@150: 2011-03-25 Sascha L. Teichmann sascha@150: sascha@150: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@150: Store data in a double [][] instead of interleaved double [] sascha@150: to be compatible with org.jfree.data.xy.DefaultXYDataset. sascha@150: ingo@149: 2011-03-25 Ingo Weinzierl ingo@149: ingo@149: * TODO: Removed 'i18n' and 'step-back' TODOs and added an issue to remove ingo@149: the Backend reference from FLYSArtifactCollection. ingo@149: ingo@148: 2011-03-25 Ingo Weinzierl ingo@148: ingo@148: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@148: Added missing artifact namespace of an attribute in the DESCRIBE ingo@148: document. ingo@148: ingo@147: 2011-03-24 Ingo Weinzierl ingo@147: ingo@147: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@147: New. This ArtifactCollection overrides the DefaultArtifactCollection to ingo@147: implement FLYS specific describe() and out() operations. ingo@147: ingo@147: * doc/conf/conf.xml: Use the FLYSArtifactCollection instead of the ingo@147: DefaultArtifactCollection for this application. ingo@147: sascha@146: 2011-03-24 Sascha L. Teichmann sascha@146: sascha@146: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@146: New. Fetches values of discharge tables in form of packed sascha@146: w/q double arrays for given gauges. sascha@146: sascha@146: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: sascha@146: Removed needless import. sascha@146: ingo@145: 2011-03-24 Ingo Weinzierl ingo@145: ingo@145: * src/main/resources/messages_de_DE.properties: Added a german resource ingo@145: bundle to avoid exceptions in the flys artifacts. Sometimes, the ingo@145: Resources class is not able to find a 'de_DE' bundle and throws an ingo@145: exception. This is really strange, because it should use the 'de' bundle ingo@145: in that case, but it doesn't. ingo@145: ingo@144: 2011-03-23 Ingo Weinzierl ingo@144: ingo@144: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added ingo@144: some code to append the output modes of previous states to the DESCRIBE ingo@144: document. ingo@144: ingo@144: TODO: Determine if the current state is already filled with data and ingo@144: append its output modes as well! ingo@144: ingo@143: 2011-03-22 Ingo Weinzierl ingo@143: ingo@143: * doc/conf/artifacts/winfo.xml: Enhanced the location_distance state with ingo@143: an output mode 'discharge_table'. ingo@143: ingo@142: 2011-03-21 Ingo Weinzierl ingo@142: ingo@142: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@142: Write human readable strings as label attribute into the DESCRIBE ingo@142: output. Those labels are used to be displayed in the GUI. ingo@142: ingo@141: 2011-03-21 Ingo Weinzierl ingo@141: ingo@141: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@141: Added some further calculation types. ingo@141: ingo@141: * src/main/resources/messages.properties, ingo@141: src/main/resources/messages_en.properties, ingo@141: src/main/resources/messages_de.properties: Added i18n strings for the ingo@141: calculation types ingo@141: ingo@140: 2011-03-21 Ingo Weinzierl ingo@140: ingo@140: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@140: Implemented the step-back part of the advance() operation. ingo@140: ingo@139: 2011-03-21 Ingo Weinzierl ingo@139: ingo@139: * src/main/resources/messages_de.properties: Fixed a german umlaut. ingo@139: ingo@138: 2011-03-18 Ingo Weinzierl ingo@138: ingo@138: * doc/conf/artifacts/winfo.xml: Added new states for entering a ingo@138: location/distance and w/q. ingo@138: ingo@138: * src/main/resources/messages.properties, ingo@138: src/main/resources/messages_en.properties, ingo@138: src/main/resources/messages_de.properties: New string for the ingo@138: location/distance and w/q input states. ingo@138: ingo@137: 2011-03-18 Ingo Weinzierl ingo@137: ingo@137: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@137: New. A state for the W/Q input of the WINFO parameterization. ingo@137: ingo@136: 2011-03-18 Ingo Weinzierl ingo@136: ingo@136: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@136: Append an attribute 'uiprovider' to the dynamic UI node. ingo@136: ingo@136: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: ingo@136: New. A state for the location/distance selection of the WINFO ingo@136: parameterization. ingo@136: ingo@135: 2011-03-17 Ingo Weinzierl ingo@135: ingo@135: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@135: Added a new method getUIProvider() that might be overriden by concreted ingo@135: subclasses that should be rendered with a specific UIProvider. ingo@135: ingo@134: 2011-03-17 Ingo Weinzierl ingo@134: ingo@134: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: ingo@134: The static UI part is created by the previous states now. This makes it ingo@134: possible to group the data objects (which is necessary to group the ingo@134: objects in the ui). ingo@134: ingo@134: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@134: Added a describeStatic() method that creates a node that contains the ingo@134: data of that state. ingo@134: ingo@133: 2011-03-17 Ingo Weinzierl ingo@133: ingo@133: * src/main/java/de/intevation/flys/artifacts/services/RiverService.java: ingo@133: Removed TODO: the document contains the rivers provided by the backend ingo@133: now. ingo@133: sascha@132: 2011-03-17 Sascha L. Teichmann sascha@132: sascha@132: * pom.xml: Added dependency to flys backend. sascha@132: sascha@132: * src/main/java/de/intevation/flys/artifacts/model/River.java: sascha@132: Removed. We are using the backend model now. sascha@132: sascha@132: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: sascha@132: Fetches the rivers from the backend. sascha@132: sascha@132: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: sascha@132: Import fixes. sascha@132: sascha@131: 2011-03-15 Sascha L. Teichmann sascha@131: sascha@131: * doc/conf/conf.xml: Added section for database backend configuration. sascha@131: sascha@130: 2011-03-15 Sascha L. Teichmann sascha@130: sascha@130: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: sascha@130: Fixed build error coming from different import of XMLUtils. sascha@130: ingo@129: 2011-03-14 Ingo Weinzierl ingo@129: ingo@129: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@129: Appended the missing label node that contains the human readable name of ingo@129: the data item. ingo@129: ingo@128: 2011-03-14 Ingo Weinzierl ingo@128: ingo@128: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, ingo@128: src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@128: I18N of strings for the DESCRIBE document. ingo@128: ingo@128: * src/main/resources/messages.properties, ingo@128: src/main/resources/messages_en.properties, ingo@128: src/main/resources/messages_de.properties: I18N strings for the ingo@128: calculcation mode state. ingo@128: ingo@127: 2011-03-14 Ingo Weinzierl ingo@127: ingo@127: * doc/conf/artifacts/winfo.xml: Modified the winfo states. ingo@127: ingo@127: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Adapted ingo@127: the artifact regarding the changes of the last commit. The states ingo@127: describe() method creates the dynamic UI node - the artifact needs to ingo@127: apply this node. ingo@127: ingo@127: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@127: New. The state for choosing the calculation mode. ingo@127: ingo@127: * src/main/resources/messages.properties, ingo@127: src/main/resources/messages_en.properties, ingo@127: src/main/resources/messages_de.properties: Added i18n strings for the ingo@127: calculation mode state. ingo@127: ingo@126: 2011-03-14 Ingo Weinzierl ingo@126: ingo@126: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@126: New. This is the base state for the FLYS application. It provides a ingo@126: method that creates the dynamic ui node for the DESCRIBE. ingo@126: ingo@126: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, ingo@126: src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: Both ingo@126: classes extend the abstract base class DefaultState. ingo@126: ingo@125: 2011-03-14 Ingo Weinzierl ingo@125: ingo@125: * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: ingo@125: New. This class retrieves the i18n strings from a ResourceBundle. ingo@125: ingo@125: * src/main/resources/messages.properties, ingo@125: src/main/resources/messages_en.properties, ingo@125: src/main/resources/messages_de.properties: Resource files for german and ingo@125: english translation. ingo@125: ingo@124: 2011-03-10 Ingo Weinzierl ingo@124: ingo@124: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Appended ingo@124: the data that have been inserted in former states into the static node ingo@124: of the DESCRIBE. ingo@124: ingo@123: 2011-03-10 Ingo Weinzierl ingo@123: ingo@123: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The ingo@123: operations feed() and advance() return the description of the artifact ingo@123: using the describe() operation. This avoids additional server round trips ingo@123: in the client - the clients gets to know about the new state of the ingo@123: artifact immediately. ingo@123: ingo@122: 2011-03-10 Ingo Weinzierl ingo@122: ingo@122: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@122: Implemented a part (step forward) of the advance operation. ingo@122: ingo@122: * TODO: Implement Step-Back in advance operation. ingo@122: ingo@121: 2011-03-09 Ingo Weinzierl ingo@121: ingo@121: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: ingo@121: Implemented the abstract method getName(). It returns the constant ingo@121: 'winfo' string. ingo@121: ingo@121: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@121: Implemented the feed action. The data of an incoming feed() operation is ingo@121: stored in StateData objects that are saved in a map in the artifact. ingo@121: ingo@121: NOTE: There is no input validation and no i18n of error messages (see ingo@121: TODO). ingo@121: ingo@120: 2011-03-09 Ingo Weinzierl ingo@120: ingo@120: * TODO: This file contains some open points that need to be done. ingo@120: ingo@119: 2011-03-09 Ingo Weinzierl ingo@119: ingo@119: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New. This ingo@119: artifact serves as the default artifact for the FLYS application. ingo@119: ingo@119: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: This ingo@119: artifact now inherits from FLYSArtifact. Furthermore, there is one big ingo@119: change: we don't store the State objects itself in the artifact, but ingo@119: just the identifier of those. This makes the artifact smaller and more ingo@119: compatible agains previous versions of the software. ingo@119: ingo@118: 2011-03-08 Ingo Weinzierl ingo@118: ingo@118: * src/main/java/de/intevation/flys/artifacts/services/RiverService.java: ingo@118: New. This service will retrieve a list of provided rivers. ingo@118: ingo@118: * doc/conf/conf.xml: Added a configuration for the RiverService. ingo@118: ingo@117: 2011-03-07 Ingo Weinzierl ingo@117: ingo@117: * doc/conf/conf.xml: Added a section user-factory and collection-factory in ingo@117: the factories part of the configuration. ingo@117: ingo@116: 2011-03-01 Ingo Weinzierl ingo@116: ingo@116: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: ingo@116: Replaced the 'special' attribute from DESCRIBE with a 'uiprovider' ingo@116: attribute. ingo@116: ingo@115: 2011-02-08 Ingo Weinzierl ingo@115: ingo@115: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The ingo@115: RiverSelect state is called to create the UI part of the describe ingo@115: document. ingo@115: ingo@115: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: ingo@115: Implemented the dynamic UI part of describe(). The static part is not ingo@115: inserted into the describe document at the moment. We need a reference to ingo@115: the previous states for this. ingo@115: ingo@114: 2011-02-08 Ingo Weinzierl ingo@114: ingo@114: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java, ingo@114: src/main/java/de/intevation/flys/artifacts/model/River.java: New. A model ingo@114: class that represents a river and its factory to create concrete river ingo@114: instances. ingo@114: NOTE: Currently, this is just a mockup. The factory just returns two ingo@114: static rivers "Mosel" and "Saar" without a connection to a backend. ingo@114: ingo@113: 2011-02-07 Ingo Weinzierl ingo@113: ingo@113: * src/main/java/de/intevation/flys/artifacts/states/StateFactory.java: The ingo@113: input data of a state is initialized with empty StateData objects after ingo@113: the State has been created. ingo@113: ingo@113: * doc/conf/artifacts/winfo.xml: Renamed the input data nodes of the states ingo@113: which now fits better to the class name of the implementation. ingo@113: ingo@112: 2011-02-07 Ingo Weinzierl ingo@112: ingo@112: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The ingo@112: describe document returned by this artifact now contains the current state ingo@112: and the reachable states. ingo@112: ingo@111: 2011-02-07 Ingo Weinzierl ingo@111: ingo@111: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@111: The transitions are put into the TransitionEngine with the ID of the state ingo@111: - not longer with the artifact name. On this way, we are able to fetch ingo@111: just the transitions for a specific state, instead of all the transitions ingo@111: of an artifact. ingo@111: ingo@110: 2011-02-04 Ingo Weinzierl ingo@110: ingo@110: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Describe() ingo@110: returns the artifact's uuid and hash value. The whole implementation of ingo@110: describe() is still outstanding. ingo@110: ingo@109: 2011-02-04 Ingo Weinzierl ingo@109: ingo@109: * doc/conf/artifacts/winfo.xml: Removed useless config stuff. ingo@109: ingo@109: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed ingo@109: useless methods, and improved the init process - the first state is set as ingo@109: the current state for this artifact. ingo@109: ingo@109: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, ingo@109: src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: New. ingo@109: The states are used in the first two steps of the WINFOArtifact. ingo@109: Currently, they just implement stubs of the necessary methods setup() and ingo@109: describe(). ingo@109: ingo@107: 2011-02-04 Ingo Weinzierl ingo@107: ingo@107: * src/main/java/de/intevation/flys/artifacts/states/State.java, ingo@107: src/main/java/de/intevation/flys/artifacts/transitions/TransitionEngine.java, ingo@107: src/main/java/de/intevation/flys/artifacts/transitions/Transition.java: ingo@107: Removed. These classes are placed in the artifact-database now. ingo@107: ingo@107: * src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java, ingo@107: src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java: ingo@107: Adapted imports of Transition. ingo@107: ingo@107: * src/main/java/de/intevation/flys/artifacts/states/StateFactory.java: New. ingo@107: This factory should be used to create concrete State objects. ingo@107: ingo@107: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: Added ingo@107: a constant key to store the StateEngine in the context. ingo@107: ingo@107: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@107: New method that initializes the states at application start. ingo@107: ingo@106: 2011-02-03 Ingo Weinzierl ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/states/State.java: New. The ingo@106: interface description of a state. ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/transitions/Transition.java, ingo@106: src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java: ingo@106: New. The interface description and a default implementation of a ingo@106: transition. ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/transitions/TransitionEngine.java: ingo@106: New. The TransitionEngine stores all transitions for each artifact and ingo@106: should be used to determine, if an artifact can advance from one state to ingo@106: another. ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java: ingo@106: New. Transitions should be created by using this class. ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: New. ingo@106: The Flys context. It currently defines keys to store important components ingo@106: in the context. ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@106: New. The context factory initializes the basic components of the ingo@106: application. Currently, the TransitionEngine is created and all artifacts ingo@106: with its transitions are read from the global configuration and stored in ingo@106: the FLYSContext. ingo@106: ingo@106: * pom.xml: Added a dependency to the 'artifacts-common' package. ingo@106: ingo@106: * doc/conf/artifacts/winfo.xml: Corrected the classname of the ingo@106: DefaultTransition. ingo@106: ingo@106: * doc/conf/conf.xml: Added FLYSContextFactory as context-factory. ingo@106: ingo@105: 2011-02-02 Ingo Weinzierl ingo@105: ingo@105: * doc/conf/conf.xml: An initial configuration file for the FLYS artifact ingo@105: server. ingo@105: ingo@105: * doc/conf/artifacts/winfo.xml: An initial transition configuration of an ingo@105: WINFO artifact. ingo@105: ingo@105: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: A stub of ingo@105: an artifact for a WINFO parameterization. ingo@105: ingo@105: * pom.xml: Set the source code version to 1.5. ingo@105: sascha@104: 2011-02-01 Sascha L. Teichmann sascha@104: sascha@104: * src/**, pom.xml: Added initial maven project. sascha@104: * ChangeLog: new.