Mercurial > dive4elements > river
view flys-artifacts/ChangeLog @ 423:bab867fb37e8
Charts are generated using the size defined in the incoming request document.
flys-artifacts/trunk@1908 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 12 May 2011 09:11:16 +0000 |
parents | 3b83341e0cf4 |
children | 82bd39f27569 |
line wrap: on
line source
2011-05-11 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added new methods that return the requested chart size as integer array [width, height]. The requested size is read from the incomding request document. * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: The size of a chart is no longer static. The requested size is fetched using ChartGenerator.getSize(). 2011-05-11 Ingo Weinzierl <ingo@intevation.de> ISSUE-52 * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: The X-Axis of such a chart is inverted, if the head of the river is not at kilometer 0. This type of charts always have the head of the river at the left side. 2011-05-10 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: Make incoming XML symmetric to DistanceInfoService. 2011-05-10 Ingo Weinzierl <ingo@intevation.de> ISSUE-47 * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: Adjusted temporarily the color of the W, Q and corrected W curves to distinguish each other. 2011-05-10 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Adjusted the plot of xy charts - the gridlines are displayed now. 2011-05-10 Ingo Weinzierl <ingo@intevation.de> ISSUE-53 * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: Added a method that returns the preferred locale based on the available locales of the server and the desired locales of the request (CallMeta). * src/main/java/de/intevation/flys/exports/AbstractExporter.java: Added a method that creates a number formatter with minimum and maximum digits. * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java, src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: Formatted the number values of the CSV exports. 2011-05-10 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/RangeWithValues.java: New. A data structure that enables us to save a data triple: a range that consist of lower and upper double value and a set of values that belong to this range. * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: Implemented the validation of W/Q values. 2011-05-10 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/AbstractExporter.java: New method to retrieve i18n messages based on keys. * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java, src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: Added headers for CSV exports. * src/main/resources/messages.properties, src/main/resources/messages_de_DE.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: Added new i18n strings for CSV headers. 2011-05-10 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: Fetches river name from incoming XML document. If no river is given all infos about all rivers are listed. * src/main/resources/metadata/template.xml: Templates honors the 'river' parameter. * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: Extended to pass parameters to the templating. Added support for type conversion. * src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java: Take parameters as an initial stack frame. * src/main/java/de/intevation/flys/artifacts/services/meta/TypeConverter.java: New. Converts types off stacked variables. 2011-05-10 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added a method to add subtitles to charts. The implementation in this class does not add any subtitle. Concrete subclasses may override this method to add some. * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: Add subtitles to charts. * src/main/resources/messages.properties, src/main/resources/messages_de_DE.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: Added i18n templates for compound messages (chart subtitles). 2011-05-10 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: Added new methods to retrieve translated compound messages. 2011-05-10 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/OutGenerator.java: Added a method to set the master artifact that should be used for some special operations. * src/main/java/de/intevation/flys/exports/ChartGenerator.java, src/main/java/de/intevation/flys/exports/AbstractExporter.java: Implement the setMasterArtifact() method of the interface. * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Call OutGenerator.setMasterArtifact(). NOTE: The determination of the master artifact needs to be implemented! 2011-05-10 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Removed hard coded dev code that defined a WQ mode. 2011-05-09 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: Stripped ugly extra whitespace from output introduced by templating. 2011-05-09 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/resources/metadata/template.xml: Added forgotten columns of fixation WSTs. 2011-05-09 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added a method to retrieve i18n strings. * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: Enabled i18n support for chart title and axes labels. * src/main/resources/messages.properties, src/main/resources/messages_de_DE.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: Added i18n strings for the chart types above. 2011-05-09 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java: New. This OutGenerator exports the data of a discharge longitudinal section computation. * doc/conf/conf.xml: Added the DischargeLongitudinalSectionExporter. * doc/conf/artifacts/winfo.xml: Added the exporter with CSV facet to the discharge_longitudinal_section state. 2011-05-07 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: Added code to make back jump correction work with both potential flow directions. 2011-05-06 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/resources/metadata/template.xml: Added data cage configuration for 'Längsschnitt'. 2011-05-06 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Added the missing Q facet for discharge longitudinal sections. * src/main/java/de/intevation/flys/artifacts/model/WQCKms.java: New. A derived dataset to store W/Q values with corrected Ws for a kilometer range. * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Some new methods and a new constructor to initialize this data object with a predefined set of values. * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New methods to retrieve the W/Q values for the 'discharge longitudinal section' computation. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: New methods to retrieve and compute data used for the 'discharge longitudinal section' computation. 2011-05-05 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: Bugfix: just write the ranges of gauges into the DESCRIBE if the 'wq_values' data item is required. * src/main/resources/messages.properties, src/main/resources/messages_de_DE.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: Added i18n messages used in the DESCRIBE of the WQAdapted state. 2011-05-05 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: Changed the title of the y-axis (now 'W [NN+m]'). 2011-05-05 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Improved the transition model to reach the output state for creating 'discharge longitudinal section' charts. * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a method that returns all gauges of the selected river based on a the given kilometer range. * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: New. This state creates a set of elements for the DESCRIBE that consist of a tuple of kilometer values. The number of elements depend on the number of gauges intersected by the given kilometer range. * src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java: New. This state is the output state that is reached after the 'discharge longitudinal section' computation has been chosen. 2011-05-05 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Default step width between two kilometers added - if no step width is given, this default width is used. 2011-05-05 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: Fixed a potential NullPointerException if there is just a single kilometer given to create a longitudinal section. 2011-05-04 Sascha L. Teichmann <sascha.teichmann@intevation.de> * pom.xml: Added http://repository.jboss.org/maven2 repo to fix flys/issue30 2011-05-04 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: To make diagram generation possible ws are now generated from qs because they are many ws having different qs. 2011-05-04 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: Fetch the WQ data from WINFO artifact and write those values into the CSV export. 2011-05-04 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added methods to compute and retrieve the data for discharge curves (computed). * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: Fetch the computed discharge curve data from WINFOArtifact and add the values into the JFreeChart dataset. 2011-05-04 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Added new transitions and states to enable the WINFO artifact for computing discharge curves. * doc/conf/conf.xml: Added OutGenerators that generate computed discharge curves and exports for its data. * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java: New. This state is reached if the user chose the computed discharge curve. * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: New. This is only a stub implementation at the moment. This OutGenerator should create computed discharge curves later. It extends the DischargeCurveGenerator which should do the same stuff for discharge curves for gauges. * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: New. This is only a stub implementation at the moment. This OutGenerator should create the exports of the discharge curve computation. 2011-05-03 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Added a new output mode for the duration curve state (CSV export). * doc/conf/conf.xml: Added a new OutGenerator to export duration curve computations. * src/main/java/de/intevation/flys/exports/AbstractExporter.java: New. This abstract OutGenerator represents the base class for exporting computed data. Currently, the CSV export is supported. * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Moved the most code to export to CSV into the AbstractExporter. * src/main/java/de/intevation/flys/exports/DurationCurveExporter.java: New. This exporter exports the computed data of a duration computation. 2011-05-03 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Modified a wrong debug statement which would confuse the user. 2011-05-03 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Added a new output mode for the waterlevel state (CSV export). * doc/conf/conf.xml: Added a new OutGenerator to export waterlevels. * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: New. This OutGenerator exports the data of a waterlevel computation. Note: It is necessary to specify the desired facet (e.g. 'waterlevel_export.csv'). * pom.xml: Added a dependency to OpenCSV. 2011-05-03 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Introduced an "export" output target. If the target is "export", a facet (read from the incoming xml document) is a necessary parameter that determines which facets are written to the output. 2011-05-03 Ingo Weinzierl <ingo@intevation.de> * src/main/resources/messages_en.properties: Bugfix: replaced german string (copy & paste mistake). 2011-05-03 Ingo Weinzierl <ingo@intevation.de> * src/main/resources/messages.properties, src/main/resources/messages_de_DE.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: Added new i18n strings for for the location selection. 2011-05-03 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: New. An OutGenerator for creating duration curves. * src/main/java/de/intevation/flys/artifacts/model/WQDay.java: New. A model class to store necessary data for creating W and Q facets of a duration curve. This model stores W, Q and Days. * src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java: Added a function to retrieve tuples of (day, q) based on a given gauge - these tuples are necessary for creating duration curves. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added methods to compute and retrieve the data necessary for creating duration curves. * src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java: Bugfix: improved the access to the location array (avoid NullPointerException). * doc/conf/conf.xml: Registered the new OutGenerator for duration curves. 2011-05-03 Sascha L. Teichmann <sascha.teichmann@intevation.de> * contrib/visualize-transitions.xsl: State quoting was done wrong. 2011-05-02 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Enhanced the transition model to reach the final state for creating duration curves. * src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java: New. This state should be reached to just insert an array of locations. * src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java: New. This state is reached if the duration curve calculation is selected. * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Adjusted getDistance() so that it takes care on inserted locations - not just inserted ranges. 2011-05-02 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java: Flush/persist caches at program exists. * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: Commented out too eloquent debug output. 2011-05-02 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: Uses the methods of FLYSArtifact to retrieve the necessary information rivername and selected distance. 2011-05-02 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: Added interpolateW method to take reference to result ws array as an argument to avoid expensive array allocations in km iterating loops. * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Added a constructor to create backing trove datastructure with the right capacity. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Move allocation of result ws out of km loop. 2011-05-02 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Added two further data items in the WQ selection state. Those items are necessary to store the information about the selected mode (range/single selection) and the values of the single selection. * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: If there is no value for a data item, this item is not written into the static DESCRIBE part. * src/main/java/de/intevation/flys/artifacts/states/RangeState.java, src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: Renamed the method to validate upper and lower values. * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: This state can now handle values inserted in the single selection. Therefore, new validate methods has been added. * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The methods getWs() and getWs() take care on the values inserted in the single insert mode of the client which enables the user to insert single W and Q. 2011-05-02 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: Repaired getQForW() by calculating indices on right dimension. 2011-05-02 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New methods for retrieving selected W values (getWs()). * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The method for retrieving waterlevel data takes care on selected Ws, now. The selected Ws are transformed using the DischargeTables.getQForW() into Q values. 2011-05-02 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: Removed an unused parameter 'result' of getQForW(). 2011-05-02 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Removed the getDataset() method and replaced it with a addDataset() method. On this way, concrete subclasses of this OutGenerator can have multiple datasets (e.g. different datasets for W and Q). This abstract method is called after the chart generation is finished. * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: Both classes implement the addDataset() method. The LongitudinalSectionGenerator has already multiple datasets for W and Q. Both are added to the chart - both have an own range axis. 2011-05-01 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: Use the cache for the wst value table if configured. * doc/conf/cache.xml: Choose a more precise name for the wst value table cache. 2011-04-29 Sascha L. Teichmann <sascha.teichmann@intevation.de> * pom.xml: Added dependency to Ehcache. Apache 2.0 license. * doc/conf/conf.xml: Added configuration of ehcache. * doc/conf/cache.xml: New. Cache configurations. * src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java: New. Factory to access caches. 2011-04-29 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: Forgot to add. * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: New. Given a database connection and a XML template it generates an output with meta data about the database. * src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java: New. Holds prepared statements optimized to be run in the stack of contextes. * src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java: New. Model to hold a hierarchical scope of variables. * src/main/java/de/intevation/flys/artifacts/services/meta/ResultData.java: New. Stores data set fetched from a sql select to be iterated in a context. * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java, src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Removed superfluous imports. 2011-04-29 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Added meta data service. * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: Stub for the meta data service. * src/main/resources/metadata/template.xml: Initial template for the meta data service. 2011-04-29 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Bugfix: Now, curves for Q values are drawn into a longitudinal section chart as well. Therefore, it was necessary to change the datastructure of the inner class ThemeList that stores all themes included in a chart in an ordered list (stored in a java.util.Vector now). 2011-04-29 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: New. An abstract base class for ChartGenerators that create XY charts. * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: Sourced the generate() method out to the XYChartGenerator. * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: Implemented the methods to add W and Q facets to the chart. 2011-04-29 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Improved the calculation of the step with for ranges. 2011-04-29 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Added a method that returns the number of elements stored in the data pool. 2011-04-29 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Added a get() method which takes destination array as an argument. 2011-04-29 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Changed the data structure to store w, q and kms values from List<Double> to TDoubleArrayList which stores native double values instead of big Double values. * pom.xml: Added the GNU Trove dependency. 2011-04-29 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/OutGenerator.java: Added the name a the requested facet to doOut(). Concrete generators should just create output for this facet now. * src/main/java/de/intevation/flys/exports/ChartGenerator.java, src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: Adapted the method signature of doOut(). * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Adapted the method call of OutGenerator.doOut(). 2011-04-29 Ingo Weinzierl <ingo@intevation.de> * doc/conf/themes.xml: Added mappings for the facets longitudinal.section.w and longitudinal.section.q. 2011-04-29 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added some methods to retrieve necessary information for computing the data of a waterlevel. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added methods to compute and retrieve the data of a waterlevel computation. 2011-04-29 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: New. This model class represents a pool of data triples that consist of W, Q and Kms information. This class might be used to compute data for creating longitudinal section curves (which are based on those W, Q and Kms values). 2011-04-29 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: Bugfix: Removed endless loop and a bug while iterating over Hibernate results. 2011-04-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: New. An OutGenerator that creates longitudinal section curves. NOTE: This is just the stub - the out creation needs to be implemented! * doc/conf/conf.xml: Added the LongitudinalSectionGenerator. 2011-04-28 Ingo Weinzierl <ingo@intevation.de> * doc/conf/conf.xml: Bugfix: Added missing <output-generators> section. 2011-04-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WaterlevelState.java: New. This state should be reached if the 'calc.surface.curve' calculation method has been chosen. * doc/conf/artifacts/winfo.xml: Modified a transition and added the WaterlevelState. This state is reached if the 'calc.surface.curve' calculation method has been chosen. It currently has 1 output - a longitudinal section that is not implemented yet! 2011-04-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/transitions/ValueCompareTransition.java: New. This transition is valid if the a data object of the current artifact equals/notequals a configured value in the transition model. 2011-04-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Bugfixes: - Adapted the parameters of the isStateReachable() call - added the artifact and the current state. - Append the outputs of a current state if the state is filled with valid data. 2011-04-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java: Added the missing init() method that has been introduced in the interface some commits ealier. * src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java: Call init() after a Transition has been created. 2011-04-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/AttributeWriter.java: Bugfix: Introduced a <art:outputs> node in the attribute document of a Collection that contains further <art:output> nodes - instead of having multiple <art:output> nodes at toplevel of the document. * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Adapted the XPath to retrieve the outputs in the attribute document of a Collection. 2011-04-28 Sascha L. Teichmann <sascha.teichmann@intevation.de> * contrib/visualize-transitions.xsl: Added to create a Graphviz digraph out of the config.xml. Usage: $ xsltproc --stringparam base-dir ../doc/conf/ \ contrib/visualize-transitions.xsl \ doc/conf/conf.xml > transitions.dot $ dot -Tsvg -o transitions.svg transitions.dot 2011-04-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: If no data has been inserted so far, an IllegalArgumentException is thrown. 2011-04-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:: A lot of new methods to retrieve the theme of a facet - used while creating the output of a facet/artifact. If a facet has no theme yet, it is initialized. 2011-04-27 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/AttributeParser.java, src/main/java/de/intevation/flys/collections/OutputParser.java: Removed useless imports. 2011-04-27 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/ChartGenerator.java: New. An abstract OutGenerator that might be used to create chart output. Some basic things that are equal in all charts should be done here! * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: This OutGenerator no longer implements the OutGenerator directly, but it extends the ChartGenerator now. 2011-04-27 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Restructured the out() operation of a collection: Now, we collect a list of artifacts/facets and use this for the OutGenerator. Its doOut() method gets the attribute of an artifact - the position and the active state is managed by the Collection itself. 2011-04-26 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java: New. a specialized facet that stores information about its position and its state (active/inactive) in an output of a collection. * src/main/java/de/intevation/flys/collections/AttributeParser.java: New. This parser takes the attributes (XML) of a collection and extracts the contained outputs with its facets. The result is a Map<String, Output>. * src/main/java/de/intevation/flys/collections/OutputParser.java: New. This parser is used to query the artifact's DESCRIBE and to extract the supported outputs. The result is a Map<String, Output>. * src/main/java/de/intevation/flys/collections/AttributeWriter.java: New. This writer merges the outputs contained in an attribute of a collection with the outputs of a collection's artifacts. * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: The attributes of a collection are written into its DESCRIBE document now. The OutputParser and AttributeParser are used to read the supported attributes by the collection and its artifacts - the AttributeWriter is used to merge both attributes and create a final attribute document. 2011-04-26 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java, src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: The facet-2-theme mappings are initialized at startup and stored in the FLYSContext. * src/main/java/de/intevation/flys/themes/ThemeFactory.java: Added a function that retrieves a theme from FLYSContext based on its name. 2011-04-22 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: Corrected a silly c&p mistake. 2011-04-22 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: Implementation of the "Ruecksprungkorrektur" to be done in "W fuer angepassten Abflusslaengschnitt". All tests show the expected results. In some corner cases the algorithm described in the "Anwenderhandbuch" chapter 3.3.4.3 "Korrektur" has some definition shortcomings: a - What should happend when you cannot find point 2 because you cannot step back one quarter from point 3 because there is no data there any more (river too short in this direction)? The implemented algorithm raises point 3' only to an according factor. E.g. If you can step back the whole quarter distance the elevation is the full quarter. If you can step back only the half of the quarter the elevation is only an eighth. b - If the water heights between point 2 and 3 are constant then the algorithm will produce a spline interpolation that lowers those values. Is this intended? For real data the back jumps are expected to be more in the middle of the distance ranges so the corner cases are maybe not so important. * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: Removed superfluous import. 2011-04-21 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/themes/ThemeFactory.java: Removed debug code that has been commited by accident. 2011-04-21 Ingo Weinzierl <ingo@intevation.de> * doc/conf/themes.xml: New. A first small theme configuration. * doc/conf/conf.xml: Added a link to the theme configuration. * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: Defined a key that is used to store a themes map in the FLYSContext. * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: The theme configuration is read at startup and the themes are stores in the FLYSContext. 2011-04-21 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/themes/Theme.java, src/main/java/de/intevation/flys/themes/DefaultTheme.java: New. The interface and its default implementation that represents themes used to style charts and maps. * src/main/java/de/intevation/flys/themes/ThemeField.java, src/main/java/de/intevation/flys/themes/DefaultThemeField.java: New. The interface and its default implementation that represents fields in themes. A theme might be "Lines" and one of its field might be "Color" or "Size". * src/main/java/de/intevation/flys/themes/ThemeFactory.java: A factory that creates new themes based on a theme configuration. 2011-04-20 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: Implementation of "Abflusskurve/Abflusstafel" calculation. Added method interpolateWQ() which takes an km and results in a tuple of two double arrays containing the w/q values interpolated between the surrounding w/q values of the table. w values are interpolated linear, q values with a cubic spline. Drawing w over q gives you the discharge table at the given km. !!! This code needs testing !!! 2011-04-20 Sascha L. Teichmann <sascha.teichmann@intevation.de> * pom.xml: Added dependency to Apache Commons Math 2.2 (Apache License 2.0) 2011-04-20 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: Fix problem when sorting by q (copied w instead of q). 2011-04-20 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: Fixed broken HQL statement. 2011-04-19 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: add a method interpolateW() which takes an array of q values and returns an equal sized array of w values. This is essentially the "Wasserstand/Wasserspiegellagen" calculation of desktop FLYS. If you want to do a calculation with given w values you have to convert the w values with DischargeTables.getQForW() first. !!! This code needs heavy testing !!! 2011-04-19 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: We need a getQForW() method and not getWForQ() because when doing a "Wasserstand/Wasserspiegellagen" calculation with given w values these values need to be translated to q values with the master discharge table. 2011-04-19 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: Sorting of q values was done wrong. 2011-04-19 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: Ordered the list of annotations returned by this factory based on its range. 2011-04-19 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java: New. This service returns an XML document that includes the main values of a gauge based on a river name, a start and an end point. * doc/conf/conf.xml: Registered the MainValuesService. 2011-04-19 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java: A factory that provides methods to return MainValues. 2011-04-19 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: Added static method getWForQ() to interpolate a w value for a given q value based on a given discharge table. 2011-04-19 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: Added convenience constructors/methods to ease the access to the master discharge table of a gauge. 2011-04-18 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: Moved the query complexity into view 'wst_value_table' and used this instead. 2011-04-18 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: Fetches w/q value tables from the backend. TODO: Move this to the backend and use a view. 2011-04-18 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed the error key that is thrown if no input data was found so that the key is usable for GWT's i18n mechanism. 2011-04-18 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: The inserted river is validated now (overrides validate() of DefaultState). 2011-04-18 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: The inserted calculation method is validated now (overrides validate() of DefaultState). 2011-04-18 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The input data of feed() are validated using the DefaultStates validate() method. * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: New method validate() that needs to be overidden by concrete subclasses. It should return true, if the data of the State is fine, otherwise it should raise an exception. NOTE: The exceptions are not translated in the server but in the client! * src/main/java/de/intevation/flys/artifacts/states/RangeState.java: New. This abstract class exists to provide some methods for handling ranges. Currently, there is a method that validates a given range based on min/max values. * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Implemented input data validation for ranges. NOTE: The input validation of concrete values has not been implemented yet! 2011-04-18 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Removed debug code that has been commited by accident :-/ 2011-04-18 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The getGauge() method returns the first gauge based on the given start and end point of the river. * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Fixed potential bugs: if no gauge could be determined, the default values for W and Q are the minimum and maximum double values. 2011-04-15 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Fills the DESCRIBE with default values for W and Q. 2011-04-15 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/WstFactory.java: New. Returns Wst object - based on a river. 2011-04-15 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Now provides some methods that return some basic objects inserted while parameterization: River, Gauge and so on. 2011-04-15 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java, src/main/java/de/intevation/flys/artifacts/services/RiverService.java: Bugfix: Repaired broken imports of the SessionHolder. 2011-04-15 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java: Moved this class to flys-backend. * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java, src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java, src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java, src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java, src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: Adapted imports of the SessionHolder. 2011-04-14 Sascha L. Teichmann <sascha.teichmann@intevation.de> * trunk/src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java, trunk/src/main/java/de/intevation/flys/artifacts/services/RiverService.java: Acquire/release sessions in services to avoid db connection leaks. 2011-04-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Changed some method signatures - added a reference to the owner Artifact. * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, src/main/java/de/intevation/flys/artifacts/states/WQSelect.java, src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: Modified method signatures based on the changes in DefaultState. * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: Added default values to the dynamic part of DESCRIBE. 2011-04-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: Added a function that returns a River object based on a given river name. 2011-04-14 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java, src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java, src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java, src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: Static methods are using the SessionHolder, too. 2011-04-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: Added the setup() method that has been added to the interface description in the last commits. * doc/conf/conf.xml: Registered the SessionCallContextListener as CallContext.Listener. 2011-04-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java: Bugfix: Call correct method to retrieve an instance of SessionFactoryProvider. 2011-04-14 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java: New. Contains thread local session holder for hibernate sessions. * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: Uses session from SessionHolder. * src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: Interacts with SessionHolder now. * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: Removed superfluous import. 2011-04-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: Implementation of a CallContext.Listener to open/close Hibernate Sessions for each request. 2011-04-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Some modifications related to the last commit - modification of the describe() signature of a State. 2011-04-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: Removed. We do not need a state to select a gauge - the selection takes place by choosing a start and an end point. 2011-04-13 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: Bugfix: added missing label node to root node and a namespace to the data node. 2011-04-12 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The name of the artifact 'winfo' is written into the DESCRIBE document now. We need this to have a proper way to distinguish between different artifacts in the UI. 2011-04-12 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Bugfix: States are filled with data before they describe themself. 2011-04-11 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: New. A factory that returns the annotations of a specific river. * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: New. This service provides a document that contains information about distances of a river. * doc/conf/conf.xml: Registered the DistanceInfoService. 2011-04-06 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: This collection overrides the out() operation now. The incoming request document is read and the related OutGenerator is used to create the output. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed the code to create discharge curves. It has moved to the DischargeCurveGenerator which now does this work. 2011-04-06 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/OutGenerator.java: The generate() method throws an IOException now. * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: New. This OutGenerator creates discharge curves. 2011-04-06 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed the visibility of the getData() method. It's now public, because the OutGenerator needs an artifact's data. 2011-04-03 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/**/*.java: Removed trailing whitespace. 2011-04-03 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Make project compilable again by commenting out a not existing XMLDebug reference. 2011-03-31 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: Added code to parse the configured OutGenerators and to save them (in a map) in the FLYSContext. * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: Added a key that is used to save the OutGenerators Map in the context. 2011-03-31 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/OutGenerator.java: New. This interface is used to generator different types of output. ArtifactCollections will make use of this interface to create a collected output of all its artifacts. 2011-03-30 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Removed the Backend from FLYSArtifactCollection - used ArtifactDatabase operations instead. * TODO: Removed 'remove Backend reference' TODO. 2011-03-30 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Enhanced the configuration of the discharge curve output mode. This output now provides three facets - W, Q and the curve itself. 2011-03-30 Ingo Weinzierl <ingo@intevation.de> Tagged RELEASE 0.1 2011-03-30 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Renamed an output mode in the WINFO artifact configuration. 2011-03-29 Ingo Weinzierl <ingo@intevation.de> * src/main/resources/messages_de_DE.properties, src/main/resources/messages_de.properties: Changed a german string. 2011-03-29 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: Modified the available calculation modes and its order in the DESCRIBE document. * src/main/resources/messages.properties, src/main/resources/messages_de_DE.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: Adapted the names of calculation modes. 2011-03-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Added the hash code of an artifact to the artifact part of the collection's DESCRIBE document. 2011-03-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Changed the background color of discharge curves to white. 2011-03-28 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: Cache the scale, too. Otherwise two calls to getValues() with different arguments will result in the same output. 2011-03-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: Introduced a 'scale' parameter in the getValues() method. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Filled the out() operation with code that draws a discharge table of one or more gauges specified by the given range in entered in a previous state. 2011-03-28 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: New. A helper class to exports charts. * pom.xml: Added dependencies to iText, Batik and JFreeChart. 2011-03-28 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/importer/PegelGltParser.java: Fixed swap of operands. 2011-03-28 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java: New. Load gauges for a river and filter them for given ranges. 2011-03-25 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: Store data in a double [][] instead of interleaved double [] to be compatible with org.jfree.data.xy.DefaultXYDataset. 2011-03-25 Ingo Weinzierl <ingo@intevation.de> * TODO: Removed 'i18n' and 'step-back' TODOs and added an issue to remove the Backend reference from FLYSArtifactCollection. 2011-03-25 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Added missing artifact namespace of an attribute in the DESCRIBE document. 2011-03-24 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: New. This ArtifactCollection overrides the DefaultArtifactCollection to implement FLYS specific describe() and out() operations. * doc/conf/conf.xml: Use the FLYSArtifactCollection instead of the DefaultArtifactCollection for this application. 2011-03-24 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: New. Fetches values of discharge tables in form of packed w/q double arrays for given gauges. * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: Removed needless import. 2011-03-24 Ingo Weinzierl <ingo@intevation.de> * src/main/resources/messages_de_DE.properties: Added a german resource bundle to avoid exceptions in the flys artifacts. Sometimes, the Resources class is not able to find a 'de_DE' bundle and throws an exception. This is really strange, because it should use the 'de' bundle in that case, but it doesn't. 2011-03-23 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added some code to append the output modes of previous states to the DESCRIBE document. TODO: Determine if the current state is already filled with data and append its output modes as well! 2011-03-22 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Enhanced the location_distance state with an output mode 'discharge_table'. 2011-03-21 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Write human readable strings as label attribute into the DESCRIBE output. Those labels are used to be displayed in the GUI. 2011-03-21 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: Added some further calculation types. * src/main/resources/messages.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: Added i18n strings for the calculation types 2011-03-21 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Implemented the step-back part of the advance() operation. 2011-03-21 Ingo Weinzierl <ingo@intevation.de> * src/main/resources/messages_de.properties: Fixed a german umlaut. 2011-03-18 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Added new states for entering a location/distance and w/q. * src/main/resources/messages.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: New string for the location/distance and w/q input states. 2011-03-18 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: New. A state for the W/Q input of the WINFO parameterization. 2011-03-18 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Append an attribute 'uiprovider' to the dynamic UI node. * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: New. A state for the location/distance selection of the WINFO parameterization. 2011-03-17 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Added a new method getUIProvider() that might be overriden by concreted subclasses that should be rendered with a specific UIProvider. 2011-03-17 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The static UI part is created by the previous states now. This makes it possible to group the data objects (which is necessary to group the objects in the ui). * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Added a describeStatic() method that creates a node that contains the data of that state. 2011-03-17 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/services/RiverService.java: Removed TODO: the document contains the rivers provided by the backend now. 2011-03-17 Sascha L. Teichmann <sascha.teichmann@intevation.de> * pom.xml: Added dependency to flys backend. * src/main/java/de/intevation/flys/artifacts/model/River.java: Removed. We are using the backend model now. * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: Fetches the rivers from the backend. * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: Import fixes. 2011-03-15 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Added section for database backend configuration. 2011-03-15 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: Fixed build error coming from different import of XMLUtils. 2011-03-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: Appended the missing label node that contains the human readable name of the data item. 2011-03-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: I18N of strings for the DESCRIBE document. * src/main/resources/messages.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: I18N strings for the calculcation mode state. 2011-03-14 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Modified the winfo states. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Adapted the artifact regarding the changes of the last commit. The states describe() method creates the dynamic UI node - the artifact needs to apply this node. * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: New. The state for choosing the calculation mode. * src/main/resources/messages.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: Added i18n strings for the calculation mode state. 2011-03-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: New. This is the base state for the FLYS application. It provides a method that creates the dynamic ui node for the DESCRIBE. * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: Both classes extend the abstract base class DefaultState. 2011-03-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: New. This class retrieves the i18n strings from a ResourceBundle. * src/main/resources/messages.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: Resource files for german and english translation. 2011-03-10 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Appended the data that have been inserted in former states into the static node of the DESCRIBE. 2011-03-10 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The operations feed() and advance() return the description of the artifact using the describe() operation. This avoids additional server round trips in the client - the clients gets to know about the new state of the artifact immediately. 2011-03-10 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Implemented a part (step forward) of the advance operation. * TODO: Implement Step-Back in advance operation. 2011-03-09 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Implemented the abstract method getName(). It returns the constant 'winfo' string. * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Implemented the feed action. The data of an incoming feed() operation is stored in StateData objects that are saved in a map in the artifact. NOTE: There is no input validation and no i18n of error messages (see TODO). 2011-03-09 Ingo Weinzierl <ingo@intevation.de> * TODO: This file contains some open points that need to be done. 2011-03-09 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New. This artifact serves as the default artifact for the FLYS application. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: This artifact now inherits from FLYSArtifact. Furthermore, there is one big change: we don't store the State objects itself in the artifact, but just the identifier of those. This makes the artifact smaller and more compatible agains previous versions of the software. 2011-03-08 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/services/RiverService.java: New. This service will retrieve a list of provided rivers. * doc/conf/conf.xml: Added a configuration for the RiverService. 2011-03-07 Ingo Weinzierl <ingo@intevation.de> * doc/conf/conf.xml: Added a section user-factory and collection-factory in the factories part of the configuration. 2011-03-01 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: Replaced the 'special' attribute from DESCRIBE with a 'uiprovider' attribute. 2011-02-08 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The RiverSelect state is called to create the UI part of the describe document. * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: Implemented the dynamic UI part of describe(). The static part is not inserted into the describe document at the moment. We need a reference to the previous states for this. 2011-02-08 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java, src/main/java/de/intevation/flys/artifacts/model/River.java: New. A model class that represents a river and its factory to create concrete river instances. NOTE: Currently, this is just a mockup. The factory just returns two static rivers "Mosel" and "Saar" without a connection to a backend. 2011-02-07 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/StateFactory.java: The input data of a state is initialized with empty StateData objects after the State has been created. * doc/conf/artifacts/winfo.xml: Renamed the input data nodes of the states which now fits better to the class name of the implementation. 2011-02-07 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The describe document returned by this artifact now contains the current state and the reachable states. 2011-02-07 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: The transitions are put into the TransitionEngine with the ID of the state - not longer with the artifact name. On this way, we are able to fetch just the transitions for a specific state, instead of all the transitions of an artifact. 2011-02-04 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Describe() returns the artifact's uuid and hash value. The whole implementation of describe() is still outstanding. 2011-02-04 Ingo Weinzierl <ingo@intevation.de> * doc/conf/artifacts/winfo.xml: Removed useless config stuff. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed useless methods, and improved the init process - the first state is set as the current state for this artifact. * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: New. The states are used in the first two steps of the WINFOArtifact. Currently, they just implement stubs of the necessary methods setup() and describe(). 2011-02-04 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/State.java, src/main/java/de/intevation/flys/artifacts/transitions/TransitionEngine.java, src/main/java/de/intevation/flys/artifacts/transitions/Transition.java: Removed. These classes are placed in the artifact-database now. * src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java, src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java: Adapted imports of Transition. * src/main/java/de/intevation/flys/artifacts/states/StateFactory.java: New. This factory should be used to create concrete State objects. * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: Added a constant key to store the StateEngine in the context. * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: New method that initializes the states at application start. 2011-02-03 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/State.java: New. The interface description of a state. * src/main/java/de/intevation/flys/artifacts/transitions/Transition.java, src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java: New. The interface description and a default implementation of a transition. * src/main/java/de/intevation/flys/artifacts/transitions/TransitionEngine.java: New. The TransitionEngine stores all transitions for each artifact and should be used to determine, if an artifact can advance from one state to another. * src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java: New. Transitions should be created by using this class. * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: New. The Flys context. It currently defines keys to store important components in the context. * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: New. The context factory initializes the basic components of the application. Currently, the TransitionEngine is created and all artifacts with its transitions are read from the global configuration and stored in the FLYSContext. * pom.xml: Added a dependency to the 'artifacts-common' package. * doc/conf/artifacts/winfo.xml: Corrected the classname of the DefaultTransition. * doc/conf/conf.xml: Added FLYSContextFactory as context-factory. 2011-02-02 Ingo Weinzierl <ingo@intevation.de> * doc/conf/conf.xml: An initial configuration file for the FLYS artifact server. * doc/conf/artifacts/winfo.xml: An initial transition configuration of an WINFO artifact. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: A stub of an artifact for a WINFO parameterization. * pom.xml: Set the source code version to 1.5. 2011-02-01 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/**, pom.xml: Added initial maven project. * ChangeLog: new.