2010-06-28 Ingo Weinzierl Issue284 * doc/conf/queries.properties: Added missing column MESHID to chart data query for product 'Horizontales Schnittprofil'. This column is required by the csv export of this product. 2010-06-28 Ingo Weinzierl Issue233 * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Fixed the range calculation for y-axes if there is only a single datapoint existing in the chart. 2010-06-28 Tim Englich Issue283: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (getRequestedLayerMetadata): Bugfix: Now geometries of the generated layers will also be clipped if a polygon served by the mv-gnv-interface should be used. 2010-06-28 Ingo Weinzierl Issue281 * src/main/java/de/intevation/gnv/state/MeasurementState.java: Fixed an ArrayIndexOutOfBounds exception that occured while initializing the ParameterMatrix. 2010-06-28 Ingo Weinzierl Issue230 * doc/conf/queries.properties: Removed multiplication of depth value with factor -1 for odv queries on vertical profiles. 2010-06-28 Ingo Weinzierl Issue300 * doc/conf/products/verticalcrosssection/conf_mesh_parallel.xml: Fixed broken transition. The transition chain ended after choosing a subarea; now it leads to the coordinate selection. 2010-06-15 Tim Englich ISSUE299v * doc/conf/products/horizontalprofile/conf_mesh.xml: Bugfix: Change multiselect to false for the Parameter-State of vector-values. It is not possible to render more than one Parameter if vector-values are used. 2010-06-15 Tim Englich ISSUE299 * doc/conf/products/verticalprofile/conf_mesh.xml: Bugfix: Change multiselect to false for the Parameter-State of vector-values. It is not possible to render more than one Parameter if vector-values are used. 2010-06-15 Tim Englich * src/main/resources/lang/artifactMessages_en.properties, src/main/resources/lang/artifactMessages.properties: Fixed typo. Scalar Values will now be written capitalized. 2010-06-15 Tim Englich ISSUE297 * src/main/resources/lang/artifactMessages*.properties: Added localized exceptionmessage for MinMaxState. * src/main/java/de/intevation/gnv/state/MinMaxState.java (feed): Localized exceptionmessage which will be displayed in the GUI of the GNV Web-Client. 2010-06-14 Ingo Weinzierl * pom.xml: Write svn revision to MANIFEST file while creating jar archive. 2010-06-14 Ingo Weinzierl Issue250 - Adjusted subtitle of 'Achsenparalleles Vertikalprofil' * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionParallelOutputState.java: Adapted the subtitle of charts from type 'Achsenparalleles Vertikalprofil'. 2010-06-14 Ingo Weinzierl * doc/conf/products/verticalcrosssection/conf_mesh_parallel.xml: Renamed parameter 'coordinate' to 'mesh_coordinate', because the strings shown in the gui depend on the parameter names. 'mesh_coordinate' matches "Geographische Position (z.B. 56n30 6e20)" in the german resource bundle. "Koordinate" has been displayed before this change has taken place. 2010-06-12 Ingo Weinzierl * doc/conf/products/horizontalprofile/conf_mesh_parallel.xml: Configuration for the new product 'Achsenparalleler Vertikalschnitt'. * doc/conf/queries.properties: A new sql statement to query all points of a given axis of a mesh. * doc/conf/conf.xml: Added the new product to fis 'Modeldaten'. * 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 a name for the new product 'Achsenparalleler Vertikalschnitt'. TODO: Find an english name for this product! 2010-06-12 Ingo Weinzierl * src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshParallelArtifact.java: A new artifact that is used for the product 'Achsenparalleler Vertikalschnitt'. * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: The determination of the linestring that is used in the interpolation is outsourced to an own method. This makes it possible to be overriden by subclasses. * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionParallelOutputState.java: Inherits of VerticalCrossSectionOutputState. It overrides the linestring determination. In this product, no linestring is given by user input but an axis of the mesh is selected. The linestring is made up by the point of this axis. 2010-06-10 Ingo Weinzierl Issue286 - Input validation of time ranges * src/main/java/de/intevation/gnv/utils/InputValidator.java: Removed the epsilon that has been used to compare time values. Now, we just compare the seconds of a time value pair - background: datetime objects differ in milliseconds. 2010-06-10 Ingo Weinzierl Issue290 - Centering of pdf exports * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: PDF exports of histograms are centered now. 2010-06-10 Ingo Weinzierl Issue290 - Centering of pdf exports * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: PDF exports of charts are centered now. 2010-06-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/chart/VerticalProfileVectorChart.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Improved data initialization and range calculation. Gap detection will be entered, if start and end position are valid indices for the array that contains the data. The x and y range for each axis is improved. 2010-06-09 Ingo Weinzierl * doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/horizontalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml: Limited parameterization so that just a single vector can be selected at the same time. 2010-06-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileVectorOutputState.java: Overide method getHistograms(.) to create histograms for verticalprofiles that contain the components of vectorial parameters. 2010-06-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshVectorOutputState.java: Overide method getHistograms(.) to create histograms for horizontalprofiles that contain the components of vectorial parameters. 2010-06-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java: Override method getHistograms(.) of TimeSeriesOutputState to create histograms that contain the components of vectorial parameters. This method doesn't have many tasks but calls getHistograms(.) of VectorDataProcessor. * src/main/java/de/intevation/gnv/utils/VectorDataProcessor.java: The real implementation of getHistograms(.) for creating histograms that contain the components of vectorial parameters. This place was chosen to make it possible to use this method in all vector output states (because multiple inheritance is not available in Java). * src/main/java/de/intevation/gnv/histogram/HistogramHelper.java: A new method to prepare the data for histograms that contain the components of vectorial parameters. 2010-06-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Seperated the histogram creation into an own method. This enables subclasses to override the histogram creation. Moved the method createHistogramLabels(.) to HistogramHelper. * src/main/java/de/intevation/gnv/histogram/HistogramHelper.java: New method to create histogram labels (moved from TimeSeriesOutputState). 2010-06-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/statistics/VerticalProfileVectorStatistics.java: This class created statistics for vertical proifles with vectorial parameters. * src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileVectorOutputState.java: Added a new method that returns an instance of VerticalProfileVectorStatistics. 2010-06-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/statistics/HorizontalProfileVectorStatistics.java: This is a class to create statistics for horizontal profiles with vectorial parameters. * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshVectorOutputState.java: Added a new method to return an instance of HorizontalProfileVectorStatistics. * src/main/java/de/intevation/gnv/statistics/TimeseriesVectorStatistics.java, src/main/java/de/intevation/gnv/statistics/VectorStatistics.java: Added a method to clean the statistics for the next vector component. 2010-06-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/statistics/VectorStatistics.java: This is an abstract base class for statistics of vectorial parameters. There are two methods that need to be overriden by subclasses. * src/main/java/de/intevation/gnv/statistics/TimeseriesVectorStatistics.java: A concrete statistics class for timeseries statistics of vectorial parameters. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java: Added a new method that returns an instance of TimeseriesVectorStatistics to create a statistic for this product type. 2010-06-08 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshVectorOutputState.java: Added odv support for horizontal profiles using vector data. 2010-06-08 Ingo Weinzierl * doc/conf/products/horizontalprofile/conf_mesh.xml: Added the transitions for horizontal profiles on meshes that make use of vector data. 2010-06-08 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshVectorOutputState.java: A new output state for horizontal profiles using vector data. * src/main/java/de/intevation/gnv/chart/HorizontalProfileVectorChart.java: A new horizontal profile chart type using vector data. 2010-06-07 Ingo Weinzierl * doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/verticalprofile/conf_timeseriespoint.xml: Added transitions for working with vertical profiles that contain vector data. 2010-06-07 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileMeshVectorOutputState.java: A new output state for verticalprofiles on meshes that contain vector data. 2010-06-07 Ingo Weinzierl * src/main/java/de/intevation/gnv/utils/VectorDataProcessor.java: The columns used for the final ResultDescriptor are no longer configured here - they need to be configured in the output states of each product. The VectorDataProcessor is called with the data collection and these columns now (so the method signature of process(.) changed). * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java: Configured ResultDescriptor columns here and adapted method call of VectorDataProcessor.process(.). * src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileVectorOutputState.java: This output state is used while working vector data on verticalprofiles. Before a chart is generated by this state, the vector data are converted using VectorDataProcessor. * src/main/java/de/intevation/gnv/chart/VerticalProfileVectorChart.java: A new chart type used for verticalprofiles with vector data. * doc/conf/queries.properties: A parameter of an sql statement got a name. 2010-06-07 Tim Englich Added functionality to publish the the mbr of the generated layer to the client. * src/main/java/de/intevation/gnv/utils/MetaWriter.java (insertMbr): Added function to add an box-element to the mapserver-fragmet of the Metafile * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java, src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Calculate the box and write it into the metafile using the insertMbr-method of MetaWriter to publish the mbr of the data which was fetched during the request to the client. 2010-06-07 Tim Englich * doc/conf/conf.xml: Revert wrong Commit Revision 1163. 2010-06-07 Tim Englich * doc/conf/maptemplates/horizontalcrosssection_*.vm, doc/conf/maptemplates/layer_polygon.vm, doc/conf/maptemplates/layer_point.vm, doc/conf/maptemplates/layer_linestring.vm: Added Configuration Elements TEMPLATE, DUMP, TOLERANCE and METADATA/gml_include_items to enable GetFeatureInforRequests using gml as INFO_FORMAT for products of type layer. 2010-06-07 Tim Englich * doc/conf/maptemplates/mapfile.vm: Added MAXSIZE to the mapfiletemplate so that it is possible to render the layer in the fullscreenmode of a mapclient which will request images that size are greater than 2048 Pixel. 2010-06-04 Ingo Weinzierl * doc/conf/products/timeseries/conf_mesh.xml: Added vector support for timeseries points on meshes. 2010-06-04 Ingo Weinzierl * src/main/java/de/intevation/gnv/artifacts/cache/CacheFactory.java: The ehcache CacheManager and the MBeanServer of the JVM are connected so that the statistics of the cache is available as MBean in JConsole. 2010-06-03 Ingo Weinzierl * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Removed needless imports. 2010-06-03 Ingo Weinzierl * doc/conf/sql-cache.xml: SQL-cache configuration. * doc/conf/conf.xml: Added a new section to the geo-backend section to configure, enable/disable the sql-cache. The sql-cache is activated in the default configuration. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Removed the initialization of geo-backend related objects (as ArcSDE connection settings, queries). This work is done in the geo-backend itself, now. At this place, a new geo-backend Configuration object is created and its init(.) method is called. 2010-06-02 Ingo Weinzierl * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Remove cached elements of each state that is visited while stepping back to a previous state. 2010-06-01 Ingo Weinzierl * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Do not call endOfLife of the current state before advancing to the next state. This would make it impossible to use the cache. 2010-06-01 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/StateBase.java: Remove existing elements from cache that belong to an outdated state if its enfOfLife(.) is called. It was necessary to adapt the signature of getHash(.) for this - removed the parameter uuid - because endOfLife is called without any information about the current uuid. The uuid has not been used in getHash() anyway. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java, 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, src/main/java/de/intevation/gnv/state/OutputStateBase.java: Adapted the signature of getHash() regarding the changes in the implementing class StateBase. 2010-05-31 Tim Englich * doc/conf/queries.properties: Added queries for TimeSeriesPoints using vectorvalues for verticalprofiles. 2010-05-28 Ingo Weinzierl Issue291 * src/main/java/de/intevation/gnv/exports/ODVExport.java: Fixed the aggregation of parameters. 2010-05-27 Ingo Weinzierl Issue198 * src/main/java/de/intevation/gnv/utils/MetaWriter.java: Product 'Layer' and 'Horizontalschnitt' use the same code to write meta files. To create a meta file, it is now necessary to use four methods: - initMeta(): creates a new xml document and inserts the root node 'meta' - insertAbstractMeta(.): adds meta information into the meta file - insertLayer(.): adds layer specific information into the meta file - writeMetaFile(.): writes the meta information file to disk. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java: Make use of the new methods of MetaWriter. Both classes use the same methods now! * doc/conf/queries.properties: Fetch the layername from database while requesting wms data. * src/main/java/de/intevation/gnv/state/layer/LayerMetaData.java: Added the title of a layer. The title is used while creating the meta information file for wms layers. * doc/conf/maptemplates/horizontalcrosssection_salinity.vm, doc/conf/maptemplates/horizontalcrosssection_salinity_isolines.vm, doc/conf/maptemplates/layer_linestring.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/layer_polygon.vm, doc/conf/maptemplates/horizontalcrosssection_water-temperature.vm, doc/conf/maptemplates/layer_point.vm, doc/conf/maptemplates/horizontalcrosssection_water-levels_isolines.vm, doc/conf/maptemplates/horizontalcrosssection_water-temperature_isolines.vm: Adjusted the templates regarding the changes in meta file. Each parameter that is necessary in these templates is contained in the LayerInfo object. So there is no need to concatenate parameters as it was the case before these changes. Furthermore, there is a new section that contains the title of a layer - the title is adjustable by the user. 2010-05-27 Ingo Weinzierl * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Fixed a bug while exporting charts and histograms to pdf. Charts/histograms that are larger than the pdf page have been cut. The reason was a usage of wrong values when creating the graphics area for the charts/histograms. 2010-05-27 Ingo Weinzierl Issue288 * src/main/java/de/intevation/gnv/chart/DefaultHistogram.java: Use AdvancedHistogramDataset as dataset for histograms instead of JFreeChart's HistogramDataset. Adjusted the calculation of bin width and number of bins for this. * src/main/java/de/intevation/gnv/chart/AdvancedHistogramDataset.java: This class is mainly a copy of JFreeChart's class HistogramDataset. The difference between these two classes is, that AdvancedHistogramDataset takes an argument for setting the bin width as well as an argument to adjust the number of bins - HistogramDataset just takes the number of bins. The reason why AdvancedHistogramDataset doesn't inherit from HistogramDataset is, that basic attributes of that class have private access. 2010-05-26 Ingo Weinzierl Issue289 * src/main/java/de/intevation/gnv/chart/DefaultHistogram.java: Values specifying the bin width or the number of bins are inserted into this histogram as double values - no longer as i18n strings. So the complete parsing code is removed. 2010-05-26 Ingo Weinzierl Issue290 - PDF format of histograms depends on histograms' apsect ratio. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Removed the boolean parameter to adjust the page format when calling the pdf export method of a histogram. * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: The format of a histogram depends on its width and height. Width and height depends on user input or the default size (600x400). 2010-05-26 Ingo Weinzierl Issue290 - PDF format depends on the chart's aspect ratio. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Removed reading the system property "export.pdf.landscape" to adjust the page format of a pdf. * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: The page format of a pdf now depends on the chart's aspect ratio. If width > height the format will be landscape, otherwise the format will be portrait. 2010-05-25 Ingo Weinzierl Issue286 * src/main/java/de/intevation/gnv/utils/InputValidator.java: Introduced an epsilon environment to be more tolerant while comparing date objects. The value of the current epsilon is 750ms. 2010-05-25 Ingo Weinzierl Issue290 * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Added chart width and chart height as new parameters for the pdf creation. * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Don't use the maximum size of a pdf page to draw the chart but use the parameter chart width and chart height. Scale the chart down if its size and/or height exceed the maximum size of the pdf page - the original aspect ratio keeps alive. 2010-05-25 Ingo Weinzierl Issue287 * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Corrected the distance calculation of a 'Horizontal Profil' and adjusted the gap detection according to these changes. 2010-05-24 Ingo Weinzierl Issue290 * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: The size of an svg export depends on the size chosen by the user (or the default size if the user did not change the size) - it is not fixed anymore. 2010-05-21 Tim Englich * doc/conf/queries.properties: Added queries for meshes using vectorvalues for "Horizontales Schnittprofil" 2010-05-21 Tim Englich * doc/conf/queries.properties: Added queries for meshes using vectorvalues for horizontalprofiles. 2010-05-21 Tim Englich * doc/conf/queries.properties: Added queries for meshes using vectorvalues for verticalprofiles. 2010-05-21 Ingo Weinzierl Issue269 * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java: Improved the directory handling for wms requests (directories are created if there is no directory existing for the shapefiles; the content of directories is deleted if the directory is existing). The shapefiles are always generated again as well if there is an directory existing and it contains files - we cannot know if these files are shapefiles that have been created by our application. 2010-05-21 Tim Englich * doc/conf/queries.properties: Added queries for Meshes using Vectorvalues for TimeSeries. 2010-05-21 Tim Englich * doc/conf/queries.properties: Integrated View MEDIAN.TIMESERIESFULLVECTORVALUE in queries for fetching the data for Charts and ODV-Export on TimeSeriesPoints using vetcor data. 2010-05-20 Ingo Weinzierl Issue27 - Implemented odv export for vector data of timeseriespoints. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java: Implemented the odv export for vector data on timeseriespoints.Therefore, the getData(.) method for processing vector data has been removed. The processing needs to take place after getData(.) fetched the data from database, because it's not necessary to process vector data used for an odv export (which is fetched via getData(.) as well). 2010-05-19 Ingo Weinzierl Issue27 - Vector data support for timeseriespoints finished. * doc/conf/products/timeseries/conf_timeseriespoint.xml: Adjusted the relevant OutputState for timeseries with components of vector data. * src/main/java/de/intevation/gnv/utils/VectorDataProcessor.java: A helper class that converts vector data into a useful container for our chart classes. Our chart classes just use one single data value of each Result object - but there is a data value for each component of a vector. So we need to split Result object into many Result objects - one for each vector component. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java: Inherits from TimeSeriesOutputStates. Currently, the only reason for this class is to instantiate TimeSeriesVectorChart objects instead of TimeSeriesChart objects. * src/main/java/de/intevation/gnv/chart/TimeSeriesVectorChart.java: This chart type inherits from TimeSeriesChart. The only difference between these two types is the way how to add datasets and how to create names for series - most of the code is equal. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Timegap definitions have protected access now. 2010-05-19 Ingo Weinzierl * doc/conf/products/timeseries/conf_timeseriespoint.xml: Added the vector value path. 2010-05-18 Ingo Weinzierl Issue27 - First step to provide vector values. * doc/conf/products/timeseries/conf_timeseriespoint.xml: Added a further step to choose between vector or scalar values. TODO: Configure the parameterization path for working with vector values. * src/main/java/de/intevation/gnv/state/SwitchModeState.java: A new state that allows users to choose between scalar or vector values. * 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/DefaultAutoResumeState.java, src/main/java/de/intevation/gnv/state/SingleInputState.java: Adjusted method signature of getDescriptionForInputData(.) - added the CallContext as further parameter that is necessary to retrieve the current locale. * 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 the user interface. 2010-05-18 Tim Englich * doc/conf/queries.properties: Added queries for TimeSeriesPoints on Vectorvalues for TimeSeries. 2010-05-17 Tim Englich * src/main/java/de/intevation/gnv/state/cache/package.html, src/main/java/de/intevation/gnv/state/cache/QueryObject.java: Add more JavaDocs. 2010-05-10 Tim Englich * doc/conf/products/timeseries/timegap_definition.xml: Added Documentation for the definition of gaps in TimeSeries on TimeSeriesPoints. Also added the reference to the Place where the definitions are taken. 2010-05-10 Ingo Weinzierl Issue260 (Implemented an odv export for 'Horizontales Schnittprofil') * doc/conf/products/horizontalprofile/conf_mesh_cross.xml: Added odv as further export format of product type 'Horizontales Schnittprofil'. * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Implemented an odv exporter for this product type. * src/main/java/de/intevation/gnv/exports/StringArrayKey.java: Added a getKey() method to be able to retrieve the key of such objects. 2010-05-07 Hans Plum * doc/conf/queries.properties: Added a comment after implementing the admin tables for cache cleaner 2010-05-06 Ingo Weinzierl * contrib/mapserv, contrib/gnv-wms: Renamed mapserv to gnv-wms relating to the configuration changes in rev1068. 2010-05-06 Hans Plum * doc/conf/conf.xml: Adapted path to gnv-wrapper after changing it upstream. 2010-05-06 Ingo Weinzierl Issue264 & Issue268 (Removed bugs in the caching mechanism) * src/main/java/de/intevation/gnv/state/DefaultInputData.java: Implemented hashCode() and equals(.) method. The hashCode() method is used while creating hashes for caching elements (see StateBase). * src/main/java/de/intevation/gnv/state/StateBase.java: Improved hash creation. The hashes are used as keys for the caching mechanism. The key contains the uuid of the current artifact, the state id and a hash code created by InputData elements. User input is stored in a TreeMap instead of a HashMap, because the elements in a TreeMap are sorted. This is very import for us, because we need a defined order to create equal hashes if the input data elements, uuid and state id are equal. * src/main/java/de/intevation/gnv/state/MeasurementState.java: Replaced the HashMap to store user input with a TreeMap which elements are sorted. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Added some more debug output that shows the usage of the cache. * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Removed a critical bug that avoided using this product type if no cache have been initialized. * src/main/java/de/intevation/gnv/state/OutputStateBase.java: Adjusted getHash(.) method call. 2010-05-04 Tim Englich * doc/conf/conf.xml: Do some Documentation of the Artifact-Database. 2010-05-04 Tim Englich * src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java (appendSelectProducts): BUGFIX: Added NULL-Check to Variable products to prevent NPEs if no Products are configured to the FIS. * src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java (parseProductFactories): BUGFIX: Trim Classname to prevent ClassNotFound-Exceptions if the Configuration contains whitespaces in the XML-Element which configures the Artifact. 2010-04-28 Ingo Weinzierl * doc/conf/maptemplates/layer_polygon.vm: Do not use point symbols to draw polygons. 2010-04-28 Ingo Weinzierl * NEWS, Changes: Summarized changes. 2010-04-28 Ingo Weinzierl Issue260 * doc/conf/products/horizontalprofile/conf_mesh_cross.xml: Deactivated odv export for 'Horizontale Schnittprofile'. 2010-04-28 Ingo Weinzierl * doc/conf/maptemplates/mapfile.vm: Defined a point symbol. * doc/conf/maptemplates/layer_linestring.vm, doc/conf/maptemplates/layer_polygon.vm: Use point symbol for lines with a yellow color. * doc/conf/maptemplates/layer_point.vm: Use point symbol with a yellow color. 2010-04-28 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/cache/ThematicDataCacheCleaner.java, src/main/java/de/intevation/gnv/state/layer/LayerMetaData.java, src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java, src/main/java/de/intevation/gnv/state/StateBase.java, src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java, src/main/java/de/intevation/gnv/statistics/Statistic.java, src/main/java/de/intevation/gnv/statistics/Statistics.java, src/main/java/de/intevation/gnv/utils/MetaWriter.java, src/main/java/de/intevation/gnv/chart/ChartLabels.java, src/main/java/de/intevation/gnv/exports/VerticalCrossODVExport.java: Removed trailing whitespace. 2010-04-28 Ingo Weinzierl * src/main/java/de/intevation/gnv/exports/VerticalCrossODVExport.java: Removed duplicated and unused imports. 2010-04-27 Ingo Weinzierl * doc/conf/conf.xml: Replaced the path to the artifact database with a relative path since the artifact-server is able to read relative pathes for the database configuration. 2010-04-27 Ingo Weinzierl * doc/conf/conf.xml: Changed the default directory of the artifact database. 2010-04-27 Tim Englich * contrib/visualize-transitions.xsl: Added XSL-Transformation to create an Graphic for the TransitionModels of the Configuration. 2010-04-27 Tim Englich * doc/conf/conf.xml, doc/conf/products/verticalprofile/conf_mesh.xml, doc/conf/products/timeseries/conf_timeseriespoint.xml, doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/horizontalprofile/conf_mesh.xml: Added missing Namespace declarations to Configurationfiles. 2010-04-27 Tim Englich ISSUE262 * doc/conf/products/horizontalprofile/conf_mesh_cross.xml: Renamed StateIds because they were similar to the StateIds of the product Horrizontal Profile. This was done to prevent possible trouble using the Cachemechanism which use the StateId as part of the Key. 2010-04-27 Ingo Weinzierl Issue218 & Issue220 * doc/conf/conf.xml: Removed duplicated mapfile path configurations and replaced absolute path definitions with relative ones. * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Changed XPath expression regarding the changes in conf.xml. 2010-04-27 Ingo Weinzierl Issue6 * doc/conf/log.conf: Removed, because this file is not used. 2010-04-27 Ingo Weinzierl Issue246 (Added missing units to the legend text.) * contrib/palette2polygonVM.xsl: Use description attribute from palette xml file to create the legend text instead of from/to attributes. * doc/conf/maptemplates/flow-velocity_polygons.class.vm, doc/conf/maptemplates/water-temperature_polygons.class.vm, doc/conf/maptemplates/salinity_polygons.class.vm: Added units to the legend text. 2010-04-26 Ingo Weinzierl Issue251 * src/main/java/de/intevation/gnv/state/SingleInputState.java: Override feed method for input validation. * src/main/java/de/intevation/gnv/utils/InputValidator.java: New case: an empty string is invalid. 2010-04-26 Tim Englich ISSUE252 * doc/conf/queries.properties: Modified Query for selecting metadata for creating ZipFiles or publish Layer as WMS so that it is possible to handle more than one Layer in one request. * doc/conf/products/layer/conf.xml: Modified workflow so that it is possible to select more than one Layer to download them as Shapefile or publish them as WMS. * src/main/java/de/intevation/gnv/utils/MetaWriter.java (writeLayerMeta), (writeLayerMeta), writeMetaFile): modified Methods so that it is possible to generate a Metafile containing more than one Layer in it. * src/main/java/de/intevation/gnv/state/layer/LayerMetaData.java: Added Beanclass for temporal storing the Metadata which is required to generate a Shapafile or an WMS-Layer. * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java: Modified the workflow so that it is possible to export multiple Layer in one Zip-File or publish multiple Layers in one WMS. 2010-04-23 Ingo Weinzierl Issue235 * doc/conf/conf.xml: Adapted the MapServer path in the configuration to call the wrapper that exports the mapfile path (see below). 2010-04-23 Ingo Weinzierl Issue220 * contrib/mapserv: Added a very simple wrapper script to export the mapfile path for MapServer. 2010-04-23 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Inherit from HorizontalProfileMeshOutputState - both are used on meshes. Subtitle creation for charts is the same here * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshOutputState.java: Add newline strings after each point in the chart subtitle. 2010-04-23 Ingo Weinzierl Issue138 * doc/conf/products/horizontalprofile/conf_mesh.xml: Splitted the outputstates of horizontalprofiles into meshes and non-meshes to handle the chart subtitle creation. * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshOutputState.java, src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: Outputstates for horizontal profiles. 2010-04-23 Tim Englich * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (getWMS): Fixed Bug Renaming Layer. Now the Title is set and the correct method is called. * src/main/java/de/intevation/gnv/utils/MetaWriter.java (writeLayerMeta): Put Node Title into XML-Fragment of an Layer so that it is possible to change the name of an Layer. * doc/conf/maptemplates/layer_polygon.vm, doc/conf/maptemplates/layer_point.vm, doc/conf/maptemplates/layer_linestring.vm: Modified Templates so that the Name of an layer is fetched from the Title of the Layerbean. This is the same way as used in any other Templates. 2010-04-22 Ingo Weinzierl Issue217 * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Added the cell width of the interpolation to the constructor call of the odv export. * src/main/java/de/intevation/gnv/exports/VerticalCrossODVExport.java: Corrected the depth calculation. 2010-04-21 Ingo Weinzierl Issue228 * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: The presentation of values contained in the statistic are language specific, now. 2010-04-21 Ingo Weinzierl Issue217 * src/main/java/de/intevation/gnv/exports/VerticalCrossODVExport.java: The first column (cruise) in an odv export is filled with a static "GNVExport" string. The second column (station) is filled with a generated string "Station" concartinated with the index of the current coordinate (e.g. "Station_1"). Both columns are written to odv only if the coordinate changes - otherwise these strings are replaced by tabs. 2010-04-21 Ingo Weinzierl Issue233 * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Expand the range of the range axis (y-axis) manually if there is only one data point or more data points with the same value. 2010-04-21 Ingo Weinzierl Issue243 * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Added an y-axis label for histogram creation. * 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 the string used as y-axis label in histograms. 2010-04-21 Ingo Weinzierl Issue231 * 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: Switched histogram parameter type 'binwidth' from integer to double. 2010-04-21 Ingo Weinzierl Issue229 JFreeChart needs at least a lower and a different upper bounds to calculate the range of the domain axis automatically. * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Override method that adjusts the range of domain and range axes. * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Override method that adjusts the range of domain and range axes. If there are more changes to be done in the future, caused by inheritance from VerticalProfileChart, we should stop that and derive this class from AbstractXYLineChart! 2010-04-20 Tim Englich * src/main/java/de/intevation/gnv/artifacts/cache/CacheFactory.java (initializeCache): Initialize the CacheCline after the initialization of the ThematicDataCache. * src/main/java/de/intevation/gnv/state/StateBase.java (setHash): Integrate an '#' as separator in the Hashvalue of an State to separate the StateId unambiguously. This is required because a StateId can be a Substring of an other StateId. * src/main/java/de/intevation/gnv/state/cache/QueryObject.java: Bean for representing all database-Queries which are used for fetching Data which is stoted in the ThematicDataCache. * src/main/java/de/intevation/gnv/state/cache/ThematicDataCacheCleaner.java: Specific CacheCleaner for cleaning the ThematicData-Cache. It extend the CacheCleaner of the geo-backand and has the same configuration possibilities. 2010-04-20 Tim Englich * doc/conf/queries.properties: Added Query for the CacheCleaner that it use to determin which Tables has been updated. 2010-04-20 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Removed a TODO from code -> TODO already implemented. 2010-04-20 Ingo Weinzierl Issue163: Workaround improved. * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: Removed the bottom and left space between data area and plot border and set a padding of 10px between each border of the whole area (containing plot area, legend, chart title, etc). 2010-04-20 Ingo Weinzierl Issue163: Workaround implemented. * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: Added a gap between data area and the plot border to avoid an amount of cut axes labels (small labels aren't cut anymore, large labels will still be cut). * src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java: Added some necessary methods to set the first domain and range axis. 2010-04-20 Ingo Weinzierl Issue235 * doc/conf/maptemplates/mapfile.vm: Added a metadata section into the mapfile template. * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Read the URL of the MapServer from configuration and feed the template with this information. The URL is used in the metadata section for filling the 'wms onlineresource' field. 2010-04-19 Ingo Weinzierl Issue152 * src/main/java/de/intevation/gnv/state/StateBase.java: Added a date formatter for parsing dates from internal data objects. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Added the time interval of timeseries charts into the subtitle of this charts. 2010-04-19 Ingo Weinzierl Issue226 * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Iterate through former states when searching for an input collections - searching in the current state is not enough because it stores the current input values only. 2010-04-19 Ingo Weinzierl Issue217 * doc/conf/products/verticalcrosssection/conf_mesh.xml: Added odv as possible export format. * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: Collect the necessary data for an odv export and trigger VerticalCrossODVExport that writes this data as odv to an output stream. * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Store coordinates for each colum in a class variable. * src/main/java/de/intevation/gnv/exports/VerticalCrossODVExport.java: Write data used in 'Profilschnitten' to an odv file. TODO: The implementation is not finished yet. There are no cruises and stations for 'Profilschnitte', so we need to clarify if this columns can be skipped. 2010-04-18 Sascha L. Teichmann * src/main/java/de/intevation/gnv/**/*.java: Using unix line endings only. 2010-04-17 Sascha L. Teichmann * src/main/java/de/intevation/gnv/**/*.java: Removed trailing whitespace. 2010-04-16 Tim Englich ISSUE232 * doc/conf/meshwidth.xml: Added missing Meshes to the Configuration and added more detailed descriptions to the entries so they can be refred easier to the Meshes in the System. 2010-04-16 Tim Englich ISSUE200 * doc/conf/queries.properties: Modified Query for selecting available Layer for product Layer. The table has an Column named Items which contains the Number of Items that are in the Layer. Only Layer which are not empty should be displayed. 2010-04-15 Ingo Weinzierl Issue175 * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Read percentage that defines the gap size in charts from system property "chart.gap.percentage". The default value is 5 (percent) if this property is not existing. 2010-04-13 Tim Englich * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java (createODV), * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java (createODV): Extract ODV-Generation into its own method that it is possible to override it in subclasses. 2010-04-13 Tim Englich * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java (getWMS): Bugfix: Put some Code that is responsible for Synchonization into the final-block to prevent that the lock is not released. 2010-04-13 Tim Englich * doc/conf/products/layer/conf.xml, src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java : Integrated the possibility to change the Title of an Layer in Product Layer. 2010-04-13 Tim Englich * src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java: Removed obsolet SuppressWarnings-Annotations. 2010-04-13 Tim Englich * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultFIS.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultLayer.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultMapService.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultParameter.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/FIS.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Layer.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/MapService.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Parameter.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/package.html: Added more Javadoc. 2010-04-13 Tim Englich * src/main/java/de/intevation/gnv/transition/package.html, src/main/java/de/intevation/gnv/transition/ValueCompareTransition.java, src/main/java/de/intevation/gnv/transition/TransitionFactory.java, src/main/java/de/intevation/gnv/transition/PresettingsValueCompareTransition.java: Added more Javadoc. 2010-04-13 Tim Englich * src/main/java/de/intevation/gnv/transition/package.html: Added more Javadoc. 2010-04-13 Tim Englich * src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java, src/main/java/de/intevation/gnv/state/MinMaxDateState.java, src/main/java/de/intevation/gnv/state/MinMaxState.java, src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.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/profile/horizontal/HorizontalProfileOutputState.java, src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java, src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java : Removed obsolet SuppressWarnings-Annotations. 2010-04-12 Tim Englich * src/main/java/de/intevation/gnv/state/layer/package.html: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java : Added more Javadoc. Removed obsolet TODO-Flags. 2010-04-12 Tim Englich * src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java: * src/main/java/de/intevation/gnv/artifacts/services/MetaDataServiceException.java (MetaDataServiceException): * src/main/java/de/intevation/gnv/artifacts/services/package.html: Added more Javadoc. 2010-04-12 Tim Englich * src/main/java/de/intevation/gnv/layer/package.html, src/main/java/de/intevation/gnv/layer/LayerArtifact.java: Added more Javadoc. 2010-04-12 Tim Englich * src/main/java/de/intevation/gnv/state/OutputStateBase.java (putInputData): BUGFIX: Chartresults where stored in Cache using null-Value as Key. This happend because the setHash-method was not called in Method putInputData of this Class. This causes that the Data was fetched every time from the Database when out was called and twice during the intialisationprocess of the State. 2010-04-12 Ingo Weinzierl * src/main/java/de/intevation/gnv/artifacts/fis/product/package.html, src/main/java/de/intevation/gnv/artifacts/fis/package.html, src/main/java/de/intevation/gnv/artifacts/cache/package.html, src/main/java/de/intevation/gnv/artifacts/context/package.html, src/main/java/de/intevation/gnv/artifacts/ressource/package.html, src/main/java/de/intevation/gnv/artifacts/package.html, src/main/java/de/intevation/gnv/state/exception/package.html, src/main/java/de/intevation/gnv/state/package.html, src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/package.html, src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/package.html, src/main/java/de/intevation/gnv/state/profile/horizontal/package.html, src/main/java/de/intevation/gnv/state/profile/vertical/package.html, src/main/java/de/intevation/gnv/state/timeseries/package.html, src/main/java/de/intevation/gnv/state/describedata/package.html, src/main/java/de/intevation/gnv/statistics/exception/package.html, src/main/java/de/intevation/gnv/statistics/package.html, src/main/java/de/intevation/gnv/histogram/package.html, src/main/java/de/intevation/gnv/profile/horizontalcrosssection/package.html, src/main/java/de/intevation/gnv/profile/verticalcrosssection/package.html, src/main/java/de/intevation/gnv/profile/horizontal/package.html, src/main/java/de/intevation/gnv/profile/vertical/package.html, src/main/java/de/intevation/gnv/utils/exception/package.html, src/main/java/de/intevation/gnv/utils/package.html, src/main/java/de/intevation/gnv/chart/exception/package.html src/main/java/de/intevation/gnv/chart/package.html, src/main/java/de/intevation/gnv/exports/package.html, src/main/java/de/intevation/gnv/wms/package.html, src/main/java/de/intevation/gnv/timeseries/gap/package.html, src/main/java/de/intevation/gnv/timeseries/package.html, src/main/java/de/intevation/gnv/jfreechart/package.html: Added package descriptions for the different packages. * src/main/java/de/intevation/gnv/artifacts/GNVArtifactFactory.java, src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java, src/main/java/de/intevation/gnv/chart/ChartLabels.java: Added missing class descriptions. 2010-04-12 Tim Englich ISSUE 215 msg1189 * src/main/java/de/intevation/gnv/exports/ODVExport.java (writeData): Switched Values between columns yyyy-mm-dd hh:mm and time_ISO8601 and manipulate the Values that they are in the correct Format. This is nessessary because of the definitions of Timeseries in ODV-Exports. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java (getStartTime): Modified Format of the TimeStamp of the Starttime of TimeSeries in that case that it does not contains the values for the seconds. 2010-04-12 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/DefaultAutoResumeState.java, src/main/java/de/intevation/gnv/state/DefaultInputValue.java, src/main/java/de/intevation/gnv/state/SingleInputState.java, src/main/java/de/intevation/gnv/state/StateFactory.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/InputData.java, src/main/java/de/intevation/gnv/state/MinMaxState.java, src/main/java/de/intevation/gnv/state/DefaultExportMode.java, src/main/java/de/intevation/gnv/state/OutputStateBase.java, src/main/java/de/intevation/gnv/state/DefaultInputData.java, src/main/java/de/intevation/gnv/state/CoordinateSelectionState.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/services/MetaDataService.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultLayer.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultMapService.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultParameter.java, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, src/main/java/de/intevation/gnv/math/AreaInterpolation.java, src/main/java/de/intevation/gnv/math/GridCell.java, src/main/java/de/intevation/gnv/transition/Transition.java, src/main/java/de/intevation/gnv/utils/ExclusiveExec.java, src/main/java/de/intevation/gnv/chart/DefaultHistogram.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java, src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java, src/main/java/de/intevation/gnv/exports/ShapeDataCollector.java, src/main/java/de/intevation/gnv/exports/ChartExportHelper.java, src/main/java/de/intevation/gnv/exports/DefaultExport.java, src/main/java/de/intevation/gnv/exports/ODVExport.java, src/main/java/de/intevation/gnv/jfreechart/LevelOrderIndices.java, src/main/java/de/intevation/gnv/jfreechart/PolygonSeries.java, src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java, src/main/java/de/intevation/gnv/jfreechart/CompactXYItems.java, src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: Removed JavaDoc compiler warnings caused by broken references and fields without content. 2010-04-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/statistics/StatisticSet.java, src/main/java/de/intevation/gnv/statistics/VerticalCrossSectionStatistics.java, src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java, 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/Statistic.java, src/main/java/de/intevation/gnv/statistics/Statistics.java, src/main/java/de/intevation/gnv/statistics/AbstractStatistics.java: Added more Javadoc. 2010-04-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/exception/StateException.java, src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java, src/main/java/de/intevation/gnv/transition/DefaultTransition.java, 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/PresettingsValueCompareTransition.java, src/main/java/de/intevation/gnv/transition/Transition.java, src/main/java/de/intevation/gnv/transition/ValueCompareTransition.java: Added Javadoc. 2010-04-09 Tim Englich ISSUE 215 msg1170 * src/main/java/de/intevation/gnv/exports/ODVExport.java : Modified ODV-Export that it is possible to integrate an Timestamp which identifies a TimeSeries. The additional Column will only be integrated if the given Timestamp has an value and is not null. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java (getStartTime): Integrated Method for lookup the Starttimevalue of an TimeSeries to use it in ODV-Exports. If no Startdate is stored (e.g. if this Methos is called by an verticalProfileOutputstate) null will be returned an put into the ODV-Export. * doc/conf/products/timeseries/conf_mesh.xml: Added valuename for the Timeinterval to fetch the Starttime of an TimeSeries from the inputData to integrate it into the ODV-Export. 2010-04-09 Ingo Weinzierl * 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/horizontal/NorthSouthEastWestState.java: Added more Javadoc. 2010-04-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/timeseries/TimeSeriesMeshArtifact.java, src/main/java/de/intevation/gnv/timeseries/gap/TimeGap.java, src/main/java/de/intevation/gnv/timeseries/gap/DefaultTimeGap.java, src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java: Added more Javadoc. 2010-04-09 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/describedata/NamedArrayList.java, src/main/java/de/intevation/gnv/state/describedata/NamedCollection.java, src/main/java/de/intevation/gnv/state/describedata/ExtendedKeyValueData.java, src/main/java/de/intevation/gnv/state/describedata/MinMaxDescribeData.java, src/main/java/de/intevation/gnv/state/describedata/DefaultKeyValueDescribeData.java, src/main/java/de/intevation/gnv/state/describedata/DefaultMinMaxDescribeData.java, src/main/java/de/intevation/gnv/state/describedata/SingleValueDescribeData.java, src/main/java/de/intevation/gnv/state/describedata/DescribeData.java, src/main/java/de/intevation/gnv/state/describedata/DefaultSingleValueDescribeData.java, src/main/java/de/intevation/gnv/state/describedata/KeyValueDescibeData.java: More Javadoc. 2010-04-08 Sascha L. Teichmann * src/main/java/de/intevation/gnv/math/Interpolation3D.java, src/main/java/de/intevation/gnv/math/package.html, src/main/java/de/intevation/gnv/math/AreaInterpolation.java, src/main/java/de/intevation/gnv/math/AttributedXYColumns.java, src/main/java/de/intevation/gnv/math/AttributedPoint2ds.java: Finished the javadoc of the math package. 2010-04-08 Sascha L. Teichmann * src/main/java/de/intevation/gnv/math/ConstantFunction.java, src/main/java/de/intevation/gnv/math/L1Comparator.java, src/main/java/de/intevation/gnv/math/HeightValue.java, src/main/java/de/intevation/gnv/math/Interpolation2D.java, src/main/java/de/intevation/gnv/math/XYColumn.java, src/main/java/de/intevation/gnv/math/LinearFunction.java, src/main/java/de/intevation/gnv/math/GridCell.java, src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: Added more javadoc. * src/main/java/de/intevation/gnv/utils/FileUtils.java, src/main/java/de/intevation/gnv/utils/MetaWriter.java, src/main/java/de/intevation/gnv/utils/DistanceCalculator.java, src/main/java/de/intevation/gnv/utils/MapfileGenerator.java, src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java, src/main/java/de/intevation/gnv/utils/Pair.java: Removed trailing whitespace 2010-04-08 Ingo Weinzierl * src/main/java/de/intevation/gnv/utils/FileUtils.java, src/main/java/de/intevation/gnv/utils/DistanceCalculator.java, src/main/java/de/intevation/gnv/utils/InputValidator.java, src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java, src/main/java/de/intevation/gnv/utils/ExclusiveExec.java, src/main/java/de/intevation/gnv/utils/MetaWriter.java, src/main/java/de/intevation/gnv/utils/MapfileGenerator.java, src/main/java/de/intevation/gnv/utils/WKTUtils.java, src/main/java/de/intevation/gnv/utils/StringUtils.java, src/main/java/de/intevation/gnv/utils/Pair.java, src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java: Added Javadoc. * src/main/java/de/intevation/gnv/utils/ArtifactFactoryUtilities.java: Removed. 2010-04-08 Sascha L. Teichmann * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Removed trailing whitespace. * src/main/java/de/intevation/gnv/math/ConstantXYDepth.java, src/main/java/de/intevation/gnv/math/LinearMetrics.java, src/main/java/de/intevation/gnv/math/QueriedXYDepth.java, src/main/java/de/intevation/gnv/math/L1Comparator.java, src/main/java/de/intevation/gnv/math/Metrics.java, src/main/java/de/intevation/gnv/math/LinearToMap.java, src/main/java/de/intevation/gnv/math/LinearFunction.java, src/main/java/de/intevation/gnv/math/Interpolator.java: Added more javadoc. 2010-04-08 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/OutputHelper.java, src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java, src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Added Javadoc. 2010-04-07 Sascha L. Teichmann * src/main/java/de/intevation/gnv/**/*.java: Removed trailing whitespace. 2010-04-07 Sascha L. Teichmann * src/main/java/de/intevation/gnv/raster/ExternalIndexConverter.java, src/main/java/de/intevation/gnv/raster/JTSMultiLineStringProducer.java, src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java, src/main/java/de/intevation/gnv/raster/DemuxRingsHandler.java, src/main/java/de/intevation/gnv/raster/IsoAttributeGenerator.java, src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java, src/main/java/de/intevation/gnv/raster/IsoProducer.java: Finished Javadoc of the raster package. 2010-04-06 Sascha L. Teichmann * src/main/java/de/intevation/gnv/**/*.java: More javadoc. 2010-04-06 Tim Englich ISSUE215: Rows will not be merged to one Single Row if their values are identical. * src/main/java/de/intevation/gnv/exports/ODVExport.java (writeData): Replaced the StringArray using as Key against the new Class StringArrayKey. This was nessesarry tp detect Rows with same Values joining them to one Row. * src/main/java/de/intevation/gnv/exports/StringArrayKey.java (StringArrayKey): Added new Class for representing the Key of an StringArray not using the Hash of the Array but using the hash of the values which are stored in the Array. 2010-04-06 Tim Englich ISSUE213: Wrong Geometrytype used for the generation of an Layer with Multipolygon-Geometries * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (getWMS): Integrated lookup of the Geometrytypes using a separat SQL-Statement. Also added a separat Function for determining the Defaulttemplate for the Mapfile-Generation. * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java (writeDataToFile): Changed Methodsignature. Now it's possible to put the Geometrytype which is required to generate the Layer and not use the Geometrytype of the first Geometry of the Resultvalues. This was nessessary because we can have several kinds of geometrytypes (e.g. MultiPolygons and Polygons) in one Layer. In that case we have to use the Multi* (e.g. MultiPolygon) as Geometrytype. * doc/conf/queries.properties: Added Query for determining the geometryType of a Layer. 2010-04-06 Sascha L. Teichmann * src/main/java/de/intevation/gnv/**/*.java: Fixed vim modeline. * src/main/java/de/intevation/gnv/math/L1Comparator.java: Moved L1 code here. * src/main/java/de/intevation/gnv/math/Point2d.java: Removed dead inverse L1 code. Added Javadoc. * src/main/java/de/intevation/gnv/math/IJKey.java: Added Javadoc. 2010-04-06 Sascha L. Teichmann * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java, src/test/java/de/intevation/gnv/artifacts/TestArtifactDatabase.java: Fix to let the test mockups implement their interfaces. 2010-03-31 Ingo Weinzierl * src/main/java/de/intevation/gnv/jfreechart/LevelOrderIndices.java, src/main/java/de/intevation/gnv/jfreechart/PolygonSeries.java, src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java, src/main/java/de/intevation/gnv/jfreechart/CompactXYItems.java, src/main/java/de/intevation/gnv/jfreechart/PolygonSeriesLabelGenerator.java, src/main/java/de/intevation/gnv/jfreechart/PolygonDataset.java, src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: Added JavaDoc. 2010-03-31 Ingo Weinzierl * src/main/java/de/intevation/gnv/exports/Export.java, src/main/java/de/intevation/gnv/exports/ChartExportHelper.java, src/main/java/de/intevation/gnv/exports/ODVExport.java: Repaired JavaDoc. 2010-03-31 Ingo Weinzierl * src/main/java/de/intevation/gnv/chart/Chart.java, src/main/java/de/intevation/gnv/chart/XMLChartTheme.java, src/main/java/de/intevation/gnv/chart/exception/TechnicalChartException.java: Added missing vim control comments. 2010-03-31 Ingo Weinzierl * 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/services/MetaDataServiceException.java, src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Parameter.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultLayer.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/FIS.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultMapService.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultParameter.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultFIS.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Layer.java, src/main/java/de/intevation/gnv/artifacts/services/requestobjects/MapService.java, src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java: Added and repaired JavaDoc. 2010-03-31 Ingo Weinzierl * src/main/java/de/intevation/gnv/artifacts/cache/CacheFactory.java: Added and repaired JavaDoc. 2010-03-31 Ingo Weinzierl * src/main/java/de/intevation/gnv/artifacts/GNVArtifactFactory.java, src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java, src/main/java/de/intevation/gnv/artifacts/PreSettingArtifact.java, src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, src/main/java/de/intevation/gnv/artifacts/GNVDefaultArtifact.java: Added JavaDoc for this package. 2010-03-31 Ingo Weinzierl * src/main/java/de/intevation/gnv/chart/XMLChartTheme.java, src/main/java/de/intevation/gnv/chart/HorizontalCrossProfileChart.java, src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java, 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, src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Corrected JavaDoc errors. 2010-03-30 Ingo Weinzierl Issue214 * src/main/java/de/intevation/gnv/utils/InputValidator.java: Added code for validating polygons and linestrings. The input type needs to be 'polygon' or 'linestring'. * doc/conf/products/horizontalcrosssection/conf_mesh.xml: Changed the input type of the wkt string from 'string' to 'polygon'. * doc/conf/products/verticalcrosssection/conf_mesh.xml: Changed the input type of the wkt string from 'string' to 'linestring'. 2010-03-30 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/ExtendedInputData.java: Added a method splitParameter() to retrieve the parameter ids as array (analog to splitValue() in DefaultInputData). 2010-03-30 Ingo Weinzierl Issue210 (First work for saving relation between selected measurement and the parameter it belongs to completed) * src/main/java/de/intevation/gnv/state/DefaultInputData.java: Added a further constructor and changed the visibility of the separator character used by this class to public. * src/main/java/de/intevation/gnv/state/ExtendedInputData.java: This class enhances DefaultInputData and has a further field storing a string parameter. This is necessary to save the information about the relation between selected measurement and the parameter it belongs to. * src/main/java/de/intevation/gnv/state/MeasurementState.java: Little changes in the data of the describe document. The value for the checkboxes are composed of the measurement id and the parameter id separated by a semicolon. Furthermore the incoming document of a feed call is parsed in this class to save the relation between selected measurement and the parameter it belongs to. ExtendedInputData class is used as storage. * src/main/java/de/intevation/gnv/utils/InputValidator.java: Changed the method signatures of all methods to static for using it without instantiating an object of this class. 2010-03-30 Ingo Weinzierl Issue212 (Improved input validation) * src/main/java/de/intevation/gnv/state/MinMaxDateState.java: Improved date input validation. The chosen date needs to be in range between upper and lower date, otherwise an error message is displayed and the user needs to correct his choice. * src/main/java/de/intevation/gnv/utils/InputValidator.java: Added a new method to validate a given date being in range between an upper and a lower date bound. * 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 error messages for failures while date validation. 2010-03-29 Ingo Weinzierl Issue192 * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Added an offset of 15px between the right data area and the right axis. Long axes labels near the right border aren't cut on this way. 2010-03-29 Sascha L. Teichmann * src/main/java/de/intevation/gnv/**/package.html: New Added package description with text 'DOCUMENT ME!'. 2010-03-29 Ingo Weinzierl * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Each TimeSeriesArtifacts stores information about its TimeGapDefinitions, otherwise we are not able to continue with an artifact after a restart of the artifact server. TODO: The information about TimeGapDefinitions are equal for each type of artifacts. It would be better to store these definitions on a central place (i.e. see ChartTheme configuration). * src/main/java/de/intevation/gnv/timeseries/gap/TimeGap.java: Implements Serializable. 2010-03-29 Sascha L. Teichmann * src/main/java/de/intevation/gnv/**/*.java: Bring @author javadoc tags in form '@author John Doe' find -name \*.java | \ xargs sed -i \ -e 's/@author[ ]\+\([^(<]\+\)[<(]\([^>)]\+\)[>)]/@author \1<\/a>/g' \ -e 's@[ ]\+@@g' 2010-03-29 Sascha L. Teichmann * src/main/java/de/intevation/gnv/**/*.java, src/main/java/de/intevation/gnv/**/*.java: Ordered imports. Removed needless imports. Removed empty headers. 2010-03-29 Sascha L. Teichmann * src/test/java/de/intevation/gnv/**/*.java, src/main/java/de/intevation/gnv/**/*.java: Removed trailing whitespace. find -name \*.java | xargs sed -i 's/[ \t]\+$// 2010-03-26 Tim Englich * doc/conf/queries.properties: Added Query for fetching the Series and Instantaneouspoints of Series using an WKT as the Geometryvalue or using the Values set by the Regionfilter to define the Region of Interest. * doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Modified the Workflow for Verticalprofiles on Instantaneouspoints so that the Inputvalues of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be displaied if an Polygon was send by the Mapviewer. Also integrated the Regionfilter to the Workflow. 2010-03-26 Ingo Weinzierl Issue164 * src/main/java/de/intevation/gnv/utils/ExclusiveExec.java: New. This class can be used to synchronize threads with a given key. To use this synchronization, you just have to do something like the following: UniqueKey token = ExclusiveExec.INSTANCE.acquire(key); // your code to be synchronized ExclusiveExec.INSTANCE.release(token); A thread needs to wait if there is already a thread with the given key which has acquired a token. Threads with a different key don't need to wait for this thread. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Synchronize shapefile writing of artifacts which have the same uuid. * src/main/java/de/intevation/gnv/utils/FileUtils.java: Added a function to delete the content of a directory. 2010-03-26 Ingo Weinzierl Issue211 (Applied patch) * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Removed race-condition when trying to access the index of the next line color used in chart. 2010-03-26 Ingo Weinzierl * src/main/java/de/intevation/gnv/utils/MetaWriter.java: Avoid danger to get a NullPointerException if no time to live is served by CallContext. 2010-03-26 Ingo Weinzierl Issue197 * src/main/java/de/intevation/gnv/utils/MetaWriter.java: Fetch time to live of an artifact from CallContext and put it into meta document. 2010-03-25 Ingo Weinzierl * 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/ChartExportHelper.java, src/main/java/de/intevation/gnv/exports/SimpleOdvDataCollector.java, src/main/java/de/intevation/gnv/exports/DefaultDataCollector.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/exports/ODVExport.java: Added javadoc and turned javadoc author tag into a 'mailto' form. 2010-03-24 Ingo Weinzierl * src/main/java/de/intevation/gnv/histogram/HistogramHelper.java: Removed a method which was commented out, added javadocs and turned javadoc author tag into a 'mailto' form. 2010-03-24 Ingo Weinzierl * src/main/java/de/intevation/gnv/layer/LayerArtifact.java: Removed empty comment lines at the beginning of the class and turned javadoc author tag into a form which displays a mailto link in html. 2010-03-24 Ingo Weinzierl * src/main/java/de/intevation/gnv/wms/LayerInfo.java: Added javadoc in wms package. 2010-03-24 Ingo Weinzierl * src/main/java/de/intevation/gnv/chart/Chart.java, src/main/java/de/intevation/gnv/chart/DefaultHistogram.java, src/main/java/de/intevation/gnv/chart/XMLChartTheme.java, src/main/java/de/intevation/gnv/chart/HorizontalCrossProfileChart.java, src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, src/main/java/de/intevation/gnv/chart/exception/TechnicalChartException.java, src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java, src/main/java/de/intevation/gnv/chart/AbstractHistogram.java, src/main/java/de/intevation/gnv/chart/ChartLabels.java, src/main/java/de/intevation/gnv/chart/AbstractChart.java, src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java, src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Added and repaired javadoc in chart package. * src/main/java/de/intevation/gnv/chart/Insets.java, src/main/java/de/intevation/gnv/chart/ChartStyle.java: Removed these classes, because they aren't used anymore. 2010-03-23 Tim Englich * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_feed.xml, src/test/ressources/timeseries_mesh/timeseries_step_08_feed.xml: Switched to valid Timestamps to enable testing ODV-Output. 2010-03-23 Tim Englich * src/main/java/de/intevation/gnv/exports/ODVExport.java: Added new Export-Class which will generate the special ODV-Format. This one is required because we have to switch the Format from a Rowbased Representation to a Columnbased. This meas that for each Parameter which was requested two additonal Columns, one for the Parametervalue and one for the Quality, has to be added to the Export. This differs to the "normal" CSV-Export. * src/main/java/de/intevation/gnv/exports/DefaultExport.java (collector): Switched Member from private to protected to make it available from extending Classes. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Modified the Colums and the Column-headers and Columns-names for the ODV-Export that all required Data is put into the Document in the right order and the right nameing. Switche to the NEW ODVExport-Class to use it for all ODV-Exports. * doc/conf/queries.properties: Modified the Queries for the ODV-Export that all required Informations are fetched from the Database. 2010-03-22 Tim Englich * src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_feed.xml, src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_feed.xml: Switched to valid Timestamps to enable testing CSV-Output. 2010-03-22 Tim Englich * src/main/java/de/intevation/gnv/state/StateBase.java (feed): Bugfix: The Description of an InputData-Object will now only be fetched if the Name of the data of the Current State is equal to the Name of the InputData-Object. This Fix prevent some Exceptions that happen if the Query need som Inputdata which was not set at that moment. 2010-03-22 Tim Englich ISSUE 122 * src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java, src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: Added all required Columns for the CSV-Export. Integrated own Columnspecifications for the different Kinds of Profiles (TimeSeriesPoints, Mesh, InstantaneousPoint). * doc/conf/queries.properties: Manipulated the Queries for fetching the Data for generating the CSV-Output for all kinds of Vertical- and Horizontalprofiles in that way that now all required Columns were included. * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: Removed deprecated TODO-Flags. 2010-03-22 Ingo Weinzierl Issue209 * doc/conf/maptemplates/horizontalcrosssection_salinity_isolines.vm, doc/conf/maptemplates/horizontalcrosssection_flow-velocity_isolines.vm, doc/conf/maptemplates/horizontalcrosssection_water-levels_isolines.vm, doc/conf/maptemplates/horizontalcrosssection_water-temperature_isolines.vm: Improved the template configuration for the given changes in rev814. * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java: Moved the settings of the format used to write floating point numbers into the shapefile description column into a static block of this class to avoid doing this each time converting a double value to a description. 2010-03-22 Ingo Weinzierl Issue209 * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java: Added a further column in the isolines shapefile to store a description for each line. This description column contains the double value with three maximum fraction digits. This is a workaround to adjust the rendering of double values which cannot be adjusted in MapServer at the moment. MapServer would display all fraction digits contained in the shapefile causing very long labels. 2010-03-22 Ingo Weinzierl Issue208 (Added a cleanup mechanism to do some things before exporting an artifact) * src/main/java/de/intevation/gnv/state/State.java: Added a cleanup method to remove special data stored at this state while processing an 'out'-target. * src/main/java/de/intevation/gnv/state/StateBase.java: Default implementation of this cleanup method - nothing is done here so far. Override this method in states which should remove data before being exported. * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Overrides this cleanup method to remove the current shapefile path. * src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java: Call cleanup method of the current state if the cleanup method of this artifact itself is called. 2010-03-19 Tim Englich * doc/conf/products/horizontalprofile/conf_mesh_cross.xml: Modified the Workflow for "Horizontales Schnittprofil" so that the Inputvalues of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be displaied if an Polygon was send by the Mapviewer. Also the Input of an LineString will be skipped if a LineString was send by the MapViewer. 2010-03-19 Tim Englich * src/main/resources/lang/artifactMessages_de*.properties: Added new German resources for fis_marinefeatures according to msg1067 of Issue2005. 2010-03-19 Tim Englich * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java: Added Support of Layers which are Joined from two Tables. Only the Columns of the first Table will be inserted to prevent Namecollisions of Attributenames. * doc/conf/queries.properties: Added full qualified Columnname to prevent Namecolliosions in SQL-Statement for querying Layer-Data if two Tables are Joined to one Layer. 2010-03-19 Tim Englich * src/main/resources/lang/artifactMessages*.properties: Added Ressources for new FIS Marine Features. * doc/conf/conf.xml: ISSUE 205 Integrated FIS Marine Features with Product Layer into the System. 2010-03-19 Tim Englich * doc/conf/queries.properties: ISSUE92 Integrated Column BAND for Query of Layers which belong to a FIS. The Displayname of an Layer is now TITLE - LAYER_NAME - BAND 2010-03-19 Tim Englich * doc/conf/products/verticalcrosssection/conf_mesh.xml: Modified the Workflow of the verticalcrosssection that the Geometry is now copied to the Inpuvalues if it comes from the Mapviewer-Interfacecall. 2010-03-19 Tim Englich * doc/conf/products/horizontalcrosssection/conf_mesh.xml: Modified the Workflow for Horizontalcrosssections so that the Inputvalues of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be displaied if an Polygon was send by the Mapviewer. Also the Input of an Polygon will be skipped if a Polygon was send by the MapViewer. 2010-03-19 Tim Englich * doc/conf/products/horizontalprofile/conf_mesh.xml: Modified the Workflow for Horizontalprofiles so that the Inputvalues of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be displaied if an Polygon was send by the Mapviewer. Also the Input of an Point will be skipped if a Point was send by the MapViewer. 2010-03-16 Tim Englich * doc/conf/products/verticalcrosssection/conf_mesh.xml: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be displaied if an Polygon was send by the Mapviewer. Also the Input of an LineString will be skipped if a LineString was send by the MapViewer. 2010-03-16 Tim Englich * doc/conf/queries.properties: Bugfixes: Fixed the Query for Parameters in Timeseries and VerticalProfiles in Meshes. Now all Parts of an Mesh will be used and not only the last one. 2010-03-16 Tim Englich * doc/conf/products/timeseries/conf_mesh.xml, doc/conf/products/verticalprofile/conf_mesh.xml: Modified the Workflow for Verticalprofiles and Timeseries on Meshes in that case that the Inputvalues of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be displaied if an Polygon was send by the Mapviewer. 2010-03-16 Tim Englich * src/main/java/de/intevation/gnv/state/PreSettingsTransferCoordinateSelectionState.java: Added an new State wich will handle the Display of Coordinatevalues and fetch given Inputparameters from the Presettings and copy them to the InputValues. This new Class is necessary because we can have Pointobjects given in the Presettings which should be used to fetch all MeshPoints within a given Distance aroud the Coordinate and display its Coordindatevalues. 2010-03-16 Tim Englich * src/main/java/de/intevation/gnv/utils/InputValidator.java (getPointValue): Integrated handling of WKT-Strings for Points to extract Points from a given Inputstring. 2010-03-16 Tim Englich * src/main/java/de/intevation/gnv/state/StateBase.java (generateFilterValuesFromInputData): Improvement: Values of Type Geometry which are Points will be prepared as Regions for DB-Query. 2010-03-16 Ingo Weinzierl Issue199 * src/main/java/de/intevation/gnv/state/MeasurementState.java: Changed the describe document creation a bit. The describe document will now have a section for measurement/parameter with each parameter in an own xform:select node which contains different xform:item nodes for each measurement for this parameter. 2010-03-16 Tim Englich * doc/conf/products/layer/conf.xml: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be displaied if an Polygon was send by the Mapviewer. 2010-03-16 Tim Englich * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (fetchData): BugFix: Fixed NPE using the Presettings-Object without given Presettings. 2010-03-15 Tim Englich * doc/conf/products/verticalprofile/conf_timeseriespoint.xml: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be displaied if an Polygon was send by the Mapviewer. 2010-03-15 Tim Englich * doc/conf/queries.properties: Added Query for fetching the TimeSeriespoint using an WKT as the Geometryvalue to define the Region of Interest. * doc/conf/products/timeseries/conf_timeseriespoint.xml: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be displaied if an Polygon was send by the Mapviewer. 2010-03-15 Ingo Weinzierl Issue120 * src/main/java/de/intevation/gnv/state/StateBase.java: New method implemented which searches for a specific parameter by its name in the current state and in all parent states. Null is returned if no parameter could be found with this name, otherwise the InputData object. * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: Display that point in chart subtitle which have been entered by the user. * src/main/java/de/intevation/gnv/utils/WKTUtils.java: Added a new method to transform a Point object to a user-friendly formatted string. 2010-03-15 Tim Englich * doc/conf/products/verticalprofile/conf_timeseriespoint.xml: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be displaied if an Polygon was send by the Mapviewer. 2010-03-15 Tim Englich * doc/conf/queries.properties: Added Query for fetching the TimeSeriespoint using an WKT as the Geometryvalue to define the Region of Interest. * doc/conf/products/timeseries/conf_timeseriespoint.xml: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be displaied if an Polygon was send by the Mapviewer. 2010-03-15 Tim Englich * doc/conf/queries.properties: Integrated and modified Queries for Timeseries on Meshes. * doc/conf/products/timeseries/conf_mesh.xml: Modified the Workflow so that the Inputvalues of the Mapviewer-interface take effect. E.g. The regionfilter will not be displaied if an Polygon was send by the Mapviewer. Also the State for typing an Point will be skipped an the Geometry of the Mapviewercall will be used. 2010-03-15 Tim Englich * src/main/java/de/intevation/gnv/state/StateBase.java, src/main/java/de/intevation/gnv/state/DefaultAutoResumeState.java: Revoke Changes of r771. The Switch if the QueryId is null has several Effects which causes NPEs in other Parts of this Module. So I removed the Changes of r771 and override the effected Methods in DefaultAutoResumeState. 2010-03-15 Tim Englich * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Integrated the handling of AutoResumeStates into the initialization Process of an Artifact. After an Initialization of an Artifact it will be proved if the Current State is an AutoResumeState. If it is the next valid state in the sequence will be set to the current State. 2010-03-15 Tim Englich * 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 * 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 * 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 * 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 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 * 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 * 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 * 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 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 * 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 * 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 * 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 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 * 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 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 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 * 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 * 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 Issue185 * src/main/java/de/intevation/gnv/state/MeasurementState.java: Added missing parameter name in describe document. 2010-03-05 Tim Englich * 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 * doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: ISSUE 191: Pdf, svg and png are now available. 2010-03-04 Ingo Weinzierl * 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 * 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 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 * 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 * 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 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 * 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 * 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 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 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 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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. * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 Issue170 * pom.xml: Changed log4j version to 1.2.14 (later version causes errors and breaks maven build process). 2010-02-05 Tim Englich * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 RELEASE 0.4 * Changes, NEWS, ChangeLog: Summarized activities 2010-01-27 Sascha L. Teichmann * Changes: Reordered items a bit 2010-01-27 Ingo Weinzierl 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 * 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 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 * 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 * 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 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 * doc/conf/products/verticalcrosssection/conf_mesh.xml: Removed csv export from product 'Profilschnitt'. 2010-01-26 Ingo Weinzierl * 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 Issue161 * doc/conf/products/verticalprofile/conf_mesh.xml: Adapted transition model. Splitted date selection into two steps. 2010-01-25 Sascha L. Teichmann 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 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 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 * doc/conf/arcsdeconnectionpool.properties: Set serverRoundtripInterval to 5 seconds and serverInactiveInterval to 5 minutes. 2010-01-25 Ingo Weinzierl * 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 * 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 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 * 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 * contrib/palette2qgis.xsl: Cosmetic cleanups. 2010-01-23 Sascha L. Teichmann * 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 * 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 * 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 * 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 * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Make "Profilschnitte" work the same way like "Horzontalschnitte" again. 2010-01-22 Sascha L. Teichmann * 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 * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Removed debug output which has been checked in by mistake. 2010-01-22 Tim Englich * doc/conf/meshwidth.xml: Added Description of the sense of the different Attributes. 2010-01-22 Tim Englich 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 * 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 * 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 * 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 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 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 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 * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Trigger the calculation when the state is initialized. 2010-01-20 Ingo Weinzierl 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 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 * 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 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 * 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 * 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 * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: Removed import to make it compilable again. 2010-01-19 Ingo Weinzierl 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 * 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 * 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 * 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 * 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 * 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 * doc/schema/externalinterface_schema.sql: Added Comments and further Informations. 2010-01-18 Tim Englich * 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 * 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 * ChangeLog: Fixed indention. 2010-01-18 Tim Englich * 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 * 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 * 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 * src/main/java/de/intevation/gnv/raster/Palette.java: load 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 * 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 * 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 * 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 * 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 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 * doc/conf/arcsdeconnectionpool.properties: Added the Property serverRoundtripInterval to the Configuration an set its Value to 15 Minutes. 2010-01-15 Tim Englich * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * doc/conf/conf.xml: Added section gnv/vertical-cross-section to configure the "Profilschnitte". configures the size of the sample area. Defaults to 1024x768. ... 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 * doc/conf/conf.xml: Added a gnv/horizontal-cross-section-profile section to configure the "horizontalen Schnittprofile". 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * doc/conf/conf.xml: Load salinity palette correctly. 2009-12-22 Ingo Weinzierl * 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 * 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 * 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 * 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 * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: Ignore invalid interpolations correctly. 2009-12-21 Sascha L. Teichmann * 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 * 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 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 * doc/conf/products/verticalcrosssection/conf_mesh.xml: Prepared states and transitions of verticalcrosssection (german 'Profilschnitt'). 2009-12-21 Ingo Weinzierl 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 * 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 * 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 * 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 * 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 RELEASE 0.3 * Changes, NEWS, ChangeLog: Summarized activities 2009-12-17 Sascha L. Teichmann * doc/conf/conf.xml: Bind REST server to localhost. 2009-12-17 Sascha L. Teichmann * 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 * src/main/resources/lang/artifactMessages_de_DE.properties, src/main/resources/lang/artifactMessages_de.properties: Removed wkt line strings. 2009-12-17 Ingo Weinzierl * 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 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 * 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 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 * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Fixed index error in i-gab detection between neighbors. 2009-12-16 Ingo Weinzierl * 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 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 * 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 * 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 * 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 * 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 * 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 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 * 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 * 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 * 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 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 * 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 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 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 * 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 * 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 * 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 * doc/conf/queries.properties: Added Z-Value to verticalcrosssection_mesh_chart_data. 2009-12-11 Tim Englich * 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 * 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 * 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 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 * 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 * 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 * 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 * 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 * doc/conf/queries.properties: Added marker ('DATAID') for different data sources. 2009-12-08 Tim Englich * 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 * 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 * 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 * 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 * ChangeLog: Cleaned up a bit. 2009-12-02 Ingo Weinzierl * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * TODO: Added point in TODO regarding tick units and distance between tick units in timeseries charts. 2009-11-26 Ingo Weinzierl * 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 * 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 * 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 * 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 * 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 * pom.xml: Added dependencies for esri and ibm libraries required for unit tests. 2009-11-24 Tim Englich * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * bin/run.sh: Added start-script to version control. 2009-11-13 Hans Plum * RELEASE 0.2: Summarized activities in NEWS, Changes 2009-11-13 Hans Plum * ChangeLog: Unified style of ChangeLog descriptions refering to issues. 2009-11-13 Tim Englich * doc/conf/products/timeseries/conf_timeseriespoint.xml: Moved Comment according to Instantiationerrors loading Artifact. 2009-11-13 Tim Englich * 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 * 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 * 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 * 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 * 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 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 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 * 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 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 * src/main/resources/lang/artifactMessages_*.properties: Added Ressources for the AreaFilter Ids areaid and subareid 2009-11-10 Tim Englich 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 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 * 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 * 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 * 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 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 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 * 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 * doc/conf/queries.properties: Some Queryimproofments done. Inner-Selects has been removed where it was possible. 2009-10-23 Tim Englich 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 * 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 * 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 * 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 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 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 * 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 * doc/conf: Added Folder for the Configuration of the gnv-artifacts. 2009-10-20 Tim Englich * 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 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 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 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 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 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 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 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 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 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 * 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 * 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 * 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 * src/test/ressources/conf.xml: Added Coordinate-Values to Title of the TimeseriesDiagramm for Meshes 2009-10-16 Tim Englich * 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 * src/test/ressources/conf.xml: Bugfix in MinMaxTransition the Maxvalue was not the correct Value. 2009-10-16 Tim Englich 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 * 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 * 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 * 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 * 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 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 * 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 * 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 * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: Closed small file descriptor leak. 2009-10-09 Tim Englich * src/main/java/de/intevation/gnv/**/*.java Edited: Code Formatting and Cleanup. 2009-10-09 Tim Englich * 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 RELEASE 0.1 * Changes, NEWS: Summarized changes. 2009-10-06 Tim Englich * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * src/test/ressources/conf.xml: s@test/xml@text/xml@g 2009-09-29 Tim Englich * 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 * 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 * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited: Some Coderedundances refactored. 2009-09-29 Tim Englich * src/test/ressources/queries.properties Edited: Bug fixed: Mesh TimeSeries will now Handle Charts with multiple Depth-Values properly. 2009-09-29 Tim Englich * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * src/test/ressources/conf.xml Edited : Changed the Output-format of Statistics from text/plain to text/xml. 2009-09-28 Tim Englich * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * src/test/ressources/conf.xml Edited: Database Cleanup Interval set to 5 minutes. 2009-09-17 Tim Englich * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * pom.xml Edited: Added JfreeChart Dependency to pom-file 2009-09-09 Tim Englich * 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 * 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 * src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe) Edited: Changed DateoutputFormat from German- to Anericanstyle 2009-09-09 Tim Englich * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * src/main/java/de/intevation/gnv/artifacts/ArtifactFactoryBase.java: Implementation of the General ArtifactFactory 2009-09-04 Tim Englich * 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