Mercurial > dive4elements > gnv-client
view gnv-artifacts/ChangeLog @ 734:8f7fe0cc6e5a
Added Interface and Defaultimplementation for States which can be handled without any userinteraction.
gnv-artifacts/trunk@772 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Mon, 15 Mar 2010 12:39:35 +0000 (2010-03-15) |
parents | 18dc6a99f4f4 |
children | d47901df0a14 |
line wrap: on
line source
2010-03-15 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/state/DefaultAutoResumeState.java, src/main/java/de/intevation/gnv/state/AutoResumeState.java: Added new Interface and its DefaultImplementation to the Project. This Interface will mark States which can be handled automatically without any interaction from the User. So it is possible to fork a Sequence e.g. by given Constructorparameters of an Artifact. 2010-03-15 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/state/StateBase.java (feed): Bugfix: We have States which don't have tor Query Data from a Database for its Description. So now the Description will only be determined if a Query was configured to this State. 2010-03-15 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/state/PreSettingsTransferState.java (setup): Bugfix: Corrected C&P-Error in the Setup-Method of the PreSettingsTransferState 2010-03-15 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid): Added Objecttype Geometry for the Validation of Inputdata. Geometry will be validated in the same way as Pointobjects. 2010-03-15 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue198 * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Read the layer title which might have been adjusted by the user and store it in the CallContext object to be available in MetaWriter. * src/main/java/de/intevation/gnv/utils/MetaWriter.java: Write the layer title stored in the CallContext object into meta.xml file. * src/main/java/de/intevation/gnv/wms/LayerInfo.java: Added a further attribute named 'title' to adjust the layer name. * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Read layer title from meta.xml file. The uuid is used as layer title if no title is given. * doc/conf/products/horizontalcrosssection/conf_mesh.xml: Added a string input parameter in wms output mode to adjust a wms layer's title. * doc/conf/maptemplates/horizontalcrosssection_salinity.vm, doc/conf/maptemplates/horizontalcrosssection_salinity_isolines.vm, doc/conf/maptemplates/horizontalcrosssection_flow-velocity.vm, doc/conf/maptemplates/horizontalcrosssection_flow-velocity_isolines.vm, doc/conf/maptemplates/horizontalcrosssection_water-levels.vm, doc/conf/maptemplates/horizontalcrosssection_water-levels_isolines.vm, doc/conf/maptemplates/horizontalcrosssection_water-temperature.vm, doc/conf/maptemplates/horizontalcrosssection_water-temperature_isolines.vm: Read title attribute from LayerInfo object for filling the layer name in template files. The title can be adjusted by the user himself, but the shapefiles are stored in the path {shapefile_path}/{uuid}/xxx.shp. 2010-03-15 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (fetchData): Integrated lookup of the Geometry which was put to the Artifact during the Instantiation (e.g. was send from the MapViewer to the GNV). 2010-03-12 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (fetchColumns): Integrated an Method for fetching all required Columns for an given Layer and put them into the Query witch will load the Layerdata from the Database. * doc/conf/products/layer/conf.xml: Added an Configuration-Element to determine the Query which should be used to Query the Columns of a choosen Layer. * doc/conf/queries.properties: Manipulated the Queries for fetching the Layerdata in that way that it is possible to put the requested-Columns into it using the ?-Syntax. 2010-03-12 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java (writeDataToFile): Added generic Export for all Columns which are in an ResultValue. The first Column must be the Geometryvalue. all other Columns will be added to the Shapefile using the defined Attribute-Class. 2010-03-10 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue201 * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Use a better key - hash served by getHash() from StateBase - to put chart results into cache. 2010-03-10 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/timeseries/conf_timeseriespoint.xml: Use MinMaxDateState to handle date input instead of MinMaxState. * src/main/java/de/intevation/gnv/artifacts/GNVDefaultArtifact.java: Added EXCEPTION_NO_INPUT key used for a lookup in resource bundles. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java src/main/java/de/intevation/gnv/state/OutputStateBase.java src/main/java/de/intevation/gnv/state/StateBase.java, src/main/java/de/intevation/gnv/state/MinMaxState.java, src/main/java/de/intevation/gnv/state/State.java: Return localized error messages as xml documents if something failed while feeding the current artifact/state. These error messages are used to be displayed in the user interface. There are two different error messages at the moment - for general error messages related to server errors and a message invalid user input. The difference between these messages is their location in the xml document. Each message type is created with a separate method in ArtifactXMLUtilities (createExceptionReport() and createInputException()). The intention to separate these message types is to display them on different places in the user interface. * src/main/java/de/intevation/gnv/state/MinMaxDateState.java: New state to handle date input. * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java: Converted some class methods into static methods and added a new method to create an xml document which contains an error message for invalid user input. * src/main/resources/lang/artifactMessages.properties, src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_en.properties, src/main/resources/lang/artifactMessages_de.properties: Added text for error messages. 2010-03-09 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Modified the Query for the lookup of the Tablename and the Whereclaus to a choosen Layer. Now also the Templateid containing the Mapservice-ID and the Layer-Id was added to the Query. * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java (templateExists): Add a method which will return if a given Template exists. this could be used for determining if a specialized Template for a Layer is given or the Default one should be used. * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (getWMS): Integrate lookup for MapFileTemplate for the different Layer. If a special Template should be used it must be storde according to the following Syntax in the Folder which contain all other Mapfile-Templates. layer_{ID_MAPSERVICE}_${ID_LAYER} e.g. layer_BSH_IMS_CONTIS_Resources_2 If there is no Template matching the given Name the Defaulttemplates layer_point, layer_polygon or layer_linestring will be used. 2010-03-09 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (out): Integrated ExceptionHandling if no Data was found for the given Layer. If no data couuld be retrieved from the Database an XMl-Exceptionreport will be generated which must be analized by the Clients. 2010-03-08 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue186 * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Adjusted signature of method to store min/max ranges in x and y direction in charts. * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Adjusted method call to signature which has been changed in AbstractXYLineChart. * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Added some empty methods which overrides methods from parent which should not be called on this class. * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Added methods to store vertical min/max ranges in charts. After adding a new series to this chart, we call prepareRangeAxis() to add an offset (5 percent) between values and chart border. 2010-03-08 Tim Englich <tim.englich@intevation.de> * doc/conf/maptemplates/layer*.vm: Added some basetemplates for Lines, Points and Polygons that will be used if an WMS-layer of the Product Layer will be created. * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java (writeDataToFile): Changed Method in taht way that it now will return the geometrytype of this Layer instead of an boolean-value. Null will determine that an Exception occured during the Shapefilegeneration. * src/main/java/de/intevation/gnv/utils/MetaWriter.java (writeLayerMeta): Added a new Method for writing the Metadatafile for WMS published by the Product Layer. Done som Refactoring work for reusing som Code-Snippets. * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (getWMS): Added the Basic-Support for publishing an WMS-Layer. The Lookup of the Attributes which has to be put into the Shapefile and the lookup of the Template which schould be used to symbolize the Layer has to be implemented. 2010-03-08 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue195 * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Use InputData stored at the current state to create chart titles. 2010-03-08 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue189 * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Changed insufficient key to store results for chart generation in cache. Use 'getHash()' method for this now, which have been implemented while refactoring the cache mechanism. 2010-03-06 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/state/StateBase.java, src/main/java/de/intevation/gnv/state/MeasurementState.java, src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Cleaned up imports. 2010-03-05 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/conf.xml: Set ttl to a better value. It has been set to 2min by mistaken while working on mapfile generation. 2010-03-05 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue185 * src/main/java/de/intevation/gnv/state/MeasurementState.java: Added missing parameter name in describe document. 2010-03-05 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Added some more Queries which are required to serve the Requests of the Product Layer. * doc/conf/conf.xml: Changed the Sourceid of the FIS Contis because of Changes in the Database. * doc/conf/products/layer/conf.xml: Completed the Configuration for the Product Layer. Added more Configurationdetails to the OutputStates. * src/main/resources/lang/artifactMessages*.properties: Added the required ressources for the Product Layer and the FIS Contis and Nauthis into the Propertiesfiles. * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java (writeDataToFile): Added an Method for writing g an Shapefile using an Collection of Results. this Method must be extended that it could use the Result-object in an generic Way. At this Moment it is only be Possible to write the Geometry into the Shapefile if it is given at the first Position of an Result. All other Attributevalues will be ignored and not written into the Shapefile. * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java: Added Support for writing Shapefiles and Export them as an Zipfile. 2010-03-05 Tim Englich <tim.englich@intevation.de> * doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: ISSUE 191: Pdf, svg and png are now available. 2010-03-04 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/conf.xml: Added a section to configure MapServer relevant stuff. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Store mapserver path in CallContext object to have access everywhere we have a CallContext object (avoids reading config.xml all the time we want to write mapfile). * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java: Added key to store MapServer information into CallContext and fetch it from it. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Removed code to write meta information files (sourced out to MetaWriter). This has been done with the intend to write meta information of CONTIS and NAUTHIS using that class as well. * src/main/java/de/intevation/gnv/utils/MetaWriter.java: Helper class to write meta information files used for mapfile generation. Write general information about our wms service (MapServer) into meta information file. This is used to give the user information about the place where he can find the wms service and his generated wms layer. 2010-03-04 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/maptemplates/flow-velocity_polygons.class.vm, doc/conf/maptemplates/water-levels_polygons.class.vm, doc/conf/maptemplates/water-temperature_polygons.class.vm, doc/conf/maptemplates/horizontalcrosssection_flow-velocity.vm, doc/conf/maptemplates/flow-velocity_isolines.class.vm, doc/conf/maptemplates/horizontalcrosssection_flow-velocity_isolines.vm, doc/conf/maptemplates/horizontalcrosssection_water-levels.vm, doc/conf/maptemplates/water-levels_isolines.class.vm, doc/conf/maptemplates/horizontalcrosssection_water-temperature.vm, doc/conf/maptemplates/water-temperature_isolines.class.vm, doc/conf/maptemplates/horizontalcrosssection_water-levels_isolines.vm, doc/conf/maptemplates/horizontalcrosssection_water-temperature_isolines.vm: Added template files for water-levels, water-temperature and flow-velocity. 2010-03-04 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue171 * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Changed the way to calculate the current distance from startpoint. We do not calculate the distance between the current point and the last point and add this value to a variable storing the total distance anymore, but we take the distance between the current point and the start point. On this way, we do not need a variable to store the total distance, because current point - first point == total distance. And there is no impreciseness in gaps of different layers (see issue171 for this). 2010-03-04 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Added some more debug information for gap detection on grids. * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Added some more debug information for gap detection on grids. 2010-03-03 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Log important values used for gap detection if debug level is enabled. 2010-03-03 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue146 * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Removed workaround to send a fake document if statistic is requested, which is not available for this product type. 2010-03-03 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Trigger pdf creation for histograms when an 'out' call arrives with output mode 'histogram' and export mode 'pdf'. * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Implemented a method to export histograms as multipage pdf file. * doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/horizontalprofile/conf_mesh_cross.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added pdf support for histogram charts. 2010-03-02 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/OutputStateBase.java: Added an xpath expression for export modes. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Refactoring of 'out' to be able to add pdf and svg exports to histogram. Now, there are just four output modes left (chart, histogram, csv, odv). Export modes (pdf, svg, img) are part of these output modes. Implemented svg export for histogram charts. * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Helper method to export histograms as svg via output stream. * doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/horizontalprofile/conf_mesh_cross.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added svg as export mode to histogram output in configuration files. 2010-03-02 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue180 * src/main/java/de/intevation/gnv/state/profile/horizontal/NorthSouthEastWestState.java: Removed CallMeta object from state which should not be serialized. Implemented a little workarround to save localized strings on this state. 2010-03-01 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue182 * src/main/java/de/intevation/gnv/state/StateBase.java: Display the selected value if there is no description available. WKT-strings will be displayed in the static ui part again. 2010-03-01 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue179 * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Removed code former used to append product select box. * src/main/java/de/intevation/gnv/state/StateBase.java: Just use all parent states to render the static part of the user interfact - not the current state itself! 2010-03-01 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Removed methods which aren't used anymore (used before changing the caching mechanism). 2010-02-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/timeseries/conf_timeseriespoint.xml: Changed the configured state class from DefaultState to MeasurementState. * doc/conf/queries.properties: Select parameterid from db as well, when fetching all measurement ids. * src/main/java/de/intevation/gnv/state/StateBase.java: Improved the way of searching for descriptions in selected values (used in describe document). * src/main/java/de/intevation/gnv/state/MeasurementState.java: New state object to create a describe document which can be used to render a measurement-parameter-matrix. * src/main/java/de/intevation/gnv/state/InputData.java, src/main/java/de/intevation/gnv/state/DefaultInputData.java: Added a new method to fetch a description by key. * src/main/java/de/intevation/gnv/state/describedata/ExtendedKeyValueData.java: This class extends DefaultKeyValueDescibeData. It is used by MeasurementState to create a mapping between measurements and parameters. Each key/value-pair has an extra attribute storing its parameter value. 2010-02-25 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/horizontalprofile/conf_mesh_cross.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Adapted configuration. Pdf, svg, image exports got an own section in the outputmodes node. Exports belong to an output mode, now. There are no outputmodes 'pdf', 'svg', 'png' existing anymore. 2010-02-25 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Changed the way of using cache to store verticalcrosssection chart data. Now, this type of chart is working without cache, as well. 2010-02-25 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/OutputStateBase.java: Changed the way of using the cache to store chart / histogram data. Now, output modes 'chart' and 'histogram' are working without cache. 2010-02-25 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Better exception handling while cache configuration. The cache is not initialized, if no cache is configured in conf.xml. There would have been an exception without having a cache section in conf.xml. Now, it's possible to use GNV without using a cache. * src/main/java/de/intevation/gnv/state/StateBase.java: Changed logger name from irritating 'GNVArtifactBase' to 'StateBase'. 2010-02-24 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Store request parameter in a map and put that map into other classes/methods instead of putting each request parameter into an own variable. * src/main/java/de/intevation/gnv/chart/DefaultHistogram.java: Implemented logic to adjust number of bins in histogram charts. The user is able to choose between the number of bins or the size of a single bin. 2010-02-23 Ingo Weinzierl <ingo.weinzierl@intevation.de> * contrib/palette2polygonVM.xsl: New. XSLT transformation to transform a palette file into a style definition template used for mapfile creation. Usage: $ xsltproc contrib/palette2polygonVM.xsl \ doc/conf/palette/water-temperature.xml \ > water-temperature.vm 2010-02-23 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Removed a bug in pdf and svg creation. No data were drawn into chart. 2010-02-23 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/timeseries/conf_mesh.xml: Added an export mode section in output modes and added an export mode 'pdf' for showcase. This work is necessary to split up output modes (chart, histogram, ...) from export modes (pdf, svg, png, ...). GUI components are now able to distinguish between these modes and render each mode in an own section. * src/main/java/de/intevation/gnv/state/OutputStateBase.java: Read export modes from configuration node. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Write export modes into describe document. * src/main/java/de/intevation/gnv/state/DefaultOutputMode.java, src/main/java/de/intevation/gnv/state/OutputMode.java: Added export modes as java.util.List. 'getExportModes()' will deliver this list. * src/main/java/de/intevation/gnv/state/DefaultExportMode.java, src/main/java/de/intevation/gnv/state/ExportMode.java: Object storing necessary information for export mode. 2010-02-22 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/conf.xml: Restructured configuration of shapfile and template directories. Moved map-generator part into gnv section. Moved shapefile-directory configuration to an own section and removed duplicated shapefile-directory config from map-generator. * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Adjusted xpath expressions regarding the changes in conf.xml. MapfileGenerator got some instance variables to store information about mapfile location, velocity log file and shapefile and template directories. This avoids reading conf.xml every single time while updating the mapfile. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Adjusted xpath expression regaring the changes of shapefile-directory in conf.xml. 2010-02-22 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/conf.xml: Added path for velocity logfile. * doc/conf/maptemplates/horizontalcrosssection_salinity.vm, doc/conf/maptemplates/horizontalcrosssection_salinity_isolines.vm: Removed absolute path in style includes. * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Improved velocity configuration regarding absolute pathes and logfile. 2010-02-21 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Fixed file handle leak when writing meta data. * src/main/java/de/intevation/gnv/state/StateBase.java, src/main/java/de/intevation/gnv/state/MinMaxState.java, src/main/java/de/intevation/gnv/utils/MapfileGenerator.java, src/main/java/de/intevation/gnv/chart/DefaultHistogram.java, src/main/java/de/intevation/gnv/chart/AbstractHistogram.java, src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Clean up imports. 2010-02-19 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Write a meta information file after shapefile writing is finished. These meta information are used to map the type of shapefiles to a specific template and fill these layer-templates with data. * src/main/java/de/intevation/gnv/wms/LayerInfo.java: Class for storing meta information for mapfile creation. * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Implemented method stubs. The MapfileGenerator starts searching for meta information in filesystem after update() is called. These information are used to to fill templates for the supported layers and a mapfile will be created out of this. TODO: Configure Velocity. * pom.xml: Added Apache Velocity 1.6.1 for templating mapfiles. * doc/conf/conf.xml: Adapted a section to configure necessary directories and filenames for mapfile generation. * doc/conf/maptemplates/mapfile.vm: Base template for mapfile. All required layers will be included into this template. * doc/conf/maptemplates/horizontalcrosssection_salinity_isolines.vm, doc/conf/maptemplates/horizontalcrosssection_salinity.vm, doc/conf/maptemplates/salinity_isolines.class.vm, doc/conf/maptemplates/salinity_polygons.class.vm: Template support for salinity in horizontal crosssection wms. 2010-02-17 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/conf.xml: Added configuration section for writing mapfiles. * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Singleton generator for writing mapfiles. It runs in an own thread and has an 'update' method which triggers the generator to search the filesystem for shapefiles and meta information and update mapfiles out of these information. A 'main' method can be invoked to update the mapfile without an running artifact server. TODO: Implement method stubs. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Call MapfileGenerator when writing or removing shapefiles (endOfLife). 2010-02-15 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/horizontalprofile/conf_mesh_cross.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added histogram as output mode. * doc/conf/charttemplate.xml: Added color of bars in histograms. 2010-02-15 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Added code path to create and return histograms. * src/main/java/de/intevation/gnv/chart/AbstractHistogram.java, src/main/java/de/intevation/gnv/chart/DefaultHistogram.java: New. Classes for creating histograms. Each histogram contains exactly one parameter. * src/main/java/de/intevation/gnv/chart/XMLChartTheme.java: Added parsing of histogram bar color. * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Added a new funcion to copy all histograms into a single image and send it to output stream. * src/main/java/de/intevation/gnv/histogram/HistogramHelper.java: New. Added helper function to split the result collections for each parameter and for each measurement into pieces. 2010-02-12 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Integrated Queries for the Product Layer. * doc/conf/conf.xml: Integrated the new FIS Nauthis and Contis and the required Link to the Configuration for the new Product Layer. * doc/conf/products/layer/conf.xml: Added Configuration for the new Product Layer. * src/main/java/de/intevation/gnv/state/OutputStateBase.java (getData): Changed Methodsignature from private to protected ro make it available for extended Classes. * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (LayerOutputState): Added new State for generating the Output for the Product Layer. This Class is not jet completly implemented and will not return any result at this Moment. * src/main/java/de/intevation/gnv/layer/LayerArtifact.java: Added new Artifactclass for the Product Layer. 2010-02-12 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/InputData.java, src/main/java/de/intevation/gnv/state/DefaultInputData.java: Descriptions of values are stored in an array, because one InputData object can contain many data. * src/main/java/de/intevation/gnv/state/StateBase.java: Get a description for each input parameter and use an array to store all descriptions in an InputData object. Result of this is, that all user selected parameters are displayed and charts are well drawn again. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Split up data values stored in InputData objects in search mechanism for specific parameters and put them all as KeyValueDescibeData objects into a collection. 2010-02-12 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Removed useless method calls which removed elements from cache, because each state puts its own elements into cache - not in one big piece. * src/main/java/de/intevation/gnv/state/StateBase.java: Adapted 'reset' method. It removes the former user selection for this state, only. 2010-02-12 Tim Englich <tim.englich@intevation.de> * doc/conf/products/timeseries/conf_mesh.xml: Added new Transitions so that the State for entering a CoordinateValue will only be shown if no Point was inserted during the Instantiation of an Artifact. (MapViewer-Interface) The could be used in the FIS Modeldata using the Product TimeSeries. You also have to use a Region in the RegionFilter. 2010-02-12 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/state/PreSettingsTransferState.java: This new State ist Implemented for the Case that Values of the PreSettings has to be used instead of InputValues. This States will look into the Presettings and put Values identified by the configurable Names into the InputData-Collection. For the Configuration you can insert the following XML-Element into the Configuration of a State. <presettings-transfer presetting="geometry" inputvalue="mesh_coordinate"/> * src/main/java/de/intevation/gnv/state/StateBase.java (getPreSettings), src/main/java/de/intevation/gnv/state/State.java (getPreSettings): Added a getter-method for the PreSettings that are set at the State. Using this way e.g the PresettingsValueCompareTransition can reach the Settings an can evaluate them. * src/main/java/de/intevation/gnv/transition/PresettingsValueCompareTransition.java (operator): This transition will have a look at the Values which where ste during the instantiation of an Artifact. If a defined Value is given an the Value is Equal to the configured Value using the configured Operator the Transition to the configured State could be used. Otherwise the Transition could not be used. 2010-02-11 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Replaced method call which removes non selected parameters from parameter list. At this time, there are only selected parameters in the list, so there is no need to clean it. The result: Charts are drawn. 2010-02-11 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/StateBase.java: Declared method as 'protected' to be allowed to use it in derived classes. * src/main/java/de/intevation/gnv/state/OutputStateBase.java: Changed the key to store into cache and restore data from it. Added a workarround to find min and max value fields in InputData. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Adapted the search mechanism for specific parameter collections. This is required, because the the former mechanism searched in the big cache blob - which doesn't exist anymore. TODO: Repair chart generation. Although there are results existing for chart generation, no chart in drawn. 2010-02-11 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/StateBase.java: Improved hash creation of each state. The hash is created using the uuid, state-id and the hash code of the input data required for the sql statement. 2010-02-10 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/StateBase.java: Append description to InputData objects and use it while creating the describe document. The description is displayed in the static GUI part. A nice side effect of this is, that the subarea selection re-appears in the static GUI part. Even if no subarea has been selected. Furthermore, removed some methods which became useless after refactoring the caching and rendering mechanism. * src/main/java/de/intevation/gnv/state/MinMaxState.java: Adapted method signature regarding changes in upper class. 2010-02-10 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/State.java: New method 'feed' in this interface. It should be used to feed this state with new data selected by the user. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Use new method 'feed' instead of 'putInputData' to feed the state with new data. * src/main/java/de/intevation/gnv/state/profile/horizontal/NorthSouthEastWestState.java, src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java, src/main/java/de/intevation/gnv/state/SingleInputState.java: Method 'purifyResult' just cleans values from database and returns it. DO NOT put these results into cache at this place! * src/main/java/de/intevation/gnv/state/InputData.java, src/main/java/de/intevation/gnv/state/DefaultInputData.java: Some new methods to store objects in such an InputData object. Objects are used to store MinMaxDescribeData objects for example. And further new methods to store a description for each InputData object. This is used to render the static GUI part. Until now, this object stored the id's of the selected parameter, only - which are useless to show in GUI. The description should be the string shown in the GUI, later. * src/main/java/de/intevation/gnv/state/MinMaxState.java: This type of state overrides 'feed' and 'appendToStaticNode'. 'feed' takes user input and parses min and max values from it (used for time periods for example). 'appendToStaticNode' will append these fields to the static GUI part. * src/main/java/de/intevation/gnv/state/StateBase.java: Removed the big cache blob and parted it into pieces. Each state will now put its database data into cache. In this way, we are able to reuse these data when the user steps back in history. Data, inserted by the user, will be stored via 'feed'. Special input fields like multi selection or ranges need to override this method to parse the input data and store them in special objects. TODOs: - The output modes are based on this big cache blob and search for parameterid, measurementid and dateid in it. TimeSeriesOutputState.getCollection() needs to be adapted! 2010-02-09 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultFIS.java (addParameter), src/main/java/de/intevation/gnv/artifacts/services/requestobjects/FIS.java (addParameter): Added the possibility to add Parameters to an existing FIS. * src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java (getFIS): Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS. 2010-02-09 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/StateBase.java: Do not query the cache / database for rendering the static part of the describe document - just take the input data stored at each state. TODOs: - Store 'description' of each chosen value. At the moment we are able to render an id of value, only. - Take care of input elements with multi selection. - The subarea node disappears if we don't select any. 2010-02-09 Tim Englich <tim.englich@intevation.de> * doc/conf/conf.xml: Switched the usage of DummyMetaDataService to MetaDataService because the Service is now able to work properly. * doc/conf/queries.properties: Added the required SQL-Statements for fetching the Metadata from the Database. * src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java: Added the Database-Lookup of FIS and Parameters. Now the Metadata will be looked up using the specified Databaseschema as defined in doc/schema/externalinterface_schema.sql * src/main/java/de/intevation/gnv/artifacts/services/DummyMetaDataService.java Removed Dummyservice because it is not required any more. 2010-02-05 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue170 * pom.xml: Changed log4j version to 1.2.14 (later version causes errors and breaks maven build process). 2010-02-05 Tim Englich <tim.englich@intevation.de> * pom.xml: Changed from ArcSDE version 9.2.5 to Version 9.3 You have to Install the required Libraries as described in https://bsh-intern.intevation.de/Mavenbuildprozess 2010-02-05 Tim Englich <tim.englich@intevation.de> * doc/schema/externalinterface_testdata.sql: Changed the Testdata for layerhasparameter according to the the changes of the Tablestructure. * doc/schema/externalinterface_schema.sql: Changed id_layer Column in Table layerhasparameter from literal to number. And added Column Layername to this Table. This is nessessary because the Identifcation of an Layer is not the name but the ID. 2010-02-05 Tim Englich <tim.englich@intevation.de> * doc/conf/products/horizontalcrosssection/conf_mesh.xml: ISSUE167 Fixed Bug in Konfiguration. Now Regionfilters can be used without running in an Exception. 2010-02-02 Tim Englich <tim.englich@intevation.de> * doc/conf/products/horizontalcrosssection/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/horizontalprofile/conf_mesh_cross.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml: Added the possibility to use the Informations (PreSettings) which are send using the MapViewer-Interface in all States which are responsible to manage the choice of Parameters during the Workflows of GNV-Artifacts. 2010-02-02 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/state/DefaultInputData.java (splitValue), src/main/java/de/intevation/gnv/state/InputData.java (splitValue): Added Method which spilts the Values using the same Separator which is used to concart the Values. * src/main/java/de/intevation/gnv/state/StateBase.java: Added the usage of the Presettings during the Loading of the Data which is nessesary to describe the current State. If Values are given in the Presettings which are identified by the name wwhich is specified in the Configurationelement presettings-name only the Intersection of the fetched Objects and the PresettingsObjects are used. * src/main/java/de/intevation/gnv/state/State.java (setPreSettings): Added new Method setPreSettings to be Able to put the Presettings from the current Artifact to the different States. * src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java (setup): The Method Setup now extracts the given PreSettingsparameter from the XML-Document and put them to the ProductArtifacts which are instantiated in the advance()-Method using the Methods of the PreSettingArtifact-Interface. * src/main/java/de/intevation/gnv/artifacts/PreSettingArtifact.java (setPreSettings): New interfacedefinition. Artifacts which are implementing this Interface are able to exchange the given Presettings using the given getter and setter methods of this Interface. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: The GNVArtifactBase now implements the Interface PreSettingsArtifacts. So it is able to manage Data which is set during the construction of an new ArtifactInstance. It also put the PreSettings-data to the different States. So that they are able to use it during their livecycle. 2010-02-01 Tim Englich <tim.englich@intevation.de> * doc/conf/conf.xml: Added the Configuration-node for the MetaDataService into the Configuration of the GNV-Artifact-Restserver. At tis Moment it is only useful to use the DummyMetaDataService. * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultLayer.java: Defaultimplementation of the Interface Layer. * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Layer.java: Interfacedefinition for Objects that represents Layer and GroupLayer that where parsed from the XML-Document which was sent to the MetaDataService * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultMapService.java: Defaultimplementation of the Interface MapService. * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/MapService.java: Interfacedefinition for Objects that represents Mapservices that where parsed from the XML-Document which was sent to the MetaDataService. * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultParameter.java: Defaultimplementation of the Interface Parameter. * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Parameter.java: Interfacedefinition for representing an Parameter which belongs to an FIS. * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultFIS.java: Defaultimplementation of the Interface FIS. * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/FIS.java: Interfacedefinition for representing an FIS which will be used as an ResultValue of the MetaDataService-Processing. * src/main/java/de/intevation/gnv/artifacts/services/MetaDataServiceException.java: Exceptionclass for classifiing Exception which occurs during the processing of an MetaDataService-Call. * src/main/java/de/intevation/gnv/artifacts/services/DummyMetaDataService.java: DummyClass of an MetaDataService. This Class can be use to simulate an MetaDataService-Call until the required Metadata for the prossessing are available in the Database-Backend. This Class only returns the given Mapservices as an FIS and the Layer as an Parameter to a given FIS. * src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java: This Class is an Implementation of the de.intevation.artifacts.Service Interface. This Service should provide Informations which FIS are available for given Mapservices an which FIS are intersecting a given Region These Informations are required according to definition of the MapViewer Interface. 2010-02-01 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/TestArtifactDatabase.java (createArtifactWithFactory): Fixed Compilance-Errors triggered by Interface-Modifications in the Artifact-Module. * src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointVerticalProfileTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointTimeSeriesTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/MeshVerticalProfileTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/MeshVerticalCrossSectionTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/MeshTimeSeriesTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/MeshHorizontalProfileTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/MeshHorizontalCrossSectionTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/InstantaneousPointVerticalProfileTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/InstantaneousPointHorizontalProfileTestCase.java (testArtifact): Refactored Artifact-Instantiation using the new createArtifact()-Method of the super-Class. * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCaseBase.java (createArtifact) Added Method for instantiating an new Artifact using the given Artifactfactory. Also fixed the Compilance-Errors triggered by Interface-Modifications in the Artifact-Module. 2010-02-01 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java (setup), src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java (setup), src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java (setup), src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java (setup), src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java (setup), src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java (setup), src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java (createArtifact), src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (setup): Changed Method signatures because of Interfacemodifications in the Artifact-Module. Now it is possible to retrieve the XML-Document which was send by an Client during the create-Call. So it is possible to get further Informations which could be used during the livecycle of an Artifact. 2010-01-31 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java, doc/conf/conf.xml: Added configuration for extrapolation in "Horizontalschnitte". Use gnv/horizontal-cross-section/extrapolation/@rounds with integer rounds > 0 to turn extrapolation on (default: 0). Rounds is a number of successive point extrapolations which means that the grid is successively filled with missing points based on prior rounds. The larger 'rounds' get more gaps are filled synthetic generated points. Set this to 2 to get good results for the model data FIS. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Foward configuration to area interpolation. * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: Foward configuration to GridCell. * src/main/java/de/intevation/gnv/math/Point2d.java: Added method to extrapolate point along a line spanned by two points. Calculate Inverse Distance Weighting (IDW) for a given set of points on z components. Added method to check if set of points are near a given point. * src/main/java/de/intevation/gnv/math/GridCell.java: Before building the i/j cells the grid is filled with synthetic generated points. The position is estimated from the neighboring points. The parameter values are calculated by IDW. Some care is taken to avoid invalid grid topologies. TODO: Implement this for the "Profillschnitt" too to keep the inner symmetry. 2010-01-29 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/MeshVerticalProfileTestCase.java (testArtifact), * src/test/java/de/intevation/gnv/artifacts/MeshVerticalCrossSectionTestCase.java (testArtifact), * src/test/java/de/intevation/gnv/artifacts/MeshHorizontalProfileTestCase.java (testArtifact), * src/test/java/de/intevation/gnv/artifacts/MeshHorizontalCrossSectionTestCase.java (testArtifact): Increases the number of steps that has to be done for the different products plus one. * src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_out_statistics.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_out_odv.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_out_csv.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_out_chart.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_feed.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_advance.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_feed.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_advance.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_09_advance.xml: Added Advance and Feed-Document for the State Year. Changed the Advance to the State Year. Moves the Last state to *11*.xml Documents. * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_out_odv.xml, src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_out_csv.xml, src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_out_chart.xml, src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_feed.xml, src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_advance.xml, src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_06_feed.xml, src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_06_advance.xml, src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_05_advance.xml: Added Advance and Feed-Document for the State Year. Changed the Advance to the State Year. Moves the Last state to *07*.xml Documents. * src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_out_statistics.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_out_odv.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_out_csv.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_out_chart.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_advance.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_feed.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_advance.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_09_advance.xml: Added Advance and Feed-Document for the State Year. Changed the Advance to the State Year. Moves the Last state to *11*.xml Documents. * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_08_out_zip.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_08_out_wms.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_08_feed.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_08_advance.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_feed.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_advance.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_advance.xml: Added Advance and Feed-Document for the State Year. Changed the Advance to the State Year. Moves the Last state to *08*.xml Documents. 2010-01-27 Hans Plum <hans@intevation.de> RELEASE 0.4 * Changes, NEWS, ChangeLog: Summarized activities 2010-01-27 Sascha L. Teichmann <sascha.teichmann@intevation.de> * Changes: Reordered items a bit 2010-01-27 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue164 * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Applied patch of SLT to remove shape files and directories of out-dated artifacts. Therefor we need to store the artifact after an 'out' operation - which is actually a read only operation - explicitly into the artifact database to keep the directory path. 2010-01-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Calculate results after reaching the final state and store them in cache. This avoids long latencies for chart creation or exports. 2010-01-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue158 * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Replaced old way to create ChartLabel objects with a method call 'createChartLabels()'. 2010-01-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: Set white border (border arround drawing area) as default for 'Profilschnitte'. 2010-01-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Calculate results after reaching the final state and store them in cache. This avoids long latencies for chart creation or exports. 2010-01-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue162 * doc/conf/products/horizontalcrosssection/conf_mesh.xml, doc/conf/queries.properties: Adapted transition model. Splitted date selection of 'Horizontalschnitte' into two steps. 2010-01-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/verticalcrosssection/conf_mesh.xml: Removed csv export from product 'Profilschnitt'. 2010-01-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Fixed an ArrayIndexOutOfBounds-exception which occured if there are less than two data points. 2010-01-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue161 * doc/conf/products/verticalprofile/conf_mesh.xml: Adapted transition model. Splitted date selection into two steps. 2010-01-25 Sascha L. Teichmann <sascha.teichmann@intevation.de> Fix/Workaround for gnv/issue159 * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Deactivated the index buffer by default because applying it gives to less data points in some circumstances. When processing the "horizontalen Schnittprofile", the "Profilschnitte" and the "Horizontalschnitte" the whole set of mesh cells for the given parameters are retrieved. This results in much more traffic from database (~ 10x) but seems not to be much slower. The memory consumption increases accordingly. To turn the index buffer on again use the boolean system properties: "gnv.horizontal.profile.mesh.cross.index.buffer" "gnv.vertical.cross.section.index.buffer" "gnv.horizontal.profile.mesh.cross.index.buffer" * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Because much more data is processed a more sophisticated point culling strategy is implemented now. If the number of points are higher than a given threshold (system property "gnv.interpolation2d.cull.point.threshold", default: 1000) a culling is performed. Two cases: a) given a path P ("horizontales Schnittprofil", "Profilschnitt") Calculates a bounding box B for P and continues with (b). b) a bounding box B ("Horizontalschnitt", and above after (a)) Calculates a bounding box C for the input points. If the area of B is greater than 80% of the area of C no culling is performed. Else B is extended by 10% in each direction. If the new area of B is smaller than 10% of the area of C B is adjusted to have at least 10% the size of C. All input points that are not inside B are culled. Afterwards the i/j grid cell units are created and pushed into a spatial index as described below. 2010-01-25 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue157 * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: Added method to adjust background color of this chart. * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Set white background as all other charts have. 2010-01-25 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue160 * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Copied a method from JFreeChart and adapted date formats. 2010-01-25 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/arcsdeconnectionpool.properties: Set serverRoundtripInterval to 5 seconds and serverInactiveInterval to 5 minutes. 2010-01-25 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/queries.properties: Splitted date selection into two steps - year and concreate date in this year. Removed useless option to disable/enable data points of chart and export output, because points make no sense in such products. 2010-01-25 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/horizontalprofile/conf_mesh_cross.xml, doc/conf/products/horizontalprofile/conf_mesh.xml: Added new state for splitting the date selection into two parts - selection of year and selection of a concrete date of this year. * doc/conf/queries.properties: Added new sql statement for querying years and adapted statement to query concrete dates. 2010-01-25 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue156 * doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/horizontalprofile/conf_mesh_cross.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added some parameter (width, height, and shapes) to output modes svg and pdf. Now, these parameter will have an effect on svg and pdf exports. 2010-01-24 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Added attribute "fill-color" to /artifact-database/gnv/vertical-cross-section/ground/ configure the color of the seabed polygon. * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Adjusted column depth to the deepest interpolated position to prevent gaps. * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: Add ground polygon to the chart. * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/OutputHelper.java: New. Contains code to create the ground polygon. * src/main/java/de/intevation/gnv/raster/PolygonDatasetProducer.java, src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java: Handle temporary vertices more efficiently. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Added configuration to set the color of the seabed polygon. * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: Handle the seabad polygon color. 2010-01-24 Sascha L. Teichmann <sascha.teichmann@intevation.de> * contrib/palette2qgis.xsl: Cosmetic cleanups. 2010-01-23 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Fixed bug when accessing i and j columns of SQL dataset. This prevented gap detection in "horizontale Schnittprofile" from working. * src/main/java/de/intevation/gnv/math/Interpolation2D.java: "horizontale Schnittprofile" are now using the grid cell mechanism too. This should fix all remaining problems to solve gnv/issue153. The culling of too much points is controlled with the system property "gnv.interpolation2d.cull.point.threshold" with the same semantics as in 'Profilschnitt' and 'Horizontalschnitt'. The spatial buffer size estimation code is removed because it is not needed any longer. * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Moved some code to Interpolation2D. * src/main/java/de/intevation/gnv/math/GridCell.java: Added some debug information about the number of found cells. * src/main/java/de/intevation/gnv/utils/WKTUtils.java: Cleanup imports. 2010-01-23 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Apply same logic about the number of points to "Profilschnitte" too. If there are more "gnv.interpolation3d.cull.point.threshold" points they are culled against a 5% extended bounding box around the path. Default threshold: 1000. 2010-01-23 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: - The lastest refactoring removed the evaluation of the depth. Now its back in again. - If the number of incoming points is greater than a given threshold (default: 1000) than the bounding box of the interpolation is extend about 5% for a test if the points are in this area. Points outside this area are culled because its unlikely that they have any influence on the result. Use the system property "gnv.areainterpolation.cull.point.threshold" to modify the threshold value. * src/main/java/de/intevation/gnv/math/GridCell.java: When build the interpolation areas the points are culled against extented bounding box. 2010-01-23 Sascha L. Teichmann <sascha.teichmann@intevation.de> * contrib/palette2qgis.xsl: New. XSLT transformation to turn a palette XML file into a style definition suitable to be used in QGIS. Tested with QGIS 1.4.0-Enceladus. Usage: $ xsltproc contrib/palette2qgis.xsl \ doc/conf/palette/water-temperature.xml \ > water-temperature.qml Do similar to process salinity.xml et al. When you've loaded the "Horizontalschnitt" polygon layer in QGIS, class it via the "CLASS" attribute, load the according style and apply it. Voila! 2010-01-22 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Make "Profilschnitte" work the same way like "Horzontalschnitte" again. 2010-01-22 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/GridCell.java: New. A 4-tupel of neighbored points in the mesh. It is valid to interpolate in this area. * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: The algorithm how neighbored points in the mesh are determined has changed. Now all incoming points are tiled into GridCells. If there are gaps in i,j the corresponding tile is omited. These tiles are stored in an R tree. To lookup a point in world coordinates the spatial index is queried. If no result is found the point is ignore as a gap. If a fitting grid cell is found the interpolation in done between the four points of that cell is performed. Special gap checking is not needed any longer. This fixes gnv/issue153 because there are no assumptions about axis aligned points any more. * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Used euclid distance to estimate spatial buffer size. TODO: Remove this code when adjusting the "Profilschnitte" to the same logic as used in "Horzontalschnitte" now. * src/main/java/de/intevation/gnv/math/LinearFunction.java: Added author's email. * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: Cleanup imports. 2010-01-22 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Removed debug output which has been checked in by mistake. 2010-01-22 Tim Englich <tim.englich@intevation.de> * doc/conf/meshwidth.xml: Added Description of the sense of the different Attributes. 2010-01-22 Tim Englich <tim.englich@intevation.de> Issue93 * doc/conf/meshwidth.xml: Added file for the global Configuration of MeshWidths to the Project. This file has to be edited if the mean Distance between two MeshPoints has changed or a new Mesh will be introduced. * doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_mesh.xml: Added Elemet with Link to the MeshWidth-Document to Configurations for CoordinateSelectionStates. * src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java : Added the possibility to configure the different width of the Meshes. 2010-01-22 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/TestArtifactDatabase.java (serviceNamesAndDescriptions),(process): Fixed Compiler-Error after adding further Methods to the Interface ArtifactDatabase. 2010-01-22 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/util/ShapeFileWriterTestCase.java (testMultiLineStringWriter): Fixed Compiler-Error after changes in the Method-Signature. 2010-01-21 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: Repaired revision. Removed try-catch of a never thrown exception. 2010-01-21 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue136 & Issue137 * src/main/resources/lang/artifactMessages.properties, src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_en.properties, src/main/resources/lang/artifactMessages_de.properties: Added templates to format coordinates to a human readable output. * src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java, src/main/java/de/intevation/gnv/utils/WKTUtils.java: Moved function to format coordinates from wkt string to human readalbe output to WKTUtils. Modified the method: Read template out of the i18n files and use a Java MessageFormatter to fill this template with string objects. A result of this is a proper encoding (issue137). * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: Use the method described above to format coordinate output and display this as chart subtitle (issue136). 2010-01-21 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue100 * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: If there are more than one axis, each dataset is mapped to its own dataset after adding it to the plot (one dataset for each parameter). In this way, we get a well scaled axis for each parameter which is independent from other axes (see range of salinity and air-pressure for example). 2010-01-20 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue152 * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Removed date formatting from timeseries charts. Set locale of DateAxis instead to localize chart axis. Advantage: JFreeChart defines intervals of axis labels automatically. 2010-01-20 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Trigger the calculation when the state is initialized. 2010-01-20 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue129 * src/main/resources/lang/artifactMessages.properties, src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_en.properties, src/main/resources/lang/artifactMessages_de.properties: Renamed I-axis to 'West-East-axis' and J-axis to 'North-South-axis'. 2010-01-20 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue105 The option to enable/disable data points in charts is now available in gui. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Parse optional chart parameter 'points' to adjust rendering of shapes. * doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/horizontalprofile/conf_mesh_cross.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added an option to enable/disable data points in charts. 2010-01-20 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Set number of per axis samples to 1024 because generation of "Horizontalschnitte" is much faster now (60x). * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Added some kind of outlier test when guessing the buffer size of the spatial index. The speed problem arose from the fact that to much points are assumed to be neighbors of a given point. Long distances which differ more than 40% from the standard derivation are assumed to be outliers. * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: Uses the outlier aware buffer size guessing now. * src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java, src/main/java/de/intevation/gnv/raster/JTSMultiLineStringProducer.java: Removed needless imports. 2010-01-20 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue148 * doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/horizontalprofile/conf_mesh_cross.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Removed mistakes in description and mimetype of svg export nodes. 2010-01-20 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java, src/main/java/de/intevation/gnv/raster/JTSMultiLineStringProducer.java: Clip against given polygon. BTW: Geotools has problems with writing clipped polygons in packed 2-tuple form, too. Therefore polygons are also stores in the packed 3-tuple form. :-/ * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Forward clipping polygon to isoline and polygon generator. 2010-01-19 Sascha L. Teichmann <sascha.teichmann@intevation.de> * trunk/pom.xml: Upgraded Geotools to 2.5.8 * trunk/src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java: Ported to Geotools 2.5.8 API. Write parameter id, date and layer to shape files, too. * trunk/src/main/java/de/intevation/gnv/math/AreaInterpolation.java: Flip upside down again because its not necessary. * trunk/src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java: XXX: There is a Geotools bug when writing multi lines strings to shape files when the internal data representation are packed 2-tuples. 2-tuples are enough in our use case but we use 3-tuples for multi line line strings. multi polygons work fine with 2-tuples. Removed needless bug output. * src/main/java/de/intevation/gnv/raster/JTSMultiLineStringProducer.java: Use packed 3-tuples as the internal representation. * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCaseBase.java, src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Removed needless imports. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Write polygons and lines strings to shape files. 2010-01-19 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: Removed import to make it compilable again. 2010-01-19 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue142 * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Fixed an issue in timeseries chart caused by parameters with no value. Paid attention on array length. 2010-01-19 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/raster/RasterToPPM.java: New. Class to write rasters with palettes to portable pixmaps. Handy to debug raster outputs. * src/main/java/de/intevation/gnv/raster/Raster.java: Added getValues() to access the backing data. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Read parameter from input data correctly. * src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java: Walk rings of polygons in reversed order to produce correct JTS polygons. Its not entierly clear why this is necessary. * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: Clipp the input points against an buffered version of the bounding box of the given polygon to reduce the number of data. TODO: figure out why upside down rendering in necessary. 2010-01-19 Tim Englich <tim.englich@intevation.de> * doc/schema/externalinterface_testdata.sql, doc/schema/externalinterface_schema.sql: Do some Bugfixes after testing the Schema and Testdata against an Oracle 10.2 DBMS. 2010-01-19 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/State.java, src/main/java/de/intevation/gnv/state/StateBase.java, src/main/java/de/intevation/gnv/state/profile/horizontal/NorthSouthEastWestState.java, src/main/java/de/intevation/gnv/state/OutputStateBase.java: Changed some method signatures. Use CallContext objects in some methods of the State interface instead of CallMeta objects, which are a subset of CallContext. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Adapted method calls on State objects to the changes in the interface. 2010-01-19 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Sourced creation of a ChartLabel object out to an own method which can be overwritten in subclasses to adjust the labels in each chart type. * src/main/java/de/intevation/gnv/chart/ChartLabels.java: Added string for labeling y axis and a parameter used in 'Profilschnitten'. * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: Read labels from ChartLabel object and set chart and axes titles according to these labels. * src/main/resources/lang/artifactMessages.properties, src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_en.properties, src/main/resources/lang/artifactMessages_de.properties: Added labels for x and y axes of 'Profilschnitt' charts. 2010-01-18 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/GNVDefaultArtifact.java: Add an attribute 'fis' to the fis select node. If this attribute is found in XSLT, a link to step back and select a new fis will be created. 2010-01-18 Tim Englich <tim.englich@intevation.de> * doc/schema/externalinterface_schema.sql: Added Comments and further Informations. 2010-01-18 Tim Englich <tim.englich@intevation.de> * doc/schema/externalinterface_testdata.sql: Added Testdata to demonstrate how the different Tables has to be filled. * doc/schema/externalinterface_schema.sql: Added Schema for the DB-Schemaextention for providing the Data that is required for the external Interface to the Mapviewer 2010-01-18 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/GNVDefaultArtifact.java: Implements a single method to append the selected fis to ui's static part. * src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Inherit from GNVDefaultArtifact to append the selected fis to static part of the describe document. * src/main/java/de/intevation/gnv/state/StateBase.java: Do not create static and dynamic nodes of the user interface any longer - fetch these nodes via xpath expression. The creation of these nodes takes place in the artifact itself. * src/main/resources/lang/artifactMessages.properties, src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_en.properties, src/main/resources/lang/artifactMessages_de.propertie: Added label for fis. 2010-01-18 Sascha L. Teichmann <sascha.teichmann@intevation.de> * ChangeLog: Fixed indention. 2010-01-18 Tim Englich <tim.englich@intevation.de> * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_out_chart.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_out_odv.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_out_csv.xml: Removed Files, because they are not required any more. * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_out_zip.xml: Added new RequestFile for calling for retrieving a Zip-File from the Server. * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_out_wms.xml: Added new RequestFile for calling for an WMS-Result. * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_04_feed.xml: Added Polygon as WKT into the feed-Request. 2010-01-18 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/TestArtifactDatabase.java (TestArtifactDatabase): New: Added an Testimplementation of the ArtifactDatabase to the Tests to use it inside the TestCallcontext to prevent NPEs during the Testzenarios. * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java (TestCallContext): Added Artifactfactory to the Methodsignature of the Context to use it inside the Context. Added the Method getDatabase to resolve Compilationerrors. * src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointVerticalProfileTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointTimeSeriesTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/MeshVerticalProfileTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/MeshVerticalCrossSectionTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/MeshTimeSeriesTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/MeshHorizontalProfileTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/MeshHorizontalCrossSectionTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/InstantaneousPointVerticalProfileTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/InstantaneousPointHorizontalProfileTestCase.java (testArtifact), src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCaseBase.java (createCallContext): Changed Methodsignature of createCallContext. Add the Artifactfactory to use it for creating the CallContext. 2010-01-18 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/raster/ExternalIndexConverter.java: New. Helper to convert the internal palette indices to the explicit configured external ones. * src/main/java/de/intevation/gnv/math/AttributedPoint2ds.java: Store the JTS geometries too. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Generate JTS multi polygons for parameter regions and multi line strings for iso lines. TODO: Clip against incoming polygon. 2010-01-18 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/raster/Palette.java: load <range> attribute "index" as external index. This is useful to match color classes with external sources. If no explicit index is given the order of ranges is used as external index. * doc/conf/palette/flow-velocity.xml, doc/conf/palette/water-levels.xml, doc/conf/palette/salinity.xml, doc/conf/palette/water-temperature.xml: Set explicit external color class indices. * doc/conf/conf.xml: Set ground interpolation of "Horizontalschnitte" to bilinear. 2010-01-17 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Reduced number of "Horizontalschnitt" samples to 256 because its much too slow with higher resolutions. This has to be improved. * doc/conf/queries.properties: Use point data to generate "Horizontalschnitte". Added parameter id and date to results. * src/main/java/de/intevation/gnv/utils/WKTUtils.java: Made reading to points more fault tolerant. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Call the area interpolation. * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: Fixed bug with calculating points inside bounding box of polygon. 2010-01-17 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/State.java: Added support for end of life. * src/main/java/de/intevation/gnv/state/StateBase.java: Implemented end of life trivial. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: call end of life when leaving state. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Used XMLUtils.toStream() instead of own tranformer code. Removed dead code. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Implemented end of life. Remove shapefile directory from file system belonging to concrete artifact. Implemented download as ZIP file. Offer some link for WMS integration. TODO: implement the real WMS publishing here. 2010-01-17 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/products/horizontalcrosssection/conf_mesh.xml: Only offer WMS layers and download ZIPs in output state. * src/main/java/de/intevation/gnv/utils/FileUtils.java: New. Helper class to recursively delete files and directories and create ZIP archives from files and directories. * src/main/java/de/intevation/gnv/utils/WKTUtils.java: Simpilied signature of worldEnvelopeCoordinatesToIndex(). * src/main/java/de/intevation/gnv/state/OutputState.java: Cleanup imports. Made source more readable. * src/main/java/de/intevation/gnv/state/OutputStateBase.java: Cleanup imports. Made source more readable. Moved some XPath stuff from TimeSeriesOutputState up into this base class. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Move some XPath stuff into base class. Made source more readable. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Directly inherit from OutputStateBase now to break the implicit constraints (chart styles, statisctics, etc.) of the TimeSeriesOutputStates which not hold for this kind of state. XXX: Added Workaround to circumvent gnv-intern/issue146 * src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: Added e-mail addresses for authors. Made querying for attributes more robust. * src/main/java/de/intevation/gnv/math/AttributedPoint2ds.java: New. Data carrier for the "Horizontalschnitte". Used for generation of results and caching 2010-01-15 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/artifacts/fis/product/Product.java, src/main/java/de/intevation/gnv/artifacts/fis/product/DefaultProduct.java, src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java, src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/math/AreaInterpolation.java: Cleaned up imports. 2010-01-15 Ingo Weinzierl <ingo.weinzierl@intevation.de> Added support to step back to the point where the user is able to choose the product of a FIS. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactFactory.java, src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java: Cleaned up factories regarding their tasks. GNVArtifactFactory creates concrete products. GNVProductArtifactFactory handles all FIS and knows the products of a FIS. * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java: Removed, because it is not used anymore. * src/main/java/de/intevation/gnv/artifacts/fis/product/Product.java, src/main/java/de/intevation/gnv/artifacts/fis/product/DefaultProduct.java: A Product does no longer save its factory but the name of its factory as string. * src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java: This artifact will no longer read the config file to get information about the products of a fis. The products are set via setter method out of the ArtifactFactory where this artifact is build. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Added the possibility to step back to the point where the user can choose a product. If the target of advance is 'product' we fetch the GNVProductArtifactFactory from ArtifactDatabase and create a new SelectProductArtifact, put it into the ProxyArtifact and clean up the ugly cache. * doc/conf/conf.xml: Create top level FIS artifacts with GNVProductArtifactFactory instead of GNVArtifactFactory. 2010-01-15 Tim Englich <tim.englich@intevation.de> * doc/conf/arcsdeconnectionpool.properties: Added the Property serverRoundtripInterval to the Configuration an set its Value to 15 Minutes. 2010-01-15 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointVerticalProfileTestCase.java (testArtifact): Added new Step for querying the Years where measurements has been done into the Testcase. * src/test/ressources/verticalprofile/verticalprofile_step_07_out_statistics.xml, src/test/ressources/verticalprofile/verticalprofile_step_07_out_odv.xml, src/test/ressources/verticalprofile/verticalprofile_step_07_out_csv.xml, src/test/ressources/verticalprofile/verticalprofile_step_07_out_chart.xml, src/test/ressources/verticalprofile/verticalprofile_step_07_feed.xml, src/test/ressources/verticalprofile/verticalprofile_step_07_advance.xml, src/test/ressources/verticalprofile/verticalprofile_step_06_feed.xml, src/test/ressources/verticalprofile/verticalprofile_step_06_advance.xml, src/test/ressources/verticalprofile/verticalprofile_step_05_feed.xml, src/test/ressources/verticalprofile/verticalprofile_step_04_advance.xml, src/test/ressources/verticalprofile/verticalprofile_step_05_advance.xml: Added State-Ressource for the new step Year and modified the other Ressource-Files so that the new Step is queued in the right direction. 2010-01-13 Ingo Weinzierl <ingo_weinzierl@web.de> * src/main/java/de/intevation/gnv/artifacts/fis/FISSelectArtifact.java, src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java: Renamed FISSelectArtifact to SelectProductArtifact which fits better, because the intent of this artifact is to choose a product - not a FIS. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/artifacts/GNVArtifactFactory.java: Replaced FISSelectArtifact with SelectProductArtifact. 2010-01-13 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/test/java/de/intevation/gnv/artifacts/util/ShapeFileWriterTestCase.java, src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Removed needless imports. * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: New. Interpolates area for a given bounding box, taking gaps and DEM into account. Not very fast. Use bilinear interpolation to match the "Profilschnitt". Possible TODOs: - speed up by assuming the grid is not sparse. - use higher interpolation methods. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Added configuration for ground interpolation. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Add helper functions to access configuration. * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Simplified Code. * src/main/java/de/intevation/gnv/math/L1Comparator.java: add setReference() method. 2010-01-13 Ingo Weinzierl <ingo_weinzierl@web.de> * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: 'advance' method will now consider old states. We reset input data of target state and clean cache from 'future data' before steping back to previous states. TODO: Refactor caching mechanism which should take care of different states' hash values to be able to use the cache more efficiently. * src/main/java/de/intevation/gnv/state/State.java: Added method to return map which stores input data of the current state. * src/main/java/de/intevation/gnv/state/describedata/MinMaxDescribeData.java, src/main/java/de/intevation/gnv/state/describedata/SingleValueDescribeData.java, src/main/java/de/intevation/gnv/state/describedata/KeyValueDescibeData.java src/main/java/de/intevation/gnv/state/describedata/DefaultSingleValueDescribeData.java, src/main/java/de/intevation/gnv/state/describedata/DefaultMinMaxDescribeData.java, src/main/java/de/intevation/gnv/state/describedata/DefaultKeyValueDescribeData.java: Add current state's name when initializing new objects of these classes. The name of a state is added as attribute to a node when creating the describe-document. The xsl transformer will read this attribute and create a link which allows the user to step back to previous states. * src/main/java/de/intevation/gnv/state/SingleInputState.java, src/main/java/de/intevation/gnv/state/MinMaxState.java, src/main/java/de/intevation/gnv/state/StateBase.java: - Add state name when creating objects to store input data. - Use XMLUtils.ElementCreator to write namespace aware xml elements. - Add state names as attributes to xform elements. - Append old states to list of reachable targets in describe-document. - Remove data from cache which belong to future states after stepping back to a previous state. - Remove input data of current state after stepping back. 2010-01-12 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml, src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Added configuration od file system directory of generate "Horizontalschnitt" shape files. 2010-01-12 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/utils/WKTUtils.java, src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Code cleanup 2010-01-12 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/SingleInputState.java, src/main/java/de/intevation/gnv/state/MinMaxState.java, src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java: Data, describing the user interface, is stored in a list instead of a collection, now. This makes it easier to remove the last element if we advance back. * src/main/java/de/intevation/gnv/state/State.java, src/main/java/de/intevation/gnv/state/StateBase.java: Added a 'reset' method to clear data which has been inserted before returning to an old state. This is called when we try to advance into the past. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Now, it's possible to advance to an earlier state. The 'advance' method first searches for a given target name in the list of reachable targets. If no future target has been found, the method looks for an old state with this target name. The last option is to return to the initial step for choosing the FIS, if the target name is 'start'. 2010-01-12 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Added Query for Years in VerticalProfiles in TimeSeriesPoints. Modified the Query for Dates in VerticalProfiles in TimeSeriesPoints. * doc/conf/products/verticalprofile/conf_timeseriespoint.xml: Added State for choosing the year and than it will only display the Dates which are within the coosen year. * src/main/resources/lang/artifactMessages*.properties: Added Ressource for diaplaying year. 2010-01-12 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java (configureHorizontalCrossSection): Added the Method to load the Configurationsettings for horizontal-cross-sections from the global Configuartion and put it into the Context. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java: Added static variables to define the Keys used for horizontal-cross-sections * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java (getChartResult): Integrated the Possibility to determin the required Snipped of an Mesh using the ij-Index determined by the given Polygon. Added the process-method which must still be implemented. * src/main/java/de/intevation/gnv/utils/WKTUtils.java (worldEnvelopeCoordinatesToIndex): Added worldEnvelopeCoordinatesToIndex-Method for determining the ij-Coodinates for a given Envelope. Some refactoring-Work done for reuse some existing Code of this Class. * doc/conf/conf.xml: Added the Configuration-Node for horizontal-cross-sections in this File. * doc/conf/products/horizontalcrosssection/conf_mesh.xml: Added ij-Query Node to OutputState to make the Querystring available to this Product. 2010-01-12 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Use XMLUtils to read evaluate xpath expressions. Adapted xpath expressions regarding namespace and prefix. 2010-01-11 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCaseBase.java (readDocument): Set NameSpaceAware to true to get the Unittests work again. The Out-Calls doesn't work yet!!! 2010-01-11 Sascha L. Teichmann <sascha.teichmann@intevation.de> * pom.xml: Introduced dependency to GeoTools 2.4.5 (maybe a bit too old) Needed to write traced polygons and line strings to shape files. * src/main/java/de/intevation/gnv/utils/Pair.java: New simple pair tuple for type safety. * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java: New. Writes multi polygons and multi line strings to shapefiles. Writing the multi polygons works. !! Writing the multi line strings fails! !! Its not clear by now if its a geotool bug or a !! misunderstanding of the API. The polygon and !! the line string export are coded symmetrically !! but the line string export complains about invalid !! FIDs states. * src/main/java/de/intevation/gnv/raster/AbstractProducer.java: New. Abstract base class for multi line string/polygons producers as backends of the vectorizer. * src/main/java/de/intevation/gnv/raster/PolygonDatasetProducer.java: Inherits from AbstractProducer now. * src/main/java/de/intevation/gnv/raster/IsoProducer.java: New. Common base class for the iso line producers, inherits from AbstractProducer. * src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java: Moved some code to new base class IsoProducer. * src/main/java/de/intevation/gnv/raster/DemuxRingsHandler.java: New. Little helper class to demultiplex many ring handlers on one single vectorizer. * src/main/java/de/intevation/gnv/raster/IsoAttributeGenerator.java: The implemented AttributeGenerator interface is defined in IsoProducer now. * src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java: New. Traces regions directly to JTS multi polygons. * src/main/java/de/intevation/gnv/raster/JTSMultiLineStringProducer.java: New. Traces iso lines directly to JTS multi line strings. * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java, src/main/java/de/intevation/gnv/statistics/AbstractStatistics.java: Removed needless imports. 2010-01-09 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/fis/FISSelectArtifact.java: Artifact used for the initial steps when no product is chosen. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactFactory.java: Factory to create artifacts. It is used to put a new FISSelectArtifact into the ProxyArtifact for the initial steps when no product is chosen. * doc/conf/conf.xml: Use the ProxyArtifact instead of FISArtifact and GNVArtifactFactory to create it. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: - Defined XPath expressions at the top of the class instead of directly in code. - Use XMLUtils.ElementCreator to create new namespace aware nodes and attributes. - Defined 'describe' method to create user interface for initial steps. * src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java, src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java, src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java, src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java, src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java: Moved 'describe' methods which had no special code to super class. * src/main/java/de/intevation/gnv/state/StateBase.java: Use XMLUtils.ElementCreator to create new elements in xml documents. 2010-01-09 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Added configuration for vertical cross section ground interpolation. * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java: Uses configured interpolation method now. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Read configuration for vertical cross section ground interpolation. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java: Added key and default for vertical cross section ground interpolation. * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Forwards vertical cross section ground interpolation to QueriedXYDepth. 2010-01-09 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Prevent NPE if no results are produced by vertical cross sections. * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java: Replaced envelope checking by direct coordinate checking in tile cache. Store the last used tile explicitly to save it from being collected by the garbage collector. 2010-01-08 Tim Englich <tim.englich@intevation.de> Issue 137 * src/main/java/de/intevation/gnv/utils/InputValidator.java (getPointValue), src/main/java/de/intevation/gnv/timeseries/gap/DefaultTimeGap.java (key), src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java (getStatisticsGenerator), src/main/java/de/intevation/gnv/state/StateBase.java (extractKVP), src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java (prepareInputData4RegionDBQuery), src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (advance): Removed Encodingerrors from listed Files. All Files are now UTF-8 compliant. 2010-01-08 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestSuite.java (suite): Added a Testsuit for executing all Testcases at once. * src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_feed.xml, src/test/ressources/timeseries_mesh/timeseries_step_08_feed.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_feed.xml: Changed the feeded Datevalues because the Values in the Database have changed. TODO: Does it have an effect on the IDs? * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_03_advance.xml, src/test/java/de/intevation/gnv/artifacts/MeshVerticalCrossSectionTestCase.java (testArtifact): Switched Testcase to the new Condition that an LineString has to be entered. * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_*.xml, src/test/java/de/intevation/gnv/artifacts/MeshHorizontalCrossSectionTestCase.java (testArtifact): Switched Testcase to the new Condition that an Polygon has to be entered. 2010-01-08 Tim Englich <tim.englich@intevation.de> * src/main/resources/lang/artifactMessages.properties: Added Ressources for the GUI for visualizing the Inputstate for Polygons. * doc/conf/products/horizontalcrosssection/conf_mesh.xml: Added State for the possibility to enter a Polygon which should clip the data that will be visualized. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java (getChart): Integrated the access to the Polygon which should be used to trim the Data which should be visualized. 2010-01-05 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java: - Simplified code - Search tile cache in reversed order because its more likely that last loaded tile is used more than once. - Stores cached tiles under soft references to prevent the possible case to flood the memory with hires tiles. 2010-01-05 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java (depth): Added the usage of the new RasterObject integrated in the geo-backend. Now the Performance is much better accessing the depth to an coordinate. 2010-01-04 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java: Declared method to create a new xforms element as static to be able to use it without instantiating an object of this class. * src/main/java/de/intevation/gnv/state/StateBase.java: Splitted code pathes of static and dynamic nodes. Static nodes contain the selected value only instead of transfering the complete stack of possible values again. 2010-01-04 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java (process): Changed the XYDepth-Interface-Implementation to QueriedXYDepth * doc/conf/queries.properties: Added the Query for Rasterdataaccess. * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java (QueriedXYDepth): Added Implementation of the XYDepth-Interface for Querying the height of an Position using the geo-backend interface. It is only nessesary to add a Query with the id rasterQuery to the query-Properties. 2010-01-04 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/statistics/Statistics.java: Changed interface to allow general object results as input for statistic calculation. This is needed because the vertical cross section produces no SQL like resultsets. * src/main/java/de/intevation/gnv/statistics/AbstractStatistics.java: New. Added common base class for different kind of statistics. TODO: Move more common code into this class. * src/main/java/de/intevation/gnv/statistics/VerticalCrossSectionStatistics.java: New. Statistics for vertical cross sections. Does nothing by now. * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Creates a VerticalCrossSectionStatistics object as statistics generator now. * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java: Inherits from AbstractStatistics now. Some code moved to new base class. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Cleaned up the usage of statistics. 2010-01-04 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Fixed problem with running to max depth on every column. 2010-01-04 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Fix class cast exception to enable PDF export of vertical cross section charts. * ChangeLog: Typo fixes. 2010-01-04 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: Uses ValueAxis.valueToJava2D() to transform data values into chart space. This is slower than doing it via the Java2D matrix stack but its more the JFreeChart way and prevents transforming of graphical attributes too. TODO: Speed this up again! * src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java: Forward plot to polygon renderer to make domain and range axis accessible. * src/main/java/de/intevation/gnv/math/XYColumn.java: Moved code a bit. 2010-01-04 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/jfreechart/PolygonSeriesLabelGenerator.java: New. Interface to generate labels for polygon series. * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: Added logic to generate and render labels of polygons. The implemented layout algorithm is greedy. For all polygons with labels the label is placed on the center of the ring, which center in terms of the indices of the vertices. If the bounding box of the label intersects the bounding box of a an already placed one alternative places are tried. In level order positions at 1/4, 3/4, 1/8, 3/8, 5/8, 7/8 and so on are evaluated for non intersections with former placed labels. This terminates if a free place is found or all index positions are exhausted. If no free position is found the label is omitted. The visual result is okay but could be improved by a more clever algorithm e.g. tension reduction in the graph of labels. TODO: Improve clipping against chart borders. * src/main/java/de/intevation/gnv/jfreechart/LevelOrderIndices.java: New. Little helper class to generate the level order index traversal used in the label layout. Placed in the jfreechart package to keep it clean from gnv dependencies. * src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java: Added some methods to access the domain and range axis and there edge position. Mainly C&P from JFreeCahrts XYPlot to ease the coordinate transformation between Java2D and the value spaces of the chart. Call the label generation of the polygon renderer. * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: Added an implementation of PolygonSeriesLabelGenerator to generate localized labels for the iso lines. 2010-01-03 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: Only add colors to scale which are in the chart. * src/main/java/de/intevation/gnv/raster/Palette.java: Added getter for 'color' field of palette entry. 2010-01-03 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Generate iso line classes according gnv-issues/issue108: - If there are more than nine colors used in the chart only the borders of the regions are traced. - If there are less than ten colors each color region is devided into two sub regions. - If there are less than five colors each color region is devided into five sub regions. Generate attribute per iso line class with the parameter value of the iso line. * src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java: Renamed inner interface from LabelGenerator to AttributeGenerator to reflect the fact that the concrete label generation is a matter of i18n too. The concrete label generation should be done when the final chart is going to be created. TODO: Add a JFreeChart style label generator to PolygonRenderer * src/main/java/de/intevation/gnv/raster/IsoAttributeGenerator.java: New. Implements the AttributeGenerator interface. It takes the indices of the neighboring regions, uses these values to look into the iso palette and averages the parameter values at the touching borders. This should help in cases where two regions are neighbored in the chart which are not neighbored in the palette which may happen by quantification artifacts. * src/main/java/de/intevation/gnv/raster/Palette.java: Added getters to 'from' and 'to' fields. * src/main/java/de/intevation/gnv/math/XYColumn.java: Fixed another silly bug with adding values at surface and ground. * ChangeLog: Typo fixes 2010-01-01 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Generate iso lines by dividing palette ranges in two parts each and trace them. This shows that the ideas described by K. Jancke in gnv-issues/issue108 are probably not the right way to go. Applying this strategy there would be locally too many isolines if there is a steep gradient. On the other hand large areas are splitted in too less sections by too less iso lines. A better way may be a splitting with a look at the areas and shapes of the regions. Large, round regions need more splits. Long, thin regions need less. * src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java: Stabilized iso line hashing a bit. Added line width to give iso lines a more appealing presentation in the chart. The according value is stored in "line.width". * src/main/java/de/intevation/gnv/raster/Vectorizer.java: Fixed silly bug when simplifying lines. This prevented iso lines from rendering. * src/main/java/de/intevation/gnv/raster/Palette.java: Fixed index issue when generating a divided palette. * src/main/java/de/intevation/gnv/jfreechart/PolygonSeries.java: Do not crash with NPE any more when not having any series. * src/main/java/de/intevation/gnv/jfreechart/PolygonDataset.java: Added method to add a whole collection of series. Useful to add iso lines to dataset. * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: Set the "line.width" attribute when rendering lines. 2010-01-01 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Deactivated gauss filter because it blurs no data areas too. Moreover gauss filtering does not seem to be necessary at all. Possible TODO: Mask the no data areas while filtering. * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Added generation of polygon data suitable for PolygonPlot. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Some hacks to display the new Chart. XXX: This class is a real mess ... but I've said that before. * src/main/java/de/intevation/gnv/chart/Chart.java: Made it serializable. * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: New. Chart for vertical cross sections. Mainly a copy of Ingo's prototype implementation. TODO: parameter based i18n. * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Code simplification. Made it Serializable to be cachable persistently. * src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: Added fields for the interpolation and the generated PolygonDataset. Its used as the data carrying object in cache now. * src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java: Removed println debug code. * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: Added a little hack to draw the polygons of the interpolation. The values are in y-direction all below zero (depth is given by negative values) so the drawing is mirrored along y axis. This special behavior is determined by the position of data bounding box. At first I suspected a ccw issue here but some initial tests falsified this hypothesis. We need to have a deeper look at this but till than it works. * ChangeLog: Fixed some typos. 2009-12-30 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Fixed defect XML * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Use configuration to generate JFreeChart compatible polygons. * src/main/java/de/intevation/gnv/raster/PaletteManager.java: Add method to access base palette. * src/main/java/de/intevation/gnv/raster/Vectorizer.java: Added logging and new constructor. * src/main/java/de/intevation/gnv/math/ConstantXYDepth.java: "Simulates" DEM with a constant depth. * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Fixed bug with construction of buffer size. * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Some clean ups. New method to calculate max depth. * src/main/java/de/intevation/gnv/math/XYColumn.java: Fixed bug with extrapolation. 2009-12-30 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Added section gnv/vertical-cross-section to configure the "Profilschnitte". <samples width="..." height="..."/> configures the size of the sample area. Defaults to 1024x768. <filters><filter>...</filter></filters> configures the list of post processing filters applied to the sample area after the interpolation is done. Defaults to empty list. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java: Added keys for vertical cross section samples and filters. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Parse the configuration for the new parameters. 2009-12-29 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Added a gnv/horizontal-cross-section-profile section to configure the "horizontalen Schnittprofile". <samples number=".."/> gives the number of samples the interpolation track is divided into. Defaults to 250 * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java: The names of the keys for fetching informations from the configuration context are stored here now instead of the factory. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Removed the lookup keys. Configure the "horizontalen Schnittprofile". * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Fetch number of samples from config now instead of no longer supported system property. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: The key from chart template config is now in GNVArtifactContext, too. 2009-12-29 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Moved chart template and palette config into new section 'gnv'. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Adjusted to new 'gnv' section in config. Stores chat template under 'gnv.chart.template' and palettes under 'gnv.color.palettes'. Added authors. * src/main/java/de/intevation/gnv/utils/StringUtils.java: Fixed index out of bounds issue. 2009-12-29 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/raster/Filter.java: New. General filter mechanism raster in -> raster out. Useful to chain processing. The Filter.Factory takes an DOM element to configure itself. * src/main/java/de/intevation/gnv/raster/KernelFilter.java: New. Implements raster filters based on kernel folding. Has an inner class GaussFactory which acts as a factory to create Gauss filters. The attributes "sigma" and "radius" are read from the configuring DOM element to set up the parameters of the kernel. 2009-12-28 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java, src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, src/main/java/de/intevation/gnv/utils/WKTUtils.java: Refactored most silly code like inefficent access to input data and redundant WKT line string parsing. * src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java, src/main/java/de/intevation/gnv/math/XYColumn.java: Removed needless imports. 2009-12-28 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/OutputStateBase.java, src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java, src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java, src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java, src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Bring CallContext down to the chart generation. This is necessary to access the configuration. BTW: this a much cleaner way than the omnipresent singletons all around in the code! Observation: All the stuff derived from OutputStateBase is coded very messy ... even if your demands are not high about aesthetic :-/ * src/main/java/de/intevation/gnv/utils/StringUtils.java: New. Some functions to ease working with strings. 2009-12-28 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/raster/PaletteManager.java: New. Used to manage several levels of palette subdivsions derived from base palette. Contains name and description of palette, too. * src/main/java/de/intevation/gnv/raster/Palette.java: Removed palette description because it is hold by the PaletteManager now. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: The palettes are not stored under the name of the palette any longer. Instead the new attribute 'parameter-id' is splitted (comma separated) into integers which are use as keys now. The values are PaletteManagers. This should ease the access to an adequate PaletteManager when generating a chart for a certain parameter. * doc/conf/conf.xml: Added the 'parameter-ids' for the four palettes. The values are extracted from the gdiintern wiki. !!! This have to be in sync with the database parameter ids !!! 2009-12-27 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java: New. Vectorizer rings callback which produces iso lines in form of PolygonSeries. These series can be added to PolygonDatasets. If a IsoPolygonSeriesProducer.LabelGenerator is given each of the series has an attribute "label" which could be used to label text on the plot. TODO: Add label rendering to plot. Iso line generation is a bit more sophisticated than pure region tracing. Along a border of a region there could be more than one type of neighborhood. This is due to quantification errors introduced by the fact that steep value gradients are sampled to less points. The only ways out would be an increase of the sample resolution or an other algorithm working directly on the interpolated floating point samples. * src/main/java/de/intevation/gnv/raster/Vectorizer.java: Made line simplification work with open polygons, too. * src/main/java/de/intevation/gnv/math/IJKey.java: Added method to sort (i, j) in place. * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: Do not close line shapes because iso lines are not closed shapes in general. * src/main/java/de/intevation/gnv/raster/PolygonDatasetProducer.java: Added author. Some reformatting. 2009-12-26 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/raster/PolygonDatasetProducer.java: New. Vectorizer rings callback which produces PolygonDatasets suitable to be fed into PolygonPlot. * src/main/java/de/intevation/gnv/raster/Vectorizer.java: Forward height to rings callback. Made simplification of chains an option (default: true). This should be turn off if generating iso lines. Made edges hashable (handy to find neighbored edges in iso line scanning). * src/main/java/de/intevation/gnv/jfreechart/PolygonSeries.java: Added default constructor. Generate unique comparable long id in thos constructor. Added method to add a single ring. * src/main/java/de/intevation/gnv/jfreechart/PolygonDataset.java: Added constructor to construct with a collection of polygon series. 2009-12-25 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/raster/Palette.java: Added method subdive(N) to Palette class which creates a new palette in which each interval is splitted into N equal sized intervals. Infinity sized intervals are not splitted. This is useful to fulfill the conditions of gnv/issue108. 2009-12-23 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Use local variable debug instead of asking log.isDebugEnabled() more than once. * src/main/java/de/intevation/gnv/math/XYColumn.java: extrapolate with boundary values. * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Implements a 3D interpolation called 'Profilschnitt' along a track similiar to the 'Horizontaler Schnittprofil' which takes all k layers into account. At the interpolated (x, y) points columns of parameter values from surface to ground are interpolated. To do so the four next neighbor of that columns are figured out. Four cubic splines are fitted through these parameter values of these neighbors. Now its possible to continuous eval the parameter on each. Every entry in the interpolated column is interpolated bilinear from the four cubic spline interpolated neighbor values at the respective depth. The result is stored into a double valued raster. NaN values indicate interpolation gaps. 2009-12-23 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/XYColumn.java: Added a method prepare() which generates an continues interpolator for the given z values. if only one value is given a constant function is assumed. If the larger z-value is below zero the next lower value is supplemented at zero. Symmetrically if the lowest z-value is above the depth at the given point the lowest value is repeated at depth. This should guarantee that the gradient is vansihing towards the surface and the bottom of the ocean. If after the supplementation there are less than three points a linear interpolation is performed. If there are more than three points a higher degree interpolation is used instead. This defaults to a cubic spline interpolation. Overwrite the getInterpolator() function to replace this behavior. * src/main/java/de/intevation/gnv/math/ConstantFunction.java: New. Constant function used in interpolation. * src/main/java/de/intevation/gnv/math/LinearFunction.java: Added an inner class Univariate which fits into the interpolation framework. * src/main/java/de/intevation/gnv/math/HeightValue.java: Sort z-Values in descending order because we are below zero. * src/main/java/de/intevation/gnv/math/XYDepth.java: New. Interface to figure out the depth (negative values below surface) for a given coordinate. TODO: Implement this by query the DEM grid of the ocean. * src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: Added authors. 2009-12-23 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: When preprocessing database data only dissemble WKT points if we have to. Read z values as double value now. Commented out CSV export because it takes the database data as data which is not correct here. TODO: We need to implement some output based on the interpolated data. Added some type safety to better match the 2D code. * src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: Stores XYColumns in ArrayList for better reused of the 2D code. * src/main/java/de/intevation/gnv/math/XYColumn.java: Removed toArray() method because its not needed any longer. 2009-12-23 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/XYColumn.java: Extends from Point2d now to make some of the code (x/y sorting, envelope, etc.) reusable in 3D from 2D code. * src/main/java/de/intevation/gnv/math/IJKey.java: New: The (i, j) hashing is now moved to this class because of the new inheritance of XYColumn. * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Adjusted the (i, j) hashing. * src/main/java/de/intevation/gnv/math/Point2d.java: Added a new constructor to make it easier to extend from it. * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Made the buffer extend calculation a static method to be reusable in 3D case. 2009-12-22 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Load salinity palette correctly. 2009-12-22 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Preprocessing of data used for interpolation. * src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: Data wrapper. Contains preprocessed data used for interpolation and some metadata used for chart creation. * src/main/java/de/intevation/gnv/math/XYColumn.java, src/main/java/de/intevation/gnv/math/HeightValue.java: Made them serializable and added hashCode() and equals() to XYColumn to use it as key in HashMaps. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java, src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java, src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java, src/main/java/de/intevation/gnv/state/OutputStateBase.java: Changed some method signatures. * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java: Improved error handling. Return empty statistic set if there are no input data. 2009-12-22 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/verticalcrosssection/conf_mesh.xml: Adjusted configuration for verticalcrosssection ('Profilschnitt') products. * doc/conf/queries.properties: Adjusted sql query for chart generation of verticalcrosssection products. * src/main/java/de/intevation/gnv/state/StateBase.java, src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java: Code refactoring and better error handling. 2009-12-22 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/math/HeightValue.java, src/main/java/de/intevation/gnv/math/XYColumn.java: Added model classes to store information for interpolation. 2009-12-22 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Added config section for palettes. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: load palettes at start up. They are stored in a hash map under the key 'color.palettes'. The keys of the map are the names from the configuration, the values are de.intevation.gnv.raster.Palette objects. Put configuration of chart template into own method. * src/main/java/de/intevation/gnv/raster/Palette.java: Added a palette description. 2009-12-21 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Ignore invalid interpolations correctly. 2009-12-21 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/raster/Raster.java: New. Models 2D double rasters. Has some support for filtering with gauss kernels, building iso classes, etc. * src/main/java/de/intevation/gnv/raster/Palette.java: New. Maps double values to integer indices and colors. * src/main/java/de/intevation/gnv/raster/Vectorizer.java: New. Simple vectorizer which traces regions in integer rasters. * pom.xml: Added dependency to GNU Trove 2.1.1 which is needed by the vectorizer. 2009-12-21 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/utils/WKTUtils.java, src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Moved some methods back to old place. 2009-12-21 Sascha L. Teichmann <sascha.teichmann@intevation.de> Added Ingo Weinzierl's special JFreeChart classes. * src/main/java/de/intevation/gnv/jfreechart: New package. Should contain general JFreeChart stuff. * src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java: New. New type of plot to display multi-polygons with holes. * src/main/java/de/intevation/gnv/jfreechart/CompactXYItems.java: New. Basic vertex data model: a ring of a polygon. ccw = shell, cw = hole. * src/main/java/de/intevation/gnv/jfreechart/PolygonSeries.java: New. Attributes a set of rings with key/value pairs. * src/main/java/de/intevation/gnv/jfreechart/PolygonDataset.java: New List of PolygonSeries which makes it a multi-polygon. * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: New A renderer to draw PolygonDatasets into a PolygonPlot. 2009-12-21 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/verticalcrosssection/conf_mesh.xml: Prepared states and transitions of verticalcrosssection (german 'Profilschnitt'). 2009-12-21 Ingo Weinzierl <ingo.weinzierl@intevation.de> a * src/main/java/de/intevation/gnv/utils/WKTUtils.java src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Outsourcing of some methods to prepare results for chart creation. 2009-12-21 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/palette/flow-velocity.xml: color palette for flow velocity "Fliessgeschwindigkeit". * doc/conf/palette/water-levels.xml: color palette for water levels "Wasserstaende". * doc/conf/palette/salinity.xml: color palette for salinity "Salzgehalt". * doc/conf/palette/water-temperature.xml: color palette for water temperature "Wassertemperatur". 2009-12-21 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Added some code to prevent needless null inserts if interpolating over large gaps. 2009-12-21 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/HorizontalCrossProfileChart.java: Removed warning, which told the user that gap detection is not implemented yet. 2009-12-21 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java, src/main/java/de/intevation/gnv/math/Interpolation2D.java: Add 'null' values for gap detection to result collection instead of omitting them. * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.jav: Handle null values - don't throw an exception. 2009-12-17 Sascha L. Teichmann <sascha.teichmann@intevation.de> RELEASE 0.3 * Changes, NEWS, ChangeLog: Summarized activities 2009-12-17 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Bind REST server to localhost. 2009-12-17 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/test/ressources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_de.properties: s/Modeldaten/Modelldaten 2009-12-17 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_de.properties: Removed wkt line strings. 2009-12-17 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/queries.properties: Added K-position to sql statement for verticalprofile charts on meshes. * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Changed the depending axis for gap detection on meshes for verticalprofile charts. 2009-12-17 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue 106 * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Fixed a file-leak bug while reading chart template. Sourced parsing of xml file out to XMLUtils of de.intevation.artifactdatabase.XMLUtils. 009-12-17 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java, src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Added column labels for csv export. 2009-12-17 Hans Plum <hans@intevation.de> Issue 129: Release 0.2: Verbesserung der �bersetzungen * src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_de.properties: Fixed i18n strings for german language 2009-12-16 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Fixed index error in i-gab detection between neighbors. 2009-12-16 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Override method to create chart. Fixed some bugs for interpolation. * src/main/java/de/intevation/gnv/chart/HorizontalCrossProfileChart.java: Chart class for generating horizontal crossprofile charts. Horizontal crossprofile charts are a subclass of horizontal profile charts. * src/main/java/de/intevation/gnv/math/Point2d.java: Changed epsilon value. * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Fixed some bugs regarding buffer size to limit data for interpolation. TODO: At the moment, there is no gap detection for horizontal crossprofile charts. 2009-12-16 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue100 * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Workarround: Store information about max range of data for each parameter while iterating over all data values. Set the max range at the end of chart generation. NOTE: NumberAxis.setAutoRange(true) doesn't seem to work properly. 2009-12-16 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Removed useless import of VerticalCrossSectionChartFactory. * src/main/java/de/intevation/gnv/chart/HorizontalCrossSectionChartFactory.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java, src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChartFactory.java, src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java, src/main/java/de/intevation/gnv/chart/ChartFactory.java: Removed useless chart factory classes. 2009-12-16 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/utils/DistanceCalculator.java: Added method to calculate distance of path. TODO: Move this class into math package and and add an slerp interpolator so it can be used as a metric inside the interpolation code. * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Added code to disassemble the incoming result set, interpolate along a given path and returns an adjusted result set. The (i, j) got lost on this track because we don't travel along the main axis of the grid any more. The test for gaps has to be adjusted because, because the dx/dy on the path depends on how many steps are made on the way [*]. This is controlled by the system property 'interpolation.step.width'. It is set in meters and defaults to 100m. TODO: This should be configurable in the conf.xml file. [*] I opt strongly for integration of the outlier test based gap detection to overcome this problem. 2009-12-15 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/LinearToMap.java: Uses JTS Coordinate as geometry model now. * src/main/java/de/intevation/gnv/math/Metrics.java, src/main/java/de/intevation/gnv/math/Interpolator.java: New. Moved from inner class of LinearToMap to top level class to be more reusable. Uses JTS Coordinate as geometry model now. * src/main/java/de/intevation/gnv/math/Point2d.java: New. Extends JTS Coordinate to have an additional (i, j) to model the topological neighborhood within the mesh, too. * src/main/java/de/intevation/gnv/math/Interpolation2D.java: New. Has a method interpolate() which takes a path line string in form of a list of JTS Coordinates, a list of grid points (Point2d to carry the topology, too), a linear range in diagram coordinate space, a metric to cope with the projection. It reports interpolated points to an implementor of the new inner interface Consumer as a JTS Coordinate. (x, y) of this coordinate is the postion on the map, the z value is the interpolated attribute. To speed up the search for the neighbors the input points are sorted into a quadtree and are queried first level with a buffer of size (max(abs(p[i].x - p[i+1].x)), max(abs(p[i].y - p[i+1].y))) around the point to be interpolated. The second level filter is performed by an inverse L1-ordering with region coding, so that only the nearest four neighbors are taken into acount. Only if all four neighbors are present and no i- or j-gaps exist the interpolation is performed. TODO: Create a better extrapolation strategy in these cases were these conditions are not fulfilled. * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Added a process() method to perform the interpolation. It does nothing by now. TODO: bring it to life. 2009-12-15 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/math/LinearToMap.java: Map linear coordinates (from, to) to world coordinates (x, y) along a line string given by a set of java.awt.geom.Point2D points. * src/main/java/de/intevation/gnv/math/LinearMetrics.java: Implements Euclidean metric used by LinearToMap. TODO: Do same for WGS84 to be more precise. 2009-12-15 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java (calculateStatistics): Issue96 Resloved big that one entry is missiing in the Statitic. The last row of the ResultSet was never used. 2009-12-15 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue106 * doc/conf/conf.xml: Added charttemplate to global configuration. * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java: Made method static to call it without initiating an object of its class. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Create ChartTheme at startup of artifact server and put it into global context. The theme is created one time on this way. * src/main/java/de/intevation/gnv/state/OutputState.jav, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Changed signature of 'out'-method. Call 'out' with CallContext instead of CallMeta, which is contained in CallContext. CallContext is needed to fetch the ChartTheme out of it. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java: Changed signature of 'getChart'-method which now gets the CallContext containing the ChartTheme. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Get ChartTheme from CallContext instead of reading the XML file here. 2009-12-15 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: If a few (i, j) values are not available (gaps in the grid) try to fill the holes with guessing the values by the ones which could be fetched. We are using a componentwise linear function here. This is surely slightly wrong because world coordinates are in WGS84 which is ellipsoid in nature. TODO: Look at the errors and if needed compensate them by using cubic polynonial or ellipsoid function terms. * src/main/java/de/intevation/gnv/math/LinearFunction.java: New. Linear function to be used in curve fitting process. 2009-12-15 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Added the Unit of the Parameter to the Query for Parameters in all Parameterqueries where it was still missing. Now the Unit will be displaied in the Combobox and in the Diagramm-Axis-Description. 2009-12-15 Sascha L. Teichmann <sascha.teichmann@intevation.de> * pom.xml: Upgraded to Apache Commons Math 2.0. Needed for curve fitting (splines e.g) * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java: Use 'new DescriptiveStatistics()' instead of 'DescriptiveStatistics().newInstance()' to be compatible with new math api. 2009-12-15 Tim Englich <tim.englich@intevation.de> Added the Unit of the Parameter to the Query for Parameters in TimeSeries. Now teh Unit will be displaied in the Combobox and in the Diagramm-Axis-Description. * src/main/resources/lang/artifactMessages*.properties: Added the name Productname for "horizontale Schnittprofile". to the Resources so that it could be displaied properly in the GUI 2009-12-15 Tim Englich <tim.englich@intevation.de> * src/main/resources/lang/artifactMessages*.properties: Added the required Resources for the Outputelements of "horizontale Schnittprofile". * doc/conf/queries.properties: Added the specialized Queries for getting the Data and the depths for generating "horizontale Schnittprofile". * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java (log): Added an new OutputTransition to handle the special Way to d detremine the required Data for generating "horizontale Schnittprofile". * doc/conf/conf.xml, doc/conf/products/horizontalprofile/conf_mesh_cross.xml, src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileMeshCrossArtifact.java: Added Support for "Horizontales Schnittprofil"-Artifacts to the Project 2009-12-15 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue102 * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Reset 'nextColor' at the beginning of chart creation. Now, color of lines in charts are stable, which means, that an export will look like the chart in the gui itself. 2009-12-14 Ingo Weinzierl <ingo.weinzierl@intevation.de> Issue101 * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Changed date representation in timeseries charts. Date format is sourced out to ressource files. German date representation is now 'dd-MMM-yyyy' (eg 31-12-2009) and the english date representation is 'yyyy-MMM-dd' (eg 2009-12-31). * src/main/resources/lang/artifactMessages.properties, src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_en.properties, src/main/resources/lang/artifactMessages_de.properties: Added date format strings for timeseries charts. 2009-12-14 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/utils/IndexBuffer.java: Creates SQL-WHERE clauses for buffers around a list of line segments in index (i, j) space. 2009-12-11 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: Exception handling while creating subtitle of horizontalprofile charts. Included the case, that there is no start and no end date. 2009-12-11 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointTimeSeriesTestCase.java, src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Removed needless imports. 2009-12-11 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Added Z-Value to verticalcrosssection_mesh_chart_data. 2009-12-11 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCaseBase.java, src/test/java/de/intevation/gnv/artifacts/InstantaneousPointHorizontalProfileTestCase.java, src/test/java/de/intevation/gnv/artifacts/InstantaneousPointVerticalProfileTestCase.java, src/test/java/de/intevation/gnv/artifacts/MeshHorizontalCrossSectionTestCase.java, src/test/java/de/intevation/gnv/artifacts/MeshHorizontalProfileTestCase.java, src/test/java/de/intevation/gnv/artifacts/MeshTimeSeriesTestCase.java, src/test/java/de/intevation/gnv/artifacts/MeshVerticalCrossSectionTestCase.java, src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointTimeSeriesTestCase.java, src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointVerticalProfileTestCase.java, src/test/java/de/intevation/gnv/artifacts/MeshVerticalProfileTestCase.java: Split all Unittestcases in separat Classes. Now it is easier to uses the UnitTests with Maven. 2009-12-11 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Fade out gridlines of range axis in charts if there are more than one axis. 2009-12-11 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/resources/lang/artifactMessages.properties, src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_en.properties, src/main/resources/lang/artifactMessages_de.properties: Added axis labels for horizontalprofile, verticalprofile, horizontalcrosssection and verticalcrosssection charts. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java: Read axis labels from ressources instead of hard coded strings in code. 2009-12-11 Ingo Weinzierl <ingo.weinzierl@intevation.de> Cleared Issue104. * src/main/resources/lang/artifactMessages.properties, src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_en.properties, src/main/resources/lang/artifactMessages_de.properties: Added axis label for timeseries charts. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Removed hard coded axis label of timeseries charts. Read label from ressources. 2009-12-09 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Added gap detection for horizontal and vertical profile charts. 2009-12-09 Sascha L. Teichmann <sascha.teichmann@intevation.de> * doc/conf/conf.xml: Expanded the time to live of inactive artifacts to 3600000ms (= 1h). Dead artifacts are removed from databasse only every 15mins now. Improved the description on the artifact factories. 2009-12-08 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Added the Unit of the Parameter to the Query for Parameters in TimeSeries. Now teh Unit will be displaied in the Combobox and in the Diagramm-Axis-Description. 2009-12-08 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/profile: Removed empty needless package. * src/main/java/de/intevation/gnv/transition/TransitionFactory.java: src/main/java/de/intevation/gnv/transition/ValueCompareTransition.java, src/main/java/de/intevation/gnv/transition/TransitionBase.java, src/main/java/de/intevation/gnv/transition/Transition.java, src/main/java/de/intevation/gnv/transition/DefaultTransition.java: The new Transitions which has the only job to provide the connectios between the different States and look if it is Possible to go the different Ways. * src/main/java/de/intevation/gnv/state/StateBase.java, src/main/java/de/intevation/gnv/state/State.java: Removed the Logic to descide which State is be reacable as next. Now the Transition configured in the Artifacts will do that according to the modified TransitionModel. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (transitions): Added the Transitions to the Artifact and changed the Logic. Now the Transition is able to decide if it could be uses or not. * doc/conf/products/verticalprofile/*.xml: Modified the Configuration. Splitted States and Transitions into different XML-Fragments according to the modified Transitionmodel. 2009-12-08 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/queries.properties: Added marker ('DATAID') for different data sources. 2009-12-08 Tim Englich <tim.englich@intevation.de> * doc/conf/products/*.xml: Switched all Package and Classnames to the new Names. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Switched Imports from de.intevation.gnv.transition to de.intevation.gnv.state and renamed all Mebers and local Variables from *transition* to *state* * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java: Changed the Class for the loggeer from TimeseriesoutputTransition to ArtifactXMLUtilities because it was wrong. * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java, src/main/java/de/intevation/gnv/artifacts/fis/product/DefaultProduct.java, src/main/java/de/intevation/gnv/artifacts/fis/product/Product.java, src/main/java/de/intevation/gnv/statistics/VerticalProfileStatistics.java, src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java, src/main/java/de/intevation/gnv/statistics/Statistics.java, src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java, src/main/java/de/intevation/gnv/exports/SimpleOdvDataCollector.java, src/main/java/de/intevation/gnv/exports/ShapeDataCollector.java, src/main/java/de/intevation/gnv/exports/Export.java, src/main/java/de/intevation/gnv/exports/DefaultExport.java, src/main/java/de/intevation/gnv/exports/DefaultDataCollector.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChartFactory.java, src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java, src/main/java/de/intevation/gnv/chart/HorizontalCrossSectionChartFactory.java, src/main/java/de/intevation/gnv/chart/ChartFactory.java, src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Changed import from de.intevation.gnv.transition.* to de.intevation.gnv.state.* according to refactoring Work in the Transitionsmodel. * de.intevation.gnv.transition.* Moved to de.intevation.gnv.state.* and renamed all Mebers, local Variables, and Methodsignatures from *transition* to *state* 2009-12-07 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Remove unselected parameters from parameters list before initiating charts. Parameter names are used as axis labels. * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Changed the way of adding data to charts: same parameters are stored in the same dataset. Now, each parameter has only one axis. Axes and renderer are adjusted one time after collecting data - not after creating every single series. * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Added some more colors to distinguish between different parameters/attributes. Changed method to adjust rendering options regarding the changes of datasets described above. 2009-12-07 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Changed method generateChart to initChart, which just created a new timeseries chart. General chart stuff is done in AbstractXYLineChart. * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Sourced ChartFactory call out to a new initChart method. This has been done, because TimeSeriesCharts needs to initiate another type of chart than horizontal or vertical charts. 2009-12-04 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java: Added method to fetch a string from ressource bundle with a specified locale. Before, there just have been existing a method to fetch string from ressource bundle on basis of the first locale in a list of locales. * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java: Added method to fetch strings from ressource bundle from RessourceFactory with a specified locale, a key and a default value, if there is no string matching key in bundle. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Added methods for creating title and subtitle of charts. FIS name is fetched from ressource bundle with best locale (regarding supported server and client locales) instead of first locale in list of supported locales of the server. * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java: Changed title of charts. The main title contains FIS and station name. The subtitle contains the time period, the cruise, the depth and the position of a chart. * src/main/java/de/intevation/gnv/chart/ChartLabels.java: Added subtitle as parameter in class and constructor. * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Added a subtitle to charts. Titles and subtitles are stored in a ChartLabels object. * src/main/resources/lang/artifactMessages.properties, src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_en.properties, src/main/resources/lang/artifactMessages_de.properties: Added strings for chart title. 2009-12-04 Sascha L. Teichmann <sascha.teichmann@intevation.de> * ChangeLog: Cleaned up a bit. 2009-12-02 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Added time gap detection. If a time gap is detected, a null value will be inserted to break the current line. 2009-12-02 Ingo Weinzierl <ingo.weinzierl@intevation.de> * pom.xml: Added JBoss repository for JFreeChart 1.0.13 and removed explicit JCommon dependency which is now needless. Now, it is no more necessary to install JFreeChart into the local maven repository on your own. 2009-12-02 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/charttemplate.xml: Added lines to configure rendering of lines and points in charts (visibility of lines/points and size of points). * src/main/java/de/intevation/gnv/chart/XMLChartTheme.java: Added method parsing the rendering options for lines and points in charts. * src/main/java/de/intevation/gnv/chart/AbstractChart.java: Added boolean member attributes which are used to control the visibility of lines and points in charts. * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Constructor needs two further boolean parameter to control the visibility of lines and points in charts. * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: The renderer controlling the style of a series is adjusted after adding a new series to the chart. * src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.jav, src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Adjusted method calls regarding the constructor changes in *Chart classes. TODO: Lines and points in charts will both always be rendered at the moment. This needs to be changed as soon as a new gui option is implemented to control the visibility of lines/points. 2009-12-01 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java: Added one more Transitionstep to each Testcase according to the refactored Transitionmodel. * src/test/ressources/verticalprofile/verticalprofile_step_*_advance.xml, src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_*_advance.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_*_advance.xml, src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_*_advance.xml, src/test/ressources/timeseries_mesh/timeseries_step_*_advance.xml, src/test/ressources/timeseries/timeseries_step_*_advance.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_*_advance.xml, src/test/ressources/horizontalProfile_instantaneouspoint/horizontalprofile_step_*_advance.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_*_advance.xml: Moved each Adancedocument plus one according to the refactored Transitionmodel. Added the first advanced Call for the Product-Artifact 2009-12-01 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java: All Data which is required to generate the Charts is now fetched using the Method getChartResult. The Method advance and initialize now have nothing to do. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out): Removed the advance call because all Data which is required to generate the Charts is fetched using the Method getChartResult. * src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java (initialize): Use Method instantiate instead of Advance to add the required Data for describe and feed this Transition. * src/main/java/de/intevation/gnv/transition/TransitionBase.java (initialize), src/main/java/de/intevation/gnv/transition/Transition.java (initialize): Added new Method Initaialize which will be callcall to Initailize the current Transition. In this step all Data will be fetched which is required to Ddescribe and feed each Transition. Also the AlternativeTransition was removed because it is not longer required. * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (advance): Switched to the usage of the Method initialize instead of Advance while instantiating a new Productartifact, according to the Refactoring work wich is done in the TransitionModel. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (initialize): Added new Function Initialize so that it is possible to Initialize an Artifact without doing this in the Constructor. That is nessessary because some Artifacts need some Metadata (e.g. SourceID) befor it can be initialized. * doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml, doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/horizontalcrosssection/conf_mesh.xml: Some Refactoring work done according to the Refactoring Work wich was done in the Transitionmodel. 2009-11-30 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java, src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java, src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java: Removed needless imports. 2009-11-30 Ingo Weinzierl <ingo.weinzierl@intevation.de> * pom.xml: Updated batik dependencies to 1.7 * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Use java native DOMImplementation instead of Batik's SVGDOMImplementation, which is not present in batik 1.7 libs. 2009-11-30 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/horizontalcrosssection/conf_mesh.xml, doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added svg to output modes (MimeType image/svg+xml). * pom.xml: Added batik 1.6.1 dependencies which are used to create svg exports. * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Implemented chart export to svg. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Output mode 'svg' will call svg export of ChartExportHelper. 2009-11-30 Ingo Weinzierl <ingo.weinzierl@intevation.de> * pom.xm: Added iText 2.1.7 dependency (to create pdf's). * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Implemented chart export to pdf using iText library. The chart fills the complete page. A boolean system property "export.pdf.landscape" can be used to adjust the page orientation (portrait or landscape, default is landscape). * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Added method for exporting chart to pdf. Calls the new method of ChartExportHelper. 2009-11-27 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileInstantaneousPointArtifact), src/test/ressources/horizontalProfile_instantaneouspoint/horizontalprofile_step_*.xml: Added new stapes using the RegionFilter into the Tescase of HorizontalProfiles Instantaneous Point. * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_feed.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_feed.xml: Bugfix: Removed second dateid. horizontalcrosssection and verticalcrosssection only provide the usage of one dateid. * doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml: Added the RegionFilters into the configuration of the Products for Horizontalprofiles IntantaneousPoints. * doc/conf/queries.properties: Query to select only Ships, Cruises, Tracks which are within an Region. * src/main/java/de/intevation/gnv/transition/TransitionBase.java (extractKVP): Added Row-Number lookup for ColumnNames for Performanceimprofements. 2009-11-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Helper class to export charts. Dependencies on JFreeChart and iText are capsuled here, no further dependencies in OutputTransitions. Export methods for images and pdf already implemented. * src/main/java/de/intevation/gnv/chart/Chart.java, src/main/java/de/intevation/gnv/chart/AbstractChart.java: Outsourcing of export methods to ChartExportHelper. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Adapted current export of charts. 2009-11-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/horizontalcrosssection/conf_mesh.xml, doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added pdf as export format. 2009-11-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> * TODO: Added point in TODO regarding tick units and distance between tick units in timeseries charts. 2009-11-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Localized chart axis. Two method have been added - method to localize y-axis of charts, abstract method to localize x-axis of charts. * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Override abstract method to localize x-axis. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Call algorithm to determine the best locale regarding intersection of supported server and browser locales. This locale is used to create localized charts. 2009-11-26 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java: New method getLocales() which returns an array of locales which are supported by the server. * src/main/resources/lang/lang.conf: Config-file for supported languages. The resource bundles for localized text should be configured here. It is used to determine the best locale regarding the supported locales by server and browser. 2009-11-25 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Override method generateChart to instantiate TimeSeries charts instead of XY charts. Before these changes, timeseries charts did not have a valid date axis. 2009-11-24 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/AbstractChart.java, src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Added timegap definitions, adapted constructors. * src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Adapted creation of charts regarding changes of constructors. 2009-11-24 Tim Englich <tim.englich@intevation.de> * src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_feed.xml, src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_feed.xml, src/test/ressources/timeseries_mesh/timeseries_step_08_feed.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_feed.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_feed.xml, src/test/ressources/timeseries/timeseries_step_06_out_chart.xml: Added new Timevalues because the Data in the DWH has changed. 2009-11-24 Ingo Weinzierl <ingo.weinzierl@intevation.de> * pom.xml: Added dependencies for esri and ibm libraries required for unit tests. 2009-11-24 Tim Englich <tim.englich@intevation.de> * src/test/ressources/timeseries/timeseries_step_06_out_chart.xml: Added mime-type to get a propper output-result and not an NPE * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java (findValueTitle): Added null-value check to prevent NPEs. * src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.java (getChart), src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java (getChart), src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java (getChart), src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java (getChart): Changed Method-Signature to this one which the base method provide. Now the Methods will be used again. 2009-11-24 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java (TestCallContext): Removed Compilationerrors that were triggert by API-Changes in Module Artifact-Database. * doc/conf/queries.properties, doc/conf/products/timeseries/conf_mesh.xml: Removed Meshpoint from SQL-Query because the same value will be insert by using the depthid. depthid on layer 1 = featureid In the old configuration only Charts on Layer 1 were drawn. issue91 2009-11-23 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java: Remove chart from cache when data which is displayed has changed. 2009-11-23 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/charttemplate.xml: Added configuration file for chart themes. * src/main/java/de/intevation/gnv/chart/XMLChartTheme.java: Theme class for reading xml files which describe chart styles. It extends the StandardChartTheme class of JFreeChart which defines default values for chart parameters. It is possible to apply different xml configurations for different charts. * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Before creating a new chart, an instance of XMLChartTheme is initialized which is responsible for the chart style. NOTE: 'charttemplate.xml' is used by artifact server and has to be placed in the config directory. 2009-11-20 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Export format of charts (png, jpeg, gif) depends on mime-type. * src/main/java/de/intevation/gnv/chart/Chart.java, src/main/java/de/intevation/gnv/chart/AbstractChart.java: Renamed export method, because it doesn't export just png anymore, but jpeg or gif as well. 2009-11-20 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/test/ressources/horizontalProfile_instantaneouspoint/horizontalprofile_step_06_out_chart.xml, src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_out_chart.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_out_chart.xml, src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_out_chart.xml, src/test/ressources/timeseries_mesh/timeseries_step_08_out_chart.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_out_chart.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_out_chart.xml, src/test/ressources/verticalprofile/verticalprofile_step_06_out_chart.xml: Removed mistake in xml structure of artifact protocol. Mime-type node was called 'out' instead of 'mime-type'. 2009-11-20 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java, src/main/java/de/intevation/gnv/chart/AbstractChart.java, src/main/java/de/intevation/gnv/exports/Export.java, src/main/java/de/intevation/gnv/exports/ShapeDataCollector.java, src/main/java/de/intevation/gnv/exports/SimpleOdvDataCollector.java, src/main/java/de/intevation/gnv/exports/DefaultProfile.java, src/main/java/de/intevation/gnv/exports/DefaultExport.java, src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Removed duplicated and needless imports. 2009-11-20 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java: Added methods for caching charts. * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.java, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Changed chart generation. Charts will now be generated in a central place in TimeSeriesOutputTransition which is the parent class of other OutputTransitions. Each OutputTransition got a new method to serve its own special chart class. * TODO: Added hint for caching charts. Verticalcrosssection and orizontalcrosssection charts aren't implemented yet. NOTE: Charts can be cached. This could be useful if the user exports charts as svg, png or pdf. The caching of charts is configured via system property 'cache.chart' at the moment. 2009-11-19 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/transition/OutputTransition.java, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Changed parameter of 'out'-method of OutputTransition. Now, the OutputTransition gets the complete xml document of the request (before just the target name). The mime type of this xml ist used to distinguish between different output formats of charts (png, jpeg). 2009-11-19 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Classes for creating charts of different output transitions, inherit from AbstractXYLineChart. The subclasses should only implement special code. General configurations should be done in AbstractChart or AbstractXYLineChart. TODO: Take care of gaps between two values. 2009-11-19 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/chart/Chart.java: Interface, which declares basic method to create charts and export it in different formats. * src/main/java/de/intevation/gnv/chart/AbstractChart.java, src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Abstract chart classes which declare basic methods for chart creation and implement general methods used by subclasses. 2009-11-19 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/utils/DistanceCalculator.java: Declared a method as static, which can be used without instantiating an object of its class. 2009-11-17 Ingo Weinzierl <ingo.weinzierl@intevation.de> * pom.xml: Changed version of JFreeChart from 1.0.12 to 1.0.13 and added dependency of JCommon 1.0.15, which is used by JFreeChart. NOTE: The JFreeChart 1.0.13 jar has to be installed on your own for the time the central maven repository is broken. 2009-11-17 Ingo Weinzierl <ingo.weinzierl@intevation.de> * pom.xml: Changed version of JFreeChart from 1.0.7 to 1.0.12, which includes the template mechanism to configure the style of charts. NOTE: JFreeChart 1.0.13 is the newest release, but the maven repository does not contain a pom.xml file. Created an issue on (http://jira.codehaus.org/browse/MEV-647). 2009-11-16 Ingo Weinzierl <ingo.weinzierl@intevation.de> * bin/run.sh: Added start-script to version control. 2009-11-13 Hans Plum <hans@intevation.de> * RELEASE 0.2: Summarized activities in NEWS, Changes 2009-11-13 Hans Plum <hans@intevation.de> * ChangeLog: Unified style of ChangeLog descriptions refering to issues. 2009-11-13 Tim Englich <tim.englich@intevation.de> * doc/conf/products/timeseries/conf_timeseriespoint.xml: Moved Comment according to Instantiationerrors loading Artifact. 2009-11-13 Tim Englich <tim.englich@intevation.de> * doc/conf/log4j.properties,, doc/conf/conf.xml, doc/conf/arcsdeconnectionpool.properties, doc/conf/products/timeseries/conf_timeseriespoint.xml: Added Documentation of Configuration-Files. 2009-11-13 Tim Englich <tim.englich@intevation.de> * doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/products/horizontalcrosssection/conf_mesh.xml: Removed statistics as possible out-Variant from Configuration according to TG_0030.061 * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_out_statistics.xml, src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_out_statistics.xml, src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalCrossSectionMeshArtifact), (testVerticalCrossSectionMeshArtifact): Removed Statistics-Test on This Artifact-Test because no Statistic is required for this Producttyp. * src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/ HorizontalCrossSectionMeshOutputTransition.java (createCSV): No Statistics for this Output is required. * src/main/java/de/intevation/gnv/statistics/HorizontalCrossSectionStatistics.java: Removed becaus the Statistics for ths product is not required. 2009-11-12 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/statistics/HorizontalCrossSectionStatistics.java (calculateXOrdinateValue), src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java (calculateXOrdinateValue), src/main/java/de/intevation/gnv/statistics/VerticalProfileStatistics.java (calculateXOrdinateValue), src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java : Added the previous Row to the Method for calculating the GAP between those Rows. Also added Calculation of the Distance between two Points in HorizontalProfileStatistic and returning the Depth in VerticalProfileStatistics. Also added the Metjod clearStatistics to restet the Object if an new Calculation will started. 2009-11-12 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/TransitionBase.java (extractKVP): Translated "Keine Auswahl" to "No Selection" according to the Specification that the primary Language is english. Please note that the Values that are currently displaied are almost in german. 2009-11-12 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (writeStatistics2XML): Changed XML-Syntaxt according to the new Structure of StatisticValues. (out): Changed Call of calculateStatistics according to the new Methodsignature. * src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java, src/main/java/de/intevation/gnv/statistics/VerticalProfileStatistics.java. src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java, src/main/java/de/intevation/gnv/statistics/Statistics.java: Extended Methods calculateStatistics to put Lable-Values into the Calculation. Now for each Group of Statistics is it possible to calclulate a separat name which is simmilar to the name of the Diagramm-Series-Name. Also the Representation of the Statistics has changed so each Group will be stored in one StatisticSet * src/main/java/de/intevation/gnv/statistics/StatisticSet.java: Bean for Storing the Statistic to one Group and also storing the Name of the Statistic. 2009-11-11 Tim Englich <tim.englich@intevation.de> Issue 19: Validation of max. min value order * src/main/java/de/intevation/gnv/transition/TransitionBase.java (putInputData): Added Validation if a given maxvalue is greater than a given minvalue issue19 * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid): Added new Method for validating if a maxvalue is greater than a minvalue. issue19 2009-11-11 Tim Englich <tim.englich@intevation.de> Issue 81: Keeping input values in coordinate input fields * src/main/java/de/intevation/gnv/transition/describedata/DefaultSingleValueDescribeData.java (setValue), src/main/java/de/intevation/gnv/transition/describedata/SingleValueDescribeData.java: Added setValue-Method for setting the Value which was sent back to the Server using the feed-request. issue81 * src/main/java/de/intevation/gnv/transition/TransitionBase.java (getDescribeData): Added SingleValueDescribeData to the method for storing InputValues for Describeoutput issue81 2009-11-11 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/describedata/MinMaxDescribeData.java, src/main/java/de/intevation/gnv/transition/describedata/DefaultMinMaxDescribeData.java: Added getName and added Constants for minValue and maxValue Id to enable the storage of this Values which would be put using the feed command. * src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe): Changed the usage of the Name of the MinMaxTransition from getMinName to getName. * src/main/java/de/intevation/gnv/transition/MinMaxTransition.java (purifyResult): Changed the Constructor of MinMaxTransition according to API-Changes of DefaultMinMaxDescribeData 2009-11-11 Tim Englich <tim.englich@intevation.de> Issue 76: Improving XML config documents * doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml, doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalcrosssection/conf_mesh.xml: Removed unnecessary characters 'v' from the Documents. issue76 2009-11-10 Tim Englich <tim.englich@intevation.de> * src/main/resources/lang/artifactMessages_*.properties: Added Ressources for the AreaFilter Ids areaid and subareid 2009-11-10 Tim Englich <tim.englich@intevation.de> Issue 68: Improving ODV Export * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (TIMESERIES_ODV_PROFILE_NAMES): Sort Columns to the given order of the ODV-Specification and added the Columns DATAVALUE and PARAMETER to the output according to issue68 * doc/conf/queries.properties: Changed Column-alias in Query for HorizontalProfile ODV-Exports in Meshes from PARAMETERID to PARAMETER to be able to use in only on ODV-Export-Profile 2009-11-10 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalCrossSectionMeshArtifact): Added the ODV-Export to the Unit-Testcase for VerticalCrossSection-Mesh. Some Refactoring Work done. * doc/conf/products/verticalcrosssection/conf_mesh.xml: Added QueryID for ODV-Exports to the Configuration of an Mesh-VerticalCrossSection-Artifacts * doc/conf/queries.properties: Added Query for VerticalCrossSection ODV-Exports in Meshes. * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_feed.xml: Changed Datevalue, because the old value was out of range to the Data. * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_out_odv.xml: Added Out-Request for ODV-Export to the JUnitTest Configuration for VerticalCrossSection Mesh. 2009-11-10 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalCrossSectionMeshArtifact): Added the ODV-Export to the Unit-Testcase for HorizontalCrossSection-Mesh. Some Refactoring Work done. * doc/conf/queries.properties: Added Query for HorizontalCrossSection ODV-Exports in Meshes. * doc/conf/products/horizontalcrosssection/conf_mesh.xml: Added QueryID for ODV-Exports to the Configuration of an Mesh-HorizontalCrossSection-Artifacts * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_feed.xml: Changed Datevalue, because the old value was out of range to the Data. * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_out_odv.xml: Added Out-Request for ODV-Export to the JUnitTest Configuration for HorizontalCrossSection Mesh. 2009-11-10 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileInstantaneousPointArtifact): Added the ODV-Export to the Unit-Testcase for HorizontalProfile-InstantaneousPoint. Some Refactoring Work done. * src/test/ressources/horizontalProfile_instantaneouspoint/horizontalprofile_step_06_out_odv.xml: Added Out-Request for ODV-Export to the JUnitTest Configuration for HorizontalProfiles InstantaneousPoint. * doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml: Added QueryID for ODV-Exports to the Configuration of an InstantaneousPoint-HorizontalProfile-Artifacts * doc/conf/queries.properties: Added Query for HorizontalProfile ODV-Exports in InstantaneousPoint 2009-11-10 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalProfileInstantaneousPointArtifact): Added the ODV-Export to the Unit-Testcase for VerticalProfile-InstantaneousPoint. Some Refactoring Work done. * doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added QueryID for ODV-Exports to the Configuration of an InstantaneousPoint-VerticalProfile-Artifacts * doc/conf/queries.properties: Added Query for VerticalProfile ODV-Exports in InstantaneousPoint * src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_out_odv.xml: Added Out-Request for ODV-Export to the JUnitTest Configuration for VerticalProfiles InstantaneousPoint. 2009-11-10 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileMeshPointArtifact): Added the ODV-Export to the Unit-Testcase for HorizontalProfile-Mesh. Some Refactoring Work done. * doc/conf/products/horizontalprofile/conf_mesh.xml: Added QueryID for ODV-Exports to the Configuration of an Mesh-HorizontalProfile-Artifacts * doc/conf/queries.properties: Added Query for HorizontalProfile ODV-Exports in Meshes * src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_out_odv.xml: Added Out-Request for ODV-Export to the JUnitTest Configuration for HorizontalProfiles Mesh. * src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_02_feed.xml: BugFix: Changed missspelled Input-Name 2009-11-09 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (TIMESERIES_ODV_PROFILE_NAMES): Changed the Order of Columnlookup for ODV-Exports and added column "Depth" to the Export * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testTimeSeriesMeshArtifact): Added the ODV-Export to the Unit-Testcase for TimeSeries-Mesh. Some Refactoring Work done. * doc/conf/queries.properties: Added Query for VerticalProfile ODV-Exports in Meshes * doc/conf/products/verticalprofile/conf_mesh.xml: Added QueryID for ODV-Exports to the Configuration of an Mesh-VerticalProfile-Artifacts * src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_out_odv.xml, src/test/ressources/verticalprofile/verticalprofile_step_06_out_odv.xml: Added Out-Request for ODV-Export to the JUnitTest Configuration for VerticalProfiles. 2009-11-09 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testTimeSeriesMeshArtifact): Added the ODV-Export to the Unit-Testcase for TimeSeries-Mesh. Some Refactoring Work done. * src/test/ressources/timeseries_mesh/timeseries_step_08_out_odv.xml: Added Out-request for ODV-Export to the JUnitTest Configuration for TimeSeries Mesh. * doc/conf/products/timeseries/conf_mesh.xml: Added QueryID for ODV-Exports to the Configuration of an Mesh-TimeSeries-Artifacts * doc/conf/queries.properties: Added Query for TimeSeries ODV-Exports in Meshes 2009-11-09 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/exports/Export.java src/main/java/de/intevation/gnv/exports/DefaultProfile.java src/main/java/de/intevation/gnv/exports/DefaultExport.java: Added the possibility to print column labels in the first line of an export. * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Adjusted instantiation of the DefaultExport object and added column labels for odv export. 2009-11-09 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/exports/SimpleOdvDataCollector.java: Implemented a DataCollector for Odv exports. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: OEV-export uses a SimpleOdvDataCollector to collect export data. 2009-11-09 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/exports/ShapeDataCollector.java, src/main/java/de/intevation/gnv/exports/HorizontalProfileDataCollector.java: Renamed HorizontalProfileDataCollector into ShapeDataCollector, because it will be used by other transitions as well. * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java: Adjusted class name of DataCollector after renaming. 2009-11-09 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/exports/HorizontalProfileDataCollector.java: Special DataCollector for fetching data used for horizontal profile exports. * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java: Uses the an exporter for csv export. 2009-11-09 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/exports/Export.java, src/main/java/de/intevation/gnv/exports/DefaultDataCollector.java: Implemented a DataCollector to collect all data used to create exports. DefaultCollector fetches data with help of its headers. For special exports, where a header returns more than one value, special DataCollectors needs to be implemented (overwritung the 'getData' method). * src/main/java/de/intevation/gnv/exports/DefaultProfile.java, src/main/java/de/intevation/gnv/exports/DefaultExport.java: Export now uses a DataCollector to get the data. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Adjusted exports of csv export. 2009-11-09 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Added SQLStatemenet for ODV-Data for VerticalProfiles on TimeSeriesPoints. * doc/conf/products/verticalprofile/conf_timeseriespoint.xml: Added QueryID for ODV-Data-Query 2009-11-09 Tim Englich <tim.englich@intevation.de> * src/test/ressources/timeseries/timeseries_step_06_out_*.xml: Added the missing out-Modes to the Testcase and rename it to the common used way in this TestCases. * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testTimeSeriesArtifact): Added the ODV-Export to the Unit-Testcase. Some Refactoring Work done. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out): The Method for generating ODV-Export now reads its Data from the special Method which delivers the adapted Data. * src/main/java/de/intevation/gnv/transition/TransitionBase.java (generateFilterValuesFromInputData): Extracted the Generation of the FilterValues for the geo-backend to use it in several methods. * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java (getODVResult): Added Method for getting the rquired Data for ODV-Exports * doc/conf/products/timeseries/conf_timeseriespoint.xml: Added separat QueryID Lookup for ODV-Data-Queryies * doc/conf/queries.properties: DB-Queries for ODV-Support TimeSeries on TimeSeriesPoints added. 2009-11-06 Ingo Weinzierl <ingo.weinzierl@intevation.de> * src/main/java/de/intevation/gnv/exports, src/main/java/de/intevation/gnv/exports/Export.java, src/main/java/de/intevation/gnv/exports/DefaultProfile.java, src/main/java/de/intevation/gnv/exports/DefaultExport.java: Implemented an Exporter for odv and csv exports. Each exports just needs a Profile, which describes the output. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Added an exemplary export for CSV and ODV formats of TimeSeriesOutputTransition. TODO: ODV exporter exports the same data as CSV exporter does. This needs to be adapted. 2009-11-06 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java: Added and moved Workflowsteps because of changes in the Workflow of these Artifacts. Now the Region-Filter is added to the Workflow an can be tested using this UnitTestCases. * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_*.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_*.xml, src/test/ressources/timeseries/timeseries_step_*.xml, src/test/ressources/timeseries_mesh/timeseries_step_*.xml, src/test/ressources/verticalprofile/verticalprofile_step_*.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_*.xml: Added and moved Files because of changes in the Workflow of these Artifacts. Now the Region-Filter is added to the Workflow an can be tested using the UnitTestCases. 2009-11-06 Ingo Weinzierl <ingo.weinzierl@intevation.de> * doc/conf/products/horizontalcrosssection/conf_mesh.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added odv as output format. 2009-11-06 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/ChartFactory.java (calculateMaxGap): Bugfix Gap-Calculation moved maxGap into negative Valies because of overflow of Long-Variable. 2009-11-05 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Query to select only those TimeSeriesPoints which are within an Region * doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml: Added the RegionFilters into the configuration of the Products for TimeSeriesPoints. 2009-11-05 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Added new Queries to fill the Lists for the Regionfilters and one Query to select only those Meshes which are within an Region. * doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalcrosssection/conf_mesh.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/horizontalcrosssection/conf_mesh.xml: Added the RegionFilters into the configuration of the Products for Meshes. 2009-11-05 Tim Englich <tim.englich@intevation.de> * src/test/ressources/*_describe.xml: Added the DescribeRequestBodies to each TestCaseData. * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java: Added the DescribeRequestBody to Describe-Calls in the Test * src/main/java/de/intevation/gnv/transition/TransitionBase.java: Added the possibility to switch to an alternative Transition if no value was choosen. * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid): Added that the Inputvalue is valid if it fullfills the confitions of "no value choosen" (n/n) * src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java (calculateXOrdinateValue): Added Dummyvalue for X-OrdinateValue src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java (describe), src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java (describe), src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java (describe), src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java (describe), src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java (describe), src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (describe), src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (createDescibeOutput): Added the possibility to exclude the UI from the DescribeRequest. 2009-11-03 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/ChartFactory.java (getTimeGapValue): Integrated special case for TimeGaps in Meshes. There is no Gap defined in Meshes so we have to use Long.MAXVALE to define a Gap for a Mesh which value canno be reached. 2009-11-02 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java (createCSV): Code Cleanup: Removed obsoled TODO Flag * src/main/java/de/intevation/gnv/transition/TransitionBase.java (setSelection): Changed the Value of the min and maxvalue of the Request to the Value which is unsed to name the Inputfields in the DescribeOutput. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java, src/main/java/de/intevation/gnv/transition/Transition.java, src/main/java/de/intevation/gnv/transition/SingleInputTransition.java, src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java, src/main/java/de/intevation/gnv/transition/MinMaxTransition.java, src/main/java/de/intevation/gnv/transition/DefaultTransition.java, src/main/java/de/intevation/gnv/transition/CoordinateSelectionTransition.java, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (advance), CodeCleanup: Removed needless Method validate from Transition, because it had always returned true 2009-10-30 Tim Englich <tim.englich@intevation.de> * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_*.xml: Added the Testdata for the Unittest for HorizontalCrossSectionMeshArtifacts. * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalCrossSectionMeshArtifact): Added the UnitTest-Case for HorizontalCrossSectionMeshArtifacts 2009-10-30 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Added the Query for selecting the Data for generating Outputs of HorizontalCrossSectionMeshOutputTransition * doc/conf/products/horizontalcrosssection/conf_mesh.xml: Added the configuration for the HorizontalCrossSectionMeshOutputTransition * src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java: Added the OutputTransition for generating /HorizontalCrossSections. * src/main/java/de/intevation/gnv/statistics/HorizontalCrossSectionStatistics.java: The Class for generating the Statistics to HorizontalCrossSections * src/main/java/de/intevation/gnv/chart/HorizontalCrossSectionChartFactory.java: The Class Stub for generating HorizontalCrossSections Charts. 2009-10-29 Tim Englich <tim.englich@intevation.de> Issue 45: Defining gaps for spatial and temporal gaps * doc/conf/products/timeseries/timegap_definition.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml: Added the Configuration for TimeGaps to the TimeSeries-Configurations. issue45 * doc/conf/queries.properties: Added TimeGapIp to the Queries for the Resultdata of TimeSeriesArtifacts. issue45 * src/main/java/de/intevation/gnv/timeseries/gap/DefaultTimeGap.java, src/main/java/de/intevation/gnv/timeseries/gap/TimeGap.java, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (setup): src/main/java/de/intevation/gnv/chart/ChartFactory.java (calculateMaxGap): Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issue45 * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java (readConfiguration): Moved Method from GNVArtifactBase to make it assesible for more Objects. issue45 2009-10-28 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/profile/horizontalcrosssection/ HorizontalCrossSectionMeshArtifact.java (HorizontalCrossSectionMeshArtifact), doc/conf/queries.properties, doc/conf/conf.xml, doc/conf/products/horizontalcrosssection/conf_mesh.xml, src/main/resources/lang/artifactMessages* .properties: Added Workflow for determining the Query-Parameters for Horizontal cross-sections. 2009-10-28 Tim Englich <tim.englich@intevation.de> * doc/conf/conf.xml: Added Configuration for two new FIS. Current Meter and Ice Station Reports * src/main/resources/lang/artifactMessages*.properties: Added Ressources for two new FIS. Current Meter and Ice Station Reports 2009-10-27 Tim Englich <tim.englich@intevation.de> * doc/conf/conf.xml: Added Configuration for two new FIS. Sea State and SEACAT * src/main/resources/lang/artifactMessages*.properties: Added Ressources for two new FIS. Sea State and SEACAT 2009-10-27 Tim Englich <tim.englich@intevation.de> Issue 61: Vertical profile (Meshes): Selection of minimal and maximal depths zones * src/main/resources/lang/artifactMessages*.properties: Added Ressources for the minimal and maximal Layer to use in VerticalProfiles of Meshes issue61 * doc/conf/products/verticalprofile/conf_mesh.xml: Added two new Transitions for selecting the min and max-Layer to use. issue61 * doc/conf/queries.properties: Added Queries for Selecting the Depth for selecting the minimum and the maximum Layer to use Drawing the Chart. issue61 * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalProfileMeshArtifact): Integrated two further Transitions-Steps according to changes in Workflow of VerticalProfiles in Meshes. issue61 * src/test/ressources/verticalprofile_mesh/verticalprofile_step_*.xml: New Testdata generated according to changes in Workflow of VerticalProfiles in Meshes. issue61 2009-10-26 Tim Englich <tim.englich@intevation.de> Issue 31: TG_0020.018: Input of manual depth zones * src/main/resources/lang/artifactMessages_de_DE.properties: Added Ressources for the minimal and maximal value of the depth * src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_out_statistics.xml (renamed), src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_out_csv.xml (renamed), src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_out_chart.xml(renamed), src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_feed.xml, src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_04_advance.xml, src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_03_advance.xml, src/test/ressources/verticalprofile/verticalprofile_step_05_out_statistics.xml(renamed), src/test/ressources/verticalprofile/verticalprofile_step_05_out_csv.xml(renamed), src/test/ressources/verticalprofile/verticalprofile_step_05_out_chart.xml(renamed), src/test/ressources/verticalprofile/verticalprofile_step_05_feed.xml, src/test/ressources/verticalprofile/verticalprofile_step_04_advance.xml, src/test/ressources/verticalprofile/verticalprofile_step_03_advance.xml, src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java: Edited the RestCases for VerticalProfiles according to the requirement that the user should be able to enter the minimal and maximal Value of the depth that should be show n in the charts. issue31 * doc/conf/queries.properties, doc/conf/products/verticalprofile/conf_timeseriespoint.xml, doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Adding required Configuration-Parts to get the possible to enter the minmum and maximum depth value that should be shown in the charts. issue31 2009-10-23 Tim Englich <tim.englich@intevation.de> * src/test/ressources/timeseries_mesh/timeseries_step_07_feed.xml: The Timeperiod of the Modeldata has changed. so it was nessessarry to change the Unittest to get propper Results 2009-10-23 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Some Queryimproofments done. Inner-Selects has been removed where it was possible. 2009-10-23 Tim Englich <tim.englich@intevation.de> Issue 3: Artifact: Storing the internal state instead of results * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java (describe), src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java (describe), src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java (describe), src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java (describe): Use super.identifier as uuid. issue3 2009-10-23 Tim Englich <tim.englich@intevation.de> * src/test/ressources/verticalprofile/verticalprofile_step_04_feed.xml, src/test/ressources/verticalprofile/verticalprofile_step_03_advance.xml, src/test/ressources/verticalprofile/verticalprofile_step_04_out_*.xml, src/test/ressources/timeseries_mesh/timeseries_step_07_out_*.xml, src/test/ressources/horizontalProfile_instantaneouspoint/horizontalprofile_step_06_out_*.xml: Changed the uuid because the new Storage shows that there were different ones in one Testcase * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Put the UUID into the Resultlookup * src/main/java/de/intevation/gnv/transition/TransitionBase.java: Removed the Storage of Results in the Object and put them into the ehcache * src/main/java/de/intevation/gnv/transition/Transition.java: Removed some needless Methods that were not longer Required * src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java (advance), src/main/java/de/intevation/gnv/transition/SingleInputTransition.java (purifyResult), src/main/java/de/intevation/gnv/transition/MinMaxTransition.java (purifyResult), src/main/java/de/intevation/gnv/transition/CoordinateSelectionTransition.java (extractKVP), src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java (describe), src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java (describe), src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java (describe), src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java (describe), src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (uuid): Lookup the Results from ehcache and centralize the Lookup to one methode. 2009-10-23 Tim Englich <tim.englich@intevation.de> * doc/conf/queries.properties: Optimized Query horizontalprofile_instantaneouspoint_cruise because it is not warranted that the name of an cruise is set. issue60 2009-10-22 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/CoordinateSelectionTransition.java (extractKVP): Added the possiblility to fetch an further Column with the alias Value to display it together with the Coordinatevalues * doc/conf/queries.properties: Added the Coordinates to an Measuementpoint to display it. * doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Change TransitionType for displaying Coordinatevalues aditionaly to the Time of an Measurement 2009-10-22 Tim Englich <tim.englich@intevation.de> Issue 40: Instantiation of artifacts slow * doc/conf/conf.xml, doc/conf/products/*/conf_*.xml: Split the Configuration of the ArtifactDatabase in several Configurationfiles. For Each Product-Artifact one single File to make it easier to administer the System. * src/main/java/de/intevation/gnv/transition/TransitionFactory.java (createTransition), src/main/java/de/intevation/gnv/transition/TransitionBase.java (setup), src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java (setup), src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (setup): Lookup of XML-Attributes was changed from XPath-lookup to direct Access on the fetched Element to speed up the Artifactinstantiation issue40 * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (getConfigurationFragment): Read Configuration information for the Productartifact from a separat folder if an xlink:href Attribute exists in tne Configurationnode of the Artifact. This was inserted to speed up the Artifactinstantiation and to split the Configuration in several Configurationfiles that where smallaer issue40 Also the lookup of XML-Attributes was changed from XPath-lookup to direct Access on the fetched Element 2009-10-21 Tim Englich <tim.englich@intevation.de> Issue 59: Added relative pathnames to central config document * doc/conf/conf.xml: Added relative locations for further required configurationfiles . issue59 * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java (createArtifactContext): Added the prossibility to configure the location of required configurationfiles not absolute. issue59 2009-10-21 Tim Englich <tim.englich@intevation.de> * doc/conf/arcsdeconnectionpool.properties: Added separat ConnectionPoolProperties to this Project. * doc/conf/*: Moved ConfigurationFiles from src/test/ressources to doc/conf * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (configurationDir): Changed Configuration Folder to doc/conf 2009-10-20 Tim Englich <tim.englich@intevation.de> * doc/conf: Added Folder for the Configuration of the gnv-artifacts. 2009-10-20 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalCrossSectionMeshArtifact): Added Testcase for testing the Workflow for generating VerticalCrossSections. * src/test/ressources/queries.properties: Added the required Queries for providing VerticalCrossSection using Meshes. * src/test/ressources/conf.xml: Added the Configuration for an VerticalCrossSection using Meshes. * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_*.xml: Adding Requestdocuments for testing the Workflow of Generating an VerticalCrossSection. * src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.java : Added an OutputTransition for renedering the Data of VerticalCrossSections. * src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java: Added Class for the Representation of VerticalCrossSection Artifacts into the Project. * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChartFactory.java (createProfileChart): Put Class-Sub for the Chart generation of VerticalCrossSections into the Project. 2009-10-20 Tim Englich <tim.englich@intevation.de> Issue 54: Errors in diagramms for time series in IMIS * src/test/ressources/queries.properties: Bugfix for TIMESERIESPOINT the first and the last value weren't used in the Query which was integrated from the Prototyp to the Project ussue54 2009-10-19 Tim Englich <tim.englich@intevation.de> Issue 55: Harmoization of coordinate values for input fields * src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe): Added uniform Visualization of Single Input-Elements to MinMax-Elements. issue55 2009-10-19 Tim Englich <tim.englich@intevation.de> Issue 56: Error - Behavior of a form without constraint values * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (feed): Catch Exception that the Calling Program could not put no InputData into the feed Request.issue56 2009-10-19 Tim Englich <tim.englich@intevation.de> Issue 19: Validation of date and double values * src/main/java/de/intevation/gnv/chart/ChartFactory.java (createDataset), src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java (createDataset): Adding empty Series into Chart to prevent NPE issue 19 2009-10-19 Tim Englich <tim.englich@intevation.de> Issue 35: Wrong date values force the panel to start from beginning * src/main/java/de/intevation/gnv/transition/TransitionBase.java (putInputData): Correct misspelled Exception-Message as an Result of fixing issue35 2009-10-19 Tim Englich <tim.englich@intevation.de> Issue 50: Adding the layer number for depth information * src/test/ressources/queries.properties: Changed the Value of Layer and Depth range visualization of Meshes according to issue50 2009-10-19 Tim Englich <tim.englich@intevation.de> Issue 47: Translation of strings for time series * src/main/resources/lang/artifactMessages*.properties: Changed the displayed-Values as defined in issue47 * src/test/ressources/conf.xml: Changed the Key for the DataName of MIN-Max-Transitions to put a propper Name into the UI-Describeoutput issue47 * src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe): Added the X-Forms-Group-Element to surround the MinMaxDescibeObject-output to Give the Group of Objects a propper Name issue47 * src/main/java/de/intevation/gnv/transition/MinMaxTransition.java (purifyResult): Added the name of the Data to the MinMaxDescibeObject to put it into the UI-output 2009-10-16 Tim Englich <tim.englich@intevation.de> Issue 53: Changing of strings in parameter panel * src/test/ressources/timeseries_mesh/timeseries_step_05_feed.xml: src/test/ressources/conf.xml: src/main/resources/lang/artifactMessages*.properties: Conformation to the tanslation of the MeshObjects issue53 2009-10-16 Tim Englich <tim.englich@intevation.de> Issue 49: Integration of FIS to Meshes * src/test/ressources/queries.properties: There are different FIS in the Relation Median.Mesh so it is nessessary to sepcify which FIS should be selected by using the sourceid issue49 * src/test/ressources/conf.xml: Adding two further FIS to the Configuration which are based on Meshes. Added the Sourceid to the ModelData issue49 * src/main/resources/lang/artifactMessages*.properties: Adding the Names of the two new FIS to the Propertiesfiles issue49 2009-10-16 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java (createXYSeries): Adding 5% bigger Valuearea to the Chart according to GT0030.011 2009-10-16 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java (VerticalProfileOutputTransition): Changed Domainlable for Verticalprofiles according to the Specification GT_0030.005 * src/test/java/de/intevation/gnv/artifacts/util/DistanceCalculatorTestCase.java (testDistanceCalculator): Added Testcase for the DistanceCalculation * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java (createXYSeries): * src/main/java/de/intevation/gnv/utils/DistanceCalculator.java (calculateDistance): Added Calculation of the Distance in the unit km for Geodetic-Coordinates according to the Specification GT_0030.005 * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java (HorizontalProfileOutputTransition): Changed Domainlable for Horizintalprofiles according to the Specification GT_0030.005 2009-10-16 Tim Englich <tim.englich@intevation.de> * src/test/ressources/queries.properties: The Levelnumber of Meshes will also be visualized in the choose of depth GT_0020.0020 2009-10-16 Tim Englich <tim.englich@intevation.de> * src/test/ressources/conf.xml: Added Coordinate-Values to Title of the TimeseriesDiagramm for Meshes 2009-10-16 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java (putInputData): Bugfix ChartValues were not Recalculated after feed was called second Time. 2009-10-16 Tim Englich <tim.englich@intevation.de> * src/test/ressources/conf.xml: Bugfix in MinMaxTransition the Maxvalue was not the correct Value. 2009-10-16 Tim Englich <tim.englich@intevation.de> Issue 38: Horizontal profiles: Visualization of distances in km * src/main/java/de/intevation/gnv/transition/CoordinateSelectionTransition.java (convert2DisplayCoordinate): Added Transformation from WKT-Coordinate Reperesentation to BSH-Coordinate Representation. issue38 2009-10-15 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java, src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java, src/test/ressources/queries.properties, src/test/ressources/conf.xml: Added missing Class Description Values to the Horizontal Profile Charts 2009-10-15 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (getFisName): Added Method for lookup FIS Names * src/main/resources/lang/artifactMessages*.properties: Added further Key-Value-Pairs for FIS * src/test/ressources/conf.xml: Changed Configuratioon to get the ID of an FIS to the Chartgeneration 2009-10-15 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileMeshPointArtifact): Activate Tests for CSV and Statistics on HorizontalProfiles * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java (createCSV), src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (createCSV): Integrated special CSV-Export for HorizontalProfiles 2009-10-14 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java (createXYSeries): Load WKT from ResultSet and calculate Distance to last point. * src/test/ressources/queries.properties: Switch Chart-Queries to Spatial-Queries. 2009-10-13 Tim Englich <tim.englich@intevation.de> Issue 33: Improved logging for time-interval queries * src/test/ressources/queries.properties, src/test/ressources/conf.xml: Added Parameter-Usage in Time-Interval-Query ISSUE-33 2009-10-13 Tim Englich <tim.englich@intevation.de> * src/test/ressources/verticalprofile_mesh/verticalprofile_step_*_feed.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_*_feed.xml: Switched to Szenario where it is possible to select Data using the Coordinate. * src/test/ressources/conf.xml, src/test/ressources/queries.properties: Switched to SFS-Conformant-Queries in HorzintalProfile- and VerticalProfile-Mesh 2009-10-13 Tim Englich <tim.englich@intevation.de> * src/main/resources/lang/artifactMessages_*.properties: Switched to better Description of an Coordinate-Input-Field * src/test/ressources/timeseries_mesh/timeseries_*_feed.xml: Switched to Szenario where it is possible to select Data using the Coordinate. * src/test/ressources/queries.properties, src/test/ressources/conf.xml: Switched to SFS-Conformant-Queries in Timeseries-Mesh * pom.xml: Added dependency to JTS 1.9 * src/main/java/de/intevation/gnv/utils/exception/ValidationException.java (ValidationException), src/main/java/de/intevation/gnv/utils/InputValidator.java (getPointValue), src/main/java/de/intevation/gnv/transition/TransitionBase.java (prepareInputData4RegionDBQuery): Added the Support for specialized Handling of InputValues of type Coordinate. * src/main/java/de/intevation/gnv/transition/CoordinateSelectionTransition.java: Added Transition for the Support of Coordinateinput handling. 2009-10-12 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Closed small file descriptor leak. 2009-10-09 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/**/*.java Edited: Code Formatting and Cleanup. 2009-10-09 Tim Englich <tim.englich@intevation.de> * src/test/ressources/queries.properties Edited: Add Parameters to the Queries to select only the Dates where the Parameters has been measured. * src/test/ressources/conf.xml Edited: Set that the ParameterIds should be used in the Query of the Dates. 2009-10-07 Sascha L. Teichmann <sascha.teichmann@intevation.de> RELEASE 0.1 * Changes, NEWS: Summarized changes. 2009-10-06 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java (HorizontalProfileOutputTransition) Edited : Switch Lable-Value for Domain-Axis. * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java (getRessource) Edited: Added missing Import * src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java (advance) Edited: Added i18n Support * src/main/resources/lang/artifactMessages*.properties Edited: Added some missing RessourceValues 2009-10-06 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_04_out_csv.xml, src/test/ressources/conf.xml, src/test/ressources/timeseries_mesh/timeseries_step_07_out_csv.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_06_out_csv.xml, src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_08_out_csv.xml, src/test/ressources/verticalprofile/verticalprofile_step_04_out_csv.xml: s@test/plain@text/plain@g to correct MIME type of CSV export 2009-10-06 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/artifacts/ressource/*.properties: Deleted. * src/main/resources/lang/*.properties: Re-inserted here. Maven now includes them in the jar package. * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java: Make code more robust. TODO: We need a better implementation here. * Changelog -> ChangeLog: To make eclipse happy. Unified changelog style. * pom.xml: xmllint-ed and set encoding of filtered resources to UTF-8 2009-10-06 Tim Englich <tim.englich@intevation.de> * src/test/ressources/queries.properties Edited: Bugfix in Query for getting Data for the Output. Now the Values will be sorted Correcly. Timevalue has been removed from the Query because it is not a Parameter which could be choosen from the User. Also dummies for XCOORD-Value and YCOORD-Value integrated so that is now Possible to visualize the Profile gnv/issue21 2009-10-05 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/artifacts/ressource/artifactMessages*.properties Edited: Added further Ressourec Values. * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalProfileInstantaneousPointArtifact) Edited: Changed ArtifactName to real FIS. * src/test/ressources/timeseries_mesh/timeseries_step_01_feed.xml Edited: Changed Product-Name from timeSeriesMesh to timeSeries to provide a General-Naming-Structure * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (setup) Edited, src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java Edited, src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java Edited: Added Configurationsupport for the Labeling Data. Now it is possible do define the value-names in the Configurationfile. * src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_03_feed.xml Edited, src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_02_feed.xml Edited, src/test/ressources/queries.properties Edited: Changed the Queries for the VerticalProfileInstantaneusPoint to the FIS-Query Mode. This Mode was send by Mr. Schulz-Ohlberg. * src/test/ressources/conf.xml: Changed the Workflow for the VerticalProfileInstantaneusPoint to the FIS-Query Mode. This Mode was send by Mr. Schulz-Ohlberg. Also Added the support for value-names to the Configuration of VerticalProfileInstantaneusPoint. 2009-10-05 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/artifacts/ressource/artifactMessages_en.properties Renamed: Renamed from artifactMessages_en_EN.properties to artifactMessages_en.properties to get a propper support for PreferedLocale * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java (getRessource) Edited, * src/test/java/de/intevation/gnv/artifacts/ressource/RessourceFactoryTestCase.java (setUp) Edited, * src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe) Edited, * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (createSelectBox) Edited: Changed Method Signature from Locale to PreferedLocale[] to put all Useable Languages to the RessourceFactory 2009-10-02 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/ressource/RessourceFactoryTestCase.java Added: TestCase for Testing the RessourceFactory * src/main/java/de/intevation/gnv/artifacts/ressource/artifactMessages*.properties Added, src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java Added: Added Factory and Propertiesfiles for getting the localized Values * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Edited, src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java Edited, src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited, src/main/java/de/intevation/gnv/transition/Transition.java Edited, src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java Edited, src/main/java/de/intevation/gnv/transition/OutputTransition.java Edited, src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Edited, src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java Edited, src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java Edited, src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Edited, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: LanguageSupport Integrated * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (createCallContext) Edited: Extracted Method and Put CallMeta with Language German to the CallContext. Otherwise TestCase will produce NPEs. * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java Edited: Added Real CallMeta to the Method for usage in Artifacts. Otherwise TestCase will produce NPEs. * src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_02_feed.xml Edited, src/test/ressources/timeseries_mesh/timeseries_step_02_feed.xml Edited, src/test/ressources/verticalprofile_mesh/verticalprofile_step_02_feed.xml Edited, src/test/ressources/conf.xml Edited: Changed som Identifiers for Localisation. 2009-10-02 Tim Englich <tim.englich@intevation.de> * src/test/ressources/conf.xml Edited: Added the Configuration of the Horizontal-Profile.Mesh. Also Edited the Workflowq for HorizontalProfile-Instantaneouspoint and Put three n ew FIS into the Configuration which represents HorizontalProfile-Instantaneouspoint. * src/test/ressources/horizontalProfile_instantaneouspoint/*.xml Edited, src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileInstantaneousPointArtifact) Edited: Edited the Workflowlogic given by new Specification of the BSH. * src/test/ressources/horizontalProfile_mesh/*.xml Added: The Request for do an Workflow for an HorizontalProfile-Mesh * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileMeshPointArtifact) Edited: Added TestCase for HorizontalProfiles of Type Mesh. * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java (getMeta) Edited: Added new Method which is defined in the implemented Interface. * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid) Edited: Added the Validation of InputValues from Type AttributeName which should represent an QueryValue of Type String which must not put into "'". * src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java Added: Transition to provide the possibility of choosing the axis of an Grid that should be used. * src/main/java/de/intevation/gnv/transition/TransitionBase.java (dataMultiSelect) Edited: Changed from private to protected so that this mMeber could be accessed by within extending Classes. * src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileMeshArtifact.java Added: Class for the Representation of Horizontal Profiles for the Type Mesh. * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java (HorizontalProfileChartFactory) Edited: Changed PlotOrientation so that the Profile is displayed correctly. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (advance) Edited: Added Log-Message for better Workflowanalyzis. 2009-10-01 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/utils/ArtifactFactoryUtilities.java, src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java, src/main/java/de/intevation/gnv/transition/MinMaxTransition.java, src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java: Removed needless imports. * src/main/java/de/intevation/gnv/utils/InputValidator.java: Import org.apache.commons.validator.GenericValidator instead of absolute usage in methods. 2009-09-30 Tim Englich <tim.englich@intevation.de> * src/test/ressources/queries.properties Edited: Added the Queries for HorizontalProfiles of InstantaneousPoints. * src/test/ressources/conf.xml Edited: Added the Configuration for HorizontalProfilArtifact for InstantaneousPoints * src/test/ressources/horizontalProfile_instantaneouspoint/*.xml Added: Added XML-Requests for the TestCase of HorizontalProfiles of InstantaneousPoints. * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileInstantaneousPointArtifact) Edited: Added TestCase for HorizontalProfiles of InstantaneousPoints. 2009-09-30 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid) Edited: Added the Validation for Double-Values. * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java (createChart) Edited: The Name of the Method for generaing Charts has changed. * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java Added: New outputTransition for HorizontalProfiles * src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java Added: Class which calculates the Statistics for Horizontal Profiles. * src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileInstantaneousPointArtifact.java Added, * src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java Added: Classes which represents HorizontalProfileArtifacts * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java (plotOrientation) Edited: Added Member for the representation of the Plotorientation to overwrite it in extende Classes Rename Method for generatim the Charts in a common Name. * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java Added: Class for drawing Horzontal Profiles 2009-09-30 Sascha L. Teichmann <sascha.teichmann@intevation.de> * src/test/ressources/conf.xml: s@test/xml@text/xml@g 2009-09-29 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (doNextStep) Edited: Add Responsevalidation for feed-Requests. * pom.xml Edited: Add required Library ORO to the Dependencies which is required by Commons-Validator to do matchRegexp Requests. * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid) Edited: Add a Validator for the type Point * src/test/ressources/conf.xml Edited: Changed mesh_coordinate from type Integer to type Point 2009-09-29 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java (findValueTitle): Key of KeyValueDescribeData is a String. So it is not nessessary to parse the id into an Integer Value. Also some NP-Access removed. 2009-09-29 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited: Some Coderedundances refactored. 2009-09-29 Tim Englich <tim.englich@intevation.de> * src/test/ressources/queries.properties Edited: Bug fixed: Mesh TimeSeries will now Handle Charts with multiple Depth-Values properly. 2009-09-29 Tim Englich <tim.englich@intevation.de> * src/test/ressources/timeseries_mesh/*.xml Added : TestCaseRequests for Timeseries FIS Mesh * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testTimeSeriesMeshArtifact) Edited: Add Testcase for Timeseries Mesh 2009-09-29 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (check4ExceptionReport) edited: ExceptionTest for Responsdocuments added. UnitTest will now fail if the Artifact delivers an ExceptionReport using the advance Request. 2009-09-29 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalProfileMeshArtifact) Edited: Added TestCase for Vertical Profiles for Mesh * src/test/ressources/verticalprofile_mesh/*.xml Added: TestCaseRequests for VerticalProfile FIS Mesh 2009-09-29 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid) Edited: Bugfix: Remove leading- and trailingwhitspaces from Date- and Integervalues 2009-09-29 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalProfileArtifact): (testVerticalProfileInstantaneousPointArtifact) Edited: Added Testcases for VerticalProfile and VerticalProfile Instantaneouspoint * src/test/ressources/verticalprofile_instantaneouspoint/*.xml Added: TestCaseRequests for VerticalProfile Instantaneouspoint * src/test/ressources/verticalprofile/*.xml Added: TestCaseRequests for VerticalProfile FIS Marnet 2009-09-29 Tim Englich <tim.englich@intevation.de> * src/test/ressources/queries.properties Edited: Remove to_date from TimeSeries-Quueries becaus of Changes in the conf.xml-File * src/test/ressources/conf.xml Edited: Correct Types for min- and max-Values from Integer to Date * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testTimeSeriesArtifact) Edited: Add CallContext to the Tests. * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java Add: A CallContext used only in Junit-Tests 2009-09-29 Tim Englich <tim.englich@intevation.de> * pom.xml Edited: Added the dependency to Apache-Commons-Validator Version 1.3.1 which is used for the InputValoue-validation. * src/main/java/de/intevation/gnv/utils/InputValidator.java Added : An InputValidator for Validating InputValues. At this Moment only Integer, String and Date is supported. * src/main/java/de/intevation/gnv/transition/TransitionBase.java (putInputData) Edited: Add the InputValidator to validate the incomming Values from the Clients. 2009-09-28 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/ChartFactory.java (createTimeSeries) Edited: Performanceimprovement: The Loop will be interrupted if the Pointer is bigger than the last Pointer of the Value that must be visualised. 2009-09-28 Tim Englich <tim.englich@intevation.de> * pom.xml Edited: Added the Dependeny to the ehcache-Library * src/test/ressources/ehcache.xml Added: The ehcache-Configuration. * src/test/ressources/conf.xml Edited: Added the Link to the ehcache-Configuration. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java (createArtifactContext) Edited: Added the Initialisation of the CacheManager. * src/main/java/de/intevation/gnv/artifacts/cache/CacheFactory.java Added: An Fractoryimplementation for the central access to the Cache. * src/main/java/de/intevation/gnv/transition/MinMaxTransition.java (purifyResult) Edited, * src/main/java/de/intevation/gnv/transition/SingleInputTransition.java (purifyResult) Edited, * src/main/java/de/intevation/gnv/transition/Transition.java Edited, * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited, * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: Signature of Methods purifyResults, advanced and feed Changed to put the uuid to the Transition * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java (createChart) Edited: Methodsignatur of getChartResult change for putting the uuid of an Artifact into it * src/main/java/de/intevation/gnv/transition/OutputTransition.java (out) Edited, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out) Edited: Method Signature Changed for putting the uuid of an Artifact to the Transition. stored * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java Edited: removed the persitence of the Chartresults and put them into an Cache instance. 2009-09-28 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (getStatisticsGenerator) Edited: Extracted the Instantiation of the Statistics-object to an protected Methode to make it possible that extending Classes could change it. * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java (getStatisticsGenerator) Edited: Overwrite getStatisticsGenerator to instantiate the VerticalProfileStatistics- * src/main/java/de/intevation/gnv/statistics/VerticalProfileStatistics.java Added: Class for Calculating Statistics for VerticalProfiles- The Only thing whisch differs to TimeSeriesStatists is that the XoordinateValue is an double and not an Date-Value * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java (calculateXOrdinateValue) Edited: Added the Methode calculateXOrdinateValue to this Class to switch is Values in extending Classes. * src/main/java/de/intevation/gnv/statistics/Statistics.java (calculateStatistics) Edited: Added methodsignature to Interface for usage in different Implementations of Statistics. 2009-09-28 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java (calculateStatistics) Edited: Bug fixed. Now all Values will be used to calculate the Statistics 2009-09-28 Tim Englich <tim.englich@intevation.de> * src/test/ressources/conf.xml Edited : Changed the Output-format of Statistics from text/plain to text/xml. 2009-09-28 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java Edited: Moved the calculating-Methods from the Conmstructor to an separat Method. Switched the ResultContainer from Array to Collection * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out) Edited: Added the Output-Variante for generating Statistics 2009-09-28 Tim Englich <tim.englich@intevation.de> * pom.xml Edited: Added Link to Apache-Commons-Math to get the required Classes for the calculation of Statistics. * src/main/java/de/intevation/gnv/statistics/exception/StatisticsException.java Added: Specified ExceptionClass for the Statistics Part of the gnv-artifacts * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java Edited: Remove compileErrors and switch to new Datastructure 2009-09-28 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/statistics/Statistic.java Added , src/main/java/de/intevation/gnv/statistics/Statistics.java Added , src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java Added: Imported Statistics-Classes from old Project. Revision: 3101 Does not compile 2009-09-25 Tim Englich <tim.englich@intevation.de> * src/test/ressources/conf.xml Edited: Added with and height Inputparameter to each Chart-OutputMode. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out) Edited: Added the usage of the Parameters revieved from the client for the ChartRendering * src/main/java/de/intevation/gnv/transition/DefaultInputValue.java (DefaultInputValue) (getDefaultValue) Edited , src/main/java/de/intevation/gnv/transition/InputValue.java (getDefaultValue) Edited: Added the Method getDefaultValue to the Interface for getting the deafultvalue of an Parameter. * src/main/java/de/intevation/gnv/transition/DefaultOutputMode.java Edited, src/main/java/de/intevation/gnv/transition/OutputMode.java (getInputParameters) Edited: Added the Method getInputParameters to the OutputMode for Handling the required Parameters of an OutputMode. * src/main/java/de/intevation/gnv/transition/OutputTransition.java (out) Edited: Put the InputParameter recived from the Client to the Methodsignature so that they can be used during the outputprocessing. * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java Edited: Read rquired Outputparameters from the Configuration * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: Added support for Parameters in OutputNode of Describe-Artifact 2009-09-24 Tim Englich <tim.englich@intevation.de> * pom.xml Edited: Added Library for CSV-Support * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out) Edited: Add support for CSV-Export * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (out) Edited: Add Fag on Context for storing the Artifact status after out. 2009-09-24 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java (createSuccessReport) Edited: Added a centraL Method for creating an Successreoprt. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited, src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Edited: Add ResultReporting to the different Metshods of an Artifact 2009-09-24 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java Edited: Obsolet TODOs removed * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited, src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Edited, src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited: Create Exception Report added * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java (createExceptionReport) Edited: Method for creating Exceptionreports added. 2009-09-24 Tim Englich <tim.englich@intevation.de> * src/test/ressources/queries.properties Edited: Queries formatted so that they can be analysed and extended easier. Some Bugs removed 2009-09-24 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java Edited, src/main/java/de/intevation/gnv/chart/ChartLabels.java Edited, src/main/java/de/intevation/gnv/chart/ChartFactory.java Edited: Removed obsolet Parameters an Methods. Use the ChartLable to put the DomainAxisLable into the Chart. * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java Edited: Some more Loggingoutput integrated. Some Performanceimprovements done. The ResultData will only be refreshed if the InputValues has changed. Some Refactoring Work done. Move some Members into from extending Classes into this implementation. * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java Edited, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Edited: Dummywerte fuer Diagrammgenerierung durch Echtwerte ersetzt. Obsolete Uebergabeparameter entfernt. 2009-09-23 Tim Englich <tim.englich@intevation.de> * src/test/ressources/queries.properties Edited: Statements for InstantaneousPoint Vertical Profiles added * src/test/ressources/conf.xml Edited: Configuration for Vertikal Profiles for InstantaneousPoints added * src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileInstantaneousPointArtifact.java (VerticalProfileInstantaneousPointArtifact) Added: New Artifact-Class Reperesenting Artifacts for InstantaneousPoints Creating VerticalProfiles added. 2009-09-23 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/TransitionBase.java (prepareInputData4DateDBQuery) Edited: Bug Fixed, now all Inputvalues of String and Date will be put into the Query 2009-09-23 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java (createXYSeries) Edited: Bug fixed. Now all Values will be Renderd to the Chart * src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileMeshArtifact.java Added: Artifact-class for VerticalProfile Mesh added * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited: Support for StringQuieries and OracleDateQueries added * src/test/ressources/queries.properties Edited: Queries for VerticalProfile Mesh integrated * src/test/ressources/conf.xml Edited: Artifact for VerticalProfile Mesh integrated 2009-09-22 Tim Englich <tim.englich@intevation.de> * src/test/ressources/queries.properties Edited: Added Queries for the Workfloe of collecting the required Information to generate a vertical Profile * src/test/ressources/conf.xml Edited: Added the Configuration of the VerticalProfileArtifact * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (getCollection) Edited: Some Codrefactoring done for reuse of Functionality in extended Classes. * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java Added: Outputtransition for the Support of VerticalPropfiles * src/main/java/de/intevation/gnv/transition/describedata/KeyValueDescibeData.java (getKey), src/main/java/de/intevation/gnv/transition/describedata/DefaultKeyValueDescribeData.java (getKey) Edietd, src/main/java/de/intevation/gnv/transition/TransitionBase.java (purifyResult) Edited: Change KEY-Attribute of KeyValueDescribeData from Integer to String for the required Representation of Date-KeyValue-Pairs * src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java Added: ArtifactClass for the representation of VerticalProfiles * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (createSelectBox) Edited: Added support for selected Products in static UI. * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java Added: Factory for producing VerticalCharts added. * src/main/java/de/intevation/gnv/chart/ChartFactory.java Edited: Names of Getter for Columns Changed. 2009-09-21 Tim Englich <tim.englich@intevation.de> * src/test/ressources/queries.properties Edited: Queryie for TimeSeriesMesh added. * src/test/ressources/conf.xml Edited: New Artifact representing the TimeSeries-Mesh added to the Configuration. * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Edited: Inputdata for the Chartgeneration will now be allocated by name and not by position in Transitionorder. * src/main/java/de/intevation/gnv/transition/describedata/SingleValueDescribeData.java Added, src/main/java/de/intevation/gnv/transition/describedata/DefaultSingleValueDescribeData.java Added, src/main/java/de/intevation/gnv/transition/SingleInputTransition.java Added: New Class for Representing a single Input Transition * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited: Added support of usage inputValues none or multiple times in Queries. Added support for SingleInputTransitions in Describe-Output * src/main/java/de/intevation/gnv/transition/InputValue.java Edited, src/main/java/de/intevation/gnv/transition/DefaultInputValue.java Edited: An InputValue now is possible to use none or multiple times in Queries. * src/main/java/de/intevation/gnv/timeseries/TimeSeriesMeshArtifact.java Added: ArtifactClass for the Representation of an Mesh-Timeseries-Artifact 2009-09-17 Tim Englich <tim.englich@intevation.de> * src/test/ressources/conf.xml Edited: Database Cleanup Interval set to 5 minutes. 2009-09-17 Tim Englich <tim.englich@intevation.de> * src/test/ressources/conf.xml Edited: Some structurechanges done. * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java Edited: Fixed Bug supporting UTF-8 Documents properly. * src/main/java/de/intevation/gnv/transition/describedata/DefaultKeyValueDescribeData.java Edited, * src/main/java/de/intevation/gnv/transition/describedata/KeyValueDescibeData.java Edited, Added Methods for setting and getting the selection-state of this objects. * src/main/java/de/intevation/gnv/transition/describedata/DefaultMinMaxDescribeData.java Edited, src/main/java/de/intevation/gnv/transition/describedata/MinMaxDescribeData.java Edited: Added setter for min an max-Values and getters an setters for minName and maxName * src/main/java/de/intevation/gnv/transition/describedata/NamedCollection.java Added, src/main/java/de/intevation/gnv/transition/describedata/NamedArrayList.java Added: Collection ans an Implementation of this Collection for Storing Name of the Collection and if the Values in it are multiselectable. * src/main/java/de/intevation/gnv/transition/TransitionBase.java : Static UI-Support and valid SelectionStorage added. I added also an imporvement of the multiselect Methods for Datasets * src/main/java/de/intevation/gnv/transition/MinMaxTransition.java Edited: Storage of changed Values added * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Edited: Static UI Support Added 2009-09-16 Tim Englich <tim.englich@intevation.de> * src/test/ressources/conf.xml Edited, src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe) Edited, src/main/java/de/intevation/gnv/transition/InputValue.java (isMultiselect) Edited, src/main/java/de/intevation/gnv/transition/InputData.java (concartValue) Edited, src/main/java/de/intevation/gnv/transition/DefaultInputValue.java (isMultiselect) Edited, src/main/java/de/intevation/gnv/transition/DefaultInputData.java (concartValue)Edited, src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (createUserInterface) Edited, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (parseInputData) Edited: Added Multiselectsupport for InputValues 2009-09-16 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (setup) Edited: Bug Fixed because of Infrastructure Changes in the Artifact-Module * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited: Put only the last DescribeData to the UI-Output bnecause auf Renderingproblems in the Client * src/main/java/de/intevation/gnv/transition/describedata/DefaultKeyValueDescribeData.java Edited, src/main/java/de/intevation/gnv/transition/describedata/DefaultMinMaxDescribeData.java Edited, src/main/java/de/intevation/gnv/transition/describedata/KeyValueDescibeData.java Edited: Made Interface Serializable, add UIDs to the Implementations of the Interface 2009-09-15 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (createUserInterface) Edited: Integrate UI-Representation for Describe into the FISArtifact. * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java (createXFormElement) Refactoring, src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe) Refactoring: Extract the Element-Creation of XForms Nodes into a Common Class to make them available for other Classes which have to create XForm-Fragments 2009-09-14 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/Transition.java Edited, src/main/java/de/intevation/gnv/transition/InputData.java Edited, src/main/java/de/intevation/gnv/transition/OutputMode.java Edited, src/main/java/de/intevation/gnv/transition/InputValue.java Edited, src/main/java/de/intevation/gnv/artifacts/fis/product/Product.java Edited, src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java Edited, src/main/java/de/intevation/gnv/transition/describedata/DescribeData.java Edited: Make the Interfaces Serializable to make them usable in the Artifactdatabase 2009-09-14 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited, src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Edited, src/main/java/de/intevation/gnv/transition/OutputTransition.java Edited , src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Edited, src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Edited, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: Refactoring Work depending on Infrastructurchanges in the Artifact-Module 2009-09-10 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited, src/test/ressources/timeseries/timeseries_step_01_feed.xml Edited, src/test/ressources/timeseries/timeseries_step_01_advance.xml Edited, src/test/ressources/conf.xml Edited: TestCase moced from TimeSeriesArtifact to FISArtifact. Used FIS: Marnet 2009-09-10 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java Added: Utilities-Class for some XML-Stuff that is only for gnv-artifacts * src/main/java/de/intevation/gnv/utils/ArtifactFactoryUtilities.java Added: Factory to Instantiiate an ArtifactFactory (TODO: Should be moved to Artifact-database) * src/main/java/de/intevation/gnv/artifacts/fis/product/Product.java Added, src/main/java/de/intevation/gnv/artifacts/fis/product/DefaultProduct.java Added: Interfcaedefinition and Defaultimplementation for the Representation of the different Products in an FIS. * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Added: Artifact to Repersent an FIS. This Artifact is able to switch between different SubArtifacts for handling the different Products of an FIS. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: Refactoring Work done because of changes in the artifact-modules 2009-09-10 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited, src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Edited: Refactoringwork done because of changes in the artifact-module 2009-09-10 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited: src/test/ressources/conf.xml Renamed: Project Structure changed in artifact-database. So we have to rename the Testconfigurationfile in conf.xml. * src/test/ressources/results Added: Integrated Folder for temporal storing Resultfiles of the TestCases * src/test/ressources/queries.properties Edited: Further Queries for Testcases integrated * src/test/ressources/timeseries/timeseries_step_05_out.xml Added, src/test/ressources/timeseries/timeseries_step_05_feed.xml Added: Integrated the last step of the TimeSeries-Workflow. Now the TestCase is able to render Charts. * src/test/ressources/timeseries/timeseries_step_04_feed.xml Edited, src/test/ressources/timeseries/timeseries_step_03_feed.xml Edited: Names of the feed-Parametes changed to the Syntax of BSH-Spelling 2009-09-09 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: Chart Rendering completed with some Fixes to do * src/main/java/de/intevation/gnv/transition/TransitionBase.java: Integrated usage of KeyValueDescibeData * src/main/java/de/intevation/gnv/transition/OutputTransition.java (getOutputModes): Errorhandling integrated * src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Edited, * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: Refactored out-Method from Extending Class 2009-09-09 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/exception/TechnicalChartException.java Added, src/main/java/de/intevation/gnv/chart/ChartFactory.java Edited: Refactoring of the ChartFactory so that it colud be use and it is possible to compile this class. * src/main/java/de/intevation/gnv/transition/describedata/KeyValueDescibeData.java Added, src/main/java/de/intevation/gnv/transition/describedata/DefaultKeyValueDescribeData.java Added: Added an new Representation of Describedata for Key Value Pairs using for the Parameter Lists of the Transitions an put it into the Chartgeneration 2009-09-09 Tim Englich <tim.englich@intevation.de> * pom.xml Edited: Added JfreeChart Dependency to pom-file 2009-09-09 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/chart/Insets.java Added, src/main/java/de/intevation/gnv/chart/ChartStyle.java Added, src/main/java/de/intevation/gnv/chart/ChartLabels.java Added, src/main/java/de/intevation/gnv/chart/ChartFactory.java Added: Insert Chart-Classes from OLD-Repository Revision: 3101 Does not compile 2009-09-09 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Added: The specifed OutputTransition for the Product TimeSeries. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: Integration of the OutputModes in the DescriberesultDocument. * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java Added, src/main/java/de/intevation/gnv/transition/OutputTransition.java Added: The Interface and the abstract Basicimplementation of an Transition which can produce different outputs. * src/main/java/de/intevation/gnv/transition/DefaultOutputMode.java Added, src/main/java/de/intevation/gnv/transition/OutputMode.java Added: Interfacestructur and Defaultimplementation for the Representation of the Different OutputModes given in an Artifact. 2009-09-09 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe) Edited: Changed DateoutputFormat from German- to Anericanstyle 2009-09-09 Tim Englich <tim.englich@intevation.de> * src/test/ressources/timeseries/timeseries_step_04_feed.xml Added, * src/test/ressources/timeseries/timeseries_step_04_advance.xml Added: Two more ArtifactCommands for the next Step in TimeSeriesArtifactTestCase * src/test/ressources/queries.properties Edited: New Queries for timeseries_timeinterval added. Also use KEY ,VALUE, MIN and MAX as Identifiers for the different Columns. * src/test/ressources/GNVArtifactsTestCase_Configuration.xml Edited, * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited: Modified the TimeseriesArtifact and added one further TransitionStep 2009-09-09 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/describedata/DefaultMinMaxDescribeData.java , * src/main/java/de/intevation/gnv/transition/describedata/MinMaxDescribeData.java, * src/main/java/de/intevation/gnv/transition/describedata/DescribeData.java Added: Interface Structure and Defaultimplementation for Representing DescribeData of an Transition added. In this Way we are able to switch between different Renderingmethods for descibe. * src/main/java/de/intevation/gnv/transition/MinMaxTransition.java Added: Added MinMaxTransition for representing Min-/Max-Value Results in a Tansition * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited: Integrated Min- / MAX-Value Support for Describe. Also done some Refactoring Work for easy creating Extensions of this Class. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: Userinterface Informations were integrated in the wrong Method. Now the Informations are put into the ui-Node 2009-09-08 Tim Englich <tim.englich@intevation.de> * src/test/ressources/timeseries/timeseries_step_01_advance.xml Edited, src/test/ressources/timeseries/timeseries_step_01_feed.xml Edited, src/test/ressources/timeseries/timeseries_step_02_advance.xml Added, src/test/ressources/timeseries/timeseries_step_02_feed.xml Added, src/test/ressources/timeseries/timeseries_step_03_advance.xml Added, src/test/ressources/timeseries/timeseries_step_03_feed.xml Added, src/test/ressources/GNVArtifactsTestCase_Configuration.xml: Edited, src/test/ressources/queries.properties Added, src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited: TestCase implemented until Choosing the TimeInetval of an TimeSeries One Entry is Missing 2009-09-08 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited, src/main/java/de/intevation/gnv/transition/Transition.java Edited, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited, src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited, src/test/ressources/GNVArtifactsTestCase_Configuration.xml Edited, src/test/ressources/timeseries/timeseries_step_01_feed.xml Added , src/test/ressources/timeseries/timeseries_step_01_advance.xml Added : Artifact.advance initial implementiert 2009-09-08 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Edited, src/main/java/de/intevation/gnv/transition/DefaultInputData.java Added, src/main/java/de/intevation/gnv/transition/InputData.java Added, src/main/java/de/intevation/gnv/transition/exception/TransitionException.java Added, src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited, src/main/java/de/intevation/gnv/transition/Transition.java Edited, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: Funktionalitat Feed initial bereitgestellt. 2009-09-08 Tim Englich <tim.englich@intevation.de> * src/test/ressources/GNVArtifactsTestCase_Configuration.xml, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/transition/TransitionBase.java, src/main/java/de/intevation/gnv/transition/DefaultInputValue.java Edited: Required Inputelements integrated in BasicArtifact-Descibe-Output 2009-09-08 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/transition/DefaultInputValue.java Added, src/main/java/de/intevation/gnv/transition/InputValue.java Added, src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited, src/main/java/de/intevation/gnv/transition/Transition.java Edited, src/test/ressources/GNVArtifactsTestCase_Configuration.xml Edited: Constructs for the required Inputvalues for an Transition created 2009-09-08 Tim Englich <tim.englich@intevation.de> * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java, * src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java:, * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Edited Added Output for Describe to the Artifactimplementation 2009-09-08 Tim Englich <tim.englich@intevation.de> * src/test/ressources/GNVArtifactsTestCase_Configuration.xml, src/main/java/de/intevation/gnv/transition/Transition.java (getDescription), src/main/java/de/intevation/gnv/transition/TransitionBase.java (setup), (getDescription): Added Description to a Transition 2009-09-07 Tim Englich <tim.englich@intevation.de> * src/test/ressources/GNVArtifactsTestCase_Configuration.xml, src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java: ADD TestClass for GNV-Artifacts an TimeSeriesArtifacs * src/main/java/de/intevation/gnv/transition/TransitionFactory.java, src/main/java/de/intevation/gnv/transition/TransitionBase.java, src/main/java/de/intevation/gnv/transition/Transition.java, src/main/java/de/intevation/gnv/transition/DefaultTransition.java: ADD Transitionimplementation for handling the substeps of an Artifact Livecycle * src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java: ADD The Artifact for handling the TimeSeries * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java, src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: The Basic-Classes for providing GNC Artifacts. this Classes should be the Fundament for the Implementation of Specialized Artifacts e.g. TimeSeries * pom: Edited Projectreferences to the other GNV-Projects added 2009-09-04 Tim Englich <tim.englich@intevation.de> * src/main/java/de/intevation/gnv/artifacts/ArtifactFactoryBase.java: Implementation of the General ArtifactFactory 2009-09-04 Tim Englich <tim.englich@intevation.de> * pom.xml: Created with maven and put the Moduledependencies into it * target | .settings | .project | .classpath: Add to SVN-Ignore * Changes | Changelog | NEWS | README | TODO: Added * src/**: Added to the Project