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.