ingo@1088: 2010-06-10 Ingo Weinzierl ingo@1088: ingo@1088: Issue286 - Input validation of time ranges ingo@1088: ingo@1088: * src/main/java/de/intevation/gnv/utils/InputValidator.java: Removed the ingo@1088: epsilon that has been used to compare time values. Now, we just compare ingo@1088: the seconds of a time value pair - background: datetime objects differ in ingo@1088: milliseconds. ingo@1088: ingo@1087: 2010-06-10 Ingo Weinzierl ingo@1087: ingo@1087: Issue290 - Centering of pdf exports ingo@1087: ingo@1087: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: PDF ingo@1087: exports of histograms are centered now. ingo@1087: ingo@1086: 2010-06-10 Ingo Weinzierl ingo@1086: ingo@1086: Issue290 - Centering of pdf exports ingo@1086: ingo@1086: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: PDF ingo@1086: exports of charts are centered now. ingo@1086: ingo@1085: 2010-06-09 Ingo Weinzierl ingo@1085: ingo@1085: * src/main/java/de/intevation/gnv/chart/VerticalProfileVectorChart.java, ingo@1085: src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Improved ingo@1085: data initialization and range calculation. Gap detection will be entered, ingo@1085: if start and end position are valid indices for the array that contains ingo@1085: the data. The x and y range for each axis is improved. ingo@1085: ingo@1084: 2010-06-09 Ingo Weinzierl ingo@1084: ingo@1084: * doc/conf/products/timeseries/conf_mesh.xml, ingo@1084: doc/conf/products/timeseries/conf_timeseriespoint.xml, ingo@1084: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@1084: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@1084: doc/conf/products/verticalprofile/conf_timeseriespoint.xml: Limited ingo@1084: parameterization so that just a single vector can be selected at the same ingo@1084: time. ingo@1084: ingo@1083: 2010-06-09 Ingo Weinzierl ingo@1083: ingo@1083: * src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileVectorOutputState.java: ingo@1083: Overide method getHistograms(.) to create histograms for ingo@1083: verticalprofiles that contain the components of vectorial parameters. ingo@1083: ingo@1082: 2010-06-09 Ingo Weinzierl ingo@1082: ingo@1082: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshVectorOutputState.java: ingo@1082: Overide method getHistograms(.) to create histograms for ingo@1082: horizontalprofiles that contain the components of vectorial parameters. ingo@1082: ingo@1081: 2010-06-09 Ingo Weinzierl ingo@1081: ingo@1081: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java: ingo@1081: Override method getHistograms(.) of TimeSeriesOutputState to create ingo@1081: histograms that contain the components of vectorial parameters. This ingo@1081: method doesn't have many tasks but calls getHistograms(.) of ingo@1081: VectorDataProcessor. ingo@1081: ingo@1081: * src/main/java/de/intevation/gnv/utils/VectorDataProcessor.java: The real ingo@1081: implementation of getHistograms(.) for creating histograms that contain ingo@1081: the components of vectorial parameters. This place was chosen to make it ingo@1081: possible to use this method in all vector output states (because multiple ingo@1081: inheritance is not available in Java). ingo@1081: ingo@1081: * src/main/java/de/intevation/gnv/histogram/HistogramHelper.java: ingo@1081: A new method to prepare the data for histograms that contain the ingo@1081: components of vectorial parameters. ingo@1081: ingo@1080: 2010-06-09 Ingo Weinzierl ingo@1080: ingo@1080: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@1080: Seperated the histogram creation into an own method. This enables ingo@1080: subclasses to override the histogram creation. Moved the method ingo@1080: createHistogramLabels(.) to HistogramHelper. ingo@1080: ingo@1080: * src/main/java/de/intevation/gnv/histogram/HistogramHelper.java: ingo@1080: New method to create histogram labels (moved from TimeSeriesOutputState). ingo@1080: ingo@1079: 2010-06-09 Ingo Weinzierl ingo@1079: ingo@1079: * src/main/java/de/intevation/gnv/statistics/VerticalProfileVectorStatistics.java: ingo@1079: This class created statistics for vertical proifles with vectorial ingo@1079: parameters. ingo@1079: ingo@1079: * src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileVectorOutputState.java: ingo@1079: Added a new method that returns an instance of ingo@1079: VerticalProfileVectorStatistics. ingo@1079: ingo@1078: 2010-06-09 Ingo Weinzierl ingo@1078: ingo@1078: * src/main/java/de/intevation/gnv/statistics/HorizontalProfileVectorStatistics.java: ingo@1078: This is a class to create statistics for horizontal profiles with ingo@1078: vectorial parameters. ingo@1078: ingo@1078: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshVectorOutputState.java: ingo@1078: Added a new method to return an instance of ingo@1078: HorizontalProfileVectorStatistics. ingo@1078: ingo@1078: * src/main/java/de/intevation/gnv/statistics/TimeseriesVectorStatistics.java, ingo@1078: src/main/java/de/intevation/gnv/statistics/VectorStatistics.java: Added a ingo@1078: method to clean the statistics for the next vector component. ingo@1078: ingo@1077: 2010-06-09 Ingo Weinzierl ingo@1077: ingo@1077: * src/main/java/de/intevation/gnv/statistics/VectorStatistics.java: This is ingo@1077: an abstract base class for statistics of vectorial parameters. There are ingo@1077: two methods that need to be overriden by subclasses. ingo@1077: ingo@1077: * src/main/java/de/intevation/gnv/statistics/TimeseriesVectorStatistics.java: ingo@1077: A concrete statistics class for timeseries statistics of vectorial ingo@1077: parameters. ingo@1077: ingo@1077: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java: ingo@1077: Added a new method that returns an instance of TimeseriesVectorStatistics ingo@1077: to create a statistic for this product type. ingo@1077: ingo@1076: 2010-06-08 Ingo Weinzierl ingo@1076: ingo@1076: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshVectorOutputState.java: ingo@1076: Added odv support for horizontal profiles using vector data. ingo@1076: ingo@1075: 2010-06-08 Ingo Weinzierl ingo@1075: ingo@1075: * doc/conf/products/horizontalprofile/conf_mesh.xml: Added the transitions ingo@1075: for horizontal profiles on meshes that make use of vector data. ingo@1075: ingo@1074: 2010-06-08 Ingo Weinzierl ingo@1074: ingo@1074: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshVectorOutputState.java: ingo@1074: A new output state for horizontal profiles using vector data. ingo@1074: ingo@1074: * src/main/java/de/intevation/gnv/chart/HorizontalProfileVectorChart.java: A ingo@1074: new horizontal profile chart type using vector data. ingo@1074: ingo@1073: 2010-06-07 Ingo Weinzierl ingo@1073: ingo@1073: * doc/conf/products/verticalprofile/conf_mesh.xml, ingo@1073: doc/conf/products/verticalprofile/conf_timeseriespoint.xml: Added ingo@1073: transitions for working with vertical profiles that contain vector data. ingo@1073: ingo@1072: 2010-06-07 Ingo Weinzierl ingo@1072: ingo@1072: * src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileMeshVectorOutputState.java: ingo@1072: A new output state for verticalprofiles on meshes that contain vector ingo@1072: data. ingo@1072: ingo@1071: 2010-06-07 Ingo Weinzierl ingo@1071: ingo@1071: * src/main/java/de/intevation/gnv/utils/VectorDataProcessor.java: The ingo@1071: columns used for the final ResultDescriptor are no longer configured here ingo@1071: - they need to be configured in the output states of each product. The ingo@1071: VectorDataProcessor is called with the data collection and these columns ingo@1071: now (so the method signature of process(.) changed). ingo@1071: ingo@1071: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java: ingo@1071: Configured ResultDescriptor columns here and adapted method call of ingo@1071: VectorDataProcessor.process(.). ingo@1071: ingo@1071: * src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileVectorOutputState.java: ingo@1071: This output state is used while working vector data on verticalprofiles. ingo@1071: Before a chart is generated by this state, the vector data are converted ingo@1071: using VectorDataProcessor. ingo@1071: ingo@1071: * src/main/java/de/intevation/gnv/chart/VerticalProfileVectorChart.java: A ingo@1071: new chart type used for verticalprofiles with vector data. ingo@1071: ingo@1071: * doc/conf/queries.properties: A parameter of an sql statement got a name. ingo@1071: tim@1070: 2010-06-07 Tim Englich tim@1070: tim@1070: Added functionality to publish the the mbr of the generated layer to tim@1070: the client. tim@1070: * src/main/java/de/intevation/gnv/utils/MetaWriter.java (insertMbr): tim@1070: Added function to add an box-element to the mapserver-fragmet of the tim@1070: Metafile tim@1070: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java, tim@1070: src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: tim@1070: Calculate the box and write it into the metafile using the insertMbr-method tim@1070: of MetaWriter to publish the mbr of the data which was fetched during the tim@1070: request to the client. tim@1070: tim@1069: 2010-06-07 Tim Englich tim@1069: tim@1069: * doc/conf/conf.xml: tim@1069: Revert wrong Commit Revision 1163. tim@1069: tim@1069: 2010-06-07 Tim Englich tim@1069: tim@1069: * doc/conf/maptemplates/horizontalcrosssection_*.vm, tim@1069: doc/conf/maptemplates/layer_polygon.vm, tim@1069: doc/conf/maptemplates/layer_point.vm, tim@1069: doc/conf/maptemplates/layer_linestring.vm: tim@1069: Added Configuration Elements TEMPLATE, DUMP, TOLERANCE and tim@1069: METADATA/gml_include_items to enable GetFeatureInforRequests using gml tim@1069: as INFO_FORMAT for products of type layer. tim@1069: tim@1067: 2010-06-07 Tim Englich tim@1067: tim@1067: * doc/conf/maptemplates/mapfile.vm: tim@1067: Added MAXSIZE to the mapfiletemplate so that it is possible to render the tim@1067: layer in the fullscreenmode of a mapclient which will request images that tim@1067: size are greater than 2048 Pixel. tim@1067: ingo@1066: 2010-06-04 Ingo Weinzierl ingo@1066: ingo@1066: * doc/conf/products/timeseries/conf_mesh.xml: Added vector support for ingo@1066: timeseries points on meshes. ingo@1066: ingo@1065: 2010-06-04 Ingo Weinzierl ingo@1065: ingo@1065: * src/main/java/de/intevation/gnv/artifacts/cache/CacheFactory.java: The ingo@1065: ehcache CacheManager and the MBeanServer of the JVM are connected so that ingo@1065: the statistics of the cache is available as MBean in JConsole. ingo@1065: ingo@1064: 2010-06-03 Ingo Weinzierl ingo@1064: ingo@1064: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: ingo@1064: Removed needless imports. ingo@1064: ingo@1063: 2010-06-03 Ingo Weinzierl ingo@1063: ingo@1063: * doc/conf/sql-cache.xml: SQL-cache configuration. ingo@1063: ingo@1063: * doc/conf/conf.xml: Added a new section to the geo-backend section to ingo@1063: configure, enable/disable the sql-cache. The sql-cache is activated in ingo@1063: the default configuration. ingo@1063: ingo@1063: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: ingo@1063: Removed the initialization of geo-backend related objects (as ArcSDE ingo@1063: connection settings, queries). This work is done in the geo-backend ingo@1063: itself, now. At this place, a new geo-backend Configuration object is ingo@1063: created and its init(.) method is called. ingo@1063: ingo@1062: 2010-06-02 Ingo Weinzierl ingo@1062: ingo@1062: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Remove ingo@1062: cached elements of each state that is visited while stepping back to a ingo@1062: previous state. ingo@1062: ingo@1061: 2010-06-01 Ingo Weinzierl ingo@1061: ingo@1061: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Do not ingo@1061: call endOfLife of the current state before advancing to the next state. ingo@1061: This would make it impossible to use the cache. ingo@1061: ingo@1060: 2010-06-01 Ingo Weinzierl ingo@1060: ingo@1060: * src/main/java/de/intevation/gnv/state/StateBase.java: Remove existing ingo@1060: elements from cache that belong to an outdated state if its enfOfLife(.) ingo@1060: is called. It was necessary to adapt the signature of getHash(.) for this ingo@1060: - removed the parameter uuid - because endOfLife is called without any ingo@1060: information about the current uuid. The uuid has not been used in ingo@1060: getHash() anyway. ingo@1060: ingo@1060: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java, ingo@1060: src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, ingo@1060: src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, ingo@1060: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java, ingo@1060: src/main/java/de/intevation/gnv/state/OutputStateBase.java: Adapted the ingo@1060: signature of getHash() regarding the changes in the implementing class ingo@1060: StateBase. ingo@1060: tim@1059: 2010-05-31 Tim Englich tim@1059: tim@1059: * doc/conf/queries.properties: tim@1059: Added queries for TimeSeriesPoints using vectorvalues for verticalprofiles. tim@1059: ingo@1058: 2010-05-28 Ingo Weinzierl ingo@1058: ingo@1058: Issue291 ingo@1058: ingo@1058: * src/main/java/de/intevation/gnv/exports/ODVExport.java: Fixed the ingo@1058: aggregation of parameters. ingo@1058: ingo@1057: 2010-05-27 Ingo Weinzierl ingo@1057: ingo@1057: Issue198 ingo@1057: ingo@1057: * src/main/java/de/intevation/gnv/utils/MetaWriter.java: Product 'Layer' and ingo@1057: 'Horizontalschnitt' use the same code to write meta files. To create a ingo@1057: meta file, it is now necessary to use four methods: ingo@1057: - initMeta(): creates a new xml document and inserts the root node 'meta' ingo@1057: - insertAbstractMeta(.): adds meta information into the meta file ingo@1057: - insertLayer(.): adds layer specific information into the meta file ingo@1057: - writeMetaFile(.): writes the meta information file to disk. ingo@1057: ingo@1057: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, ingo@1057: src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java: Make ingo@1057: use of the new methods of MetaWriter. Both classes use the same methods ingo@1057: now! ingo@1057: ingo@1057: * doc/conf/queries.properties: Fetch the layername from database while ingo@1057: requesting wms data. ingo@1057: ingo@1057: * src/main/java/de/intevation/gnv/state/layer/LayerMetaData.java: Added the ingo@1057: title of a layer. The title is used while creating the meta information ingo@1057: file for wms layers. ingo@1057: ingo@1057: * doc/conf/maptemplates/horizontalcrosssection_salinity.vm, ingo@1057: doc/conf/maptemplates/horizontalcrosssection_salinity_isolines.vm, ingo@1057: doc/conf/maptemplates/layer_linestring.vm, ingo@1057: doc/conf/maptemplates/horizontalcrosssection_flow-velocity.vm, ingo@1057: doc/conf/maptemplates/horizontalcrosssection_flow-velocity_isolines.vm, ingo@1057: doc/conf/maptemplates/horizontalcrosssection_water-levels.vm, ingo@1057: doc/conf/maptemplates/layer_polygon.vm, ingo@1057: doc/conf/maptemplates/horizontalcrosssection_water-temperature.vm, ingo@1057: doc/conf/maptemplates/layer_point.vm, ingo@1057: doc/conf/maptemplates/horizontalcrosssection_water-levels_isolines.vm, ingo@1057: doc/conf/maptemplates/horizontalcrosssection_water-temperature_isolines.vm: ingo@1057: Adjusted the templates regarding the changes in meta file. Each parameter ingo@1057: that is necessary in these templates is contained in the LayerInfo object. ingo@1057: So there is no need to concatenate parameters as it was the case before ingo@1057: these changes. Furthermore, there is a new section that contains the title ingo@1057: of a layer - the title is adjustable by the user. ingo@1057: ingo@1056: 2010-05-27 Ingo Weinzierl ingo@1056: ingo@1056: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Fixed a ingo@1056: bug while exporting charts and histograms to pdf. Charts/histograms that ingo@1056: are larger than the pdf page have been cut. The reason was a usage of ingo@1056: wrong values when creating the graphics area for the charts/histograms. ingo@1056: ingo@1055: 2010-05-27 Ingo Weinzierl ingo@1055: ingo@1055: Issue288 ingo@1055: ingo@1055: * src/main/java/de/intevation/gnv/chart/DefaultHistogram.java: Use ingo@1055: AdvancedHistogramDataset as dataset for histograms instead of JFreeChart's ingo@1055: HistogramDataset. Adjusted the calculation of bin width and number of bins ingo@1055: for this. ingo@1055: ingo@1055: * src/main/java/de/intevation/gnv/chart/AdvancedHistogramDataset.java: This ingo@1055: class is mainly a copy of JFreeChart's class HistogramDataset. The ingo@1055: difference between these two classes is, that AdvancedHistogramDataset ingo@1055: takes an argument for setting the bin width as well as an argument to ingo@1055: adjust the number of bins - HistogramDataset just takes the number of ingo@1055: bins. The reason why AdvancedHistogramDataset doesn't inherit from ingo@1055: HistogramDataset is, that basic attributes of that class have private ingo@1055: access. ingo@1055: ingo@1054: 2010-05-26 Ingo Weinzierl ingo@1054: ingo@1054: Issue289 ingo@1054: ingo@1054: * src/main/java/de/intevation/gnv/chart/DefaultHistogram.java: Values ingo@1054: specifying the bin width or the number of bins are inserted into this ingo@1054: histogram as double values - no longer as i18n strings. So the complete ingo@1054: parsing code is removed. ingo@1054: ingo@1052: 2010-05-26 Ingo Weinzierl ingo@1052: ingo@1053: Issue290 - PDF format of histograms depends on histograms' apsect ratio. ingo@1053: ingo@1053: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@1053: Removed the boolean parameter to adjust the page format when calling the ingo@1053: pdf export method of a histogram. ingo@1053: ingo@1053: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: The format ingo@1053: of a histogram depends on its width and height. Width and height depends ingo@1053: on user input or the default size (600x400). ingo@1053: ingo@1053: 2010-05-26 Ingo Weinzierl ingo@1053: ingo@1053: Issue290 - PDF format depends on the chart's aspect ratio. ingo@1052: ingo@1052: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@1052: Removed reading the system property "export.pdf.landscape" to adjust the ingo@1052: page format of a pdf. ingo@1052: ingo@1052: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: The page ingo@1052: format of a pdf now depends on the chart's aspect ratio. If width > height ingo@1052: the format will be landscape, otherwise the format will be portrait. ingo@1052: ingo@1051: 2010-05-25 Ingo Weinzierl ingo@1051: ingo@1051: Issue286 ingo@1051: ingo@1051: * src/main/java/de/intevation/gnv/utils/InputValidator.java: Introduced an ingo@1051: epsilon environment to be more tolerant while comparing date objects. The ingo@1051: value of the current epsilon is 750ms. ingo@1051: ingo@1050: 2010-05-25 Ingo Weinzierl ingo@1050: ingo@1050: Issue290 ingo@1050: ingo@1050: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@1050: Added chart width and chart height as new parameters for the pdf creation. ingo@1050: ingo@1050: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Don't use ingo@1050: the maximum size of a pdf page to draw the chart but use the parameter ingo@1050: chart width and chart height. Scale the chart down if its size and/or ingo@1050: height exceed the maximum size of the pdf page - the original aspect ingo@1050: ratio keeps alive. ingo@1050: ingo@1049: 2010-05-25 Ingo Weinzierl ingo@1049: ingo@1049: Issue287 ingo@1049: ingo@1049: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: ingo@1049: Corrected the distance calculation of a 'Horizontal Profil' and adjusted ingo@1049: the gap detection according to these changes. ingo@1049: ingo@1048: 2010-05-24 Ingo Weinzierl ingo@1048: ingo@1048: Issue290 ingo@1048: ingo@1048: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@1048: The size of an svg export depends on the size chosen by the user (or the ingo@1048: default size if the user did not change the size) - it is not fixed ingo@1048: anymore. ingo@1048: tim@1047: 2010-05-21 Tim Englich tim@1047: tim@1047: * doc/conf/queries.properties: tim@1047: Added queries for meshes using vectorvalues for "Horizontales Schnittprofil" tim@1047: tim@1046: 2010-05-21 Tim Englich tim@1046: tim@1046: * doc/conf/queries.properties: tim@1046: Added queries for meshes using vectorvalues for horizontalprofiles. tim@1046: tim@1045: 2010-05-21 Tim Englich tim@1045: tim@1045: * doc/conf/queries.properties: tim@1045: Added queries for meshes using vectorvalues for verticalprofiles. tim@1045: ingo@1044: 2010-05-21 Ingo Weinzierl ingo@1044: ingo@1044: Issue269 ingo@1044: ingo@1044: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java: ingo@1044: Improved the directory handling for wms requests (directories are created ingo@1044: if there is no directory existing for the shapefiles; the content of ingo@1044: directories is deleted if the directory is existing). The shapefiles are ingo@1044: always generated again as well if there is an directory existing and it ingo@1044: contains files - we cannot know if these files are shapefiles that have ingo@1044: been created by our application. ingo@1044: tim@1043: 2010-05-21 Tim Englich tim@1043: tim@1043: * doc/conf/queries.properties: tim@1043: Added queries for Meshes using Vectorvalues for TimeSeries. tim@1043: tim@1042: 2010-05-21 Tim Englich tim@1042: tim@1042: * doc/conf/queries.properties: tim@1042: Integrated View MEDIAN.TIMESERIESFULLVECTORVALUE in queries for fetching tim@1042: the data for Charts and ODV-Export on TimeSeriesPoints using vetcor data. tim@1042: ingo@1041: 2010-05-20 Ingo Weinzierl ingo@1041: ingo@1041: Issue27 - Implemented odv export for vector data of timeseriespoints. ingo@1041: ingo@1041: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java: ingo@1041: Implemented the odv export for vector data on timeseriespoints.Therefore, ingo@1041: the getData(.) method for processing vector data has been removed. The ingo@1041: processing needs to take place after getData(.) fetched the data from ingo@1041: database, because it's not necessary to process vector data used for an ingo@1041: odv export (which is fetched via getData(.) as well). ingo@1041: ingo@1040: 2010-05-19 Ingo Weinzierl ingo@1040: ingo@1040: Issue27 - Vector data support for timeseriespoints finished. ingo@1040: ingo@1040: * doc/conf/products/timeseries/conf_timeseriespoint.xml: Adjusted the ingo@1040: relevant OutputState for timeseries with components of vector data. ingo@1040: ingo@1040: * src/main/java/de/intevation/gnv/utils/VectorDataProcessor.java: A helper ingo@1040: class that converts vector data into a useful container for our chart ingo@1040: classes. Our chart classes just use one single data value of each Result ingo@1040: object - but there is a data value for each component of a vector. So we ingo@1040: need to split Result object into many Result objects - one for each vector ingo@1040: component. ingo@1040: ingo@1040: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java: ingo@1040: Inherits from TimeSeriesOutputStates. Currently, the only reason for this ingo@1040: class is to instantiate TimeSeriesVectorChart objects instead of ingo@1040: TimeSeriesChart objects. ingo@1040: ingo@1040: * src/main/java/de/intevation/gnv/chart/TimeSeriesVectorChart.java: This ingo@1040: chart type inherits from TimeSeriesChart. The only difference between ingo@1040: these two types is the way how to add datasets and how to create names for ingo@1040: series - most of the code is equal. ingo@1040: ingo@1040: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@1040: Timegap definitions have protected access now. ingo@1040: ingo@1039: 2010-05-19 Ingo Weinzierl ingo@1039: ingo@1039: * doc/conf/products/timeseries/conf_timeseriespoint.xml: Added the vector ingo@1039: value path. ingo@1039: ingo@1038: 2010-05-18 Ingo Weinzierl ingo@1038: ingo@1038: Issue27 - First step to provide vector values. ingo@1038: ingo@1038: * doc/conf/products/timeseries/conf_timeseriespoint.xml: Added a further ingo@1038: step to choose between vector or scalar values. ingo@1038: ingo@1038: TODO: Configure the parameterization path for working with vector values. ingo@1038: ingo@1038: * src/main/java/de/intevation/gnv/state/SwitchModeState.java: A new state ingo@1038: that allows users to choose between scalar or vector values. ingo@1038: ingo@1038: * src/main/java/de/intevation/gnv/state/StateBase.java, ingo@1038: src/main/java/de/intevation/gnv/state/MeasurementState.java, ingo@1038: src/main/java/de/intevation/gnv/state/DefaultAutoResumeState.java, ingo@1038: src/main/java/de/intevation/gnv/state/SingleInputState.java: Adjusted ingo@1038: method signature of getDescriptionForInputData(.) - added the CallContext ingo@1038: as further parameter that is necessary to retrieve the current locale. ingo@1038: ingo@1038: * src/main/resources/lang/artifactMessages.properties, ingo@1038: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@1038: src/main/resources/lang/artifactMessages_en.properties, ingo@1038: src/main/resources/lang/artifactMessages_de.properties: Added labels for ingo@1038: the user interface. ingo@1038: tim@1037: 2010-05-18 Tim Englich tim@1037: tim@1037: * doc/conf/queries.properties: tim@1037: Added queries for TimeSeriesPoints on Vectorvalues for TimeSeries. tim@1037: tim@1036: 2010-05-17 Tim Englich tim@1036: tim@1036: * src/main/java/de/intevation/gnv/state/cache/package.html, tim@1036: src/main/java/de/intevation/gnv/state/cache/QueryObject.java: tim@1036: Add more JavaDocs. tim@1036: tim@1035: 2010-05-10 Tim Englich tim@1035: tim@1035: * doc/conf/products/timeseries/timegap_definition.xml: tim@1035: Added Documentation for the definition of gaps in TimeSeries on tim@1035: TimeSeriesPoints. Also added the reference to the Place where the tim@1035: definitions are taken. tim@1035: ingo@1034: 2010-05-10 Ingo Weinzierl ingo@1034: ingo@1034: Issue260 (Implemented an odv export for 'Horizontales Schnittprofil') ingo@1034: ingo@1034: * doc/conf/products/horizontalprofile/conf_mesh_cross.xml: Added odv as ingo@1034: further export format of product type 'Horizontales Schnittprofil'. ingo@1034: ingo@1034: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: ingo@1034: Implemented an odv exporter for this product type. ingo@1034: ingo@1034: * src/main/java/de/intevation/gnv/exports/StringArrayKey.java: Added a ingo@1034: getKey() method to be able to retrieve the key of such objects. ingo@1034: hans@1033: 2010-05-07 Hans Plum hans@1033: hans@1033: * doc/conf/queries.properties: hans@1033: Added a comment after implementing the admin tables for cache cleaner hans@1033: ingo@1032: 2010-05-06 Ingo Weinzierl ingo@1032: ingo@1032: * contrib/mapserv, ingo@1032: contrib/gnv-wms: Renamed mapserv to gnv-wms relating to the configuration ingo@1032: changes in rev1068. ingo@1032: hans@1031: 2010-05-06 Hans Plum hans@1031: hans@1031: * doc/conf/conf.xml: hans@1031: Adapted path to gnv-wrapper after changing it upstream. hans@1031: ingo@1030: 2010-05-06 Ingo Weinzierl ingo@1030: ingo@1030: Issue264 & Issue268 (Removed bugs in the caching mechanism) ingo@1030: ingo@1030: * src/main/java/de/intevation/gnv/state/DefaultInputData.java: Implemented ingo@1030: hashCode() and equals(.) method. The hashCode() method is used while ingo@1030: creating hashes for caching elements (see StateBase). ingo@1030: ingo@1030: * src/main/java/de/intevation/gnv/state/StateBase.java: Improved hash ingo@1030: creation. The hashes are used as keys for the caching mechanism. The key ingo@1030: contains the uuid of the current artifact, the state id and a hash code ingo@1030: created by InputData elements. User input is stored in a TreeMap instead ingo@1030: of a HashMap, because the elements in a TreeMap are sorted. This is very ingo@1030: import for us, because we need a defined order to create equal hashes if ingo@1030: the input data elements, uuid and state id are equal. ingo@1030: ingo@1030: * src/main/java/de/intevation/gnv/state/MeasurementState.java: Replaced the ingo@1030: HashMap to store user input with a TreeMap which elements are sorted. ingo@1030: ingo@1030: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, ingo@1030: src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: ingo@1030: Added some more debug output that shows the usage of the cache. ingo@1030: ingo@1030: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: ingo@1030: Removed a critical bug that avoided using this product type if no cache ingo@1030: have been initialized. ingo@1030: ingo@1030: * src/main/java/de/intevation/gnv/state/OutputStateBase.java: Adjusted ingo@1030: getHash(.) method call. ingo@1030: tim@1028: 2010-05-04 Tim Englich tim@1028: tim@1029: * doc/conf/conf.xml: tim@1029: Do some Documentation of the Artifact-Database. tim@1029: tim@1029: 2010-05-04 Tim Englich tim@1028: * src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java (appendSelectProducts): tim@1028: BUGFIX: Added NULL-Check to Variable products to prevent NPEs if tim@1028: no Products are configured to the FIS. tim@1028: * src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java (parseProductFactories): tim@1028: BUGFIX: Trim Classname to prevent ClassNotFound-Exceptions if the tim@1028: Configuration contains whitespaces in the XML-Element which configures the tim@1028: Artifact. tim@1028: ingo@874: 2010-04-28 Ingo Weinzierl ingo@874: ingo@874: * doc/conf/maptemplates/layer_polygon.vm: Do not use point symbols to draw ingo@874: polygons. ingo@874: ingo@873: 2010-04-28 Ingo Weinzierl ingo@873: ingo@873: * NEWS, Changes: Summarized changes. ingo@873: ingo@872: 2010-04-28 Ingo Weinzierl ingo@872: ingo@872: Issue260 ingo@872: ingo@872: * doc/conf/products/horizontalprofile/conf_mesh_cross.xml: Deactivated odv ingo@872: export for 'Horizontale Schnittprofile'. ingo@872: ingo@871: 2010-04-28 Ingo Weinzierl ingo@871: ingo@871: * doc/conf/maptemplates/mapfile.vm: Defined a point symbol. ingo@871: ingo@871: * doc/conf/maptemplates/layer_linestring.vm, ingo@871: doc/conf/maptemplates/layer_polygon.vm: Use point symbol for lines with a ingo@871: yellow color. ingo@871: ingo@871: * doc/conf/maptemplates/layer_point.vm: Use point symbol with a yellow ingo@871: color. ingo@871: ingo@870: 2010-04-28 Ingo Weinzierl ingo@870: ingo@870: * src/main/java/de/intevation/gnv/state/cache/ThematicDataCacheCleaner.java, ingo@870: src/main/java/de/intevation/gnv/state/layer/LayerMetaData.java, ingo@870: src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java, ingo@870: src/main/java/de/intevation/gnv/state/StateBase.java, ingo@870: src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java, ingo@870: src/main/java/de/intevation/gnv/statistics/Statistic.java, ingo@870: src/main/java/de/intevation/gnv/statistics/Statistics.java, ingo@870: src/main/java/de/intevation/gnv/utils/MetaWriter.java, ingo@870: src/main/java/de/intevation/gnv/chart/ChartLabels.java, ingo@870: src/main/java/de/intevation/gnv/exports/VerticalCrossODVExport.java: ingo@870: Removed trailing whitespace. ingo@870: ingo@869: 2010-04-28 Ingo Weinzierl ingo@869: ingo@869: * src/main/java/de/intevation/gnv/exports/VerticalCrossODVExport.java: ingo@869: Removed duplicated and unused imports. ingo@869: ingo@868: 2010-04-27 Ingo Weinzierl ingo@868: ingo@868: * doc/conf/conf.xml: Replaced the path to the artifact database with a ingo@868: relative path since the artifact-server is able to read relative pathes ingo@868: for the database configuration. ingo@868: ingo@867: 2010-04-27 Ingo Weinzierl ingo@867: ingo@867: * doc/conf/conf.xml: Changed the default directory of the artifact database. ingo@867: tim@866: 2010-04-27 Tim Englich tim@866: tim@866: * contrib/visualize-transitions.xsl: tim@866: Added XSL-Transformation to create an Graphic for the TransitionModels of tim@866: the Configuration. tim@866: tim@865: 2010-04-27 Tim Englich tim@865: tim@865: * doc/conf/conf.xml, tim@865: doc/conf/products/verticalprofile/conf_mesh.xml, tim@865: doc/conf/products/timeseries/conf_timeseriespoint.xml, tim@865: doc/conf/products/timeseries/conf_mesh.xml, tim@865: doc/conf/products/horizontalprofile/conf_mesh.xml: tim@865: Added missing Namespace declarations to Configurationfiles. tim@865: tim@864: 2010-04-27 Tim Englich tim@864: tim@864: ISSUE262 tim@864: tim@864: * doc/conf/products/horizontalprofile/conf_mesh_cross.xml: tim@864: Renamed StateIds because they were similar to the StateIds of tim@864: the product Horrizontal Profile. tim@864: This was done to prevent possible trouble using the Cachemechanism tim@864: which use the StateId as part of the Key. tim@864: ingo@863: 2010-04-27 Ingo Weinzierl ingo@863: ingo@863: Issue218 & Issue220 ingo@863: ingo@863: * doc/conf/conf.xml: Removed duplicated mapfile path configurations and ingo@863: replaced absolute path definitions with relative ones. ingo@863: ingo@863: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: ingo@863: Changed XPath expression regarding the changes in conf.xml. ingo@863: ingo@862: 2010-04-27 Ingo Weinzierl ingo@862: ingo@862: Issue6 ingo@862: ingo@862: * doc/conf/log.conf: Removed, because this file is not used. ingo@862: ingo@861: 2010-04-27 Ingo Weinzierl ingo@861: ingo@861: Issue246 (Added missing units to the legend text.) ingo@861: ingo@861: * contrib/palette2polygonVM.xsl: Use description attribute from palette xml ingo@861: file to create the legend text instead of from/to attributes. ingo@861: ingo@861: * doc/conf/maptemplates/flow-velocity_polygons.class.vm, ingo@861: doc/conf/maptemplates/water-temperature_polygons.class.vm, ingo@861: doc/conf/maptemplates/salinity_polygons.class.vm: Added units to the ingo@861: legend text. ingo@861: ingo@860: 2010-04-26 Ingo Weinzierl ingo@860: ingo@860: Issue251 ingo@860: ingo@860: * src/main/java/de/intevation/gnv/state/SingleInputState.java: Override feed ingo@860: method for input validation. ingo@860: ingo@860: * src/main/java/de/intevation/gnv/utils/InputValidator.java: New case: an ingo@860: empty string is invalid. ingo@860: tim@859: 2010-04-26 Tim Englich tim@859: tim@859: ISSUE252 tim@859: tim@859: * doc/conf/queries.properties: tim@859: Modified Query for selecting metadata for creating ZipFiles or publish tim@859: Layer as WMS so that it is possible to handle more than one Layer in one tim@859: request. tim@859: * doc/conf/products/layer/conf.xml: tim@859: Modified workflow so that it is possible to select more than one Layer tim@859: to download them as Shapefile or publish them as WMS. tim@859: * src/main/java/de/intevation/gnv/utils/MetaWriter.java tim@859: (writeLayerMeta), (writeLayerMeta), writeMetaFile): tim@859: modified Methods so that it is possible to generate a Metafile containing tim@859: more than one Layer in it. tim@859: * src/main/java/de/intevation/gnv/state/layer/LayerMetaData.java: tim@859: Added Beanclass for temporal storing the Metadata which is required to tim@859: generate a Shapafile or an WMS-Layer. tim@859: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java: tim@859: Modified the workflow so that it is possible to export multiple Layer tim@859: in one Zip-File or publish multiple Layers in one WMS. tim@859: ingo@858: 2010-04-23 Ingo Weinzierl ingo@858: ingo@858: Issue235 ingo@858: ingo@858: * doc/conf/conf.xml: Adapted the MapServer path in the configuration to call ingo@858: the wrapper that exports the mapfile path (see below). ingo@858: ingo@857: 2010-04-23 Ingo Weinzierl ingo@857: ingo@857: Issue220 ingo@857: ingo@857: * contrib/mapserv: Added a very simple wrapper script to export the ingo@857: mapfile path for MapServer. ingo@857: ingo@856: 2010-04-23 Ingo Weinzierl ingo@856: ingo@856: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: ingo@856: Inherit from HorizontalProfileMeshOutputState - both are used on meshes. ingo@856: Subtitle creation for charts is the same here ingo@856: ingo@856: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshOutputState.java: ingo@856: Add newline strings after each point in the chart subtitle. ingo@856: ingo@855: 2010-04-23 Ingo Weinzierl ingo@855: ingo@855: Issue138 ingo@855: ingo@855: * doc/conf/products/horizontalprofile/conf_mesh.xml: Splitted the ingo@855: outputstates of horizontalprofiles into meshes and non-meshes to handle ingo@855: the chart subtitle creation. ingo@855: ingo@855: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshOutputState.java, ingo@855: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: ingo@855: Outputstates for horizontal profiles. ingo@855: tim@854: 2010-04-23 Tim Englich tim@854: tim@854: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (getWMS): tim@854: Fixed Bug Renaming Layer. Now the Title is set and the correct method tim@854: is called. tim@854: tim@854: * src/main/java/de/intevation/gnv/utils/MetaWriter.java (writeLayerMeta): tim@854: Put Node Title into XML-Fragment of an Layer so that it is tim@854: possible to change the name of an Layer. tim@854: tim@854: * doc/conf/maptemplates/layer_polygon.vm, tim@854: doc/conf/maptemplates/layer_point.vm, tim@854: doc/conf/maptemplates/layer_linestring.vm: tim@854: Modified Templates so that the Name of an layer is fetched from the Title tim@854: of the Layerbean. This is the same way as used in any other Templates. tim@854: ingo@852: 2010-04-22 Ingo Weinzierl ingo@852: ingo@852: Issue217 ingo@852: ingo@852: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: ingo@852: Added the cell width of the interpolation to the constructor call of the ingo@852: odv export. ingo@852: ingo@852: * src/main/java/de/intevation/gnv/exports/VerticalCrossODVExport.java: ingo@852: Corrected the depth calculation. ingo@852: ingo@851: 2010-04-21 Ingo Weinzierl ingo@851: ingo@851: Issue228 ingo@851: ingo@851: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@851: The presentation of values contained in the statistic are language ingo@851: specific, now. ingo@851: ingo@850: 2010-04-21 Ingo Weinzierl ingo@850: ingo@850: Issue217 ingo@850: ingo@850: * src/main/java/de/intevation/gnv/exports/VerticalCrossODVExport.java: The ingo@850: first column (cruise) in an odv export is filled with a static "GNVExport" ingo@850: string. The second column (station) is filled with a generated string ingo@850: "Station" concartinated with the index of the current coordinate ingo@850: (e.g. "Station_1"). Both columns are written to odv only if the coordinate ingo@850: changes - otherwise these strings are replaced by tabs. ingo@850: ingo@849: 2010-04-21 Ingo Weinzierl ingo@849: ingo@849: Issue233 ingo@849: ingo@849: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Expand ingo@849: the range of the range axis (y-axis) manually if there is only one data ingo@849: point or more data points with the same value. ingo@849: ingo@848: 2010-04-21 Ingo Weinzierl ingo@848: ingo@848: Issue243 ingo@848: ingo@848: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@848: Added an y-axis label for histogram creation. ingo@848: ingo@848: * src/main/resources/lang/artifactMessages.properties, ingo@848: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@848: src/main/resources/lang/artifactMessages_en.properties, ingo@848: src/main/resources/lang/artifactMessages_de.properties: Added the string ingo@848: used as y-axis label in histograms. ingo@848: ingo@847: 2010-04-21 Ingo Weinzierl ingo@847: ingo@847: Issue231 ingo@847: ingo@847: * doc/conf/products/timeseries/conf_mesh.xml, ingo@847: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@847: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, ingo@847: doc/conf/products/horizontalprofile/conf_mesh_cross.xml, ingo@847: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@847: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, ingo@847: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Switched ingo@847: histogram parameter type 'binwidth' from integer to double. ingo@847: ingo@846: 2010-04-21 Ingo Weinzierl ingo@846: ingo@846: Issue229 ingo@846: JFreeChart needs at least a lower and a different upper bounds to ingo@846: calculate the range of the domain axis automatically. ingo@846: ingo@846: * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Override ingo@846: method that adjusts the range of domain and range axes. ingo@846: ingo@846: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: ingo@846: Override method that adjusts the range of domain and range axes. If there ingo@846: are more changes to be done in the future, caused by inheritance from ingo@846: VerticalProfileChart, we should stop that and derive this class from ingo@846: AbstractXYLineChart! ingo@846: tim@845: 2010-04-20 Tim Englich tim@845: tim@845: * src/main/java/de/intevation/gnv/artifacts/cache/CacheFactory.java (initializeCache): tim@845: Initialize the CacheCline after the initialization of the ThematicDataCache. tim@845: tim@845: * src/main/java/de/intevation/gnv/state/StateBase.java (setHash): tim@845: Integrate an '#' as separator in the Hashvalue of an State to separate the tim@845: StateId unambiguously. This is required because a StateId can be a tim@845: Substring of an other StateId. tim@845: tim@845: * src/main/java/de/intevation/gnv/state/cache/QueryObject.java: tim@845: Bean for representing all database-Queries which are used for fetching tim@845: Data which is stoted in the ThematicDataCache. tim@845: tim@845: * src/main/java/de/intevation/gnv/state/cache/ThematicDataCacheCleaner.java: tim@845: Specific CacheCleaner for cleaning the ThematicData-Cache. It extend the tim@845: CacheCleaner of the geo-backand and has the same configuration tim@845: possibilities. tim@845: tim@844: 2010-04-20 Tim Englich tim@844: tim@844: * doc/conf/queries.properties: tim@844: Added Query for the CacheCleaner that it use to determin which Tables has tim@844: been updated. tim@844: ingo@843: 2010-04-20 Ingo Weinzierl ingo@843: ingo@843: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: ingo@843: Removed a TODO from code -> TODO already implemented. ingo@843: ingo@842: 2010-04-20 Ingo Weinzierl ingo@842: ingo@842: Issue163: Workaround improved. ingo@842: ingo@842: * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: ingo@842: Removed the bottom and left space between data area and plot border and ingo@842: set a padding of 10px between each border of the whole area (containing ingo@842: plot area, legend, chart title, etc). ingo@842: ingo@841: 2010-04-20 Ingo Weinzierl ingo@841: ingo@841: Issue163: Workaround implemented. ingo@841: ingo@841: * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: ingo@841: Added a gap between data area and the plot border to avoid an amount of ingo@841: cut axes labels (small labels aren't cut anymore, large labels will still ingo@841: be cut). ingo@841: ingo@841: * src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java: Added some ingo@841: necessary methods to set the first domain and range axis. ingo@841: ingo@840: 2010-04-20 Ingo Weinzierl ingo@840: ingo@840: Issue235 ingo@840: ingo@840: * doc/conf/maptemplates/mapfile.vm: Added a metadata section into the ingo@840: mapfile template. ingo@840: ingo@840: * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Read the URL ingo@840: of the MapServer from configuration and feed the template with this ingo@840: information. The URL is used in the metadata section for filling the 'wms ingo@840: onlineresource' field. ingo@840: ingo@839: 2010-04-19 Ingo Weinzierl ingo@839: ingo@839: Issue152 ingo@839: ingo@839: * src/main/java/de/intevation/gnv/state/StateBase.java: ingo@839: Added a date formatter for parsing dates from internal data objects. ingo@839: ingo@839: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@839: Added the time interval of timeseries charts into the subtitle of this ingo@839: charts. ingo@839: ingo@838: 2010-04-19 Ingo Weinzierl ingo@838: ingo@838: Issue226 ingo@838: ingo@838: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@838: Iterate through former states when searching for an input collections - ingo@838: searching in the current state is not enough because it stores the current ingo@838: input values only. ingo@838: ingo@837: 2010-04-19 Ingo Weinzierl ingo@837: ingo@837: Issue217 ingo@837: ingo@837: * doc/conf/products/verticalcrosssection/conf_mesh.xml: Added odv as ingo@837: possible export format. ingo@837: ingo@837: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: ingo@837: Collect the necessary data for an odv export and trigger ingo@837: VerticalCrossODVExport that writes this data as odv to an output stream. ingo@837: ingo@837: * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Store ingo@837: coordinates for each colum in a class variable. ingo@837: ingo@837: * src/main/java/de/intevation/gnv/exports/VerticalCrossODVExport.java: ingo@837: Write data used in 'Profilschnitten' to an odv file. ingo@837: ingo@837: TODO: The implementation is not finished yet. There are no cruises and ingo@837: stations for 'Profilschnitte', so we need to clarify if this columns can ingo@837: be skipped. ingo@837: sascha@836: 2010-04-18 Sascha L. Teichmann sascha@836: sascha@836: * src/main/java/de/intevation/gnv/**/*.java: sascha@836: Using unix line endings only. sascha@836: sascha@835: 2010-04-17 Sascha L. Teichmann sascha@835: sascha@835: * src/main/java/de/intevation/gnv/**/*.java: sascha@835: Removed trailing whitespace. sascha@835: tim@834: 2010-04-16 Tim Englich tim@834: tim@834: ISSUE232 tim@834: tim@834: * doc/conf/meshwidth.xml: tim@834: Added missing Meshes to the Configuration and added more detailed tim@834: descriptions to the entries so they can be refred easier to the Meshes in tim@834: the System. tim@834: tim@833: 2010-04-16 Tim Englich tim@833: tim@833: ISSUE200 tim@833: tim@833: * doc/conf/queries.properties: tim@833: Modified Query for selecting available Layer for product Layer. tim@833: The table has an Column named Items which contains the Number of Items tim@833: that are in the Layer. Only Layer which are not empty should be tim@833: displayed. tim@833: ingo@831: 2010-04-15 Ingo Weinzierl ingo@831: ingo@831: Issue175 ingo@831: ingo@831: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, ingo@831: src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Read ingo@831: percentage that defines the gap size in charts from system property ingo@831: "chart.gap.percentage". The default value is 5 (percent) if this property ingo@831: is not existing. ingo@831: tim@829: 2010-04-13 Tim Englich tim@829: tim@832: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java (createODV), tim@832: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java (createODV): tim@832: Extract ODV-Generation into its own method that it is possible to override tim@832: it in subclasses. tim@832: tim@832: 2010-04-13 Tim Englich tim@832: tim@829: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java (getWMS): tim@829: Bugfix: Put some Code that is responsible for Synchonization into the tim@829: final-block to prevent that the lock is not released. tim@829: tim@829: 2010-04-13 Tim Englich tim@829: tim@829: * doc/conf/products/layer/conf.xml, tim@829: src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java : tim@829: Integrated the possibility to change the Title of an Layer in Product Layer. tim@829: tim@827: 2010-04-13 Tim Englich tim@827: tim@827: * src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java: tim@827: Removed obsolet SuppressWarnings-Annotations. tim@827: tim@826: 2010-04-13 Tim Englich tim@826: tim@826: * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultFIS.java, tim@826: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultLayer.java, tim@826: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultMapService.java, tim@826: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultParameter.java, tim@826: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/FIS.java, tim@826: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Layer.java, tim@826: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/MapService.java, tim@826: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Parameter.java, tim@826: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/package.html: tim@826: Added more Javadoc. tim@826: tim@825: 2010-04-13 Tim Englich tim@825: tim@825: * src/main/java/de/intevation/gnv/transition/package.html, tim@825: src/main/java/de/intevation/gnv/transition/ValueCompareTransition.java, tim@825: src/main/java/de/intevation/gnv/transition/TransitionFactory.java, tim@825: src/main/java/de/intevation/gnv/transition/PresettingsValueCompareTransition.java: tim@825: Added more Javadoc. tim@825: tim@825: 2010-04-13 Tim Englich tim@825: tim@825: * src/main/java/de/intevation/gnv/transition/package.html: tim@825: Added more Javadoc. tim@825: tim@823: 2010-04-13 Tim Englich tim@823: tim@823: * src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java, tim@823: src/main/java/de/intevation/gnv/state/MinMaxDateState.java, tim@823: src/main/java/de/intevation/gnv/state/MinMaxState.java, tim@823: src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java, tim@823: src/main/java/de/intevation/gnv/state/OutputStateBase.java, tim@823: src/main/java/de/intevation/gnv/state/StateBase.java, tim@823: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, tim@823: src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java, tim@823: src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java : tim@823: Removed obsolet SuppressWarnings-Annotations. tim@823: tim@821: 2010-04-12 Tim Englich tim@821: tim@821: * src/main/java/de/intevation/gnv/state/layer/package.html: tim@821: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java : tim@821: Added more Javadoc. tim@821: Removed obsolet TODO-Flags. tim@821: tim@820: 2010-04-12 Tim Englich tim@820: tim@820: * src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java: tim@820: * src/main/java/de/intevation/gnv/artifacts/services/MetaDataServiceException.java (MetaDataServiceException): tim@820: * src/main/java/de/intevation/gnv/artifacts/services/package.html: tim@820: Added more Javadoc. tim@820: tim@818: 2010-04-12 Tim Englich tim@818: tim@819: * src/main/java/de/intevation/gnv/layer/package.html, tim@819: src/main/java/de/intevation/gnv/layer/LayerArtifact.java: tim@819: Added more Javadoc. tim@819: tim@819: 2010-04-12 Tim Englich tim@819: tim@818: * src/main/java/de/intevation/gnv/state/OutputStateBase.java (putInputData): tim@818: BUGFIX: Chartresults where stored in Cache using null-Value as Key. tim@818: This happend because the setHash-method was not called in Method tim@818: putInputData of this Class. tim@818: This causes that the Data was fetched every time from the Database when tim@818: out was called and twice during the intialisationprocess of the State. tim@818: ingo@817: 2010-04-12 Ingo Weinzierl ingo@817: ingo@817: * src/main/java/de/intevation/gnv/artifacts/fis/product/package.html, ingo@817: src/main/java/de/intevation/gnv/artifacts/fis/package.html, ingo@817: src/main/java/de/intevation/gnv/artifacts/cache/package.html, ingo@817: src/main/java/de/intevation/gnv/artifacts/context/package.html, ingo@817: src/main/java/de/intevation/gnv/artifacts/ressource/package.html, ingo@817: src/main/java/de/intevation/gnv/artifacts/package.html, ingo@817: src/main/java/de/intevation/gnv/state/exception/package.html, ingo@817: src/main/java/de/intevation/gnv/state/package.html, ingo@817: src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/package.html, ingo@817: src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/package.html, ingo@817: src/main/java/de/intevation/gnv/state/profile/horizontal/package.html, ingo@817: src/main/java/de/intevation/gnv/state/profile/vertical/package.html, ingo@817: src/main/java/de/intevation/gnv/state/timeseries/package.html, ingo@817: src/main/java/de/intevation/gnv/state/describedata/package.html, ingo@817: src/main/java/de/intevation/gnv/statistics/exception/package.html, ingo@817: src/main/java/de/intevation/gnv/statistics/package.html, ingo@817: src/main/java/de/intevation/gnv/histogram/package.html, ingo@817: src/main/java/de/intevation/gnv/profile/horizontalcrosssection/package.html, ingo@817: src/main/java/de/intevation/gnv/profile/verticalcrosssection/package.html, ingo@817: src/main/java/de/intevation/gnv/profile/horizontal/package.html, ingo@817: src/main/java/de/intevation/gnv/profile/vertical/package.html, ingo@817: src/main/java/de/intevation/gnv/utils/exception/package.html, ingo@817: src/main/java/de/intevation/gnv/utils/package.html, ingo@817: src/main/java/de/intevation/gnv/chart/exception/package.html ingo@817: src/main/java/de/intevation/gnv/chart/package.html, ingo@817: src/main/java/de/intevation/gnv/exports/package.html, ingo@817: src/main/java/de/intevation/gnv/wms/package.html, ingo@817: src/main/java/de/intevation/gnv/timeseries/gap/package.html, ingo@817: src/main/java/de/intevation/gnv/timeseries/package.html, ingo@817: src/main/java/de/intevation/gnv/jfreechart/package.html: Added package ingo@817: descriptions for the different packages. ingo@817: ingo@817: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactFactory.java, ingo@817: src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java, ingo@817: src/main/java/de/intevation/gnv/chart/ChartLabels.java: Added missing ingo@817: class descriptions. ingo@817: tim@816: 2010-04-12 Tim Englich tim@816: tim@816: ISSUE 215 msg1189 tim@816: tim@816: * src/main/java/de/intevation/gnv/exports/ODVExport.java (writeData): tim@816: Switched Values between columns yyyy-mm-dd hh:mm and time_ISO8601 and tim@816: manipulate the Values that they are in the correct Format. tim@816: This is nessessary because of the definitions of Timeseries in ODV-Exports. tim@816: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java (getStartTime): tim@816: Modified Format of the TimeStamp of the Starttime of TimeSeries in that tim@816: case that it does not contains the values for the seconds. tim@816: ingo@815: 2010-04-12 Ingo Weinzierl ingo@815: ingo@815: * src/main/java/de/intevation/gnv/state/DefaultAutoResumeState.java, ingo@815: src/main/java/de/intevation/gnv/state/DefaultInputValue.java, ingo@815: src/main/java/de/intevation/gnv/state/SingleInputState.java, ingo@815: src/main/java/de/intevation/gnv/state/StateFactory.java, ingo@815: src/main/java/de/intevation/gnv/state/StateBase.java, ingo@815: src/main/java/de/intevation/gnv/state/MeasurementState.java, ingo@815: src/main/java/de/intevation/gnv/state/InputData.java, ingo@815: src/main/java/de/intevation/gnv/state/MinMaxState.java, ingo@815: src/main/java/de/intevation/gnv/state/DefaultExportMode.java, ingo@815: src/main/java/de/intevation/gnv/state/OutputStateBase.java, ingo@815: src/main/java/de/intevation/gnv/state/DefaultInputData.java, ingo@815: src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java, ingo@815: src/main/java/de/intevation/gnv/artifacts/fis/product/DefaultProduct.java, ingo@815: src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java, ingo@815: src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java, ingo@815: src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java, ingo@815: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultLayer.java, ingo@815: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultMapService.java, ingo@815: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultParameter.java, ingo@815: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, ingo@815: src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, ingo@815: src/main/java/de/intevation/gnv/math/AreaInterpolation.java, ingo@815: src/main/java/de/intevation/gnv/math/GridCell.java, ingo@815: src/main/java/de/intevation/gnv/transition/Transition.java, ingo@815: src/main/java/de/intevation/gnv/utils/ExclusiveExec.java, ingo@815: src/main/java/de/intevation/gnv/chart/DefaultHistogram.java, ingo@815: src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@815: src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java, ingo@815: src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java, ingo@815: src/main/java/de/intevation/gnv/exports/ShapeDataCollector.java, ingo@815: src/main/java/de/intevation/gnv/exports/ChartExportHelper.java, ingo@815: src/main/java/de/intevation/gnv/exports/DefaultExport.java, ingo@815: src/main/java/de/intevation/gnv/exports/ODVExport.java, ingo@815: src/main/java/de/intevation/gnv/jfreechart/LevelOrderIndices.java, ingo@815: src/main/java/de/intevation/gnv/jfreechart/PolygonSeries.java, ingo@815: src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java, ingo@815: src/main/java/de/intevation/gnv/jfreechart/CompactXYItems.java, ingo@815: src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: Removed ingo@815: JavaDoc compiler warnings caused by broken references and fields without ingo@815: content. ingo@815: ingo@814: 2010-04-09 Ingo Weinzierl ingo@814: ingo@814: * src/main/java/de/intevation/gnv/statistics/StatisticSet.java, ingo@814: src/main/java/de/intevation/gnv/statistics/VerticalCrossSectionStatistics.java, ingo@814: src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java, ingo@814: src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java, ingo@814: src/main/java/de/intevation/gnv/statistics/VerticalProfileStatistics.java, ingo@814: src/main/java/de/intevation/gnv/statistics/Statistic.java, ingo@814: src/main/java/de/intevation/gnv/statistics/Statistics.java, ingo@814: src/main/java/de/intevation/gnv/statistics/AbstractStatistics.java: Added ingo@814: more Javadoc. ingo@814: ingo@813: 2010-04-09 Ingo Weinzierl ingo@813: ingo@813: * src/main/java/de/intevation/gnv/state/exception/StateException.java, ingo@813: src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java, ingo@813: src/main/java/de/intevation/gnv/transition/DefaultTransition.java, ingo@813: src/main/java/de/intevation/gnv/transition/TransitionFactory.java, ingo@813: src/main/java/de/intevation/gnv/transition/TransitionBase.java, ingo@813: src/main/java/de/intevation/gnv/transition/PresettingsValueCompareTransition.java, ingo@813: src/main/java/de/intevation/gnv/transition/Transition.java, ingo@813: src/main/java/de/intevation/gnv/transition/ValueCompareTransition.java: ingo@813: Added Javadoc. ingo@813: tim@812: 2010-04-09 Tim Englich tim@812: tim@812: ISSUE 215 msg1170 tim@812: tim@812: * src/main/java/de/intevation/gnv/exports/ODVExport.java : tim@812: Modified ODV-Export that it is possible to integrate an Timestamp which tim@812: identifies a TimeSeries. tim@812: The additional Column will only be integrated if the given Timestamp has tim@812: an value and is not null. tim@812: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java (getStartTime): tim@812: Integrated Method for lookup the Starttimevalue of an TimeSeries to use it tim@812: in ODV-Exports. If no Startdate is stored (e.g. if this Methos is called tim@812: by an verticalProfileOutputstate) null will be returned an put into the tim@812: ODV-Export. tim@812: * doc/conf/products/timeseries/conf_mesh.xml: tim@812: Added valuename for the Timeinterval to fetch the Starttime of an TimeSeries tim@812: from the inputData to integrate it into the ODV-Export. tim@812: ingo@811: 2010-04-09 Ingo Weinzierl ingo@811: ingo@811: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java, ingo@811: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, ingo@811: src/main/java/de/intevation/gnv/state/profile/horizontal/NorthSouthEastWestState.java: ingo@811: Added more Javadoc. ingo@811: ingo@810: 2010-04-09 Ingo Weinzierl ingo@810: ingo@810: * src/main/java/de/intevation/gnv/timeseries/TimeSeriesMeshArtifact.java, ingo@810: src/main/java/de/intevation/gnv/timeseries/gap/TimeGap.java, ingo@810: src/main/java/de/intevation/gnv/timeseries/gap/DefaultTimeGap.java, ingo@810: src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java: Added ingo@810: more Javadoc. ingo@810: ingo@809: 2010-04-09 Ingo Weinzierl ingo@809: ingo@809: * src/main/java/de/intevation/gnv/state/describedata/NamedArrayList.java, ingo@809: src/main/java/de/intevation/gnv/state/describedata/NamedCollection.java, ingo@809: src/main/java/de/intevation/gnv/state/describedata/ExtendedKeyValueData.java, ingo@809: src/main/java/de/intevation/gnv/state/describedata/MinMaxDescribeData.java, ingo@809: src/main/java/de/intevation/gnv/state/describedata/DefaultKeyValueDescribeData.java, ingo@809: src/main/java/de/intevation/gnv/state/describedata/DefaultMinMaxDescribeData.java, ingo@809: src/main/java/de/intevation/gnv/state/describedata/SingleValueDescribeData.java, ingo@809: src/main/java/de/intevation/gnv/state/describedata/DescribeData.java, ingo@809: src/main/java/de/intevation/gnv/state/describedata/DefaultSingleValueDescribeData.java, ingo@809: src/main/java/de/intevation/gnv/state/describedata/KeyValueDescibeData.java: ingo@809: More Javadoc. ingo@809: sascha@808: 2010-04-08 Sascha L. Teichmann sascha@808: sascha@808: * src/main/java/de/intevation/gnv/math/Interpolation3D.java, sascha@808: src/main/java/de/intevation/gnv/math/package.html, sascha@808: src/main/java/de/intevation/gnv/math/AreaInterpolation.java, sascha@808: src/main/java/de/intevation/gnv/math/AttributedXYColumns.java, sascha@808: src/main/java/de/intevation/gnv/math/AttributedPoint2ds.java: sascha@808: Finished the javadoc of the math package. sascha@808: sascha@807: 2010-04-08 Sascha L. Teichmann sascha@807: sascha@807: * src/main/java/de/intevation/gnv/math/ConstantFunction.java, sascha@807: src/main/java/de/intevation/gnv/math/L1Comparator.java, sascha@807: src/main/java/de/intevation/gnv/math/HeightValue.java, sascha@807: src/main/java/de/intevation/gnv/math/Interpolation2D.java, sascha@807: src/main/java/de/intevation/gnv/math/XYColumn.java, sascha@807: src/main/java/de/intevation/gnv/math/LinearFunction.java, sascha@807: src/main/java/de/intevation/gnv/math/GridCell.java, sascha@807: src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: sascha@807: Added more javadoc. sascha@807: sascha@807: * src/main/java/de/intevation/gnv/utils/FileUtils.java, sascha@807: src/main/java/de/intevation/gnv/utils/MetaWriter.java, sascha@807: src/main/java/de/intevation/gnv/utils/DistanceCalculator.java, sascha@807: src/main/java/de/intevation/gnv/utils/MapfileGenerator.java, sascha@807: src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java, sascha@807: src/main/java/de/intevation/gnv/utils/Pair.java: sascha@807: Removed trailing whitespace sascha@807: ingo@806: 2010-04-08 Ingo Weinzierl ingo@806: ingo@806: * src/main/java/de/intevation/gnv/utils/FileUtils.java, ingo@806: src/main/java/de/intevation/gnv/utils/DistanceCalculator.java, ingo@806: src/main/java/de/intevation/gnv/utils/InputValidator.java, ingo@806: src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java, ingo@806: src/main/java/de/intevation/gnv/utils/ExclusiveExec.java, ingo@806: src/main/java/de/intevation/gnv/utils/MetaWriter.java, ingo@806: src/main/java/de/intevation/gnv/utils/MapfileGenerator.java, ingo@806: src/main/java/de/intevation/gnv/utils/WKTUtils.java, ingo@806: src/main/java/de/intevation/gnv/utils/StringUtils.java, ingo@806: src/main/java/de/intevation/gnv/utils/Pair.java, ingo@806: src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java: Added Javadoc. ingo@806: ingo@806: * src/main/java/de/intevation/gnv/utils/ArtifactFactoryUtilities.java: ingo@806: Removed. ingo@806: sascha@805: 2010-04-08 Sascha L. Teichmann sascha@805: sascha@805: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, sascha@805: src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: sascha@805: Removed trailing whitespace. sascha@805: sascha@805: * src/main/java/de/intevation/gnv/math/ConstantXYDepth.java, sascha@805: src/main/java/de/intevation/gnv/math/LinearMetrics.java, sascha@805: src/main/java/de/intevation/gnv/math/QueriedXYDepth.java, sascha@805: src/main/java/de/intevation/gnv/math/L1Comparator.java, sascha@805: src/main/java/de/intevation/gnv/math/Metrics.java, sascha@805: src/main/java/de/intevation/gnv/math/LinearToMap.java, sascha@805: src/main/java/de/intevation/gnv/math/LinearFunction.java, sascha@805: src/main/java/de/intevation/gnv/math/Interpolator.java: sascha@805: Added more javadoc. sascha@805: ingo@804: 2010-04-08 Ingo Weinzierl ingo@804: ingo@804: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, ingo@804: src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/OutputHelper.java, ingo@804: src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, ingo@804: src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java, ingo@804: src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@804: Added Javadoc. ingo@804: sascha@803: 2010-04-07 Sascha L. Teichmann sascha@803: sascha@803: * src/main/java/de/intevation/gnv/**/*.java: sascha@803: Removed trailing whitespace. sascha@803: sascha@802: 2010-04-07 Sascha L. Teichmann sascha@802: sascha@802: * src/main/java/de/intevation/gnv/raster/ExternalIndexConverter.java, sascha@802: src/main/java/de/intevation/gnv/raster/JTSMultiLineStringProducer.java, sascha@802: src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java, sascha@802: src/main/java/de/intevation/gnv/raster/DemuxRingsHandler.java, sascha@802: src/main/java/de/intevation/gnv/raster/IsoAttributeGenerator.java, sascha@802: src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java, sascha@802: src/main/java/de/intevation/gnv/raster/IsoProducer.java: sascha@802: Finished Javadoc of the raster package. sascha@802: sascha@801: 2010-04-06 Sascha L. Teichmann sascha@801: sascha@801: * src/main/java/de/intevation/gnv/**/*.java: More javadoc. sascha@801: tim@800: 2010-04-06 Tim Englich tim@800: tim@800: ISSUE215: Rows will not be merged to one Single Row if their values are identical. tim@800: tim@800: * src/main/java/de/intevation/gnv/exports/ODVExport.java (writeData): tim@800: Replaced the StringArray using as Key against the new Class StringArrayKey. tim@800: This was nessesarry tp detect Rows with same Values joining them to one tim@800: Row. tim@800: * src/main/java/de/intevation/gnv/exports/StringArrayKey.java (StringArrayKey): tim@800: Added new Class for representing the Key of an StringArray not using the tim@800: Hash of the Array but using the hash of the values which are stored in tim@800: the Array. tim@800: tim@799: 2010-04-06 Tim Englich tim@799: ISSUE213: Wrong Geometrytype used for the generation of an Layer with tim@799: Multipolygon-Geometries tim@799: tim@799: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (getWMS): tim@799: Integrated lookup of the Geometrytypes using a separat SQL-Statement. tim@799: Also added a separat Function for determining the Defaulttemplate for the tim@799: Mapfile-Generation. tim@799: * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java (writeDataToFile): tim@799: Changed Methodsignature. Now it's possible to put the Geometrytype which tim@799: is required to generate the Layer and not use the Geometrytype of the tim@799: first Geometry of the Resultvalues. tim@799: This was nessessary because we can have several kinds of geometrytypes tim@799: (e.g. MultiPolygons and Polygons) in one Layer. In that case we have to tim@799: use the Multi* (e.g. MultiPolygon) as Geometrytype. tim@799: * doc/conf/queries.properties: tim@799: Added Query for determining the geometryType of a Layer. tim@799: sascha@798: 2010-04-06 Sascha L. Teichmann sascha@798: sascha@798: * src/main/java/de/intevation/gnv/**/*.java: Fixed vim modeline. sascha@798: sascha@798: * src/main/java/de/intevation/gnv/math/L1Comparator.java: Moved sascha@798: L1 code here. sascha@798: sascha@798: * src/main/java/de/intevation/gnv/math/Point2d.java: Removed dead sascha@798: inverse L1 code. Added Javadoc. sascha@798: sascha@798: * src/main/java/de/intevation/gnv/math/IJKey.java: Added Javadoc. sascha@798: sascha@797: 2010-04-06 Sascha L. Teichmann sascha@797: sascha@797: * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java, sascha@797: src/test/java/de/intevation/gnv/artifacts/TestArtifactDatabase.java: sascha@797: Fix to let the test mockups implement their interfaces. sascha@797: ingo@795: 2010-03-31 Ingo Weinzierl ingo@795: ingo@795: * src/main/java/de/intevation/gnv/jfreechart/LevelOrderIndices.java, ingo@795: src/main/java/de/intevation/gnv/jfreechart/PolygonSeries.java, ingo@795: src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java, ingo@795: src/main/java/de/intevation/gnv/jfreechart/CompactXYItems.java, ingo@795: src/main/java/de/intevation/gnv/jfreechart/PolygonSeriesLabelGenerator.java, ingo@795: src/main/java/de/intevation/gnv/jfreechart/PolygonDataset.java, ingo@795: src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: Added ingo@795: JavaDoc. ingo@795: ingo@794: 2010-03-31 Ingo Weinzierl ingo@794: ingo@794: * src/main/java/de/intevation/gnv/exports/Export.java, ingo@794: src/main/java/de/intevation/gnv/exports/ChartExportHelper.java, ingo@794: src/main/java/de/intevation/gnv/exports/ODVExport.java: Repaired JavaDoc. ingo@794: ingo@793: 2010-03-31 Ingo Weinzierl ingo@793: ingo@793: * src/main/java/de/intevation/gnv/chart/Chart.java, ingo@793: src/main/java/de/intevation/gnv/chart/XMLChartTheme.java, ingo@793: src/main/java/de/intevation/gnv/chart/exception/TechnicalChartException.java: ingo@793: Added missing vim control comments. ingo@793: ingo@792: 2010-03-31 Ingo Weinzierl ingo@792: ingo@792: * src/main/java/de/intevation/gnv/artifacts/fis/product/Product.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/fis/product/DefaultProduct.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/services/MetaDataServiceException.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Parameter.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultLayer.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/FIS.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultMapService.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultParameter.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultFIS.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Layer.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/MapService.java, ingo@792: src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java: ingo@792: Added and repaired JavaDoc. ingo@792: ingo@790: 2010-03-31 Ingo Weinzierl ingo@790: ingo@790: * src/main/java/de/intevation/gnv/artifacts/cache/CacheFactory.java: Added ingo@790: and repaired JavaDoc. ingo@790: ingo@790: 2010-03-31 Ingo Weinzierl ingo@789: ingo@789: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactFactory.java, ingo@789: src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java, ingo@789: src/main/java/de/intevation/gnv/artifacts/PreSettingArtifact.java, ingo@789: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, ingo@789: src/main/java/de/intevation/gnv/artifacts/GNVDefaultArtifact.java: Added ingo@789: JavaDoc for this package. ingo@789: ingo@790: 2010-03-31 Ingo Weinzierl ingo@788: ingo@788: * src/main/java/de/intevation/gnv/chart/XMLChartTheme.java, ingo@788: src/main/java/de/intevation/gnv/chart/HorizontalCrossProfileChart.java, ingo@788: src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java, ingo@788: src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, ingo@788: src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@788: src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java, ingo@788: src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Corrected ingo@788: JavaDoc errors. ingo@788: ingo@787: 2010-03-30 Ingo Weinzierl ingo@787: ingo@787: Issue214 ingo@787: ingo@787: * src/main/java/de/intevation/gnv/utils/InputValidator.java: Added code for ingo@787: validating polygons and linestrings. The input type needs to be 'polygon' ingo@787: or 'linestring'. ingo@787: ingo@787: * doc/conf/products/horizontalcrosssection/conf_mesh.xml: Changed the input ingo@787: type of the wkt string from 'string' to 'polygon'. ingo@787: ingo@787: * doc/conf/products/verticalcrosssection/conf_mesh.xml: Changed the input ingo@787: type of the wkt string from 'string' to 'linestring'. ingo@787: ingo@786: 2010-03-30 Ingo Weinzierl ingo@786: ingo@786: * src/main/java/de/intevation/gnv/state/ExtendedInputData.java: Added a ingo@786: method splitParameter() to retrieve the parameter ids as array (analog to ingo@786: splitValue() in DefaultInputData). ingo@786: ingo@785: 2010-03-30 Ingo Weinzierl ingo@785: ingo@785: Issue210 (First work for saving relation between selected measurement and ingo@785: the parameter it belongs to completed) ingo@785: ingo@785: * src/main/java/de/intevation/gnv/state/DefaultInputData.java: Added a ingo@785: further constructor and changed the visibility of the separator character ingo@785: used by this class to public. ingo@785: ingo@785: * src/main/java/de/intevation/gnv/state/ExtendedInputData.java: This class ingo@785: enhances DefaultInputData and has a further field storing a string ingo@785: parameter. This is necessary to save the information about the ingo@785: relation between selected measurement and the parameter it belongs to. ingo@785: ingo@785: * src/main/java/de/intevation/gnv/state/MeasurementState.java: Little ingo@785: changes in the data of the describe document. The value for the checkboxes ingo@785: are composed of the measurement id and the parameter id separated by a ingo@785: semicolon. Furthermore the incoming document of a feed call is parsed in ingo@785: this class to save the relation between selected measurement and the ingo@785: parameter it belongs to. ExtendedInputData class is used as storage. ingo@785: ingo@785: * src/main/java/de/intevation/gnv/utils/InputValidator.java: Changed the ingo@785: method signatures of all methods to static for using it without ingo@785: instantiating an object of this class. ingo@785: ingo@784: 2010-03-30 Ingo Weinzierl ingo@784: ingo@784: Issue212 (Improved input validation) ingo@784: ingo@784: * src/main/java/de/intevation/gnv/state/MinMaxDateState.java: Improved date ingo@784: input validation. The chosen date needs to be in range between upper and ingo@784: lower date, otherwise an error message is displayed and the user needs to ingo@784: correct his choice. ingo@784: ingo@784: * src/main/java/de/intevation/gnv/utils/InputValidator.java: Added a new ingo@784: method to validate a given date being in range between an upper and a ingo@784: lower date bound. ingo@784: ingo@784: * src/main/resources/lang/artifactMessages.properties, ingo@784: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@784: src/main/resources/lang/artifactMessages_en.properties, ingo@784: src/main/resources/lang/artifactMessages_de.propertie: Added error ingo@784: messages for failures while date validation. ingo@784: ingo@783: 2010-03-29 Ingo Weinzierl ingo@783: ingo@783: Issue192 ingo@783: ingo@783: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Added an ingo@783: offset of 15px between the right data area and the right axis. Long axes ingo@783: labels near the right border aren't cut on this way. ingo@783: sascha@782: 2010-03-29 Sascha L. Teichmann sascha@782: sascha@782: * src/main/java/de/intevation/gnv/**/package.html: New sascha@782: Added package description with text 'DOCUMENT ME!'. sascha@782: ingo@781: 2010-03-29 Ingo Weinzierl ingo@781: ingo@781: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@781: Each TimeSeriesArtifacts stores information about its TimeGapDefinitions, ingo@781: otherwise we are not able to continue with an artifact after a restart of ingo@781: the artifact server. ingo@781: ingo@781: TODO: The information about TimeGapDefinitions are equal for each type of ingo@781: artifacts. It would be better to store these definitions on a central ingo@781: place (i.e. see ChartTheme configuration). ingo@781: ingo@781: * src/main/java/de/intevation/gnv/timeseries/gap/TimeGap.java: Implements ingo@781: Serializable. ingo@781: sascha@780: 2010-03-29 Sascha L. Teichmann sascha@780: sascha@780: * src/main/java/de/intevation/gnv/**/*.java: sascha@780: Bring @author javadoc tags in form '@author John Doe' sascha@780: sascha@780: find -name \*.java | \ sascha@780: xargs sed -i \ sascha@780: -e 's/@author[ ]\+\([^(<]\+\)[<(]\([^>)]\+\)[>)]/@author \1<\/a>/g' \ sascha@780: -e 's@[ ]\+@@g' sascha@780: sascha@779: 2010-03-29 Sascha L. Teichmann sascha@779: sascha@779: * src/main/java/de/intevation/gnv/**/*.java, sascha@779: src/main/java/de/intevation/gnv/**/*.java: sascha@779: Ordered imports. Removed needless imports. Removed empty headers. sascha@779: sascha@778: 2010-03-29 Sascha L. Teichmann sascha@778: sascha@778: * src/test/java/de/intevation/gnv/**/*.java, sascha@778: src/main/java/de/intevation/gnv/**/*.java: sascha@778: Removed trailing whitespace. sascha@803: find -name \*.java | xargs sed -i 's/[ \t]\+$// sascha@778: tim@777: 2010-03-26 Tim Englich tim@777: tim@777: * doc/conf/queries.properties: tim@777: Added Query for fetching the Series and Instantaneouspoints of Series using tim@777: an WKT as the Geometryvalue or using the Values set by the Regionfilter tim@777: to define the Region of Interest. tim@777: tim@777: * doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: tim@777: Modified the Workflow for Verticalprofiles on Instantaneouspoints so tim@777: that the Inputvalues of the Mapviewer-Interface take effect. E.g. tim@777: The Regionfilter will not be displaied if an Polygon was send by the tim@777: Mapviewer. Also integrated the Regionfilter to the Workflow. tim@777: ingo@775: 2010-03-26 Ingo Weinzierl ingo@775: ingo@775: Issue164 ingo@775: ingo@775: * src/main/java/de/intevation/gnv/utils/ExclusiveExec.java: New. This class ingo@775: can be used to synchronize threads with a given key. To use this ingo@775: synchronization, you just have to do something like the following: sascha@778: UniqueKey token = ExclusiveExec.INSTANCE.acquire(key); sascha@778: // your code to be synchronized sascha@778: ExclusiveExec.INSTANCE.release(token); ingo@775: A thread needs to wait if there is already a thread with the given key ingo@775: which has acquired a token. Threads with a different key don't need to ingo@775: wait for this thread. ingo@775: ingo@775: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: ingo@775: Synchronize shapefile writing of artifacts which have the same uuid. ingo@775: ingo@775: * src/main/java/de/intevation/gnv/utils/FileUtils.java: Added a function to ingo@775: delete the content of a directory. ingo@775: ingo@774: 2010-03-26 Ingo Weinzierl ingo@774: ingo@774: Issue211 (Applied patch) ingo@774: ingo@774: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Removed ingo@774: race-condition when trying to access the index of the next line color used ingo@774: in chart. ingo@774: ingo@773: 2010-03-26 Ingo Weinzierl ingo@773: ingo@773: * src/main/java/de/intevation/gnv/utils/MetaWriter.java: Avoid danger to get ingo@773: a NullPointerException if no time to live is served by CallContext. ingo@773: ingo@772: 2010-03-26 Ingo Weinzierl ingo@772: ingo@772: Issue197 ingo@772: ingo@772: * src/main/java/de/intevation/gnv/utils/MetaWriter.java: Fetch time to live ingo@772: of an artifact from CallContext and put it into meta document. ingo@772: ingo@771: 2010-03-25 Ingo Weinzierl ingo@771: ingo@771: * src/main/java/de/intevation/gnv/exports/Export.java, ingo@771: src/main/java/de/intevation/gnv/exports/ShapeDataCollector.java, ingo@771: src/main/java/de/intevation/gnv/exports/ChartExportHelper.java, ingo@771: src/main/java/de/intevation/gnv/exports/SimpleOdvDataCollector.java, ingo@771: src/main/java/de/intevation/gnv/exports/DefaultDataCollector.java, ingo@771: src/main/java/de/intevation/gnv/exports/DefaultProfile.java, ingo@771: src/main/java/de/intevation/gnv/exports/DefaultExport.java, ingo@771: src/main/java/de/intevation/gnv/exports/ODVExport.java: Added javadoc and ingo@771: turned javadoc author tag into a 'mailto' form. ingo@771: ingo@770: 2010-03-24 Ingo Weinzierl ingo@770: ingo@770: * src/main/java/de/intevation/gnv/histogram/HistogramHelper.java: Removed a ingo@770: method which was commented out, added javadocs and turned javadoc author ingo@770: tag into a 'mailto' form. ingo@770: ingo@769: 2010-03-24 Ingo Weinzierl ingo@769: ingo@769: * src/main/java/de/intevation/gnv/layer/LayerArtifact.java: Removed empty ingo@769: comment lines at the beginning of the class and turned javadoc author tag ingo@769: into a form which displays a mailto link in html. ingo@769: ingo@768: 2010-03-24 Ingo Weinzierl ingo@768: ingo@768: * src/main/java/de/intevation/gnv/wms/LayerInfo.java: Added javadoc in wms ingo@768: package. ingo@768: ingo@767: 2010-03-24 Ingo Weinzierl ingo@767: ingo@767: * src/main/java/de/intevation/gnv/chart/Chart.java, ingo@767: src/main/java/de/intevation/gnv/chart/DefaultHistogram.java, ingo@767: src/main/java/de/intevation/gnv/chart/XMLChartTheme.java, ingo@767: src/main/java/de/intevation/gnv/chart/HorizontalCrossProfileChart.java, ingo@767: src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@767: src/main/java/de/intevation/gnv/chart/exception/TechnicalChartException.java, ingo@767: src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java, ingo@767: src/main/java/de/intevation/gnv/chart/AbstractHistogram.java, ingo@767: src/main/java/de/intevation/gnv/chart/ChartLabels.java, ingo@767: src/main/java/de/intevation/gnv/chart/AbstractChart.java, ingo@767: src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java, ingo@767: src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, ingo@767: src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Added ingo@767: and repaired javadoc in chart package. ingo@767: ingo@767: * src/main/java/de/intevation/gnv/chart/Insets.java, ingo@767: src/main/java/de/intevation/gnv/chart/ChartStyle.java: Removed these ingo@767: classes, because they aren't used anymore. ingo@767: tim@766: 2010-03-23 Tim Englich tim@766: tim@766: * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_feed.xml, tim@766: src/test/ressources/timeseries_mesh/timeseries_step_08_feed.xml: tim@766: Switched to valid Timestamps to enable testing ODV-Output. tim@766: tim@765: 2010-03-23 Tim Englich tim@765: tim@765: * src/main/java/de/intevation/gnv/exports/ODVExport.java: tim@765: Added new Export-Class which will generate the special ODV-Format. tim@765: This one is required because we have to switch the Format from a Rowbased tim@765: Representation to a Columnbased. tim@765: This meas that for each Parameter which was requested two additonal Columns, tim@765: one for the Parametervalue and one for the Quality, has to be added to the tim@765: Export. This differs to the "normal" CSV-Export. tim@765: tim@765: * src/main/java/de/intevation/gnv/exports/DefaultExport.java (collector): tim@765: Switched Member from private to protected to make it available from tim@765: extending Classes. tim@765: tim@765: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: tim@765: Modified the Colums and the Column-headers and Columns-names for the ODV-Export tim@765: that all required Data is put into the Document in the right order and the tim@765: right nameing. tim@765: Switche to the NEW ODVExport-Class to use it for all ODV-Exports. tim@765: tim@765: * doc/conf/queries.properties: tim@765: Modified the Queries for the ODV-Export that all required Informations are tim@765: fetched from the Database. tim@765: tim@764: 2010-03-22 Tim Englich tim@764: tim@764: * src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_feed.xml, tim@764: src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_feed.xml: tim@764: Switched to valid Timestamps to enable testing CSV-Output. tim@764: tim@763: 2010-03-22 Tim Englich tim@763: tim@763: * src/main/java/de/intevation/gnv/state/StateBase.java (feed): tim@763: Bugfix: The Description of an InputData-Object will now only be fetched if tim@763: the Name of the data of the Current State is equal to the Name of the tim@763: InputData-Object. This Fix prevent some Exceptions that happen if the tim@763: Query need som Inputdata which was not set at that moment. tim@763: tim@762: 2010-03-22 Tim Englich tim@762: tim@762: ISSUE 122 tim@762: tim@762: * src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java, tim@762: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: tim@762: Added all required Columns for the CSV-Export. Integrated own tim@762: Columnspecifications for the different Kinds of Profiles (TimeSeriesPoints, tim@762: Mesh, InstantaneousPoint). tim@762: tim@762: * doc/conf/queries.properties: tim@762: Manipulated the Queries for fetching the Data for generating the CSV-Output tim@762: for all kinds of Vertical- and Horizontalprofiles in that way that now all tim@762: required Columns were included. tim@762: tim@762: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: tim@762: Removed deprecated TODO-Flags. tim@762: ingo@761: 2010-03-22 Ingo Weinzierl ingo@761: ingo@761: Issue209 ingo@761: ingo@761: * doc/conf/maptemplates/horizontalcrosssection_salinity_isolines.vm, ingo@761: doc/conf/maptemplates/horizontalcrosssection_flow-velocity_isolines.vm, ingo@761: doc/conf/maptemplates/horizontalcrosssection_water-levels_isolines.vm, ingo@761: doc/conf/maptemplates/horizontalcrosssection_water-temperature_isolines.vm: ingo@761: Improved the template configuration for the given changes in rev814. ingo@761: ingo@761: * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java: Moved the ingo@761: settings of the format used to write floating point numbers into the ingo@761: shapefile description column into a static block of this class to avoid ingo@761: doing this each time converting a double value to a description. ingo@761: ingo@760: 2010-03-22 Ingo Weinzierl ingo@760: ingo@760: Issue209 ingo@760: ingo@760: * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java: Added a ingo@760: further column in the isolines shapefile to store a description for each ingo@760: line. This description column contains the double value with three maximum ingo@760: fraction digits. This is a workaround to adjust the rendering of double ingo@760: values which cannot be adjusted in MapServer at the moment. MapServer ingo@760: would display all fraction digits contained in the shapefile causing very ingo@760: long labels. ingo@760: ingo@759: 2010-03-22 Ingo Weinzierl ingo@759: ingo@759: Issue208 (Added a cleanup mechanism to do some things before exporting an ingo@759: artifact) ingo@759: ingo@759: * src/main/java/de/intevation/gnv/state/State.java: Added a cleanup method ingo@759: to remove special data stored at this state while processing an ingo@759: 'out'-target. ingo@759: ingo@759: * src/main/java/de/intevation/gnv/state/StateBase.java: Default ingo@759: implementation of this cleanup method - nothing is done here so far. ingo@759: Override this method in states which should remove data before being ingo@759: exported. ingo@759: ingo@759: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: ingo@759: Overrides this cleanup method to remove the current shapefile path. ingo@759: ingo@759: * src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java: ingo@759: Call cleanup method of the current state if the cleanup method of this ingo@759: artifact itself is called. ingo@759: tim@758: 2010-03-19 Tim Englich tim@758: tim@758: * doc/conf/products/horizontalprofile/conf_mesh_cross.xml: tim@758: Modified the Workflow for "Horizontales Schnittprofil" so that the Inputvalues tim@758: of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be tim@758: displaied if an Polygon was send by the Mapviewer. Also the Input of an tim@758: LineString will be skipped if a LineString was send by the MapViewer. tim@758: tim@757: 2010-03-19 Tim Englich tim@757: tim@757: * src/main/resources/lang/artifactMessages_de*.properties: tim@757: Added new German resources for fis_marinefeatures according to msg1067 tim@757: of Issue2005. tim@757: tim@756: 2010-03-19 Tim Englich tim@756: tim@756: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java: tim@756: Added Support of Layers which are Joined from two Tables. tim@756: Only the Columns of the first Table will be inserted to prevent Namecollisions tim@756: of Attributenames. tim@756: tim@756: * doc/conf/queries.properties: tim@756: Added full qualified Columnname to prevent Namecolliosions in SQL-Statement tim@756: for querying Layer-Data if two Tables are Joined to one Layer. tim@756: tim@755: 2010-03-19 Tim Englich tim@755: tim@755: * src/main/resources/lang/artifactMessages*.properties: tim@755: Added Ressources for new FIS Marine Features. tim@755: tim@755: * doc/conf/conf.xml: tim@755: tim@755: ISSUE 205 tim@755: tim@755: Integrated FIS Marine Features with Product Layer into the System. tim@755: tim@754: 2010-03-19 Tim Englich tim@754: tim@754: * doc/conf/queries.properties: tim@754: tim@754: ISSUE92 tim@754: tim@754: Integrated Column BAND for Query of Layers which belong to a FIS. tim@754: The Displayname of an Layer is now TITLE - LAYER_NAME - BAND tim@754: tim@753: 2010-03-19 Tim Englich tim@753: tim@753: * doc/conf/products/verticalcrosssection/conf_mesh.xml: tim@753: Modified the Workflow of the verticalcrosssection that the Geometry is now tim@753: copied to the Inpuvalues if it comes from the Mapviewer-Interfacecall. tim@753: tim@752: 2010-03-19 Tim Englich tim@752: tim@752: * doc/conf/products/horizontalcrosssection/conf_mesh.xml: tim@752: Modified the Workflow for Horizontalcrosssections so that the Inputvalues tim@758: of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be tim@752: displaied if an Polygon was send by the Mapviewer. Also the Input of an tim@752: Polygon will be skipped if a Polygon was send by the MapViewer. tim@752: tim@751: 2010-03-19 Tim Englich tim@751: tim@751: * doc/conf/products/horizontalprofile/conf_mesh.xml: tim@751: Modified the Workflow for Horizontalprofiles so that the Inputvalues tim@758: of the Mapviewer-Interface take effect. E.g. The Regionfilter will not be tim@751: displaied if an Polygon was send by the Mapviewer. Also the Input of an tim@751: Point will be skipped if a Point was send by the MapViewer. tim@751: tim@750: 2010-03-16 Tim Englich tim@750: tim@750: * doc/conf/products/verticalcrosssection/conf_mesh.xml: tim@750: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface tim@758: take effect. E.g. The Regionfilter will not be displaied if an Polygon tim@750: was send by the Mapviewer. Also the Input of an LineString will be skipped tim@750: if a LineString was send by the MapViewer. tim@750: tim@749: 2010-03-16 Tim Englich tim@749: tim@749: * doc/conf/queries.properties: tim@749: Bugfixes: Fixed the Query for Parameters in Timeseries and tim@749: VerticalProfiles in Meshes. Now all Parts of an Mesh will be used and not tim@749: only the last one. tim@749: tim@748: 2010-03-16 Tim Englich tim@748: tim@748: * doc/conf/products/timeseries/conf_mesh.xml, tim@748: doc/conf/products/verticalprofile/conf_mesh.xml: tim@748: Modified the Workflow for Verticalprofiles and Timeseries on Meshes in tim@758: that case that the Inputvalues of the Mapviewer-Interface take effect. tim@748: E.g. The Regionfilter will not be displaied if an Polygon was send by tim@748: the Mapviewer. tim@748: tim@747: 2010-03-16 Tim Englich tim@747: tim@747: * src/main/java/de/intevation/gnv/state/PreSettingsTransferCoordinateSelectionState.java: tim@747: Added an new State wich will handle the Display of Coordinatevalues and tim@747: fetch given Inputparameters from the Presettings and copy them to tim@747: the InputValues. tim@747: This new Class is necessary because we can have Pointobjects given in tim@747: the Presettings which should be used to fetch all MeshPoints within a tim@747: given Distance aroud the Coordinate and display its Coordindatevalues. tim@747: tim@746: 2010-03-16 Tim Englich tim@746: tim@746: * src/main/java/de/intevation/gnv/utils/InputValidator.java (getPointValue): tim@746: Integrated handling of WKT-Strings for Points to extract Points from tim@746: a given Inputstring. tim@746: tim@745: 2010-03-16 Tim Englich tim@745: tim@745: * src/main/java/de/intevation/gnv/state/StateBase.java (generateFilterValuesFromInputData): tim@745: Improvement: Values of Type Geometry which are Points will be tim@745: prepared as Regions for DB-Query. tim@745: ingo@744: 2010-03-16 Ingo Weinzierl ingo@744: ingo@744: Issue199 ingo@744: ingo@744: * src/main/java/de/intevation/gnv/state/MeasurementState.java: Changed the ingo@744: describe document creation a bit. The describe document will now have a ingo@744: section for measurement/parameter with each parameter in an own ingo@744: xform:select node which contains different xform:item nodes for each ingo@744: measurement for this parameter. ingo@744: tim@743: 2010-03-16 Tim Englich tim@743: tim@743: * doc/conf/products/layer/conf.xml: tim@743: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface tim@758: take effect. E.g. The Regionfilter will not be displaied if an Polygon tim@743: was send by the Mapviewer. tim@743: tim@742: 2010-03-16 Tim Englich tim@742: tim@742: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (fetchData): tim@742: BugFix: Fixed NPE using the Presettings-Object without given Presettings. tim@742: tim@741: 2010-03-15 Tim Englich tim@741: tim@741: * doc/conf/products/verticalprofile/conf_timeseriespoint.xml: tim@741: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface tim@758: take effect. E.g. The Regionfilter will not be displaied if an Polygon tim@741: was send by the Mapviewer. tim@741: tim@741: 2010-03-15 Tim Englich tim@741: tim@741: * doc/conf/queries.properties: tim@741: Added Query for fetching the TimeSeriespoint using an WKT as the tim@741: Geometryvalue to define the Region of Interest. tim@741: tim@741: * doc/conf/products/timeseries/conf_timeseriespoint.xml: tim@741: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface tim@758: take effect. E.g. The Regionfilter will not be displaied if an Polygon tim@741: was send by the Mapviewer. tim@741: ingo@740: 2010-03-15 Ingo Weinzierl ingo@740: ingo@740: Issue120 ingo@740: ingo@740: * src/main/java/de/intevation/gnv/state/StateBase.java: New method ingo@740: implemented which searches for a specific parameter by its name in the ingo@740: current state and in all parent states. Null is returned if no parameter ingo@740: could be found with this name, otherwise the InputData object. ingo@740: ingo@740: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: ingo@740: Display that point in chart subtitle which have been entered by the user. ingo@740: ingo@740: * src/main/java/de/intevation/gnv/utils/WKTUtils.java: Added a new method ingo@740: to transform a Point object to a user-friendly formatted string. ingo@740: tim@739: 2010-03-15 Tim Englich tim@739: tim@739: * doc/conf/products/verticalprofile/conf_timeseriespoint.xml: tim@739: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface tim@758: take effect. E.g. The Regionfilter will not be displaied if an Polygon tim@739: was send by the Mapviewer. tim@739: tim@738: 2010-03-15 Tim Englich tim@738: tim@738: * doc/conf/queries.properties: tim@738: Added Query for fetching the TimeSeriespoint using an WKT as the tim@738: Geometryvalue to define the Region of Interest. tim@738: tim@738: * doc/conf/products/timeseries/conf_timeseriespoint.xml: tim@738: Modified the Workflow so that the Inputvalues of the Mapviewer-Interface tim@758: take effect. E.g. The Regionfilter will not be displaied if an Polygon tim@738: was send by the Mapviewer. tim@738: tim@737: 2010-03-15 Tim Englich tim@737: tim@737: * doc/conf/queries.properties: tim@737: Integrated and modified Queries for Timeseries on Meshes. tim@737: tim@737: * doc/conf/products/timeseries/conf_mesh.xml: tim@737: Modified the Workflow so that the Inputvalues of the Mapviewer-interface tim@758: take effect. E.g. The regionfilter will not be displaied if an Polygon tim@737: was send by the Mapviewer. Also the State for typing an Point will be tim@737: skipped an the Geometry of the Mapviewercall will be used. tim@737: tim@736: 2010-03-15 Tim Englich tim@736: tim@736: * src/main/java/de/intevation/gnv/state/StateBase.java, tim@736: src/main/java/de/intevation/gnv/state/DefaultAutoResumeState.java: tim@736: Revoke Changes of r771. The Switch if the QueryId is null has several tim@736: Effects which causes NPEs in other Parts of this Module. tim@758: So I removed the Changes of r771 and override the effected Methods in tim@736: DefaultAutoResumeState. tim@736: tim@735: 2010-03-15 Tim Englich tim@735: tim@735: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: tim@735: Integrated the handling of AutoResumeStates into the initialization tim@735: Process of an Artifact. After an Initialization of an Artifact it will be tim@735: proved if the Current State is an AutoResumeState. If it is the next valid tim@735: state in the sequence will be set to the current State. tim@735: tim@734: 2010-03-15 Tim Englich tim@734: tim@734: * src/main/java/de/intevation/gnv/state/DefaultAutoResumeState.java, tim@734: src/main/java/de/intevation/gnv/state/AutoResumeState.java: tim@734: Added new Interface and its DefaultImplementation to the Project. tim@734: This Interface will mark States which can be handled automatically without tim@734: any interaction from the User. tim@734: So it is possible to fork a Sequence e.g. by given Constructorparameters tim@734: of an Artifact. tim@734: tim@733: 2010-03-15 Tim Englich tim@733: tim@733: * src/main/java/de/intevation/gnv/state/StateBase.java (feed): tim@733: Bugfix: We have States which don't have tor Query Data from a Database tim@733: for its Description. So now the Description will only be determined if a tim@733: Query was configured to this State. tim@733: tim@732: 2010-03-15 Tim Englich tim@732: tim@732: * src/main/java/de/intevation/gnv/state/PreSettingsTransferState.java (setup): tim@732: Bugfix: Corrected C&P-Error in the Setup-Method of the PreSettingsTransferState tim@732: tim@731: 2010-03-15 Tim Englich tim@731: tim@731: * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid): tim@731: Added Objecttype Geometry for the Validation of Inputdata. Geometry will tim@731: be validated in the same way as Pointobjects. tim@731: ingo@730: 2010-03-15 Ingo Weinzierl ingo@730: ingo@730: Issue198 ingo@730: ingo@730: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: ingo@730: Read the layer title which might have been adjusted by the user and store ingo@730: it in the CallContext object to be available in MetaWriter. ingo@730: ingo@730: * src/main/java/de/intevation/gnv/utils/MetaWriter.java: Write the layer ingo@730: title stored in the CallContext object into meta.xml file. ingo@730: ingo@730: * src/main/java/de/intevation/gnv/wms/LayerInfo.java: Added a further ingo@730: attribute named 'title' to adjust the layer name. ingo@730: ingo@730: * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Read layer ingo@730: title from meta.xml file. The uuid is used as layer title if no title is ingo@730: given. ingo@730: ingo@730: * doc/conf/products/horizontalcrosssection/conf_mesh.xml: Added a string ingo@730: input parameter in wms output mode to adjust a wms layer's title. ingo@730: ingo@730: * doc/conf/maptemplates/horizontalcrosssection_salinity.vm, ingo@730: doc/conf/maptemplates/horizontalcrosssection_salinity_isolines.vm, ingo@730: doc/conf/maptemplates/horizontalcrosssection_flow-velocity.vm, ingo@730: doc/conf/maptemplates/horizontalcrosssection_flow-velocity_isolines.vm, ingo@730: doc/conf/maptemplates/horizontalcrosssection_water-levels.vm, ingo@730: doc/conf/maptemplates/horizontalcrosssection_water-levels_isolines.vm, ingo@730: doc/conf/maptemplates/horizontalcrosssection_water-temperature.vm, ingo@730: doc/conf/maptemplates/horizontalcrosssection_water-temperature_isolines.vm: ingo@730: Read title attribute from LayerInfo object for filling the layer name in ingo@730: template files. The title can be adjusted by the user himself, but the ingo@730: shapefiles are stored in the path {shapefile_path}/{uuid}/xxx.shp. ingo@730: tim@729: 2010-03-15 Tim Englich tim@729: tim@729: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (fetchData): tim@729: Integrated lookup of the Geometry which was put to the Artifact during tim@729: the Instantiation (e.g. was send from the MapViewer to the GNV). tim@729: tim@728: 2010-03-12 Tim Englich tim@728: tim@728: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (fetchColumns): tim@728: Integrated an Method for fetching all required Columns for an given Layer tim@728: and put them into the Query witch will load the Layerdata from the tim@728: Database. tim@728: tim@728: * doc/conf/products/layer/conf.xml: tim@728: Added an Configuration-Element to determine the Query which should be used tim@728: to Query the Columns of a choosen Layer. tim@728: tim@728: * doc/conf/queries.properties: tim@728: Manipulated the Queries for fetching the Layerdata in that way that it is tim@728: possible to put the requested-Columns into it using the ?-Syntax. tim@728: tim@727: 2010-03-12 Tim Englich tim@727: tim@727: * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java (writeDataToFile): tim@727: Added generic Export for all Columns which are in an ResultValue. tim@727: The first Column must be the Geometryvalue. all other Columns will be added tim@727: to the Shapefile using the defined Attribute-Class. tim@727: ingo@726: 2010-03-10 Ingo Weinzierl ingo@726: ingo@726: Issue201 ingo@726: ingo@726: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: ingo@726: Use a better key - hash served by getHash() from StateBase - to put ingo@726: chart results into cache. ingo@726: ingo@725: 2010-03-10 Ingo Weinzierl ingo@725: ingo@725: * doc/conf/products/timeseries/conf_timeseriespoint.xml: Use MinMaxDateState ingo@725: to handle date input instead of MinMaxState. ingo@725: ingo@725: * src/main/java/de/intevation/gnv/artifacts/GNVDefaultArtifact.java: Added ingo@725: EXCEPTION_NO_INPUT key used for a lookup in resource bundles. ingo@725: ingo@725: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, ingo@725: src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java ingo@725: src/main/java/de/intevation/gnv/state/OutputStateBase.java ingo@725: src/main/java/de/intevation/gnv/state/StateBase.java, ingo@725: src/main/java/de/intevation/gnv/state/MinMaxState.java, ingo@725: src/main/java/de/intevation/gnv/state/State.java: Return localized ingo@725: error messages as xml documents if something failed while feeding the ingo@725: current artifact/state. These error messages are used to be displayed in ingo@725: the user interface. There are two different error messages at the moment - ingo@725: for general error messages related to server errors and a message invalid ingo@725: user input. The difference between these messages is their location in the ingo@725: xml document. Each message type is created with a separate method in ingo@725: ArtifactXMLUtilities (createExceptionReport() and createInputException()). ingo@725: The intention to separate these message types is to display them on ingo@725: different places in the user interface. ingo@725: ingo@725: * src/main/java/de/intevation/gnv/state/MinMaxDateState.java: New state to ingo@725: handle date input. ingo@725: ingo@725: * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java: Converted ingo@725: some class methods into static methods and added a new method to create an ingo@725: xml document which contains an error message for invalid user input. ingo@725: ingo@725: * src/main/resources/lang/artifactMessages.properties, ingo@725: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@725: src/main/resources/lang/artifactMessages_en.properties, ingo@725: src/main/resources/lang/artifactMessages_de.properties: Added text for ingo@725: error messages. ingo@725: tim@724: 2010-03-09 Tim Englich tim@724: tim@724: * doc/conf/queries.properties: tim@724: Modified the Query for the lookup of the Tablename and the Whereclaus to tim@724: a choosen Layer. Now also the Templateid containing the Mapservice-ID and tim@724: the Layer-Id was added to the Query. tim@724: tim@724: * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java (templateExists): tim@724: Add a method which will return if a given Template exists. tim@724: this could be used for determining if a specialized Template for a Layer tim@724: is given or the Default one should be used. tim@724: tim@724: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (getWMS): tim@724: Integrate lookup for MapFileTemplate for the different Layer. tim@724: If a special Template should be used it must be storde according to the tim@724: following Syntax in the Folder which contain all other Mapfile-Templates. tim@724: tim@724: layer_{ID_MAPSERVICE}_${ID_LAYER} e.g. layer_BSH_IMS_CONTIS_Resources_2 tim@724: tim@724: If there is no Template matching the given Name the Defaulttemplates tim@724: layer_point, tim@724: layer_polygon or tim@724: layer_linestring tim@724: will be used. tim@724: tim@723: 2010-03-09 Tim Englich tim@723: tim@723: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (out): tim@723: Integrated ExceptionHandling if no Data was found for the given Layer. tim@723: If no data couuld be retrieved from the Database an XMl-Exceptionreport tim@723: will be generated which must be analized by the Clients. tim@723: ingo@656: 2010-03-08 Ingo Weinzierl ingo@656: ingo@656: Issue186 ingo@656: ingo@656: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Adjusted ingo@656: signature of method to store min/max ranges in x and y direction in ingo@656: charts. ingo@656: ingo@656: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Adjusted ingo@656: method call to signature which has been changed in AbstractXYLineChart. ingo@656: ingo@656: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Added ingo@656: some empty methods which overrides methods from parent which should not be ingo@656: called on this class. ingo@656: ingo@656: * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Added ingo@656: methods to store vertical min/max ranges in charts. After adding a new ingo@656: series to this chart, we call prepareRangeAxis() to add an offset (5 ingo@656: percent) between values and chart border. ingo@656: tim@655: 2010-03-08 Tim Englich tim@655: tim@655: * doc/conf/maptemplates/layer*.vm: tim@655: Added some basetemplates for Lines, Points and Polygons that will be used tim@655: if an WMS-layer of the Product Layer will be created. tim@655: tim@655: * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java (writeDataToFile): tim@655: Changed Method in taht way that it now will return the geometrytype of tim@655: this Layer instead of an boolean-value. tim@655: Null will determine that an Exception occured during the tim@655: Shapefilegeneration. tim@655: tim@655: * src/main/java/de/intevation/gnv/utils/MetaWriter.java (writeLayerMeta): tim@655: Added a new Method for writing the Metadatafile for WMS published by tim@655: the Product Layer. tim@655: Done som Refactoring work for reusing som Code-Snippets. tim@655: tim@655: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (getWMS): tim@655: Added the Basic-Support for publishing an WMS-Layer. tim@655: The Lookup of the Attributes which has to be put into the Shapefile and tim@655: the lookup of the Template which schould be used to symbolize the Layer tim@655: has to be implemented. tim@655: ingo@654: 2010-03-08 Ingo Weinzierl ingo@654: ingo@654: Issue195 ingo@654: ingo@654: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: ingo@654: Use InputData stored at the current state to create chart titles. ingo@654: ingo@653: 2010-03-08 Ingo Weinzierl ingo@653: ingo@653: Issue189 ingo@653: ingo@653: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: ingo@653: Changed insufficient key to store results for chart generation in cache. ingo@653: Use 'getHash()' method for this now, which have been implemented while ingo@653: refactoring the cache mechanism. ingo@653: sascha@652: 2010-03-06 Sascha L. Teichmann sascha@652: sascha@652: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, sascha@652: src/main/java/de/intevation/gnv/state/StateBase.java, sascha@652: src/main/java/de/intevation/gnv/state/MeasurementState.java, sascha@652: src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: sascha@652: Cleaned up imports. sascha@652: ingo@651: 2010-03-05 Ingo Weinzierl ingo@651: ingo@651: * doc/conf/conf.xml: Set ttl to a better value. It has been set to 2min by ingo@651: mistaken while working on mapfile generation. ingo@651: ingo@650: 2010-03-05 Ingo Weinzierl ingo@650: ingo@650: Issue185 ingo@650: ingo@650: * src/main/java/de/intevation/gnv/state/MeasurementState.java: Added missing ingo@650: parameter name in describe document. ingo@650: tim@648: 2010-03-05 Tim Englich tim@648: tim@649: * doc/conf/queries.properties: tim@649: Added some more Queries which are required to serve the Requests of the tim@649: Product Layer. tim@649: tim@649: * doc/conf/conf.xml: tim@649: Changed the Sourceid of the FIS Contis because of Changes in the Database. tim@649: tim@649: * doc/conf/products/layer/conf.xml: tim@649: Completed the Configuration for the Product Layer. tim@649: Added more Configurationdetails to the OutputStates. tim@649: * src/main/resources/lang/artifactMessages*.properties: tim@649: Added the required ressources for the Product Layer and the FIS Contis and tim@649: Nauthis into the Propertiesfiles. tim@649: tim@649: * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java (writeDataToFile): tim@649: Added an Method for writing g an Shapefile using an Collection of Results. tim@649: this Method must be extended that it could use the Result-object in an tim@649: generic Way. tim@649: At this Moment it is only be Possible to write the Geometry into the tim@649: Shapefile if it is given at the first Position of an Result. tim@649: All other Attributevalues will be ignored and not written into the Shapefile. tim@649: tim@649: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java: tim@649: Added Support for writing Shapefiles and Export them as an Zipfile. tim@649: tim@649: 2010-03-05 Tim Englich tim@648: * doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: tim@648: ISSUE 191: Pdf, svg and png are now available. tim@648: ingo@646: 2010-03-04 Ingo Weinzierl ingo@646: ingo@646: * doc/conf/conf.xml: Added a section to configure MapServer relevant stuff. ingo@646: ingo@646: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: ingo@646: Store mapserver path in CallContext object to have access everywhere we ingo@646: have a CallContext object (avoids reading config.xml all the time we want ingo@646: to write mapfile). ingo@646: ingo@646: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java: ingo@646: Added key to store MapServer information into CallContext and fetch it ingo@646: from it. ingo@646: ingo@646: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: ingo@646: Removed code to write meta information files (sourced out to MetaWriter). ingo@646: This has been done with the intend to write meta information of CONTIS and ingo@646: NAUTHIS using that class as well. ingo@646: ingo@646: * src/main/java/de/intevation/gnv/utils/MetaWriter.java: Helper class to ingo@646: write meta information files used for mapfile generation. Write general ingo@646: information about our wms service (MapServer) into meta information file. ingo@646: This is used to give the user information about the place where he can ingo@646: find the wms service and his generated wms layer. ingo@646: ingo@645: 2010-03-04 Ingo Weinzierl ingo@645: ingo@645: * doc/conf/maptemplates/flow-velocity_polygons.class.vm, ingo@645: doc/conf/maptemplates/water-levels_polygons.class.vm, ingo@645: doc/conf/maptemplates/water-temperature_polygons.class.vm, ingo@645: doc/conf/maptemplates/horizontalcrosssection_flow-velocity.vm, ingo@645: doc/conf/maptemplates/flow-velocity_isolines.class.vm, ingo@645: doc/conf/maptemplates/horizontalcrosssection_flow-velocity_isolines.vm, ingo@645: doc/conf/maptemplates/horizontalcrosssection_water-levels.vm, ingo@645: doc/conf/maptemplates/water-levels_isolines.class.vm, ingo@645: doc/conf/maptemplates/horizontalcrosssection_water-temperature.vm, ingo@645: doc/conf/maptemplates/water-temperature_isolines.class.vm, ingo@645: doc/conf/maptemplates/horizontalcrosssection_water-levels_isolines.vm, ingo@645: doc/conf/maptemplates/horizontalcrosssection_water-temperature_isolines.vm: ingo@645: Added template files for water-levels, water-temperature and ingo@645: flow-velocity. ingo@645: ingo@644: 2010-03-04 Ingo Weinzierl ingo@644: ingo@644: Issue171 ingo@644: ingo@644: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Changed ingo@644: the way to calculate the current distance from startpoint. We do not ingo@644: calculate the distance between the current point and the last point and ingo@644: add this value to a variable storing the total distance anymore, but ingo@644: we take the distance between the current point and the start point. On ingo@644: this way, we do not need a variable to store the total distance, because ingo@644: current point - first point == total distance. And there is no ingo@644: impreciseness in gaps of different layers (see issue171 for this). ingo@644: ingo@643: 2010-03-04 Ingo Weinzierl ingo@643: ingo@643: * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Added ingo@643: some more debug information for gap detection on grids. ingo@643: ingo@643: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Added ingo@643: some more debug information for gap detection on grids. ingo@643: ingo@642: 2010-03-03 Ingo Weinzierl ingo@642: ingo@642: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Log important ingo@642: values used for gap detection if debug level is enabled. ingo@642: ingo@641: 2010-03-03 Ingo Weinzierl ingo@641: ingo@641: Issue146 ingo@641: ingo@641: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: ingo@641: Removed workaround to send a fake document if statistic is requested, ingo@641: which is not available for this product type. ingo@641: ingo@640: 2010-03-03 Ingo Weinzierl ingo@640: ingo@640: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@640: Trigger pdf creation for histograms when an 'out' call arrives with output ingo@640: mode 'histogram' and export mode 'pdf'. ingo@640: ingo@640: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: ingo@640: Implemented a method to export histograms as multipage pdf file. ingo@640: ingo@640: * doc/conf/products/timeseries/conf_mesh.xml, ingo@640: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@640: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, ingo@640: doc/conf/products/horizontalprofile/conf_mesh_cross.xml, ingo@640: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@640: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, ingo@640: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added pdf ingo@640: support for histogram charts. ingo@640: ingo@639: 2010-03-02 Ingo Weinzierl ingo@639: ingo@639: * src/main/java/de/intevation/gnv/state/OutputStateBase.java: Added an xpath ingo@639: expression for export modes. ingo@639: ingo@639: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@639: Refactoring of 'out' to be able to add pdf and svg exports to histogram. ingo@639: Now, there are just four output modes left (chart, histogram, csv, odv). ingo@639: Export modes (pdf, svg, img) are part of these output modes. ingo@639: Implemented svg export for histogram charts. ingo@639: ingo@639: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Helper ingo@639: method to export histograms as svg via output stream. ingo@639: ingo@639: * doc/conf/products/timeseries/conf_mesh.xml, ingo@639: doc/conf/products/timeseries/conf_timeseriespoint.xml, ingo@639: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@639: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, ingo@639: doc/conf/products/horizontalprofile/conf_mesh_cross.xml, ingo@639: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@639: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, ingo@639: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added svg ingo@639: as export mode to histogram output in configuration files. ingo@639: ingo@638: 2010-03-02 Ingo Weinzierl ingo@638: ingo@638: Issue180 ingo@638: ingo@638: * src/main/java/de/intevation/gnv/state/profile/horizontal/NorthSouthEastWestState.java: ingo@638: Removed CallMeta object from state which should not be serialized. ingo@638: Implemented a little workarround to save localized strings on this state. ingo@638: ingo@637: 2010-03-01 Ingo Weinzierl ingo@637: ingo@637: Issue182 ingo@637: ingo@637: * src/main/java/de/intevation/gnv/state/StateBase.java: Display the selected ingo@637: value if there is no description available. WKT-strings will be displayed ingo@637: in the static ui part again. ingo@637: ingo@636: 2010-03-01 Ingo Weinzierl ingo@636: ingo@636: Issue179 ingo@636: ingo@636: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Removed ingo@636: code former used to append product select box. ingo@636: ingo@636: * src/main/java/de/intevation/gnv/state/StateBase.java: Just use all parent ingo@636: states to render the static part of the user interfact - not the current ingo@636: state itself! ingo@636: ingo@635: 2010-03-01 Ingo Weinzierl ingo@635: ingo@635: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Removed ingo@635: methods which aren't used anymore (used before changing the caching ingo@635: mechanism). ingo@635: ingo@634: 2010-02-26 Ingo Weinzierl ingo@634: ingo@634: * doc/conf/products/timeseries/conf_timeseriespoint.xml: Changed the ingo@634: configured state class from DefaultState to MeasurementState. ingo@634: ingo@634: * doc/conf/queries.properties: Select parameterid from db as well, when ingo@634: fetching all measurement ids. ingo@634: ingo@634: * src/main/java/de/intevation/gnv/state/StateBase.java: Improved the way of ingo@634: searching for descriptions in selected values (used in describe document). ingo@634: ingo@634: * src/main/java/de/intevation/gnv/state/MeasurementState.java: New state ingo@634: object to create a describe document which can be used to render a ingo@634: measurement-parameter-matrix. ingo@634: ingo@634: * src/main/java/de/intevation/gnv/state/InputData.java, ingo@634: src/main/java/de/intevation/gnv/state/DefaultInputData.java: Added a new ingo@634: method to fetch a description by key. ingo@634: ingo@634: * src/main/java/de/intevation/gnv/state/describedata/ExtendedKeyValueData.java: ingo@634: This class extends DefaultKeyValueDescibeData. It is used by ingo@634: MeasurementState to create a mapping between measurements and parameters. ingo@634: Each key/value-pair has an extra attribute storing its parameter value. ingo@634: ingo@633: 2010-02-25 Ingo Weinzierl ingo@633: ingo@633: * doc/conf/products/verticalcrosssection/conf_mesh.xml, ingo@633: doc/conf/products/timeseries/conf_mesh.xml, ingo@633: doc/conf/products/timeseries/conf_timeseriespoint.xml, ingo@633: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@633: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, ingo@633: doc/conf/products/horizontalprofile/conf_mesh_cross.xml, ingo@633: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@633: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, ingo@633: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Adapted ingo@633: configuration. Pdf, svg, image exports got an own section in the ingo@633: outputmodes node. Exports belong to an output mode, now. There are no ingo@633: outputmodes 'pdf', 'svg', 'png' existing anymore. ingo@633: ingo@632: 2010-02-25 Ingo Weinzierl ingo@632: ingo@632: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: ingo@632: Changed the way of using cache to store verticalcrosssection chart data. ingo@632: Now, this type of chart is working without cache, as well. ingo@632: ingo@632: 2010-02-25 Ingo Weinzierl ingo@632: ingo@632: * src/main/java/de/intevation/gnv/state/OutputStateBase.java: Changed the ingo@632: way of using the cache to store chart / histogram data. Now, output modes ingo@632: 'chart' and 'histogram' are working without cache. ingo@632: ingo@630: 2010-02-25 Ingo Weinzierl ingo@630: ingo@630: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: ingo@630: Better exception handling while cache configuration. The cache is not ingo@630: initialized, if no cache is configured in conf.xml. There would have been ingo@630: an exception without having a cache section in conf.xml. Now, it's ingo@630: possible to use GNV without using a cache. ingo@630: ingo@630: * src/main/java/de/intevation/gnv/state/StateBase.java: Changed logger name ingo@630: from irritating 'GNVArtifactBase' to 'StateBase'. ingo@630: ingo@629: 2010-02-24 Ingo Weinzierl ingo@629: ingo@629: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@629: Store request parameter in a map and put that map into other ingo@629: classes/methods instead of putting each request parameter into an own ingo@629: variable. ingo@629: ingo@629: * src/main/java/de/intevation/gnv/chart/DefaultHistogram.java: Implemented ingo@629: logic to adjust number of bins in histogram charts. The user is able to ingo@629: choose between the number of bins or the size of a single bin. ingo@629: ingo@629: 2010-02-23 Ingo Weinzierl ingo@629: ingo@629: * contrib/palette2polygonVM.xsl: New. XSLT transformation to transform a ingo@629: palette file into a style definition template used for mapfile creation. ingo@629: Usage: ingo@629: ingo@629: $ xsltproc contrib/palette2polygonVM.xsl \ ingo@629: doc/conf/palette/water-temperature.xml \ ingo@629: > water-temperature.vm ingo@629: ingo@627: 2010-02-23 Ingo Weinzierl ingo@627: ingo@627: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@627: Removed a bug in pdf and svg creation. No data were drawn into chart. ingo@627: ingo@626: 2010-02-23 Ingo Weinzierl ingo@626: ingo@626: * doc/conf/products/timeseries/conf_timeseriespoint.xml, ingo@626: doc/conf/products/timeseries/conf_mesh.xml: Added an export mode section ingo@626: in output modes and added an export mode 'pdf' for showcase. This work is ingo@626: necessary to split up output modes (chart, histogram, ...) from export ingo@626: modes (pdf, svg, png, ...). GUI components are now able to distinguish ingo@626: between these modes and render each mode in an own section. ingo@626: ingo@626: * src/main/java/de/intevation/gnv/state/OutputStateBase.java: Read export ingo@626: modes from configuration node. ingo@626: ingo@626: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Write ingo@626: export modes into describe document. ingo@626: ingo@626: * src/main/java/de/intevation/gnv/state/DefaultOutputMode.java, ingo@626: src/main/java/de/intevation/gnv/state/OutputMode.java: Added export modes ingo@626: as java.util.List. 'getExportModes()' will deliver this list. ingo@626: ingo@626: * src/main/java/de/intevation/gnv/state/DefaultExportMode.java, ingo@626: src/main/java/de/intevation/gnv/state/ExportMode.java: Object storing ingo@626: necessary information for export mode. ingo@626: ingo@625: 2010-02-22 Ingo Weinzierl ingo@625: ingo@625: * doc/conf/conf.xml: Restructured configuration of shapfile and template ingo@625: directories. Moved map-generator part into gnv section. ingo@625: Moved shapefile-directory configuration to an own section and removed ingo@625: duplicated shapefile-directory config from map-generator. ingo@625: ingo@625: * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Adjusted ingo@625: xpath expressions regarding the changes in conf.xml. MapfileGenerator got ingo@625: some instance variables to store information about mapfile location, ingo@625: velocity log file and shapefile and template directories. This avoids ingo@625: reading conf.xml every single time while updating the mapfile. ingo@625: ingo@625: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: ingo@625: Adjusted xpath expression regaring the changes of shapefile-directory in ingo@625: conf.xml. ingo@625: ingo@624: 2010-02-22 Ingo Weinzierl ingo@624: ingo@624: * doc/conf/conf.xml: Added path for velocity logfile. ingo@624: ingo@624: * doc/conf/maptemplates/horizontalcrosssection_salinity.vm, ingo@624: doc/conf/maptemplates/horizontalcrosssection_salinity_isolines.vm: Removed ingo@624: absolute path in style includes. ingo@624: ingo@624: * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Improved ingo@624: velocity configuration regarding absolute pathes and logfile. ingo@624: sascha@623: 2010-02-21 Sascha L. Teichmann sascha@623: sascha@623: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@623: Fixed file handle leak when writing meta data. sascha@623: sascha@623: * src/main/java/de/intevation/gnv/state/StateBase.java, sascha@623: src/main/java/de/intevation/gnv/state/MinMaxState.java, sascha@623: src/main/java/de/intevation/gnv/utils/MapfileGenerator.java, sascha@623: src/main/java/de/intevation/gnv/chart/DefaultHistogram.java, sascha@623: src/main/java/de/intevation/gnv/chart/AbstractHistogram.java, sascha@623: src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: sascha@623: Clean up imports. sascha@623: ingo@622: 2010-02-19 Ingo Weinzierl ingo@622: ingo@622: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: ingo@622: Write a meta information file after shapefile writing is finished. These ingo@622: meta information are used to map the type of shapefiles to a specific ingo@622: template and fill these layer-templates with data. ingo@622: ingo@622: * src/main/java/de/intevation/gnv/wms/LayerInfo.java: Class for storing meta ingo@622: information for mapfile creation. ingo@622: ingo@622: * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Implemented ingo@622: method stubs. The MapfileGenerator starts searching for meta information ingo@622: in filesystem after update() is called. These information are used to to ingo@622: fill templates for the supported layers and a mapfile will be created out ingo@622: of this. ingo@622: ingo@622: TODO: Configure Velocity. ingo@622: ingo@622: * pom.xml: Added Apache Velocity 1.6.1 for templating mapfiles. ingo@622: ingo@622: * doc/conf/conf.xml: Adapted a section to configure necessary directories ingo@622: and filenames for mapfile generation. ingo@622: ingo@622: * doc/conf/maptemplates/mapfile.vm: Base template for mapfile. All required ingo@622: layers will be included into this template. ingo@622: ingo@622: * doc/conf/maptemplates/horizontalcrosssection_salinity_isolines.vm, ingo@622: doc/conf/maptemplates/horizontalcrosssection_salinity.vm, ingo@622: doc/conf/maptemplates/salinity_isolines.class.vm, ingo@622: doc/conf/maptemplates/salinity_polygons.class.vm: Template support for ingo@622: salinity in horizontal crosssection wms. ingo@622: ingo@621: 2010-02-17 Ingo Weinzierl ingo@621: ingo@621: * doc/conf/conf.xml: Added configuration section for writing mapfiles. ingo@621: ingo@621: * src/main/java/de/intevation/gnv/utils/MapfileGenerator.java: Singleton ingo@621: generator for writing mapfiles. It runs in an own thread and has an ingo@621: 'update' method which triggers the generator to search the filesystem for ingo@621: shapefiles and meta information and update mapfiles out of these ingo@621: information. A 'main' method can be invoked to update the mapfile without ingo@621: an running artifact server. ingo@621: ingo@621: TODO: Implement method stubs. ingo@621: ingo@621: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: ingo@621: Call MapfileGenerator when writing or removing shapefiles (endOfLife). ingo@621: ingo@618: 2010-02-15 Ingo Weinzierl ingo@618: ingo@618: * doc/conf/products/timeseries/conf_mesh.xml, ingo@618: doc/conf/products/timeseries/conf_timeseriespoint.xml, ingo@618: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@618: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, ingo@618: doc/conf/products/horizontalprofile/conf_mesh_cross.xml, ingo@618: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@618: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, ingo@618: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added ingo@618: histogram as output mode. ingo@618: ingo@618: * doc/conf/charttemplate.xml: Added color of bars in histograms. ingo@618: ingo@617: 2010-02-15 Ingo Weinzierl ingo@617: ingo@617: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@617: Added code path to create and return histograms. ingo@617: ingo@617: * src/main/java/de/intevation/gnv/chart/AbstractHistogram.java, ingo@617: src/main/java/de/intevation/gnv/chart/DefaultHistogram.java: New. Classes ingo@617: for creating histograms. Each histogram contains exactly one parameter. ingo@617: ingo@617: * src/main/java/de/intevation/gnv/chart/XMLChartTheme.java: Added parsing ingo@617: of histogram bar color. ingo@617: ingo@617: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Added a ingo@617: new funcion to copy all histograms into a single image and send it to ingo@617: output stream. ingo@617: ingo@617: * src/main/java/de/intevation/gnv/histogram/HistogramHelper.java: New. Added ingo@617: helper function to split the result collections for each parameter and for ingo@617: each measurement into pieces. ingo@617: tim@616: 2010-02-12 Tim Englich tim@616: tim@616: * doc/conf/queries.properties: tim@616: Integrated Queries for the Product Layer. tim@616: tim@616: * doc/conf/conf.xml: tim@616: Integrated the new FIS Nauthis and Contis and the required Link to the tim@616: Configuration for the new Product Layer. tim@616: tim@616: * doc/conf/products/layer/conf.xml: tim@616: Added Configuration for the new Product Layer. tim@616: * src/main/java/de/intevation/gnv/state/OutputStateBase.java (getData): tim@616: Changed Methodsignature from private to protected ro make it available tim@616: for extended Classes. tim@616: tim@616: * src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java (LayerOutputState): tim@616: Added new State for generating the Output for the Product Layer. tim@616: This Class is not jet completly implemented and will not return any tim@616: result at this Moment. tim@616: tim@616: * src/main/java/de/intevation/gnv/layer/LayerArtifact.java: tim@616: Added new Artifactclass for the Product Layer. tim@616: ingo@615: 2010-02-12 Ingo Weinzierl ingo@615: ingo@615: * src/main/java/de/intevation/gnv/state/InputData.java, ingo@615: src/main/java/de/intevation/gnv/state/DefaultInputData.java: Descriptions ingo@615: of values are stored in an array, because one InputData object can contain ingo@615: many data. ingo@615: ingo@615: * src/main/java/de/intevation/gnv/state/StateBase.java: Get a description ingo@615: for each input parameter and use an array to store all descriptions in an ingo@615: InputData object. Result of this is, that all user selected parameters are ingo@615: displayed and charts are well drawn again. ingo@615: ingo@615: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@615: Split up data values stored in InputData objects in search mechanism for ingo@615: specific parameters and put them all as KeyValueDescibeData objects into a ingo@615: collection. ingo@615: ingo@614: 2010-02-12 Ingo Weinzierl ingo@614: ingo@614: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Removed ingo@614: useless method calls which removed elements from cache, because each state ingo@614: puts its own elements into cache - not in one big piece. ingo@614: ingo@614: * src/main/java/de/intevation/gnv/state/StateBase.java: Adapted 'reset' ingo@614: method. It removes the former user selection for this state, only. ingo@614: tim@613: 2010-02-12 Tim Englich tim@613: tim@613: * doc/conf/products/timeseries/conf_mesh.xml: tim@613: Added new Transitions so that the State for entering a CoordinateValue will tim@613: only be shown if no Point was inserted during the Instantiation of an Artifact. tim@613: (MapViewer-Interface) tim@613: The could be used in the FIS Modeldata using the Product TimeSeries. You also have tim@613: to use a Region in the RegionFilter. tim@613: tim@612: 2010-02-12 Tim Englich tim@612: tim@612: * src/main/java/de/intevation/gnv/state/PreSettingsTransferState.java: tim@612: This new State ist Implemented for the Case that Values of the PreSettings tim@612: has to be used instead of InputValues. This States will look into the tim@612: Presettings and put Values identified by the configurable Names into the tim@612: InputData-Collection. tim@612: For the Configuration you can insert the following XML-Element into the tim@612: Configuration of a State. tim@612: tim@612: tim@612: * src/main/java/de/intevation/gnv/state/StateBase.java (getPreSettings), tim@612: src/main/java/de/intevation/gnv/state/State.java (getPreSettings): tim@612: Added a getter-method for the PreSettings that are set at the State. tim@612: Using this way e.g the PresettingsValueCompareTransition can reach the tim@612: Settings an can evaluate them. tim@612: tim@612: * src/main/java/de/intevation/gnv/transition/PresettingsValueCompareTransition.java (operator): tim@612: This transition will have a look at the Values which where ste during the tim@612: instantiation of an Artifact. If a defined Value is given an the Value is tim@612: Equal to the configured Value using the configured Operator the Transition tim@612: to the configured State could be used. Otherwise the Transition could not tim@612: be used. tim@612: ingo@611: 2010-02-11 Ingo Weinzierl ingo@611: ingo@611: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@611: Replaced method call which removes non selected parameters from parameter ingo@611: list. At this time, there are only selected parameters in the list, so ingo@611: there is no need to clean it. The result: Charts are drawn. ingo@611: ingo@610: 2010-02-11 Ingo Weinzierl ingo@610: ingo@610: * src/main/java/de/intevation/gnv/state/StateBase.java: Declared method as ingo@610: 'protected' to be allowed to use it in derived classes. ingo@610: ingo@610: * src/main/java/de/intevation/gnv/state/OutputStateBase.java: Changed the ingo@610: key to store into cache and restore data from it. Added a workarround to ingo@610: find min and max value fields in InputData. ingo@610: ingo@610: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@610: Adapted the search mechanism for specific parameter collections. This is ingo@610: required, because the the former mechanism searched in the big cache blob ingo@610: - which doesn't exist anymore. ingo@610: ingo@610: TODO: Repair chart generation. Although there are results existing for ingo@610: chart generation, no chart in drawn. ingo@610: ingo@609: 2010-02-11 Ingo Weinzierl ingo@609: ingo@609: * src/main/java/de/intevation/gnv/state/StateBase.java: Improved hash ingo@609: creation of each state. The hash is created using the uuid, state-id and ingo@609: the hash code of the input data required for the sql statement. ingo@609: ingo@608: 2010-02-10 Ingo Weinzierl ingo@608: ingo@608: * src/main/java/de/intevation/gnv/state/StateBase.java: Append description ingo@608: to InputData objects and use it while creating the describe document. The ingo@608: description is displayed in the static GUI part. A nice side effect of ingo@608: this is, that the subarea selection re-appears in the static GUI part. ingo@608: Even if no subarea has been selected. Furthermore, removed some methods ingo@608: which became useless after refactoring the caching and rendering ingo@608: mechanism. ingo@608: ingo@608: * src/main/java/de/intevation/gnv/state/MinMaxState.java: Adapted method ingo@608: signature regarding changes in upper class. ingo@608: ingo@607: 2010-02-10 Ingo Weinzierl ingo@607: ingo@607: * src/main/java/de/intevation/gnv/state/State.java: New method 'feed' in ingo@607: this interface. It should be used to feed this state with new data ingo@607: selected by the user. ingo@607: ingo@607: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Use new ingo@607: method 'feed' instead of 'putInputData' to feed the state with new data. ingo@607: ingo@607: * src/main/java/de/intevation/gnv/state/profile/horizontal/NorthSouthEastWestState.java, ingo@607: src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java, ingo@607: src/main/java/de/intevation/gnv/state/SingleInputState.java: Method ingo@607: 'purifyResult' just cleans values from database and returns it. DO NOT ingo@607: put these results into cache at this place! ingo@607: ingo@607: * src/main/java/de/intevation/gnv/state/InputData.java, ingo@607: src/main/java/de/intevation/gnv/state/DefaultInputData.java: Some new ingo@607: methods to store objects in such an InputData object. Objects are used to ingo@607: store MinMaxDescribeData objects for example. And further new methods to ingo@607: store a description for each InputData object. This is used to render the ingo@607: static GUI part. Until now, this object stored the id's of the ingo@607: selected parameter, only - which are useless to show in GUI. The ingo@607: description should be the string shown in the GUI, later. ingo@607: ingo@607: * src/main/java/de/intevation/gnv/state/MinMaxState.java: This type of state ingo@607: overrides 'feed' and 'appendToStaticNode'. 'feed' takes user input and ingo@607: parses min and max values from it (used for time periods for example). ingo@607: 'appendToStaticNode' will append these fields to the static GUI part. ingo@607: ingo@607: * src/main/java/de/intevation/gnv/state/StateBase.java: Removed the big ingo@607: cache blob and parted it into pieces. Each state will now put its ingo@607: database data into cache. In this way, we are able to reuse these data ingo@607: when the user steps back in history. Data, inserted by the user, will be ingo@607: stored via 'feed'. Special input fields like multi selection or ranges ingo@607: need to override this method to parse the input data and store them in ingo@607: special objects. ingo@607: ingo@607: TODOs: ingo@607: - The output modes are based on this big cache blob and search for ingo@607: parameterid, measurementid and dateid in it. ingo@607: TimeSeriesOutputState.getCollection() needs to be adapted! ingo@607: tim@606: 2010-02-09 Tim Englich tim@606: tim@606: * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultFIS.java (addParameter), tim@606: src/main/java/de/intevation/gnv/artifacts/services/requestobjects/FIS.java (addParameter): tim@606: Added the possibility to add Parameters to an existing FIS. tim@606: tim@606: * src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java (getFIS): tim@606: Added the support of the usecase that one FIS can be identified by different tim@606: MapServices. In that case the parameters will be merged into the existing tim@606: FIS. tim@606: ingo@605: 2010-02-09 Ingo Weinzierl ingo@605: ingo@605: * src/main/java/de/intevation/gnv/state/StateBase.java: Do not query the ingo@605: cache / database for rendering the static part of the describe document - ingo@605: just take the input data stored at each state. ingo@605: ingo@605: TODOs: ingo@605: - Store 'description' of each chosen value. At the moment we are able to ingo@605: render an id of value, only. ingo@605: - Take care of input elements with multi selection. ingo@605: - The subarea node disappears if we don't select any. ingo@605: tim@604: 2010-02-09 Tim Englich tim@604: tim@604: * doc/conf/conf.xml: tim@604: Switched the usage of DummyMetaDataService to MetaDataService because tim@604: the Service is now able to work properly. tim@604: * doc/conf/queries.properties: tim@604: Added the required SQL-Statements for fetching the Metadata from the tim@604: Database. tim@604: * src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java: tim@604: Added the Database-Lookup of FIS and Parameters. tim@604: Now the Metadata will be looked up using the specified Databaseschema as tim@604: defined in doc/schema/externalinterface_schema.sql tim@604: * src/main/java/de/intevation/gnv/artifacts/services/DummyMetaDataService.java tim@604: Removed Dummyservice because it is not required any more. tim@604: ingo@603: 2010-02-05 Ingo Weinzierl ingo@603: ingo@603: Issue170 ingo@603: ingo@603: * pom.xml: Changed log4j version to 1.2.14 (later version ingo@603: causes errors and breaks maven build process). ingo@603: tim@600: 2010-02-05 Tim Englich tim@600: tim@602: * pom.xml: tim@602: Changed from ArcSDE version 9.2.5 to Version 9.3 tim@602: You have to Install the required Libraries as described in tim@602: https://bsh-intern.intevation.de/Mavenbuildprozess tim@602: tim@602: 2010-02-05 Tim Englich tim@601: * doc/schema/externalinterface_testdata.sql: tim@601: Changed the Testdata for layerhasparameter according to the the changes of tim@601: the Tablestructure. tim@601: * doc/schema/externalinterface_schema.sql: tim@601: Changed id_layer Column in Table layerhasparameter from literal to number. tim@601: And added Column Layername to this Table. tim@601: This is nessessary because the Identifcation of an Layer is not the name tim@601: but the ID. tim@601: tim@601: 2010-02-05 Tim Englich tim@600: * doc/conf/products/horizontalcrosssection/conf_mesh.xml: tim@600: ISSUE167 tim@600: Fixed Bug in Konfiguration. Now Regionfilters can be used without running tim@600: in an Exception. tim@600: tim@599: 2010-02-02 Tim Englich tim@599: ingo@603: * doc/conf/products/horizontalcrosssection/conf_mesh.xml, tim@599: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, tim@599: doc/conf/products/horizontalprofile/conf_mesh_cross.xml, tim@599: doc/conf/products/horizontalprofile/conf_mesh.xml, tim@599: doc/conf/products/timeseries/conf_mesh.xml, tim@599: doc/conf/products/timeseries/conf_timeseriespoint.xml, tim@599: doc/conf/products/verticalcrosssection/conf_mesh.xml, tim@599: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml, tim@599: doc/conf/products/verticalprofile/conf_mesh.xml, tim@599: doc/conf/products/verticalprofile/conf_timeseriespoint.xml: tim@599: Added the possibility to use the Informations (PreSettings) which are tim@599: send using the MapViewer-Interface in all States which are responsible to tim@599: manage the choice of Parameters during the Workflows of GNV-Artifacts. tim@599: tim@598: 2010-02-02 Tim Englich tim@598: tim@598: * src/main/java/de/intevation/gnv/state/DefaultInputData.java (splitValue), tim@598: src/main/java/de/intevation/gnv/state/InputData.java (splitValue): tim@598: Added Method which spilts the Values using the same Separator which is tim@598: used to concart the Values. tim@598: tim@598: * src/main/java/de/intevation/gnv/state/StateBase.java: tim@598: Added the usage of the Presettings during the Loading of the Data tim@598: which is nessesary to describe the current State. tim@598: If Values are given in the Presettings which are identified by the tim@598: name wwhich is specified in the Configurationelement presettings-name tim@598: only the Intersection of the fetched Objects and the PresettingsObjects tim@598: are used. tim@598: tim@598: * src/main/java/de/intevation/gnv/state/State.java (setPreSettings): tim@598: Added new Method setPreSettings to be Able to put the Presettings from the tim@598: current Artifact to the different States. tim@598: tim@598: * src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java (setup): tim@598: The Method Setup now extracts the given PreSettingsparameter from the tim@598: XML-Document and put them to the ProductArtifacts which are instantiated in tim@598: the advance()-Method using the Methods of the PreSettingArtifact-Interface. tim@598: tim@598: * src/main/java/de/intevation/gnv/artifacts/PreSettingArtifact.java (setPreSettings): tim@598: New interfacedefinition. Artifacts which are implementing this Interface tim@598: are able to exchange the given Presettings using the given getter and tim@598: setter methods of this Interface. tim@598: tim@598: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: tim@598: The GNVArtifactBase now implements the Interface PreSettingsArtifacts. tim@598: So it is able to manage Data which is set during the construction of an tim@598: new ArtifactInstance. tim@598: It also put the PreSettings-data to the different States. So that they are tim@598: able to use it during their livecycle. tim@598: tim@595: 2010-02-01 Tim Englich tim@595: tim@597: * doc/conf/conf.xml: tim@597: Added the Configuration-node for the MetaDataService into the Configuration tim@597: of the GNV-Artifact-Restserver. tim@597: At tis Moment it is only useful to use the DummyMetaDataService. tim@597: tim@597: * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultLayer.java: tim@597: Defaultimplementation of the Interface Layer. tim@597: * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Layer.java: tim@597: Interfacedefinition for Objects that represents Layer and GroupLayer that tim@597: where parsed from the XML-Document which was sent to the MetaDataService tim@597: tim@597: * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultMapService.java: tim@597: Defaultimplementation of the Interface MapService. tim@597: * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/MapService.java: tim@597: Interfacedefinition for Objects that represents Mapservices that where tim@597: parsed from the XML-Document which was sent to the MetaDataService. tim@597: tim@597: * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultParameter.java: tim@597: Defaultimplementation of the Interface Parameter. tim@597: * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/Parameter.java: tim@597: Interfacedefinition for representing an Parameter which belongs to an FIS. tim@597: tim@597: * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/DefaultFIS.java: tim@597: Defaultimplementation of the Interface FIS. tim@597: * src/main/java/de/intevation/gnv/artifacts/services/requestobjects/FIS.java: tim@597: Interfacedefinition for representing an FIS which will be used as an tim@597: ResultValue of the MetaDataService-Processing. tim@597: tim@597: * src/main/java/de/intevation/gnv/artifacts/services/MetaDataServiceException.java: tim@597: Exceptionclass for classifiing Exception which occurs during the processing tim@597: of an MetaDataService-Call. tim@597: tim@597: * src/main/java/de/intevation/gnv/artifacts/services/DummyMetaDataService.java: tim@597: DummyClass of an MetaDataService. This Class can be use to simulate an tim@597: MetaDataService-Call until the required Metadata for the prossessing are tim@597: available in the Database-Backend. tim@597: This Class only returns the given Mapservices as an FIS and the Layer tim@597: as an Parameter to a given FIS. tim@597: tim@597: * src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java: tim@597: This Class is an Implementation of the de.intevation.artifacts.Service tim@597: Interface. This Service should provide Informations which FIS are available tim@597: for given Mapservices an which FIS are intersecting a given Region tim@597: These Informations are required according to definition of the MapViewer tim@597: Interface. tim@597: tim@597: 2010-02-01 Tim Englich tim@597: tim@595: * src/test/java/de/intevation/gnv/artifacts/TestArtifactDatabase.java (createArtifactWithFactory): tim@595: Fixed Compilance-Errors triggered by Interface-Modifications in the tim@595: Artifact-Module. tim@595: tim@595: * src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointVerticalProfileTestCase.java (testArtifact), tim@596: src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointTimeSeriesTestCase.java (testArtifact), tim@596: src/test/java/de/intevation/gnv/artifacts/MeshVerticalProfileTestCase.java (testArtifact), tim@596: src/test/java/de/intevation/gnv/artifacts/MeshVerticalCrossSectionTestCase.java (testArtifact), tim@596: src/test/java/de/intevation/gnv/artifacts/MeshTimeSeriesTestCase.java (testArtifact), tim@596: src/test/java/de/intevation/gnv/artifacts/MeshHorizontalProfileTestCase.java (testArtifact), tim@596: src/test/java/de/intevation/gnv/artifacts/MeshHorizontalCrossSectionTestCase.java (testArtifact), tim@596: src/test/java/de/intevation/gnv/artifacts/InstantaneousPointVerticalProfileTestCase.java (testArtifact), tim@596: src/test/java/de/intevation/gnv/artifacts/InstantaneousPointHorizontalProfileTestCase.java (testArtifact): tim@595: Refactored Artifact-Instantiation using the new createArtifact()-Method of the super-Class. tim@595: tim@595: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCaseBase.java (createArtifact) tim@595: Added Method for instantiating an new Artifact using the given Artifactfactory. tim@595: Also fixed the Compilance-Errors triggered by Interface-Modifications in the tim@595: Artifact-Module. tim@595: tim@594: 2010-02-01 Tim Englich tim@594: tim@594: * src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java (setup), tim@594: src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java (setup), tim@594: src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java (setup), tim@594: src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java (setup), tim@594: src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java (setup), tim@594: src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java (setup), tim@594: src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java (createArtifact), tim@594: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (setup): tim@594: Changed Method signatures because of Interfacemodifications in the tim@594: Artifact-Module. Now it is possible to retrieve the XML-Document which was tim@594: send by an Client during the create-Call. So it is possible to get further tim@594: Informations which could be used during the livecycle of an Artifact. tim@594: tim@594: sascha@593: 2010-01-31 Sascha L. Teichmann sascha@593: sascha@593: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, sascha@593: src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java, sascha@593: doc/conf/conf.xml: Added configuration for extrapolation in "Horizontalschnitte". sascha@593: sascha@593: Use gnv/horizontal-cross-section/extrapolation/@rounds with sascha@593: integer rounds > 0 to turn extrapolation on (default: 0). sascha@593: Rounds is a number of successive point extrapolations which means that sascha@593: the grid is successively filled with missing points based on prior rounds. sascha@593: The larger 'rounds' get more gaps are filled synthetic generated points. sascha@593: sascha@593: Set this to 2 to get good results for the model data FIS. sascha@593: sascha@593: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@593: Foward configuration to area interpolation. sascha@593: sascha@593: * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: sascha@593: Foward configuration to GridCell. sascha@593: sascha@593: * src/main/java/de/intevation/gnv/math/Point2d.java: Added method to extrapolate sascha@593: point along a line spanned by two points. sascha@593: Calculate Inverse Distance Weighting (IDW) for a given set of points on sascha@593: z components. Added method to check if set of points are near a given sascha@593: point. sascha@593: sascha@593: * src/main/java/de/intevation/gnv/math/GridCell.java: Before building the sascha@593: i/j cells the grid is filled with synthetic generated points. The sascha@593: position is estimated from the neighboring points. The parameter values sascha@593: are calculated by IDW. Some care is taken to avoid invalid grid topologies. sascha@593: sascha@593: TODO: Implement this for the "Profillschnitt" too to keep the inner sascha@593: symmetry. sascha@593: tim@591: 2010-01-29 Tim Englich tim@591: tim@591: * src/test/java/de/intevation/gnv/artifacts/MeshVerticalProfileTestCase.java (testArtifact), tim@591: * src/test/java/de/intevation/gnv/artifacts/MeshVerticalCrossSectionTestCase.java (testArtifact), tim@591: * src/test/java/de/intevation/gnv/artifacts/MeshHorizontalProfileTestCase.java (testArtifact), tim@591: * src/test/java/de/intevation/gnv/artifacts/MeshHorizontalCrossSectionTestCase.java (testArtifact): tim@591: Increases the number of steps that has to be done for the different products plus one. tim@591: tim@591: * src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_out_statistics.xml, tim@591: src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_out_odv.xml, tim@591: src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_out_csv.xml, tim@591: src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_out_chart.xml, tim@591: src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_feed.xml, tim@591: src/test/ressources/verticalprofile_mesh/verticalprofile_step_11_advance.xml, tim@591: src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_feed.xml, tim@591: src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_advance.xml, tim@591: src/test/ressources/verticalprofile_mesh/verticalprofile_step_09_advance.xml: tim@591: Added Advance and Feed-Document for the State Year. tim@591: Changed the Advance to the State Year. tim@591: Moves the Last state to *11*.xml Documents. tim@591: tim@591: * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_out_odv.xml, tim@591: src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_out_csv.xml, tim@591: src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_out_chart.xml, tim@591: src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_feed.xml, tim@591: src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_07_advance.xml, tim@591: src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_06_feed.xml, tim@591: src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_06_advance.xml, tim@591: src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_05_advance.xml: tim@591: Added Advance and Feed-Document for the State Year. tim@591: Changed the Advance to the State Year. tim@591: Moves the Last state to *07*.xml Documents. tim@591: tim@591: * src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_out_statistics.xml, tim@591: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_out_odv.xml, tim@591: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_out_csv.xml, tim@591: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_out_chart.xml, tim@591: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_11_advance.xml, tim@591: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_feed.xml, tim@591: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_advance.xml, tim@591: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_09_advance.xml: tim@591: Added Advance and Feed-Document for the State Year. tim@591: Changed the Advance to the State Year. tim@591: Moves the Last state to *11*.xml Documents. tim@591: tim@591: * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_08_out_zip.xml, tim@591: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_08_out_wms.xml, tim@591: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_08_feed.xml, tim@591: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_08_advance.xml, tim@591: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_feed.xml, tim@591: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_advance.xml, tim@591: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_advance.xml: tim@591: Added Advance and Feed-Document for the State Year. tim@591: Changed the Advance to the State Year. tim@591: Moves the Last state to *08*.xml Documents. tim@591: hans@538: 2010-01-27 Hans Plum hans@538: hans@538: RELEASE 0.4 hans@538: hans@538: * Changes, NEWS, ChangeLog: Summarized activities hans@538: sascha@539: 2010-01-27 Sascha L. Teichmann sascha@539: sascha@539: * Changes: Reordered items a bit sascha@539: ingo@537: 2010-01-27 Ingo Weinzierl ingo@537: ingo@537: Issue164 ingo@537: ingo@537: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: ingo@537: Applied patch of SLT to remove shape files and directories of out-dated ingo@537: artifacts. Therefor we need to store the artifact after an 'out' operation ingo@537: - which is actually a read only operation - explicitly into the artifact ingo@537: database to keep the directory path. ingo@537: ingo@536: 2010-01-26 Ingo Weinzierl ingo@536: ingo@536: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@536: Calculate results after reaching the final state and store them in cache. ingo@536: This avoids long latencies for chart creation or exports. ingo@536: ingo@535: 2010-01-26 Ingo Weinzierl ingo@535: ingo@535: Issue158 ingo@535: ingo@535: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@535: Replaced old way to create ChartLabel objects with a method call ingo@535: 'createChartLabels()'. ingo@535: ingo@534: 2010-01-26 Ingo Weinzierl ingo@534: ingo@534: * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: ingo@534: Set white border (border arround drawing area) as default for ingo@534: 'Profilschnitte'. ingo@534: ingo@533: 2010-01-26 Ingo Weinzierl ingo@533: ingo@533: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: ingo@533: Calculate results after reaching the final state and store them in cache. ingo@533: This avoids long latencies for chart creation or exports. ingo@533: ingo@532: 2010-01-26 Ingo Weinzierl ingo@532: ingo@532: Issue162 ingo@532: ingo@532: * doc/conf/products/horizontalcrosssection/conf_mesh.xml, ingo@532: doc/conf/queries.properties: Adapted transition model. Splitted date ingo@532: selection of 'Horizontalschnitte' into two steps. ingo@532: ingo@531: 2010-01-26 Ingo Weinzierl ingo@531: ingo@531: * doc/conf/products/verticalcrosssection/conf_mesh.xml: Removed csv export ingo@531: from product 'Profilschnitt'. ingo@531: ingo@530: 2010-01-26 Ingo Weinzierl ingo@530: ingo@530: * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java: Fixed an ingo@530: ArrayIndexOutOfBounds-exception which occured if there are less than two ingo@530: data points. ingo@530: ingo@530: 2010-01-26 Ingo Weinzierl ingo@530: ingo@530: Issue161 ingo@530: ingo@530: * doc/conf/products/verticalprofile/conf_mesh.xml: Adapted transition model. ingo@530: Splitted date selection into two steps. ingo@530: sascha@528: 2010-01-25 Sascha L. Teichmann sascha@528: sascha@528: Fix/Workaround for gnv/issue159 sascha@528: sascha@528: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, sascha@528: src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, sascha@528: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: sascha@528: Deactivated the index buffer by default because applying it gives to sascha@528: less data points in some circumstances. When processing the sascha@528: "horizontalen Schnittprofile", the "Profilschnitte" and the sascha@528: "Horizontalschnitte" the whole set of mesh cells for sascha@528: the given parameters are retrieved. This results in much sascha@528: more traffic from database (~ 10x) but seems not to be much slower. sascha@528: The memory consumption increases accordingly. sascha@528: sascha@528: To turn the index buffer on again use the boolean system properties: sascha@528: sascha@528: "gnv.horizontal.profile.mesh.cross.index.buffer" sascha@528: "gnv.vertical.cross.section.index.buffer" sascha@528: "gnv.horizontal.profile.mesh.cross.index.buffer" sascha@528: sascha@528: * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Because much sascha@528: more data is processed a more sophisticated point culling strategy is sascha@528: implemented now. sascha@528: sascha@528: If the number of points are higher than a given threshold (system property sascha@528: "gnv.interpolation2d.cull.point.threshold", default: 1000) a culling is sascha@528: performed. Two cases: sascha@528: sascha@528: a) given a path P ("horizontales Schnittprofil", "Profilschnitt") sascha@528: Calculates a bounding box B for P and continues with (b). sascha@528: sascha@528: b) a bounding box B ("Horizontalschnitt", and above after (a)) sascha@528: Calculates a bounding box C for the input points. If the sascha@528: area of B is greater than 80% of the area of C no culling is sascha@528: performed. Else B is extended by 10% in each direction. sascha@528: If the new area of B is smaller than 10% of the area of C sascha@528: B is adjusted to have at least 10% the size of C. sascha@528: sascha@528: All input points that are not inside B are culled. Afterwards the sascha@528: i/j grid cell units are created and pushed into a spatial index sascha@528: as described below. sascha@528: ingo@527: 2010-01-25 Ingo Weinzierl ingo@527: ingo@527: Issue157 ingo@527: ingo@527: * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: ingo@527: Added method to adjust background color of this chart. ingo@527: ingo@527: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: ingo@527: Set white background as all other charts have. ingo@527: ingo@526: 2010-01-25 Ingo Weinzierl ingo@526: ingo@526: Issue160 ingo@526: ingo@526: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Copied a ingo@526: method from JFreeChart and adapted date formats. ingo@526: sascha@525: 2010-01-25 Sascha L. Teichmann sascha@525: sascha@525: * doc/conf/arcsdeconnectionpool.properties: Set serverRoundtripInterval sascha@525: to 5 seconds and serverInactiveInterval to 5 minutes. sascha@525: ingo@524: 2010-01-25 Ingo Weinzierl ingo@524: ingo@524: * doc/conf/products/verticalcrosssection/conf_mesh.xml, ingo@524: doc/conf/queries.properties: Splitted date selection into two steps - year ingo@524: and concreate date in this year. Removed useless option to ingo@524: disable/enable data points of chart and export output, because points ingo@524: make no sense in such products. ingo@524: ingo@523: 2010-01-25 Ingo Weinzierl ingo@523: ingo@523: * doc/conf/products/horizontalprofile/conf_mesh_cross.xml, ingo@523: doc/conf/products/horizontalprofile/conf_mesh.xml: Added new state for ingo@523: splitting the date selection into two parts - selection of year and ingo@523: selection of a concrete date of this year. ingo@523: ingo@523: * doc/conf/queries.properties: Added new sql statement for querying years ingo@523: and adapted statement to query concrete dates. ingo@523: ingo@522: 2010-01-25 Ingo Weinzierl ingo@522: ingo@522: Issue156 ingo@522: ingo@522: * doc/conf/products/verticalcrosssection/conf_mesh.xml, ingo@522: doc/conf/products/timeseries/conf_mesh.xml, ingo@522: doc/conf/products/timeseries/conf_timeseriespoint.xml, ingo@522: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@522: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, ingo@522: doc/conf/products/horizontalprofile/conf_mesh_cross.xml, ingo@522: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@522: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, ingo@522: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added some ingo@522: parameter (width, height, and shapes) to output modes svg and pdf. Now, ingo@522: these parameter will have an effect on svg and pdf exports. ingo@522: sascha@520: 2010-01-24 Sascha L. Teichmann sascha@520: sascha@521: * doc/conf/conf.xml: Added attribute "fill-color" to sascha@521: /artifact-database/gnv/vertical-cross-section/ground/ configure sascha@521: the color of the seabed polygon. sascha@521: sascha@521: * src/main/java/de/intevation/gnv/math/Interpolation3D.java: sascha@521: Adjusted column depth to the deepest interpolated position to sascha@521: prevent gaps. sascha@521: sascha@521: * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: sascha@521: Add ground polygon to the chart. sascha@521: sascha@521: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/OutputHelper.java: sascha@521: New. Contains code to create the ground polygon. sascha@521: sascha@521: * src/main/java/de/intevation/gnv/raster/PolygonDatasetProducer.java, sascha@521: src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java: sascha@521: Handle temporary vertices more efficiently. sascha@521: sascha@521: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, sascha@521: src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: sascha@521: Added configuration to set the color of the seabed polygon. sascha@521: sascha@521: * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: sascha@521: Handle the seabad polygon color. sascha@521: sascha@593: 2010-01-24 Sascha L. Teichmann sascha@521: sascha@520: * contrib/palette2qgis.xsl: Cosmetic cleanups. sascha@520: sascha@519: 2010-01-23 Sascha L. Teichmann sascha@519: sascha@519: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: sascha@519: Fixed bug when accessing i and j columns of SQL dataset. This sascha@519: prevented gap detection in "horizontale Schnittprofile" from working. sascha@519: sascha@519: * src/main/java/de/intevation/gnv/math/Interpolation2D.java: sascha@519: "horizontale Schnittprofile" are now using the grid cell mechanism sascha@519: too. This should fix all remaining problems to solve gnv/issue153. sascha@519: The culling of too much points is controlled with the system property sascha@519: "gnv.interpolation2d.cull.point.threshold" with the same semantics sascha@519: as in 'Profilschnitt' and 'Horizontalschnitt'. sascha@519: The spatial buffer size estimation code is removed because it is sascha@519: not needed any longer. sascha@519: sascha@519: * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Moved some sascha@519: code to Interpolation2D. sascha@519: sascha@519: * src/main/java/de/intevation/gnv/math/GridCell.java: Added some sascha@519: debug information about the number of found cells. sascha@519: sascha@519: * src/main/java/de/intevation/gnv/utils/WKTUtils.java: sascha@519: Cleanup imports. sascha@519: sascha@518: 2010-01-23 Sascha L. Teichmann sascha@518: sascha@518: * src/main/java/de/intevation/gnv/math/Interpolation3D.java: sascha@518: Apply same logic about the number of points to "Profilschnitte" sascha@518: too. If there are more "gnv.interpolation3d.cull.point.threshold" sascha@518: points they are culled against a 5% extended bounding box around sascha@518: the path. Default threshold: 1000. sascha@518: sascha@517: 2010-01-23 Sascha L. Teichmann sascha@517: sascha@517: * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: sascha@517: - The lastest refactoring removed the evaluation of the sascha@517: depth. Now its back in again. sascha@517: sascha@517: - If the number of incoming points is greater than sascha@517: a given threshold (default: 1000) than the bounding box sascha@517: of the interpolation is extend about 5% for a test sascha@517: if the points are in this area. Points outside this sascha@517: area are culled because its unlikely that they have sascha@517: any influence on the result. Use the system property sascha@517: "gnv.areainterpolation.cull.point.threshold" to modify sascha@517: the threshold value. sascha@517: sascha@517: * src/main/java/de/intevation/gnv/math/GridCell.java: When sascha@517: build the interpolation areas the points are culled against sascha@517: extented bounding box. sascha@517: sascha@517: 2010-01-23 Sascha L. Teichmann sascha@516: hans@538: * contrib/palette2qgis.xsl: New. XSLT transformation to turn a sascha@516: palette XML file into a style definition suitable to be used sascha@516: in QGIS. Tested with QGIS 1.4.0-Enceladus. Usage: sascha@516: sascha@516: $ xsltproc contrib/palette2qgis.xsl \ sascha@516: doc/conf/palette/water-temperature.xml \ sascha@516: > water-temperature.qml sascha@516: sascha@516: Do similar to process salinity.xml et al. sascha@516: sascha@516: When you've loaded the "Horizontalschnitt" polygon layer sascha@516: in QGIS, class it via the "CLASS" attribute, load the sascha@516: according style and apply it. Voila! sascha@516: sascha@515: 2010-01-22 Sascha L. Teichmann sascha@515: sascha@515: * src/main/java/de/intevation/gnv/math/Interpolation3D.java: sascha@515: Make "Profilschnitte" work the same way like "Horzontalschnitte" sascha@515: again. sascha@515: sascha@514: 2010-01-22 Sascha L. Teichmann sascha@514: sascha@514: * src/main/java/de/intevation/gnv/math/GridCell.java: New. sascha@514: A 4-tupel of neighbored points in the mesh. It is valid sascha@514: to interpolate in this area. sascha@514: sascha@514: * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: sascha@514: The algorithm how neighbored points in the mesh are determined sascha@514: has changed. Now all incoming points are tiled into GridCells. sascha@514: If there are gaps in i,j the corresponding tile is omited. sascha@514: These tiles are stored in an R tree. To lookup a point in sascha@514: world coordinates the spatial index is queried. If no result sascha@514: is found the point is ignore as a gap. If a fitting grid cell sascha@514: is found the interpolation in done between the four points sascha@514: of that cell is performed. Special gap checking is not needed any sascha@514: longer. This fixes gnv/issue153 because there are no assumptions sascha@514: about axis aligned points any more. sascha@514: sascha@514: * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Used sascha@514: euclid distance to estimate spatial buffer size. TODO: Remove sascha@514: this code when adjusting the "Profilschnitte" to the same logic sascha@514: as used in "Horzontalschnitte" now. sascha@514: sascha@514: * src/main/java/de/intevation/gnv/math/LinearFunction.java: Added sascha@514: author's email. sascha@514: sascha@514: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, sascha@514: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: sascha@514: Cleanup imports. sascha@514: ingo@513: 2010-01-22 Ingo Weinzierl ingo@513: ingo@513: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Removed ingo@513: debug output which has been checked in by mistake. ingo@513: tim@512: 2010-01-22 Tim Englich tim@512: tim@512: * doc/conf/meshwidth.xml: tim@512: Added Description of the sense of the different Attributes. tim@512: tim@509: 2010-01-22 Tim Englich tim@509: tim@511: Issue93 tim@511: tim@511: * doc/conf/meshwidth.xml: tim@511: Added file for the global Configuration of MeshWidths to the Project. tim@511: This file has to be edited if the mean Distance between two MeshPoints has tim@511: changed or a new Mesh will be introduced. tim@511: tim@511: * doc/conf/products/verticalprofile/conf_mesh.xml, tim@511: doc/conf/products/timeseries/conf_mesh.xml, tim@511: doc/conf/products/horizontalprofile/conf_mesh.xml: tim@511: Added Elemet with Link to the MeshWidth-Document to Configurations tim@511: for CoordinateSelectionStates. tim@511: tim@511: * src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java : tim@511: Added the possibility to configure the different width of the Meshes. tim@511: tim@511: 2010-01-22 Tim Englich sascha@514: tim@510: * src/test/java/de/intevation/gnv/artifacts/TestArtifactDatabase.java (serviceNamesAndDescriptions),(process): tim@510: Fixed Compiler-Error after adding further Methods to the Interface ArtifactDatabase. tim@510: tim@510: 2010-01-22 Tim Englich tim@509: * src/test/java/de/intevation/gnv/artifacts/util/ShapeFileWriterTestCase.java (testMultiLineStringWriter): tim@509: Fixed Compiler-Error after changes in the Method-Signature. tim@509: ingo@508: 2010-01-21 Ingo Weinzierl ingo@508: ingo@508: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: ingo@508: Repaired revision. Removed try-catch of a never thrown exception. ingo@508: ingo@507: 2010-01-21 Ingo Weinzierl ingo@507: ingo@507: Issue136 & Issue137 ingo@507: ingo@507: * src/main/resources/lang/artifactMessages.properties, ingo@507: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@507: src/main/resources/lang/artifactMessages_en.properties, ingo@507: src/main/resources/lang/artifactMessages_de.properties: Added templates ingo@507: to format coordinates to a human readable output. ingo@507: ingo@507: * src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java, ingo@507: src/main/java/de/intevation/gnv/utils/WKTUtils.java: Moved function to ingo@507: format coordinates from wkt string to human readalbe output to WKTUtils. ingo@507: Modified the method: Read template out of the i18n files and use a Java ingo@507: MessageFormatter to fill this template with string objects. A result of ingo@507: this is a proper encoding (issue137). ingo@507: ingo@507: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: ingo@507: Use the method described above to format coordinate output and display ingo@507: this as chart subtitle (issue136). ingo@507: ingo@506: 2010-01-21 Ingo Weinzierl ingo@506: ingo@506: Issue100 ingo@506: ingo@506: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: If there ingo@506: are more than one axis, each dataset is mapped to its own dataset after ingo@506: adding it to the plot (one dataset for each parameter). In this way, we ingo@506: get a well scaled axis for each parameter which is independent from other ingo@506: axes (see range of salinity and air-pressure for example). ingo@506: ingo@505: 2010-01-20 Ingo Weinzierl ingo@505: ingo@505: Issue152 ingo@505: ingo@505: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Removed date ingo@505: formatting from timeseries charts. Set locale of DateAxis instead to ingo@505: localize chart axis. Advantage: JFreeChart defines intervals of axis ingo@505: labels automatically. ingo@505: sascha@504: 2010-01-20 Sascha L. Teichmann sascha@504: sascha@504: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@504: Trigger the calculation when the state is initialized. sascha@504: ingo@503: 2010-01-20 Ingo Weinzierl ingo@503: ingo@503: Issue129 ingo@503: ingo@503: * src/main/resources/lang/artifactMessages.properties, ingo@503: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@503: src/main/resources/lang/artifactMessages_en.properties, ingo@503: src/main/resources/lang/artifactMessages_de.properties: Renamed I-axis to ingo@503: 'West-East-axis' and J-axis to 'North-South-axis'. ingo@503: ingo@502: 2010-01-20 Ingo Weinzierl ingo@502: ingo@502: Issue105 The option to enable/disable data points in charts is now ingo@502: available in gui. ingo@502: ingo@502: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@502: Parse optional chart parameter 'points' to adjust rendering of shapes. ingo@502: ingo@502: * doc/conf/products/verticalcrosssection/conf_mesh.xml, ingo@502: doc/conf/products/timeseries/conf_mesh.xml, ingo@502: doc/conf/products/timeseries/conf_timeseriespoint.xml, ingo@502: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@502: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, ingo@502: doc/conf/products/horizontalprofile/conf_mesh_cross.xml, ingo@502: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@502: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, ingo@502: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added an ingo@502: option to enable/disable data points in charts. ingo@502: sascha@501: 2010-01-20 Sascha L. Teichmann sascha@501: sascha@501: * doc/conf/conf.xml: Set number of per axis samples to 1024 sascha@501: because generation of "Horizontalschnitte" is much faster sascha@501: now (60x). sascha@501: sascha@501: * src/main/java/de/intevation/gnv/math/Interpolation2D.java: sascha@501: Added some kind of outlier test when guessing the buffer size sascha@501: of the spatial index. The speed problem arose from the fact sascha@501: that to much points are assumed to be neighbors of a given sascha@501: point. Long distances which differ more than 40% from the sascha@501: standard derivation are assumed to be outliers. sascha@501: sascha@501: * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: Uses sascha@501: the outlier aware buffer size guessing now. sascha@501: sascha@501: * src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java, sascha@501: src/main/java/de/intevation/gnv/raster/JTSMultiLineStringProducer.java: sascha@501: Removed needless imports. sascha@501: ingo@500: 2010-01-20 Ingo Weinzierl ingo@500: ingo@500: Issue148 ingo@500: ingo@500: * doc/conf/products/verticalcrosssection/conf_mesh.xml, ingo@500: doc/conf/products/timeseries/conf_mesh.xml, ingo@500: doc/conf/products/timeseries/conf_timeseriespoint.xml, ingo@500: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@500: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, ingo@500: doc/conf/products/horizontalprofile/conf_mesh_cross.xml, ingo@500: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@500: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, ingo@500: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Removed ingo@500: mistakes in description and mimetype of svg export nodes. ingo@500: sascha@499: 2010-01-20 Sascha L. Teichmann sascha@499: sascha@499: * src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java, sascha@499: src/main/java/de/intevation/gnv/raster/JTSMultiLineStringProducer.java: sascha@499: Clip against given polygon. BTW: Geotools has problems with sascha@499: writing clipped polygons in packed 2-tuple form, too. Therefore sascha@499: polygons are also stores in the packed 3-tuple form. :-/ sascha@499: sascha@499: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@499: Forward clipping polygon to isoline and polygon generator. sascha@499: sascha@498: 2010-01-19 Sascha L. Teichmann sascha@498: sascha@498: * trunk/pom.xml: Upgraded Geotools to 2.5.8 sascha@498: sascha@498: * trunk/src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java: sascha@498: Ported to Geotools 2.5.8 API. Write parameter id, date and layer sascha@498: to shape files, too. sascha@498: sascha@498: * trunk/src/main/java/de/intevation/gnv/math/AreaInterpolation.java: sascha@498: Flip upside down again because its not necessary. sascha@498: sascha@498: * trunk/src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java: sascha@498: XXX: There is a Geotools bug when writing multi lines strings sascha@498: to shape files when the internal data representation are sascha@498: packed 2-tuples. 2-tuples are enough in our use case but we sascha@498: use 3-tuples for multi line line strings. multi polygons work sascha@498: fine with 2-tuples. sascha@498: Removed needless bug output. sascha@498: sascha@498: * src/main/java/de/intevation/gnv/raster/JTSMultiLineStringProducer.java: sascha@498: Use packed 3-tuples as the internal representation. sascha@498: sascha@498: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCaseBase.java, sascha@498: src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: sascha@498: Removed needless imports. sascha@498: hans@538: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: Write polygons and lines strings to shape files. sascha@498: sascha@497: 2010-01-19 Sascha L. Teichmann sascha@497: sascha@497: * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: sascha@497: Removed import to make it compilable again. sascha@497: ingo@496: 2010-01-19 Ingo Weinzierl ingo@496: ingo@496: Issue142 ingo@496: ingo@496: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Fixed an issue ingo@496: in timeseries chart caused by parameters with no value. Paid attention on ingo@496: array length. ingo@496: sascha@495: 2010-01-19 Sascha L. Teichmann sascha@495: sascha@495: * src/main/java/de/intevation/gnv/raster/RasterToPPM.java: New. sascha@495: Class to write rasters with palettes to portable pixmaps. sascha@495: Handy to debug raster outputs. sascha@495: sascha@495: * src/main/java/de/intevation/gnv/raster/Raster.java: Added sascha@495: getValues() to access the backing data. sascha@495: sascha@495: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@495: Read parameter from input data correctly. sascha@495: sascha@495: * src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java: Walk sascha@495: rings of polygons in reversed order to produce correct JTS polygons. sascha@495: Its not entierly clear why this is necessary. sascha@495: sascha@495: * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: Clipp the sascha@495: input points against an buffered version of the bounding box of sascha@495: the given polygon to reduce the number of data. TODO: figure out why sascha@495: upside down rendering in necessary. sascha@495: tim@494: 2010-01-19 Tim Englich tim@494: tim@494: * doc/schema/externalinterface_testdata.sql, tim@494: doc/schema/externalinterface_schema.sql: tim@494: Do some Bugfixes after testing the Schema and Testdata against an Oracle 10.2 DBMS. tim@494: ingo@493: 2010-01-19 Ingo Weinzierl ingo@493: ingo@493: * src/main/java/de/intevation/gnv/state/State.java, ingo@493: src/main/java/de/intevation/gnv/state/StateBase.java, ingo@493: src/main/java/de/intevation/gnv/state/profile/horizontal/NorthSouthEastWestState.java, ingo@493: src/main/java/de/intevation/gnv/state/OutputStateBase.java: Changed some ingo@493: method signatures. Use CallContext objects in some methods of the State ingo@493: interface instead of CallMeta objects, which are a subset of CallContext. ingo@493: ingo@493: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Adapted ingo@493: method calls on State objects to the changes in the interface. ingo@493: ingo@492: 2010-01-19 Ingo Weinzierl ingo@492: ingo@492: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, ingo@492: src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@492: Sourced creation of a ChartLabel object out to an own method which can be ingo@492: overwritten in subclasses to adjust the labels in each chart type. ingo@492: ingo@492: * src/main/java/de/intevation/gnv/chart/ChartLabels.java: Added string for ingo@492: labeling y axis and a parameter used in 'Profilschnitten'. ingo@492: ingo@492: * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: Read ingo@492: labels from ChartLabel object and set chart and axes titles according to ingo@492: these labels. ingo@492: ingo@492: * src/main/resources/lang/artifactMessages.properties, ingo@492: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@492: src/main/resources/lang/artifactMessages_en.properties, ingo@492: src/main/resources/lang/artifactMessages_de.properties: Added labels for ingo@492: x and y axes of 'Profilschnitt' charts. ingo@492: ingo@491: 2010-01-18 Ingo Weinzierl ingo@491: ingo@491: * src/main/java/de/intevation/gnv/artifacts/GNVDefaultArtifact.java: Add an ingo@491: attribute 'fis' to the fis select node. If this attribute is found in ingo@491: XSLT, a link to step back and select a new fis will be created. ingo@491: tim@490: 2010-01-18 Tim Englich tim@490: tim@490: * doc/schema/externalinterface_schema.sql: tim@490: Added Comments and further Informations. tim@490: tim@489: 2010-01-18 Tim Englich tim@489: tim@489: * doc/schema/externalinterface_testdata.sql: tim@489: Added Testdata to demonstrate how the different Tables has to be filled. hans@538: tim@489: * doc/schema/externalinterface_schema.sql: tim@489: Added Schema for the DB-Schemaextention for providing the Data that is tim@489: required for the external Interface to the Mapviewer tim@490: tim@489: ingo@488: 2010-01-18 Ingo Weinzierl ingo@488: ingo@488: * src/main/java/de/intevation/gnv/artifacts/GNVDefaultArtifact.java: ingo@488: Implements a single method to append the selected fis to ui's static part. ingo@488: ingo@488: * src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java, ingo@488: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Inherit ingo@488: from GNVDefaultArtifact to append the selected fis to static part of the ingo@488: describe document. ingo@488: ingo@488: * src/main/java/de/intevation/gnv/state/StateBase.java: Do not create static ingo@488: and dynamic nodes of the user interface any longer - fetch these nodes via ingo@488: xpath expression. The creation of these nodes takes place in the artifact ingo@488: itself. ingo@488: ingo@488: * src/main/resources/lang/artifactMessages.properties, ingo@488: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@488: src/main/resources/lang/artifactMessages_en.properties, ingo@488: src/main/resources/lang/artifactMessages_de.propertie: Added label for ingo@488: fis. ingo@488: sascha@487: 2010-01-18 Sascha L. Teichmann sascha@487: sascha@487: * ChangeLog: Fixed indention. sascha@487: tim@486: 2010-01-18 Tim Englich tim@486: sascha@487: * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_out_chart.xml, sascha@487: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_out_odv.xml, sascha@487: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_out_csv.xml: hans@538: Removed Files, because they are not required any more. tim@486: * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_out_zip.xml: tim@486: Added new RequestFile for calling for retrieving a Zip-File from the Server. tim@486: * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_07_out_wms.xml: tim@486: Added new RequestFile for calling for an WMS-Result. tim@486: * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_04_feed.xml: tim@486: Added Polygon as WKT into the feed-Request. tim@486: tim@485: 2010-01-18 Tim Englich tim@485: sascha@487: * src/test/java/de/intevation/gnv/artifacts/TestArtifactDatabase.java (TestArtifactDatabase): hans@538: New: Added an Testimplementation of the ArtifactDatabase to the Tests to use it inside the sascha@487: TestCallcontext to prevent NPEs during the Testzenarios. sascha@487: sascha@487: * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java (TestCallContext): sascha@487: Added Artifactfactory to the Methodsignature of the Context to use it inside the Context. sascha@487: Added the Method getDatabase to resolve Compilationerrors. sascha@487: sascha@487: * src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointVerticalProfileTestCase.java (testArtifact), sascha@487: src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointTimeSeriesTestCase.java (testArtifact), sascha@487: src/test/java/de/intevation/gnv/artifacts/MeshVerticalProfileTestCase.java (testArtifact), sascha@487: src/test/java/de/intevation/gnv/artifacts/MeshVerticalCrossSectionTestCase.java (testArtifact), sascha@487: src/test/java/de/intevation/gnv/artifacts/MeshTimeSeriesTestCase.java (testArtifact), sascha@487: src/test/java/de/intevation/gnv/artifacts/MeshHorizontalProfileTestCase.java (testArtifact), sascha@487: src/test/java/de/intevation/gnv/artifacts/MeshHorizontalCrossSectionTestCase.java (testArtifact), sascha@487: src/test/java/de/intevation/gnv/artifacts/InstantaneousPointVerticalProfileTestCase.java (testArtifact), sascha@487: src/test/java/de/intevation/gnv/artifacts/InstantaneousPointHorizontalProfileTestCase.java (testArtifact), sascha@487: src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCaseBase.java (createCallContext): sascha@487: Changed Methodsignature of createCallContext. Add the Artifactfactory to use it for creating sascha@487: the CallContext. sascha@487: sascha@484: 2010-01-18 Sascha L. Teichmann sascha@484: sascha@484: * src/main/java/de/intevation/gnv/raster/ExternalIndexConverter.java: sascha@484: New. Helper to convert the internal palette indices sascha@484: to the explicit configured external ones. sascha@484: sascha@484: * src/main/java/de/intevation/gnv/math/AttributedPoint2ds.java: sascha@484: Store the JTS geometries too. sascha@484: sascha@484: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@484: Generate JTS multi polygons for parameter regions and multi line strings sascha@484: for iso lines. TODO: Clip against incoming polygon. sascha@484: sascha@483: 2010-01-18 Sascha L. Teichmann sascha@483: sascha@483: * src/main/java/de/intevation/gnv/raster/Palette.java: sascha@483: load attribute "index" as external index. This sascha@483: is useful to match color classes with external sources. sascha@483: If no explicit index is given the order of ranges is sascha@483: used as external index. sascha@483: sascha@483: * doc/conf/palette/flow-velocity.xml, sascha@483: doc/conf/palette/water-levels.xml, sascha@483: doc/conf/palette/salinity.xml, sascha@483: doc/conf/palette/water-temperature.xml: Set explicit sascha@483: external color class indices. sascha@483: sascha@483: * doc/conf/conf.xml: Set ground interpolation of "Horizontalschnitte" sascha@483: to bilinear. sascha@483: sascha@482: 2010-01-17 Sascha L. Teichmann sascha@482: sascha@482: * doc/conf/conf.xml: Reduced number of "Horizontalschnitt" sascha@482: samples to 256 because its much too slow with higher resolutions. sascha@482: This has to be improved. sascha@482: sascha@482: * doc/conf/queries.properties: Use point data to generate sascha@482: "Horizontalschnitte". Added parameter id and date to results. sascha@482: sascha@482: * src/main/java/de/intevation/gnv/utils/WKTUtils.java: Made sascha@482: reading to points more fault tolerant. sascha@482: sascha@482: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@482: Call the area interpolation. sascha@482: sascha@482: * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: sascha@482: Fixed bug with calculating points inside bounding box of polygon. sascha@482: sascha@481: 2010-01-17 Sascha L. Teichmann sascha@481: sascha@481: * src/main/java/de/intevation/gnv/state/State.java: Added sascha@481: support for end of life. sascha@481: sascha@481: * src/main/java/de/intevation/gnv/state/StateBase.java: Implemented sascha@481: end of life trivial. sascha@481: sascha@481: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: sascha@481: call end of life when leaving state. sascha@481: sascha@481: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: sascha@481: Used XMLUtils.toStream() instead of own tranformer code. Removed sascha@481: dead code. sascha@481: sascha@481: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@481: Implemented end of life. Remove shapefile directory from sascha@481: file system belonging to concrete artifact. sascha@481: Implemented download as ZIP file. Offer some link for sascha@481: WMS integration. TODO: implement the real WMS publishing here. sascha@481: sascha@480: 2010-01-17 Sascha L. Teichmann sascha@480: sascha@480: * doc/conf/products/horizontalcrosssection/conf_mesh.xml: sascha@480: Only offer WMS layers and download ZIPs in output state. sascha@480: sascha@480: * src/main/java/de/intevation/gnv/utils/FileUtils.java: sascha@480: New. Helper class to recursively delete files and directories sascha@480: and create ZIP archives from files and directories. sascha@480: sascha@480: * src/main/java/de/intevation/gnv/utils/WKTUtils.java: Simpilied sascha@480: signature of worldEnvelopeCoordinatesToIndex(). sascha@480: sascha@480: * src/main/java/de/intevation/gnv/state/OutputState.java: Cleanup sascha@480: imports. Made source more readable. sascha@480: sascha@480: * src/main/java/de/intevation/gnv/state/OutputStateBase.java: sascha@480: Cleanup imports. Made source more readable. Moved some sascha@480: XPath stuff from TimeSeriesOutputState up into this base class. sascha@480: sascha@480: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: sascha@480: Move some XPath stuff into base class. Made source more readable. sascha@480: sascha@480: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@480: Directly inherit from OutputStateBase now to break the implicit sascha@480: constraints (chart styles, statisctics, etc.) of the sascha@480: TimeSeriesOutputStates which not hold for this kind of state. sascha@480: XXX: Added Workaround to circumvent gnv-intern/issue146 sascha@480: sascha@480: * src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: Added sascha@480: e-mail addresses for authors. Made querying for attributes more sascha@480: robust. sascha@480: sascha@480: * src/main/java/de/intevation/gnv/math/AttributedPoint2ds.java: sascha@480: New. Data carrier for the "Horizontalschnitte". Used for generation sascha@480: of results and caching sascha@480: sascha@479: 2010-01-15 Sascha L. Teichmann sascha@479: sascha@479: * src/main/java/de/intevation/gnv/artifacts/fis/product/Product.java, sascha@479: src/main/java/de/intevation/gnv/artifacts/fis/product/DefaultProduct.java, sascha@479: src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java, sascha@479: src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java, sascha@479: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, sascha@479: src/main/java/de/intevation/gnv/math/AreaInterpolation.java: sascha@479: Cleaned up imports. sascha@479: ingo@478: 2010-01-15 Ingo Weinzierl ingo@478: ingo@478: Added support to step back to the point where the user is able to choose ingo@478: the product of a FIS. ingo@478: ingo@478: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactFactory.java, ingo@478: src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java: ingo@478: Cleaned up factories regarding their tasks. GNVArtifactFactory creates ingo@478: concrete products. GNVProductArtifactFactory handles all FIS and knows ingo@478: the products of a FIS. ingo@478: ingo@478: * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java: Removed, ingo@478: because it is not used anymore. ingo@478: ingo@478: * src/main/java/de/intevation/gnv/artifacts/fis/product/Product.java, ingo@478: src/main/java/de/intevation/gnv/artifacts/fis/product/DefaultProduct.java: ingo@478: A Product does no longer save its factory but the name of its factory as ingo@478: string. ingo@478: ingo@478: * src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java: ingo@478: This artifact will no longer read the config file to get information about ingo@478: the products of a fis. The products are set via setter method out of the ingo@478: ArtifactFactory where this artifact is build. ingo@478: ingo@478: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Added the ingo@478: possibility to step back to the point where the user can choose a product. ingo@478: If the target of advance is 'product' we fetch the ingo@478: GNVProductArtifactFactory from ArtifactDatabase and create a new ingo@478: SelectProductArtifact, put it into the ProxyArtifact and clean up the ugly ingo@478: cache. ingo@478: ingo@478: * doc/conf/conf.xml: Create top level FIS artifacts with ingo@478: GNVProductArtifactFactory instead of GNVArtifactFactory. ingo@478: tim@477: 2010-01-15 Tim Englich tim@477: tim@477: * doc/conf/arcsdeconnectionpool.properties: tim@477: Added the Property serverRoundtripInterval to the Configuration an tim@477: set its Value to 15 Minutes. tim@477: tim@476: 2010-01-15 Tim Englich tim@476: tim@476: * src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointVerticalProfileTestCase.java (testArtifact): tim@476: Added new Step for querying the Years where measurements has been done into the tim@476: Testcase. tim@476: tim@476: * src/test/ressources/verticalprofile/verticalprofile_step_07_out_statistics.xml, tim@476: src/test/ressources/verticalprofile/verticalprofile_step_07_out_odv.xml, tim@476: src/test/ressources/verticalprofile/verticalprofile_step_07_out_csv.xml, tim@476: src/test/ressources/verticalprofile/verticalprofile_step_07_out_chart.xml, tim@476: src/test/ressources/verticalprofile/verticalprofile_step_07_feed.xml, tim@476: src/test/ressources/verticalprofile/verticalprofile_step_07_advance.xml, tim@476: src/test/ressources/verticalprofile/verticalprofile_step_06_feed.xml, tim@476: src/test/ressources/verticalprofile/verticalprofile_step_06_advance.xml, tim@476: src/test/ressources/verticalprofile/verticalprofile_step_05_feed.xml, tim@476: src/test/ressources/verticalprofile/verticalprofile_step_04_advance.xml, tim@476: src/test/ressources/verticalprofile/verticalprofile_step_05_advance.xml: tim@476: Added State-Ressource for the new step Year and modified the other Ressource-Files tim@476: so that the new Step is queued in the right direction. tim@476: ingo@475: 2010-01-13 Ingo Weinzierl ingo@475: ingo@475: * src/main/java/de/intevation/gnv/artifacts/fis/FISSelectArtifact.java, ingo@475: src/main/java/de/intevation/gnv/artifacts/fis/SelectProductArtifact.java: ingo@475: Renamed FISSelectArtifact to SelectProductArtifact which fits better, ingo@475: because the intent of this artifact is to choose a product - not a FIS. ingo@475: ingo@475: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, ingo@475: src/main/java/de/intevation/gnv/artifacts/GNVArtifactFactory.java: ingo@475: Replaced FISSelectArtifact with SelectProductArtifact. ingo@475: sascha@474: 2010-01-13 Sascha L. Teichmann sascha@474: sascha@474: * src/test/java/de/intevation/gnv/artifacts/util/ShapeFileWriterTestCase.java, sascha@474: src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: sascha@474: Removed needless imports. sascha@474: sascha@474: * src/main/java/de/intevation/gnv/math/AreaInterpolation.java: New. Interpolates sascha@474: area for a given bounding box, taking gaps and DEM into account. sascha@474: Not very fast. Use bilinear interpolation to match the "Profilschnitt". sascha@474: Possible TODOs: sascha@474: - speed up by assuming the grid is not sparse. sascha@474: - use higher interpolation methods. sascha@474: sascha@474: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, sascha@474: src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: sascha@474: Added configuration for ground interpolation. sascha@474: sascha@474: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@474: Add helper functions to access configuration. sascha@474: sascha@474: * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Simplified Code. sascha@474: sascha@474: * src/main/java/de/intevation/gnv/math/L1Comparator.java: add setReference() sascha@474: method. sascha@474: ingo@473: 2010-01-13 Ingo Weinzierl ingo@473: ingo@473: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: 'advance' ingo@473: method will now consider old states. We reset input data of target state hans@538: and clean cache from 'future data' before steping back to previous ingo@473: states. ingo@473: ingo@473: TODO: Refactor caching mechanism which should take care of different ingo@473: states' hash values to be able to use the cache more efficiently. ingo@473: ingo@473: * src/main/java/de/intevation/gnv/state/State.java: Added method to return ingo@473: map which stores input data of the current state. ingo@473: ingo@473: * src/main/java/de/intevation/gnv/state/describedata/MinMaxDescribeData.java, ingo@473: src/main/java/de/intevation/gnv/state/describedata/SingleValueDescribeData.java, ingo@473: src/main/java/de/intevation/gnv/state/describedata/KeyValueDescibeData.java ingo@473: src/main/java/de/intevation/gnv/state/describedata/DefaultSingleValueDescribeData.java, ingo@473: src/main/java/de/intevation/gnv/state/describedata/DefaultMinMaxDescribeData.java, ingo@473: src/main/java/de/intevation/gnv/state/describedata/DefaultKeyValueDescribeData.java: ingo@473: Add current state's name when initializing new objects of these classes. ingo@473: The name of a state is added as attribute to a node when creating the ingo@473: describe-document. The xsl transformer will read this attribute and create ingo@473: a link which allows the user to step back to previous states. ingo@473: ingo@473: * src/main/java/de/intevation/gnv/state/SingleInputState.java, ingo@473: src/main/java/de/intevation/gnv/state/MinMaxState.java, ingo@473: src/main/java/de/intevation/gnv/state/StateBase.java: ingo@473: - Add state name when creating objects to store input data. ingo@473: - Use XMLUtils.ElementCreator to write namespace aware xml elements. ingo@473: - Add state names as attributes to xform elements. ingo@473: - Append old states to list of reachable targets in describe-document. ingo@473: - Remove data from cache which belong to future states after stepping ingo@473: back to a previous state. ingo@473: - Remove input data of current state after stepping back. ingo@473: sascha@472: 2010-01-12 Sascha L. Teichmann sascha@472: sascha@472: * doc/conf/conf.xml, sascha@472: src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, sascha@472: src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: sascha@472: Added configuration od file system directory of generate "Horizontalschnitt" sascha@472: shape files. sascha@472: sascha@471: 2010-01-12 Sascha L. Teichmann sascha@471: sascha@471: * src/main/java/de/intevation/gnv/utils/WKTUtils.java, sascha@471: src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@471: Code cleanup sascha@471: ingo@470: 2010-01-12 Ingo Weinzierl ingo@470: ingo@470: * src/main/java/de/intevation/gnv/state/SingleInputState.java, ingo@470: src/main/java/de/intevation/gnv/state/MinMaxState.java, ingo@470: src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java: ingo@470: Data, describing the user interface, is stored in a list instead of a ingo@470: collection, now. This makes it easier to remove the last element if we ingo@470: advance back. ingo@470: ingo@470: * src/main/java/de/intevation/gnv/state/State.java, ingo@470: src/main/java/de/intevation/gnv/state/StateBase.java: Added a 'reset' ingo@470: method to clear data which has been inserted before returning to an old ingo@470: state. This is called when we try to advance into the past. ingo@470: ingo@470: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Now, it's ingo@470: possible to advance to an earlier state. The 'advance' method first ingo@470: searches for a given target name in the list of reachable targets. If no ingo@470: future target has been found, the method looks for an old state with this ingo@470: target name. The last option is to return to the initial step for choosing ingo@470: the FIS, if the target name is 'start'. ingo@470: tim@468: 2010-01-12 Tim Englich tim@468: tim@469: * doc/conf/queries.properties: tim@469: Added Query for Years in VerticalProfiles in TimeSeriesPoints. tim@469: Modified the Query for Dates in VerticalProfiles in TimeSeriesPoints. tim@469: tim@469: * doc/conf/products/verticalprofile/conf_timeseriespoint.xml: tim@469: Added State for choosing the year and than it will only display tim@469: the Dates which are within the coosen year. tim@469: tim@469: * src/main/resources/lang/artifactMessages*.properties: tim@469: Added Ressource for diaplaying year. tim@469: tim@469: 2010-01-12 Tim Englich tim@468: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java (configureHorizontalCrossSection): tim@468: Added the Method to load the Configurationsettings for horizontal-cross-sections tim@468: from the global Configuartion and put it into the Context. tim@468: tim@468: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java: tim@468: Added static variables to define the Keys used for horizontal-cross-sections tim@468: tim@468: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java (getChartResult): tim@468: Integrated the Possibility to determin the required Snipped of an Mesh tim@468: using the ij-Index determined by the given Polygon. tim@468: Added the process-method which must still be implemented. tim@468: tim@468: * src/main/java/de/intevation/gnv/utils/WKTUtils.java (worldEnvelopeCoordinatesToIndex): tim@468: Added worldEnvelopeCoordinatesToIndex-Method for determining the ij-Coodinates tim@468: for a given Envelope. tim@468: Some refactoring-Work done for reuse some existing Code of this Class. tim@468: tim@468: * doc/conf/conf.xml: tim@468: Added the Configuration-Node for horizontal-cross-sections in this tim@468: File. tim@468: tim@468: * doc/conf/products/horizontalcrosssection/conf_mesh.xml: tim@468: Added ij-Query Node to OutputState to make the Querystring tim@468: available to this Product. tim@468: ingo@467: 2010-01-12 Ingo Weinzierl ingo@467: ingo@467: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@467: Use XMLUtils to read evaluate xpath expressions. Adapted xpath ingo@467: expressions regarding namespace and prefix. ingo@467: tim@466: 2010-01-11 Tim Englich tim@466: tim@466: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCaseBase.java (readDocument): tim@466: Set NameSpaceAware to true to get the Unittests work again. hans@538: The Out-Calls doesn't work yet!!! tim@466: tim@466: sascha@465: 2010-01-11 Sascha L. Teichmann sascha@465: sascha@465: * pom.xml: Introduced dependency to GeoTools 2.4.5 (maybe a bit too old) sascha@465: Needed to write traced polygons and line strings to shape files. sascha@465: sascha@465: * src/main/java/de/intevation/gnv/utils/Pair.java: New sascha@465: simple pair tuple for type safety. sascha@465: sascha@465: * src/main/java/de/intevation/gnv/utils/ShapeFileWriter.java: sascha@465: New. Writes multi polygons and multi line strings to sascha@465: shapefiles. Writing the multi polygons works. sascha@465: sascha@465: !! Writing the multi line strings fails! sascha@465: !! Its not clear by now if its a geotool bug or a sascha@465: !! misunderstanding of the API. The polygon and sascha@465: !! the line string export are coded symmetrically sascha@465: !! but the line string export complains about invalid sascha@465: !! FIDs states. sascha@465: sascha@465: * src/main/java/de/intevation/gnv/raster/AbstractProducer.java: sascha@465: New. Abstract base class for multi line string/polygons producers sascha@465: as backends of the vectorizer. sascha@465: sascha@465: * src/main/java/de/intevation/gnv/raster/PolygonDatasetProducer.java: sascha@465: Inherits from AbstractProducer now. sascha@465: sascha@465: * src/main/java/de/intevation/gnv/raster/IsoProducer.java: sascha@465: New. Common base class for the iso line producers, inherits sascha@465: from AbstractProducer. sascha@465: sascha@465: * src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java: sascha@465: Moved some code to new base class IsoProducer. sascha@465: sascha@465: * src/main/java/de/intevation/gnv/raster/DemuxRingsHandler.java: sascha@465: New. Little helper class to demultiplex many ring handlers on sascha@465: one single vectorizer. sascha@465: sascha@465: * src/main/java/de/intevation/gnv/raster/IsoAttributeGenerator.java: sascha@465: The implemented AttributeGenerator interface is defined in IsoProducer sascha@465: now. sascha@465: sascha@465: * src/main/java/de/intevation/gnv/raster/JTSMultiPolygonProducer.java: sascha@465: New. Traces regions directly to JTS multi polygons. sascha@465: sascha@465: * src/main/java/de/intevation/gnv/raster/JTSMultiLineStringProducer.java: sascha@465: New. Traces iso lines directly to JTS multi line strings. sascha@465: sascha@465: * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java, sascha@465: src/main/java/de/intevation/gnv/statistics/AbstractStatistics.java: sascha@465: Removed needless imports. sascha@465: ingo@464: 2010-01-09 Ingo Weinzierl ingo@464: ingo@464: * src/main/java/de/intevation/gnv/artifacts/fis/FISSelectArtifact.java: ingo@464: Artifact used for the initial steps when no product is chosen. ingo@464: ingo@464: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactFactory.java: Factory ingo@464: to create artifacts. It is used to put a new FISSelectArtifact into the ingo@464: ProxyArtifact for the initial steps when no product is chosen. ingo@464: ingo@464: * doc/conf/conf.xml: Use the ProxyArtifact instead of FISArtifact and ingo@464: GNVArtifactFactory to create it. ingo@464: ingo@464: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: ingo@464: - Defined XPath expressions at the top of the class instead of directly in ingo@464: code. ingo@464: - Use XMLUtils.ElementCreator to create new namespace aware nodes and ingo@464: attributes. ingo@464: - Defined 'describe' method to create user interface for initial steps. ingo@464: ingo@464: * src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java, ingo@464: src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java, ingo@464: src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java, ingo@464: src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java, ingo@464: src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java: ingo@464: Moved 'describe' methods which had no special code to super class. ingo@464: ingo@464: * src/main/java/de/intevation/gnv/state/StateBase.java: Use ingo@464: XMLUtils.ElementCreator to create new elements in xml documents. ingo@464: sascha@463: 2010-01-09 Sascha L. Teichmann sascha@463: sascha@463: * doc/conf/conf.xml: Added configuration for vertical cross sascha@463: section ground interpolation. sascha@463: sascha@463: * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java: Uses configured sascha@463: interpolation method now. sascha@463: sascha@463: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: sascha@463: Read configuration for vertical cross section ground interpolation. sascha@463: sascha@463: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java: sascha@463: Added key and default for vertical cross section ground interpolation. sascha@463: sascha@463: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: sascha@463: Forwards vertical cross section ground interpolation to QueriedXYDepth. sascha@463: sascha@462: 2010-01-09 Sascha L. Teichmann sascha@462: sascha@462: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: sascha@462: Prevent NPE if no results are produced by vertical cross sections. sascha@462: sascha@462: * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java: Replaced sascha@462: envelope checking by direct coordinate checking in tile cache. sascha@462: Store the last used tile explicitly to save it from being collected sascha@462: by the garbage collector. sascha@462: tim@459: 2010-01-08 Tim Englich tim@459: hans@538: Issue 137 hans@538: tim@461: * src/main/java/de/intevation/gnv/utils/InputValidator.java (getPointValue), tim@461: src/main/java/de/intevation/gnv/timeseries/gap/DefaultTimeGap.java (key), tim@461: src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java (getStatisticsGenerator), tim@461: src/main/java/de/intevation/gnv/state/StateBase.java (extractKVP), tim@461: src/main/java/de/intevation/gnv/state/CoordinateSelectionState.java (prepareInputData4RegionDBQuery), tim@461: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (advance): tim@461: Removed Encodingerrors from listed Files. All Files are now UTF-8 compliant. tim@461: tim@461: 2010-01-08 Tim Englich tim@460: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestSuite.java (suite): tim@460: Added a Testsuit for executing all Testcases at once. tim@460: tim@460: * src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_feed.xml, tim@460: src/test/ressources/timeseries_mesh/timeseries_step_08_feed.xml, tim@460: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_feed.xml: hans@538: Changed the feeded Datevalues because the Values in the Database hans@538: have changed. TODO: Does it have an effect on the IDs? tim@460: tim@460: * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_03_advance.xml, tim@460: src/test/java/de/intevation/gnv/artifacts/MeshVerticalCrossSectionTestCase.java (testArtifact): tim@460: Switched Testcase to the new Condition that an LineString has to be entered. tim@460: tim@460: * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_*.xml, tim@460: src/test/java/de/intevation/gnv/artifacts/MeshHorizontalCrossSectionTestCase.java (testArtifact): tim@460: Switched Testcase to the new Condition that an Polygon has to be entered. tim@460: tim@460: 2010-01-08 Tim Englich tim@460: tim@459: * src/main/resources/lang/artifactMessages.properties: tim@459: Added Ressources for the GUI for visualizing the Inputstate for tim@459: Polygons. hans@538: tim@459: * doc/conf/products/horizontalcrosssection/conf_mesh.xml: hans@538: Added State for the possibility to enter a Polygon which should clip hans@538: the data that will be visualized. hans@538: tim@459: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java (getChart): tim@459: Integrated the access to the Polygon which should be used to trim the Data which tim@459: should be visualized. tim@459: sascha@458: 2010-01-05 Sascha L. Teichmann sascha@458: sascha@458: * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java: sascha@458: - Simplified code sascha@458: - Search tile cache in reversed order because its more likely sascha@458: that last loaded tile is used more than once. sascha@458: - Stores cached tiles under soft references to prevent the sascha@458: possible case to flood the memory with hires tiles. sascha@458: tim@457: 2010-01-05 Tim Englich tim@457: tim@457: * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java (depth): tim@457: Added the usage of the new RasterObject integrated in the geo-backend. tim@457: Now the Performance is much better accessing the depth to an coordinate. tim@457: ingo@456: 2010-01-04 Ingo Weinzierl ingo@456: ingo@456: * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java: Declared ingo@456: method to create a new xforms element as static to be able to use it ingo@456: without instantiating an object of this class. ingo@456: ingo@456: * src/main/java/de/intevation/gnv/state/StateBase.java: Splitted code pathes ingo@456: of static and dynamic nodes. Static nodes contain the selected value ingo@456: only instead of transfering the complete stack of possible values again. ingo@456: tim@455: 2010-01-04 Tim Englich tim@455: ingo@456: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java (process): ingo@456: Changed the XYDepth-Interface-Implementation to QueriedXYDepth hans@538: ingo@456: * doc/conf/queries.properties: ingo@456: Added the Query for Rasterdataaccess. hans@538: ingo@456: * src/main/java/de/intevation/gnv/math/QueriedXYDepth.java (QueriedXYDepth): ingo@456: Added Implementation of the XYDepth-Interface for Querying the height ingo@456: of an Position using the geo-backend interface. ingo@456: It is only nessesary to add a Query with the id rasterQuery to the query-Properties. tim@455: sascha@454: 2010-01-04 Sascha L. Teichmann sascha@454: sascha@454: * src/main/java/de/intevation/gnv/statistics/Statistics.java: sascha@454: Changed interface to allow general object results as sascha@454: input for statistic calculation. This is needed because sascha@454: the vertical cross section produces no SQL like resultsets. sascha@454: sascha@454: * src/main/java/de/intevation/gnv/statistics/AbstractStatistics.java: sascha@454: New. Added common base class for different kind of statistics. sascha@454: TODO: Move more common code into this class. sascha@454: sascha@454: * src/main/java/de/intevation/gnv/statistics/VerticalCrossSectionStatistics.java: sascha@454: New. Statistics for vertical cross sections. Does nothing sascha@454: by now. sascha@454: sascha@454: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: sascha@454: Creates a VerticalCrossSectionStatistics object as statistics sascha@454: generator now. sascha@454: sascha@454: * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java: sascha@454: Inherits from AbstractStatistics now. Some code moved to new sascha@454: base class. sascha@454: sascha@454: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: sascha@454: Cleaned up the usage of statistics. sascha@454: sascha@453: 2010-01-04 Sascha L. Teichmann sascha@453: sascha@453: * src/main/java/de/intevation/gnv/math/Interpolation3D.java: sascha@453: Fixed problem with running to max depth on every column. sascha@453: sascha@452: 2010-01-04 Sascha L. Teichmann sascha@452: sascha@452: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: sascha@452: Fix class cast exception to enable PDF export of sascha@452: vertical cross section charts. sascha@452: sascha@452: * ChangeLog: Typo fixes. sascha@452: sascha@451: 2010-01-04 Sascha L. Teichmann sascha@451: sascha@451: * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: sascha@451: Uses ValueAxis.valueToJava2D() to transform data values into chart sascha@452: space. This is slower than doing it via the Java2D matrix stack sascha@451: but its more the JFreeChart way and prevents transforming of sascha@451: graphical attributes too. TODO: Speed this up again! sascha@451: sascha@451: * src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java: sascha@451: Forward plot to polygon renderer to make domain and range sascha@451: axis accessible. sascha@451: sascha@451: * src/main/java/de/intevation/gnv/math/XYColumn.java: Moved code a bit. sascha@451: sascha@450: 2010-01-04 Sascha L. Teichmann sascha@450: sascha@450: * src/main/java/de/intevation/gnv/jfreechart/PolygonSeriesLabelGenerator.java: sascha@450: New. Interface to generate labels for polygon series. sascha@450: sascha@450: * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: sascha@450: Added logic to generate and render labels of polygons. sascha@450: The implemented layout algorithm is greedy. For all sascha@450: polygons with labels the label is placed on the center of sascha@450: the ring, which center in terms of the indices of the vertices. sascha@450: If the bounding box of the label intersects the bounding box sascha@450: of a an already placed one alternative places are tried. sascha@450: In level order positions at 1/4, 3/4, 1/8, 3/8, 5/8, 7/8 and sascha@450: so on are evaluated for non intersections with former placed labels. sascha@450: This terminates if a free place is found or all index positions sascha@450: are exhausted. If no free position is found the label is omitted. sascha@450: sascha@450: The visual result is okay but could be improved by a more clever sascha@450: algorithm e.g. tension reduction in the graph of labels. sascha@450: sascha@450: TODO: Improve clipping against chart borders. sascha@450: sascha@450: * src/main/java/de/intevation/gnv/jfreechart/LevelOrderIndices.java: sascha@450: New. Little helper class to generate the level order index sascha@450: traversal used in the label layout. Placed in the jfreechart sascha@450: package to keep it clean from gnv dependencies. sascha@450: sascha@450: * src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java: sascha@450: Added some methods to access the domain and range axis and sascha@450: there edge position. Mainly C&P from JFreeCahrts XYPlot sascha@450: to ease the coordinate transformation between Java2D and sascha@450: the value spaces of the chart. Call the label generation sascha@450: of the polygon renderer. sascha@450: sascha@450: * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: sascha@450: Added an implementation of PolygonSeriesLabelGenerator to sascha@450: generate localized labels for the iso lines. sascha@450: sascha@449: 2010-01-03 Sascha L. Teichmann sascha@449: sascha@449: * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: sascha@449: Only add colors to scale which are in the chart. sascha@449: sascha@449: * src/main/java/de/intevation/gnv/raster/Palette.java: Added sascha@449: getter for 'color' field of palette entry. sascha@449: sascha@448: 2010-01-03 Sascha L. Teichmann sascha@448: sascha@448: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: sascha@448: Generate iso line classes according gnv-issues/issue108: sascha@448: sascha@448: - If there are more than nine colors used in the chart sascha@448: only the borders of the regions are traced. sascha@448: - If there are less than ten colors each color region sascha@448: is devided into two sub regions. sascha@448: - If there are less than five colors each color region sascha@448: is devided into five sub regions. sascha@448: sascha@448: Generate attribute per iso line class with the parameter value sascha@448: of the iso line. sascha@448: sascha@448: * src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java: sascha@448: Renamed inner interface from LabelGenerator to AttributeGenerator to sascha@448: reflect the fact that the concrete label generation is a matter sascha@448: of i18n too. The concrete label generation should be done when sascha@448: the final chart is going to be created. TODO: Add sascha@448: a JFreeChart style label generator to PolygonRenderer sascha@448: sascha@448: * src/main/java/de/intevation/gnv/raster/IsoAttributeGenerator.java: sascha@448: New. Implements the AttributeGenerator interface. It takes sascha@448: the indices of the neighboring regions, uses these values sascha@448: to look into the iso palette and averages the parameter values sascha@448: at the touching borders. This should help in cases where sascha@448: two regions are neighbored in the chart which are not neighbored sascha@448: in the palette which may happen by quantification artifacts. sascha@448: sascha@448: * src/main/java/de/intevation/gnv/raster/Palette.java: Added sascha@448: getters to 'from' and 'to' fields. sascha@448: sascha@448: * src/main/java/de/intevation/gnv/math/XYColumn.java: Fixed sascha@448: another silly bug with adding values at surface and ground. sascha@448: sascha@448: * ChangeLog: Typo fixes sascha@448: sascha@447: 2010-01-01 Sascha L. Teichmann sascha@447: sascha@447: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: sascha@447: Generate iso lines by dividing palette ranges in two sascha@448: parts each and trace them. This shows that the ideas described hans@538: by K. Jancke in gnv-issues/issue108 are probably not the sascha@447: right way to go. Applying this strategy there would be hans@538: locally too many isolines if there is a steep gradient. hans@538: On the other hand large areas are splitted in too less sections sascha@447: by too less iso lines. A better way may be a splitting with sascha@448: a look at the areas and shapes of the regions. Large, round sascha@448: regions need more splits. Long, thin regions need less. sascha@447: sascha@447: * src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java: sascha@447: Stabilized iso line hashing a bit. Added line width to sascha@447: give iso lines a more appealing presentation in the chart. sascha@447: The according value is stored in "line.width". sascha@447: sascha@447: * src/main/java/de/intevation/gnv/raster/Vectorizer.java: Fixed silly sascha@448: bug when simplifying lines. This prevented iso lines sascha@448: from rendering. sascha@447: sascha@447: * src/main/java/de/intevation/gnv/raster/Palette.java: Fixed index issue sascha@447: when generating a divided palette. sascha@447: sascha@447: * src/main/java/de/intevation/gnv/jfreechart/PolygonSeries.java: sascha@447: Do not crash with NPE any more when not having any series. sascha@447: sascha@447: * src/main/java/de/intevation/gnv/jfreechart/PolygonDataset.java: sascha@447: Added method to add a whole collection of series. Useful to add sascha@447: iso lines to dataset. sascha@447: sascha@447: * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: sascha@447: Set the "line.width" attribute when rendering lines. sascha@447: sascha@446: 2010-01-01 Sascha L. Teichmann sascha@446: sascha@446: * doc/conf/conf.xml: Deactivated gauss filter because sascha@446: it blurs no data areas too. Moreover gauss filtering does not sascha@446: seem to be necessary at all. Possible TODO: Mask the no data sascha@446: areas while filtering. sascha@446: sascha@446: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: sascha@446: Added generation of polygon data suitable for PolygonPlot. sascha@446: sascha@446: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: sascha@446: Some hacks to display the new Chart. XXX: This class is sascha@446: a real mess ... but I've said that before. sascha@446: sascha@446: * src/main/java/de/intevation/gnv/chart/Chart.java: Made it sascha@446: serializable. sascha@446: sascha@446: * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java: sascha@446: New. Chart for vertical cross sections. Mainly a copy of sascha@446: Ingo's prototype implementation. TODO: parameter based i18n. sascha@446: sascha@446: * src/main/java/de/intevation/gnv/math/Interpolation3D.java: Code sascha@446: simplification. Made it Serializable to be cachable persistently. sascha@446: sascha@446: * src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: sascha@446: Added fields for the interpolation and the generated PolygonDataset. sascha@446: Its used as the data carrying object in cache now. sascha@446: sascha@446: * src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java: sascha@446: Removed println debug code. sascha@446: sascha@446: * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: sascha@446: Added a little hack to draw the polygons of the interpolation. sascha@446: The values are in y-direction all below zero (depth is given sascha@446: by negative values) so the drawing is mirrored along y axis. sascha@446: This special behavior is determined by the position of data sascha@446: bounding box. At first I suspected a ccw issue here but some sascha@446: initial tests falsified this hypothesis. We need to have a sascha@446: deeper look at this but till than it works. sascha@446: sascha@446: * ChangeLog: Fixed some typos. sascha@446: sascha@445: 2009-12-30 Sascha L. Teichmann sascha@445: sascha@445: * doc/conf/conf.xml: Fixed defect XML sascha@445: sascha@445: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: sascha@445: Use configuration to generate JFreeChart compatible polygons. sascha@445: sascha@445: * src/main/java/de/intevation/gnv/raster/PaletteManager.java: sascha@445: Add method to access base palette. sascha@445: sascha@445: * src/main/java/de/intevation/gnv/raster/Vectorizer.java: sascha@445: Added logging and new constructor. sascha@445: sascha@445: * src/main/java/de/intevation/gnv/math/ConstantXYDepth.java: sascha@445: "Simulates" DEM with a constant depth. sascha@445: sascha@445: * src/main/java/de/intevation/gnv/math/Interpolation2D.java: sascha@445: Fixed bug with construction of buffer size. sascha@445: sascha@445: * src/main/java/de/intevation/gnv/math/Interpolation3D.java: sascha@445: Some clean ups. New method to calculate max depth. sascha@445: sascha@445: * src/main/java/de/intevation/gnv/math/XYColumn.java: sascha@445: Fixed bug with extrapolation. sascha@445: sascha@444: 2009-12-30 Sascha L. Teichmann sascha@444: sascha@444: * doc/conf/conf.xml: Added section gnv/vertical-cross-section sascha@444: to configure the "Profilschnitte". sascha@444: configures the size of sascha@444: the sample area. Defaults to 1024x768. sascha@444: ... configures the sascha@444: list of post processing filters applied to the sample area sascha@444: after the interpolation is done. Defaults to empty list. sascha@444: sascha@444: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java: sascha@444: Added keys for vertical cross section samples and filters. sascha@444: sascha@444: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: sascha@444: Parse the configuration for the new parameters. sascha@444: sascha@443: 2009-12-29 Sascha L. Teichmann sascha@443: sascha@443: * doc/conf/conf.xml: Added a gnv/horizontal-cross-section-profile sascha@443: section to configure the "horizontalen Schnittprofile". sascha@443: gives the number of samples the sascha@443: interpolation track is divided into. Defaults to 250 sascha@443: sascha@443: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java: sascha@443: The names of the keys for fetching informations from the sascha@443: configuration context are stored here now instead of the factory. sascha@443: sascha@443: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: sascha@443: Removed the lookup keys. Configure the "horizontalen Schnittprofile". sascha@443: sascha@443: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: sascha@443: Fetch number of samples from config now instead of no longer supported sascha@443: system property. sascha@443: sascha@443: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: sascha@443: The key from chart template config is now in GNVArtifactContext, too. sascha@443: sascha@442: 2009-12-29 Sascha L. Teichmann sascha@442: sascha@442: * doc/conf/conf.xml: Moved chart template and palette config sascha@442: into new section 'gnv'. sascha@442: sascha@442: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: sascha@442: Adjusted to new 'gnv' section in config. sascha@442: Stores chat template under 'gnv.chart.template' and palettes sascha@442: under 'gnv.color.palettes'. sascha@442: Added authors. sascha@442: sascha@442: * src/main/java/de/intevation/gnv/utils/StringUtils.java: Fixed sascha@442: index out of bounds issue. sascha@442: sascha@441: 2009-12-29 Sascha L. Teichmann sascha@441: sascha@441: * src/main/java/de/intevation/gnv/raster/Filter.java: New. sascha@441: General filter mechanism raster in -> raster out. Useful sascha@441: to chain processing. The Filter.Factory takes an sascha@441: DOM element to configure itself. sascha@441: sascha@441: * src/main/java/de/intevation/gnv/raster/KernelFilter.java: sascha@441: New. Implements raster filters based on kernel folding. Has sascha@441: an inner class GaussFactory which acts as a factory to create sascha@441: Gauss filters. The attributes "sigma" and "radius" are read sascha@441: from the configuring DOM element to set up the parameters sascha@441: of the kernel. sascha@441: sascha@440: 2009-12-28 Sascha L. Teichmann sascha@440: sascha@440: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java, sascha@440: src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, sascha@440: src/main/java/de/intevation/gnv/utils/WKTUtils.java: Refactored most sascha@440: silly code like inefficent access to input data and redundant sascha@440: WKT line string parsing. sascha@440: sascha@440: * src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java, sascha@440: src/main/java/de/intevation/gnv/math/XYColumn.java: sascha@440: Removed needless imports. sascha@440: sascha@439: 2009-12-28 Sascha L. Teichmann sascha@439: sascha@439: * src/main/java/de/intevation/gnv/state/OutputStateBase.java, sascha@439: src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java, sascha@439: src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java, sascha@439: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, sascha@439: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java, sascha@439: src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, sascha@439: src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: sascha@439: Bring CallContext down to the chart generation. This is necessary to sascha@439: access the configuration. BTW: this a much cleaner way than sascha@439: the omnipresent singletons all around in the code! sascha@439: sascha@439: Observation: All the stuff derived from OutputStateBase is coded very messy sascha@439: ... even if your demands are not high about aesthetic :-/ sascha@439: sascha@439: * src/main/java/de/intevation/gnv/utils/StringUtils.java: New. sascha@439: Some functions to ease working with strings. sascha@439: sascha@438: 2009-12-28 Sascha L. Teichmann sascha@438: sascha@438: * src/main/java/de/intevation/gnv/raster/PaletteManager.java: New. sascha@438: Used to manage several levels of palette subdivsions derived from sascha@438: base palette. Contains name and description of palette, too. sascha@438: sascha@438: * src/main/java/de/intevation/gnv/raster/Palette.java: Removed sascha@438: palette description because it is hold by the PaletteManager now. sascha@438: sascha@438: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: sascha@438: The palettes are not stored under the name of the palette any longer. sascha@438: Instead the new attribute 'parameter-id' is splitted (comma separated) sascha@438: into integers which are use as keys now. The values are PaletteManagers. sascha@438: This should ease the access to an adequate PaletteManager when sascha@438: generating a chart for a certain parameter. sascha@438: sascha@438: * doc/conf/conf.xml: Added the 'parameter-ids' for the four palettes. sascha@438: The values are extracted from the gdiintern wiki. sascha@438: sascha@438: !!! This have to be in sync with the database parameter ids !!! sascha@438: sascha@437: 2009-12-27 Sascha L. Teichmann sascha@437: sascha@437: * src/main/java/de/intevation/gnv/raster/IsoPolygonSeriesProducer.java: sascha@437: New. Vectorizer rings callback which produces iso lines in sascha@437: form of PolygonSeries. These series can be added to PolygonDatasets. sascha@437: If a IsoPolygonSeriesProducer.LabelGenerator is given sascha@437: each of the series has an attribute "label" which could be used sascha@437: to label text on the plot. TODO: Add label rendering to plot. sascha@437: sascha@437: Iso line generation is a bit more sophisticated than pure sascha@437: region tracing. Along a border of a region there could sascha@446: be more than one type of neighborhood. This is due to quantification sascha@437: errors introduced by the fact that steep value gradients sascha@437: are sampled to less points. The only ways out would be an sascha@437: increase of the sample resolution or an other algorithm sascha@437: working directly on the interpolated floating point samples. sascha@437: sascha@437: * src/main/java/de/intevation/gnv/raster/Vectorizer.java: Made sascha@437: line simplification work with open polygons, too. sascha@437: sascha@437: * src/main/java/de/intevation/gnv/math/IJKey.java: Added method sascha@437: to sort (i, j) in place. sascha@437: sascha@437: * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: sascha@437: Do not close line shapes because iso lines are not closed shapes sascha@437: in general. sascha@437: sascha@437: * src/main/java/de/intevation/gnv/raster/PolygonDatasetProducer.java: sascha@437: Added author. Some reformatting. sascha@437: sascha@436: 2009-12-26 Sascha L. Teichmann sascha@436: sascha@436: * src/main/java/de/intevation/gnv/raster/PolygonDatasetProducer.java: sascha@436: New. Vectorizer rings callback which produces PolygonDatasets suitable sascha@436: to be fed into PolygonPlot. sascha@436: sascha@436: * src/main/java/de/intevation/gnv/raster/Vectorizer.java: sascha@436: Forward height to rings callback. sascha@436: Made simplification of chains an option (default: true). sascha@436: This should be turn off if generating iso lines. sascha@436: Made edges hashable (handy to find neighbored edges in sascha@436: iso line scanning). sascha@436: sascha@436: * src/main/java/de/intevation/gnv/jfreechart/PolygonSeries.java: sascha@436: Added default constructor. Generate unique comparable long id sascha@436: in thos constructor. sascha@436: Added method to add a single ring. sascha@436: sascha@436: * src/main/java/de/intevation/gnv/jfreechart/PolygonDataset.java: sascha@436: Added constructor to construct with a collection of polygon sascha@436: series. sascha@436: sascha@435: 2009-12-25 Sascha L. Teichmann sascha@435: sascha@435: * src/main/java/de/intevation/gnv/raster/Palette.java: Added sascha@435: method subdive(N) to Palette class which creates a new sascha@435: palette in which each interval is splitted into N sascha@435: equal sized intervals. Infinity sized intervals are not sascha@435: splitted. This is useful to fulfill the conditions of sascha@435: gnv/issue108. sascha@435: sascha@434: 2009-12-23 Sascha L. Teichmann sascha@434: sascha@434: * src/main/java/de/intevation/gnv/math/Interpolation2D.java: sascha@434: Use local variable debug instead of asking log.isDebugEnabled() sascha@434: more than once. sascha@434: sascha@434: * src/main/java/de/intevation/gnv/math/XYColumn.java: extrapolate sascha@434: with boundary values. sascha@434: sascha@434: * src/main/java/de/intevation/gnv/math/Interpolation3D.java: sascha@434: Implements a 3D interpolation called 'Profilschnitt' along a sascha@434: track similiar to the 'Horizontaler Schnittprofil' which takes sascha@434: all k layers into account. sascha@434: sascha@434: At the interpolated (x, y) points columns of parameter values sascha@434: from surface to ground are interpolated. To do so the four sascha@434: next neighbor of that columns are figured out. Four sascha@434: cubic splines are fitted through these parameter values sascha@434: of these neighbors. Now its possible to continuous eval sascha@434: the parameter on each. Every entry in the interpolated column sascha@434: is interpolated bilinear from the four cubic spline interpolated sascha@434: neighbor values at the respective depth. sascha@434: sascha@434: The result is stored into a double valued raster. NaN values sascha@449: indicate interpolation gaps. sascha@434: sascha@433: 2009-12-23 Sascha L. Teichmann sascha@433: sascha@433: * src/main/java/de/intevation/gnv/math/XYColumn.java: Added a method sascha@433: prepare() which generates an continues interpolator for the sascha@433: given z values. if only one value is given a constant function sascha@433: is assumed. If the larger z-value is below zero the sascha@433: next lower value is supplemented at zero. Symmetrically sascha@433: if the lowest z-value is above the depth at the given point sascha@433: the lowest value is repeated at depth. This should guarantee sascha@433: that the gradient is vansihing towards the surface and the sascha@433: bottom of the ocean. sascha@433: sascha@433: If after the supplementation there are less than three points sascha@433: a linear interpolation is performed. If there are more than three sascha@433: points a higher degree interpolation is used instead. This defaults sascha@433: to a cubic spline interpolation. Overwrite the getInterpolator() sascha@433: function to replace this behavior. sascha@433: sascha@433: * src/main/java/de/intevation/gnv/math/ConstantFunction.java: New. sascha@433: Constant function used in interpolation. sascha@433: sascha@433: * src/main/java/de/intevation/gnv/math/LinearFunction.java: Added sascha@433: an inner class Univariate which fits into the interpolation sascha@433: framework. sascha@433: sascha@433: * src/main/java/de/intevation/gnv/math/HeightValue.java: Sort sascha@433: z-Values in descending order because we are below zero. sascha@433: sascha@433: * src/main/java/de/intevation/gnv/math/XYDepth.java: New. Interface sascha@433: to figure out the depth (negative values below surface) for sascha@433: a given coordinate. TODO: Implement this by query the DEM grid sascha@433: of the ocean. sascha@433: sascha@433: * src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: Added sascha@433: authors. sascha@433: sascha@432: 2009-12-23 Sascha L. Teichmann sascha@432: sascha@432: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: sascha@433: When preprocessing database data only dissemble WKT points if we sascha@432: have to. sascha@432: Read z values as double value now. sascha@432: Commented out CSV export because it takes the database data sascha@432: as data which is not correct here. TODO: We need to implement some output sascha@432: based on the interpolated data. sascha@432: Added some type safety to better match the 2D code. sascha@432: sascha@432: * src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: Stores sascha@432: XYColumns in ArrayList for better reused of the 2D code. sascha@432: sascha@432: * src/main/java/de/intevation/gnv/math/XYColumn.java: Removed toArray() sascha@432: method because its not needed any longer. sascha@432: sascha@431: 2009-12-23 Sascha L. Teichmann sascha@431: sascha@431: * src/main/java/de/intevation/gnv/math/XYColumn.java: Extends from sascha@431: Point2d now to make some of the code (x/y sorting, envelope, etc.) sascha@431: reusable in 3D from 2D code. sascha@431: sascha@431: * src/main/java/de/intevation/gnv/math/IJKey.java: New: The (i, j) hashing sascha@431: is now moved to this class because of the new inheritance of XYColumn. sascha@431: sascha@431: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: sascha@431: Adjusted the (i, j) hashing. sascha@431: sascha@431: * src/main/java/de/intevation/gnv/math/Point2d.java: Added a new constructor sascha@431: to make it easier to extend from it. sascha@431: sascha@431: * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Made the buffer sascha@431: extend calculation a static method to be reusable in 3D case. sascha@431: sascha@430: 2009-12-22 Sascha L. Teichmann sascha@430: sascha@430: * doc/conf/conf.xml: Load salinity palette correctly. sascha@430: ingo@429: 2009-12-22 Ingo Weinzierl ingo@429: ingo@429: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: ingo@429: Preprocessing of data used for interpolation. ingo@429: ingo@429: * src/main/java/de/intevation/gnv/math/AttributedXYColumns.java: Data ingo@429: wrapper. Contains preprocessed data used for interpolation and some ingo@429: metadata used for chart creation. ingo@429: ingo@429: * src/main/java/de/intevation/gnv/math/XYColumn.java, ingo@429: src/main/java/de/intevation/gnv/math/HeightValue.java: Made them ingo@429: serializable and added hashCode() and equals() to XYColumn to use it as ingo@429: key in HashMaps. ingo@429: ingo@429: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, ingo@429: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java, ingo@429: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, ingo@429: src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java, ingo@429: src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java, ingo@429: src/main/java/de/intevation/gnv/state/OutputStateBase.java: Changed some ingo@429: method signatures. ingo@429: ingo@429: * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java: ingo@429: Improved error handling. Return empty statistic set if there are no input ingo@429: data. ingo@429: ingo@428: 2009-12-22 Ingo Weinzierl ingo@428: ingo@428: * doc/conf/products/verticalcrosssection/conf_mesh.xml: Adjusted ingo@428: configuration for verticalcrosssection ('Profilschnitt') products. ingo@428: ingo@428: * doc/conf/queries.properties: Adjusted sql query for chart generation of ingo@428: verticalcrosssection products. ingo@428: ingo@428: * src/main/java/de/intevation/gnv/state/StateBase.java, ingo@428: src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java: Code ingo@428: refactoring and better error handling. ingo@428: ingo@427: 2009-12-22 Ingo Weinzierl ingo@427: ingo@427: * src/main/java/de/intevation/gnv/math/HeightValue.java, ingo@427: src/main/java/de/intevation/gnv/math/XYColumn.java: Added model classes to ingo@427: store information for interpolation. ingo@427: sascha@426: 2009-12-22 Sascha L. Teichmann sascha@426: sascha@426: * doc/conf/conf.xml: Added config section for palettes. sascha@426: sascha@426: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: sascha@426: load palettes at start up. sascha@430: They are stored in a hash map under the key 'color.palettes'. The keys of sascha@430: the map are the names from the configuration, the values are sascha@426: de.intevation.gnv.raster.Palette objects. sascha@426: Put configuration of chart template into own method. sascha@426: sascha@426: * src/main/java/de/intevation/gnv/raster/Palette.java: Added a palette sascha@426: description. sascha@426: sascha@425: 2009-12-21 Sascha L. Teichmann sascha@425: sascha@425: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: sascha@425: Ignore invalid interpolations correctly. sascha@425: sascha@424: 2009-12-21 Sascha L. Teichmann sascha@424: sascha@424: * src/main/java/de/intevation/gnv/raster/Raster.java: New. Models 2D double sascha@424: rasters. Has some support for filtering with gauss kernels, building sascha@424: iso classes, etc. sascha@424: sascha@424: * src/main/java/de/intevation/gnv/raster/Palette.java: New. Maps double sascha@424: values to integer indices and colors. sascha@424: sascha@424: * src/main/java/de/intevation/gnv/raster/Vectorizer.java: New. Simple sascha@424: vectorizer which traces regions in integer rasters. sascha@424: sascha@424: * pom.xml: Added dependency to GNU Trove 2.1.1 which is needed by the sascha@424: vectorizer. sascha@424: ingo@423: 2009-12-21 Ingo Weinzierl ingo@423: ingo@423: * src/main/java/de/intevation/gnv/utils/WKTUtils.java, ingo@423: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: ingo@423: Moved some methods back to old place. ingo@423: sascha@422: 2009-12-21 Sascha L. Teichmann sascha@422: sascha@422: Added Ingo Weinzierl's special JFreeChart classes. sascha@422: sascha@422: * src/main/java/de/intevation/gnv/jfreechart: New package. sascha@422: Should contain general JFreeChart stuff. sascha@422: sascha@422: * src/main/java/de/intevation/gnv/jfreechart/PolygonPlot.java: New. sascha@422: New type of plot to display multi-polygons with holes. sascha@422: sascha@422: * src/main/java/de/intevation/gnv/jfreechart/CompactXYItems.java: New. sascha@422: Basic vertex data model: a ring of a polygon. ccw = shell, cw = hole. sascha@422: sascha@422: * src/main/java/de/intevation/gnv/jfreechart/PolygonSeries.java: New. sascha@422: Attributes a set of rings with key/value pairs. sascha@422: sascha@422: * src/main/java/de/intevation/gnv/jfreechart/PolygonDataset.java: New sascha@422: List of PolygonSeries which makes it a multi-polygon. sascha@422: sascha@422: * src/main/java/de/intevation/gnv/jfreechart/PolygonRenderer.java: New sascha@422: A renderer to draw PolygonDatasets into a PolygonPlot. sascha@422: ingo@421: 2009-12-21 Ingo Weinzierl ingo@421: ingo@421: * doc/conf/products/verticalcrosssection/conf_mesh.xml: Prepared states and ingo@421: transitions of verticalcrosssection (german 'Profilschnitt'). ingo@421: ingo@420: 2009-12-21 Ingo Weinzierl hans@538: a ingo@420: * src/main/java/de/intevation/gnv/utils/WKTUtils.java ingo@420: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: ingo@420: Outsourcing of some methods to prepare results for chart creation. ingo@420: sascha@419: 2009-12-21 Sascha L. Teichmann sascha@419: sascha@419: * doc/conf/palette/flow-velocity.xml: sascha@419: color palette for flow velocity "Fliessgeschwindigkeit". sascha@419: * doc/conf/palette/water-levels.xml: sascha@419: color palette for water levels "Wasserstaende". sascha@419: * doc/conf/palette/salinity.xml: sascha@419: color palette for salinity "Salzgehalt". sascha@419: * doc/conf/palette/water-temperature.xml: sascha@419: color palette for water temperature "Wassertemperatur". sascha@419: sascha@418: 2009-12-21 Sascha L. Teichmann sascha@418: sascha@418: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: sascha@418: Added some code to prevent needless null inserts if interpolating sascha@418: over large gaps. sascha@418: ingo@417: 2009-12-21 Ingo Weinzierl ingo@417: ingo@417: * src/main/java/de/intevation/gnv/chart/HorizontalCrossProfileChart.java: ingo@417: Removed warning, which told the user that gap detection is not implemented ingo@417: yet. ingo@417: ingo@416: 2009-12-21 Ingo Weinzierl ingo@416: ingo@416: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java, ingo@416: src/main/java/de/intevation/gnv/math/Interpolation2D.java: Add 'null' ingo@416: values for gap detection to result collection instead of omitting them. ingo@416: ingo@416: * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@416: src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.jav: ingo@416: Handle null values - don't throw an exception. ingo@416: sascha@375: 2009-12-17 Sascha L. Teichmann sascha@375: sascha@375: RELEASE 0.3 sascha@375: sascha@375: * Changes, NEWS, ChangeLog: Summarized activities sascha@375: sascha@374: 2009-12-17 Sascha L. Teichmann sascha@374: sascha@374: * doc/conf/conf.xml: Bind REST server to localhost. sascha@374: sascha@372: 2009-12-17 Sascha L. Teichmann sascha@372: sascha@372: * src/test/ressources/lang/artifactMessages_de_DE.properties, sascha@373: src/main/resources/lang/artifactMessages_de_DE.properties, sascha@373: src/main/resources/lang/artifactMessages_de.properties: sascha@372: s/Modeldaten/Modelldaten sascha@372: sascha@371: 2009-12-17 Sascha L. Teichmann sascha@371: sascha@371: * src/main/resources/lang/artifactMessages_de_DE.properties, sascha@371: src/main/resources/lang/artifactMessages_de.properties: Removed sascha@371: wkt line strings. sascha@371: sascha@371: 2009-12-17 Ingo Weinzierl ingo@370: ingo@370: * doc/conf/queries.properties: Added K-position to sql statement for ingo@370: verticalprofile charts on meshes. ingo@370: ingo@370: * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@370: src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Changed ingo@370: the depending axis for gap detection on meshes for verticalprofile charts. ingo@370: sascha@371: 2009-12-17 Ingo Weinzierl sascha@371: sascha@371: Issue 106 ingo@369: ingo@369: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: ingo@369: Fixed a file-leak bug while reading chart template. Sourced parsing of xml ingo@369: file out to XMLUtils of de.intevation.artifactdatabase.XMLUtils. ingo@369: ingo@368: 009-12-17 Ingo Weinzierl ingo@368: ingo@368: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, ingo@368: src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java, ingo@368: src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@368: Added column labels for csv export. ingo@368: hans@367: 2009-12-17 Hans Plum hans@367: tim@461: Issue 129: Release 0.2: Verbesserung der �bersetzungen hans@367: hans@367: * src/main/resources/lang/artifactMessages_de_DE.properties, hans@367: src/main/resources/lang/artifactMessages_de.properties: hans@367: Fixed i18n strings for german language hans@367: sascha@366: 2009-12-16 Sascha L. Teichmann sascha@366: sascha@366: * src/main/java/de/intevation/gnv/math/Interpolation2D.java: sascha@366: Fixed index error in i-gab detection between neighbors. sascha@366: ingo@365: 2009-12-16 Ingo Weinzierl ingo@365: ingo@365: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: ingo@365: Override method to create chart. Fixed some bugs for interpolation. ingo@365: ingo@365: * src/main/java/de/intevation/gnv/chart/HorizontalCrossProfileChart.java: ingo@365: Chart class for generating horizontal crossprofile charts. Horizontal ingo@365: crossprofile charts are a subclass of horizontal profile charts. ingo@365: ingo@365: * src/main/java/de/intevation/gnv/math/Point2d.java: Changed epsilon value. ingo@365: ingo@365: * src/main/java/de/intevation/gnv/math/Interpolation2D.java: Fixed some bugs ingo@365: regarding buffer size to limit data for interpolation. ingo@365: ingo@365: TODO: At the moment, there is no gap detection for horizontal crossprofile ingo@365: charts. ingo@365: ingo@364: 2009-12-16 Ingo Weinzierl ingo@364: ingo@364: Issue100 ingo@364: ingo@364: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, ingo@364: src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@364: src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: ingo@364: Workarround: Store information about max range of data for each parameter ingo@364: while iterating over all data values. Set the max range at the end of ingo@364: chart generation. ingo@364: ingo@364: NOTE: NumberAxis.setAutoRange(true) doesn't seem to work properly. ingo@364: ingo@363: 2009-12-16 Ingo Weinzierl ingo@363: ingo@363: * src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java: ingo@363: Removed useless import of VerticalCrossSectionChartFactory. ingo@363: ingo@363: * src/main/java/de/intevation/gnv/chart/HorizontalCrossSectionChartFactory.java, ingo@363: src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java, ingo@363: src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChartFactory.java, ingo@363: src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java, ingo@363: src/main/java/de/intevation/gnv/chart/ChartFactory.java: Removed useless ingo@363: chart factory classes. ingo@363: sascha@362: 2009-12-16 Sascha L. Teichmann sascha@362: sascha@362: * src/main/java/de/intevation/gnv/utils/DistanceCalculator.java: sascha@362: Added method to calculate distance of path. sascha@362: TODO: Move this class into math package and and add sascha@362: an slerp interpolator so it can be used as a metric inside sascha@362: the interpolation code. sascha@362: sascha@362: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: sascha@362: Added code to disassemble the incoming result set, interpolate sascha@362: along a given path and returns an adjusted result set. sascha@362: The (i, j) got lost on this track because we don't travel along sascha@362: the main axis of the grid any more. The test for gaps has to be sascha@362: adjusted because, because the dx/dy on the path depends on how sascha@362: many steps are made on the way [*]. This is controlled by the system sascha@362: property 'interpolation.step.width'. It is set in meters sascha@362: and defaults to 100m. TODO: This should be configurable sascha@362: in the conf.xml file. sascha@362: sascha@362: [*] I opt strongly for integration of the outlier test based gap sascha@362: detection to overcome this problem. sascha@362: sascha@361: 2009-12-15 Sascha L. Teichmann sascha@361: sascha@361: * src/main/java/de/intevation/gnv/math/LinearToMap.java: sascha@361: Uses JTS Coordinate as geometry model now. sascha@361: sascha@361: * src/main/java/de/intevation/gnv/math/Metrics.java, sascha@361: src/main/java/de/intevation/gnv/math/Interpolator.java: New. sascha@361: Moved from inner class of LinearToMap to top level class sascha@361: to be more reusable. Uses JTS Coordinate as geometry model now. sascha@361: sascha@361: * src/main/java/de/intevation/gnv/math/Point2d.java: New. sascha@361: Extends JTS Coordinate to have an additional (i, j) sascha@371: to model the topological neighborhood within the mesh, too. sascha@361: sascha@361: * src/main/java/de/intevation/gnv/math/Interpolation2D.java: New. sascha@361: Has a method interpolate() which takes a path line string in form sascha@361: of a list of JTS Coordinates, a list of grid points (Point2d sascha@361: to carry the topology, too), a linear range in diagram coordinate sascha@361: space, a metric to cope with the projection. It reports sascha@361: interpolated points to an implementor of the new inner interface sascha@361: Consumer as a JTS Coordinate. (x, y) of this coordinate is the sascha@361: postion on the map, the z value is the interpolated attribute. sascha@361: sascha@361: To speed up the search for the neighbors the input points are sascha@361: sorted into a quadtree and are queried first level with a buffer of sascha@361: size (max(abs(p[i].x - p[i+1].x)), max(abs(p[i].y - p[i+1].y))) sascha@361: around the point to be interpolated. The second level filter sascha@361: is performed by an inverse L1-ordering with region coding, so sascha@361: that only the nearest four neighbors are taken into acount. sascha@361: Only if all four neighbors are present and no sascha@361: i- or j-gaps exist the interpolation is performed. TODO: Create sascha@361: a better extrapolation strategy in these cases were these conditions sascha@361: are not fulfilled. sascha@361: sascha@361: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: sascha@361: Added a process() method to perform the interpolation. It does sascha@361: nothing by now. TODO: bring it to life. sascha@361: sascha@360: 2009-12-15 Sascha L. Teichmann sascha@360: sascha@360: * src/main/java/de/intevation/gnv/math/LinearToMap.java: Map linear sascha@360: coordinates (from, to) to world coordinates (x, y) along a line string sascha@360: given by a set of java.awt.geom.Point2D points. sascha@360: sascha@360: * src/main/java/de/intevation/gnv/math/LinearMetrics.java: Implements sascha@360: Euclidean metric used by LinearToMap. TODO: Do same for WGS84 to sascha@360: be more precise. sascha@360: tim@359: 2009-12-15 Tim Englich tim@359: sascha@360: * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java (calculateStatistics): tim@359: Issue96 Resloved big that one entry is missiing in the Statitic. tim@359: The last row of the ResultSet was never used. tim@359: ingo@358: 2009-12-15 Ingo Weinzierl ingo@358: ingo@358: Issue106 ingo@358: ingo@358: * doc/conf/conf.xml: Added charttemplate to global configuration. ingo@358: ingo@358: * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java: Made ingo@358: method static to call it without initiating an object of its class. ingo@358: ingo@358: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: ingo@358: Create ChartTheme at startup of artifact server and put it into global ingo@358: context. The theme is created one time on this way. ingo@358: ingo@358: * src/main/java/de/intevation/gnv/state/OutputState.jav, ingo@358: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Changed ingo@358: signature of 'out'-method. Call 'out' with CallContext instead of ingo@358: CallMeta, which is contained in CallContext. CallContext is needed to ingo@358: fetch the ChartTheme out of it. ingo@358: ingo@358: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, ingo@358: src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, ingo@358: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, ingo@358: src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java: ingo@358: Changed signature of 'getChart'-method which now gets the CallContext ingo@358: containing the ChartTheme. ingo@358: ingo@358: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@358: Get ChartTheme from CallContext instead of reading the XML file here. ingo@358: sascha@357: 2009-12-15 Sascha L. Teichmann sascha@357: sascha@357: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java: sascha@357: If a few (i, j) values are not available (gaps in the grid) try sascha@357: to fill the holes with guessing the values by the ones which could sascha@357: be fetched. We are using a componentwise linear function here. sascha@357: This is surely slightly wrong because world coordinates are sascha@357: in WGS84 which is ellipsoid in nature. TODO: Look at the errors sascha@357: and if needed compensate them by using cubic polynonial or ellipsoid sascha@357: function terms. sascha@357: sascha@357: * src/main/java/de/intevation/gnv/math/LinearFunction.java: New. sascha@357: Linear function to be used in curve fitting process. sascha@357: tim@356: 2009-12-15 Tim Englich tim@356: tim@356: * doc/conf/queries.properties: tim@356: Added the Unit of the Parameter to the Query for Parameters in tim@356: all Parameterqueries where it was still missing. Now the Unit will tim@356: be displaied in the Combobox and in the Diagramm-Axis-Description. tim@356: sascha@354: 2009-12-15 Sascha L. Teichmann sascha@354: sascha@354: * pom.xml: Upgraded to Apache Commons Math 2.0. Needed for sascha@354: curve fitting (splines e.g) sascha@354: sascha@354: * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java: sascha@354: Use 'new DescriptiveStatistics()' instead of sascha@354: 'DescriptiveStatistics().newInstance()' to be compatible with new sascha@354: math api. sascha@354: tim@352: 2009-12-15 Tim Englich sascha@357: sascha@357: Added the Unit of the Parameter to the Query for Parameters in sascha@357: TimeSeries. Now teh Unit will be displaied in the Combobox and sascha@357: in the Diagramm-Axis-Description. sascha@357: tim@353: * src/main/resources/lang/artifactMessages*.properties: tim@353: Added the name Productname for "horizontale Schnittprofile". to the tim@353: Resources so that it could be displaied properly in the GUI sascha@354: tim@353: 2009-12-15 Tim Englich tim@353: sascha@354: * src/main/resources/lang/artifactMessages*.properties: sascha@354: Added the required Resources for the Outputelements of "horizontale Schnittprofile". sascha@354: * doc/conf/queries.properties: sascha@354: Added the specialized Queries for getting the Data and the depths for sascha@354: generating "horizontale Schnittprofile". sascha@354: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java (log): sascha@354: Added an new OutputTransition to handle the special Way to d detremine the required sascha@354: Data for generating "horizontale Schnittprofile". sascha@354: * doc/conf/conf.xml, sascha@354: doc/conf/products/horizontalprofile/conf_mesh_cross.xml, sascha@354: src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileMeshCrossArtifact.java: sascha@354: Added Support for "Horizontales Schnittprofil"-Artifacts to the Project sascha@354: ingo@351: 2009-12-15 Ingo Weinzierl ingo@351: ingo@351: Issue102 ingo@351: ingo@351: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: ingo@351: Reset 'nextColor' at the beginning of chart creation. Now, color of lines ingo@351: in charts are stable, which means, that an export will look like the chart ingo@351: in the gui itself. ingo@351: ingo@350: 2009-12-14 Ingo Weinzierl ingo@350: ingo@350: Issue101 ingo@350: ingo@350: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Changed date ingo@350: representation in timeseries charts. Date format is sourced out to ingo@350: ressource files. German date representation is now 'dd-MMM-yyyy' (eg ingo@350: 31-12-2009) and the english date representation is 'yyyy-MMM-dd' (eg ingo@350: 2009-12-31). ingo@350: ingo@350: * src/main/resources/lang/artifactMessages.properties, ingo@350: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@350: src/main/resources/lang/artifactMessages_en.properties, ingo@350: src/main/resources/lang/artifactMessages_de.properties: Added date format ingo@350: strings for timeseries charts. ingo@350: sascha@349: 2009-12-14 Sascha L. Teichmann sascha@349: sascha@349: * src/main/java/de/intevation/gnv/utils/IndexBuffer.java: sascha@349: Creates SQL-WHERE clauses for buffers around a list of sascha@349: line segments in index (i, j) space. sascha@349: ingo@348: 2009-12-11 Ingo Weinzierl ingo@348: ingo@348: * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java: ingo@348: Exception handling while creating subtitle of horizontalprofile charts. ingo@348: Included the case, that there is no start and no end date. ingo@348: sascha@347: 2009-12-11 Sascha L. Teichmann sascha@347: sascha@347: * src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointTimeSeriesTestCase.java, sascha@347: src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: sascha@347: Removed needless imports. sascha@347: tim@345: 2009-12-11 Tim Englich tim@345: tim@346: * doc/conf/queries.properties: tim@346: Added Z-Value to verticalcrosssection_mesh_chart_data. tim@346: tim@346: 2009-12-11 Tim Englich sascha@347: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCaseBase.java, sascha@347: src/test/java/de/intevation/gnv/artifacts/InstantaneousPointHorizontalProfileTestCase.java, sascha@347: src/test/java/de/intevation/gnv/artifacts/InstantaneousPointVerticalProfileTestCase.java, sascha@347: src/test/java/de/intevation/gnv/artifacts/MeshHorizontalCrossSectionTestCase.java, sascha@347: src/test/java/de/intevation/gnv/artifacts/MeshHorizontalProfileTestCase.java, sascha@347: src/test/java/de/intevation/gnv/artifacts/MeshTimeSeriesTestCase.java, sascha@347: src/test/java/de/intevation/gnv/artifacts/MeshVerticalCrossSectionTestCase.java, sascha@347: src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointTimeSeriesTestCase.java, sascha@347: src/test/java/de/intevation/gnv/artifacts/TimeSeriesPointVerticalProfileTestCase.java, sascha@347: src/test/java/de/intevation/gnv/artifacts/MeshVerticalProfileTestCase.java: sascha@347: Split all Unittestcases in separat Classes. Now it is easier to uses the UnitTests with Maven. sascha@347: ingo@344: 2009-12-11 Ingo Weinzierl ingo@344: ingo@344: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Fade out ingo@344: gridlines of range axis in charts if there are more than one axis. ingo@344: ingo@343: 2009-12-11 Ingo Weinzierl ingo@343: ingo@343: * src/main/resources/lang/artifactMessages.properties, ingo@343: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@343: src/main/resources/lang/artifactMessages_en.properties, ingo@343: src/main/resources/lang/artifactMessages_de.properties: Added axis labels ingo@343: for horizontalprofile, verticalprofile, horizontalcrosssection and ingo@343: verticalcrosssection charts. ingo@343: ingo@343: * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java, ingo@343: src/main/java/de/intevation/gnv/state/profile/verticalcrosssection/VerticalCrossSectionOutputState.java, ingo@343: src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileOutputState.java, ingo@343: src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileOutputState.java: ingo@343: Read axis labels from ressources instead of hard coded strings in code. ingo@343: ingo@342: 2009-12-11 Ingo Weinzierl ingo@342: ingo@342: Cleared Issue104. ingo@342: ingo@342: * src/main/resources/lang/artifactMessages.properties, ingo@342: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@342: src/main/resources/lang/artifactMessages_en.properties, ingo@342: src/main/resources/lang/artifactMessages_de.properties: Added axis label ingo@342: for timeseries charts. ingo@342: ingo@342: * src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java: ingo@342: Removed hard coded axis label of timeseries charts. Read label from ingo@342: ressources. ingo@342: ingo@341: 2009-12-09 Ingo Weinzierl ingo@341: ingo@341: * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@341: src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Added ingo@341: gap detection for horizontal and vertical profile charts. ingo@341: sascha@339: 2009-12-09 Sascha L. Teichmann sascha@339: sascha@339: * doc/conf/conf.xml: Expanded the time to live of inactive artifacts sascha@339: to 3600000ms (= 1h). Dead artifacts are removed from databasse sascha@339: only every 15mins now. Improved the description on the artifact sascha@339: factories. sascha@339: tim@337: 2009-12-08 Tim Englich tim@337: tim@338: * doc/conf/queries.properties: tim@338: Added the Unit of the Parameter to the Query for Parameters in tim@338: TimeSeries. Now teh Unit will be displaied in the Combobox and tim@338: in the Diagramm-Axis-Description. tim@338: tim@338: 2009-12-08 Tim Englich tim@337: * src/main/java/de/intevation/gnv/transition/profile: tim@337: Removed empty needless package. tim@337: * src/main/java/de/intevation/gnv/transition/TransitionFactory.java: tim@337: src/main/java/de/intevation/gnv/transition/ValueCompareTransition.java, tim@337: src/main/java/de/intevation/gnv/transition/TransitionBase.java, tim@337: src/main/java/de/intevation/gnv/transition/Transition.java, tim@337: src/main/java/de/intevation/gnv/transition/DefaultTransition.java: tim@337: The new Transitions which has the only job to provide the connectios between tim@337: the different States and look if it is Possible to go the different Ways. tim@337: * src/main/java/de/intevation/gnv/state/StateBase.java, tim@337: src/main/java/de/intevation/gnv/state/State.java: tim@337: Removed the Logic to descide which State is be reacable as next. tim@337: Now the Transition configured in the Artifacts will do that according tim@337: to the modified TransitionModel. tim@337: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (transitions): tim@337: Added the Transitions to the Artifact and changed the Logic. tim@337: Now the Transition is able to decide if it could be uses or not. tim@337: * doc/conf/products/verticalprofile/*.xml: tim@337: Modified the Configuration. Splitted States and Transitions into tim@337: different XML-Fragments according to the modified Transitionmodel. tim@337: ingo@336: 2009-12-08 Ingo Weinzierl ingo@336: ingo@336: * doc/conf/queries.properties: Added marker ('DATAID') for different data ingo@336: sources. ingo@336: tim@335: 2009-12-08 Tim Englich tim@335: tim@335: * doc/conf/products/*.xml: tim@335: Switched all Package and Classnames to the new Names. tim@335: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: tim@335: Switched Imports from de.intevation.gnv.transition to de.intevation.gnv.state tim@335: and renamed all Mebers and local Variables from *transition* to *state* tim@335: * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java: tim@335: Changed the Class for the loggeer from TimeseriesoutputTransition tim@335: to ArtifactXMLUtilities because it was wrong. tim@335: * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java, tim@335: src/main/java/de/intevation/gnv/artifacts/fis/product/DefaultProduct.java, tim@335: src/main/java/de/intevation/gnv/artifacts/fis/product/Product.java, tim@335: src/main/java/de/intevation/gnv/statistics/VerticalProfileStatistics.java, tim@335: src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java, tim@335: src/main/java/de/intevation/gnv/statistics/Statistics.java, tim@335: src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java, tim@335: src/main/java/de/intevation/gnv/exports/SimpleOdvDataCollector.java, tim@335: src/main/java/de/intevation/gnv/exports/ShapeDataCollector.java, tim@335: src/main/java/de/intevation/gnv/exports/Export.java, tim@335: src/main/java/de/intevation/gnv/exports/DefaultExport.java, tim@335: src/main/java/de/intevation/gnv/exports/DefaultDataCollector.java, tim@335: src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java, tim@335: src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, tim@335: src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChartFactory.java, tim@335: src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, tim@335: src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java, tim@335: src/main/java/de/intevation/gnv/chart/HorizontalCrossSectionChartFactory.java, tim@335: src/main/java/de/intevation/gnv/chart/ChartFactory.java, tim@335: src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: tim@335: Changed import from de.intevation.gnv.transition.* to de.intevation.gnv.state.* tim@335: according to refactoring Work in the Transitionsmodel. tim@335: * de.intevation.gnv.transition.* tim@335: Moved to de.intevation.gnv.state.* tim@335: and renamed all Mebers, local Variables, and Methodsignatures from *transition* to *state* tim@335: ingo@334: 2009-12-07 Ingo Weinzierl ingo@334: ingo@334: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@334: Remove unselected parameters from parameters list before initiating ingo@334: charts. Parameter names are used as axis labels. ingo@334: ingo@334: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, ingo@334: src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@334: src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Changed ingo@334: the way of adding data to charts: same parameters are stored in the same ingo@334: dataset. Now, each parameter has only one axis. Axes and renderer are ingo@334: adjusted one time after collecting data - not after creating every ingo@334: single series. ingo@334: ingo@334: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Added some ingo@334: more colors to distinguish between different parameters/attributes. ingo@334: Changed method to adjust rendering options regarding the changes of ingo@334: datasets described above. ingo@334: ingo@333: 2009-12-07 Ingo Weinzierl ingo@333: ingo@333: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Changed method ingo@333: generateChart to initChart, which just created a new timeseries chart. ingo@333: General chart stuff is done in AbstractXYLineChart. ingo@333: ingo@333: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Sourced ingo@333: ChartFactory call out to a new initChart method. This has been done, ingo@333: because TimeSeriesCharts needs to initiate another type of chart than ingo@333: horizontal or vertical charts. ingo@333: ingo@332: 2009-12-04 Ingo Weinzierl ingo@332: ingo@332: * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java: ingo@332: Added method to fetch a string from ressource bundle with a specified ingo@332: locale. Before, there just have been existing a method to fetch string ingo@332: from ressource bundle on basis of the first locale in a list of locales. ingo@332: ingo@332: * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java: ingo@332: Added method to fetch strings from ressource bundle from RessourceFactory ingo@332: with a specified locale, a key and a default value, if there is no string ingo@332: matching key in bundle. ingo@332: ingo@332: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@332: Added methods for creating title and subtitle of charts. FIS name is ingo@332: fetched from ressource bundle with best locale (regarding supported server ingo@332: and client locales) instead of first locale in list of supported locales ingo@332: of the server. ingo@332: ingo@332: * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java: ingo@332: Changed title of charts. The main title contains FIS and station name. The ingo@332: subtitle contains the time period, the cruise, the depth and the position ingo@332: of a chart. ingo@332: ingo@332: * src/main/java/de/intevation/gnv/chart/ChartLabels.java: Added subtitle as ingo@332: parameter in class and constructor. ingo@332: ingo@332: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Added a ingo@332: subtitle to charts. Titles and subtitles are stored in a ChartLabels ingo@332: object. ingo@332: ingo@332: * src/main/resources/lang/artifactMessages.properties, ingo@332: src/main/resources/lang/artifactMessages_de_DE.properties, ingo@332: src/main/resources/lang/artifactMessages_en.properties, ingo@332: src/main/resources/lang/artifactMessages_de.properties: Added strings for ingo@332: chart title. ingo@332: sascha@330: 2009-12-04 Sascha L. Teichmann sascha@330: sascha@330: * ChangeLog: Cleaned up a bit. sascha@330: ingo@329: 2009-12-02 Ingo Weinzierl ingo@329: ingo@329: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Added time gap sascha@330: detection. If a time gap is detected, a null value will be inserted to ingo@329: break the current line. ingo@329: ingo@328: 2009-12-02 Ingo Weinzierl ingo@328: sascha@330: * pom.xml: Added JBoss repository for JFreeChart 1.0.13 and removed explicit ingo@328: JCommon dependency which is now needless. Now, it is no more necessary to ingo@328: install JFreeChart into the local maven repository on your own. ingo@328: ingo@327: 2009-12-02 Ingo Weinzierl ingo@327: ingo@327: * doc/conf/charttemplate.xml: Added lines to configure rendering of lines ingo@327: and points in charts (visibility of lines/points and size of points). ingo@327: ingo@327: * src/main/java/de/intevation/gnv/chart/XMLChartTheme.java: Added method ingo@327: parsing the rendering options for lines and points in charts. ingo@327: ingo@327: * src/main/java/de/intevation/gnv/chart/AbstractChart.java: Added boolean ingo@327: member attributes which are used to control the visibility of lines and ingo@327: points in charts. ingo@327: ingo@327: * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@327: src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, ingo@327: src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: ingo@327: Constructor needs two further boolean parameter to control the visibility ingo@327: of lines and points in charts. sascha@330: ingo@327: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: The sascha@330: renderer controlling the style of a series is adjusted after adding a ingo@327: new series to the chart. ingo@327: ingo@327: * src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java, ingo@327: src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.jav, ingo@327: src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, ingo@327: src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, ingo@327: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@327: Adjusted method calls regarding the constructor changes in *Chart classes. ingo@327: ingo@327: TODO: Lines and points in charts will both always be rendered at the ingo@327: moment. This needs to be changed as soon as a new gui option is ingo@327: implemented to control the visibility of lines/points. ingo@327: tim@325: 2009-12-01 Tim Englich tim@325: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java: tim@326: Added one more Transitionstep to each Testcase according to the refactored Transitionmodel. tim@326: * src/test/ressources/verticalprofile/verticalprofile_step_*_advance.xml, sascha@330: src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_*_advance.xml, sascha@330: src/test/ressources/verticalprofile_mesh/verticalprofile_step_*_advance.xml, sascha@330: src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_*_advance.xml, tim@326: src/test/ressources/timeseries_mesh/timeseries_step_*_advance.xml, sascha@330: src/test/ressources/timeseries/timeseries_step_*_advance.xml, sascha@330: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_*_advance.xml, sascha@330: src/test/ressources/horizontalProfile_instantaneouspoint/horizontalprofile_step_*_advance.xml, tim@326: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_*_advance.xml: tim@326: Moved each Adancedocument plus one according to the refactored Transitionmodel. sascha@330: Added the first advanced Call for the Product-Artifact sascha@330: tim@326: 2009-12-01 Tim Englich sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java: sascha@330: All Data which is required to generate the Charts is now fetched using the sascha@330: Method getChartResult. The Method advance and initialize now have nothing to do. sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out): sascha@330: Removed the advance call because all Data which is required to generate the Charts is sascha@330: fetched using the Method getChartResult. sascha@330: * src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java (initialize): sascha@330: Use Method instantiate instead of Advance to add the required Data for describe sascha@330: and feed this Transition. sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (initialize), sascha@330: src/main/java/de/intevation/gnv/transition/Transition.java (initialize): sascha@330: Added new Method Initaialize which will be callcall to Initailize the current sascha@330: Transition. In this step all Data will be fetched which is required to Ddescribe and sascha@330: feed each Transition. sascha@330: Also the AlternativeTransition was removed because it is not longer required. sascha@330: sascha@330: * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (advance): sascha@330: Switched to the usage of the Method initialize instead of Advance while instantiating sascha@330: a new Productartifact, according to the Refactoring work wich is done in the sascha@330: TransitionModel. sascha@330: sascha@330: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (initialize): sascha@330: Added new Function Initialize so that it is possible to Initialize an Artifact sascha@330: without doing this in the Constructor. That is nessessary because some Artifacts need sascha@330: some Metadata (e.g. SourceID) befor it can be initialized. sascha@330: sascha@330: * doc/conf/products/verticalprofile/conf_timeseriespoint.xml, sascha@330: doc/conf/products/verticalprofile/conf_mesh.xml, sascha@330: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml, sascha@330: doc/conf/products/verticalcrosssection/conf_mesh.xml, sascha@330: doc/conf/products/timeseries/conf_timeseriespoint.xml, sascha@330: doc/conf/products/timeseries/conf_mesh.xml, sascha@330: doc/conf/products/horizontalprofile/conf_mesh.xml, sascha@330: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, sascha@330: doc/conf/products/horizontalcrosssection/conf_mesh.xml: sascha@330: Some Refactoring work done according to the Refactoring Work wich sascha@330: was done in the Transitionmodel. sascha@330: ingo@324: 2009-11-30 Ingo Weinzierl ingo@324: ingo@324: * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java, ingo@324: src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java, ingo@324: src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java, ingo@324: src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.java, ingo@324: src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, ingo@324: src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java: ingo@324: Removed needless imports. ingo@324: ingo@323: 2009-11-30 Ingo Weinzierl ingo@323: ingo@323: * pom.xml: Updated batik dependencies to 1.7 ingo@323: ingo@323: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Use ingo@323: java native DOMImplementation instead of Batik's SVGDOMImplementation, ingo@323: which is not present in batik 1.7 libs. ingo@323: ingo@322: 2009-11-30 Ingo Weinzierl ingo@322: ingo@322: * doc/conf/products/horizontalcrosssection/conf_mesh.xml, ingo@322: doc/conf/products/verticalcrosssection/conf_mesh.xml, ingo@322: doc/conf/products/timeseries/conf_mesh.xml, ingo@322: doc/conf/products/timeseries/conf_timeseriespoint.xml, ingo@322: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@322: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, ingo@322: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@322: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, ingo@322: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added svg ingo@322: to output modes (MimeType image/svg+xml). ingo@322: ingo@322: * pom.xml: Added batik 1.6.1 dependencies which are used to create svg ingo@322: exports. ingo@322: ingo@322: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: ingo@322: Implemented chart export to svg. ingo@322: ingo@322: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@322: Output mode 'svg' will call svg export of ChartExportHelper. ingo@322: ingo@320: 2009-11-30 Ingo Weinzierl ingo@320: ingo@320: * pom.xm: Added iText 2.1.7 dependency (to create pdf's). ingo@320: ingo@320: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: ingo@320: Implemented chart export to pdf using iText library. The chart fills the ingo@320: complete page. A boolean system property "export.pdf.landscape" can be ingo@320: used to adjust the page orientation (portrait or landscape, default is ingo@320: landscape). ingo@320: ingo@320: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@320: Added method for exporting chart to pdf. Calls the new method of ingo@320: ChartExportHelper. ingo@320: tim@319: 2009-11-27 Tim Englich tim@319: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java tim@319: (testHorizontalProfileInstantaneousPointArtifact), tim@319: src/test/ressources/horizontalProfile_instantaneouspoint/horizontalprofile_step_*.xml: sascha@330: Added new stapes using the RegionFilter into the Tescase of HorizontalProfiles Instantaneous Point. tim@319: * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_feed.xml, sascha@330: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_feed.xml: tim@319: Bugfix: Removed second dateid. horizontalcrosssection and verticalcrosssection only provide the usage of one dateid. sascha@330: * doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml: tim@319: Added the RegionFilters into the configuration of the Products for tim@319: Horizontalprofiles IntantaneousPoints. sascha@330: * doc/conf/queries.properties: tim@319: Query to select only Ships, Cruises, Tracks which are within an Region. sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (extractKVP): tim@319: Added Row-Number lookup for ColumnNames for Performanceimprofements. tim@319: ingo@318: 2009-11-26 Ingo Weinzierl ingo@318: ingo@318: * src/main/java/de/intevation/gnv/exports/ChartExportHelper.java: Helper sascha@330: class to export charts. Dependencies on JFreeChart and iText are capsuled sascha@330: here, no further dependencies in OutputTransitions. Export methods for ingo@318: images and pdf already implemented. ingo@318: ingo@318: * src/main/java/de/intevation/gnv/chart/Chart.java, ingo@318: src/main/java/de/intevation/gnv/chart/AbstractChart.java: Outsourcing of ingo@318: export methods to ChartExportHelper. ingo@318: ingo@318: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@318: Adapted current export of charts. ingo@318: ingo@317: 2009-11-26 Ingo Weinzierl ingo@317: ingo@317: * doc/conf/products/horizontalcrosssection/conf_mesh.xml, ingo@317: doc/conf/products/verticalcrosssection/conf_mesh.xml, ingo@317: doc/conf/products/timeseries/conf_mesh.xml, ingo@317: doc/conf/products/timeseries/conf_timeseriespoint.xml, ingo@317: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@317: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, ingo@317: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@317: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, ingo@317: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added pdf ingo@317: as export format. ingo@317: ingo@316: 2009-11-26 Ingo Weinzierl ingo@316: ingo@316: * TODO: Added point in TODO regarding tick units and distance between tick ingo@316: units in timeseries charts. ingo@316: ingo@315: 2009-11-26 Ingo Weinzierl ingo@315: ingo@315: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Localized sascha@330: chart axis. Two method have been added - method to localize y-axis of ingo@315: charts, abstract method to localize x-axis of charts. ingo@315: ingo@315: * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@315: src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Override ingo@315: abstract method to localize x-axis. ingo@315: ingo@315: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@315: Call algorithm to determine the best locale regarding intersection of sascha@330: supported server and browser locales. This locale is used to create ingo@315: localized charts. ingo@315: ingo@314: 2009-11-26 Ingo Weinzierl ingo@314: ingo@314: * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java: ingo@314: New method getLocales() which returns an array of locales which are ingo@314: supported by the server. ingo@314: ingo@314: * src/main/resources/lang/lang.conf: Config-file for supported languages. ingo@314: The resource bundles for localized text should be configured here. It is ingo@314: used to determine the best locale regarding the supported locales by ingo@314: server and browser. ingo@314: ingo@312: 2009-11-25 Ingo Weinzierl ingo@312: ingo@312: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java: Override ingo@312: method generateChart to instantiate TimeSeries charts instead of XY sascha@330: charts. Before these changes, timeseries charts did not have a valid date sascha@330: axis. ingo@312: ingo@311: 2009-11-24 Ingo Weinzierl ingo@310: ingo@310: * src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@310: src/main/java/de/intevation/gnv/chart/AbstractChart.java, ingo@310: src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, ingo@310: src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: Added ingo@310: timegap definitions, adapted constructors. ingo@310: ingo@310: * src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java, ingo@310: src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.java, ingo@310: src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, ingo@310: src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, ingo@310: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@310: Adapted creation of charts regarding changes of constructors. ingo@310: tim@309: 2009-11-24 Tim Englich tim@309: sascha@330: * src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_feed.xml, sascha@330: src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_feed.xml, sascha@330: src/test/ressources/timeseries_mesh/timeseries_step_08_feed.xml, sascha@330: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_feed.xml, sascha@330: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_feed.xml, sascha@330: src/test/ressources/timeseries/timeseries_step_06_out_chart.xml: sascha@330: Added new Timevalues because the Data in the DWH has changed. sascha@330: ingo@308: 2009-11-24 Ingo Weinzierl ingo@308: sascha@330: * pom.xml: Added dependencies for esri and ibm libraries required for unit ingo@308: tests. ingo@308: tim@306: 2009-11-24 Tim Englich tim@306: sascha@330: * src/test/ressources/timeseries/timeseries_step_06_out_chart.xml: tim@307: Added mime-type to get a propper output-result and not an NPE sascha@330: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java (findValueTitle): tim@307: Added null-value check to prevent NPEs. tim@307: * src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.java (getChart), tim@307: src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java (getChart), sascha@330: src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java (getChart), sascha@330: src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java (getChart): tim@307: Changed Method-Signature to this one which the base method provide. tim@307: Now the Methods will be used again. tim@307: tim@307: 2009-11-24 Tim Englich sascha@330: sascha@330: * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java (TestCallContext): sascha@330: Removed Compilationerrors that were triggert by API-Changes in tim@306: Module Artifact-Database. sascha@330: tim@306: * doc/conf/queries.properties, sascha@330: doc/conf/products/timeseries/conf_mesh.xml: sascha@330: Removed Meshpoint from SQL-Query because the same value will be tim@306: insert by using the depthid. tim@306: depthid on layer 1 = featureid tim@306: In the old configuration only Charts on Layer 1 were drawn. tim@306: issue91 tim@306: ingo@305: 2009-11-23 Ingo Weinzierl ingo@305: ingo@305: * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java: ingo@305: Remove chart from cache when data which is displayed has changed. ingo@305: ingo@304: 2009-11-23 Ingo Weinzierl ingo@304: ingo@304: * doc/conf/charttemplate.xml: Added configuration file for chart themes. ingo@304: ingo@304: * src/main/java/de/intevation/gnv/chart/XMLChartTheme.java: Theme class for ingo@304: reading xml files which describe chart styles. It extends the ingo@304: StandardChartTheme class of JFreeChart which defines default values for ingo@304: chart parameters. It is possible to apply different xml configurations for ingo@304: different charts. ingo@304: ingo@304: * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java, ingo@304: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: sascha@330: Before creating a new chart, an instance of XMLChartTheme is initialized ingo@304: which is responsible for the chart style. ingo@304: ingo@304: NOTE: 'charttemplate.xml' is used by artifact server and has to be placed ingo@304: in the config directory. ingo@304: ingo@303: 2009-11-20 Ingo Weinzierl ingo@303: ingo@303: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@303: Export format of charts (png, jpeg, gif) depends on mime-type. ingo@303: ingo@303: * src/main/java/de/intevation/gnv/chart/Chart.java, ingo@303: src/main/java/de/intevation/gnv/chart/AbstractChart.java: Renamed export ingo@303: method, because it doesn't export just png anymore, but jpeg or gif as ingo@303: well. ingo@303: ingo@302: 2009-11-20 Ingo Weinzierl ingo@302: ingo@302: * src/test/ressources/horizontalProfile_instantaneouspoint/horizontalprofile_step_06_out_chart.xml, ingo@302: src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_out_chart.xml, ingo@302: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_out_chart.xml, ingo@302: src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_out_chart.xml, ingo@302: src/test/ressources/timeseries_mesh/timeseries_step_08_out_chart.xml, ingo@302: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_out_chart.xml, ingo@302: src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_out_chart.xml, ingo@302: src/test/ressources/verticalprofile/verticalprofile_step_06_out_chart.xml: ingo@302: Removed mistake in xml structure of artifact protocol. Mime-type node was ingo@302: called 'out' instead of 'mime-type'. ingo@302: ingo@301: 2009-11-20 Ingo Weinzierl ingo@301: ingo@301: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, ingo@301: src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@301: src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java, ingo@301: src/main/java/de/intevation/gnv/chart/AbstractChart.java, ingo@301: src/main/java/de/intevation/gnv/exports/Export.java, ingo@301: src/main/java/de/intevation/gnv/exports/ShapeDataCollector.java, ingo@301: src/main/java/de/intevation/gnv/exports/SimpleOdvDataCollector.java, ingo@301: src/main/java/de/intevation/gnv/exports/DefaultProfile.java, ingo@301: src/main/java/de/intevation/gnv/exports/DefaultExport.java, ingo@301: src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java, ingo@301: src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, ingo@301: src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, ingo@301: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@301: Removed duplicated and needless imports. ingo@301: ingo@300: 2009-11-20 Ingo Weinzierl ingo@300: ingo@300: * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java: ingo@300: Added methods for caching charts. ingo@300: ingo@300: * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, ingo@300: src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, ingo@300: src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java, ingo@300: src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.java, ingo@300: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@300: Changed chart generation. Charts will now be generated in a central place ingo@300: in TimeSeriesOutputTransition which is the parent class of other ingo@300: OutputTransitions. Each OutputTransition got a new method to serve its own ingo@300: special chart class. ingo@300: ingo@300: * TODO: Added hint for caching charts. Verticalcrosssection and ingo@300: orizontalcrosssection charts aren't implemented yet. ingo@300: sascha@330: NOTE: Charts can be cached. This could be useful if the user exports ingo@300: charts as svg, png or pdf. The caching of charts is configured via system ingo@300: property 'cache.chart' at the moment. ingo@300: ingo@300: 2009-11-19 Ingo Weinzierl ingo@300: ingo@300: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, ingo@300: src/main/java/de/intevation/gnv/transition/OutputTransition.java, ingo@300: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@300: Changed parameter of 'out'-method of OutputTransition. Now, the ingo@300: OutputTransition gets the complete xml document of the request (before ingo@300: just the target name). The mime type of this xml ist used to distinguish ingo@300: between different output formats of charts (png, jpeg). ingo@300: ingo@298: 2009-11-19 Ingo Weinzierl ingo@298: ingo@298: * src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java, ingo@298: src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java, ingo@298: src/main/java/de/intevation/gnv/chart/HorizontalProfileChart.java: ingo@298: Classes for creating charts of different output transitions, inherit from ingo@298: AbstractXYLineChart. The subclasses should only implement special code. ingo@298: General configurations should be done in AbstractChart or ingo@298: AbstractXYLineChart. ingo@298: ingo@298: TODO: Take care of gaps between two values. ingo@298: ingo@297: 2009-11-19 Ingo Weinzierl ingo@297: ingo@297: * src/main/java/de/intevation/gnv/chart/Chart.java: Interface, which ingo@297: declares basic method to create charts and export it in different formats. ingo@297: ingo@297: * src/main/java/de/intevation/gnv/chart/AbstractChart.java, sascha@330: src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Abstract ingo@297: chart classes which declare basic methods for chart creation and implement ingo@297: general methods used by subclasses. ingo@297: ingo@297: 2009-11-19 Ingo Weinzierl ingo@297: ingo@297: * src/main/java/de/intevation/gnv/utils/DistanceCalculator.java: Declared a ingo@297: method as static, which can be used without instantiating an object of its ingo@297: class. ingo@297: ingo@295: 2009-11-17 Ingo Weinzierl ingo@295: ingo@295: * pom.xml: Changed version of JFreeChart from 1.0.12 to 1.0.13 and added ingo@295: dependency of JCommon 1.0.15, which is used by JFreeChart. ingo@295: sascha@330: NOTE: The JFreeChart 1.0.13 jar has to be installed on your own for the ingo@295: time the central maven repository is broken. ingo@295: ingo@294: 2009-11-17 Ingo Weinzierl ingo@294: ingo@294: * pom.xml: Changed version of JFreeChart from 1.0.7 to 1.0.12, which ingo@294: includes the template mechanism to configure the style of charts. ingo@294: ingo@294: NOTE: JFreeChart 1.0.13 is the newest release, but the maven repository ingo@294: does not contain a pom.xml file. Created an issue on ingo@294: (http://jira.codehaus.org/browse/MEV-647). ingo@294: ingo@261: 2009-11-16 Ingo Weinzierl ingo@261: ingo@261: * bin/run.sh: Added start-script to version control. ingo@261: hans@260: 2009-11-13 Hans Plum hans@260: hans@260: * RELEASE 0.2: hans@260: Summarized activities in NEWS, Changes hans@260: hans@259: 2009-11-13 Hans Plum hans@259: hans@259: * ChangeLog: hans@259: Unified style of ChangeLog descriptions refering to issues. hans@259: tim@256: 2009-11-13 Tim Englich tim@256: tim@258: * doc/conf/products/timeseries/conf_timeseriespoint.xml: sascha@330: Moved Comment according to Instantiationerrors loading Artifact. tim@258: tim@258: 2009-11-13 Tim Englich sascha@330: tim@257: * doc/conf/log4j.properties,, tim@257: doc/conf/conf.xml, tim@257: doc/conf/arcsdeconnectionpool.properties, sascha@330: doc/conf/products/timeseries/conf_timeseriespoint.xml: tim@257: Added Documentation of Configuration-Files. tim@257: tim@257: 2009-11-13 Tim Englich sascha@330: tim@256: * doc/conf/products/verticalcrosssection/conf_mesh.xml, tim@256: doc/conf/products/horizontalcrosssection/conf_mesh.xml: tim@256: Removed statistics as possible out-Variant from Configuration tim@256: according to TG_0030.061 sascha@330: sascha@330: * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_out_statistics.xml, sascha@330: src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_out_statistics.xml, sascha@330: src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalCrossSectionMeshArtifact), sascha@330: (testVerticalCrossSectionMeshArtifact): tim@256: Removed Statistics-Test on This Artifact-Test because no Statistic is required tim@256: for this Producttyp. sascha@330: hans@259: * src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/ sascha@330: HorizontalCrossSectionMeshOutputTransition.java (createCSV): tim@256: No Statistics for this Output is required. sascha@330: sascha@330: * src/main/java/de/intevation/gnv/statistics/HorizontalCrossSectionStatistics.java: tim@256: Removed becaus the Statistics for ths product is not required. tim@256: tim@253: 2009-11-12 Tim Englich tim@253: sascha@330: * src/main/java/de/intevation/gnv/statistics/HorizontalCrossSectionStatistics.java (calculateXOrdinateValue), sascha@330: src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java (calculateXOrdinateValue), sascha@330: src/main/java/de/intevation/gnv/statistics/VerticalProfileStatistics.java (calculateXOrdinateValue), tim@255: src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java : sascha@330: Added the previous Row to the Method for calculating the GAP between sascha@330: those Rows. Also added Calculation of the Distance between two Points in tim@255: HorizontalProfileStatistic and returning the Depth in VerticalProfileStatistics. tim@255: Also added the Metjod clearStatistics to restet the Object if an new Calculation sascha@330: will started. tim@255: tim@255: 2009-11-12 Tim Englich sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (extractKVP): tim@254: Translated "Keine Auswahl" to "No Selection" according to the Specification that sascha@330: the primary Language is english. Please note that the Values that are currently sascha@330: displaied are almost in german. sascha@330: tim@254: 2009-11-12 Tim Englich sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (writeStatistics2XML): sascha@330: Changed XML-Syntaxt according to the new Structure of StatisticValues. tim@253: (out): sascha@330: Changed Call of calculateStatistics according to the new Methodsignature. sascha@330: sascha@330: * src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java, sascha@330: src/main/java/de/intevation/gnv/statistics/VerticalProfileStatistics.java. tim@253: src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java, sascha@330: src/main/java/de/intevation/gnv/statistics/Statistics.java: tim@253: Extended Methods calculateStatistics to put Lable-Values into the tim@253: Calculation. Now for each Group of Statistics is it possible sascha@330: to calclulate a separat name which is simmilar to the name of tim@253: the Diagramm-Series-Name. sascha@330: Also the Representation of the Statistics has changed so each Group tim@253: will be stored in one StatisticSet sascha@330: tim@253: * src/main/java/de/intevation/gnv/statistics/StatisticSet.java: tim@253: Bean for Storing the Statistic to one Group and also storing the sascha@330: Name of the Statistic. tim@253: tim@251: 2009-11-11 Tim Englich tim@251: hans@259: Issue 19: Validation of max. min value order hans@259: sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (putInputData): tim@252: Added Validation if a given maxvalue is greater than a given minvalue issue19 sascha@330: * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid): tim@252: Added new Method for validating if a maxvalue is greater than a minvalue. issue19 sascha@330: tim@252: 2009-11-11 Tim Englich hans@259: hans@259: Issue 81: Keeping input values in coordinate input fields hans@259: sascha@330: * src/main/java/de/intevation/gnv/transition/describedata/DefaultSingleValueDescribeData.java sascha@330: (setValue), src/main/java/de/intevation/gnv/transition/describedata/SingleValueDescribeData.java: sascha@330: Added setValue-Method sascha@330: for setting the Value which was sent back to the Server using the feed-request. issue81 sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (getDescribeData): tim@251: Added SingleValueDescribeData to the method for storing InputValues for tim@251: Describeoutput issue81 sascha@330: tim@250: 2009-11-11 Tim Englich tim@250: tim@250: * src/main/java/de/intevation/gnv/transition/describedata/MinMaxDescribeData.java, sascha@330: src/main/java/de/intevation/gnv/transition/describedata/DefaultMinMaxDescribeData.java: tim@250: Added getName and added Constants for minValue and maxValue Id to tim@250: enable the storage of this Values which would be put using the tim@250: feed command. sascha@330: tim@250: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe): tim@250: Changed the usage of the Name of the MinMaxTransition from getMinName to getName. sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/MinMaxTransition.java (purifyResult): tim@250: Changed the Constructor of MinMaxTransition according to API-Changes of tim@250: DefaultMinMaxDescribeData sascha@330: tim@249: 2009-11-11 Tim Englich tim@249: hans@259: Issue 76: Improving XML config documents hans@259: tim@249: * doc/conf/products/verticalprofile/conf_mesh.xml, tim@249: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml, tim@249: doc/conf/products/verticalcrosssection/conf_mesh.xml, tim@249: doc/conf/products/timeseries/conf_mesh.xml, tim@249: doc/conf/products/horizontalprofile/conf_mesh.xml, sascha@330: doc/conf/products/horizontalcrosssection/conf_mesh.xml: tim@249: Removed unnecessary characters 'v' from the Documents. issue76 tim@249: tim@247: 2009-11-10 Tim Englich tim@247: tim@248: * src/main/resources/lang/artifactMessages_*.properties: tim@248: Added Ressources for the AreaFilter Ids areaid and subareid tim@248: tim@248: 2009-11-10 Tim Englich hans@259: hans@259: Issue 68: Improving ODV Export sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (TIMESERIES_ODV_PROFILE_NAMES): tim@247: Sort Columns to the given order of the ODV-Specification sascha@330: and added the Columns DATAVALUE and PARAMETER to the output tim@247: according to issue68 hans@259: sascha@330: * doc/conf/queries.properties: sascha@330: Changed Column-alias in Query for HorizontalProfile ODV-Exports in Meshes tim@247: from PARAMETERID to PARAMETER to be able to use in only on ODV-Export-Profile tim@247: tim@242: 2009-11-10 Tim Englich tim@242: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalCrossSectionMeshArtifact): tim@246: Added the ODV-Export to the Unit-Testcase for VerticalCrossSection-Mesh. sascha@330: Some Refactoring Work done. sascha@330: * doc/conf/products/verticalcrosssection/conf_mesh.xml: sascha@330: Added QueryID for ODV-Exports to the Configuration of an tim@246: Mesh-VerticalCrossSection-Artifacts sascha@330: * doc/conf/queries.properties: tim@246: Added Query for VerticalCrossSection ODV-Exports in Meshes. tim@246: * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_feed.xml: tim@246: Changed Datevalue, because the old value was out of range to the Data. sascha@330: * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_08_out_odv.xml: sascha@330: Added Out-Request for ODV-Export to the JUnitTest Configuration for tim@246: VerticalCrossSection Mesh. tim@246: tim@246: 2009-11-10 Tim Englich sascha@330: tim@245: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalCrossSectionMeshArtifact): tim@245: Added the ODV-Export to the Unit-Testcase for HorizontalCrossSection-Mesh. sascha@330: Some Refactoring Work done. sascha@330: * doc/conf/queries.properties: tim@245: Added Query for HorizontalCrossSection ODV-Exports in Meshes. sascha@330: * doc/conf/products/horizontalcrosssection/conf_mesh.xml: sascha@330: Added QueryID for ODV-Exports to the Configuration of an tim@245: Mesh-HorizontalCrossSection-Artifacts sascha@330: * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_feed.xml: tim@245: Changed Datevalue, because the old value was out of range to the Data. sascha@330: * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_06_out_odv.xml: sascha@330: Added Out-Request for ODV-Export to the JUnitTest Configuration for tim@245: HorizontalCrossSection Mesh. tim@245: tim@245: 2009-11-10 Tim Englich hans@260: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileInstantaneousPointArtifact): tim@244: Added the ODV-Export to the Unit-Testcase for HorizontalProfile-InstantaneousPoint. tim@244: Some Refactoring Work done. sascha@330: * src/test/ressources/horizontalProfile_instantaneouspoint/horizontalprofile_step_06_out_odv.xml: sascha@330: Added Out-Request for ODV-Export to the JUnitTest Configuration for tim@244: HorizontalProfiles InstantaneousPoint. sascha@330: * doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml: sascha@330: Added QueryID for ODV-Exports to the Configuration of an tim@244: InstantaneousPoint-HorizontalProfile-Artifacts tim@244: * doc/conf/queries.properties: tim@244: Added Query for HorizontalProfile ODV-Exports in InstantaneousPoint tim@244: tim@244: 2009-11-10 Tim Englich sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalProfileInstantaneousPointArtifact): tim@244: Added the ODV-Export to the Unit-Testcase for VerticalProfile-InstantaneousPoint. tim@243: Some Refactoring Work done. sascha@330: * doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: sascha@330: Added QueryID for ODV-Exports to the Configuration of an tim@243: InstantaneousPoint-VerticalProfile-Artifacts sascha@330: * doc/conf/queries.properties: tim@243: Added Query for VerticalProfile ODV-Exports in InstantaneousPoint tim@243: * src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_out_odv.xml: tim@243: Added Out-Request for ODV-Export to the JUnitTest Configuration for VerticalProfiles InstantaneousPoint. tim@243: tim@243: 2009-11-10 Tim Englich sascha@330: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileMeshPointArtifact): tim@242: Added the ODV-Export to the Unit-Testcase for HorizontalProfile-Mesh. tim@242: Some Refactoring Work done. sascha@330: * doc/conf/products/horizontalprofile/conf_mesh.xml: sascha@330: Added QueryID for ODV-Exports to the Configuration of an tim@242: Mesh-HorizontalProfile-Artifacts sascha@330: * doc/conf/queries.properties: tim@242: Added Query for HorizontalProfile ODV-Exports in Meshes sascha@330: * src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_10_out_odv.xml: tim@242: Added Out-Request for ODV-Export to the JUnitTest Configuration for HorizontalProfiles Mesh. sascha@330: * src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_02_feed.xml: tim@242: BugFix: Changed missspelled Input-Name tim@242: tim@241: 2009-11-09 Tim Englich tim@241: sascha@330: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (TIMESERIES_ODV_PROFILE_NAMES): tim@241: Changed the Order of Columnlookup for ODV-Exports and added column "Depth" to the Export sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testTimeSeriesMeshArtifact): tim@241: Added the ODV-Export to the Unit-Testcase for TimeSeries-Mesh. tim@241: Some Refactoring Work done. sascha@330: * doc/conf/queries.properties: tim@241: Added Query for VerticalProfile ODV-Exports in Meshes sascha@330: * doc/conf/products/verticalprofile/conf_mesh.xml: sascha@330: Added QueryID for ODV-Exports to the Configuration of an tim@241: Mesh-VerticalProfile-Artifacts sascha@330: * src/test/ressources/verticalprofile_mesh/verticalprofile_step_10_out_odv.xml, sascha@330: src/test/ressources/verticalprofile/verticalprofile_step_06_out_odv.xml: tim@242: Added Out-Request for ODV-Export to the JUnitTest Configuration for VerticalProfiles. sascha@330: tim@240: 2009-11-09 Tim Englich tim@240: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testTimeSeriesMeshArtifact): hans@259: Added the ODV-Export to the Unit-Testcase for TimeSeries-Mesh. hans@259: Some Refactoring Work done. hans@259: hans@259: * src/test/ressources/timeseries_mesh/timeseries_step_08_out_odv.xml: hans@259: Added Out-request for ODV-Export to the JUnitTest Configuration for TimeSeries Mesh. hans@259: sascha@330: * doc/conf/products/timeseries/conf_mesh.xml: hans@259: Added QueryID for ODV-Exports to the Configuration of an Mesh-TimeSeries-Artifacts hans@259: hans@259: * doc/conf/queries.properties: Added Query for TimeSeries ODV-Exports in Meshes hans@259: ingo@239: 2009-11-09 Ingo Weinzierl ingo@239: ingo@239: * src/main/java/de/intevation/gnv/exports/Export.java ingo@239: src/main/java/de/intevation/gnv/exports/DefaultProfile.java ingo@239: src/main/java/de/intevation/gnv/exports/DefaultExport.java: Added the ingo@239: possibility to print column labels in the first line of an export. ingo@239: ingo@239: * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, ingo@239: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@239: Adjusted instantiation of the DefaultExport object and added column labels ingo@239: for odv export. ingo@239: ingo@238: 2009-11-09 Ingo Weinzierl ingo@238: ingo@238: * src/main/java/de/intevation/gnv/exports/SimpleOdvDataCollector.java: ingo@238: Implemented a DataCollector for Odv exports. ingo@238: ingo@238: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@238: OEV-export uses a SimpleOdvDataCollector to collect export data. ingo@238: ingo@235: 2009-11-09 Ingo Weinzierl ingo@235: ingo@235: * src/main/java/de/intevation/gnv/exports/ShapeDataCollector.java, ingo@235: src/main/java/de/intevation/gnv/exports/HorizontalProfileDataCollector.java: ingo@235: Renamed HorizontalProfileDataCollector into ShapeDataCollector, because it ingo@235: will be used by other transitions as well. ingo@235: ingo@235: * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java: ingo@235: Adjusted class name of DataCollector after renaming. ingo@235: ingo@234: 2009-11-09 Ingo Weinzierl ingo@234: ingo@234: * src/main/java/de/intevation/gnv/exports/HorizontalProfileDataCollector.java: ingo@234: Special DataCollector for fetching data used for horizontal profile ingo@234: exports. ingo@234: ingo@234: * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java: ingo@234: Uses the an exporter for csv export. ingo@234: ingo@233: 2009-11-09 Ingo Weinzierl ingo@233: ingo@233: * src/main/java/de/intevation/gnv/exports/Export.java, ingo@233: src/main/java/de/intevation/gnv/exports/DefaultDataCollector.java: sascha@330: Implemented a DataCollector to collect all data used to create exports. sascha@330: DefaultCollector fetches data with help of its headers. For special sascha@330: exports, where a header returns more than one value, special ingo@233: DataCollectors needs to be implemented (overwritung the 'getData' method). ingo@233: ingo@233: * src/main/java/de/intevation/gnv/exports/DefaultProfile.java, ingo@233: src/main/java/de/intevation/gnv/exports/DefaultExport.java: Export now ingo@233: uses a DataCollector to get the data. ingo@233: ingo@233: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: sascha@330: Adjusted exports of csv export. ingo@233: tim@232: 2009-11-09 Tim Englich tim@232: sascha@330: * doc/conf/queries.properties: sascha@330: Added SQLStatemenet for ODV-Data for VerticalProfiles tim@237: on TimeSeriesPoints. sascha@330: * doc/conf/products/verticalprofile/conf_timeseriespoint.xml: tim@237: Added QueryID for ODV-Data-Query sascha@330: tim@237: 2009-11-09 Tim Englich sascha@330: tim@232: * src/test/ressources/timeseries/timeseries_step_06_out_*.xml: tim@232: Added the missing out-Modes to the Testcase and rename it to sascha@330: the common used way in this TestCases. sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testTimeSeriesArtifact): tim@232: Added the ODV-Export to the Unit-Testcase. tim@232: Some Refactoring Work done. sascha@330: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out): tim@232: The Method for generating ODV-Export now reads its Data from tim@232: the special Method which delivers the adapted Data. sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (generateFilterValuesFromInputData): tim@232: Extracted the Generation of the FilterValues for the geo-backend tim@232: to use it in several methods. sascha@330: * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java (getODVResult): sascha@330: Added Method for getting the rquired Data for ODV-Exports sascha@330: * doc/conf/products/timeseries/conf_timeseriespoint.xml: sascha@330: Added separat QueryID Lookup for ODV-Data-Queryies sascha@330: * doc/conf/queries.properties: sascha@330: DB-Queries for ODV-Support TimeSeries on TimeSeriesPoints added. tim@232: ingo@230: 2009-11-06 Ingo Weinzierl ingo@230: ingo@230: * src/main/java/de/intevation/gnv/exports, ingo@230: src/main/java/de/intevation/gnv/exports/Export.java, ingo@230: src/main/java/de/intevation/gnv/exports/DefaultProfile.java, ingo@230: src/main/java/de/intevation/gnv/exports/DefaultExport.java: Implemented an ingo@230: Exporter for odv and csv exports. Each exports just needs a Profile, which sascha@330: describes the output. ingo@230: ingo@230: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: ingo@230: Added an exemplary export for CSV and ODV formats of ingo@230: TimeSeriesOutputTransition. ingo@230: ingo@230: TODO: ODV exporter exports the same data as CSV exporter does. This needs ingo@230: to be adapted. ingo@230: tim@229: 2009-11-06 Tim Englich tim@229: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java: ingo@230: Added and moved Workflowsteps because of changes in the Workflow of these Artifacts. ingo@230: Now the Region-Filter is added to the Workflow an can be tested using ingo@230: this UnitTestCases. ingo@230: sascha@330: * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_*.xml, ingo@230: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_*.xml, ingo@230: src/test/ressources/timeseries/timeseries_step_*.xml, ingo@230: src/test/ressources/timeseries_mesh/timeseries_step_*.xml, ingo@230: src/test/ressources/verticalprofile/verticalprofile_step_*.xml, ingo@230: src/test/ressources/verticalprofile_mesh/verticalprofile_step_*.xml: ingo@230: Added and moved Files because of changes in the Workflow of these Artifacts. ingo@230: Now the Region-Filter is added to the Workflow an can be tested using ingo@230: the UnitTestCases. ingo@230: ingo@228: 2009-11-06 Ingo Weinzierl ingo@228: ingo@228: * doc/conf/products/horizontalcrosssection/conf_mesh.xml, ingo@228: doc/conf/products/timeseries/conf_mesh.xml, ingo@228: doc/conf/products/timeseries/conf_timeseriespoint.xml, ingo@228: doc/conf/products/horizontalprofile/conf_mesh.xml, ingo@228: doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml, ingo@228: doc/conf/products/verticalprofile/conf_mesh.xml, ingo@228: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, ingo@228: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: Added odv ingo@228: as output format. ingo@228: tim@226: 2009-11-06 Tim Englich tim@226: sascha@330: * src/main/java/de/intevation/gnv/chart/ChartFactory.java (calculateMaxGap): sascha@330: Bugfix Gap-Calculation moved maxGap into negative Valies because of tim@226: overflow of Long-Variable. tim@226: tim@222: 2009-11-05 Tim Englich tim@222: sascha@330: * doc/conf/queries.properties: tim@224: Query to select only those TimeSeriesPoints tim@224: which are within an Region sascha@330: sascha@330: * doc/conf/products/timeseries/conf_timeseriespoint.xml, sascha@330: doc/conf/products/verticalprofile/conf_timeseriespoint.xml: sascha@330: Added the RegionFilters into the configuration of the Products hans@260: for TimeSeriesPoints. tim@224: tim@224: 2009-11-05 Tim Englich hans@259: sascha@330: * doc/conf/queries.properties: tim@223: Added new Queries to fill the Lists for the tim@223: Regionfilters and one Query to select only those Meshes tim@224: which are within an Region. sascha@330: sascha@330: * doc/conf/products/verticalprofile/conf_mesh.xml, sascha@330: doc/conf/products/verticalcrosssection/conf_mesh.xml, sascha@330: doc/conf/products/timeseries/conf_mesh.xml, sascha@330: doc/conf/products/horizontalprofile/conf_mesh.xml, tim@223: doc/conf/products/horizontalcrosssection/conf_mesh.xml: tim@223: Added the RegionFilters into the configuration of the Products tim@223: for Meshes. tim@223: tim@223: 2009-11-05 Tim Englich hans@259: tim@222: * src/test/ressources/*_describe.xml: tim@222: Added the DescribeRequestBodies to each TestCaseData. sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java: tim@222: Added the DescribeRequestBody to Describe-Calls in the Test sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java: tim@222: Added the possibility to switch to an alternative Transition if no value was choosen. sascha@330: sascha@330: * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid): tim@222: Added that the Inputvalue is valid if it fullfills the confitions of "no value choosen" (n/n) sascha@330: sascha@330: * src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java (calculateXOrdinateValue): tim@222: Added Dummyvalue for X-OrdinateValue tim@222: src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java (describe), sascha@330: src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java (describe), tim@222: src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java (describe), sascha@330: src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java (describe), tim@222: src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java (describe), tim@222: src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (describe), sascha@330: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (createDescibeOutput): tim@222: Added the possibility to exclude the UI from the DescribeRequest. tim@222: tim@221: 2009-11-03 Tim Englich tim@221: sascha@330: * src/main/java/de/intevation/gnv/chart/ChartFactory.java (getTimeGapValue): sascha@330: Integrated special case for TimeGaps in Meshes. There is no Gap defined in sascha@330: Meshes so we have to use Long.MAXVALE to define a Gap for a Mesh which value tim@221: canno be reached. tim@221: tim@220: 2009-11-02 Tim Englich tim@220: sascha@330: * src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java sascha@330: (createCSV): Code Cleanup: Removed obsoled TODO Flag sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (setSelection): sascha@330: Changed the Value of the min and maxvalue of the Request to the Value which is unsed to name tim@220: the Inputfields in the DescribeOutput. hans@259: tim@220: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java, sascha@330: src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java, tim@220: src/main/java/de/intevation/gnv/transition/Transition.java, sascha@330: src/main/java/de/intevation/gnv/transition/SingleInputTransition.java, sascha@330: src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java, sascha@330: src/main/java/de/intevation/gnv/transition/MinMaxTransition.java, sascha@330: src/main/java/de/intevation/gnv/transition/DefaultTransition.java, sascha@330: src/main/java/de/intevation/gnv/transition/CoordinateSelectionTransition.java, tim@220: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (advance), sascha@330: CodeCleanup: Removed needless Method validate from Transition, tim@220: because it had always returned true sascha@330: tim@218: 2009-10-30 Tim Englich tim@218: tim@219: * src/test/ressources/horizontalcrosssection_mesh/horizontalcrosssection_step_*.xml: tim@219: Added the Testdata for the Unittest for HorizontalCrossSectionMeshArtifacts. tim@219: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalCrossSectionMeshArtifact): tim@219: Added the UnitTest-Case for HorizontalCrossSectionMeshArtifacts sascha@330: tim@219: 2009-10-30 Tim Englich hans@259: sascha@330: * doc/conf/queries.properties: tim@218: Added the Query for selecting the Data for generating Outputs of tim@218: HorizontalCrossSectionMeshOutputTransition sascha@330: * doc/conf/products/horizontalcrosssection/conf_mesh.xml: tim@218: Added the configuration for the HorizontalCrossSectionMeshOutputTransition tim@218: * src/main/java/de/intevation/gnv/transition/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputTransition.java: tim@218: Added the OutputTransition for generating /HorizontalCrossSections. tim@218: * src/main/java/de/intevation/gnv/statistics/HorizontalCrossSectionStatistics.java: tim@218: The Class for generating the Statistics to HorizontalCrossSections sascha@330: * src/main/java/de/intevation/gnv/chart/HorizontalCrossSectionChartFactory.java: tim@218: The Class Stub for generating HorizontalCrossSections Charts. tim@218: tim@217: 2009-10-29 Tim Englich tim@217: hans@259: Issue 45: Defining gaps for spatial and temporal gaps hans@259: tim@217: * doc/conf/products/timeseries/timegap_definition.xml, tim@217: doc/conf/products/timeseries/conf_timeseriespoint.xml: tim@217: Added the Configuration for TimeGaps to the TimeSeries-Configurations. issue45 sascha@330: sascha@330: * doc/conf/queries.properties: tim@217: Added TimeGapIp to the Queries for the Resultdata of TimeSeriesArtifacts. issue45 sascha@330: tim@217: * src/main/java/de/intevation/gnv/timeseries/gap/DefaultTimeGap.java, sascha@330: src/main/java/de/intevation/gnv/timeseries/gap/TimeGap.java, sascha@330: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (setup): sascha@330: src/main/java/de/intevation/gnv/chart/ChartFactory.java (calculateMaxGap): tim@217: Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issue45 sascha@330: sascha@330: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, sascha@330: src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java (readConfiguration): tim@217: Moved Method from GNVArtifactBase to make it assesible for more Objects. issue45 tim@217: tim@215: 2009-10-28 Tim Englich tim@215: hans@259: * src/main/java/de/intevation/gnv/profile/horizontalcrosssection/ hans@259: HorizontalCrossSectionMeshArtifact.java (HorizontalCrossSectionMeshArtifact), hans@259: doc/conf/queries.properties, doc/conf/conf.xml, sascha@330: doc/conf/products/horizontalcrosssection/conf_mesh.xml, hans@259: src/main/resources/lang/artifactMessages* .properties: hans@259: Added Workflow for determining the Query-Parameters for Horizontal cross-sections. sascha@330: tim@216: 2009-10-28 Tim Englich hans@259: sascha@330: * doc/conf/conf.xml: tim@215: Added Configuration for two new FIS. Current Meter and Ice Station Reports hans@259: sascha@330: * src/main/resources/lang/artifactMessages*.properties: tim@215: Added Ressources for two new FIS. Current Meter and Ice Station Reports tim@215: tim@213: 2009-10-27 Tim Englich tim@213: hans@259: * doc/conf/conf.xml: tim@215: Added Configuration for two new FIS. Sea State and SEACAT hans@259: sascha@330: * src/main/resources/lang/artifactMessages*.properties: tim@215: Added Ressources for two new FIS. Sea State and SEACAT sascha@330: tim@214: 2009-10-27 Tim Englich hans@259: hans@259: Issue 61: Vertical profile (Meshes): Selection of minimal and maximal hans@259: depths zones hans@259: sascha@330: * src/main/resources/lang/artifactMessages*.properties: tim@213: Added Ressources for the minimal and maximal Layer to use in VerticalProfiles of Meshes issue61 hans@259: sascha@330: * doc/conf/products/verticalprofile/conf_mesh.xml: tim@213: Added two new Transitions for selecting the min and max-Layer to use. issue61 hans@259: sascha@330: * doc/conf/queries.properties: tim@213: Added Queries for Selecting the Depth for selecting the minimum and the maximum Layer to use tim@213: Drawing the Chart. issue61 hans@259: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalProfileMeshArtifact): sascha@330: Integrated two further Transitions-Steps according to changes in Workflow of tim@213: VerticalProfiles in Meshes. issue61 hans@259: tim@213: * src/test/ressources/verticalprofile_mesh/verticalprofile_step_*.xml: tim@213: New Testdata generated according to changes in Workflow of VerticalProfiles in Meshes. issue61 tim@213: tim@211: 2009-10-26 Tim Englich tim@211: hans@259: Issue 31: TG_0020.018: Input of manual depth zones hans@259: sascha@330: * src/main/resources/lang/artifactMessages_de_DE.properties: tim@212: Added Ressources for the minimal and maximal value of the depth hans@259: tim@211: * src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_out_statistics.xml (renamed), tim@211: src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_out_csv.xml (renamed), sascha@330: src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_out_chart.xml(renamed), sascha@330: src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_05_feed.xml, sascha@330: src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_04_advance.xml, tim@211: src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_03_advance.xml, sascha@330: src/test/ressources/verticalprofile/verticalprofile_step_05_out_statistics.xml(renamed), sascha@330: src/test/ressources/verticalprofile/verticalprofile_step_05_out_csv.xml(renamed), sascha@330: src/test/ressources/verticalprofile/verticalprofile_step_05_out_chart.xml(renamed), sascha@330: src/test/ressources/verticalprofile/verticalprofile_step_05_feed.xml, sascha@330: src/test/ressources/verticalprofile/verticalprofile_step_04_advance.xml, sascha@330: src/test/ressources/verticalprofile/verticalprofile_step_03_advance.xml, sascha@330: src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java: tim@211: Edited the RestCases for VerticalProfiles according to the requirement that sascha@330: the user should be able to enter the minimal and maximal Value of the depth that tim@211: should be show n in the charts. issue31 hans@259: sascha@330: * doc/conf/queries.properties, sascha@330: doc/conf/products/verticalprofile/conf_timeseriespoint.xml, tim@211: doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: tim@211: Adding required Configuration-Parts to get the possible to enter the minmum tim@211: and maximum depth value that should be shown in the charts. issue31 tim@211: tim@206: 2009-10-23 Tim Englich tim@206: tim@210: * src/test/ressources/timeseries_mesh/timeseries_step_07_feed.xml: sascha@330: The Timeperiod of the Modeldata has changed. so it was nessessarry to change sascha@330: the Unittest to get propper Results tim@210: tim@210: 2009-10-23 Tim Englich sascha@330: tim@209: * doc/conf/queries.properties: tim@210: Some Queryimproofments done. Inner-Selects has been removed where it was possible. sascha@330: hans@259: 2009-10-23 Tim Englich hans@259: hans@259: Issue 3: Artifact: Storing the internal state instead of results sascha@330: sascha@330: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, sascha@330: src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java (describe), sascha@330: src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java (describe), tim@208: src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java (describe), tim@208: src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java (describe): sascha@330: Use super.identifier as uuid. issue3 sascha@330: hans@259: 2009-10-23 Tim Englich hans@259: tim@207: * src/test/ressources/verticalprofile/verticalprofile_step_04_feed.xml, sascha@330: src/test/ressources/verticalprofile/verticalprofile_step_03_advance.xml, tim@207: src/test/ressources/verticalprofile/verticalprofile_step_04_out_*.xml, sascha@330: src/test/ressources/timeseries_mesh/timeseries_step_07_out_*.xml, tim@207: src/test/ressources/horizontalProfile_instantaneouspoint/horizontalprofile_step_06_out_*.xml: sascha@330: Changed the uuid because the new Storage shows that there were different ones in one Testcase sascha@330: tim@207: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: sascha@330: Put the UUID into the Resultlookup sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java: tim@207: Removed the Storage of Results in the Object and put them into the ehcache hans@259: sascha@330: * src/main/java/de/intevation/gnv/transition/Transition.java: tim@207: Removed some needless Methods that were not longer Required sascha@330: hans@259: * src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java hans@259: (advance), src/main/java/de/intevation/gnv/transition/SingleInputTransition.java hans@259: (purifyResult), src/main/java/de/intevation/gnv/transition/MinMaxTransition.java hans@259: (purifyResult), src/main/java/de/intevation/gnv/transition/CoordinateSelectionTransition.java hans@259: (extractKVP), src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java hans@259: (describe), src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java hans@259: (describe), src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java hans@259: (describe), src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java hans@259: (describe), src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (uuid): sascha@330: Lookup the Results from ehcache and centralize the Lookup to one methode. tim@207: tim@207: 2009-10-23 Tim Englich hans@259: sascha@330: * doc/conf/queries.properties: tim@206: Optimized Query horizontalprofile_instantaneouspoint_cruise because it is not warranted tim@206: that the name of an cruise is set. issue60 tim@206: tim@204: 2009-10-22 Tim Englich tim@204: hans@259: * src/main/java/de/intevation/gnv/transition/CoordinateSelectionTransition.java hans@259: (extractKVP): Added the possiblility to fetch an further Column with hans@259: the alias Value to display it together with the Coordinatevalues hans@259: sascha@330: * doc/conf/queries.properties: tim@205: Added the Coordinates to an Measuementpoint to display it. hans@259: tim@205: * doc/conf/products/verticalprofile/conf_instantaneouspoint.xml: hans@259: Change TransitionType for displaying Coordinatevalues aditionaly to sascha@330: the Time of an Measurement hans@259: tim@205: 2009-10-22 Tim Englich hans@259: hans@259: Issue 40: Instantiation of artifacts slow hans@259: hans@259: * doc/conf/conf.xml, doc/conf/products/*/conf_*.xml: tim@204: Split the Configuration of the ArtifactDatabase in several Configurationfiles. hans@259: For Each Product-Artifact one single File to make it easier to administer the System. hans@259: tim@204: * src/main/java/de/intevation/gnv/transition/TransitionFactory.java (createTransition), tim@204: src/main/java/de/intevation/gnv/transition/TransitionBase.java (setup), tim@204: src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java (setup), sascha@330: src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (setup): sascha@330: Lookup of XML-Attributes was changed from XPath-lookup to direct hans@259: Access on the fetched Element to speed up the Artifactinstantiation issue40 hans@259: sascha@330: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (getConfigurationFragment): hans@259: Read Configuration information for the Productartifact from a separat folder if an xlink:href tim@204: Attribute exists in tne Configurationnode of the Artifact. tim@204: This was inserted to speed up the Artifactinstantiation and to split the Configuration tim@204: in several Configurationfiles that where smallaer issue40 sascha@330: Also the lookup of XML-Attributes was changed from XPath-lookup to direct tim@204: Access on the fetched Element tim@204: tim@201: 2009-10-21 Tim Englich tim@201: hans@259: Issue 59: Added relative pathnames to central config document hans@259: sascha@330: * doc/conf/conf.xml: sascha@330: Added relative locations for further required configurationfiles . issue59 tim@203: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java (createArtifactContext): sascha@330: Added the prossibility to configure the location of required configurationfiles not absolute. issue59 sascha@330: tim@203: 2009-10-21 Tim Englich sascha@330: sascha@330: * doc/conf/arcsdeconnectionpool.properties: tim@203: Added separat ConnectionPoolProperties to this Project. sascha@330: * doc/conf/*: tim@203: Moved ConfigurationFiles from src/test/ressources to doc/conf sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (configurationDir): tim@201: Changed Configuration Folder to doc/conf tim@201: tim@198: 2009-10-20 Tim Englich tim@198: hans@259: * doc/conf: hans@259: Added Folder for the Configuration of the gnv-artifacts. hans@259: tim@197: 2009-10-20 Tim Englich tim@197: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalCrossSectionMeshArtifact): tim@197: Added Testcase for testing the Workflow for generating VerticalCrossSections. sascha@330: * src/test/ressources/queries.properties: tim@197: Added the required Queries for providing VerticalCrossSection using Meshes. sascha@330: * src/test/ressources/conf.xml: tim@197: Added the Configuration for an VerticalCrossSection using Meshes. sascha@330: * src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_step_*.xml: tim@197: Adding Requestdocuments for testing the Workflow of Generating an VerticalCrossSection. tim@197: * src/main/java/de/intevation/gnv/transition/profile/verticalcrosssection/VerticalCrossSectionOutputTransition.java : tim@197: Added an OutputTransition for renedering the Data of VerticalCrossSections. sascha@330: * src/main/java/de/intevation/gnv/profile/verticalcrosssection/VerticalCrossSectionMeshArtifact.java: tim@197: Added Class for the Representation of VerticalCrossSection Artifacts into the Project. tim@197: * src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChartFactory.java (createProfileChart): tim@197: Put Class-Sub for the Chart generation of VerticalCrossSections into the Project. tim@197: tim@197: 2009-10-20 Tim Englich hans@259: hans@259: Issue 54: Errors in diagramms for time series in IMIS sascha@330: sascha@330: * src/test/ressources/queries.properties: hans@259: Bugfix for TIMESERIESPOINT the first and the last value weren't used hans@259: in the Query which was integrated from the Prototyp to the Project hans@259: ussue54 sascha@330: tim@190: 2009-10-19 Tim Englich tim@190: hans@259: Issue 55: Harmoization of coordinate values for input fields hans@259: sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe): tim@195: Added uniform Visualization of Single Input-Elements to MinMax-Elements. issue55 sascha@330: tim@195: 2009-10-19 Tim Englich hans@259: hans@259: Issue 56: Error - Behavior of a form without constraint values hans@259: tim@194: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (feed): sascha@330: Catch Exception that the Calling Program could not put no InputData sascha@330: into the feed Request.issue56 tim@194: tim@194: 2009-10-19 Tim Englich hans@259: hans@259: Issue 19: Validation of date and double values sascha@330: tim@193: * src/main/java/de/intevation/gnv/chart/ChartFactory.java (createDataset), tim@193: src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java (createDataset): tim@193: Adding empty Series into Chart to prevent NPE issue 19 sascha@330: tim@193: 2009-10-19 Tim Englich hans@259: hans@259: Issue 35: Wrong date values force the panel to start from beginning hans@259: sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (putInputData): tim@192: Correct misspelled Exception-Message as an Result of fixing issue35 sascha@330: hans@259: 2009-10-19 Tim Englich hans@259: hans@259: Issue 50: Adding the layer number for depth information hans@259: sascha@330: * src/test/ressources/queries.properties: sascha@330: Changed the Value of Layer and Depth range visualization of Meshes tim@191: according to issue50 sascha@330: tim@191: 2009-10-19 Tim Englich hans@259: hans@260: Issue 47: Translation of strings for time series hans@259: sascha@330: * src/main/resources/lang/artifactMessages*.properties: tim@190: Changed the displayed-Values as defined in issue47 sascha@330: * src/test/ressources/conf.xml: sascha@330: Changed the Key for the DataName of MIN-Max-Transitions to put a propper Name tim@190: into the UI-Describeoutput issue47 sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe): tim@190: Added the X-Forms-Group-Element to surround the MinMaxDescibeObject-output to Give the tim@190: Group of Objects a propper Name issue47 sascha@330: * src/main/java/de/intevation/gnv/transition/MinMaxTransition.java (purifyResult): tim@190: Added the name of the Data to the MinMaxDescibeObject to put it into the UI-output tim@190: tim@189: 2009-10-16 Tim Englich tim@189: hans@259: Issue 53: Changing of strings in parameter panel hans@259: sascha@330: * src/test/ressources/timeseries_mesh/timeseries_step_05_feed.xml: sascha@330: src/test/ressources/conf.xml: sascha@330: src/main/resources/lang/artifactMessages*.properties: tim@189: Conformation to the tanslation of the MeshObjects issue53 tim@189: tim@187: 2009-10-16 Tim Englich tim@187: hans@259: Issue 49: Integration of FIS to Meshes hans@259: sascha@330: * src/test/ressources/queries.properties: tim@188: There are different FIS in the Relation Median.Mesh so it is tim@188: nessessary to sepcify which FIS should be selected by using the sourceid tim@188: issue49 sascha@330: * src/test/ressources/conf.xml: tim@188: Adding two further FIS to the Configuration which are based on Meshes. tim@188: Added the Sourceid to the ModelData issue49 tim@188: * src/main/resources/lang/artifactMessages*.properties: tim@189: Adding the Names of the two new FIS to the Propertiesfiles issue49 tim@188: tim@188: 2009-10-16 Tim Englich sascha@330: sascha@330: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java (createXYSeries): tim@187: Adding 5% bigger Valuearea to the Chart according to GT0030.011 hans@259: tim@180: 2009-10-16 Tim Englich tim@180: sascha@330: * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java (VerticalProfileOutputTransition): sascha@330: Changed Domainlable for Verticalprofiles according to the Specification GT_0030.005 sascha@330: * src/test/java/de/intevation/gnv/artifacts/util/DistanceCalculatorTestCase.java (testDistanceCalculator): tim@185: Added Testcase for the DistanceCalculation sascha@330: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java (createXYSeries): sascha@330: * src/main/java/de/intevation/gnv/utils/DistanceCalculator.java (calculateDistance): tim@186: Added Calculation of the Distance in the unit km for Geodetic-Coordinates according to the Specification GT_0030.005 sascha@330: * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java (HorizontalProfileOutputTransition): tim@186: Changed Domainlable for Horizintalprofiles according to the Specification GT_0030.005 sascha@330: tim@185: 2009-10-16 Tim Englich sascha@330: tim@184: * src/test/ressources/queries.properties: tim@184: The Levelnumber of Meshes will also be visualized in the choose of depth GT_0020.0020 tim@184: tim@184: 2009-10-16 Tim Englich sascha@330: sascha@330: * src/test/ressources/conf.xml: tim@183: Added Coordinate-Values to Title of the TimeseriesDiagramm for Meshes sascha@330: tim@183: 2009-10-16 Tim Englich sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java (putInputData): tim@182: Bugfix ChartValues were not Recalculated after feed was called second Time. sascha@330: tim@182: 2009-10-16 Tim Englich sascha@330: sascha@330: * src/test/ressources/conf.xml: tim@181: Bugfix in MinMaxTransition the Maxvalue was not the correct Value. sascha@330: hans@259: 2009-10-16 Tim Englich hans@259: hans@259: Issue 38: Horizontal profiles: Visualization of distances in km tim@182: sascha@330: * src/main/java/de/intevation/gnv/transition/CoordinateSelectionTransition.java (convert2DisplayCoordinate): tim@180: Added Transformation from WKT-Coordinate Reperesentation to BSH-Coordinate Representation. issue38 tim@180: tim@179: 2009-10-15 Tim Englich tim@179: sascha@330: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java, sascha@330: src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java, sascha@330: src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java, hans@259: src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, hans@259: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java, sascha@330: src/test/ressources/queries.properties, src/test/ressources/conf.xml: hans@259: Added missing Class Description Values to the Horizontal Profile Charts sascha@330: tim@177: 2009-10-15 Tim Englich tim@177: sascha@330: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (getFisName): tim@178: Added Method for lookup FIS Names sascha@330: * src/main/resources/lang/artifactMessages*.properties: tim@178: Added further Key-Value-Pairs for FIS sascha@330: * src/test/ressources/conf.xml: tim@178: Changed Configuratioon to get the ID of an FIS to the Chartgeneration sascha@330: tim@178: 2009-10-15 Tim Englich sascha@330: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileMeshPointArtifact): tim@177: Activate Tests for CSV and Statistics on HorizontalProfiles sascha@330: hans@260: * hans@260: src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java hans@260: (createCSV), hans@260: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java hans@260: (createCSV): sascha@330: Integrated special CSV-Export for HorizontalProfiles tim@177: tim@176: 2009-10-14 Tim Englich tim@176: tim@176: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java (createXYSeries): tim@176: Load WKT from ResultSet and calculate Distance to last point. sascha@330: * src/test/ressources/queries.properties: tim@176: Switch Chart-Queries to Spatial-Queries. tim@176: tim@175: 2009-10-13 Tim Englich tim@175: hans@259: Issue 33: Improved logging for time-interval queries hans@259: tim@175: * src/test/ressources/queries.properties, tim@175: src/test/ressources/conf.xml: tim@175: Added Parameter-Usage in Time-Interval-Query ISSUE-33 tim@175: tim@174: 2009-10-13 Tim Englich tim@174: sascha@330: * src/test/ressources/verticalprofile_mesh/verticalprofile_step_*_feed.xml, sascha@330: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_*_feed.xml: sascha@330: Switched to Szenario where it is possible to select Data using the Coordinate. tim@174: * src/test/ressources/conf.xml, tim@174: src/test/ressources/queries.properties: hans@260: Switched to SFS-Conformant-Queries in HorzintalProfile- and VerticalProfile-Mesh hans@260: tim@173: 2009-10-13 Tim Englich tim@173: sascha@330: * src/main/resources/lang/artifactMessages_*.properties: hans@259: Switched to better Description of an Coordinate-Input-Field hans@259: hans@259: * src/test/ressources/timeseries_mesh/timeseries_*_feed.xml: hans@259: Switched to Szenario where it is possible to select Data using the Coordinate. hans@259: sascha@330: * src/test/ressources/queries.properties, src/test/ressources/conf.xml: hans@259: Switched to SFS-Conformant-Queries in Timeseries-Mesh hans@259: sascha@330: * pom.xml: hans@259: Added dependency to JTS 1.9 hans@259: sascha@330: * src/main/java/de/intevation/gnv/utils/exception/ValidationException.java hans@259: (ValidationException), src/main/java/de/intevation/gnv/utils/InputValidator.java hans@259: (getPointValue), src/main/java/de/intevation/gnv/transition/TransitionBase.java hans@259: (prepareInputData4RegionDBQuery): hans@259: Added the Support for specialized Handling of InputValues of type Coordinate. hans@259: hans@259: * src/main/java/de/intevation/gnv/transition/CoordinateSelectionTransition.java: hans@259: Added Transition for the Support of Coordinateinput handling. hans@259: sascha@172: 2009-10-12 Sascha L. Teichmann sascha@172: sascha@172: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java: sascha@172: Closed small file descriptor leak. sascha@172: tim@171: 2009-10-09 Tim Englich tim@171: tim@171: * src/main/java/de/intevation/gnv/**/*.java Edited: tim@171: Code Formatting and Cleanup. sascha@330: tim@170: 2009-10-09 Tim Englich tim@170: tim@170: * src/test/ressources/queries.properties Edited: tim@170: Add Parameters to the Queries to select only the Dates where sascha@330: the Parameters has been measured. tim@170: * src/test/ressources/conf.xml Edited: sascha@330: Set that the ParameterIds should be used in the Query of the Dates. tim@170: sascha@126: 2009-10-07 Sascha L. Teichmann sascha@126: sascha@126: RELEASE 0.1 sascha@126: sascha@126: * Changes, NEWS: Summarized changes. sascha@126: tim@123: 2009-10-06 Tim Englich tim@123: tim@125: * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java (HorizontalProfileOutputTransition) Edited : tim@125: Switch Lable-Value for Domain-Axis. tim@123: * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java (getRessource) Edited: sascha@330: Added missing Import tim@123: * src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java (advance) Edited: sascha@330: Added i18n Support tim@123: * src/main/resources/lang/artifactMessages*.properties Edited: sascha@330: Added some missing RessourceValues tim@123: sascha@122: 2009-10-06 Sascha L. Teichmann sascha@122: sascha@122: * src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_04_out_csv.xml, sascha@122: src/test/ressources/conf.xml, sascha@122: src/test/ressources/timeseries_mesh/timeseries_step_07_out_csv.xml, sascha@122: src/test/ressources/verticalprofile_mesh/verticalprofile_step_06_out_csv.xml, sascha@122: src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_08_out_csv.xml, sascha@122: src/test/ressources/verticalprofile/verticalprofile_step_04_out_csv.xml: sascha@122: s@test/plain@text/plain@g to correct MIME type of CSV export sascha@122: sascha@121: 2009-10-06 Sascha L. Teichmann sascha@121: sascha@121: * src/main/java/de/intevation/gnv/artifacts/ressource/*.properties: sascha@121: Deleted. sascha@121: sascha@121: * src/main/resources/lang/*.properties: Re-inserted here. Maven now sascha@121: includes them in the jar package. sascha@121: sascha@121: * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java: sascha@121: Make code more robust. TODO: We need a better implementation here. sascha@121: sascha@121: * Changelog -> ChangeLog: To make eclipse happy. Unified changelog style. sascha@121: sascha@121: * pom.xml: xmllint-ed and set encoding of filtered resources to UTF-8 sascha@121: sascha@121: 2009-10-06 Tim Englich sascha@121: sascha@121: * src/test/ressources/queries.properties Edited: sascha@121: Bugfix in Query for getting Data for the Output. sascha@121: Now the Values will be sorted Correcly. Timevalue sascha@121: has been removed from the Query because it is not a sascha@121: Parameter which could be choosen from the User. sascha@330: Also dummies for XCOORD-Value and YCOORD-Value integrated so sascha@121: that is now Possible to visualize the Profile sascha@121: gnv/issue21 sascha@121: sascha@121: 2009-10-05 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/artifacts/ressource/artifactMessages*.properties Edited: sascha@330: Added further Ressourec Values. sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalProfileInstantaneousPointArtifact) Edited: sascha@330: Changed ArtifactName to real FIS. sascha@121: * src/test/ressources/timeseries_mesh/timeseries_step_01_feed.xml Edited: sascha@330: Changed Product-Name from timeSeriesMesh to timeSeries to provide a General-Naming-Structure sascha@121: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (setup) Edited, sascha@121: src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java Edited, sascha@121: src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java Edited: sascha@330: Added Configurationsupport for the Labeling Data. Now it is possible do define the sascha@330: value-names in the Configurationfile. sascha@330: * src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_03_feed.xml Edited, sascha@330: src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_02_feed.xml Edited, sascha@330: src/test/ressources/queries.properties Edited: sascha@121: Changed the Queries for the VerticalProfileInstantaneusPoint to the FIS-Query Mode. sascha@121: This Mode was send by Mr. Schulz-Ohlberg. sascha@330: * src/test/ressources/conf.xml: sascha@121: Changed the Workflow for the VerticalProfileInstantaneusPoint to the FIS-Query Mode. sascha@121: This Mode was send by Mr. Schulz-Ohlberg. sascha@121: Also Added the support for value-names to the Configuration of VerticalProfileInstantaneusPoint. sascha@121: sascha@121: 2009-10-05 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/artifacts/ressource/artifactMessages_en.properties Renamed: sascha@121: Renamed from artifactMessages_en_EN.properties to artifactMessages_en.properties to get a sascha@121: propper support for PreferedLocale sascha@330: * src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java (getRessource) Edited, sascha@121: * src/test/java/de/intevation/gnv/artifacts/ressource/RessourceFactoryTestCase.java (setUp) Edited, sascha@121: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe) Edited, sascha@121: * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (createSelectBox) Edited: sascha@121: Changed Method Signature from Locale to PreferedLocale[] to put all Useable Languages to sascha@121: the RessourceFactory sascha@330: sascha@121: 2009-10-02 Tim Englich sascha@121: sascha@330: * src/test/java/de/intevation/gnv/artifacts/ressource/RessourceFactoryTestCase.java Added: sascha@121: TestCase for Testing the RessourceFactory sascha@330: sascha@330: * src/main/java/de/intevation/gnv/artifacts/ressource/artifactMessages*.properties Added, sascha@330: src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java Added: sascha@121: Added Factory and Propertiesfiles for getting the localized Values sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited, sascha@121: src/main/java/de/intevation/gnv/transition/Transition.java Edited, sascha@121: src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java Edited, sascha@121: src/main/java/de/intevation/gnv/transition/OutputTransition.java Edited, sascha@121: src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Edited, sascha@121: src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java Edited, sascha@330: src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java Edited, sascha@330: src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Edited, sascha@330: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: sascha@121: LanguageSupport Integrated sascha@330: sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (createCallContext) Edited: sascha@121: Extracted Method and Put CallMeta with Language German to the CallContext. Otherwise sascha@330: TestCase will produce NPEs. sascha@121: * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java Edited: sascha@121: Added Real CallMeta to the Method for usage in Artifacts. Otherwise sascha@330: TestCase will produce NPEs. sascha@330: * src/test/ressources/horizontalProfile_mesh/horizontalprofile_step_02_feed.xml Edited, sascha@330: src/test/ressources/timeseries_mesh/timeseries_step_02_feed.xml Edited, sascha@330: src/test/ressources/verticalprofile_mesh/verticalprofile_step_02_feed.xml Edited, sascha@121: src/test/ressources/conf.xml Edited: sascha@330: Changed som Identifiers for Localisation. sascha@121: sascha@121: 2009-10-02 Tim Englich sascha@121: sascha@121: * src/test/ressources/conf.xml Edited: sascha@121: Added the Configuration of the Horizontal-Profile.Mesh. sascha@121: Also Edited the Workflowq for HorizontalProfile-Instantaneouspoint and sascha@121: Put three n ew FIS into the Configuration which represents HorizontalProfile-Instantaneouspoint. sascha@330: * src/test/ressources/horizontalProfile_instantaneouspoint/*.xml Edited, sascha@121: src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileInstantaneousPointArtifact) Edited: sascha@121: Edited the Workflowlogic given by new Specification of the BSH. sascha@121: * src/test/ressources/horizontalProfile_mesh/*.xml Added: sascha@121: The Request for do an Workflow for an HorizontalProfile-Mesh sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileMeshPointArtifact) Edited: sascha@121: Added TestCase for HorizontalProfiles of Type Mesh. sascha@121: * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java (getMeta) Edited: sascha@330: Added new Method which is defined in the implemented Interface. sascha@121: * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid) Edited: sascha@121: Added the Validation of InputValues from Type AttributeName which should represent sascha@121: an QueryValue of Type String which must not put into "'". sascha@121: * src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java Added: sascha@330: Transition to provide the possibility of choosing the axis of an Grid that should be used. sascha@121: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (dataMultiSelect) Edited: sascha@330: Changed from private to protected so that this mMeber could be accessed by within extending Classes. sascha@121: * src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileMeshArtifact.java Added: sascha@121: Class for the Representation of Horizontal Profiles for the Type Mesh. sascha@121: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java (HorizontalProfileChartFactory) Edited: sascha@330: Changed PlotOrientation so that the Profile is displayed correctly. sascha@121: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (advance) Edited: sascha@330: Added Log-Message for better Workflowanalyzis. sascha@330: sascha@121: 2009-10-01 Sascha L. Teichmann sascha@121: sascha@121: * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java, sascha@121: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, sascha@121: src/main/java/de/intevation/gnv/utils/ArtifactFactoryUtilities.java, sascha@121: src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java, sascha@121: src/main/java/de/intevation/gnv/transition/MinMaxTransition.java, sascha@121: src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java, sascha@121: src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java: sascha@121: Removed needless imports. sascha@121: sascha@121: * src/main/java/de/intevation/gnv/utils/InputValidator.java: sascha@121: Import org.apache.commons.validator.GenericValidator instead of sascha@121: absolute usage in methods. sascha@121: sascha@121: 2009-09-30 Tim Englich sascha@121: sascha@121: * src/test/ressources/queries.properties Edited: sascha@121: Added the Queries for HorizontalProfiles of InstantaneousPoints. sascha@121: * src/test/ressources/conf.xml Edited: sascha@121: Added the Configuration for HorizontalProfilArtifact for InstantaneousPoints sascha@121: * src/test/ressources/horizontalProfile_instantaneouspoint/*.xml Added: sascha@121: Added XML-Requests for the TestCase of HorizontalProfiles of InstantaneousPoints. sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testHorizontalProfileInstantaneousPointArtifact) Edited: sascha@121: Added TestCase for HorizontalProfiles of InstantaneousPoints. sascha@330: sascha@121: 2009-09-30 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid) Edited: sascha@330: Added the Validation for Double-Values. sascha@121: * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java (createChart) Edited: sascha@330: The Name of the Method for generaing Charts has changed. sascha@121: * src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java Added: sascha@330: New outputTransition for HorizontalProfiles sascha@121: * src/main/java/de/intevation/gnv/statistics/HorizontalProfileStatistics.java Added: sascha@330: Class which calculates the Statistics for Horizontal Profiles. sascha@330: * src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileInstantaneousPointArtifact.java Added, sascha@121: * src/main/java/de/intevation/gnv/profile/horizontal/HorizontalProfileArtifact.java Added: sascha@330: Classes which represents HorizontalProfileArtifacts sascha@121: * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java (plotOrientation) Edited: sascha@330: Added Member for the representation of the Plotorientation to overwrite it in sascha@121: extende Classes sascha@330: Rename Method for generatim the Charts in a common Name. sascha@121: * src/main/java/de/intevation/gnv/chart/HorizontalProfileChartFactory.java Added: sascha@121: Class for drawing Horzontal Profiles sascha@330: sascha@121: 2009-09-30 Sascha L. Teichmann sascha@121: sascha@121: * src/test/ressources/conf.xml: s@test/xml@text/xml@g sascha@121: sascha@121: 2009-09-29 Tim Englich sascha@121: sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (doNextStep) Edited: sascha@330: Add Responsevalidation for feed-Requests. sascha@121: * pom.xml Edited: sascha@121: Add required Library ORO to the Dependencies which is required by Commons-Validator sascha@121: to do matchRegexp Requests. sascha@121: * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid) Edited: sascha@330: Add a Validator for the type Point sascha@121: * src/test/ressources/conf.xml Edited: sascha@121: Changed mesh_coordinate from type Integer to type Point sascha@330: sascha@121: 2009-09-29 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java (findValueTitle): sascha@121: Key of KeyValueDescribeData is a String. So it is not nessessary to parse the sascha@121: id into an Integer Value. sascha@121: Also some NP-Access removed. sascha@330: sascha@121: 2009-09-29 Tim Englich sascha@121: sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited: sascha@121: Some Coderedundances refactored. sascha@330: sascha@121: 2009-09-29 Tim Englich sascha@121: sascha@121: * src/test/ressources/queries.properties Edited: sascha@330: Bug fixed: Mesh TimeSeries will now Handle Charts with multiple Depth-Values properly. sascha@330: sascha@121: 2009-09-29 Tim Englich sascha@121: sascha@121: * src/test/ressources/timeseries_mesh/*.xml Added : sascha@330: TestCaseRequests for Timeseries FIS Mesh sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testTimeSeriesMeshArtifact) Edited: sascha@330: Add Testcase for Timeseries Mesh sascha@330: sascha@121: 2009-09-29 Tim Englich sascha@121: sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (check4ExceptionReport) edited: sascha@121: ExceptionTest for Responsdocuments added. sascha@121: UnitTest will now fail if the Artifact delivers an ExceptionReport using the advance Request. sascha@330: sascha@121: 2009-09-29 Tim Englich sascha@121: sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalProfileMeshArtifact) Edited: sascha@330: Added TestCase for Vertical Profiles for Mesh sascha@121: * src/test/ressources/verticalprofile_mesh/*.xml Added: sascha@330: TestCaseRequests for VerticalProfile FIS Mesh sascha@330: sascha@121: 2009-09-29 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/utils/InputValidator.java (isInputValid) Edited: sascha@330: Bugfix: Remove leading- and trailingwhitspaces from Date- and Integervalues sascha@330: sascha@121: 2009-09-29 Tim Englich sascha@121: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testVerticalProfileArtifact): sascha@121: (testVerticalProfileInstantaneousPointArtifact) Edited: sascha@330: Added Testcases for VerticalProfile and VerticalProfile Instantaneouspoint sascha@121: * src/test/ressources/verticalprofile_instantaneouspoint/*.xml Added: sascha@121: TestCaseRequests for VerticalProfile Instantaneouspoint sascha@121: * src/test/ressources/verticalprofile/*.xml Added: sascha@121: TestCaseRequests for VerticalProfile FIS Marnet sascha@330: sascha@121: 2009-09-29 Tim Englich sascha@121: sascha@121: * src/test/ressources/queries.properties Edited: sascha@330: Remove to_date from TimeSeries-Quueries becaus of Changes in the conf.xml-File sascha@121: * src/test/ressources/conf.xml Edited: sascha@330: Correct Types for min- and max-Values from Integer to Date sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java (testTimeSeriesArtifact) Edited: sascha@330: Add CallContext to the Tests. sascha@121: * src/test/java/de/intevation/gnv/artifacts/TestCallContext.java Add: sascha@121: A CallContext used only in Junit-Tests sascha@330: sascha@121: 2009-09-29 Tim Englich sascha@121: sascha@330: * pom.xml Edited: sascha@121: Added the dependency to Apache-Commons-Validator Version 1.3.1 which is sascha@121: used for the InputValoue-validation. sascha@330: * src/main/java/de/intevation/gnv/utils/InputValidator.java Added : sascha@121: An InputValidator for Validating InputValues. sascha@121: At this Moment only Integer, String and Date is supported. sascha@121: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (putInputData) Edited: sascha@121: Add the InputValidator to validate the incomming Values from the Clients. sascha@330: sascha@121: 2009-09-28 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/chart/ChartFactory.java (createTimeSeries) Edited: sascha@121: Performanceimprovement: The Loop will be interrupted if the Pointer is bigger than the sascha@121: last Pointer of the Value that must be visualised. sascha@330: sascha@121: 2009-09-28 Tim Englich sascha@121: sascha@121: * pom.xml Edited: sascha@121: Added the Dependeny to the ehcache-Library sascha@121: * src/test/ressources/ehcache.xml Added: sascha@330: The ehcache-Configuration. sascha@121: * src/test/ressources/conf.xml Edited: sascha@330: Added the Link to the ehcache-Configuration. sascha@121: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java (createArtifactContext) Edited: sascha@330: Added the Initialisation of the CacheManager. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/artifacts/cache/CacheFactory.java Added: sascha@330: An Fractoryimplementation for the central access to the Cache. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/transition/MinMaxTransition.java (purifyResult) Edited, sascha@330: * src/main/java/de/intevation/gnv/transition/SingleInputTransition.java (purifyResult) Edited, sascha@121: * src/main/java/de/intevation/gnv/transition/Transition.java Edited, sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited, sascha@330: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: sascha@330: Signature of Methods purifyResults, advanced and feed Changed to put the uuid to the Transition sascha@121: * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java (createChart) Edited: sascha@121: Methodsignatur of getChartResult change for putting the uuid of an Artifact into it sascha@330: * src/main/java/de/intevation/gnv/transition/OutputTransition.java (out) Edited, sascha@121: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out) Edited: sascha@330: Method Signature Changed for putting the uuid of an Artifact to the Transition. sascha@330: stored sascha@121: * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java Edited: sascha@330: removed the persitence of the Chartresults and put them into an Cache instance. sascha@330: sascha@121: 2009-09-28 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (getStatisticsGenerator) Edited: sascha@121: Extracted the Instantiation of the Statistics-object to an protected Methode sascha@330: to make it possible that extending Classes could change it. sascha@121: * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java (getStatisticsGenerator) Edited: sascha@121: Overwrite getStatisticsGenerator to instantiate the VerticalProfileStatistics- sascha@121: * src/main/java/de/intevation/gnv/statistics/VerticalProfileStatistics.java Added: sascha@121: Class for Calculating Statistics for VerticalProfiles- The Only thing whisch differs to sascha@330: TimeSeriesStatists is that the XoordinateValue is an double and not an Date-Value sascha@121: * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java (calculateXOrdinateValue) Edited: sascha@121: Added the Methode calculateXOrdinateValue to this Class to switch is Values in extending Classes. sascha@121: * src/main/java/de/intevation/gnv/statistics/Statistics.java (calculateStatistics) Edited: sascha@121: Added methodsignature to Interface for usage in different Implementations of Statistics. sascha@330: sascha@121: 2009-09-28 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java (calculateStatistics) Edited: sascha@121: Bug fixed. Now all Values will be used to calculate the Statistics sascha@330: sascha@121: 2009-09-28 Tim Englich sascha@121: sascha@121: * src/test/ressources/conf.xml Edited : sascha@121: Changed the Output-format of Statistics from text/plain to text/xml. sascha@330: sascha@121: 2009-09-28 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java Edited: sascha@121: Moved the calculating-Methods from the Conmstructor to an separat Method. sascha@330: Switched the ResultContainer from Array to Collection sascha@121: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out) Edited: sascha@121: Added the Output-Variante for generating Statistics sascha@121: sascha@121: 2009-09-28 Tim Englich sascha@121: sascha@330: * pom.xml Edited: sascha@121: Added Link to Apache-Commons-Math to get the required Classes for the calculation sascha@121: of Statistics. sascha@121: * src/main/java/de/intevation/gnv/statistics/exception/StatisticsException.java Added: sascha@330: Specified ExceptionClass for the Statistics Part of the gnv-artifacts sascha@121: * src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java Edited: sascha@330: Remove compileErrors and switch to new Datastructure sascha@121: sascha@121: 2009-09-28 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/statistics/Statistic.java Added , sascha@330: src/main/java/de/intevation/gnv/statistics/Statistics.java Added , sascha@121: src/main/java/de/intevation/gnv/statistics/TimeseriesStatistics.java Added: sascha@330: Imported Statistics-Classes from old Project. Revision: 3101 Does not compile sascha@330: sascha@121: 2009-09-25 Tim Englich sascha@121: sascha@121: * src/test/ressources/conf.xml Edited: sascha@121: Added with and height Inputparameter to each Chart-OutputMode. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out) Edited: sascha@121: Added the usage of the Parameters revieved from the client for the ChartRendering sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/DefaultInputValue.java (DefaultInputValue) (getDefaultValue) Edited , sascha@121: src/main/java/de/intevation/gnv/transition/InputValue.java (getDefaultValue) Edited: sascha@121: Added the Method getDefaultValue to the Interface for getting the sascha@121: deafultvalue of an Parameter. sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/DefaultOutputMode.java Edited, sascha@121: src/main/java/de/intevation/gnv/transition/OutputMode.java (getInputParameters) Edited: sascha@330: Added the Method getInputParameters to the OutputMode for Handling the required Parameters sascha@330: of an OutputMode. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/transition/OutputTransition.java (out) Edited: sascha@330: Put the InputParameter recived from the Client to the Methodsignature so that sascha@330: they can be used during the outputprocessing. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java Edited: sascha@330: Read rquired Outputparameters from the Configuration sascha@330: sascha@121: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: sascha@330: Added support for Parameters in OutputNode of Describe-Artifact sascha@330: sascha@121: 2009-09-24 Tim Englich sascha@121: sascha@121: * pom.xml Edited: sascha@330: Added Library for CSV-Support sascha@121: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out) Edited: sascha@330: Add support for CSV-Export sascha@121: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (out) Edited: sascha@330: Add Fag on Context for storing the Artifact status after out. sascha@330: sascha@121: 2009-09-24 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java (createSuccessReport) Edited: sascha@330: Added a centraL Method for creating an Successreoprt. sascha@330: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited, sascha@330: src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Edited: sascha@121: Add ResultReporting to the different Metshods of an Artifact sascha@330: sascha@121: 2009-09-24 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java Edited: sascha@330: Obsolet TODOs removed sascha@330: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited, sascha@330: src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Edited, sascha@121: src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited: sascha@330: Create Exception Report added sascha@121: * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java (createExceptionReport) Edited: sascha@330: Method for creating Exceptionreports added. sascha@330: sascha@121: 2009-09-24 Tim Englich sascha@121: sascha@121: * src/test/ressources/queries.properties Edited: sascha@121: Queries formatted so that they can be analysed and extended easier. sascha@330: Some Bugs removed sascha@330: sascha@121: 2009-09-24 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java Edited, sascha@121: src/main/java/de/intevation/gnv/chart/ChartLabels.java Edited, sascha@121: src/main/java/de/intevation/gnv/chart/ChartFactory.java Edited: sascha@121: Removed obsolet Parameters an Methods. sascha@330: Use the ChartLable to put the DomainAxisLable into the Chart. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java Edited: sascha@121: Some more Loggingoutput integrated. sascha@121: Some Performanceimprovements done. The ResultData will only be refreshed if sascha@121: the InputValues has changed. sascha@121: Some Refactoring Work done. Move some Members into from extending Classes sascha@121: into this implementation. sascha@330: * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java Edited, sascha@121: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Edited: sascha@330: Dummywerte fuer Diagrammgenerierung durch Echtwerte ersetzt. sascha@330: Obsolete Uebergabeparameter entfernt. sascha@330: sascha@121: 2009-09-23 Tim Englich sascha@121: sascha@121: * src/test/ressources/queries.properties Edited: sascha@330: Statements for InstantaneousPoint Vertical Profiles added sascha@121: * src/test/ressources/conf.xml Edited: sascha@121: Configuration for Vertikal Profiles for InstantaneousPoints added sascha@121: * src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileInstantaneousPointArtifact.java (VerticalProfileInstantaneousPointArtifact) Added: sascha@330: New Artifact-Class Reperesenting Artifacts for InstantaneousPoints Creating VerticalProfiles added. sascha@330: sascha@121: 2009-09-23 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (prepareInputData4DateDBQuery) Edited: sascha@121: Bug Fixed, now all Inputvalues of String and Date will be put into the Query sascha@330: sascha@121: 2009-09-23 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java (createXYSeries) Edited: sascha@330: Bug fixed. Now all Values will be Renderd to the Chart sascha@121: * src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileMeshArtifact.java Added: sascha@121: Artifact-class for VerticalProfile Mesh added sascha@121: * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited: sascha@330: Support for StringQuieries and OracleDateQueries added sascha@330: * src/test/ressources/queries.properties Edited: sascha@121: Queries for VerticalProfile Mesh integrated sascha@121: * src/test/ressources/conf.xml Edited: sascha@121: Artifact for VerticalProfile Mesh integrated sascha@330: sascha@121: 2009-09-22 Tim Englich sascha@121: sascha@121: * src/test/ressources/queries.properties Edited: sascha@121: Added Queries for the Workfloe of collecting the sascha@330: required Information to generate a vertical Profile sascha@330: * src/test/ressources/conf.xml Edited: sascha@121: Added the Configuration of the VerticalProfileArtifact sascha@121: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (getCollection) Edited: sascha@330: Some Codrefactoring done for reuse of Functionality in extended Classes. sascha@121: * src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java Added: sascha@330: Outputtransition for the Support of VerticalPropfiles sascha@121: * src/main/java/de/intevation/gnv/transition/describedata/KeyValueDescibeData.java (getKey), sascha@330: src/main/java/de/intevation/gnv/transition/describedata/DefaultKeyValueDescribeData.java (getKey) Edietd, sascha@121: src/main/java/de/intevation/gnv/transition/TransitionBase.java (purifyResult) Edited: sascha@330: Change KEY-Attribute of KeyValueDescribeData from Integer to String for the required sascha@330: Representation of Date-KeyValue-Pairs sascha@121: * src/main/java/de/intevation/gnv/profile/vertical/VerticalProfileArtifact.java Added: sascha@330: ArtifactClass for the representation of VerticalProfiles sascha@121: * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (createSelectBox) Edited: sascha@330: Added support for selected Products in static UI. sascha@121: * src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java Added: sascha@330: Factory for producing VerticalCharts added. sascha@121: * src/main/java/de/intevation/gnv/chart/ChartFactory.java Edited: sascha@330: Names of Getter for Columns Changed. sascha@121: sascha@121: 2009-09-21 Tim Englich sascha@121: sascha@121: * src/test/ressources/queries.properties Edited: sascha@330: Queryie for TimeSeriesMesh added. sascha@330: * src/test/ressources/conf.xml Edited: sascha@121: New Artifact representing the TimeSeries-Mesh added to the Configuration. sascha@121: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Edited: sascha@330: Inputdata for the Chartgeneration will now be allocated by name and not by position in Transitionorder. sascha@330: * src/main/java/de/intevation/gnv/transition/describedata/SingleValueDescribeData.java Added, sascha@330: src/main/java/de/intevation/gnv/transition/describedata/DefaultSingleValueDescribeData.java Added, sascha@121: src/main/java/de/intevation/gnv/transition/SingleInputTransition.java Added: sascha@330: New Class for Representing a single Input Transition sascha@121: * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited: sascha@121: Added support of usage inputValues none or multiple times in Queries. sascha@121: Added support for SingleInputTransitions in Describe-Output sascha@330: * src/main/java/de/intevation/gnv/transition/InputValue.java Edited, sascha@121: src/main/java/de/intevation/gnv/transition/DefaultInputValue.java Edited: sascha@330: An InputValue now is possible to use none or multiple times in Queries. sascha@121: * src/main/java/de/intevation/gnv/timeseries/TimeSeriesMeshArtifact.java Added: sascha@330: ArtifactClass for the Representation of an Mesh-Timeseries-Artifact sascha@121: sascha@121: 2009-09-17 Tim Englich sascha@121: sascha@330: * src/test/ressources/conf.xml Edited: sascha@121: Database Cleanup Interval set to 5 minutes. sascha@330: sascha@121: 2009-09-17 Tim Englich sascha@330: * src/test/ressources/conf.xml Edited: sascha@121: Some structurechanges done. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java Edited: sascha@330: Fixed Bug supporting UTF-8 Documents properly. sascha@330: * src/main/java/de/intevation/gnv/transition/describedata/DefaultKeyValueDescribeData.java Edited, sascha@121: * src/main/java/de/intevation/gnv/transition/describedata/KeyValueDescibeData.java Edited, sascha@330: Added Methods for setting and getting the selection-state of this objects. sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/describedata/DefaultMinMaxDescribeData.java Edited, sascha@121: src/main/java/de/intevation/gnv/transition/describedata/MinMaxDescribeData.java Edited: sascha@121: Added setter for min an max-Values and getters an setters for minName and maxName sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/describedata/NamedCollection.java Added, sascha@121: src/main/java/de/intevation/gnv/transition/describedata/NamedArrayList.java Added: sascha@330: Collection ans an Implementation of this Collection for Storing Name of the Collection and if sascha@121: the Values in it are multiselectable. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/transition/TransitionBase.java : sascha@121: Static UI-Support and valid SelectionStorage added. sascha@330: I added also an imporvement of the multiselect Methods for Datasets sascha@121: * src/main/java/de/intevation/gnv/transition/MinMaxTransition.java Edited: sascha@121: Storage of changed Values added sascha@330: sascha@121: * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Edited: sascha@121: Static UI Support Added sascha@330: sascha@330: sascha@121: 2009-09-16 Tim Englich sascha@121: sascha@121: * src/test/ressources/conf.xml Edited, sascha@121: src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe) Edited, sascha@121: src/main/java/de/intevation/gnv/transition/InputValue.java (isMultiselect) Edited, sascha@121: src/main/java/de/intevation/gnv/transition/InputData.java (concartValue) Edited, sascha@330: src/main/java/de/intevation/gnv/transition/DefaultInputValue.java (isMultiselect) Edited, sascha@330: src/main/java/de/intevation/gnv/transition/DefaultInputData.java (concartValue)Edited, sascha@121: src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (createUserInterface) Edited, sascha@121: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (parseInputData) Edited: sascha@121: Added Multiselectsupport for InputValues sascha@330: sascha@121: 2009-09-16 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (setup) Edited: sascha@121: Bug Fixed because of Infrastructure Changes in the Artifact-Module sascha@330: sascha@121: * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited: sascha@121: Put only the last DescribeData to the UI-Output bnecause auf Renderingproblems in the Client sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/describedata/DefaultKeyValueDescribeData.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/describedata/DefaultMinMaxDescribeData.java Edited, sascha@121: src/main/java/de/intevation/gnv/transition/describedata/KeyValueDescibeData.java Edited: sascha@330: Made Interface Serializable, add UIDs to the Implementations of the Interface sascha@330: sascha@121: 2009-09-15 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (createUserInterface) Edited: sascha@330: Integrate UI-Representation for Describe into the FISArtifact. sascha@121: * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java (createXFormElement) Refactoring, sascha@330: src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe) Refactoring: sascha@121: Extract the Element-Creation of XForms Nodes into a Common Class to make them available for sascha@330: other Classes which have to create XForm-Fragments sascha@330: sascha@121: 2009-09-14 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/transition/Transition.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/InputData.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/OutputMode.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/InputValue.java Edited, sascha@121: src/main/java/de/intevation/gnv/artifacts/fis/product/Product.java Edited, sascha@330: src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/describedata/DescribeData.java Edited: sascha@121: Make the Interfaces Serializable to make them usable in the Artifactdatabase sascha@330: sascha@121: 2009-09-14 Tim Englich sascha@121: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/OutputTransition.java Edited , sascha@121: src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Edited, sascha@330: src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Edited, sascha@121: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: sascha@330: Refactoring Work depending on Infrastructurchanges in the Artifact-Module sascha@330: sascha@121: 2009-09-10 Tim Englich sascha@121: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited, sascha@330: src/test/ressources/timeseries/timeseries_step_01_feed.xml Edited, sascha@330: src/test/ressources/timeseries/timeseries_step_01_advance.xml Edited, sascha@121: src/test/ressources/conf.xml Edited: sascha@330: TestCase moced from TimeSeriesArtifact to FISArtifact. Used FIS: Marnet sascha@330: sascha@121: 2009-09-10 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java Added: sascha@330: Utilities-Class for some XML-Stuff that is only for gnv-artifacts sascha@330: sascha@121: * src/main/java/de/intevation/gnv/utils/ArtifactFactoryUtilities.java Added: sascha@330: Factory to Instantiiate an ArtifactFactory (TODO: Should be moved to Artifact-database) sascha@330: sascha@330: * src/main/java/de/intevation/gnv/artifacts/fis/product/Product.java Added, sascha@121: src/main/java/de/intevation/gnv/artifacts/fis/product/DefaultProduct.java Added: sascha@121: Interfcaedefinition and Defaultimplementation for the Representation of the different sascha@121: Products in an FIS. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Added: sascha@330: Artifact to Repersent an FIS. This Artifact is able to switch between different sascha@330: SubArtifacts for handling the different Products of an FIS. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: sascha@330: Refactoring Work done because of changes in the artifact-modules sascha@330: sascha@121: 2009-09-10 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited, sascha@121: src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Edited: sascha@121: Refactoringwork done because of changes in the artifact-module sascha@330: sascha@121: 2009-09-10 Tim Englich sascha@121: sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited: sascha@330: src/test/ressources/conf.xml Renamed: sascha@121: Project Structure changed in artifact-database. So we have to rename sascha@330: the Testconfigurationfile in conf.xml. sascha@121: sascha@121: * src/test/ressources/results Added: sascha@121: Integrated Folder for temporal storing Resultfiles of the TestCases sascha@330: sascha@121: * src/test/ressources/queries.properties Edited: sascha@121: Further Queries for Testcases integrated sascha@330: * src/test/ressources/timeseries/timeseries_step_05_out.xml Added, sascha@121: src/test/ressources/timeseries/timeseries_step_05_feed.xml Added: sascha@121: Integrated the last step of the TimeSeries-Workflow. sascha@121: Now the TestCase is able to render Charts. sascha@330: sascha@330: * src/test/ressources/timeseries/timeseries_step_04_feed.xml Edited, sascha@121: src/test/ressources/timeseries/timeseries_step_03_feed.xml Edited: sascha@121: Names of the feed-Parametes changed to the Syntax of BSH-Spelling sascha@330: sascha@121: 2009-09-09 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java: sascha@121: Chart Rendering completed with some Fixes to do sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java: sascha@121: Integrated usage of KeyValueDescibeData sascha@330: * src/main/java/de/intevation/gnv/transition/OutputTransition.java (getOutputModes): sascha@121: Errorhandling integrated sascha@330: * src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Edited, sascha@121: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: sascha@121: Refactored out-Method from Extending Class sascha@330: sascha@121: 2009-09-09 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/chart/exception/TechnicalChartException.java Added, sascha@121: src/main/java/de/intevation/gnv/chart/ChartFactory.java Edited: sascha@330: Refactoring of the ChartFactory so that it colud be use and it is possible to compile sascha@121: this class. sascha@330: sascha@330: * src/main/java/de/intevation/gnv/transition/describedata/KeyValueDescibeData.java Added, sascha@121: src/main/java/de/intevation/gnv/transition/describedata/DefaultKeyValueDescribeData.java Added: sascha@121: Added an new Representation of Describedata for Key Value Pairs using for the Parameter Lists sascha@330: of the Transitions an put it into the Chartgeneration sascha@330: sascha@121: 2009-09-09 Tim Englich sascha@121: sascha@121: * pom.xml Edited: sascha@121: Added JfreeChart Dependency to pom-file sascha@330: sascha@121: 2009-09-09 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/chart/Insets.java Added, sascha@330: src/main/java/de/intevation/gnv/chart/ChartStyle.java Added, sascha@330: src/main/java/de/intevation/gnv/chart/ChartLabels.java Added, sascha@121: src/main/java/de/intevation/gnv/chart/ChartFactory.java Added: sascha@121: Insert Chart-Classes from OLD-Repository Revision: 3101 Does not compile sascha@121: sascha@121: 2009-09-09 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Added: sascha@330: The specifed OutputTransition for the Product TimeSeries. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: sascha@121: Integration of the OutputModes in the DescriberesultDocument. sascha@330: sascha@121: * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java Added, sascha@121: src/main/java/de/intevation/gnv/transition/OutputTransition.java Added: sascha@330: The Interface and the abstract Basicimplementation of an Transition which sascha@121: can produce different outputs. sascha@121: sascha@330: * src/main/java/de/intevation/gnv/transition/DefaultOutputMode.java Added, sascha@121: src/main/java/de/intevation/gnv/transition/OutputMode.java Added: sascha@121: Interfacestructur and Defaultimplementation for the Representation of the sascha@121: Different OutputModes given in an Artifact. sascha@330: sascha@121: 2009-09-09 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/transition/TransitionBase.java (describe) Edited: sascha@330: Changed DateoutputFormat from German- to Anericanstyle sascha@330: sascha@121: 2009-09-09 Tim Englich sascha@121: sascha@330: * src/test/ressources/timeseries/timeseries_step_04_feed.xml Added, sascha@121: * src/test/ressources/timeseries/timeseries_step_04_advance.xml Added: sascha@330: Two more ArtifactCommands for the next Step in TimeSeriesArtifactTestCase sascha@121: * src/test/ressources/queries.properties Edited: sascha@121: New Queries for timeseries_timeinterval added. sascha@330: Also use KEY ,VALUE, MIN and MAX as Identifiers for the different Columns. sascha@330: * src/test/ressources/GNVArtifactsTestCase_Configuration.xml Edited, sascha@121: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited: sascha@330: Modified the TimeseriesArtifact and added one further TransitionStep sascha@121: sascha@121: 2009-09-09 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/transition/describedata/DefaultMinMaxDescribeData.java , sascha@121: * src/main/java/de/intevation/gnv/transition/describedata/MinMaxDescribeData.java, sascha@121: * src/main/java/de/intevation/gnv/transition/describedata/DescribeData.java Added: sascha@121: Interface Structure and Defaultimplementation for Representing DescribeData of an sascha@121: Transition added. In this Way we are able to switch between different Renderingmethods sascha@330: for descibe. sascha@121: * src/main/java/de/intevation/gnv/transition/MinMaxTransition.java Added: sascha@330: Added MinMaxTransition for representing Min-/Max-Value Results in a Tansition sascha@121: * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited: sascha@330: Integrated Min- / MAX-Value Support for Describe. Also done some Refactoring Work sascha@330: for easy creating Extensions of this Class. sascha@121: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: sascha@121: Userinterface Informations were integrated in the wrong Method. Now the sascha@330: Informations are put into the ui-Node sascha@121: sascha@121: 2009-09-08 Tim Englich sascha@121: sascha@330: * src/test/ressources/timeseries/timeseries_step_01_advance.xml Edited, sascha@330: src/test/ressources/timeseries/timeseries_step_01_feed.xml Edited, sascha@330: src/test/ressources/timeseries/timeseries_step_02_advance.xml Added, sascha@330: src/test/ressources/timeseries/timeseries_step_02_feed.xml Added, sascha@330: src/test/ressources/timeseries/timeseries_step_03_advance.xml Added, sascha@330: src/test/ressources/timeseries/timeseries_step_03_feed.xml Added, sascha@121: src/test/ressources/GNVArtifactsTestCase_Configuration.xml: Edited, sascha@330: src/test/ressources/queries.properties Added, sascha@330: src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited: sascha@121: TestCase implemented until Choosing the TimeInetval of an TimeSeries sascha@330: sascha@121: One Entry is Missing sascha@330: sascha@121: 2009-09-08 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/Transition.java Edited, sascha@121: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited, sascha@121: src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited, sascha@121: src/test/ressources/GNVArtifactsTestCase_Configuration.xml Edited, sascha@330: src/test/ressources/timeseries/timeseries_step_01_feed.xml Added , sascha@121: src/test/ressources/timeseries/timeseries_step_01_advance.xml Added : sascha@121: Artifact.advance initial implementiert sascha@330: sascha@121: 2009-09-08 Tim Englich sascha@121: sascha@121: * src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Edited, sascha@121: src/main/java/de/intevation/gnv/transition/DefaultInputData.java Added, sascha@121: src/main/java/de/intevation/gnv/transition/InputData.java Added, sascha@121: src/main/java/de/intevation/gnv/transition/exception/TransitionException.java Added, sascha@330: src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/Transition.java Edited, sascha@121: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: sascha@330: Funktionalitat Feed initial bereitgestellt. sascha@330: sascha@121: 2009-09-08 Tim Englich sascha@121: sascha@121: * src/test/ressources/GNVArtifactsTestCase_Configuration.xml, sascha@330: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java, sascha@330: src/main/java/de/intevation/gnv/transition/TransitionBase.java, sascha@121: src/main/java/de/intevation/gnv/transition/DefaultInputValue.java Edited: sascha@121: Required Inputelements integrated in BasicArtifact-Descibe-Output sascha@330: sascha@121: 2009-09-08 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/transition/DefaultInputValue.java Added, sascha@121: src/main/java/de/intevation/gnv/transition/InputValue.java Added, sascha@330: src/main/java/de/intevation/gnv/transition/TransitionBase.java Edited, sascha@330: src/main/java/de/intevation/gnv/transition/Transition.java Edited, sascha@121: src/test/ressources/GNVArtifactsTestCase_Configuration.xml Edited: sascha@330: Constructs for the required Inputvalues for an Transition created sascha@330: sascha@121: 2009-09-08 Tim Englich sascha@121: sascha@330: * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java, sascha@121: * src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java:, sascha@121: * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: Edited sascha@121: Added Output for Describe to the Artifactimplementation sascha@330: sascha@121: 2009-09-08 Tim Englich sascha@121: sascha@330: * src/test/ressources/GNVArtifactsTestCase_Configuration.xml, sascha@330: src/main/java/de/intevation/gnv/transition/Transition.java (getDescription), sascha@330: src/main/java/de/intevation/gnv/transition/TransitionBase.java (setup), (getDescription): sascha@121: Added Description to a Transition sascha@330: sascha@121: 2009-09-07 Tim Englich sascha@121: sascha@330: * src/test/ressources/GNVArtifactsTestCase_Configuration.xml, sascha@330: src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java: ADD sascha@121: TestClass for GNV-Artifacts an TimeSeriesArtifacs sascha@330: sascha@121: * src/main/java/de/intevation/gnv/transition/TransitionFactory.java, sascha@330: src/main/java/de/intevation/gnv/transition/TransitionBase.java, sascha@330: src/main/java/de/intevation/gnv/transition/Transition.java, sascha@121: src/main/java/de/intevation/gnv/transition/DefaultTransition.java: ADD sascha@121: Transitionimplementation for handling the substeps of an Artifact Livecycle sascha@330: sascha@121: * src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java: ADD sascha@121: The Artifact for handling the TimeSeries sascha@121: * src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java, sascha@121: src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContext.java, sascha@121: src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java: sascha@121: The Basic-Classes for providing GNC Artifacts. this Classes should be the Fundament sascha@121: for the Implementation of Specialized Artifacts e.g. TimeSeries sascha@121: * pom: Edited Projectreferences to the other GNV-Projects added sascha@330: sascha@121: 2009-09-04 Tim Englich sascha@121: sascha@330: * src/main/java/de/intevation/gnv/artifacts/ArtifactFactoryBase.java: sascha@330: Implementation of the General ArtifactFactory sascha@330: sascha@121: 2009-09-04 Tim Englich sascha@121: sascha@121: * pom.xml: Created with maven and put the Moduledependencies into it sascha@121: * target | .settings | .project | .classpath: Add to SVN-Ignore sascha@121: * Changes | Changelog | NEWS | README | TODO: Added sascha@121: * src/**: Added to the Project