sascha@621: 2011-05-20 Sascha L. Teichmann sascha@621: sascha@621: flys/issue81 sascha@621: sascha@621: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@621: weights for kms were swapped. sascha@621: ingo@620: 2011-05-20 Ingo Weinzierl ingo@620: ingo@620: Tagged RELEASE 2.3.1 ingo@620: ingo@619: 2011-05-20 Ingo Weinzierl ingo@619: ingo@619: * Changes: Prepared changes for the upcoming release. ingo@619: hans@460: 2011-05-20 Hans Plum hans@460: hans@460: * NEWS: hans@460: Hint to Release 2.3.1. For further information look into module hans@460: flys-client/NEWS hans@460: sascha@459: 2011-05-19 Sascha L. Teichmann sascha@459: sascha@459: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java (getExplodedValues): sascha@459: Increment kms array size by one to take the end of range, too. sascha@459: sascha@458: 2011-05-19 Sascha L. Teichmann sascha@458: sascha@458: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java: sascha@458: Sort by rows (should not be necessary). sascha@458: sascha@458: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@458: Use unsharp km lookup (epsilon = 0.0001). This fixes the problem sascha@458: that some kms were not found. sascha@458: ingo@457: 2011-05-19 Ingo Weinzierl ingo@457: ingo@457: flys/issue66 ingo@457: ingo@457: * src/main/resources/messages_en.properties: Fixed broken template. ingo@457: ingo@456: 2011-05-19 Ingo Weinzierl ingo@456: ingo@456: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: ingo@456: Set the name of the computed discharge curve objects. ingo@456: ingo@456: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@456: The curves of this chart will now have names that consist of the word ingo@456: 'Discharge Curve', the river name and the kilometer that has been used ingo@456: for the computation. ingo@456: ingo@456: * src/main/resources/messages.properties, ingo@456: src/main/resources/messages_de_DE.properties, ingo@456: src/main/resources/messages_en.properties, ingo@456: src/main/resources/messages_de.properties: Added i18n strings for the ingo@456: computed discharge curves. ingo@456: sascha@455: 2011-05-19 Sascha L. Teichmann sascha@455: sascha@455: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@455: Added convenience method isQ() to determine if we are sascha@455: doing Q calculations. sascha@455: sascha@455: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@455: Reintroduced titles for the "W for unausgeglichene Abfluesse". sascha@455: ingo@454: 2011-05-19 Ingo Weinzierl ingo@454: ingo@454: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@454: The curves will now have names that consist of the gauge name and its ingo@454: valid time range. ingo@454: ingo@454: * src/main/resources/messages.properties, ingo@454: src/main/resources/messages_de_DE.properties, ingo@454: src/main/resources/messages_en.properties, ingo@454: src/main/resources/messages_de.properties: Added i18n strings for the ingo@454: discharge curves. ingo@454: sascha@453: 2011-05-19 Sascha L. Teichmann sascha@453: sascha@453: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@453: Removed dead code. sascha@453: sascha@452: 2011-05-19 Sascha L. Teichmann sascha@452: sascha@452: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@452: Use the correct method to generate kms. sascha@452: sascha@452: * src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java: sascha@452: Added some logging to test the map in debug mode. sascha@452: sascha@451: 2011-05-18 Sascha L. Teichmann sascha@451: sascha@451: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: sascha@451: Made getExplodedValues static. sascha@451: sascha@451: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@451: Use new logic to calculate "W für ungleichwertige Abfluesse". sascha@451: Not working, yet. sascha@451: sascha@451: * ChangeLog: Fixed former entry. sascha@451: ingo@450: 2011-05-18 Ingo Weinzierl ingo@450: ingo@450: * doc/conf/artifacts/winfo.xml: Registered the WST export for discharge ingo@450: longitudinal sections. ingo@450: ingo@450: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Set the ingo@450: names of the discharge longitudinal section computation results. ingo@450: ingo@450: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java: ingo@450: The W/Q curves in the chart will now have names. ingo@450: ingo@450: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: ingo@450: The WstWriter is filled with column names in an own method. So, we are ingo@450: able to override this process in subclasses. ingo@450: ingo@450: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java: ingo@450: Adapted the column names for the WST export. ingo@450: sascha@451: 2011-05-18 Sascha L. Teichmann sascha@451: sascha@451: Work on flys/issue69 sascha@451: sascha@451: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@451: Use new logic to calculate "Wasserstand/Wasserspiegellage". sascha@451: Compared to desktop FLYS are the results are structurally right sascha@451: but a bit off in the positions after the decimal points. sascha@451: Maybe a result of the interpolation? Need to debug this. sascha@449: ingo@448: 2011-05-18 Ingo Weinzierl ingo@448: ingo@448: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@448: W and Q curves will now have names based on the defined W or Q values ingo@448: for the waterlevel computation. ingo@448: ingo@447: 2011-05-18 Ingo Weinzierl ingo@447: ingo@447: * src/main/java/de/intevation/flys/artifacts/model/NamedObject.java: ingo@447: New. This object is used to give objects a name. ingo@447: ingo@447: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Inherit ingo@447: from NamedObject now. Because we need to display names for those objects ingo@447: in different places. ingo@447: ingo@447: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The WQKms ingo@447: objects returned by a waterlevel computation will now have names. ingo@447: ingo@447: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: ingo@447: Insert the column names for the WSTs into the WstWriter. ingo@447: ingo@447: * src/main/java/de/intevation/flys/exports/WstWriter.java: The column ingo@447: names are written into the head of the WSTs now. ingo@447: ingo@446: 2011-05-17 Ingo Weinzierl ingo@446: ingo@446: * src/main/java/de/intevation/flys/artifacts/model/WstLine.java: New. This ingo@446: class is used to store the W/Q values of a specific kilometer of a WST. ingo@446: ingo@446: * src/main/java/de/intevation/flys/exports/WstWriter.java: New. A writer ingo@446: that creates WSTs. ingo@446: ingo@446: TODO: The header of the WSTs is not finished. The Q descriptions are ingo@446: missing. ingo@446: ingo@446: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: ingo@446: Enabled WST exports. ingo@446: ingo@446: * doc/conf/artifacts/winfo.xml: Registered the WST export for waterlevels. ingo@446: ingo@445: 2011-05-17 Ingo Weinzierl ingo@445: ingo@445: * src/main/java/de/intevation/flys/utils/Formatter.java: New. This class ingo@445: supports functions to retrieve formatters for specific types of data ingo@445: used in FLYS. ingo@445: ingo@445: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, ingo@445: src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, ingo@445: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java, ingo@445: src/main/java/de/intevation/flys/exports/AbstractExporter.java: ingo@445: Removed the formatter declaration - the whole formatter stuff is done in ingo@445: Formatter now. ingo@445: ingo@444: 2011-05-17 Ingo Weinzierl ingo@444: ingo@444: ISSUE-72 ingo@444: ingo@444: * src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java: ingo@444: Repaired broken XPath expressions to extract start and end kilometer. ingo@444: sascha@443: 2011-05-17 Sascha L. Teichmann sascha@443: sascha@443: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@443: Removed the Hibernate loading stuff. sascha@443: sascha@443: * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java: sascha@443: New. The Hibernate loading. sascha@443: sascha@443: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@443: Use the WstValueTableFactory for loading now. sascha@443: ingo@442: 2011-05-17 Ingo Weinzierl ingo@442: hans@460: Tagged RELEASE 0.1 aka Version 2.3.0 ingo@442: hans@428: 2011-05-16 Hans Plum hans@428: hans@428: * NEWS: hans@428: New. Giving some user specific perspective to new functionality and hans@428: changes. This file references releases dates only; details can be find hans@428: in the client module at flys-client. hans@428: sascha@427: 2011-05-10 Sascha L. Teichmann sascha@427: sascha@427: First step to calculate "W fuer ungleichwertige Abfluesse" correctly. sascha@427: flys/issue55 sascha@427: sascha@427: * src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java: sascha@427: New. Remaps "gleichwertige" Q values to the corresponding sascha@427: "ungleichwertige" Q values depending on km. sascha@427: sascha@427: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@427: Remap the Q values "ungleichwertig" depending on the sascha@427: "gleichwertige" ones. sascha@427: sascha@426: 2011-05-10 Sascha L. Teichmann sascha@426: sascha@426: First step to fix flys/issue69 sascha@426: sascha@426: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@426: New code path to implement the calculation of "Wasserstand/Wasspiegellage" sascha@426: correctly. TODO 1: Use new path in UI. TODO 2: Remove unused old code. sascha@426: ingo@425: 2011-05-13 Ingo Weinzierl ingo@425: ingo@425: * Changes: Prepared Changes for the upcoming release 2.3 - see Changes ingo@425: file to get to know about the changes of the version numbers. ingo@425: ingo@424: 2011-05-13 Ingo Weinzierl ingo@424: ingo@424: ISSUE-37 ingo@424: ingo@424: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: This ingo@424: state would be happy if there is a UI provider called "river_panel". ingo@424: ingo@423: 2011-05-11 Ingo Weinzierl ingo@423: ingo@423: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added new ingo@423: methods that return the requested chart size as integer array [width, ingo@423: height]. The requested size is read from the incomding request document. ingo@423: ingo@423: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: The size ingo@423: of a chart is no longer static. The requested size is fetched using ingo@423: ChartGenerator.getSize(). ingo@423: ingo@422: 2011-05-11 Ingo Weinzierl ingo@422: ingo@422: ISSUE-52 ingo@422: ingo@422: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@422: The X-Axis of such a chart is inverted, if the head of the river is not ingo@422: at kilometer 0. This type of charts always have the head of the river at ingo@422: the left side. ingo@422: sascha@421: 2011-05-10 Sascha L. Teichmann sascha@421: sascha@421: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@421: Make incoming XML symmetric to DistanceInfoService. sascha@421: ingo@420: 2011-05-10 Ingo Weinzierl ingo@420: ingo@420: ISSUE-47 ingo@420: ingo@420: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java, ingo@420: src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, ingo@420: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@420: Adjusted temporarily the color of the W, Q and corrected W curves to ingo@420: distinguish each other. ingo@420: ingo@419: 2011-05-10 Ingo Weinzierl ingo@419: ingo@419: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: ingo@419: Adjusted the plot of xy charts - the gridlines are displayed now. ingo@419: ingo@418: 2011-05-10 Ingo Weinzierl ingo@418: ingo@418: ISSUE-53 ingo@418: ingo@418: * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: ingo@418: Added a method that returns the preferred locale based on the available ingo@418: locales of the server and the desired locales of the request (CallMeta). ingo@418: ingo@418: * src/main/java/de/intevation/flys/exports/AbstractExporter.java: Added a ingo@418: method that creates a number formatter with minimum and maximum digits. ingo@418: ingo@418: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java, ingo@418: src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, ingo@418: src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, ingo@418: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: ingo@418: Formatted the number values of the CSV exports. ingo@418: ingo@417: 2011-05-10 Ingo Weinzierl ingo@417: ingo@417: * src/main/java/de/intevation/flys/artifacts/model/RangeWithValues.java: ingo@417: New. A data structure that enables us to save a data triple: a range ingo@417: that consist of lower and upper double value and a set of values that ingo@417: belong to this range. ingo@417: ingo@417: * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: ingo@417: Implemented the validation of W/Q values. ingo@417: ingo@416: 2011-05-10 Ingo Weinzierl ingo@416: ingo@416: * src/main/java/de/intevation/flys/exports/AbstractExporter.java: New ingo@416: method to retrieve i18n messages based on keys. ingo@416: ingo@416: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java, ingo@416: src/main/java/de/intevation/flys/exports/WaterlevelExporter.java, ingo@416: src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, ingo@416: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: ingo@416: Added headers for CSV exports. ingo@416: ingo@416: * src/main/resources/messages.properties, ingo@416: src/main/resources/messages_de_DE.properties, ingo@416: src/main/resources/messages_en.properties, ingo@416: src/main/resources/messages_de.properties: Added new i18n strings for ingo@416: CSV headers. ingo@416: sascha@415: 2011-05-10 Sascha L. Teichmann sascha@415: sascha@415: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@415: Fetches river name from incoming XML document. If no river is given all sascha@415: infos about all rivers are listed. sascha@415: sascha@415: * src/main/resources/metadata/template.xml: Templates honors the 'river' sascha@415: parameter. sascha@415: sascha@415: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@415: Extended to pass parameters to the templating. Added support for sascha@415: type conversion. sascha@415: sascha@415: * src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java: sascha@415: Take parameters as an initial stack frame. sascha@415: sascha@415: * src/main/java/de/intevation/flys/artifacts/services/meta/TypeConverter.java: sascha@415: New. Converts types off stacked variables. sascha@415: ingo@414: 2011-05-10 Ingo Weinzierl ingo@414: ingo@414: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added a ingo@414: method to add subtitles to charts. The implementation in this class does ingo@414: not add any subtitle. Concrete subclasses may override this method to ingo@414: add some. ingo@414: ingo@414: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, ingo@414: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@414: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@414: Add subtitles to charts. ingo@414: ingo@414: * src/main/resources/messages.properties, ingo@414: src/main/resources/messages_de_DE.properties, ingo@414: src/main/resources/messages_en.properties, ingo@414: src/main/resources/messages_de.properties: Added i18n templates for ingo@414: compound messages (chart subtitles). ingo@414: ingo@413: 2011-05-10 Ingo Weinzierl ingo@413: ingo@413: * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: ingo@413: Added new methods to retrieve translated compound messages. ingo@413: ingo@412: 2011-05-10 Ingo Weinzierl ingo@412: ingo@412: * src/main/java/de/intevation/flys/exports/OutGenerator.java: Added a ingo@412: method to set the master artifact that should be used for some special ingo@412: operations. ingo@412: ingo@412: * src/main/java/de/intevation/flys/exports/ChartGenerator.java, ingo@412: src/main/java/de/intevation/flys/exports/AbstractExporter.java: ingo@412: Implement the setMasterArtifact() method of the interface. ingo@412: ingo@412: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@412: Call OutGenerator.setMasterArtifact(). ingo@412: ingo@412: NOTE: The determination of the master artifact needs to be implemented! ingo@412: ingo@411: 2011-05-10 Ingo Weinzierl ingo@411: ingo@411: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Removed ingo@411: hard coded dev code that defined a WQ mode. ingo@411: sascha@410: 2011-05-09 Sascha L. Teichmann sascha@410: sascha@410: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@410: Stripped ugly extra whitespace from output introduced by sascha@410: templating. sascha@410: sascha@409: 2011-05-09 Sascha L. Teichmann sascha@409: sascha@409: * src/main/resources/metadata/template.xml: Added forgotten sascha@409: columns of fixation WSTs. sascha@409: ingo@408: 2011-05-09 Ingo Weinzierl ingo@408: ingo@408: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: Added a ingo@408: method to retrieve i18n strings. ingo@408: ingo@408: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, ingo@408: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, ingo@408: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@408: src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@408: Enabled i18n support for chart title and axes labels. ingo@408: ingo@408: * src/main/resources/messages.properties, ingo@408: src/main/resources/messages_de_DE.properties, ingo@408: src/main/resources/messages_en.properties, ingo@408: src/main/resources/messages_de.properties: Added i18n strings for the ingo@408: chart types above. ingo@408: ingo@407: 2011-05-09 Ingo Weinzierl ingo@407: ingo@407: * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java: ingo@407: New. This OutGenerator exports the data of a discharge longitudinal ingo@407: section computation. ingo@407: ingo@407: * doc/conf/conf.xml: Added the DischargeLongitudinalSectionExporter. ingo@407: ingo@407: * doc/conf/artifacts/winfo.xml: Added the exporter with CSV facet to the ingo@407: discharge_longitudinal_section state. ingo@407: sascha@406: 2011-05-07 Sascha L. Teichmann sascha@406: sascha@406: * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: sascha@406: Added code to make back jump correction work with both sascha@406: potential flow directions. sascha@406: sascha@405: 2011-05-06 Sascha L. Teichmann sascha@405: sascha@405: * src/main/resources/metadata/template.xml: sascha@405: Added data cage configuration for 'Längsschnitt'. sascha@405: ingo@402: 2011-05-06 Ingo Weinzierl ingo@402: ingo@402: * doc/conf/artifacts/winfo.xml: Added the missing Q facet for discharge ingo@402: longitudinal sections. ingo@402: ingo@402: * src/main/java/de/intevation/flys/artifacts/model/WQCKms.java: New. A ingo@402: derived dataset to store W/Q values with corrected Ws for a kilometer ingo@402: range. ingo@402: ingo@402: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Some new ingo@402: methods and a new constructor to initialize this data object with a ingo@402: predefined set of values. ingo@402: ingo@402: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New ingo@402: methods to retrieve the W/Q values for the 'discharge longitudinal ingo@402: section' computation. ingo@402: ingo@402: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: New ingo@402: methods to retrieve and compute data used for the 'discharge ingo@402: longitudinal section' computation. ingo@402: ingo@401: 2011-05-05 Ingo Weinzierl ingo@401: ingo@401: * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: ingo@401: Bugfix: just write the ranges of gauges into the DESCRIBE if the ingo@401: 'wq_values' data item is required. ingo@401: ingo@401: * src/main/resources/messages.properties, ingo@401: src/main/resources/messages_de_DE.properties, ingo@401: src/main/resources/messages_en.properties, ingo@401: src/main/resources/messages_de.properties: Added i18n messages used in ingo@401: the DESCRIBE of the WQAdapted state. ingo@401: ingo@400: 2011-05-05 Ingo Weinzierl ingo@400: ingo@400: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@400: Changed the title of the y-axis (now 'W [NN+m]'). ingo@400: ingo@399: 2011-05-05 Ingo Weinzierl ingo@399: ingo@399: * doc/conf/artifacts/winfo.xml: Improved the transition model to reach the ingo@399: output state for creating 'discharge longitudinal section' charts. ingo@399: ingo@399: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added a ingo@399: method that returns all gauges of the selected river based on a the ingo@399: given kilometer range. ingo@399: ingo@399: * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: New. ingo@399: This state creates a set of elements for the DESCRIBE that consist of a ingo@399: tuple of kilometer values. The number of elements depend on the number ingo@399: of gauges intersected by the given kilometer range. ingo@399: ingo@399: * src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java: ingo@399: New. This state is the output state that is reached after the 'discharge ingo@399: longitudinal section' computation has been chosen. ingo@399: ingo@398: 2011-05-05 Ingo Weinzierl ingo@398: ingo@398: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Default ingo@398: step width between two kilometers added - if no step width is given, ingo@398: this default width is used. ingo@398: ingo@397: 2011-05-05 Ingo Weinzierl ingo@397: ingo@397: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@397: Fixed a potential NullPointerException if there is just a single ingo@397: kilometer given to create a longitudinal section. ingo@397: sascha@396: 2011-05-04 Sascha L. Teichmann sascha@396: sascha@396: * pom.xml: Added http://repository.jboss.org/maven2 repo sascha@396: to fix flys/issue30 sascha@396: sascha@396: 2011-05-04 Sascha L. Teichmann sascha@395: sascha@395: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@395: To make diagram generation possible ws are now generated from qs sascha@395: because they are many ws having different qs. sascha@395: ingo@394: 2011-05-04 Ingo Weinzierl ingo@394: ingo@394: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: ingo@394: Fetch the WQ data from WINFO artifact and write those values into the ingo@394: CSV export. ingo@394: ingo@393: 2011-05-04 Ingo Weinzierl ingo@393: ingo@393: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added ingo@393: methods to compute and retrieve the data for discharge curves (computed). ingo@393: ingo@393: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@393: Fetch the computed discharge curve data from WINFOArtifact and add the ingo@393: values into the JFreeChart dataset. ingo@393: ingo@392: 2011-05-04 Ingo Weinzierl ingo@392: ingo@392: * doc/conf/artifacts/winfo.xml: Added new transitions and states to enable ingo@392: the WINFO artifact for computing discharge curves. ingo@392: ingo@392: * doc/conf/conf.xml: Added OutGenerators that generate computed discharge ingo@392: curves and exports for its data. ingo@392: ingo@392: * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java: ingo@392: New. This state is reached if the user chose the computed discharge ingo@392: curve. ingo@392: ingo@392: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: ingo@392: New. This is only a stub implementation at the moment. This ingo@392: OutGenerator should create computed discharge curves later. It extends ingo@392: the DischargeCurveGenerator which should do the same stuff for discharge ingo@392: curves for gauges. ingo@392: ingo@392: * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java: ingo@392: New. This is only a stub implementation at the moment. This OutGenerator ingo@392: should create the exports of the discharge curve computation. ingo@392: ingo@391: 2011-05-03 Ingo Weinzierl ingo@391: ingo@391: * doc/conf/artifacts/winfo.xml: Added a new output mode for the duration ingo@391: curve state (CSV export). ingo@391: ingo@391: * doc/conf/conf.xml: Added a new OutGenerator to export duration curve ingo@391: computations. ingo@391: ingo@391: * src/main/java/de/intevation/flys/exports/AbstractExporter.java: New. ingo@391: This abstract OutGenerator represents the base class for exporting ingo@391: computed data. Currently, the CSV export is supported. ingo@391: ingo@391: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Moved ingo@391: the most code to export to CSV into the AbstractExporter. ingo@391: ingo@391: * src/main/java/de/intevation/flys/exports/DurationCurveExporter.java: ingo@391: New. This exporter exports the computed data of a duration computation. ingo@391: ingo@390: 2011-05-03 Ingo Weinzierl ingo@390: ingo@390: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@390: Modified a wrong debug statement which would confuse the user. ingo@390: ingo@389: 2011-05-03 Ingo Weinzierl ingo@389: ingo@389: * doc/conf/artifacts/winfo.xml: Added a new output mode for the waterlevel ingo@389: state (CSV export). ingo@389: ingo@389: * doc/conf/conf.xml: Added a new OutGenerator to export waterlevels. ingo@389: ingo@389: * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: New. ingo@389: This OutGenerator exports the data of a waterlevel computation. Note: ingo@389: It is necessary to specify the desired facet (e.g. ingo@389: 'waterlevel_export.csv'). ingo@389: ingo@389: * pom.xml: Added a dependency to OpenCSV. ingo@389: ingo@388: 2011-05-03 Ingo Weinzierl ingo@388: ingo@388: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@388: Introduced an "export" output target. If the target is "export", a ingo@388: facet (read from the incoming xml document) is a necessary parameter ingo@388: that determines which facets are written to the output. ingo@388: ingo@387: 2011-05-03 Ingo Weinzierl ingo@387: ingo@387: * src/main/resources/messages_en.properties: Bugfix: replaced german ingo@387: string (copy & paste mistake). ingo@387: ingo@386: 2011-05-03 Ingo Weinzierl ingo@386: ingo@386: * src/main/resources/messages.properties, ingo@386: src/main/resources/messages_de_DE.properties, ingo@386: src/main/resources/messages_en.properties, ingo@386: src/main/resources/messages_de.properties: Added new i18n strings for ingo@386: for the location selection. ingo@386: ingo@385: 2011-05-03 Ingo Weinzierl ingo@385: ingo@385: * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: ingo@385: New. An OutGenerator for creating duration curves. ingo@385: ingo@385: * src/main/java/de/intevation/flys/artifacts/model/WQDay.java: New. A ingo@385: model class to store necessary data for creating W and Q facets of a ingo@385: duration curve. This model stores W, Q and Days. ingo@385: ingo@385: * src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java: ingo@385: Added a function to retrieve tuples of (day, q) based on a given gauge - ingo@385: these tuples are necessary for creating duration curves. ingo@385: ingo@385: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added ingo@385: methods to compute and retrieve the data necessary for creating duration ingo@385: curves. ingo@385: ingo@385: * src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java: ingo@385: Bugfix: improved the access to the location array (avoid ingo@385: NullPointerException). ingo@385: ingo@385: * doc/conf/conf.xml: Registered the new OutGenerator for duration curves. ingo@385: sascha@384: 2011-05-03 Sascha L. Teichmann sascha@384: sascha@384: * contrib/visualize-transitions.xsl: State quoting was done wrong. sascha@384: ingo@383: 2011-05-02 Ingo Weinzierl ingo@383: ingo@383: * doc/conf/artifacts/winfo.xml: Enhanced the transition model to reach the ingo@383: final state for creating duration curves. ingo@383: ingo@383: * src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java: ingo@383: New. This state should be reached to just insert an array of locations. ingo@383: ingo@383: * src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java: ingo@383: New. This state is reached if the duration curve calculation is ingo@383: selected. ingo@383: ingo@383: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Adjusted ingo@383: getDistance() so that it takes care on inserted locations - not just ingo@383: inserted ranges. ingo@383: sascha@382: 2011-05-02 Sascha L. Teichmann sascha@382: sascha@382: * src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java: sascha@382: Flush/persist caches at program exists. sascha@382: sascha@382: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: sascha@382: Commented out too eloquent debug output. sascha@382: ingo@381: 2011-05-02 Ingo Weinzierl ingo@381: ingo@381: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@381: Uses the methods of FLYSArtifact to retrieve the necessary information ingo@381: rivername and selected distance. ingo@381: sascha@380: 2011-05-02 Sascha L. Teichmann sascha@380: sascha@380: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@380: Added interpolateW method to take reference to result ws array sascha@380: as an argument to avoid expensive array allocations in km iterating sascha@380: loops. sascha@380: sascha@380: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: sascha@380: Added a constructor to create backing trove datastructure sascha@380: with the right capacity. sascha@380: sascha@380: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: sascha@380: Move allocation of result ws out of km loop. sascha@380: ingo@379: 2011-05-02 Ingo Weinzierl ingo@379: ingo@379: * doc/conf/artifacts/winfo.xml: Added two further data items in the WQ ingo@379: selection state. Those items are necessary to store the information ingo@379: about the selected mode (range/single selection) and the values of the ingo@379: single selection. ingo@379: ingo@379: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: If ingo@379: there is no value for a data item, this item is not written into the ingo@379: static DESCRIBE part. ingo@379: ingo@379: * src/main/java/de/intevation/flys/artifacts/states/RangeState.java, ingo@379: src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: ingo@379: Renamed the method to validate upper and lower values. ingo@379: ingo@379: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: This ingo@379: state can now handle values inserted in the single selection. Therefore, ingo@379: new validate methods has been added. ingo@379: ingo@379: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The ingo@379: methods getWs() and getWs() take care on the values inserted in the ingo@379: single insert mode of the client which enables the user to insert single ingo@379: W and Q. ingo@379: sascha@378: 2011-05-02 Sascha L. Teichmann sascha@378: sascha@378: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@378: Repaired getQForW() by calculating indices on right dimension. sascha@378: ingo@377: 2011-05-02 Ingo Weinzierl ingo@377: ingo@377: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New ingo@377: methods for retrieving selected W values (getWs()). ingo@377: ingo@377: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The ingo@377: method for retrieving waterlevel data takes care on selected Ws, now. ingo@377: The selected Ws are transformed using the DischargeTables.getQForW() ingo@377: into Q values. ingo@377: ingo@376: 2011-05-02 Ingo Weinzierl ingo@376: ingo@376: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: ingo@376: Removed an unused parameter 'result' of getQForW(). ingo@376: ingo@375: 2011-05-02 Ingo Weinzierl ingo@375: ingo@375: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Removed ingo@375: the getDataset() method and replaced it with a addDataset() method. ingo@375: On this way, concrete subclasses of this OutGenerator can have multiple ingo@375: datasets (e.g. different datasets for W and Q). This abstract method is ingo@375: called after the chart generation is finished. ingo@375: ingo@375: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@375: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@375: Both classes implement the addDataset() method. The ingo@375: LongitudinalSectionGenerator has already multiple datasets for W and Q. ingo@375: Both are added to the chart - both have an own range axis. ingo@375: sascha@374: 2011-05-01 Sascha L. Teichmann sascha@374: sascha@374: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@374: Use the cache for the wst value table if configured. sascha@374: sascha@374: * doc/conf/cache.xml: Choose a more precise name for the sascha@374: wst value table cache. sascha@374: sascha@373: 2011-04-29 Sascha L. Teichmann sascha@373: sascha@373: * pom.xml: Added dependency to Ehcache. Apache 2.0 license. sascha@373: sascha@373: * doc/conf/conf.xml: Added configuration of ehcache. sascha@373: sascha@373: * doc/conf/cache.xml: New. Cache configurations. sascha@373: sascha@373: * src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java: sascha@373: New. Factory to access caches. sascha@373: sascha@372: 2011-04-29 Sascha L. Teichmann sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@372: Forgot to add. sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: sascha@372: New. Given a database connection and a XML template it generates sascha@372: an output with meta data about the database. sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java: sascha@372: New. Holds prepared statements optimized to be run in the stack of sascha@372: contextes. sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java: sascha@372: New. Model to hold a hierarchical scope of variables. sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/services/meta/ResultData.java: sascha@372: New. Stores data set fetched from a sql select to be iterated in sascha@372: a context. sascha@372: sascha@372: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java, sascha@372: src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: sascha@372: Removed superfluous imports. sascha@372: sascha@371: 2011-04-29 Sascha L. Teichmann sascha@371: sascha@371: * doc/conf/conf.xml: Added meta data service. sascha@371: sascha@371: * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: sascha@371: Stub for the meta data service. sascha@371: sascha@371: * src/main/resources/metadata/template.xml: Initial template for sascha@371: the meta data service. sascha@371: ingo@370: 2011-04-29 Ingo Weinzierl ingo@370: ingo@370: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@370: Bugfix: Now, curves for Q values are drawn into a longitudinal section ingo@370: chart as well. Therefore, it was necessary to change the datastructure ingo@370: of the inner class ThemeList that stores all themes included in a chart ingo@370: in an ordered list (stored in a java.util.Vector now). ingo@370: ingo@369: 2011-04-29 Ingo Weinzierl ingo@369: ingo@369: * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: New. An ingo@369: abstract base class for ChartGenerators that create XY charts. ingo@369: ingo@369: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@369: Sourced the generate() method out to the XYChartGenerator. ingo@369: ingo@369: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@369: Implemented the methods to add W and Q facets to the chart. ingo@369: ingo@368: 2011-04-29 Ingo Weinzierl ingo@368: ingo@368: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Improved ingo@368: the calculation of the step with for ranges. ingo@368: ingo@367: 2011-04-29 Ingo Weinzierl ingo@367: ingo@367: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Added a ingo@367: method that returns the number of elements stored in the data pool. ingo@367: sascha@366: 2011-04-29 Sascha L. Teichmann sascha@366: sascha@366: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: sascha@366: Added a get() method which takes destination array as an sascha@366: argument. sascha@366: ingo@365: 2011-04-29 Ingo Weinzierl ingo@365: ingo@365: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Changed the ingo@365: data structure to store w, q and kms values from List to ingo@365: TDoubleArrayList which stores native double values instead of big ingo@365: Double values. ingo@365: ingo@365: * pom.xml: Added the GNU Trove dependency. ingo@365: ingo@364: 2011-04-29 Ingo Weinzierl ingo@364: ingo@364: * src/main/java/de/intevation/flys/exports/OutGenerator.java: Added the ingo@364: name a the requested facet to doOut(). Concrete generators should just ingo@364: create output for this facet now. ingo@364: ingo@364: * src/main/java/de/intevation/flys/exports/ChartGenerator.java, ingo@364: src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, ingo@364: src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@364: Adapted the method signature of doOut(). ingo@364: ingo@364: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@364: Adapted the method call of OutGenerator.doOut(). ingo@364: ingo@363: 2011-04-29 Ingo Weinzierl ingo@363: ingo@363: * doc/conf/themes.xml: Added mappings for the facets ingo@363: longitudinal.section.w and longitudinal.section.q. ingo@363: ingo@362: 2011-04-29 Ingo Weinzierl ingo@362: ingo@362: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added some ingo@362: methods to retrieve necessary information for computing the data of a ingo@362: waterlevel. ingo@362: ingo@362: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added ingo@362: methods to compute and retrieve the data of a waterlevel computation. ingo@362: ingo@361: 2011-04-29 Ingo Weinzierl ingo@361: ingo@361: * src/main/java/de/intevation/flys/artifacts/model/WQKms.java: New. This ingo@361: model class represents a pool of data triples that consist of W, Q and ingo@361: Kms information. This class might be used to compute data for creating ingo@361: longitudinal section curves (which are based on those W, Q and Kms ingo@361: values). ingo@361: ingo@360: 2011-04-29 Ingo Weinzierl ingo@360: ingo@360: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: ingo@360: Bugfix: Removed endless loop and a bug while iterating over Hibernate ingo@360: results. ingo@360: ingo@359: 2011-04-28 Ingo Weinzierl ingo@359: ingo@359: * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: ingo@359: New. An OutGenerator that creates longitudinal section curves. ingo@359: ingo@359: NOTE: This is just the stub - the out creation needs to be implemented! ingo@359: ingo@359: * doc/conf/conf.xml: Added the LongitudinalSectionGenerator. ingo@359: ingo@358: 2011-04-28 Ingo Weinzierl ingo@358: ingo@358: * doc/conf/conf.xml: Bugfix: Added missing section. ingo@358: ingo@357: 2011-04-28 Ingo Weinzierl ingo@357: ingo@357: * src/main/java/de/intevation/flys/artifacts/WaterlevelState.java: New. ingo@357: This state should be reached if the 'calc.surface.curve' calculation ingo@357: method has been chosen. ingo@357: ingo@357: * doc/conf/artifacts/winfo.xml: Modified a transition and added the ingo@357: WaterlevelState. This state is reached if the 'calc.surface.curve' ingo@357: calculation method has been chosen. It currently has 1 output - a ingo@357: longitudinal section that is not implemented yet! ingo@357: ingo@356: 2011-04-28 Ingo Weinzierl ingo@356: ingo@356: * src/main/java/de/intevation/flys/artifacts/transitions/ValueCompareTransition.java: ingo@356: New. This transition is valid if the a data object of the current ingo@356: artifact equals/notequals a configured value in the transition model. ingo@356: ingo@355: 2011-04-28 Ingo Weinzierl ingo@355: ingo@355: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, ingo@355: src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Bugfixes: ingo@355: - Adapted the parameters of the isStateReachable() call - added the ingo@355: artifact and the current state. ingo@355: - Append the outputs of a current state if the state is filled with ingo@355: valid data. ingo@355: ingo@354: 2011-04-28 Ingo Weinzierl ingo@354: ingo@354: * src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java: ingo@354: Added the missing init() method that has been introduced in the ingo@354: interface some commits ealier. ingo@354: ingo@354: * src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java: ingo@354: Call init() after a Transition has been created. ingo@354: ingo@353: 2011-04-28 Ingo Weinzierl ingo@353: ingo@353: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: ingo@353: Bugfix: Introduced a node in the attribute document of a ingo@353: Collection that contains further nodes - instead of having ingo@353: multiple nodes at toplevel of the document. ingo@353: ingo@353: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@353: Adapted the XPath to retrieve the outputs in the attribute document of a ingo@353: Collection. ingo@353: sascha@351: 2011-04-28 Sascha L. Teichmann sascha@351: sascha@351: * contrib/visualize-transitions.xsl: Added to create a sascha@351: Graphviz digraph out of the config.xml. Usage: sascha@351: sascha@351: $ xsltproc --stringparam base-dir ../doc/conf/ \ sascha@351: contrib/visualize-transitions.xsl \ sascha@351: doc/conf/conf.xml > transitions.dot sascha@351: sascha@351: $ dot -Tsvg -o transitions.svg transitions.dot sascha@351: ingo@350: 2011-04-28 Ingo Weinzierl ingo@350: ingo@352: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, ingo@352: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@352: If no data has been inserted so far, an IllegalArgumentException is ingo@352: thrown. ingo@352: ingo@352: 2011-04-28 Ingo Weinzierl ingo@352: ingo@350: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:: ingo@350: A lot of new methods to retrieve the theme of a facet - used while ingo@350: creating the output of a facet/artifact. If a facet has no theme yet, it ingo@350: is initialized. ingo@350: ingo@349: 2011-04-27 Ingo Weinzierl ingo@349: ingo@349: * src/main/java/de/intevation/flys/collections/AttributeParser.java, ingo@349: src/main/java/de/intevation/flys/collections/OutputParser.java: Removed ingo@349: useless imports. ingo@349: ingo@348: 2011-04-27 Ingo Weinzierl ingo@348: ingo@348: * src/main/java/de/intevation/flys/exports/ChartGenerator.java: New. An ingo@348: abstract OutGenerator that might be used to create chart output. Some ingo@348: basic things that are equal in all charts should be done here! ingo@348: ingo@348: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@348: This OutGenerator no longer implements the OutGenerator directly, but it ingo@348: extends the ChartGenerator now. ingo@348: ingo@347: 2011-04-27 Ingo Weinzierl ingo@347: ingo@347: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@347: Restructured the out() operation of a collection: Now, we collect a list ingo@347: of artifacts/facets and use this for the OutGenerator. Its doOut() ingo@347: method gets the attribute of an artifact - the position and the active ingo@347: state is managed by the Collection itself. ingo@347: ingo@346: 2011-04-26 Ingo Weinzierl ingo@346: ingo@346: * src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java: New. ingo@346: a specialized facet that stores information about its position and its ingo@346: state (active/inactive) in an output of a collection. ingo@346: ingo@346: * src/main/java/de/intevation/flys/collections/AttributeParser.java: New. ingo@346: This parser takes the attributes (XML) of a collection and extracts the ingo@346: contained outputs with its facets. The result is a Map. ingo@346: ingo@346: * src/main/java/de/intevation/flys/collections/OutputParser.java: New. ingo@346: This parser is used to query the artifact's DESCRIBE and to extract the ingo@346: supported outputs. The result is a Map. ingo@346: ingo@346: * src/main/java/de/intevation/flys/collections/AttributeWriter.java: New. ingo@346: This writer merges the outputs contained in an attribute of a collection ingo@346: with the outputs of a collection's artifacts. ingo@346: ingo@346: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@346: The attributes of a collection are written into its DESCRIBE document ingo@346: now. The OutputParser and AttributeParser are used to read the supported ingo@346: attributes by the collection and its artifacts - the AttributeWriter is ingo@346: used to merge both attributes and create a final attribute document. ingo@346: ingo@345: 2011-04-26 Ingo Weinzierl ingo@345: ingo@345: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java, ingo@345: src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@345: The facet-2-theme mappings are initialized at startup and stored in the ingo@345: FLYSContext. ingo@345: ingo@345: * src/main/java/de/intevation/flys/themes/ThemeFactory.java: Added a ingo@345: function that retrieves a theme from FLYSContext based on its name. ingo@345: sascha@344: 2011-04-22 Sascha L. Teichmann sascha@344: sascha@344: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@344: Corrected a silly c&p mistake. sascha@344: sascha@343: 2011-04-22 Sascha L. Teichmann sascha@343: sascha@343: * src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java: sascha@343: sascha@343: Implementation of the "Ruecksprungkorrektur" to be done in sascha@343: "W fuer angepassten Abflusslaengschnitt". sascha@343: sascha@343: All tests show the expected results. In some corner cases the sascha@343: algorithm described in the "Anwenderhandbuch" chapter 3.3.4.3 "Korrektur" sascha@343: has some definition shortcomings: sascha@343: sascha@343: a - What should happend when you cannot find point 2 because sascha@343: you cannot step back one quarter from point 3 because there sascha@344: is no data there any more (river too short in this direction)? sascha@344: The implemented algorithm raises point 3' only to an sascha@344: according factor. E.g. If you can step back the whole quarter sascha@344: distance the elevation is the full quarter. If you can sascha@344: step back only the half of the quarter the elevation is sascha@344: only an eighth. sascha@343: sascha@343: b - If the water heights between point 2 and 3 are constant then sascha@343: the algorithm will produce a spline interpolation that sascha@344: lowers those values. Is this intended? sascha@343: sascha@343: For real data the back jumps are expected to be more in the middle sascha@343: of the distance ranges so the corner cases are maybe not so sascha@343: important. sascha@343: sascha@343: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: sascha@343: Removed superfluous import. sascha@343: ingo@342: 2011-04-21 Ingo Weinzierl ingo@342: ingo@342: * src/main/java/de/intevation/flys/themes/ThemeFactory.java: Removed debug ingo@342: code that has been commited by accident. ingo@342: ingo@341: 2011-04-21 Ingo Weinzierl ingo@341: ingo@341: * doc/conf/themes.xml: New. A first small theme configuration. ingo@341: ingo@341: * doc/conf/conf.xml: Added a link to the theme configuration. ingo@341: ingo@341: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: ingo@341: Defined a key that is used to store a themes map in the FLYSContext. ingo@341: ingo@341: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@341: The theme configuration is read at startup and the themes are stores in ingo@341: the FLYSContext. ingo@341: ingo@340: 2011-04-21 Ingo Weinzierl ingo@340: ingo@340: * src/main/java/de/intevation/flys/themes/Theme.java, ingo@340: src/main/java/de/intevation/flys/themes/DefaultTheme.java: ingo@340: New. The interface and its default implementation that represents themes ingo@340: used to style charts and maps. ingo@340: ingo@340: * src/main/java/de/intevation/flys/themes/ThemeField.java, ingo@340: src/main/java/de/intevation/flys/themes/DefaultThemeField.java: ingo@340: New. The interface and its default implementation that represents fields ingo@340: in themes. A theme might be "Lines" and one of its field might be ingo@340: "Color" or "Size". ingo@340: ingo@340: * src/main/java/de/intevation/flys/themes/ThemeFactory.java: A factory ingo@340: that creates new themes based on a theme configuration. ingo@340: sascha@339: 2011-04-20 Sascha L. Teichmann sascha@339: sascha@339: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@339: Implementation of "Abflusskurve/Abflusstafel" calculation. sascha@339: sascha@339: Added method interpolateWQ() which takes an km and results in a sascha@339: tuple of two double arrays containing the w/q values interpolated sascha@339: between the surrounding w/q values of the table. sascha@339: w values are interpolated linear, q values with a cubic spline. sascha@339: sascha@339: Drawing w over q gives you the discharge table at the given km. sascha@339: sascha@339: !!! This code needs testing !!! sascha@339: sascha@338: 2011-04-20 Sascha L. Teichmann sascha@338: sascha@338: * pom.xml: Added dependency to Apache Commons Math 2.2 (Apache License 2.0) sascha@338: sascha@337: 2011-04-20 Sascha L. Teichmann sascha@337: sascha@337: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@337: Fix problem when sorting by q (copied w instead of q). sascha@337: ingo@336: 2011-04-20 Ingo Weinzierl ingo@336: ingo@336: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: ingo@336: Fixed broken HQL statement. ingo@336: sascha@335: 2011-04-19 Sascha L. Teichmann sascha@335: sascha@335: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@339: add a method interpolateW() which takes an array of sascha@335: q values and returns an equal sized array of w values. sascha@335: This is essentially the "Wasserstand/Wasserspiegellagen" calculation sascha@335: of desktop FLYS. sascha@335: sascha@335: If you want to do a calculation with given w values you have sascha@335: to convert the w values with DischargeTables.getQForW() first. sascha@335: sascha@335: !!! This code needs heavy testing !!! sascha@335: sascha@334: 2011-04-19 Sascha L. Teichmann sascha@334: sascha@334: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@334: We need a getQForW() method and not getWForQ() because when sascha@334: doing a "Wasserstand/Wasserspiegellagen" calculation with given sascha@334: w values these values need to be translated to q values with sascha@334: the master discharge table. sascha@334: sascha@333: 2011-04-19 Sascha L. Teichmann sascha@333: sascha@333: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@333: Sorting of q values was done wrong. sascha@333: ingo@332: 2011-04-19 Ingo Weinzierl ingo@332: ingo@332: * src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: ingo@332: Ordered the list of annotations returned by this factory based on its ingo@332: range. ingo@332: ingo@331: 2011-04-19 Ingo Weinzierl ingo@331: ingo@331: * src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java: ingo@331: New. This service returns an XML document that includes the main values ingo@331: of a gauge based on a river name, a start and an end point. ingo@331: ingo@331: * doc/conf/conf.xml: Registered the MainValuesService. ingo@331: ingo@330: 2011-04-19 Ingo Weinzierl ingo@330: ingo@330: * src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java: ingo@330: A factory that provides methods to return MainValues. ingo@330: sascha@329: 2011-04-19 Sascha L. Teichmann sascha@329: sascha@329: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@329: Added static method getWForQ() to interpolate a w value for sascha@329: a given q value based on a given discharge table. sascha@329: sascha@328: 2011-04-19 Sascha L. Teichmann sascha@328: sascha@328: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@328: Added convenience constructors/methods to ease the access to the master sascha@328: discharge table of a gauge. sascha@328: sascha@327: 2011-04-18 Sascha L. Teichmann sascha@327: sascha@327: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@327: Moved the query complexity into view 'wst_value_table' and sascha@327: used this instead. sascha@327: sascha@326: 2011-04-18 Sascha L. Teichmann sascha@326: sascha@326: * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: sascha@326: Fetches w/q value tables from the backend. TODO: Move this sascha@326: to the backend and use a view. sascha@326: ingo@325: 2011-04-18 Ingo Weinzierl ingo@325: ingo@325: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed ingo@325: the error key that is thrown if no input data was found so that the key ingo@325: is usable for GWT's i18n mechanism. ingo@325: ingo@324: 2011-04-18 Ingo Weinzierl ingo@324: ingo@324: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: ingo@324: The inserted river is validated now (overrides validate() of ingo@324: DefaultState). ingo@324: ingo@323: 2011-04-18 Ingo Weinzierl ingo@323: ingo@323: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@323: The inserted calculation method is validated now (overrides validate() ingo@323: of DefaultState). ingo@323: ingo@322: 2011-04-18 Ingo Weinzierl ingo@322: ingo@322: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@322: The input data of feed() are validated using the DefaultStates ingo@322: validate() method. ingo@322: ingo@322: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@322: New method validate() that needs to be overidden by concrete subclasses. ingo@322: It should return true, if the data of the State is fine, otherwise it ingo@322: should raise an exception. ingo@322: ingo@322: NOTE: The exceptions are not translated in the server but in the client! ingo@322: ingo@322: * src/main/java/de/intevation/flys/artifacts/states/RangeState.java: New. ingo@322: This abstract class exists to provide some methods for handling ranges. ingo@322: Currently, there is a method that validates a given range based on ingo@322: min/max values. ingo@322: ingo@322: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, ingo@322: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@322: Implemented input data validation for ranges. ingo@322: ingo@322: NOTE: The input validation of concrete values has not been implemented ingo@322: yet! ingo@322: ingo@321: 2011-04-18 Ingo Weinzierl ingo@321: ingo@321: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@321: Removed debug code that has been commited by accident :-/ ingo@321: ingo@320: 2011-04-18 Ingo Weinzierl ingo@320: ingo@320: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The ingo@320: getGauge() method returns the first gauge based on the given start and ingo@320: end point of the river. ingo@320: ingo@320: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@320: Fixed potential bugs: if no gauge could be determined, the default ingo@320: values for W and Q are the minimum and maximum double values. ingo@320: ingo@319: 2011-04-15 Ingo Weinzierl ingo@319: ingo@319: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Fills ingo@319: the DESCRIBE with default values for W and Q. ingo@319: ingo@318: 2011-04-15 Ingo Weinzierl ingo@318: ingo@318: * src/main/java/de/intevation/flys/artifacts/model/WstFactory.java: ingo@318: New. Returns Wst object - based on a river. ingo@318: ingo@317: 2011-04-15 Ingo Weinzierl ingo@317: ingo@317: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Now ingo@317: provides some methods that return some basic objects inserted while ingo@317: parameterization: River, Gauge and so on. ingo@317: ingo@316: 2011-04-15 Ingo Weinzierl ingo@316: ingo@316: * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java, ingo@316: src/main/java/de/intevation/flys/artifacts/services/RiverService.java: ingo@316: Bugfix: Repaired broken imports of the SessionHolder. ingo@316: ingo@315: 2011-04-15 Ingo Weinzierl ingo@315: ingo@315: * src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java: ingo@315: Moved this class to flys-backend. ingo@315: ingo@315: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java, ingo@315: src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java, ingo@315: src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java, ingo@315: src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java, ingo@315: src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: ingo@315: Adapted imports of the SessionHolder. ingo@315: sascha@314: 2011-04-14 Sascha L. Teichmann sascha@314: sascha@314: * trunk/src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java, sascha@314: trunk/src/main/java/de/intevation/flys/artifacts/services/RiverService.java: sascha@314: Acquire/release sessions in services to avoid db connection leaks. sascha@314: ingo@313: 2011-04-14 Ingo Weinzierl ingo@313: ingo@313: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@313: Changed some method signatures - added a reference to the owner ingo@313: Artifact. ingo@313: ingo@313: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, ingo@313: src/main/java/de/intevation/flys/artifacts/states/WQSelect.java, ingo@313: src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@313: Modified method signatures based on the changes in DefaultState. ingo@313: ingo@313: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: ingo@313: Added default values to the dynamic part of DESCRIBE. ingo@313: ingo@312: 2011-04-14 Ingo Weinzierl ingo@312: ingo@312: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: ingo@312: Added a function that returns a River object based on a given river ingo@312: name. ingo@312: sascha@311: 2011-04-14 Sascha L. Teichmann sascha@311: sascha@311: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java, sascha@311: src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java, sascha@311: src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java, sascha@311: src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: sascha@311: Static methods are using the SessionHolder, too. sascha@311: ingo@310: 2011-04-14 Ingo Weinzierl ingo@310: ingo@310: * src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: ingo@310: Added the setup() method that has been added to the interface ingo@310: description in the last commits. ingo@310: ingo@310: * doc/conf/conf.xml: Registered the SessionCallContextListener as ingo@310: CallContext.Listener. ingo@310: ingo@309: 2011-04-14 Ingo Weinzierl ingo@309: ingo@309: * src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java: ingo@309: Bugfix: Call correct method to retrieve an instance of ingo@309: SessionFactoryProvider. ingo@309: sascha@308: 2011-04-14 Sascha L. Teichmann sascha@308: sascha@308: * src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java: sascha@308: New. Contains thread local session holder for hibernate sessions. sascha@311: sascha@308: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: sascha@308: Uses session from SessionHolder. sascha@308: sascha@308: * src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: sascha@308: Interacts with SessionHolder now. sascha@308: sascha@308: * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: sascha@308: Removed superfluous import. sascha@308: ingo@307: 2011-04-14 Ingo Weinzierl ingo@307: ingo@307: * src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: ingo@307: Implementation of a CallContext.Listener to open/close Hibernate ingo@307: Sessions for each request. ingo@307: ingo@306: 2011-04-14 Ingo Weinzierl ingo@306: ingo@306: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, ingo@306: src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@306: Some modifications related to the last commit - modification of the ingo@306: describe() signature of a State. ingo@306: ingo@305: 2011-04-14 Ingo Weinzierl ingo@305: ingo@305: * src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: ingo@305: Removed. We do not need a state to select a gauge - the selection takes ingo@305: place by choosing a start and an end point. ingo@305: ingo@304: 2011-04-13 Ingo Weinzierl ingo@304: ingo@304: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: ingo@304: Bugfix: added missing label node to root node and a namespace to the ingo@304: data node. ingo@304: ingo@303: 2011-04-12 Ingo Weinzierl ingo@303: ingo@303: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: ingo@303: The name of the artifact 'winfo' is written into the DESCRIBE document ingo@303: now. We need this to have a proper way to distinguish between different ingo@303: artifacts in the UI. ingo@303: ingo@302: 2011-04-12 Ingo Weinzierl ingo@302: ingo@302: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Bugfix: ingo@302: States are filled with data before they describe themself. ingo@302: ingo@301: 2011-04-11 Ingo Weinzierl ingo@301: ingo@301: * src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java: ingo@301: New. A factory that returns the annotations of a specific river. ingo@301: ingo@301: * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: ingo@301: New. This service provides a document that contains information about ingo@301: distances of a river. ingo@301: ingo@301: * doc/conf/conf.xml: Registered the DistanceInfoService. ingo@301: ingo@300: 2011-04-06 Ingo Weinzierl ingo@300: ingo@300: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@300: This collection overrides the out() operation now. The incoming request ingo@300: document is read and the related OutGenerator is used to create the ingo@300: output. ingo@300: ingo@300: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed ingo@300: the code to create discharge curves. It has moved to the ingo@300: DischargeCurveGenerator which now does this work. ingo@300: ingo@299: 2011-04-06 Ingo Weinzierl ingo@299: ingo@299: * src/main/java/de/intevation/flys/exports/OutGenerator.java: The ingo@299: generate() method throws an IOException now. ingo@299: ingo@299: * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java: ingo@299: New. This OutGenerator creates discharge curves. ingo@299: ingo@298: 2011-04-06 Ingo Weinzierl ingo@298: ingo@298: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed ingo@298: the visibility of the getData() method. It's now public, because the ingo@298: OutGenerator needs an artifact's data. ingo@298: sascha@297: 2011-04-03 Sascha L. Teichmann sascha@297: sascha@297: * src/**/*.java: Removed trailing whitespace. sascha@297: sascha@296: 2011-04-03 Sascha L. Teichmann sascha@296: sascha@296: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: sascha@296: Make project compilable again by sascha@296: commenting out a not existing XMLDebug reference. sascha@296: ingo@295: 2011-03-31 Ingo Weinzierl ingo@295: ingo@295: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@295: Added code to parse the configured OutGenerators and to save them (in a ingo@295: map) in the FLYSContext. ingo@295: ingo@295: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: ingo@295: Added a key that is used to save the OutGenerators Map in the context. ingo@295: ingo@294: 2011-03-31 Ingo Weinzierl ingo@294: ingo@294: * src/main/java/de/intevation/flys/exports/OutGenerator.java: ingo@294: New. This interface is used to generator different types of output. ingo@294: ArtifactCollections will make use of this interface to create a ingo@294: collected output of all its artifacts. ingo@294: ingo@293: 2011-03-30 Ingo Weinzierl ingo@293: ingo@293: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@293: Removed the Backend from FLYSArtifactCollection - used ArtifactDatabase ingo@293: operations instead. ingo@293: ingo@293: * TODO: Removed 'remove Backend reference' TODO. ingo@293: ingo@292: 2011-03-30 Ingo Weinzierl ingo@292: ingo@292: * doc/conf/artifacts/winfo.xml: Enhanced the configuration of the ingo@292: discharge curve output mode. This output now provides three facets - W, ingo@292: Q and the curve itself. ingo@292: ingo@291: 2011-03-30 Ingo Weinzierl ingo@291: ingo@291: Tagged RELEASE 0.1 ingo@291: ingo@159: 2011-03-30 Ingo Weinzierl ingo@159: ingo@159: * doc/conf/artifacts/winfo.xml: Renamed an output mode in the WINFO ingo@159: artifact configuration. ingo@159: ingo@158: 2011-03-29 Ingo Weinzierl ingo@158: ingo@158: * src/main/resources/messages_de_DE.properties, ingo@158: src/main/resources/messages_de.properties: Changed a german string. ingo@158: ingo@157: 2011-03-29 Ingo Weinzierl ingo@157: ingo@157: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@157: Modified the available calculation modes and its order in the DESCRIBE ingo@157: document. ingo@157: ingo@157: * src/main/resources/messages.properties, ingo@157: src/main/resources/messages_de_DE.properties, ingo@157: src/main/resources/messages_en.properties, ingo@157: src/main/resources/messages_de.properties: Adapted the names of ingo@157: calculation modes. ingo@157: ingo@156: 2011-03-28 Ingo Weinzierl ingo@156: ingo@156: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@156: Added the hash code of an artifact to the artifact part of the ingo@156: collection's DESCRIBE document. ingo@156: ingo@155: 2011-03-28 Ingo Weinzierl ingo@155: ingo@155: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Changed ingo@155: the background color of discharge curves to white. ingo@155: sascha@154: 2011-03-28 Sascha L. Teichmann sascha@154: sascha@154: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@154: Cache the scale, too. Otherwise two calls to getValues() with sascha@154: different arguments will result in the same output. sascha@154: ingo@153: 2011-03-28 Ingo Weinzierl ingo@153: ingo@153: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: ingo@153: Introduced a 'scale' parameter in the getValues() method. ingo@153: ingo@153: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Filled ingo@153: the out() operation with code that draws a discharge table of one or ingo@153: more gauges specified by the given range in entered in a previous state. ingo@153: ingo@152: 2011-03-28 Ingo Weinzierl ingo@152: ingo@152: * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: ingo@152: New. A helper class to exports charts. ingo@152: ingo@152: * pom.xml: Added dependencies to iText, Batik and JFreeChart. ingo@152: sascha@151: 2011-03-28 Sascha L. Teichmann sascha@151: sascha@154: * src/main/java/de/intevation/flys/importer/PegelGltParser.java: sascha@154: Fixed swap of operands. sascha@154: sascha@154: 2011-03-28 Sascha L. Teichmann sascha@154: sascha@151: * src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java: sascha@151: New. Load gauges for a river and filter them for given sascha@151: ranges. sascha@151: sascha@150: 2011-03-25 Sascha L. Teichmann sascha@150: sascha@150: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@150: Store data in a double [][] instead of interleaved double [] sascha@150: to be compatible with org.jfree.data.xy.DefaultXYDataset. sascha@150: ingo@149: 2011-03-25 Ingo Weinzierl ingo@149: ingo@149: * TODO: Removed 'i18n' and 'step-back' TODOs and added an issue to remove ingo@149: the Backend reference from FLYSArtifactCollection. ingo@149: ingo@148: 2011-03-25 Ingo Weinzierl ingo@148: ingo@148: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@148: Added missing artifact namespace of an attribute in the DESCRIBE ingo@148: document. ingo@148: ingo@147: 2011-03-24 Ingo Weinzierl ingo@147: ingo@147: * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: ingo@147: New. This ArtifactCollection overrides the DefaultArtifactCollection to ingo@147: implement FLYS specific describe() and out() operations. ingo@147: ingo@147: * doc/conf/conf.xml: Use the FLYSArtifactCollection instead of the ingo@147: DefaultArtifactCollection for this application. ingo@147: sascha@146: 2011-03-24 Sascha L. Teichmann sascha@146: sascha@146: * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: sascha@146: New. Fetches values of discharge tables in form of packed sascha@146: w/q double arrays for given gauges. sascha@146: sascha@146: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: sascha@146: Removed needless import. sascha@146: ingo@145: 2011-03-24 Ingo Weinzierl ingo@145: ingo@145: * src/main/resources/messages_de_DE.properties: Added a german resource ingo@145: bundle to avoid exceptions in the flys artifacts. Sometimes, the ingo@145: Resources class is not able to find a 'de_DE' bundle and throws an ingo@145: exception. This is really strange, because it should use the 'de' bundle ingo@145: in that case, but it doesn't. ingo@145: ingo@144: 2011-03-23 Ingo Weinzierl ingo@144: ingo@144: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added ingo@144: some code to append the output modes of previous states to the DESCRIBE ingo@144: document. ingo@144: ingo@144: TODO: Determine if the current state is already filled with data and ingo@144: append its output modes as well! ingo@144: ingo@143: 2011-03-22 Ingo Weinzierl ingo@143: ingo@143: * doc/conf/artifacts/winfo.xml: Enhanced the location_distance state with ingo@143: an output mode 'discharge_table'. ingo@143: ingo@142: 2011-03-21 Ingo Weinzierl ingo@142: ingo@142: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@142: Write human readable strings as label attribute into the DESCRIBE ingo@142: output. Those labels are used to be displayed in the GUI. ingo@142: ingo@141: 2011-03-21 Ingo Weinzierl ingo@141: ingo@141: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@141: Added some further calculation types. ingo@141: ingo@141: * src/main/resources/messages.properties, ingo@141: src/main/resources/messages_en.properties, ingo@141: src/main/resources/messages_de.properties: Added i18n strings for the ingo@141: calculation types ingo@141: ingo@140: 2011-03-21 Ingo Weinzierl ingo@140: ingo@140: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@140: Implemented the step-back part of the advance() operation. ingo@140: ingo@139: 2011-03-21 Ingo Weinzierl ingo@139: ingo@139: * src/main/resources/messages_de.properties: Fixed a german umlaut. ingo@139: ingo@138: 2011-03-18 Ingo Weinzierl ingo@138: ingo@138: * doc/conf/artifacts/winfo.xml: Added new states for entering a ingo@138: location/distance and w/q. ingo@138: ingo@138: * src/main/resources/messages.properties, ingo@138: src/main/resources/messages_en.properties, ingo@138: src/main/resources/messages_de.properties: New string for the ingo@138: location/distance and w/q input states. ingo@138: ingo@137: 2011-03-18 Ingo Weinzierl ingo@137: ingo@137: * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: ingo@137: New. A state for the W/Q input of the WINFO parameterization. ingo@137: ingo@136: 2011-03-18 Ingo Weinzierl ingo@136: ingo@136: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@136: Append an attribute 'uiprovider' to the dynamic UI node. ingo@136: ingo@136: * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: ingo@136: New. A state for the location/distance selection of the WINFO ingo@136: parameterization. ingo@136: ingo@135: 2011-03-17 Ingo Weinzierl ingo@135: ingo@135: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@135: Added a new method getUIProvider() that might be overriden by concreted ingo@135: subclasses that should be rendered with a specific UIProvider. ingo@135: ingo@134: 2011-03-17 Ingo Weinzierl ingo@134: ingo@134: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: ingo@134: The static UI part is created by the previous states now. This makes it ingo@134: possible to group the data objects (which is necessary to group the ingo@134: objects in the ui). ingo@134: ingo@134: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@134: Added a describeStatic() method that creates a node that contains the ingo@134: data of that state. ingo@134: ingo@133: 2011-03-17 Ingo Weinzierl ingo@133: ingo@133: * src/main/java/de/intevation/flys/artifacts/services/RiverService.java: ingo@133: Removed TODO: the document contains the rivers provided by the backend ingo@133: now. ingo@133: sascha@132: 2011-03-17 Sascha L. Teichmann sascha@132: sascha@132: * pom.xml: Added dependency to flys backend. sascha@132: sascha@132: * src/main/java/de/intevation/flys/artifacts/model/River.java: sascha@132: Removed. We are using the backend model now. sascha@132: sascha@132: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: sascha@132: Fetches the rivers from the backend. sascha@132: sascha@132: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: sascha@132: Import fixes. sascha@132: sascha@131: 2011-03-15 Sascha L. Teichmann sascha@131: sascha@131: * doc/conf/conf.xml: Added section for database backend configuration. sascha@131: sascha@130: 2011-03-15 Sascha L. Teichmann sascha@130: sascha@130: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: sascha@130: Fixed build error coming from different import of XMLUtils. sascha@130: ingo@129: 2011-03-14 Ingo Weinzierl ingo@129: ingo@129: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@129: Appended the missing label node that contains the human readable name of ingo@129: the data item. ingo@129: ingo@128: 2011-03-14 Ingo Weinzierl ingo@128: ingo@128: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, ingo@128: src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@128: I18N of strings for the DESCRIBE document. ingo@128: ingo@128: * src/main/resources/messages.properties, ingo@128: src/main/resources/messages_en.properties, ingo@128: src/main/resources/messages_de.properties: I18N strings for the ingo@128: calculcation mode state. ingo@128: ingo@127: 2011-03-14 Ingo Weinzierl ingo@127: ingo@127: * doc/conf/artifacts/winfo.xml: Modified the winfo states. ingo@127: ingo@127: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Adapted ingo@127: the artifact regarding the changes of the last commit. The states ingo@127: describe() method creates the dynamic UI node - the artifact needs to ingo@127: apply this node. ingo@127: ingo@127: * src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java: ingo@127: New. The state for choosing the calculation mode. ingo@127: ingo@127: * src/main/resources/messages.properties, ingo@127: src/main/resources/messages_en.properties, ingo@127: src/main/resources/messages_de.properties: Added i18n strings for the ingo@127: calculation mode state. ingo@127: ingo@126: 2011-03-14 Ingo Weinzierl ingo@126: ingo@126: * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: ingo@126: New. This is the base state for the FLYS application. It provides a ingo@126: method that creates the dynamic ui node for the DESCRIBE. ingo@126: ingo@126: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, ingo@126: src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: Both ingo@126: classes extend the abstract base class DefaultState. ingo@126: ingo@125: 2011-03-14 Ingo Weinzierl ingo@125: ingo@125: * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: ingo@125: New. This class retrieves the i18n strings from a ResourceBundle. ingo@125: ingo@125: * src/main/resources/messages.properties, ingo@125: src/main/resources/messages_en.properties, ingo@125: src/main/resources/messages_de.properties: Resource files for german and ingo@125: english translation. ingo@125: ingo@124: 2011-03-10 Ingo Weinzierl ingo@124: ingo@124: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Appended ingo@124: the data that have been inserted in former states into the static node ingo@124: of the DESCRIBE. ingo@124: ingo@123: 2011-03-10 Ingo Weinzierl ingo@123: ingo@123: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The ingo@123: operations feed() and advance() return the description of the artifact ingo@123: using the describe() operation. This avoids additional server round trips ingo@123: in the client - the clients gets to know about the new state of the ingo@123: artifact immediately. ingo@123: ingo@122: 2011-03-10 Ingo Weinzierl ingo@122: ingo@122: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@122: Implemented a part (step forward) of the advance operation. ingo@122: ingo@122: * TODO: Implement Step-Back in advance operation. ingo@122: ingo@121: 2011-03-09 Ingo Weinzierl ingo@121: ingo@121: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: ingo@121: Implemented the abstract method getName(). It returns the constant ingo@121: 'winfo' string. ingo@121: ingo@121: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: ingo@121: Implemented the feed action. The data of an incoming feed() operation is ingo@121: stored in StateData objects that are saved in a map in the artifact. ingo@121: ingo@121: NOTE: There is no input validation and no i18n of error messages (see ingo@121: TODO). ingo@121: ingo@120: 2011-03-09 Ingo Weinzierl ingo@120: ingo@120: * TODO: This file contains some open points that need to be done. ingo@120: ingo@119: 2011-03-09 Ingo Weinzierl ingo@119: ingo@119: * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New. This ingo@119: artifact serves as the default artifact for the FLYS application. ingo@119: ingo@119: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: This ingo@119: artifact now inherits from FLYSArtifact. Furthermore, there is one big ingo@119: change: we don't store the State objects itself in the artifact, but ingo@119: just the identifier of those. This makes the artifact smaller and more ingo@119: compatible agains previous versions of the software. ingo@119: ingo@118: 2011-03-08 Ingo Weinzierl ingo@118: ingo@118: * src/main/java/de/intevation/flys/artifacts/services/RiverService.java: ingo@118: New. This service will retrieve a list of provided rivers. ingo@118: ingo@118: * doc/conf/conf.xml: Added a configuration for the RiverService. ingo@118: ingo@117: 2011-03-07 Ingo Weinzierl ingo@117: ingo@117: * doc/conf/conf.xml: Added a section user-factory and collection-factory in ingo@117: the factories part of the configuration. ingo@117: ingo@116: 2011-03-01 Ingo Weinzierl ingo@116: ingo@116: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: ingo@116: Replaced the 'special' attribute from DESCRIBE with a 'uiprovider' ingo@116: attribute. ingo@116: ingo@115: 2011-02-08 Ingo Weinzierl ingo@115: ingo@115: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The ingo@115: RiverSelect state is called to create the UI part of the describe ingo@115: document. ingo@115: ingo@115: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java: ingo@115: Implemented the dynamic UI part of describe(). The static part is not ingo@115: inserted into the describe document at the moment. We need a reference to ingo@115: the previous states for this. ingo@115: ingo@114: 2011-02-08 Ingo Weinzierl ingo@114: ingo@114: * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java, ingo@114: src/main/java/de/intevation/flys/artifacts/model/River.java: New. A model ingo@114: class that represents a river and its factory to create concrete river ingo@114: instances. ingo@114: NOTE: Currently, this is just a mockup. The factory just returns two ingo@114: static rivers "Mosel" and "Saar" without a connection to a backend. ingo@114: ingo@113: 2011-02-07 Ingo Weinzierl ingo@113: ingo@113: * src/main/java/de/intevation/flys/artifacts/states/StateFactory.java: The ingo@113: input data of a state is initialized with empty StateData objects after ingo@113: the State has been created. ingo@113: ingo@113: * doc/conf/artifacts/winfo.xml: Renamed the input data nodes of the states ingo@113: which now fits better to the class name of the implementation. ingo@113: ingo@112: 2011-02-07 Ingo Weinzierl ingo@112: ingo@112: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The ingo@112: describe document returned by this artifact now contains the current state ingo@112: and the reachable states. ingo@112: ingo@111: 2011-02-07 Ingo Weinzierl ingo@111: ingo@111: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@111: The transitions are put into the TransitionEngine with the ID of the state ingo@111: - not longer with the artifact name. On this way, we are able to fetch ingo@111: just the transitions for a specific state, instead of all the transitions ingo@111: of an artifact. ingo@111: ingo@110: 2011-02-04 Ingo Weinzierl ingo@110: ingo@110: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Describe() ingo@110: returns the artifact's uuid and hash value. The whole implementation of ingo@110: describe() is still outstanding. ingo@110: ingo@109: 2011-02-04 Ingo Weinzierl ingo@109: ingo@109: * doc/conf/artifacts/winfo.xml: Removed useless config stuff. ingo@109: ingo@109: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed ingo@109: useless methods, and improved the init process - the first state is set as ingo@109: the current state for this artifact. ingo@109: ingo@109: * src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, ingo@109: src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: New. ingo@109: The states are used in the first two steps of the WINFOArtifact. ingo@109: Currently, they just implement stubs of the necessary methods setup() and ingo@109: describe(). ingo@109: ingo@107: 2011-02-04 Ingo Weinzierl ingo@107: ingo@107: * src/main/java/de/intevation/flys/artifacts/states/State.java, ingo@107: src/main/java/de/intevation/flys/artifacts/transitions/TransitionEngine.java, ingo@107: src/main/java/de/intevation/flys/artifacts/transitions/Transition.java: ingo@107: Removed. These classes are placed in the artifact-database now. ingo@107: ingo@107: * src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java, ingo@107: src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java: ingo@107: Adapted imports of Transition. ingo@107: ingo@107: * src/main/java/de/intevation/flys/artifacts/states/StateFactory.java: New. ingo@107: This factory should be used to create concrete State objects. ingo@107: ingo@107: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: Added ingo@107: a constant key to store the StateEngine in the context. ingo@107: ingo@107: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@107: New method that initializes the states at application start. ingo@107: ingo@106: 2011-02-03 Ingo Weinzierl ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/states/State.java: New. The ingo@106: interface description of a state. ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/transitions/Transition.java, ingo@106: src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java: ingo@106: New. The interface description and a default implementation of a ingo@106: transition. ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/transitions/TransitionEngine.java: ingo@106: New. The TransitionEngine stores all transitions for each artifact and ingo@106: should be used to determine, if an artifact can advance from one state to ingo@106: another. ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java: ingo@106: New. Transitions should be created by using this class. ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: New. ingo@106: The Flys context. It currently defines keys to store important components ingo@106: in the context. ingo@106: ingo@106: * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: ingo@106: New. The context factory initializes the basic components of the ingo@106: application. Currently, the TransitionEngine is created and all artifacts ingo@106: with its transitions are read from the global configuration and stored in ingo@106: the FLYSContext. ingo@106: ingo@106: * pom.xml: Added a dependency to the 'artifacts-common' package. ingo@106: ingo@106: * doc/conf/artifacts/winfo.xml: Corrected the classname of the ingo@106: DefaultTransition. ingo@106: ingo@106: * doc/conf/conf.xml: Added FLYSContextFactory as context-factory. ingo@106: ingo@105: 2011-02-02 Ingo Weinzierl ingo@105: ingo@105: * doc/conf/conf.xml: An initial configuration file for the FLYS artifact ingo@105: server. ingo@105: ingo@105: * doc/conf/artifacts/winfo.xml: An initial transition configuration of an ingo@105: WINFO artifact. ingo@105: ingo@105: * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: A stub of ingo@105: an artifact for a WINFO parameterization. ingo@105: ingo@105: * pom.xml: Set the source code version to 1.5. ingo@105: sascha@104: 2011-02-01 Sascha L. Teichmann sascha@104: sascha@104: * src/**, pom.xml: Added initial maven project. sascha@104: * ChangeLog: new.