# HG changeset patch # User Thomas Arendsen Hein # Date 1348827339 -7200 # Node ID 3cda41b5eb239c185cb9febb645e33e36d092c1e # Parent 8490faba00e70824029b7ae01dd97447e72d681e# Parent f0a67bc0e77724a838a0525d9030d3999df50fc1 dummy merge for repo head diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/ChangeLog Fri Sep 28 12:15:39 2012 +0200 @@ -1,3 +1,5855 @@ +2012-09-29 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java: + Also add the artifact name to the artifact description. + +2012-09-29 Björn Ricks + + * doc/conf/conf.xml, + src/main/java/de/intevation/flys/artifacts/GaugeDischargeCurveArtifact.java, + src/main/java/de/intevation/flys/artifacts/AbstractStaticStateArtifact.java, + src/main/java/de/intevation/flys/artifacts/model/GaugeDischargeCurveFacet.java: + Implement new Artifacts and State for displaying discharge curves at a + gauge. + +2012-09-29 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/states/StaticState.java: + Make addOuput public. Allow StaticArtifacts to add static outputs to the + state. + +2012-09-29 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: + Add protected method addFacets to allow child classes to add facets + without accessing the member variable. + +2012-09-28 Ingo Weinzierl + + * doc/conf/meta-data.xml: Added 'info' column to the dem section of the + datacage. + +2012-09-28 Felix Wolfsteller + + Work on issue724 (i18n in minfo). + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + i18n strings. + +2012-09-27 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java, + src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java: + Whitespace-cosmetics. + + * src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java: + Doc. + +2012-09-27 Felix Wolfsteller + + Work on issue724 (i18n in minfo). + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + i18n strings. + + * src/main/java/de/intevation/flys/exports/MiddleBedHeightGenerator.java: + Fix typo. + +2012-09-27 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java: + Removed invalid entries of the SQL projection. + +2012-09-27 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java, + Added more data fields from SedDB to calculate the fraction parts. + + src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java: + Have now previous and next Measurement attached. + +2012-09-27 Felix Wolfsteller + + Fix part of issue871 (selected flow-veloc- parameter shown wrong). + + * src/main/java/de/intevation/flys/artifacts/states/DischargeState.java: + Fix conditional. + +2012-09-27 Felix Wolfsteller + + Fix issue863 (gaps in middle height bed data). + + * src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java: + Handle missing data. + +2012-09-27 Ingo Weinzierl + + * src/main/java/de/intevation/flys/wsplgen/FacetCreator.java: Set + missing 'originalExtent' attribute of the WSPLGEN layer. + +2012-09-27 Felix Wolfsteller + + Towards fix issue863 (gaps in middle height bed data). + + * src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightData.java + (addAll): Do not expose single add*-Methods, instead always add a full + set of data. + Added new isEmpty-data and query it before exporting data as + double[][] to e.g. ChartGenerator. + + * src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java: + Do not use single add()*-Methods, instead call new addAll method. + Find out whether a gap-value is present. + + * src/main/java/de/intevation/flys/exports/MiddleBedHeightGenerator.java: + Prevent skipping of NaNs (gaps). + +2012-09-27 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/map/WMSLayerFacet.java, + src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java, + src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java: + Removed trailing whitespace. + +2012-09-27 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/Measurements.java + * src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java: + Add more symbols. + + * src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java: + Adjust symbols. + +2012-09-26 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: + Change createOutputModes method to be private. It is not used in a child + class. + +2012-09-26 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java, + src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java, + src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java: + Mark FLYSArtifact data member as private and add setter method. + +2012-09-26 Christian Lins + + * doc/conf/second-themes.xml, + doc/conf/default-themes.xml: + Enable line labels for Delta W/t sector average lines (#896). + +2012-09-26 Ingo Weinzierl + + * doc/conf/mapserver/db_layer.vm: Set initial projection of the database + to "epsg:31467". + + * doc/conf/mapserver/mapfile.vm: Set initial projection of the database to + "epsg:31467". Set the max extent to the extent of the river Saar. + + TODO: Set the max extent to the extent of germany! + + * src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSFloodmapsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryPolyArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSGaugeLocationArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java, + src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java, + src/main/java/de/intevation/flys/artifacts/MapArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSLineArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java: + Added a parameter "reproject" to the getExtent() method. If reproject is + set, the method should return the extent of the layer in the projection + that is specified for the relevant river in the configuration. + Otherwise, this method should return the extent in the projection that + is used by the database. + + * src/main/java/de/intevation/flys/artifacts/model/map/WMSLayerFacet.java: + Added new attributes and methods for the original extent of a layer. The + original extent is used in the XML document that is generated by + toXML(). + + * src/main/java/de/intevation/flys/exports/MapGenerator.java: Use the + getOriginalExtent() method of WMSLayerFacet to determine the max extent + for the map (maps should be in the river projection specified in the + configuration). + +2012-09-26 Christian Lins + + * doc/conf/artifacts/fixanalysis.xml, + doc/conf/artifacts/manualpoints.xml, + doc/conf/themes.xml, + src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java, + src/main/java/de/intevation/flys/artifacts/FixationArtifact.java, + src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java, + src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java: + Rename fix_derivate facet to enable manual points in the derived curve chart. + +2012-09-25 Felix Wolfsteller + + * doc/conf/artifacts/manualpoints.xml: Re-enable manualpoints + compatibility. + +2012-09-24 Christian Lins + + * src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java: + Fix for #825 ? + +2012-09-24 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadOverview.java: + Fixed SQL statement. Exclude data where km is null. + +2012-09-24 Christian Lins + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java: + Fixing analysis longitudinal section chart has now initially + deactivated A1/B facets. W/Q and W(t) has activated facets. (#874) + +2012-09-24 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java: + Remove info-url from gauge and river in the response and add official + number to the river. + +2012-09-23 Christian Lins + + * doc/conf/default-themes.xml, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + W(Q) chart: q sectors are now black and labeled by default (#875). + +2012-09-23 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/GaugeInfoService.java: + Cosmetics. + +2012-09-23 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: + Removed trailing whitespace. + +2012-09-23 Christian Lins + + * doc/conf/second-themes.xml, + doc/conf/default-themes.xml, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Themes and i18n of Delta W/t's A1/B facets (#876). + +2012-09-23 Christian Lins + + * doc/conf/artifacts/fixanalysis.xml, + doc/conf/themes.xml, + doc/conf/second-themes.xml, + doc/conf/default-themes.xml, + src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java, + src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Add reference period facet to delta W/t chart (#877). + +2012-09-22 Christian Lins + + * src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Longitudinal section chart does now respect the bounds of the drawn + areas, so that no clipping occurs (#878). + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + i18n corrections. + +2012-09-22 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixATWriter.java: + Cosmetics, doc. + +2012-09-22 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: + Prevent ArrayIndexOutOfBounds. + +2012-09-22 Felix Wolfsteller + + Document issue880 (extrapolation of wkms). + + * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: + Do not extrapolate, mention further issues with the code. + +2012-09-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffYearResult.java, + src/main/java/de/intevation/flys/artifacts/states/minfo/DifferencesState.java, + src/main/java/de/intevation/flys/exports/minfo/BedDifferenceEpochGenerator.java, + src/main/java/de/intevation/flys/exports/minfo/BedDifferenceYearGenerator.java: + Removed trailing whitespace. + +2012-09-21 Raimund Renkert + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings for bedheight difference charts. + +2012-09-21 Raimund Renkert + + * doc/conf/themes.xml, + doc/conf/second-themes.xml, + doc/conf/default-themes.xml: + Added themes for bedheight difference charts. + +2012-09-21 Raimund Renkert + + * doc/conf/meta-data.xml: + Add river annotations to bedheight difference charts. + +2012-09-21 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/minfo/BedDiffHeightYearInfoGenerator.java, + src/main/java/de/intevation/flys/exports/minfo/BedDiffHeightYearGenerator.java, + src/main/java/de/intevation/flys/exports/minfo/BedDiffEpochInfoGenerator.java, + src/main/java/de/intevation/flys/exports/minfo/BedDiffYearInfoGenerator.java, + src/main/java/de/intevation/flys/exports/minfo/BedDifferenceEpochGenerator.java, + src/main/java/de/intevation/flys/exports/minfo/BedDifferenceYearGenerator.java: + New. Chart generators for bedheight diff calculation charts. + + * src/main/java/de/intevation/flys/artifacts/states/minfo/DifferencesState.java: + Add facets to generate outputs. + + * src/main/java/de/intevation/flys/artifacts/access/BedDifferencesAccess.java: + Extract calculation relevant data. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedDifferencesResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffYearResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffEpochResult.java: + Updated result set data fields. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffCalculation.java: + Updated the bedheight difference calculation. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Added new facet types. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffEpochFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffYearFacet.java: + New facets for bedheight differences. + + * doc/conf/conf.xml: + Added ouput generators. + + * doc/conf/artifacts/minfo.xml: + Added facets to outputmodes. + +2012-09-21 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeight.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightSingle.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightEpoch.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightFactory.java: + Updated data fields to fit the needs of bedheight difference calculation. + +2012-09-21 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java: + Return also the gauge official number in a service response. + +2012-09-21 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java: + Use Gauge and River fetchInfoURL instead of getInfoURL until the URLs are + fetched from the db. + +2012-09-21 Felix Wolfsteller + + Fix issue887 (HYKs in New Chart). + + * src/main/java/de/intevation/flys/artifacts/HYKArtifact.java: + Lower the Casting requirement to FLYSArtifact instead of + WINFOArtifact. + +2012-09-21 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java: + Return also the gauge and river info-url in a service response. + +2012-09-20 Felix Wolfsteller + + Fix issue886 (do not show waterline if out of range). + + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: + Do not extrapolate waterlines. + +2012-09-21 Felix Wolfsteller + + Better Partial issue880 (diverse DC). + + * doc/conf/meta-data.xml: Remove double entry for annotations in + longitudinal section case but keep recommending it. + +2012-09-20 Felix Wolfsteller + + Partial issue880 (diverse DC). + + * doc/conf/meta-data.xml: Remove double entry for annotations in + longitudinal section case. + +2012-09-20 Christian Lins + + * doc/conf/second-themes.xml, + doc/conf/default-themes.xml, + src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java, + src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java: + Theme area transparency fixed for longitudinal section chart (#879). + +2012-09-20 Felix Wolfsteller + + Improvements for manual points in fixation diags. + + * doc/conf/artifacts/fixanalysis.xml: Add LS-manual points. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Add missing ChartTypes. + +2012-09-20 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffCalculation.java: + New. Calcuation for bed height differences. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedDifferencesResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffEpochResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffYearResult.java: + New. Bed height calculation results. + + * src/main/java/de/intevation/flys/artifacts/access/BedDifferencesAccess.java: + New. Access object to get bed height difference parameters from artifact. + +2012-09-20 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightFactory.java: + Create separate objects for bed height epochs and single bed heights. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeight.java: + Added morph. width. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightEpoch.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightSingle.java: + New. Separate classes for bed height epochs and single bed heights. + +2012-09-20 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/minfo/BedQualityExporter.java: + Add dates to csv header. + +2012-09-20 Raimund Renkert + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n string for bed quality CSV export. + +2012-09-20 Christian Lins + + * doc/conf/artifacts/fixanalysis.xml, + doc/conf/artifacts/manualpoints.xml, + src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java, + src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java, + src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java, + src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java: + Work on manual points in fix analysis charts (not yet working). + +2012-09-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/minfo/BedQualityExporter.java: + Removed superfluous imports. + +2012-09-19 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/minfo/BedQualityExporter.java: + New. CSV exporter for bed quality calculation result. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadDiameterResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiameterResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedParametersResult.java: + Added getter with km as parameter. + + * src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java: + Added facet for csv export. + + * doc/conf/artifacts/minfo.xml: + Added output mode. + + * doc/conf/conf.xml: + Added export generator. + +2012-09-19 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java: + Return also the station in a service response. + +2012-09-18 Christian Lins + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FunctionSelect.java: + Cosmetics. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java: + A and B facets of fix analysis are now deactivated by default (#717). + +2012-09-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/extreme/ExtremeCalculation.java: + Extract parameters needed for calculation from access. + + * src/main/java/de/intevation/flys/utils/DoubleUtil.java(isValid): + Added method to check if 2d double array is valid. + +2012-09-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java, + src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java, + src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: + Use generics aware Collections.emptyList(). + +2012-09-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityCalculation.java, + src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java, + src/main/java/de/intevation/flys/exports/minfo/BedQualityGenerator.java, + src/main/java/de/intevation/flys/exports/OutputHelper.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/themes/ThemeFactory.java, + src/main/java/de/intevation/flys/themes/ThemeMapping.java, + src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: + The usual whitespace and import cleanups. + +2012-09-18 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java: + Avoid loading empty data sets. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityCalculation.java: + Load bedload data sets... + +2012-09-18 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/states/minfo/CharDiameter.java: + Removed incorrect characteristic diameter. + +2012-09-18 Christian Lins + + * doc/conf/default-themes.xml: + Update point themes of fixing W/Q chart to show point descriptions + per default (#685). + +2012-09-18 Felix Wolfsteller + + i18n for area label (fix issue487). + + * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Get internationalized label and numberformat, pass it to renderer, + where its used. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: Area label translations. + +2012-09-18 Christian Lins + + * src/main/java/de/intevation/flys/collections/CollectionDescriptionHelper.java, + src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Add robustness checks to prevent NPEs (#859). + +2012-09-18 Felix Wolfsteller + + Brought showarea-theme setting back (fix issue865). + + * doc/conf/default-themes.xml, doc/conf/second-themes.xml: + Define showarea theme prop where its needed. + +2012-09-17 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityResult.java: + Added setter for date range. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityCalculation.java + Set correct date range for result. + +2012-09-17 Raimund Renkert + + Refactor MINFO bed quality resultsets and facets. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedLoadBedQualityResult.java, + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedBedQualityResult.java: + Removed. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityResult.java: + Container wrapping the single calculation results. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiameterResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadDiameterResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityDiameterResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedParametersResult.java: + New. Results containing calculated average diameter, porosity and density. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedPorosityFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadDiameterFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiameterFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDensityFacet.java: + Facets now return the concrete datatype using the facet index. + + * src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java: + Create a facet for each resultset. + + * src/main/java/de/intevation/flys/exports/minfo/BedQualityGenerator.java: + Use the classes containing the results. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityCalculation.java: + Use new classes for results and calculate porosity and density once + each period. + +2012-09-17 Ingo Weinzierl + + Tagged RELEASE 2.9.1 + +2012-09-17 Ingo Weinzierl + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: Added still missing + translations for state. + +2012-09-17 Ingo Weinzierl + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: Added missing translations + for state to select soundings. + + * src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java: + Added more debug output to find out how many single and epochs where + found. + +2012-09-17 Ingo Weinzierl + + * doc/conf/second-themes.xml, + doc/conf/default-themes.xml: Defined initial colors. + + * src/main/java/de/intevation/flys/exports/OutputHelper.java, + src/main/java/de/intevation/flys/themes/ThemeFactory.java, + src/main/java/de/intevation/flys/themes/ThemeMapping.java: Added more + debug output to understand why theme mappings don't match to facets. + +2012-09-17 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java: + Extract characteristic diameter only if the user selected a diameter. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityCalculation.java: + Calculate for selected diameter only. + +2012-09-16 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java, + src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadOverview.java, + src/main/java/de/intevation/flys/artifacts/model/SQOverview.java, + src/main/java/de/intevation/flys/exports/DurationCurveExporter.java, + src/main/java/de/intevation/flys/exports/fixings/ParametersExporter.java: + Fixed wrong assigned loggers. + +2012-09-16 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java: + Please _DO NOT_ use FLYSUtils in new code based on Access*! + Now the river name is fetch via access.getRiver(). + + * src/main/java/de/intevation/flys/artifacts/access/RiverAccess.java: + New. Almost all calculations need accessing the river name. + + * src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java, + src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java, + src/main/java/de/intevation/flys/artifacts/access/FixAccess.java, + src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java, + src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java: + Now extend RiverAccess. + +2012-09-16 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java: + Implemented the access methods needed for + "Auslagerung extremer Wasserspiegellagen". + + * src/main/java/de/intevation/flys/artifacts/model/Segment.java: + Move segment parsing to DoubleUtil to be usable with more data types. + The wire protocol should be the same for: + - "WINFO: W fuer ungleichwertige Abfluesse", + - "WINFO: Auslagerung extremer Wasserspiegellagen" + - "Fixierungsanalyse: Auslagerung von Wasserspiegellagen" + + * src/main/java/de/intevation/flys/utils/DoubleUtil.java: + Now contains the the code to parse segments. Found segments + are propagated back with a callback. + + * src/main/java/de/intevation/flys/artifacts/model/RangeWithValues.java: + Added toString() method. + +2012-09-16 Sascha L. Teichmann + + More infrastructure stuff for the "Auslagerung extremer Wasserspiegellagen". + + * src/main/java/de/intevation/flys/artifacts/model/extreme/ExtremeCalculation.java: + New. Stub for "Auslagerung extremer Wasserspiegellagen" calculation. + + * src/main/java/de/intevation/flys/artifacts/model/extreme/ExtremeResult.java: + New. Stub for the cacheable results of the calculation. + + * src/main/java/de/intevation/flys/artifacts/states/extreme/ExtremeCompute.java: + New. Stub compute state for the calculation. + + * src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java: + New. Sub access to the artifact to extract the relevant data. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java: + A little code reordering to keep related stuff together more closely. + +2012-09-16 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/BedHeightsArtifact.java, + src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java, + src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java, + src/main/java/de/intevation/flys/artifacts/QSectorArtifact.java, + src/main/java/de/intevation/flys/artifacts/FixationArtifact.java: + Removed some superfluous implementations of FacetTypes. + TODO: FacetTypes should be broken into smaller pieces. + ATM a lof of class implement it and share a lot of unnecessary + stuff. + +2012-09-15 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java, + src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java: + Deleted. Some nice code from the early days of the cross sections + but its unused nowadays. + +2012-09-15 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedBedQualityResult.java: + Removed superfluous imports. + + * src/main/java/de/intevation/flys/jfree/JFreeUtil.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiameterFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadDiameterFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedLoadBedQualityResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDensityFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedPorosityFacet.java, + src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java, + src/main/java/de/intevation/flys/exports/minfo/BedQualityInfoGenerator.java, + src/main/java/de/intevation/flys/exports/minfo/BedQualityGenerator.java: + Removed trailing whitespace. + +2012-09-15 Christian Lins + + * src/main/java/de/intevation/flys/artifacts/resources/Resources.java, + src/main/java/de/intevation/flys/utils/Formatter.java, + src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: + i18n messages are now formatted with correct (client) locale, not + server VM locale (#852).. + +2012-09-15 Christian Lins + + * doc/conf/artifacts/fixanalysis.xml, + doc/conf/artifacts/manualpoints.xml, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java: + Try to add support for ManualPoints in fixing charts (not working yet). + +2012-09-14 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java: + Fixed SQL-statement. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurements.java: + Added getter for all kms. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityCalculation.java: + Implemented the bed quality calculation. There are still some fixes to do, + e.g. extract a single result object for porosity and density. + +2012-09-14 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java: + Getter for characteristic diameter. + +2012-09-14 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java: + Create i18n facet descriptions. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: New i18n strings for facets + in bed quality calculation. + +2012-09-14 Ingo Weinzierl + + * doc/conf/artifacts/minfo.xml: Splitted facets for diameter of bed into + two facets: diameter for sublayer and toplayer. + + * doc/conf/themes.xml, + doc/conf/second-themes.xml, + doc/conf/default-themes.xml: Splitted themes for diameter of bed into + two themes. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Splitted facets for diameter of bed into two facets. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityResult.java: + New method to retrieve the diameter data. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedBedQualityResult.java: + New methods to retrieve the porosity, density and diameter data. + + * src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java: + Create two facets for bed diameter instead of a single one. + + * src/main/java/de/intevation/flys/exports/minfo/BedQualityGenerator.java: + Insert data supported by facets into chart. + +2012-09-14 Ingo Weinzierl + + * src/main/java/de/intevation/flys/jfree/JFreeUtil.java: Added function to + generate a randomized line. + +2012-09-14 Ingo Weinzierl + + * doc/conf/themes.xml: Defined new mappings for the six bed quality + facets. + + * doc/conf/second-themes.xml, + doc/conf/default-themes.xml: Added themes for new mappings in + themes.xml. The themes in second-themes are the same as in + default-themss. + +2012-09-14 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedBedQualityResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedLoadBedQualityResult.java: + Updated bed quality result objects. + +2012-09-14 Ingo Weinzierl + + * doc/conf/artifacts/minfo.xml: Splitted porosity and density facets into + two facets: a toplayer and a sublayer facet for each. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added + the new facets for toplayer and sublayer for porosity and density. + + * src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java: + Create Facets based on the calculation results. + + * src/main/java/de/intevation/flys/exports/minfo/BedQualityGenerator.java: + Use concrete result types in doXXXOut(). + +2012-09-13 Christian Lins + + * doc/conf/artifacts/fixanalysis.xml, + doc/conf/themes.xml, + src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java, + src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java: + Work on ManualPoints integration in fix analysis charts (wip). + + * src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java: + Fix missing import. + +2012-09-13 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java: + Added getter for calculation parameters. + + * src/main/java/de/intevation/flys/artifacts/model/BedQualityCalculation.java: + Removed. Moved to package de.intevation.flys.artifacts.model.minfo. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedLoadBedQualityResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedBedQualityResult.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityCalculation.java: + New. Calculation results and some more calculation stub. + +2012-09-13 Ingo Weinzierl + + * doc/conf/artifacts/minfo.xml, + src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java, + src/main/java/de/intevation/flys/artifacts/states/DischargeState.java, + src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: Renamed MINFO parameter + 'main.channel' -> 'main_channel' and 'total.channel' -> 'total_channel'. + +2012-09-13 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurement.java: + Added depth parameter to bed quality data. + +2012-09-13 Ingo Weinzierl + + * doc/conf/conf.xml: Registered new OutGenerators BedQualityGenerator and + BedQualityInfoGenerator. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedPorosityFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiameterFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadDiameterFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedDensityFacet.java: + New Facets for serving data for bed quality exports/charts. + + * src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java: + Add some dummy Facets to force chart creation. + + * src/main/java/de/intevation/flys/exports/minfo/BedQualityInfoGenerator.java, + src/main/java/de/intevation/flys/exports/minfo/BedQualityGenerator.java: + New OutGenerators for bed quality charts. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: New I18N strings for bed + quality charts. + +2012-09-13 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java: + The factory can load bedload and bed data from seddb now. + +2012-09-13 Raimund Renkert + + Objects and factory for minfo bedquality calculation data. + + * src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurements.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurement.java: + New. Data objects and factory for minfo bed quality calculation. + +2012-09-13 Felix Wolfsteller + + Added missing images for datacage config manual doc. + + * doc/datacage-config-manual/figures/bsh_logo.png, + doc/datacage-config-manual/figures/intevation-logo.eps, + doc/datacage-config-manual/figures/intevation-logo.pdf: + Logos for DC conf doc. + +2012-09-13 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java: + Add also min and max q values to the river info. + +2012-09-12 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/BedloadKMChartService.java, + src/main/java/de/intevation/flys/artifacts/services/BedKMChartService.java: + Removed trailing whitespace. + +2012-09-12 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/services/BedloadKMChartService.java, + src/main/java/de/intevation/flys/artifacts/services/BedKMChartService.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedOverview.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadOverview.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedOverviewFactory.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadOverviewFactory.java: + New. Services, data structures and factories for overview charts in minfo + bed quality calculation. + + * src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityPeriodsSelect.java: + New. State for period input in minfo bed quality that displays the overview + charts. + + * doc/conf/artifacts/minfo.xml: + Added states and transitions for minfo bed quality calculation. + + * doc/conf/conf.xml: + Added services. + +2012-09-12 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/BedQualityCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java, + src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java, + src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java: + Removed trailing whitespace. + +2012-09-12 Ingo Weinzierl + + * doc/conf/artifacts/minfo.xml: Defined facets for bed quality chart. + + * src/main/java/de/intevation/flys/artifacts/model/BedQualityCalculation.java: + Calculation stub for bed quality. + + * src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java: + Access stub for bed quality data. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added + facets defined in minfo.xml. + + * src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java: + Override computeAdvance; no calculation and facet creation takes place + yet. + +2012-09-11 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java: + Made AEo and datum attributes NPE proof. + +2012-09-11 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java: + Use getGaugeValue method also for aeo and datum. Also add some javadoc for + the getGaugeValue method. + +2012-09-11 Christian Lins + + * doc/conf/second-themes.xml, + doc/conf/default-themes.xml, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Fix for line text annotations in Delta W(t) charts (#837). + +2012-09-10 Christian Lins + + * src/main/java/de/intevation/flys/artifacts/states/GaugeTimerangeState.java: + Add additional check to prevent NPE (fix for #844) + +2012-09-10 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/RangeWithValues.java: + Extends Range now. + + * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: + Adjusted to use slightly different method names of Range. + +2012-09-10 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/Range.java: + Added disjoint method. + + * src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java: + Find a list of segments intersecting a given range. + + * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: + Generate a list of ranges needed for the input of Qs + in the "Auslagerung extremer Wasserspiegellagen.". + +2012-09-10 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/extreme/Curve.java: + Added type safety. + +2012-09-10 Sascha L. Teichmann + + * pom.xml: Java 1.5 -> 1.6 + +2012-09-10 Christian Lins + + * doc/conf/second-themes.xml, + doc/conf/default-themes.xml: + Remove unnecessary attributes for fixation derived curve (#836). + +2012-09-10 Björn Ricks + + * doc/conf/conf.xml, + src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java: + Add new artifact service for the gauge overview + +2012-09-09 Christian Lins + + * doc/conf/second-themes.xml, + doc/conf/default-themes.xml, + doc/conf/virtual-themes.xml, + src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java: + Theme transparency attribute support (part of #840). + +2012-09-09 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/extreme/Curve.java: + Store Ws and Qs in double arrays instead of WQ objects (as + they are return from WstValueTable.interpolateTabular()). + This simplifies the code and should be more memory effective. + +2012-09-09 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/math/Linear.java: + Added a vectorwise weighting. + + src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: + Added methods to interpolate tabulated values only. + Need in "Auslagerung extremer Wasserspiegellagen". + +2012-09-09 Christian Lins + + * doc/conf/second-themes.xml, + doc/conf/default-themes.xml, + doc/conf/virtual-themes.xml: + Updating themes for issue #840 (wip). + +2012-09-09 Christian Lins + + * doc/conf/second-themes.xml: + Modify every theme to differ from default theme (#835). + + * src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java: + Use gauge.getMainValues() instead of gauge.fetchMainValues() which fixes + a compiling issue on my setup. + +2012-09-08 Sascha L. Teichmann + + Some models for representing results for the upcoming + "Auslagerung extremer Wasserspiegellagen". Work im progress. + + * src/main/java/de/intevation/flys/artifacts/math/NaNFunction.java: + New. Function always return NaNs. + + * src/main/java/de/intevation/flys/artifacts/math/UnivariateRealFunctionFunction.java: + New. Adapter to bridge between our Functions and UnivariateRealFunctions + of Apache Common Math. + + * src/main/java/de/intevation/flys/artifacts/model/extreme/Curve.java: + New. Part of the result model of "Auslagerung extremer Wasserspiegellagen". + Its a function for a given km that uses a spline interpolation + for the tabulated Q range (which is effectively the same as the + calculated discharge curve for this km) and an extrapolated + function beyond the tabulated values. + +2012-09-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java, + src/main/java/de/intevation/flys/themes/DefaultTheme.java: + More iterator code simplification. + +2012-09-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/themes/DefaultThemeField.java: + Simplified code. + +2012-09-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java: + Simplified code. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java: + Improved robustness and performance. + Only expose date events as Collections not TreeSets. + +2012-09-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/QW.java: + New. a pure model for discharge and waterlevel. No extras. + + Makes reuse in upcoming "Auslagerung extremer Wasserspiegellagen" + a lot easier. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/QW.java: + Removed. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/QWI.java: + Re-inserted here. Extends the new QW and adds all the extra bells + and whistles needed in the fixings analysis. + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java, + src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingResult.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Adjusted QW to QWI. + +2012-09-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java; + Removed because code is found in backend already. + + * src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java: + Simplified. Please _DO_NOT_ use NullPointerExceptions for regular flow control! + This hides unintended errors. + +2012-09-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Removed code duplication. + +2012-09-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Removed trailing whitespace. + +2012-09-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/states/minfo/CharDiameter.java: + Removed superfluous imports. + +2012-09-08 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java, + src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java, + src/main/java/de/intevation/flys/artifacts/ChartArtifact.java, + src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java, + src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixATExport.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java, + src/main/java/de/intevation/flys/exports/TypeSection.java, + src/main/java/de/intevation/flys/jfree/DoubleBounds.java, + src/main/java/de/intevation/flys/jfree/Bounds.java: + Cosmetics, docs. + +2012-09-07 Raimund Renkert + + * doc/conf/artifacts/minfo.xml: + Add data fields for characteristic bed and bedload diameter. + + * src/main/java/de/intevation/flys/artifacts/states/minfo/CharDiameter.java: + Use parametermatrix as UI provider and set the correct data. + + * src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java, + src/main/java/de/intevation/flys/artifacts/states/MultiStringArrayState.java: + Updated method parameter. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings. + +2012-09-07 Raimund Renkert + + Issue 791. + + * src/main/java/de/intevation/flys/artifacts/states/EnterMultipleLocationsState.java: + Add start km to data to compare reference and target km in next state. + +2012-09-07 Ingo Weinzierl + + Tagged RELEASE 2.9 + +2012-09-07 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, + src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java: + Removed superfluous imports. + +2012-09-07 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java: + Removed the deprecated method. + + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: + Call the new Gauge model method fetchDurationCurveData(). + +2012-09-06 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java: + Mark getDurationCurveData as deprecated. The instance method of Gauge with + the same name should be used instead. + +2012-09-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java: + Revert accidentally committed experiment. + +2012-09-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java: + Comments, changed order of columns as requested in issue825. + +2012-09-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixATWriter.java: + Only goto down to Q = 0.0001 to circumvent some numerial issues + with steep functions around zero. + +2012-09-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixATWriter.java: + Increase Q max about 5% (as it should be). + +2012-09-04 Sascha L. Teichmann + + Fix for issue687 + + * src/main/java/de/intevation/flys/exports/fixings/FixATWriter.java: + Rewrote AT export to fix it. + +2012-09-03 Felix Wolfsteller + + Fix for issue820. + + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: + Changed label for middle height/depth. + +2012-09-03 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Default horizontal and vertical placement of logo to "center" and + "top" instead of "none." + +2012-09-03 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Improved comment regarding image placement. + +2012-09-03 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Fixed URLs for logos. + +2012-09-02 Felix Wolfsteller + + Fix issue744 (wrong ranges for w/q input). + + * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: + Do not add items for gauges that do not intersect with given range. + +2012-09-01 Felix Wolfsteller + + Fix issue829 (wrong fixation names). + + * src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java: + Fix check, column indices start with 0. + +2012-09-01 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeight.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightFacet.java, + src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java, + src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java, + src/main/java/de/intevation/flys/exports/ChoiceStringAttribute.java: + Removed trailing whitespace. + +2012-08-31 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Fix cast. + +2012-08-31 Raimund Renkert + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings for minfo bed quality parameters. + +2012-08-31 Björn Ricks + + * src/main/java/de/intevation/flys/artifacts/services/ModuleService.java, + src/main/java/de/intevation/flys/artifacts/model/Module.java, + src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java, + src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java, + src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties, + doc/conf/conf.xml: + Add a module service. It's now possible to configure the modules which are + available for a client. With the selected attribute it is possible to give + a hint for the client which module should be pre selected by default. + +2012-08-31 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java, + src/main/java/de/intevation/flys/artifacts/states/minfo/CharDiameter.java: + New. States for minfo bed quality calculation. + + * doc/conf/artifacts/minfo.xml: + Added states and transitions for minfo bed quality calculation. + +2012-08-31 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java: + Refactored state to use FLYSArtifact instead of WINFOArtifact. + +2012-08-31 Felix Wolfsteller + + Fix issue817 (double datacage entries). + + * doc/conf/meta-data.xml: removed double entries. + +2012-08-30 Felix Wolfsteller + + issue729, default line labels for waterlines in cross sections. + + * doc/conf/default-themes.xml: Default line label and level label + to true for lines in crossections.. + +2012-08-30 Felix Wolfsteller + + issue814, line labels do not follow zoom. + + * src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java: + Move line label into visible area if otherwise outside. + +2012-08-30 Felix Wolfsteller + + issue695, show waterlevel as line label. + + * src/main/java/de/intevation/flys/utils/ThemeUtil.java: + Fix path to showlevel style property. + +2012-08-30 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Mention how/where to change predefined logos in comment. + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Mention how/where to change predefined logos in comment, + Use resource for images. + + * src/main/resources/images/bfg_logo.gif, + src/main/resources/images/intevation.png: + Added sample logos of intevation and bfg. + +2012-08-29 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Copy and slightly modified XYChartGenerators logo mechanism. + +2012-08-29 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + (getLeftX, getRightX): New and overridden to deal with inverted axis + for logo placement in longitudinalsection charts. + +2012-08-29 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Use RectangleAnchor to set anchor of logo. + +2012-08-29 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: + Add Logo settings to CrossSection ChartSettings. + +2012-08-29 Felix Wolfsteller + + Split logo-placement property in two, one for horizontal, one for + vertical placement. + + * src/main/java/de/intevation/flys/exports/ChartSettings.java, + src/main/java/de/intevation/flys/exports/ChartSection.java: + Accessors for split property. + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java + (logoHPlace,logoVPlace,logoPlace): Use split properties for vertical + and horizontal placement of logo. + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Use split properties, respect in placement. + +2012-08-28 Felix Wolfsteller + + Sloppy logo placement property implementation. + + * src/main/java/de/intevation/flys/exports/ChartSettings.java: + Parse and set logo placement property value. + + * src/main/java/de/intevation/flys/exports/ChartSection.java: + Accessors for Logo placement property. + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java + (logoPlace): New, get logo placement property value. + (showLogo): Default to "none". + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Sloppy interpretation of the logo placement property. + +2012-08-28 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + (addLogo): New, add an image annotation to plot, very stubby, + use hard-coded paths for now. + +2012-08-28 Felix Wolfsteller + + Preparations for logo-inclusion in charts. + + * src/main/java/de/intevation/flys/exports/ChoiceStringAttribute.java: + New string attribute type to trigger different UI (selectboxes) + in client. + + * src/main/java/de/intevation/flys/exports/TypeSection.java + (setChoiceStringValue): Create new ChoiceStringAttribute. + + + * src/main/java/de/intevation/flys/exports/ChartSection.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/exports/ChartSettings.java: + Accessors to show logo-property. + +2012-08-28 Raimund Renkert + + MINFO: Implemented UI and facet/artifact stack for bed height differences. + + * src/main/java/de/intevation/flys/artifacts/model/minfo, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeight.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightFacet.java, + src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightFactory.java, + src/main/java/de/intevation/flys/artifacts/model/StaticBedHeightCacheKey.java: + New. Facet and data object incl. factory for bed heights. + + * src/main/java/de/intevation/flys/artifacts/states/minfo, + src/main/java/de/intevation/flys/artifacts/states/minfo/YearEpochSelect.java, + src/main/java/de/intevation/flys/artifacts/states/minfo/DifferenceSelect.java, + src/main/java/de/intevation/flys/artifacts/states/minfo/DifferencesState.java, + src/main/java/de/intevation/flys/artifacts/BedHeightsArtifact.java: + New. States for difference calculation mode and new artifact for difference + selection. + + * src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java: + Added getter for time (year or epoch). + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Added new facet type. + + * doc/conf/meta-data.xml: + Datacage config for minfo bed heights. + + * doc/conf/artifacts/minfo.xml: + Added transitions and states for minfo difference calculation. + + * doc/conf/conf.xml: + Added artifact factory. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings. + +2012-08-27 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/exports/ChartSettings.java: + (setDisplayGird, setDisplayGrid): Fixed typos. + +2012-08-23 Raimund Renkert + + FixA: Changed sector average form point to line in delta W(t) chart. + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Add data points for sector average and changed time unit for analysis period + from month to day. + + * doc/conf/default-themes.xml: + Changed theme for sector average to color line. + +2012-08-23 Raimund Renkert + + Issue 716. FixA: Spilt reference and analysis period themes into one theme for each event. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java: + Create a facet for each event and use new facet for sector average in + longitudinal section chart. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java: + The facets now return data for a single event. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAvSectorFacet.java: + New. This facet returns an analysis period containing the calculated + average. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java: + Added methods to get the dates for all reference and analysis period events. + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Fixed range combining. + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java: + Adjusted generators to use the data returned by the facets. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings. + +2012-08-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java: + Using trove to map int->int instead of bloated generics. + +2012-08-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Prevent another NPE. Removed dead code. + +2012-08-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java: + Each analysis period has its own index scheme now. + +2012-08-22 Christian Lins + + * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Fix for NullPointerException. + +2012-08-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java: + Made indices of analysis periods QWs zero based. + +2012-08-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/QW.java: + Store index, too. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java: + Adjusted to keep constructors in sync. + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java: + Set QD index to the values of the column cache columns. + +2012-08-22 Sascha L. Teichmann + + Use the column cache to establish a consistent index scheme. + TODO: Store the index values in the created QWDs. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + doFitting() fetches the columns from column cache, too. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java: + Reuse same column cache from fitting to have the same index scheme. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java: + Adjusted to use the column cache. + +2012-08-22 Christian Lins + + * src/main/java/de/intevation/flys/artifacts/model/HYKFacet.java, + src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: + Fix NullPointerExceptions in cross section diagrams that occurred when + no HYKs are available for the selected kms. + + * src/main/resources/messages_de_DE.properties, + src/main/resources/messages_de.properties: + Typo, see issue #806 + +2012-08-20 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixATExport.java: + Removed superfluous import. s/Double.valueOf/Double.parseDouble/. + +2012-08-17 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/fixings/FixATExport.java: + Removed debug outputs. + +2012-08-17 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/fixings/FixATExport.java: + New. Exporter for FixAnaylsis AT files. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java: + Add facet for AT export. + + * doc/conf/conf.xml: + Added out generator for fix AT export. + + * doc/conf/artifacts/fixanalysis.xml: + Added outputmode for AT export. + +2012-08-16 Felix Wolfsteller + + * doc/conf/artifacts/fixanalysis.xml: Add more facets to + compat list, removed doubled wq output. + +2012-08-16 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: + Shorten overlong lines. Simplified code. + +2012-08-16 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: + Interpolate and reduce WQKms if currentKm found in context. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Handle WQKms in WQOuts. + +2012-08-16 Felix Wolfsteller + + * doc/conf/artifacts/fixanalysis.xml: Add longitudinal section + facet type to compatibility list of W/Q diags. + +2012-08-16 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FunctionSelect.java: + Added getter for ui provider. + +2012-08-16 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + BasicStroke constructor takes an float as first argument + so there is no need to blow up an 'int' to an Integer + which is auto-unboxed to int which is implicitly cast to float. + +2012-08-15 Felix Wolfsteller + + * doc/conf/meta-data.xml: Do not hard-recommend gauge-dis. for fixwq. + +2012-08-15 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java: + Fail more gracefully. + +2012-08-14 Felix Wolfsteller + + * doc/conf/meta-data.xml: More former calculations in fixA (dwt) DC. + +2012-08-14 Felix Wolfsteller + + * doc/conf/meta-data.xml: More former calculations in fixA DC. + +2012-08-13 Felix Wolfsteller + + * doc/conf/artifacts/fixanalysis.xml: Add discharge curve facet to + compat. list. + + * doc/conf/meta-data.xml: Show discharge curves for FixA WQ DC. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Handle discharge curve data. + +2012-08-13 Felix Wolfsteller + + * doc/conf/artifacts/fixanalysis.xml: Add more facets to compat. list. + + * doc/conf/meta-data.xml: Show more additional data in FixA w/q-diag. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Handle new, annotation-type facets. + +2012-08-13 Felix Wolfsteller + + * doc/conf/artifacts/fixanalysis.xml: Added wqkms facets to comp. list. + + * doc/conf/meta-data.xml: Add wq-basedata and other stubs to fixA dc. + + * src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java + (getWQAtKm): Adjusted behaviour such that passed km can be + respected. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Handle WQFacets. + + * src/main/java/de/intevation/flys/artifacts/model/WQFacet.java: + Pass contexts current_km if available. + +2012-08-13 Felix Wolfsteller + + * doc/conf/artifacts/fixanalysis.xml: Added deltawt-out. + +2012-08-13 Felix Wolfsteller + + * doc/conf/meta-data.xml: Show former calculations in FixA WQ-DC. + +2012-08-13 Felix Wolfsteller + + * doc/conf/meta-data.xml: Show more former calculations in DeltaWTs + and fix query (and/or/() precedences). + +2012-08-13 Felix Wolfsteller + + * doc/conf/meta-data.xml: Show more former calculations in fixA LS. + +2012-08-13 Felix Wolfsteller + + * doc/conf/conf.xml: Renamed qsector(s) factory. + +2012-08-13 Felix Wolfsteller + + * doc/conf/meta-data.xml: Load annotations for fixA long.sections. + Add stubs for "old calculations"-dc-conf for various FixA outs. + + * src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java: + Handle annotation outs. + +2012-08-13 Felix Wolfsteller + + * doc/conf/themes.xml, doc/conf/default-themes.xml: + Added theme fields for qsectors label. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Add markers for the qsectors. + +2012-08-10 Felix Wolfsteller + + * doc/conf/themes.xml, doc/conf/default-themes.xml: + Fix some typos, correct defaults and add mapping for qsector-theme. + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java: + Cosmetics. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Add accidentally omitted change, stub for style-handling. + +2012-08-10 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/QSectorFacet.java, + src/main/java/de/intevation/flys/artifacts/states/QSectorSingleState.java, + src/main/java/de/intevation/flys/artifacts/QSectorArtifact.java: + Wording and i18n of qsectors. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Add Markers to plot for qsectors. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + i18n for qsectors. + +2012-08-10 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/states/QSectorSingleState.java: + New, accidentally omitted single state of a qsector-artifact. + +2012-08-10 Felix Wolfsteller + + * doc/conf/artifacts/fixanalysis.xml: Add qsectors-facet to + compatibility list. + + * doc/conf/conf.xml: Register qsector artifact and its factory. + + * doc/conf/meta-data.xml: Recommend qsectors in fix w/q settings. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Add qsector facet type. + +2012-08-10 Felix Wolfsteller + + * doc/conf/artifacts/qsector.xml: + Trivial state model for qsector artifact. + + * src/main/java/de/intevation/flys/artifacts/model/QSectorFacet.java: + Rather trivial facet to get QSectors from QSectorArtifact. + + * src/main/java/de/intevation/flys/artifacts/QSectorArtifact.java: + New QSectorArtifact. + +2012-08-09 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java, + src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java: + Cosmetics. + +2012-08-09 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/Fitting.java, + src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java: + Removed superfluous imports. + +2012-08-08 Felix Wolfsteller + + * doc/conf/meta-data.xml: Set info attribute (will evaluate as tooltip + in GUI. + +2012-08-07 Felix Wolfsteller + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Reflect fact that there can be only one reference station. + +2012-08-07 Felix Wolfsteller + + Fix issue798. + + * src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java: + Set Tick Units dependant on cm/m scale on X axis. + +2012-08-01 Sascha L. Teichmann + + Fix for flys/issue748 + + * src/main/java/de/intevation/flys/artifacts/model/sq/Fitting.java, + src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java: + Only remove one data point per outlier removal iteration. + +2012-07-31 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/math/Outlier.java: + Only evict only one(!) data point as outlier. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: + Recalculate the function when one point is removed. + +2012-07-31 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/math/Outlier.java: + Corrected the formulas of Grubbs' test for outliers. + TODO: Remove only one(!) data point. Currently it removes + more than on point without recalculating the fitting curve. + This leads to too much removed points. + +2012-07-30 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: + Setup better initial activity for the facets of the S/Q results. + +2012-07-30 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Use getCurrentKmFromRequest().doubleValue() in i18n formatting. + +2012-07-29 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + getCurrentKmFromRequest returns Double(!) not double. + + * src/main/java/de/intevation/flys/utils/ThemeUtil.java: + Use Double.parseDouble() instead od Double.valueOf(). + +2012-07-29 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: + Initially activate/deactivate facets. + +2012-07-29 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/collections/AttributeWriter.java, + src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java, + src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, + src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: + Refactored to use the new Chain-of-responsibility pattern in facet + activation. + +2012-07-29 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/GaugeInfoService.java: + Made expensive XMLUtils.toString() debug output conditional. + +2012-07-29 Sascha L. Teichmann + + Use the new infrastructure to figure out if a facet should + be initially active or not. + + * src/main/java/de/intevation/flys/collections/AttributeWriter.java: + Uses the FacetActivity.Registry to look up the initial acitiviy. + + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: + Do not use sub classing any more. + + * src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java, + src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java, + src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java, + src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java, + src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java, + src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java, + src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, + src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, + src/main/java/de/intevation/flys/artifacts/HYKArtifact.java: + Register to FacetActivity.Registry now. TODO: Make it configurable. + +2012-07-28 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/themes/ThemeFactory.java, + src/main/java/de/intevation/flys/collections/CollectionAttribute.java, + src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java, + src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java, + src/main/java/de/intevation/flys/artifacts/ChartArtifact.java, + src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java, + src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java, + src/main/java/de/intevation/flys/artifacts/MapArtifact.java: + s/container.size() == 0/container.isEmpty()/ + +2012-07-28 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: + Lowered logging output level from info to debug. + Made some more debug outputs conditional. + +2012-07-28 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: + Some code simplifications. + +2012-07-27 Sascha L. Teichmann + + Extented the result data model of the S/Q calculation to + store the curve coefficients for each iteration step + of the outlier elimination. The starting data set of S/Qs + is stored as well. + + TODOs: + - Create the new facets as inactive. + - Repair the facet to style mapping. + + * doc/conf/themes.xml: Added mappings for new facets. + + * doc/conf/artifacts/minfo.xml: Configured the new facets. + + * src/main/java/de/intevation/flys/exports/sq/SQRelationExporter.java: + Adjusted to new data model. + + * src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: + Generate facets for outlier curves and measurements. Simplified code. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + New facet types for outlier curves and meassurements. + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + New set() method to set an array of values by their names. + + * src/main/java/de/intevation/flys/artifacts/model/Segment.java: + Removed trailing whitespace. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java, + src/main/java/de/intevation/flys/artifacts/model/sq/SQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java: + Adjusted to new data model. Curves are drawn over the whole length of the + starting S/Q dataset. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierCurveFacet.java: + New. Facet for the curves of the outlier test iterations. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierMeasurementFacet.java + New. Facet for the meassurement data remainind after outlier test iteration. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Now creates the new data model. + + * src/main/java/de/intevation/flys/artifacts/model/sq/Fitting.java, + src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java: + Refactorted to have more control over the data structures to be generated. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java: + The new data model to represnt a fraction result. Each outlier test iteration + results in a different iteration object. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings for new facets. + +2012-07-27 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/model/QWDDateRange.java: + Added method getQWD() to retrieve the QWD property. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Avoid class cast exceptions; a QWDDateRange object is returned by WQ + sector average Facet - not a QWD object. Use new getter method to + retrieve the required data object. + +2012-07-27 Ingo Weinzierl + + Tagged module as '2.8.1'. + +2012-07-26 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/QWDDateRange.java: + New class. QWD and a DateRange. + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java: + Produce QWDDateRanges in state, consume in generator. + +2012-07-26 Ingo Weinzierl + + * doc/conf/artifacts/fixanalysis.xml: Registered new Output + 'fix_vollmer_wq_curve'. + + * doc/conf/conf.xml: Registered new FixWQCurveGenerator for + 'fix_vollmer_wq_curve'. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: Added new names for Facets + used in 'fix_vollmer_wq_curve' Output. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java: + Make use of FitResult (parent of FixAnalysisResult) which is enough for + these Facets instead of casting the calculation result to + FixAnalysisResult. + + * src/main/java/de/intevation/flys/artifacts/access/FixAnalysisAccess.java: + Fixed potential NullpointerException. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java: + Create new Facets for WQ curve, fix events and outliers. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Add subtitles only if the required data (date period and referenence + period) are existing. Otherwise do not add a subtitle. + +2012-07-26 Felix Wolfsteller + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Adjusted i18n strings (vollmer). + +2012-07-26 Christian Lins + + * doc/conf/virtual-themes.xml, + src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/themes/ThemeAccess.java, + src/main/java/de/intevation/flys/themes/TextStyle.java, + src/main/java/de/intevation/flys/themes/LineStyle.java, + src/main/java/de/intevation/flys/themes/ThemeFactory.java, + src/main/java/de/intevation/flys/themes/PointStyle.java, + src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java, + src/main/java/de/intevation/flys/jfree/XYStyle.java, + src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java: + Line labels and point labels share same styles and code. + Point labels can have a background color. + +2012-07-26 Felix Wolfsteller + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Adjusted i18n strings (vollmer). + +2012-07-26 Ingo Weinzierl + + * doc/conf/artifacts/fixanalysis.xml: Registered new Output + 'fix_waterlevel_export' for FixRealizingCompute State. + + * doc/conf/conf.xml: Registered new WaterlevelExport Generator for + 'fix_waterlevel_export'. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java: + Create proper CSV, WST and PDF Facets with hash and State id. + + * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Made + WaterlevelExporter support FixRealizingResult objects. + +2012-07-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixWaterlevelFacet.java: + Removed instanceof hack to fetch the WQKms of the fix realizations. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixWaterlevelFacet.java: + New. Subclass of WaterlevelFacet. Used to fetch the WQKms the fix realization way. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java: + Create the subclassed waterlevel facets. + +2012-07-25 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java: + Create proper facets for Ws and Qs. + +2012-07-25 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java: + Also add Q-Facet. + +2012-07-25 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java: + Add WaterlevelFacet. + + * doc/conf/artifacts/fixanalysis.xml: + Add output and facet compability. + +2012-07-25 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/access/FixRealizingAccess.java: + Fix data names in FixRealizingAccess. + +2012-07-25 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: + Handle slightly different access to Fixation-WQKms. + +2012-07-25 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java: + Handle slightly different access to Fixation-WQKms. + +2012-07-25 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationSelect.java: + Fix (last?) vol(l)mer naming issue. + +2012-07-24 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/states/StateFactory.java, + src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java + src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java + src/main/java/de/intevation/flys/themes/ThemeMapping.java: + s/.equals("")/.length() == 0/ + +2012-07-24 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/Calculation6.java, + src/main/java/de/intevation/flys/artifacts/model/WQTimerange.java, + src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java, + src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java, + src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Removed some superfluous casts. + +2012-07-23 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Removed some inner whitespace. + +2012-07-23 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java: + New base class for fixing analysis results. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingResult.java: + Inherits from FixResult. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java: + Calculation returns FixRealizingResult. + + * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: + Remove superfluous import. + + * src/main/java/de/intevation/flys/artifacts/model/Calculation4.java: + Cosmetics. + +2012-07-23 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: + Broke over long line. + + * src/main/java/de/intevation/flys/artifacts/model/Segment.java: + Added some getters. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java: + Calculated the Q -> Ws. TODO: Produce result. + +2012-07-23 Felix Wolfsteller + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Adjusted i18n strings (vollmer). + +2012-07-23 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/states/fixation/LocationSelect.java: + Set ld_mode so that FLYSUtils can use it. + +2012-07-23 Felix Wolfsteller + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Adjusted i18n strings (vollmer). + +2012-07-23 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java: + Handle FixationArtifacts with as much care as WINFOArtifacts, + by using refactore FLYSUtils. + +2012-07-23 Felix Wolfsteller + + Towards per-Gauge-input of W/Q values for FixationArtifact. + + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, + src/main/java/de/intevation/flys/utils/FLYSUtils.java: + (getGauges): Refactored, moved from WINFOArtifact to FLYSUtils. + + * src/main/java/de/intevation/flys/utils/FLYSUtils.java: + Handle unlucky differences in names of data for + WINFOArtifact/FixationArtifact. + + * doc/conf/artifacts/fixanalysis.xml: + (Re-)use WQAdapted State for fix.analysis. + +2012-07-23 Felix Wolfsteller + + * doc/conf/artifacts/winfo.xml, + src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java, + src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java, + src/main/java/de/intevation/flys/artifacts/model/HYKFacet.java, + src/main/java/de/intevation/flys/artifacts/model/RelativePointFacet.java, + src/main/java/de/intevation/flys/artifacts/states/fixation/QSelect.java, + src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, + src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java, + src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Cosmetics, docs. + +2012-07-23 Christian Lins + + * src/main/java/de/intevation/flys/artifacts/model/Segment.java, + src/main/java/de/intevation/flys/artifacts/model/Calculation4.java: + Moved code to convert W to Q at gauge to segments to be reusable. + +2012-07-23 Christian Lins + + * doc/conf/themes.xml, + doc/conf/second-themes.xml, + doc/conf/default-themes.xml: + Remove line style attributes from FixingReferenceEvents theme. + +2012-07-23 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/Calculation4.java + src/main/java/de/intevation/flys/artifacts/model/Segment.java: + Moved reference point comparator to segment class be be reusable + in FixA 'ausgelagerte Wasserspiegellagen'. + +2012-07-23 Christian Lins + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Simplify annotation code. + +2012-07-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Made abstract. Sub classes have to overwrite innerCalculate() + calculate() now figures out the fixings overview and the function + to fit and passes it to innerCalculate() + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java: + Overrides innerCalculate() now. + +2012-07-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: + Prevent NPE in getOutputForState(). Why does this happen? + +2012-07-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Made curve fitting over the given calculation range reusable. Removed dead code. + +2012-07-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java: + Moved more common code into base class. + +2012-07-21 Sascha L. Teichmann + + * contrib/fixoverview2html.xsl: Clip the displayed from/to ranges + of the gauges to the max extent of the events. + +2012-07-21 Sascha L. Teichmann + + * contrib/fixoverview2html.xsl: Embed german and english translations + into the stylesheet. This should be better done by importing + an external resource depending on the choosen locale! + +2012-07-21 Sascha L. Teichmann + + * contrib/fixoverview2html.xsl: Introduced i18n to transformation. + +2012-07-20 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java: + Wrong epsilon was taken so sector aggregation was not working + leading to too large result documents and wrong range display + on client side. + +2012-07-20 Sascha L. Teichmann + + * contrib/fixoverview2html.xsl: Render the names of the gauges into + the header line. Full name and spread is displayed as a tooltip. + +2012-07-20 Ingo Weinzierl + + * doc/conf/artifacts/minfo.xml: Use SQPeriodSelect state for the input of + a time range. The difference to PeriodSelect is the UI provider desired + by this state. + + * src/main/java/de/intevation/flys/artifacts/states/sq/SQPeriodSelect.java: + New subclass of PeriodSelect; this state wants to be rendered in a + 'sq.period.select' UI provider. + +2012-07-20 Sascha L. Teichmann + + * contrib/fixoverview2html.xsl: To help developing the + HTML overview stylsheet more quickly bring back in sync with + version of the flys-client. + +2012-07-20 Ingo Weinzierl + + * doc/conf/artifacts/minfo.xml: Changed the parameters for SQ relation + period selection; only a single period is allowed now. + + * src/main/java/de/intevation/flys/artifacts/states/PeriodSelect.java: New + class that allows the selection of a time period. + + * src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java: + Reduced support of time periods to a single period. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Adapted the usage of SQRelationAccess which method signature has + changed; it returns a single DateRange instance only. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: Modified the keys of the + state for SQ relation time period input. + +2012-07-20 Ingo Weinzierl + + * src/main/java/de/intevation/flys/exports/sq/SQOverviewGenerator.java: + Disabled legends in this overview. + +2012-07-20 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/sq/SQOverviewGenerator.java: + Removed superfluous imports. + +2012-07-20 Sascha L. Teichmann + + * src/main/resources/messages_de.properties, + src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties: + Fixed anomalies. + +2012-07-20 Ingo Weinzierl + + * src/main/java/de/intevation/flys/exports/ReportGenerator.java, + src/main/java/de/intevation/flys/exports/AbstractExporter.java, + src/main/java/de/intevation/flys/exports/ATExporter.java, + src/main/java/de/intevation/flys/exports/sq/SQOverviewGenerator.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/exports/MapGenerator.java, + src/main/java/de/intevation/flys/exports/OutGenerator.java, + src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: + Added a setCollection() method that allows the caller of OutGenerators + to set a reference to a FLYSArtifactCollection. + + * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Use setCollection() to set the reference to the current + FLYSArtifactCollection before using OutGenerators. + + * doc/conf/conf.xml: Registered the SQOverviewGenerator. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java: + Add a list of gauges which intersect the range of the selected columns: + + + + ... + + + + * src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java: + Store the name of the gauge, too. + + * src/main/java/de/intevation/flys/artifacts/model/GaugeFinderFactory.java: + Load the names of the gauges from database, too. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java: + Some minor refactoring. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java: + Call super constructor to retrieve the common data from the artifact. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + New. Common base class for Fix*Calculations. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java: + Moved common stuff to base class FixCalculation. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java: + Inherit from FixCalculation. + + * src/main/java/de/intevation/flys/artifacts/access/FixRealizingAccess.java: + Extract parameters that are only relevant for the + 'Ausgelagerte Wasserspiegellagen' calculation. + + isQ(): Must we convert the given values from W to Q first? + Used data field: 'fix_isq' + getSegments(): Segments same semantics as WINFO's + 'W fuer ungleichwertige Abfluesse.' + Used data field: 'fix_segments' + + * src/main/java/de/intevation/flys/artifacts/model/Segment.java, + src/main/java/de/intevation/flys/artifacts/access/FixAccess.java: + Cosmetics. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/access/FixAccess.java: + New. Common base class for the Fix*Access. + + * src/main/java/de/intevation/flys/artifacts/access/FixAnalysisAccess.java, + src/main/java/de/intevation/flys/artifacts/access/FixRealizingAccess.java: + Now inherit from FixAccess. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/ParametersExporter.java: + Prevent NPE. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixFacetUtils.java: + Use constant to lookup column instead of dynamically allocated array. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java: + Removed. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java: + Re-added here. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalDeviationFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java, + src/main/java/de/intevation/flys/exports/fixings/ParametersExporter.java, + src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java: + Adjusted. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java: + New. Stub for 'Ausgelagerte Wasserspiegellagen' calculation. + + * src/main/java/de/intevation/flys/artifacts/access/FixRealizingAccess.java: + New. Stub for accessing the artifact to extract the relevant parameters + for the 'ausgelagerte Wasserspiegellagen' calculation. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java: + Call the calculation if the state is reached. + + * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: + Removed trailing whitespace. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationVolmerCompute.java: + Deleted. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java: + Re-added here. + + * doc/conf/artifacts/fixanalysis.xml: Adjusted. BTW: Vollmer is spelled with two 'l's. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Removed. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java: + Re-added. + + * doc/conf/artifacts/fixanalysis.xml: Adjusted. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Deleted + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java: + Re-added. + + * src/main/java/de/intevation/flys/artifacts/access/FixAnalysisAccess.java, + src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Adjusted class name usage. + +2012-07-19 Christian Lins + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + native2ascii with properties files. + Show analysis periods as subtitle in W/Q chart. + +2012-07-19 Christian Lins + + * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, + src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, + src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, + src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java, + src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java, + src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java, + src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java, + src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Add subtitle to Fix W/Q chart. + Move addSubtitle() code from generators up to ChartGenerate which saves + a lot of duplicate code. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java: + Deleted. + + * src/main/java/de/intevation/flys/artifacts/access/FixAnalysisAccess.java: + Re-added. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalDeviationFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Adjusted class name usage. + +2012-07-19 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: + Sourced code to set default values of a parameter to an own method. + Subclasses should override this method. + + * src/main/java/de/intevation/flys/artifacts/states/OutliersInput.java: + Set default value for outliers to "3". + +2012-07-19 Christian Lins + + * src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java, + src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Add kilometer info to chart titles. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java, + src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java, + src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java, + src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java, + src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSLineArtifact.java, + src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/utils/FLYSUtils.java, + src/main/java/de/intevation/flys/exports/ChartSettings.java, + src/main/java/de/intevation/flys/jfree/XYStyle.java: + Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing. + +2012-07-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Replaced "string -> object -> native -> object" by simple "string -> object". + Removed stupid duplicate XPathing. + +2012-07-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java: + Use only blue as point color. + +2012-07-18 Sascha L. Teichmann + + Adjusted Delta W(t) CSV exporter to customers wishes. + + * src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java: + Reordered columns, removed description, added W and formatted date + via i18n. + + * src/main/java/de/intevation/flys/utils/Formatter.java: + Added method to get a formatter based on pattern and locale. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Adjusted i18n strings. + +2012-07-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java: + Classify each discharge range by the gauges which intersect it. + + * src/main/java/de/intevation/flys/artifacts/model/Range.java: + Added convinience constructor. + + * src/main/java/de/intevation/flys/artifacts/model/GaugeFinder.java: + Added method to return all gauges. + +2012-07-18 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: + Use bandwidth parameter for width of band, adjusted name to be + displayed in legend. + +2012-07-18 Felix Wolfsteller + + * doc/conf/default-themes.xml, + src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: + Change bandwidth type to double (still bugged, round integers still + work, though). + +2012-07-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java: + Added column for time range. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties + src/main/resources/messages_en.properties + src/main/resources/messages_de.properties: + Added i18n strings. + + * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: + Fixed stupid formatting bug. + +2012-07-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java: + Added discharge column. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added missing strings. + +2012-07-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java: + Removed trailing whitespace. + +2012-07-17 Felix Wolfsteller + + * src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, + src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java, + src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java, + src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java, + src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java, + src/main/java/de/intevation/flys/collections/CollectionAttribute.java: + Cosmetics, doc. + +2012-07-17 Felix Wolfsteller + + Partial implementation of issue720 (bandwith for curves), in + longitudinal section ws only, no styling, integer-based. + + * doc/conf/default-themes.xml: Add bandwidth to fields of longitudinal + section facets. + + * src/main/java/de/intevation/flys/utils/ThemeUtil.java: Add bandwidth + theme parsing. + + * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: + If bandwidth is set, add an area data series with datapoints + above/under the actual data points. + + * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java: + Helper for adding points with offset. + +2012-07-17 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java: + Use Q_BPEGEL as symbolic name for Q + + * src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java: + Out commented the LEFT JOINs which produce a lot of empty and + redundant data. Bring them back in when we treat subsamples right. + +2012-07-16 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Added getValue() method. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Store location of calculation in result, too. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java: + Added method getTotalCount() to return the number of used S/Q pairs. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQResult.java: + Store location of result, too. + + * src/main/java/de/intevation/flys/exports/sq/SQRelationExporter.java: + Write parameters as export result. + +2012-07-16 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java: + Bit of doc. + + * src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java: + TODO for automatic official lines added. + +2012-07-16 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Out commented debug output which caused OOM errors. + +2012-07-16 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/SQOverview.java, + src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java: + Q is not taken from MESSUNG.Q but from MESSUNG.Q_BPEGEL + + * src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java: + Fixed indentation. More macros. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Removed trailing whitespace. + +2012-07-16 Ingo Weinzierl + + * Tagged module as '2.8'. + +2012-07-15 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/jfree/StyledXYSeries.java, + src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java, + src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java, + src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java, + src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java, + src/main/java/de/intevation/flys/artifacts/states/SQRelation.java, + src/main/java/de/intevation/flys/artifacts/states/OutliersInput.java, + src/main/java/de/intevation/flys/artifacts/states/PeriodsSelect.java, + src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java, + src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/WQKmsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java, + src/main/java/de/intevation/flys/artifacts/model/RelativePointFacet.java, + src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java, + src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java, + src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java, + src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java, + src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java, + src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/WQFacet.java: + Removed same package imports. + +2012-07-15 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Lowered log level. + +2012-07-13 Felix Wolfsteller + + * doc/conf/meta-data.xml: Allow manual loading of official lines in + longitudinal_discharge diagrams. + +2012-07-13 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: + Prevent nasty NPE (hidden by autobox). + +2012-07-13 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java: + Suppress data points with values <= 0 because they kill JFreeChart's + log/log diagrams. + +2012-07-13 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java: + Fixed more SQL syntax errors. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Generate more than one SQResult (To my big suprise it's possible). + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java, + src/main/java/de/intevation/flys/artifacts/model/sq/SQCurveFacet.java. + src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java: + Made more NPE bullet proof. + +2012-07-13 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java: + Fixed problem with string operation precedence. + +2012-07-13 Felix Wolfsteller + + * doc/conf/meta-data.xml: very basic official lines matching the current + artifact (for this it is wrongly placed in previous calc.-part, for + now. + +2012-07-13 Christian Lins + + * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: + Create shapefile directory instead of shapefile 'file'. + +2012-07-13 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java, + src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java: + Removed translation whitespace. + +2012-07-13 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java: + Finally! SQResult is build and should be ready for display. :-) + +2012-07-13 Christian Lins + + * src/main/java/de/intevation/flys/utils/MapfileGenerator.java, + src/main/java/de/intevation/flys/utils/GeometryUtils.java: + Fix and workaround NullPointerExceptions. + +2012-07-13 Ingo Weinzierl + + * src/main/java/de/intevation/flys/wsplgen/WSPLGENCallable.java, + src/main/java/de/intevation/flys/wsplgen/FacetCreator.java, + src/main/java/de/intevation/flys/wsplgen/JobObserver.java, + src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java, + src/main/java/de/intevation/flys/wsplgen/Scheduler.java, + src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java, + src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java, + src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java, + src/main/java/de/intevation/flys/artifacts/MapArtifact.java, + src/main/java/de/intevation/flys/utils/MapfileGenerator.java, + src/main/java/de/intevation/flys/exports/MapGenerator.java: + Organized and added missing imports. + +2012-07-13 Ingo Weinzierl + + * src/main/java/de/intevation/flys/utils/GeometryUtils.java: Added new + functions to reproject an Envelope from one CoordinateReferenceSystem to + antoher. + + * src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSFloodmapsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSHwsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java, + src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java, + src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryPolyArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSGaugeLocationArtifact.java, + src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSLineArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java: + The getExtent() method will now return the extent of the layer in the + coordinate reference system that is configured for the specific river. + +2012-07-13 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/model/WMSLayerFacet.java, + src/main/java/de/intevation/flys/artifacts/model/WSPLGENJob.java, + src/main/java/de/intevation/flys/artifacts/model/WMSDBLayerFacet.java, + src/main/java/de/intevation/flys/artifacts/model/WSPLGENLayerFacet.java, + src/main/java/de/intevation/flys/artifacts/model/WSPLGENCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/WSPLGENReportFacet.java: + Moved to subpackage map. + + * src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENLayerFacet.java, + src/main/java/de/intevation/flys/artifacts/model/map/WMSLayerFacet.java, + src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENJob.java, + src/main/java/de/intevation/flys/artifacts/model/map/WMSDBLayerFacet.java, + src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENReportFacet.java: + Moved from upper package. + +2012-07-13 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQOverviewFacet.java, + src/main/java/de/intevation/flys/exports/OutputHelper.java, + src/main/java/de/intevation/flys/exports/sq/SQOverviewGenerator.java: + Added missing vim lines. + +2012-07-13 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQOverviewFacet.java, + src/main/java/de/intevation/flys/exports/OutputHelper.java: + Removed trailing whitespace. + +2012-07-13 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQOverviewFacet.java, + src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Removed superfluous imports. + +2012-07-13 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Only use first period of the time periods given by the UI. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQResult.java: + Added some more index checking. + +2012-07-13 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQOverviewFacet.java: + New. Facet for chart overview in sq relation. + + * src/main/java/de/intevation/flys/exports/sq/SQOverviewGenerator.java: + New. Generator for chart overview. This generator is not used jet. + Currently we generate the overview on client side by putting all charts in a + simple grid, cause the charts rendered by this generator are empty. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Added new Facet type. + + * src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: + Add facets for overview. + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Avoid a NPE in legend entry aggregation. + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Moved log output to avoid NPE. + + * doc/conf/artifacts/minfo.xml: + Added new output for chart overview. + +2012-07-13 Raimund Renkert + + * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Refactored. Moved some functionality to FLYSContext and OutputHelper. + + * src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: + Added 'getOutGenerator' to get a concrete generator. Moved from + FLYSArtifactCollection. + + * src/main/java/de/intevation/flys/exports/OutputHelper.java: + New. Provides the 'doOut' functionality for FYLSArtifactCollection. + +2012-07-13 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/Measurements.java: + Handle the error case of accessing wrong indexed SQ relation + more smoothly. + +2012-07-13 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java: + Added access to the data of GSIEBSATZ and SSIEBUNG. + +2012-07-12 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java: + Added the left joins to the GSIEBSATZ and SSIEBUNG tables. + +2012-07-12 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java: + Do not store null values from database. + +2012-07-12 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/Measurements.java: + New. Container for measurements. Helps to extract the S/Q fractions. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Now uses the measurements container. + + * src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java: + Added convenience methods to extract the different fractions. + DONE: Q, S_SS, S_SF + TODO: S_BL_S, S_BL_FG, S_BL_CG, S_BL + + * src/main/java/de/intevation/flys/artifacts/model/SQOverview.java, + src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java: + Relax existence of SIEBSATZID. + We have to use a left join during data extraction anyway. + We force the existence of Q because we cannot do the fitting if + we don't have them. + +2012-07-12 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java: + New. Access to the data from the SedDB. + + * src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java: + Load measurements from SedDB. + + * src/main/java/de/intevation/flys/artifacts/model/SQOverview.java: + Force NOT NULL for discharge values, too. + + * src/main/java/de/intevation/flys/artifacts/model/SQOverviewFactory.java: + Indentation fix. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Iterate over all given periods. + +2012-07-12 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/SQKMChartService.java: + Fixed wrong logger class. + +2012-07-12 Sascha L. Teichmann + + src/main/java/de/intevation/flys/artifacts/model/SQOverview.java: + Filter out the meassures which don't have a related 'Siebsatz'. + + doc/conf/cache.xml: Added forgotten cache for sq-overview. + + src/main/java/de/intevation/flys/artifacts/model/SQOverviewFactory.java: + Added vim line. + +2012-07-12 Christian Lins + + * doc/conf/default-themes.xml, + doc/conf/virtual-themes.xml, + src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/java/de/intevation/flys/themes/ThemeAccess.java: + Add showpointlabel style attribute. Refactor some styles to make use of + general attributes in the virtual themes. + + * src/main/java/de/intevation/flys/utils/GeometryUtils.java, + src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java: + Suppress or fix some warnings. + +2012-07-12 Felix Wolfsteller + + * doc/conf/conf.xml: Fix class name. + +2012-07-11 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, + src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java, + src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java, + src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java, + src/main/java/de/intevation/flys/artifacts/states/DefaultState.java, + src/main/java/de/intevation/flys/utils/FLYSUtils.java, + src/main/java/de/intevation/flys/exports/ChartExportHelper.java, + src/main/java/de/intevation/flys/exports/WstWriter.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java, + src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: + Various cosmetic doc fixes. + +2012-07-11 Felix Wolfsteller + + * doc/conf/meta-data.xml: Make official lines available in dc for + manual loading in longitudinal sections. + +2012-07-11 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/Sieve.java: + Simulates a sieve to separate the differen fractions from each other. + +2012-07-11 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/DateRange.java, + src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java, + src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Removed trailing whitespace. + +2012-07-11 Christian Lins + + * src/main/java/de/intevation/flys/artifacts/model/DateRange.java, + src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java, + src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Delta W(t) chart subtitle now with real values and correct i18n. + + +2012-07-11 Christian Lins + + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, + src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Re-add HYK rendering code again to CrossSectionGenerator (fix for #712). + + +2012-07-10 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/SQKMChartService.java, + src/main/java/de/intevation/flys/artifacts/model/SQOverview.java: + Removed superfluous imports. + +2012-07-10 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/SQOverview.java: + Made km separating of dates epsilon tolerant and avoid empty date lists. + +2012-07-10 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/services/SQKMChartService.java: + New. Service that generates an overview chart for measuring points. + + * src/main/java/de/intevation/flys/artifacts/model/SQOverview.java: + New. Instance of measuring points overview data. + + * src/main/java/de/intevation/flys/artifacts/model/SQOverviewFactory.java: + New. Foctory for overview data objects. + + * doc/conf/conf.xml: + Added new service to config. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings. + +2012-07-10 Felix Wolfsteller + + Fix for issue694. + + * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: + Also resolve edge cases (last/first cross section km). + +2012-07-10 Felix Wolfsteller + + Partial fix for issue694 (Heightmarks snap to nearest cross section + line). + + * src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java: + Extended signature of getWaterLines to allow behaviour of only + delivering data if it snaps to the km (is closest). + + * src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java, + src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: + Documentation, updated signature of getWaterLines(). + + * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: + Remember if Heightmarks are displayed, if so deliver data + only if cross-section is closest (snap). + + * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java: + Make next and previous km of cross-sections available as data. + + * src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java, + src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java: + Provide next and previous cross-section km via blackboard, adjusted + call to getWaterLines. + +2012-07-10 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: + Removed trailing whitespace. + +2012-07-10 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java, + src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, + src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java, + src/main/java/de/intevation/flys/exports/AbstractExporter.java, + src/main/java/de/intevation/flys/exports/ChartExportHelper.java, + src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/exports/MiddleBedHeightGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java, + src/main/java/de/intevation/flys/exports/OutGenerator.java, + src/main/java/de/intevation/flys/exports/FlowVelocityGenerator.java: + Fix various documentation issues. + +2012-07-10 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/WQKms.java, + src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java, + src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java, + src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java, + src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, + src/main/java/de/intevation/flys/exports/WDifferencesExporter.java, + src/main/java/de/intevation/flys/exports/ChartHelper.java, + src/main/java/de/intevation/flys/exports/MiddleBedHeightGenerator.java, + src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java, + src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java: + Fix various issues in the hard-to-find documentation. + +2012-07-09 Felix Wolfsteller + + * pom.xml: Configure javadoc mojo to include doc for protected/private. + +2012-07-09 Sascha L. Teichmann + + * contrib/themes2html.xsl: Create a list of direct sub themes + of a theme. + +2012-07-08 Felix Wolfsteller + + * doc/datacage-config-manual/Makefile: New, added Makefile. + +2012-07-08 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/Calculation2.java, + src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java, + src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java, + src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, + src/main/java/de/intevation/flys/jfree/HasLabel.java: + Cosmetics, docs. + +2012-07-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java: + Fixed XPath typo. + +2012-07-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Removed dynamic XPaths to pervent potential XPath injections. + +2012-07-08 Sascha L. Teichmann + + * contrib/themes2html.xsl: New. Transformation to get a better + overview of themes.xml. Usage: + + $ xsltproc --path doc/conf \ + contrib/themes2html.xsl \ + doc/conf/themes.xml \ + > themes.xhtml + + Use browser to view the resulting file. + +2012-07-08 Sascha L. Teichmann + + * doc/conf/second-themes.xml: Name the second themegroup 'second' + instead of 'default' to avoid clashes with the real 'default' + themegroup. + +2012-07-08 Sascha L. Teichmann + + * doc/conf/default-themes.xml, + doc/conf/virtual-themes.xml, + doc/conf/themes.xml, + doc/conf/second-themes.xml: + Added xml processing instruction. + +2012-07-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/math/fitting/InvLog.java, + src/main/java/de/intevation/flys/artifacts/access/Access.java, + src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java, + src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorA.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorB.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorC.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorD.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorE.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorF.java, + src/main/java/de/intevation/flys/exports/ChartArea.java, + src/main/java/de/intevation/flys/jfree/StyledValueMarker.java, + src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java: + Added vim lines. + +2012-07-08 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java, + src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java, + src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java, + src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java, + src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java: + Replaced tabs with four spaces each. + +2012-07-07 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java, + src/main/java/de/intevation/flys/exports/ChartArea.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Removed superfluous imports. + +2012-07-07 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java, + src/main/java/de/intevation/flys/jfree/StyledValueMarker.java, + src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java, + src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Removed trailing whitespace. + +2012-07-06 Christian Lins + + * doc/conf/*-themes.xml, + src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/java/de/intevation/flys/jfree/StyledValueMarker.java, + src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java, + src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Add styles for W(t) domain markers. + + * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java: + Remove false @override. + +2012-07-06 Christian Lins + + * doc/conf/themes.xml, + doc/conf/second-themes.xml, + doc/conf/default-themes.xml: + Add missing themes for fixation charts. + +2012-07-06 Felix Wolfsteller + + Fix issue705 (names for mainvalues in export). + + * src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: + Documentation and use NamedMainValues irrespective of WQ-type ( + single vs range). + +2012-07-06 Christian Lins + + * src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + W(t) chart label rotation now working (see #684) + +2012-07-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Removed solved TODO. + +2012-07-06 Felix Wolfsteller + + Fix issue710 (crashing diagrams with only one point). + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Expand the range/bounds where its added. + +2012-07-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java + (expandPointRange): Fix weird code with help of new ChartHelper + method. + +2012-07-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/ChartHelper.java + (expandBounds): New, expand bounds by given percentage. + +2012-07-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/math/Distance.java: + New distance helper module. + +2012-07-06 Christian Lins + + * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Remove debugging code. + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Remove HYK references and code. + +2012-07-05 Felix Wolfsteller + + * doc/datacage-config-manual/datacage-config-manual.tex: + Changed inclusions to include new content file. + + * doc/datacage-config-manual/content.tex: Content from doc/datacage.txt, + xml formatted. + +2012-07-05 Felix Wolfsteller + + * doc/datacage-config-manual/datacage-config-manual.tex, + doc/datacage-config-manual/README, + doc/datacage-config-manual/title.tex: + Added stub of tex-version of datacage config documentation. + +2012-07-05 Christian Lins + + * doc/*-themes.xml: + Add textorientation field. + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java, + src/main/java/de/intevation/flys/exports/ChartArea.java: + Move annotation related code to base class ChartGenerator. + +2012-07-04 Felix Wolfsteller + + * src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java: + Prevent casting exception. + +2012-07-04 Felix Wolfsteller + + issue487 (wrong area calculation). + + * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: + Fix area calculation. + +2012-07-04 Ingo Weinzierl + + * doc/conf/themes.xml: Moved theme groups to own XML files to improve the + structure. + + * doc/conf/second-themes.xml, + doc/conf/default-themes.xml, + doc/conf/virtual-themes.xml: New XML files for themes / theme groups; each + theme group in one single file. + + * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: + Improved logging; print number of theme groups and themes in it as INFO. + +2012-07-03 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Only show labels if enabled in theme. Commented (failed) trials to get the + text rotation right. + +2012-07-03 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Fix certain AIOOBs that were caused by the fact that QWDs can end up in two + different series. + +2012-07-03 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Implemented mergeRanges to combine y bounds in timeseries charts. + +2012-07-03 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveInfoGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtInfoGenerator.java: + New. Added chart info generator for WQ and delta W(t) chart. + + * doc/conf/conf.xml: + Added info generators to config. + +2012-07-03 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Very basic, unstyled, always-on labels of points in DeltaWt-Diagrams. + +2012-07-03 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: + Replaced Arrays.asList(new String[] { "a", "b" }).contains("a") code. + +2012-07-03 Sascha L. Teichmann + + * doc/conf/themes.xml, + src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java, + src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java, + src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java, + src/main/java/de/intevation/flys/artifacts/states/FlowVelocityState.java, + src/main/java/de/intevation/flys/artifacts/states/MiddleBedHeight.java: + Removed trailing whitespace. + +2012-07-03 Ingo Weinzierl + + * doc/conf/themes.xml: Added missing themes for middle bed height curves. + +2012-07-03 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java, + src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java: + New Access objects to access relevant information of Artifacts specific + to bed heights and flow velocity calculations. + + * src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java, + src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java, + src/main/java/de/intevation/flys/artifacts/states/FlowVelocityState.java, + src/main/java/de/intevation/flys/artifacts/states/MiddleBedHeight.java: + Use *Access objects to get required information from Artifact. + + * src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java: Moved + methods to access specific information for calculations to *Access + objects. + +2012-07-03 Felix Wolfsteller + + Fix issue695 (labeling of waterlines). + + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java + (doCrossSectionWaterLineOut): Handle labels more individually. + + * src/main/java/de/intevation/flys/jfree/XYStyle.java + (applyShowLineLabel): Tell renderer that there is something to do in case + any label is switched on. + +2012-07-03 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, + src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java, + src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, + src/main/java/de/intevation/flys/artifacts/math/DifferenceCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/DifferenceCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java, + src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java, + src/main/java/de/intevation/flys/artifacts/geom/VectorUtils.java, + src/main/java/de/intevation/flys/artifacts/geom/Lines.java, + src/main/java/de/intevation/flys/artifacts/geom/Polygon2D.java, + src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java, + src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, + src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, + src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationExporter.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java, + src/main/java/de/intevation/flys/themes/ThemeAccess.java, + src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java: + Fixed various bugs (package declarations, moved classes to correct + places). + +2012-07-03 Ingo Weinzierl + + * doc/conf/themes.xml: Removed line properties from fixation point themes + and added missing point properties. + +2012-07-02 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/ManualPointsFacet.java, + src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java, + src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java: + Cosmetics. + +2012-07-02 Felix Wolfsteller + + issue654. + + * src/main/java/de/intevation/flys/exports/LegendProcessor.java: + Do not include type in hash for legend item. + +2012-07-02 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/ParametersExporter.java: + Generate CSV for facet 'fix_parameters'. + + * src/main/java/de/intevation/flys/exports/AbstractExporter.java: + Be more eloquent on which kind of facet the exporter does not + like. + +2012-07-02 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: + Made it more symmetrical to FixationCompute. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Removed fake result stuff. Fetch parameters from SQRelationAccess. + +2012-07-01 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java: + Remove some evidence that the authors of this software + do not know Java at all. + +2012-07-01 Sascha L. Teichmann + + Part of flys/issue687 + + * src/main/java/de/intevation/flys/exports/ATWriter.java: + New. Samples fitting function to AT files. + + !!! Untested and expected to be slightly broken. !!! + + * src/main/java/de/intevation/flys/exports/fixings/FixATWriter.java: + Made some formatting things public to be reusable. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings for AT headers. + +2012-07-01 Sascha L. Teichmann + + * doc/conf/artifact-db.xml, + doc/conf/cache.xml, + doc/conf/meta-data.xml: Removed trailing whitespace. + +2012-07-01 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Removed embedded class IdGenerator. + + * src/main/java/de/intevation/flys/utils/IdGenerator.java: + New. Re-added the id generator as top level class. + +2012-06-30 Sascha L. Teichmann + + Added parameter exporter for fixings analysis. + Part of flys/issue689 + + * src/main/java/de/intevation/flys/exports/fixings/ParametersExporter.java: + New. Exports the contents of the parameters of the fix analysis. + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Added visitor interface to visit all rows of the parameters. + + * doc/conf/artifacts/fixanalysis.xml: Added new facet for + parameter export. + + * doc/conf/conf.xml: Register the new parameter exporter. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Added facet type. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Fixed indentation. + Removed some programming oddities. + Create facet for parameter export. + + * src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java: + Removed code which is already contained in the base class. + + * src/main/java/de/intevation/flys/exports/AbstractExporter.java: + Cleaned up code. + +2012-06-30 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/DeltaWtExporter.java: + Deleted + + * src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java: + Re-added here + + * doc/conf/conf.xml: Adjusted package name of DeltaWtExporter. + +2012-06-29 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveInfoGenerator.java: + New. Added chart info companion for FixDerivedCurveGenerator. + + * doc/conf/conf.xml: Added to configuration. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java: + Code clean up. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixFunction.java: + Simplified. Not Serializable any more because its only a transient object. + + * src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java: + Clean up. Simplified. Removed dependency from Function2DAdapter because + we are doing our own sampling. + + * src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionInfoGenerator.java: + Removed empty last line. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Small cosmetics. + + * src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java: + Do not notify listeners when add data series. + + * src/main/java/de/intevation/flys/jfree/Function2DAdapter.java: + Removed. Obsolete. + +2012-06-29 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Removed superfluous import. + +2012-06-29 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionInfoGenerator.java: + New. Added chart info companion for FixLongitudinalSectionGenerator. + + * doc/conf/conf.xml: Added to configuration. + +2012-06-29 Christian Lins + + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, + src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Unfinished work on generalizing annotations in ChartGenerators. + +2012-06-28 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java: + Fixed parameter name. + + * src/main/resources/messages_de_DE.properties, + src/main/resources/messages_de.properties: + Fixed typo. + +2012-06-28 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java: + Finished the access to the S/Q relation stuff. + + * doc/conf/artifacts/minfo.xml: + State "state.minfo.sq.periods" returns the value as string + symmetrical to state "state.fix.analysisperiods". + + * src/main/java/de/intevation/flys/artifacts/model/fixings/DateRange.java: + Deleted. + + * src/main/java/de/intevation/flys/artifacts/model/DateRange.java: + Re-added here because its of use not only in the fix analysis + but also in the S/Q relation. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriod.java, + src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java, + src/main/java/de/intevation/flys/artifacts/access/Access.java, + src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Adjusted the imports for the moved DateRange. + +2012-06-28 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java: + New. Artifact access for the S/Q relation. TODO: Add more parameters. + + * src/main/java/de/intevation/flys/artifacts/access/Access.java: + Remove trailing whitespace. + + * src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java: + Added more debug output. + +2012-06-28 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/access/Access.java: New. + Base class for *Access of FLYSArtifacts. + + * src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java: + Extends Access now. + +2012-06-28 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java: + Removed dead code. + +2012-06-28 Christian Lins + + * doc/conf/themes.xml, + src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java, + src/main/java/de/intevation/flys/themes/ThemeAccess.java: + Set text orientation to horizontal for points in Fixation W/Q curve. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Fix overlapping indices of facets. + +2012-06-28 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java: + Added method to figure out which discharge sectors of the + the analysis periods really contains data. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Only emit analysis period / discharge sectors which really contain data. + +2012-06-28 Sascha L. Teichmann + + Moved FixationArtifactAccess into own package access because there are + more *Access to come e.g. SQRelationAccess. + + TODO: Refactor the code for WINFO to use this *Access pattern. This + results in much cleaner, better scaling and better understandable code. + + * src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java: Deleted. + * src/main/java/de/intevation/flys/artifacts/access/FixationArtifactAccess.java: New. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalDeviationFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/access, + src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java, + src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Adjusted imports. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: + Removed superfluous imports. + +2012-06-27 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: + If fitting fails for tolerance of 1e-10 increase it incremental + by factor of 10 to 1e-3 and only bail out if it fails on this level. + +2012-06-27 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/math/fitting/Exp.java: + Fixed da/dQ but the fitting still does not work for the function. :-/ + +2012-06-27 Christian Lins + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Show only dates as point labels. + +2012-06-27 Christian Lins + + * doc/conf/conf.xml: + Fix typo in generator class for fix_longitudinal_section_curve + +2012-06-27 Felix Wolfsteller + + Create and handle new manual line facets. + + * src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java: + Added new constructor to play nice with upcoming facet-type. + + * src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java: + Added functionality to serve as WaterLineFacet (calculate water + line against cross section profile). + + * src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java: + Extended to generate cross section water line facets, too. + + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: + Handle new Facet Type. + +2012-06-27 Felix Wolfsteller + + FacetType for upcoming cross_section.manualline facet. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Added Facet Type and IS-helper dor upcoming facet. + +2012-06-27 Felix Wolfsteller + + Configure Themes and compatibility of upcoming + cross_section.manualline facet. + + * doc/conf/artifacts/winfo.xml, + doc/conf/artifacts/manualpoint.xml: + Add upcoming facet to compatibility lists. + + * doc/conf/themes.xml: Register theme for upcoming facet. + +2012-06-27 Christian Lins + + * doc/conf/conf.xml: + Add output generator for 'fix_derived_curve' + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Add some ugly formatted point labels. + +2012-06-27 Sascha L. Teichmann + + Moved describe() and the generating of output into FLYSArtifact. + + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: + This the base class so it should contain common code! + + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, + src/main/java/de/intevation/flys/artifacts/FixationArtifact.java, + src/main/java/de/intevation/flys/artifacts/ChartArtifact.java, + src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java, + src/main/java/de/intevation/flys/artifacts/MapArtifact.java: + Moved common code into base class. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Removed superfluous imports. + +2012-06-27 Christian Lins + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Use JFreeUtil.sampleFunction2D() to sample a StyledXYSeries. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java: + Add ctor with addtional custom facet index parameter. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Introduce IdGenerator to generate unique facets IDs within an output, + so themes can now be applied properly to points and lines. + +2012-06-27 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/collections/AttributeParser.java: + Removed some expensive XPath usage. Some quick profiling + showed that up to 7% of our code (excluding Hibernate, H2, Restlet, etc.) + were spend in these XPaths. A lot of time + + !!! Please, please, dear fellow programmers do not use XPath for fetching + !!! trivial things that are easily accessible via DOM, too! + +2012-06-26 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java, + src/main/java/de/intevation/flys/artifacts/model/sq/Fitting.java: + Refactored to better fit the data types of SQResult. + +2012-06-26 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/LegendProcessor.java: + Removed trailing whitespace. + +2012-06-26 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQ.java: + Added method to validate point. + + * src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java: + Added method to callback to re-initialize the function to fit. + + * src/main/java/de/intevation/flys/artifacts/model/sq/Fitting.java: + New. Shell for fitting of one SQ fraction. + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Removed superfluous import. + +2012-06-26 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java: + New. Specialized outlier test for the S/Q relation. + Outliers are accepted in multiples of the standard deviation. + +2012-06-26 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Only generate outlier facet when we done the prepocessing. + +2012-06-26 Felix Wolfsteller + + Enable legend aggregation in time series charts. + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Call super.aggregateLegendEntries. + +2012-06-26 Felix Wolfsteller + + Legend Item Aggregation refactoring. + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java + (aggregateLegendEntries): Moved up from XYChartGenerator to ChartGenerator. + +2012-06-26 Felix Wolfsteller + + Legend Item Aggregation refactoring. + + * src/main/java/de/intevation/flys/exports/LegendProcessor.java: + New (extracted from XYChartGenerator). + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Extracted legend item aggregation to LegendProcessor. + +2012-06-26 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Removed trailing whitespace. + +2012-06-26 Felix Wolfsteller + + Minor polish for LegendItem-Aggregation. + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: +  Define and use static SPACE Shape. + +2012-06-26 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/math/fitting/InvLogLinear.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvQuad.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvPow.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvSQPow.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvLogLinear.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/Quad.java: + Completed inverse stubs. + +2012-06-26 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/math/fitting/FunctionFactory.java: + Register the singletons instead of new objects. + + * src/main/java/de/intevation/flys/artifacts/math/fitting/Pow.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvQuad.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/SQPow.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/LogLinear.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvPow.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvSQPow.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvLogLinear.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/Quad.java: + Link the functions to there inverses via getInverse(). + +2012-06-26 Sascha L. Teichmann + + Implemenation of the inverses of the fitting functions. Needed + for the AT export of the calculated curves. + + * src/main/java/de/intevation/flys/artifacts/math/fitting/Function.java: + Added abstract method getInverse() to get the inverse of the + function. + + * src/main/java/de/intevation/flys/artifacts/math/fitting/Pow.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/SQPow.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/Linear.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/LogLinear.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/Log.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/Quad.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/Exp.java: + Implements the getInverse() method. + + * src/main/java/de/intevation/flys/artifacts/math/fitting/InvLog.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvLogLinear.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvQuad.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvPow.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvExp.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvSQPow.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/InvLinear.java: + Implements the inverses of the function above. Some are still + stubs. + +2012-06-25 Felix Wolfsteller + + Fix issue663 ("step" curves for Q). + + * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java + (addStepPointsKmQ): New, add "step" points for series. + + * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: + Use new StyledSeriesBuilder function. + +2012-06-25 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Fix LegendAggregation; prevent single aggregated legend item to + overflow by splitting it into many, but iconless legenditems. + +2012-06-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java: + Fixed typo in I18N key. + +2012-06-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java: + Finished I18N. + + * src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java: + Accept callback to label legend items. + + * src/main/java/de/intevation/flys/jfree/ShapeRenderer.java: Added interface + LabelGenerator to create labels for entries. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added strings. + +2012-06-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java: + Removed trailing whitespace. + +2012-06-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalDeviationFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java, + src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java: + Removed superfluous imports. + +2012-06-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java: + Uses I18N now. + + * src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java: + Added convenience constructor for creating date formatters with strings. + + * src/main/java/de/intevation/flys/artifacts/resources/Resources.java: + Added variadic method format(). + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added strings. + +2012-06-25 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java: + New. Generator for longitudinal sections in fix analysis. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalDeviationFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java: + New. Facets for longitudinal sections chart in fix analysis. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Added new facet types. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Add facets for new chart. + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Fixed NPE. + + * doc/conf/artifacts/fixanalysis.xml: + Added facets to config. + + * doc/conf/themes.xml: + Added new themes. + + * doc/conf/conf.xml: + Added new chart generator. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings. + +2012-06-25 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Look for the attribut "outline" to render shape outlines in charts. + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Add the "outline" attribute. + +2012-06-25 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Do not add entries ending with " " to legend. + +2012-06-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java: + Prevent that the plot becomes to small if only one point is drawn. + +2012-06-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Added debug output about the concrete coeffs found by the fitting. + + * src/main/java/de/intevation/flys/artifacts/math/fitting/Log.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/LogLinear.java: + Re-checked the partial deviations to the coeffs. Write the formulas + more human readable. + +2012-06-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/jfree/ShapeRenderer.java: If a label collides + with a other labels try to draw it on the other side of the point. + This results in more labeled points which is useful because you cannot zoom + in for details in the fixings km chart. + + * src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java: + Paint measured points blue and interpolated green. + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java: + Set background color to white. + +2012-06-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Interpolated and measured values where switched. + +2012-06-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java: + Label the points in diagram and show if they are interpolated or not. + + * src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java: + New. Extended XYSeriesCollection to cope with QWs + + * src/main/java/de/intevation/flys/utils/Formatter.java: Added formatters + to be fetched only over CallMeta. CallContext are not present in services. + + * src/main/java/de/intevation/flys/java2d/ShapeUtils.java: New. Some code + to handle Shapes. + + * src/main/java/de/intevation/flys/jfree/ShapeRenderer.java: New. Shape + renderer. This is a simplified version of the shape renderer + from fixings analysis in desktop FLYS. + +2012-06-25 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Re-added accidentially removed code. + +2012-06-24 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java, + src/main/java/de/intevation/flys/jfree/StyledXYSeries.java: + Removed trailing whitespace. + +2012-06-24 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Removed TODOs about I18N + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added strings for fixing analysis. + +2012-06-23 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/utils/KMIndex.java: + OpenJDK javac 1.6.0_24 seems to be more picky about + correct usage of generics. + +2012-06-23 Sascha L. Teichmann + + * contrib/add-i18n-numbers.py: New. Script to prefix + the values of property files with a small number to + make the keys identifiable even through the UI. + + Apply in the same manner as contrib/check-i18n-properties.py + +2012-06-23 Sascha L. Teichmann + + * src/main/resources/messages_de.properties, + src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties: + Repaired inconsistencies. + +2012-06-24 Christian Lins + + * src/main/java/de/intevation/flys/utils/ThemeUtil.java, + src/main/java/de/intevation/flys/exports/ChartGenerator.java, + src/main/java/de/intevation/flys/themes/ThemeFactory.java, + src/main/java/de/intevation/flys/jfree/XYStyle.java: + Add debug logs. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/java/de/intevation/flys/jfree/StyledXYSeries.java: + Draw the W/Q function as StyledXYSeries. + +2012-06-23 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Re-enable legend entry aggregation, take the threshold from + settings. + +2012-06-23 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/ChartSettings.java: + Parse and set legend aggregation value. + +2012-06-23 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java, + src/main/java/de/intevation/flys/artifacts/model/GaugeFinderFactory.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java, + src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java: + Removed trailing whitespace. + +2012-06-23 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java: + Added bug output when creating Q sector markers. + + * src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java: + Added toString() method. + +2012-06-22 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Set the aggregation threshold value. + +2012-06-22 Felix Wolfsteller + + * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java, + src/main/java/de/intevation/flys/collections/OutputParser.java: + Cosmetics, doc. + +2012-06-22 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/WstWriter.java: + Cosmetics. + +2012-06-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java: + Draw domain markers for borders of Q sectors. There is some kind of glitch + in in the Q sector classifaction code or the db data is strange. + + Because of the common code basis this affects the fixings calculations, too. :-( + +2012-06-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Calculate the standard deviation of the Q sector delta Ws, too. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriod.java: + Store the standard deviation of the Q sector delta Ws, too. + Indexed 0..3; NaN means the std dev for this sector is not existing. + +2012-06-21 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java: + added method getSectorBorder(int). With this method you can figure + the three discharge sector borders. Returns NaN if border is + not there. Usage: + + GaugeFinderFactory ggf = GaugeFinderFactory.getInstance(); + GaugeFinder gf = ggf.getGaugeFinder("Elbe"); + if (gf == null) { /* FAIL */ } + GaugeRange gr = gf.find(km); // km is the km where you are. + if (gr == null) { /* FAIL */ } + + double m0 = gr.getSectorBorder(0); // Draw as marker if not NaN + double m1 = gr.getSectorBorder(1); // Draw as marker if not NaN + double m2 = gr.getSectorBorder(2); // Draw as marker if not NaN + + Labels should be: + '(MNQ+MQ)/2' for m0 + '(MQ+MHQ)/2' for m1 + 'HQ5' for m2 + +2012-06-21 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/GaugeFinderFactory.java: + New. Cache access to per river gauge finders. This very useful + if you want to draw the discharge sectors of river at a given + km into a diagram. + + * doc/conf/cache.xml: Added cache 'gauge-finders'. + + * src/main/java/de/intevation/flys/artifacts/model/GaugeFinder.java: + Added find(double km) method to find GaugeRange by km. + + * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java: + Uses the instance of the GaugeFinderFactory to access the + gauge ranges. + + * src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java: + Simplified code. + +2012-06-21 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/GaugeFinder.java: + New. Moved out of FixingsOverview. + + * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java: + Moved GaugeFinder into top level class. + +2012-06-21 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java: + New. Moved out of FixingsOverview. + + * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java: + Moved GaugeRange into top level class. + +2012-06-21 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Prevent some NPEs. + !!! This is not a fix for the real problem !!! + +2012-06-21 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java, + src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Removed superfluous imports. + +2012-06-21 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/Range.java: + New. Moved out of FixingsOverview. + + * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java: + Moved Range into top level class. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java, + src/main/java/de/intevation/flys/artifacts/services/FixingsOverviewService.java: + Adjusted imports. + +2012-06-21 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Fixed problem with select the wrong meta data (date, descriptions, etc.) + for a data column. + +2012-06-21 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java: + Fixed stupid i/j switch bug. + +2012-06-21 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Updated i18n. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n string for delta W(t) chart. + +2012-06-21 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Added attribution for single series styling. + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Skip legend items for interpolated point series. + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + Split analysis and reference points into two chart series. Added attribute + for interpolated points for different styling. + + * src/main/java/de/intevation/flys/jfree/Style.java: + Added getter for renderer. + + * src/main/java/de/intevation/flys/jfree/XYStyle.java: + Implemented getter for renderer. + +2012-06-21 Christian Lins + + * doc/conf/artifacts/fixanalysis.xml, + src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Split fix_sector_average_wq in four facet types, one for each class (_0, _1, ..) + + * doc/conf/themes.xml: + Update themes for WQ curve + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Fix for small issue with sector average points + +2012-06-21 Christian Lins + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Adapt doAverageSectorOut() to reflect changes in Facet. + +2012-06-20 Raimund Renkert + + Added delta W(t) chart in fix analysis. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Added facet types for deta W(t) chart. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java: + Changed facet index to determine the sector index and the analysis period + index. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Calculate a facet index including the sector index and the analysis period + index. + Added new facet for delta W(t) chart. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java: + New. Facet to display the standard deviation in delta W(t) chart. + + * src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java: + New. Generator for the delta W(t) chart. + + * doc/conf/artifacts/fixanalysis.xml: + Updated facets in outputmodes. + + * doc/conf/conf.xml: + Added output generator to config. + +2012-06-20 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + New methods to add domain and value axis markers to the plot. + +2012-06-20 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/DeltaWtExporter.java: + Added reference events to CSV export. + +2012-06-20 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java: + Changed data type from QW[] to QWD[] to have delta Ws in reference events. + +2012-06-20 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: + Moved function instantiation to alway have a valid function instance. + +2012-06-20 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Fixed binary search. + +2012-06-20 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Bring binarySearch with epsilon more to source of binarySearch of Collections. + Still not working properly. Why? + +2012-06-20 Felix Wolfsteller + + Avoid problems with corrected Ws in cross-sections; hacky solution, + issue680. + + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java + (waterLineC): New, get corrected W. + + * src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java: + Create C-facet with other index. + +2012-06-20 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: + Cosmetics, doc. + +2012-06-20 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: + Cosmetics, doc. + +2012-06-20 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Now respects the selected events and reference period correctly. + + * src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java: + referenceStart and referenceEnd are now melted into referencePeriod. + + * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java: + Add a new filter IdsFilter which is more efficent to check than a + OrFilter with a list of IdFilters inside. + + * src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java: + Expose the new IdsFilter to the XML representation in form of + + +2012-06-20 Ingo Weinzierl + + * src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java: + Fixed broken naming of chart curves. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: Renamed facets for SQ + relation chart curves. + +2012-06-20 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: + Create a compound index value for SQOutlierFacets. This index is based + on the index of the result object (to get the correct data) and the + iteration of the outliers. This compound index is used to make + SQOutlierFacets unique to FLYSCollection's DESCRIBE document. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java: + Parse the index of the result object and the iteration number from index + property. + + * src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java: + Added some more debug output. + +2012-06-20 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Create only SQ objects with values > 0. Otherwise JFreeChart will break + during chart creation (values for logarithmic axes have to be > 0). + +2012-06-20 Ingo Weinzierl + + * doc/conf/themes.xml: Adjusted the color of SQ Facets (lines and points) + as shown in examples. + +2012-06-20 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: + Create new Facets with proper i18n label. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: Added i18n strings for facet + names. + +2012-06-20 Ingo Weinzierl + + * src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorA.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorB.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorC.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorD.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorE.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorF.java: + New concrete chart generators. Each fraction of the SQ relation + calculation has its own generator now. This is because they all have + different chart titles and labels. + + * doc/conf/conf.xml: Let SQ relation charts use more concrete generators. + + * src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java: + Implemented getDefaultXAxisLabel() getDefaultYAxisLabel(). + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: Added i18n strings for chart + titles and axes labels. + +2012-06-19 Felix Wolfsteller + + Fix issue681 (wrong vertical lines in duration curve q-mainvalues on + second y-axis). + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Fix vertical line if on second y-axis. + +2012-06-19 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java: + Restrict q-filter facet to the differences case. + +2012-06-19 Felix Wolfsteller + + * doc/conf/artifacts/waterlevel.xml: Add Q-facets to compatibility list. + + * src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java: + Add Q-facets to filter facet list. + +2012-06-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/QW.java, + src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Removed trailing whitespace. + +2012-06-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/jfree/JFreeUtil.java: Directly + sample "our" Function objects instead of JFreeChart Function2Ds. + + * src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java: + Removed JFreeChart Function2D wrapper and directly use our Function + objects. + +2012-06-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Removed superfluous imports. + +2012-06-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: + Calculate the standard deviation of the delta Ws of the referencen points, too. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Store the standard deviation of delta Ws of reference points into + a parameters column "std-dev". + +2012-06-19 Ingo Weinzierl + + * src/main/java/de/intevation/flys/jfree/JFreeUtil.java: New function to + sample a Function2D. This method is used, because JFreeChart's + DataUtilities.sampleFunction2D() returns an instance of XYSeries but we + need StyledXYSeries. + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: Added a + method to retrieve parameter values for a list of parameter names. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Create a fake Parameters object for the SQ curve. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java: + Added getMinQ() and getMaxQ() to determine the Q range. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQFunction.java: New + model class that stores a Function and a min and max Q value. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQCurveFacet.java: + Return a SQFunction instance based on the parameters and Q range of the + SQFractionResult. + + * src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java: Use + JFreeUtil's new function sampleFunction2D to create a StyledXYSeries for + the SQ curve. + +2012-06-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Store into QWs if they are interpolated. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/QW.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java: + Stores boolean if the values are interpolated. + +2012-06-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/math/fitting/SQPow.java: + Name derivative S'(Q). + +2012-06-19 Felix Wolfsteller + + * doc/conf/artifacts/winfo.xml: Add Q-Facets to compatibility list of dis-c. + +2012-06-19 Ingo Weinzierl + + * doc/conf/themes.xml: Added theme mappings for sq relation fractions b - f. + +2012-06-19 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQResult.java: Renamed + the former SQResult to SQFractionResult. This class is now used to store a + set of SQFractionResults for each SQ calculation. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java: + Former SQResult. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Create new fake SQFractionResults for fraction A, B and C (used for + testing). + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java, + src/main/java/de/intevation/flys/artifacts/model/sq/SQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java: + Added the 'fractionIdx' property to get to know which fraction should be + represented. + + * src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: Create + Facets for each SQResult and SQFractionResult. + +2012-06-19 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/math/fitting/SQPow.java: + New. S(Q) = a*Q^b + + * src/main/java/de/intevation/flys/artifacts/math/fitting/FunctionFactory.java: + Registered new function. + +2012-06-19 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java: + Implemented getData(). It returns the SQ[] of + SQResult.getMeasurements(). + + * src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: Create + proper facet for sq measurements and corrected constructor call of + SQOutlierFacet. + + * src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java: + Generalized doSQMeasurementsOut() and doSQOutliersOut() to one single + method doSQOut() which is able to handle SQ[] data. + +2012-06-19 Ingo Weinzierl + + * src/main/java/de/intevation/flys/utils/ThemeUtil.java: Changed the + default behavior: line labels are not visible if no config option is set! + +2012-06-19 Sascha L. Teichmann + + * doc/conf/conf.xml: Load config of rest server and floodmap over + external entities, too. + + * doc/conf/floodmap.xml, doc/conf/rest-server.xml: New. + External config. + +2012-06-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: + The reference points are now wrapped in QWDs. This enables the + plotting of Delta W(t) data for the reference points. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java: + Added convenience constructor. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Adjusted. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixFacetUtils.java: + Cosmetics. + +2012-06-18 Christian Lins + + * doc/conf/artifacts/fixanalysis.xml: + Remove fix_analysis_periods_wq from fix_wq_curve facet. + + * doc/conf/themes.xml: + Add fixing themes for other theme groups. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java: + Debug output added. + +2012-06-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixFacetUtils.java: + Added vim line, made class public. + +2012-06-18 Sascha L. Teichmann + + * doc/conf/conf.xml: Using external system entities to configure databases. + !!! + !!! FROM NOW ON YOU CAN YOUR conf.xml FROM TRUNK. + !!! Adjust the database credentials via the *-db.xml files + !!! which are included. + !!! + + * doc/conf/artifact-db.xml: New. Configuration for the artifact database. + * doc/conf/seddb-db.xml: New. Configuration for the SedDB + * doc/conf/backend-db.xml: New. Configuration for the FLYS3 database. + * doc/conf/datacage-db.xml: Configuration for the datacage datacage. + +2012-06-18 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriod.java: + Fixed constructor. + +2012-06-18 Christian Lins + + * doc/conf/themes.xml: + Add themes for fixing facets. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java: + Use FixFacetUtils.getMaxQ() to retrieve max Q. + Interpolate km values instead of strict binary search. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixFacetUtils.java: + Added, contains static getMaxQ() method. + + * src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Some issues fixed. + +2012-06-18 Ingo Weinzierl + + * doc/conf/themes.xml: Fixed broken color strings. + + * src/main/java/de/intevation/flys/utils/ThemeUtil.java: Added new functions + that return colors for points. + + * src/main/java/de/intevation/flys/themes/ThemeAccess.java: Added new + function that returns the color for points. + + * src/main/java/de/intevation/flys/jfree/XYStyle.java: Added new method to + apply the color of points (independent of the specified line color). + +2012-06-18 Ingo Weinzierl + + * doc/conf/themes.xml: Added themes for SQ relation charts + ('sq_a_measurement', sq_a_outlier' and 'sq_a_curve'). + +2012-06-18 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java: + New. Abstract chart generator for fix analysis. This generator adds the + current km to the context. + + * src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Generators now extend the FixCahrtGenerator. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java: + Get the current km from context. + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Removed getter for current km. + +2012-06-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/map/PrintMap.java, + src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java, + src/main/java/de/intevation/flys/artifacts/states/SQRelation.java, + src/main/java/de/intevation/flys/artifacts/states/DischargeState.java, + src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java, + src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java, + src/main/java/de/intevation/flys/collections/CollectionDescriptionHelper.java: + Removed repeated x.size() calls from for loops. + +2012-06-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Removed superfluous imports. + +2012-06-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/WKmsJRDataSource.java, + src/main/java/de/intevation/flys/artifacts/model/WWQQJRDataSource.java, + src/main/java/de/intevation/flys/artifacts/model/WQTJRDataSource.java: + Added missing 'else's in if/else ladders. + +2012-06-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/services/FileUploadService.java: + Fixed string comparision for identity. + +2012-06-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/**/*.java: Added missing vim lines. + +2012-06-18 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Removed tabs. Set log level from INFO to DEBUG because this case + is much too common. + +2012-06-17 Christian Lins + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Comments added. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java: + Logging output added. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java: + Max Q is now determined by parameter.interpolate(). + + * src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java, + src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Use getCurrentKmFromRequest() in output generation. + + * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Typo in method description. + +2012-06-15 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java: + The getData() method now takes a km parameter to get the data at a specific + km. + +2012-06-15 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQ.java: New model to + store values for S/Q. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQResult.java: New + model class that should be used to store calculation results of SQ + relation. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java: + Create a fake SQResult. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java: + Set missing required properties, so that this facet will be able to + re-calculate results again if the results are not in cache. + + * src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: + Create correct number of facets for parameter A for outliers Facet. + + * src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java: + Create a JFreeChart XYSeries from SQResult's outliers Facet. + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added a + method to create X axes. The SQRelationGenerator overrides this method, + because it requires a logarithmic axis. + +2012-06-15 Raimund Renkert + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java: + Added getter for current km. + +2012-06-15 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added + new functions to determine if a Facet is a SQ curve, measurement or + outlier independend of their parameter. + + * src/main/java/de/intevation/flys/exports/sq/SQRelationInfoGenerator.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java, + src/main/java/de/intevation/flys/exports/sq/SQRelationExporter.java: + Stubs for chart and export generators. + + * doc/conf/conf.xml: Registered new output-generators for SQ relation + charts and exports. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: Added i18n strings for CSV + export of SQ relations. + +2012-06-15 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/**/*.java: Removed trailing whitespace. + +2012-06-14 Sascha L. Teichmann + + * doc/conf/conf.xml: Added out commented block for SedDB configuration. + +2012-06-14 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java: + Some code cleanup. + +2012-06-14 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: + Added more debug output. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java: + Interpolate the coeffs for the function to be drawn. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Made code more robust for none existing data. + +2012-06-14 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added + new Facets for MINFO SQ relation calculation. + + * doc/conf/artifacts/minfo.xml: Added output for chart and data export for + sq relation calculation. Registered new facets. + + * src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java, + src/main/java/de/intevation/flys/artifacts/model/sq/SQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java: + Stubs for calculation and Facets used for SQ relation calculation. + + * src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: + Override computeAdvance() and implemented a stub for calculation and + Facet creation. + +2012-06-11 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: + Changed filter string to 'Messstelle'. + +2012-06-14 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java: + Fetch only cross section tracks that have a name 'qps' set for WSPLGEN + calculation. + +2012-06-11 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java: + Use binary search again. + +2012-06-11 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java: + Removed superfluous import. + +2012-06-13 Christian Lins + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java: + Workaround for IndexOutOfBoundsException. + + * src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java: + Output generator for fixing derived curve. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java: + Use binary search with epsilon again. + +2012-06-13 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java: + Added more debug/warn log statements. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: Do + not add empty objects into the calculation result. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Take care on empty QWD objects. + +2012-06-11 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriod.java: + Max Q is store in column "max_q" in Parameters now. So function can be plotted + bewtween calculated kms, too. + For function sampling use something like this.: + + double [] maxQ = parameters.interpolate("km", 42.3", new String [] { "max_q" }); + double maxSampleQ = 10000d; + + if (maxQ != null) { + maxSampleQ = Math.min(2000d, Math.abs(maxQ[0])); + maxSampleQ += 0.05*maxSampleQ; + } + +2012-06-13 Christian Lins + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Add missing imports and correct coding issues. + +2012-06-12 Christian Lins + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java: + Use KMIndex.search() (with epsilon) instead of KMIndex.binarySearch(). + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Move marker generation to XYChartGenerator. + +2012-06-12 Christian Lins + + * doc/conf/conf.xml: + Add fix_wq_curve output generator. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java: + Add additional null-checks to prevent NullPointerExceptions when accessing empty + facets. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java: + getMaxQ() now returns constant '1000' until it is properly fixed. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Code for generating charts more or less complete but untested due to bugs in facets. + +2012-06-11 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Added method double [] interpolate(keyName, key, columnNames). + This construct is better suited for the extraction of + coefficients for building functions. In pseudo code: + + fitting.Function function = + FunctionFactory.getInstance().getFunction("log"); + + double km = 42.35; + + double [] coeffs = parameters.interpolate( + "km", km, function.getParamterNames()); + + math.Function f = function.instantiate(coeffs); + +2012-06-11 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java, + src/main/java/de/intevation/flys/artifacts/states/GaugeDischargeState.java: + Removed superfluous imports. + +2012-06-11 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Added interpolate methods that return an array of linear interpolated + values for a given key. Say you have a column named "km" you can call + 'values = parameters.interpolate("km", 12)' to fetch a set + of proportional interpolated parameters even if there are only + "km": 10 and "km": 15 in the data structure. Returns null if out of bounds. + +2012-06-11 Raimund Renkert + + * doc/conf/artifacts/minfo.xml: + Added states and transitions for S-Q-relation. + + * src/main/java/de/intevation/flys/artifacts/states/PeriodsSelect.java, + src/main/java/de/intevation/flys/artifacts/states/OutliersInput.java, + src/main/java/de/intevation/flys/artifacts/states/SQRelation.java: + New. States for multiple periods input, outliers input and final + S-Q-relation. + + * src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java: + Added name filter for locations. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings for states. + +2012-06-11 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Fixed broken logger class. + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Re-establish old indentation. + +2012-06-07 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: + (doWOut): Interpolate values from WKms. + +2012-06-07 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/states/GaugeDischargeState.java: + Enable caching. + +2012-06-07 Felix Wolfsteller + + * doc/conf/meta-data.xml: Simplified choice of gauges for discharge c. + + * src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java, + src/main/java/de/intevation/flys/artifacts/states/GaugeDischargeState.java: + Create better name for facets, minor refactoring, polishing. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings. + +2012-06-07 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java, + src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java: + Cosmetics, docs + +2012-06-07 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/states/fixation/PreprocessingSelect.java, + src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Use i18n strings. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: + Added i18n strings. + +2012-06-07 Raimund Renkert + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Changed facet description. + +2012-06-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/GaugeDischargeFacet.java, + src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java, + src/main/java/de/intevation/flys/utils/FLYSUtils.java: + Cosmetics, doc. + +2012-06-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java: + Fix issues, import river, documentation, more debug. + +2012-06-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/GaugeDischargeFacet.java: + Hard-code state id, instruct computation to result in facets. + +2012-06-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: + Doc. + +2012-06-06 Raimund Renkert + + Added facet for derivate curve and fixed facet names. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java: + New. Facet for derivate curve. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java: + Added name for facet to constructor. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Add one facet for each output using a different name. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Added facet names. + + * doc/conf/artifacts/fixanalysis.xml: + Changed facet names. + +2012-06-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/MiddleBedHeightExporter.java: + Trivial doc. + +2012-06-06 Felix Wolfsteller + + * doc/datacage.txt: More documentation of datacage conf. + +2012-06-06 Raimund Renkert + + Added new facet for analysis periods and updated facet names. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java: + New. Facet for analysis periods. Returns the date ranges for the analysis + periods. + + * doc/conf/artifacts/fixanalysis.xml, + src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Added new facet and updated facet names. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java: + Updated facet names. + +2012-06-06 Felix Wolfsteller + + * src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java: + Minor doc. + +2012-06-06 Felix Wolfsteller + + * doc/datacage.txt: More documentation of datacage conf. + +2012-06-06 Raimund Renkert + + Implemented facets and splitted up the event facet. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixEventsFacet.java: + Removed. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java: + New. Facets for events. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java: + Implemented getData(). + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Add new event facets. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java: + Fixed return value. + +2012-06-06 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/jfree/Function2DAdapter.java: + New. Adapter class to brigde de.intevation.flys.artifacts.math.Function + to org.jfree.data.function.Function2D. + + Function2D objects can be used by org.jfree.data.general.DatasetUtilities + to sample functions into XYDatasets. + See DatasetUtilities.sampleFunction2D() + +2012-06-06 Felix Wolfsteller + + * doc/datacage.txt: New file that will contain datacage configuration + documentation. + +2012-06-06 Raimund Renkert + + * doc/conf/artifacts/fixanalysis.xml: + Fixed outputmodes. + +2012-06-06 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: + Local variable shadowed instance variable. + +2012-06-06 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Fixed index problem with name of chi^2. + +2012-06-06 Raimund Renkert + + Added facets for fix analysis. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixEventsFacet.java: + New. Facets for W/Q-Chart in fix analysis. FixAvSectorFacet is implemented, + the others are just stubs. + + * src/main/java/de/intevation/flys/artifacts/states/fixation/FixationCompute.java: + Add facets to artifact after calculation. + + * src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java: + Added method to get the current km for charts. The km is used for + synchronous navigation in fix analysis charts. + + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: + Added new facet types. + + * doc/conf/artifacts/fixanalysis.xml: + Added facets to config. + +2012-06-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Added some binary search methods. TODO: Sort by column. + +2012-06-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/exports/DeltaWtExporter.java: + Use new data structures for export. + + * src/main/java/de/intevation/flys/utils/KMIndex.java: + Implements java.lang.Iterable now. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWT.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/DeltaWTsKM.java: + Removed. Obsolete. + + * src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java: + Removed superfluous import. + +2012-06-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java: + Prevent duplicates in analysis periods. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/DateRange.java: + Added equals. + +2012-06-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/utils/EpsilonComparator.java: + Removed. Obsolete now. + +2012-06-05 Felix Wolfsteller + + * src/main/java/de/intevation/flys/jfree/JFreeUtil.java: + Improved collision detection. + + * src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java: + Avoid collisions of line labels, documentation. + + * src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java: + Use JFreeUtil. + + * src/main/java/de/intevation/flys/jfree/CollisionFreeLineLabelEntity.java: + New, ChartEntity class for Line labels. + +2012-06-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: + Store the QWs that are actually used in the fitting as referenced. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Store the referenced QWs for each km. TODO: Use same index structure. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java: + Store the referenced QWs, too. + +2012-06-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixResults.java: + Removed. Obsolete. + +2012-06-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriodsKM.java: + Removed. Not needed any longer. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Store the AnalysisPeriod per km into FixResult. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java: + Uses KMIndex instead of DeltaWTsKM now. + + * src/main/java/de/intevation/flys/exports/DeltaWtExporter.java: + Commented out old code. + TODO: Rewrite exporter to use AnalysisPeriods. + +2012-06-05 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: Override + endOfLife() to remove files and directories produced for WMS output. + +2012-06-05 Felix Wolfsteller + + * src/main/java/de/intevation/flys/jfree/JFreeUtil.java: + New jfreechart-related utility class. + +2012-06-05 Felix Wolfsteller + + * src/main/java/de/intevation/flys/utils/Formatter.java: + (getMeterFormat): New. + Doc. + + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: + i18n and formatting for line labels. + +2012-06-05 Felix Wolfsteller + + * src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java: + Added better doc and TODO. + +2012-06-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java, + src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java: + Now uses the KMIndex for outliers. + TODO: Use KMIndex for DeltaWTs, too. + +2012-06-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/utils/KMIndex.java: New. + Serializable index structure to find objects by there km. + TODO: Use in fixings analysis. + +2012-06-05 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/utils/EpsilonComparator.java: + Fixed sign problem in comparison. + +2012-06-04 Sascha L. Teichmann + + Implemented outlier checks in fixings analysis. Expected to be + still broken, but the code is in the right place now and has the + right structure. + + * src/main/java/de/intevation/flys/artifacts/math/Outlier.java: + Fixed endless loop. + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Added further set methods for indexed access. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java: + New. Out factored fitting code from FixCalculation. Checks for outliers, too. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Moved fitting code out to separate class. Streamlined code a bit. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java: + Store the outliers from fitting in separate data structure, too. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/QW.java: New. + Base class for delta W/t data. Used as storage for outliers. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java: + Is a sub class of QW now. + +2012-06-04 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Store Chi^2 of fitting into result, too. + + * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: + Added indexed set method. + +2012-05-31 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/math/fitting/Function.java: + Added inner class Derivative representing the first derivative of the + function. Can be instantiated with a given set of parameters. + + * src/main/java/de/intevation/flys/artifacts/math/fitting/Log.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/Pow.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/Linear.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/Quad.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/Exp.java, + src/main/java/de/intevation/flys/artifacts/math/fitting/LogLinear.java: + Added the derivatives of all fitting functions. + +2012-05-30 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: + Calculate the Delta W/ts + + the average Delta W/ts per Q sector per analysis period. + !!! Very complicated stuff !!! + TODO: + - Store results into the new data structures AnalysisPeriod and + AnalysisPeriods. + - Remove the old DeltaWTsKM and DeltaWT. + - Adjust the facets and the export. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java: + Added convinience constructor. + + * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java: + Added sector filter. + + * src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java: + Expose the new sector filter to the fixing overview service. Syntax: + + +2012-05-30 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/utils/DateAverager.java: + New. Averages a list of dates preventing overflows. + +2012-05-30 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java: + Added a km filter to find columns which touches a given km. + + * src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java: + Expose the new km filter to the fixing overview service. Syntax: + + +2012-05-30 Sascha L. Teichmann + + Better persistence model for delta w/t calculations. Supports + storage of Q sector averages, too. TODO: Use the new model. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java: + New. Will be used as a replacement for DeltaWT. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriod.java: + New. Will be used as a replacement for DeltaWTsKM.KM. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriodsKM.java: + New. List Will be used as a replacement for DeltaWTsKM. + +2012-05-30 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java, + src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java: + Use DateRange objects now. + + * src/main/java/de/intevation/flys/artifacts/model/fixings/DateRange.java: New. + Model for date ranges. To be used in re-factored persistance model. + +2012-05-30 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java: + Added method to find the Q sector of fixing column for a given km. + Useful to classify fixing events at certain kms. + +2012-05-30 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java: + Fixed access to analysis periods. + +2012-05-30 Raimund Renkert + + * doc/conf/artifacts/fixanalysis.xml: + Changed data fields to a single string data field. The data contains a + string of semi-colon separated 'long' value pairs. + + * src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java: + Process the new data. + +2012-05-29 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/RelativePointFacet.java: + trivial doc. + + * src/main/java/de/intevation/flys/themes/ThemeAccess.java: + Removed disturbing comment. + + * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java + (SimpleAxis): Add ommitted Y_AXIS2 to enum. + +2012-05-29 Felix Wolfsteller + + solve issue417: duration curve annotations as line to curve. + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java + (createStickyLineAnnotation): New. + Resolved todos, use the line style. + +2012-05-29 Felix Wolfsteller + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Doc, TODOs added. + +2012-05-29 Felix Wolfsteller + + * src/main/java/de/intevation/flys/utils/ThemeUtil.java + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: + Consider theme setting before drawing line to curve. + +2012-05-29 Felix Wolfsteller + + * doc/conf/themes.xml: Donate own theme for mainvalues. + 2012-05-28 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: @@ -7,7 +5859,7 @@ * src/main/java/de/intevation/flys/exports/DeltaWtExporter.java: Changed default column header of delta W to cm. - + 2012-05-28 Sascha L. Teichmann Made Delta W/t calculation work. @@ -128,13 +5980,13 @@ * src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java: Create FixResults and DeltaWTsKM now to store the results. - + 2012-05-25 Sascha L. Teichmann * src/main/java/de/intevation/flys/collections/AttributeParser.java: Replaced another silly "@attribute" XPATH with direct getAttribute() call. - + 2012-05-25 Felix Wolfsteller Draw line of mainvalues to duration curve hit point to ground. @@ -223,7 +6075,7 @@ * src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java, src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java: - (flipStickyAxis): Allow easy change of sticky axes. + (flipStickyAxis): Allow easy change of sticky axes. 2012-05-24 Felix Wolfsteller @@ -709,7 +6561,7 @@ Replaced event name by its description, which combines the description of the fixing (= WST file description) and the name of the column. - + * contrib/fixoverview2html.xsl: Adjusted. 2012-05-16 Ingo Weinzierl @@ -897,7 +6749,7 @@ * src/main/java/de/intevation/flys/artifacts/model/Parameters.java: New. Model for storing fitting results in cache. - + 2012-05-14 Ingo Weinzierl * src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java: @@ -926,7 +6778,7 @@ 2012-05-13 Felix Wolfsteller * src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java: - Removed unused code. + Removed unused code. 2012-05-13 Felix Wolfsteller @@ -965,7 +6817,7 @@ Tackle water-through-mountain issue that exists since r4099. - * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java + * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java (addPoints): Add parameter that decides whether or not to skip NaNs. * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, @@ -1284,27 +7136,27 @@ * src/main/java/de/intevation/flys/artifacts/geom/Lines.java: Added local class LineData and return it to also include Length of lines. - + * src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java: Changed signature of interfaces getWaterLines. - + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java: (getWaterLines): adjusted signature. - + * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: Adjusted to return type of Lines.createWaterLines. - + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: Include length in label (stub). * src/main/java/de/intevation/flys/jfree/HasLabel.java: New interface. - + * src/main/java/de/intevation/flys/jfree/StyledXYSeries.java: Implement new HasLabel interface. - + * src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java: Take into account that StyledXYSeries are HasLabel. @@ -1530,7 +7382,7 @@ * src/main/java/de/intevation/flys/artifacts/model/WWQQJRDataSource.java: Added fields for new columns. - + * src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java: Added columns for 'W at gauge' and fixed column header. @@ -1626,7 +7478,7 @@ 2012-04-05 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java: - Small fixes: The service works as expected but there seems + Small fixes: The service works as expected but there seems to be a caching issue. 2012-04-05 Sascha L. Teichmann @@ -1709,7 +7561,7 @@ The input XML is nearly the same as for the overview service. Besides the river, filters and range it accepts elements - for passing the river km, + for passing the river km, for the extent of the output chart, for type of result. Currently ignored. @@ -2057,7 +7909,7 @@ * src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java: Corrected name for waterlevel facets. - + 2012-03-01 Felix Wolfsteller Partial fix flys/issue615 (datacage: events for fixations). @@ -2079,7 +7931,7 @@ 2012-02-27 Sascha L. Teichmann - Added functions to be used for fitting in + Added functions to be used for fitting in the "Fixierungsanalyse" and "Extremwertermittlung". * src/main/java/de/intevation/flys/artifacts/math/fitting/Function.java: New. @@ -2114,7 +7966,7 @@ !!! This power function is new in the pool of functions to be fit. !!! See my mail "Manuelle Punkte in der Fixierungsanalyse" 2011-10-27 for details. - The function exp-new found in the old FLYS function pool is omitted + The function exp-new found in the old FLYS function pool is omitted because it is worthless and was maybe never used. * src/main/java/de/intevation/flys/artifacts/math/fitting/App.java: New. @@ -2140,14 +7992,14 @@ 2012-02-27 Felix Wolfsteller fix flys/issue638. - + * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java (doArea): Ract to WKms as upper/lower area data again. 2012-02-27 Felix Wolfsteller Partial fix flys/issue637. - + * src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java, src/main/resources/messages.properties, src/main/resources/messages_de_DE.properties, @@ -2421,7 +8273,7 @@ * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Fetch the master discharge table for converting Ws to Qs. Handle the case that there are more Qs for a given W. - + * src/main/java/de/intevation/flys/artifacts/model/Calculation6.java, src/main/java/de/intevation/flys/artifacts/model/Calculation4.java: Adjusted to new semantic. @@ -2447,7 +8299,7 @@ * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Fixed state evaluation for "W auf freier Strecke"/"W am Pegel". There is still an issue in the client with the input validation - which prevents entering the right W values for + which prevents entering the right W values for "W auf freier Strecke". :-/ 2012-02-13 Sascha L. Teichmann @@ -3001,17 +8853,17 @@ src/main/resources/messages_de_DE.properties, src/main/resources/messages_en.properties, src/main/resources/messages_de.properties: Fixed key spelling. - + 2012-02-08 Felix Wolfsteller Fix flys/issue478 (Manuelle Punkte: Stil nicht änderbar). - + * doc/conf/themes: Map correct theme to manualpoint themes. 2012-02-08 Felix Wolfsteller Partial fix flys/issue472 . - + * doc/conf/artifacts/winfo.xml: Add manual points to compatibility list of cross_sections. @@ -3200,7 +9052,7 @@ * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java(relateWs): Return the Qs of the Ws, too. - + * src/main/java/de/intevation/flys/artifacts/model/Calculation5.java: Adjusted to cope with the return Qs. TODO: Create WQWQ or WWQQ dataset for storing the result. @@ -3327,7 +9179,7 @@ Stores gauge station kms for start and end km if they are any. * src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java: - Should generate a WWAxisTypes classifier via side effect to the + Should generate a WWAxisTypes classifier via side effect to the call context. * src/main/java/de/intevation/flys/artifacts/model/Calculation5.java: @@ -3539,7 +9391,7 @@ * src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java, src/main/java/de/intevation/flys/utils/FLYSUtils.java (getMinMax, getRiverMinMax): Refactored. Moved to FLYSUtils. - + * src/main/java/de/intevation/flys/artifacts/states/MinMaxState.java: Add so-called javadoc. @@ -3647,7 +9499,7 @@ 2012-02-01 Felix Wolfsteller * src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java: - Added pro forma facet. + Added pro forma facet. 2012-02-01 Felix Wolfsteller @@ -3784,7 +9636,7 @@ * src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java: Iterate over chart types. Add facets if corresponding data is found. - + * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java, @@ -3835,7 +9687,7 @@ * src/main/java/de/intevation/flys/artifacts/model/Calculation5.java: Construct the WWs with startKm and endKm. This is necessary because if an error occurs in calcuting an in between km in a list of end kms - the index does not correspond to the input value any more. + the index does not correspond to the input value any more. 2012-01-30 Ingo Weinzierl @@ -3904,7 +9756,7 @@ * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Call the 'Bezugslinienverfahren'. - + * src/main/resources/messages.properties, src/main/resources/messages_de_DE.properties, src/main/resources/messages_en.properties, @@ -3962,7 +9814,7 @@ * src/main/java/de/intevation/flys/artifacts/model/Calculation5.java: New. Calcutation to be created from WINFOArtifact for the 'Bezugslinienverfahren'. - + * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: Added TODO about optimization of the 'Bezugslinienverfahren'. Added number of default samples of the W~W relation. @@ -4174,7 +10026,7 @@ * doc/conf/artifacts/winfo.xml: Added manual point facet to compatibility list of longitudinal section diagram. - + 2012-01-26 Felix Wolfsteller Cosmetics. @@ -4208,7 +10060,7 @@ 2012-01-25 Sascha L. Teichmann - * doc/conf/artifacts/winfo.xml: Add states/transitions stubs for + * doc/conf/artifacts/winfo.xml: Add states/transitions stubs for "Bezugsllinenverfahren." * src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java, @@ -4217,7 +10069,7 @@ 2012-01-25 Sascha L. Teichmann - * contrib/visualize-transitions.xsl: Fixed output of the conditions + * contrib/visualize-transitions.xsl: Fixed output of the conditions of the transitions. Now you can see the circumstances when a branch is taken. @@ -4440,7 +10292,7 @@ * src/main/java/de/intevation/flys/artifacts/states/StaticHYKState.java: Cleanup. Mark spot where State-based caching could happen. - + 2012-01-20 Felix Wolfsteller * src/main/java/de/intevation/flys/artifacts/model/HYKFacet.java: @@ -4528,7 +10380,7 @@ * src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java: Make HYK name accessible, do not query hyks by river, but by hyk-id, made query more real-world. - + * src/main/java/de/intevation/flys/artifacts/states/StaticHYKState.java: Use hyks name as facet name, pass hyk-id when asking for hyks. @@ -4657,8 +10509,8 @@ 2012-01-17 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java: - Cache a TreeMap of the annotation values of whole - rivers. This is _much_ more efficient than firing an HQL/SQL statement for + Cache a TreeMap of the annotation values of whole + rivers. This is _much_ more efficient than firing an HQL/SQL statement for each km and caching these results. 2012-01-17 Sascha L. Teichmann @@ -4705,7 +10557,7 @@ * src/main/java/de/intevation/flys/artifacts/states/StaticWQKmsState.java: New. State. - + * src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java: Refactored. Most computation and stuff now done in State and Facet. @@ -4737,13 +10589,13 @@ 2012-01-16 Sascha L. Teichmann - Use improved caching for cross section data. + Use improved caching for cross section data. !!! This commit needs heavy testing !!! * src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java: Refactored to provide the map to determine the nearest cross section line neighbors for a given km to the public. This is a bit hackish because - it hhould have its own factory which is then used by this service and + it hhould have its own factory which is then used by this service and other parts of the code. * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java: @@ -4872,18 +10724,18 @@ 2011-01-12 Felix Wolfsteller flys/issue450 (i18n: Datenkorb: longitudinal-section) - + * doc/conf/meta-data.xml: Replaced dash by underscore in longitudinal-section. 2011-01-12 Felix Wolfsteller Towards areas on other than the first axes. - + * src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java: Changed signature on which to provide data via the blackboard. Include facets name to allow unique identification. - + * src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java: Store name of one of the facets involved in area creation. (AreaFacet.Data): New class to hold result data. @@ -5005,7 +10857,7 @@ 2011-01-06 Felix Wolfsteller Add cache for 'static' wqkms (e.g. BaseData) to default cache conf. - + * doc/conf/cache.xml: Add Cache Config for static wqkms. * src/main/java/de/intevation/flys/artifacts/model/StaticWQKmsCacheKey.java: @@ -5136,7 +10988,7 @@ 2011-01-05 Felix Wolfsteller - flys/issue443 (Querprofile: Hibernate LazyInitializationException) + flys/issue443 (Querprofile: Hibernate LazyInitializationException) * doc/conf/cache.xml: Disable cache for cross-sections. @@ -5247,7 +11099,7 @@ * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: Allow styling of outline of areas. - + * src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java: Parse outline style for areas, apply it to renderer. @@ -5663,7 +11515,7 @@ * src/main/java/de/intevation/flys/utils/ThemeUtil.java: Helper to access transparency setting in theme. - + * src/main/java/de/intevation/flys/exports/StyledAreaSeriesCollection.java: Respect transparency setting. @@ -6023,7 +11875,7 @@ be implemented by subclasses. * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: - Override buildAxisSections() of XYChartGenerator to create an AxisSection + Override buildAxisSections() of XYChartGenerator to create an AxisSection for each axis that is able to be displayed in this sort of chart. In addition, there is a new method getYAxisLabel(int) that returns the label for a specific Y axis. @@ -6133,7 +11985,7 @@ * src/main/java/de/intevation/flys/artifacts/ExternalWMSArtifact.java: Convenience cosmetic. - * src/main/java/de/intevation/flys/utils/DataUtil.java: + * src/main/java/de/intevation/flys/utils/DataUtil.java: vim-magicosmetic. 2011-12-14 Felix Wolfsteller @@ -6235,14 +12087,14 @@ (getCrossSectionData): Removed, most functionality contained in CrossSectionArtifact. (getWaterLines): Now get CrossSectionLines to calculate water line. - + * src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java: Get a CrossSectionLine from blackboard. - + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: Hard TODO, commented out function needed for subtitle to allow compilation. - + * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java: Added Empty-Dataset- guard. @@ -6600,7 +12452,7 @@ This is to be called when doing a "W auf freier Strecke" calculation to find out the Qs belonging to the user given W. - + * src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java, src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: @@ -6663,7 +12515,7 @@ Keep relation between index and dataset, once its added. Compute ranges per index. Allow subclasses to override createAxes to specify internationalized labels etc. - + * src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java, src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java, src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java, @@ -6968,9 +12820,9 @@ at the given km. * src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java: - Spliting by NaNs definition holes _should_ work now. Needs + Spliting by NaNs definition holes _should_ work now. Needs some more testing. - TODOs: + TODOs: - Use log4j instead of println for logging. - Subclass XYDifferenceRenderer instead of replacing it totally. @@ -7192,7 +13044,7 @@ Handle Annotations in DischargeLongitudinalSection diagrams. * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java: - Call doAnnotations for LONGITUDINAL_ANNOTATION facets. + Call doAnnotations for LONGITUDINAL_ANNOTATION facets. 2011-11-10 Felix Wolfsteller @@ -7201,7 +13053,7 @@ * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java (doAnnotationsOut): Removed duplicate code. Theoretically handle WQKMS data. - + * src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java: Adjusted call to doAnnotationOut. @@ -7222,7 +13074,7 @@ 2011-11-10 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: - Use separate XYDataset for each curve. This is needed because + Use separate XYDataset for each curve. This is needed because "Raum/Flaeche" needs specialized renderers, which are not compatible with the standard renderers. @@ -7450,7 +13302,7 @@ * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: Be more specific in what to catch. - + 2011-11-04 Ingo Weinzierl * doc/conf/meta-data.xml: Added the CrossSectionTracks to the "floodmap" @@ -7547,7 +13399,7 @@ * src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java: Createing ThemeMapping with output attribute from configuration. - + * src/main/java/de/intevation/flys/themes/ThemeFactory.java: (getTheme(FLYSContext, string)): Removed, never called. (getTheme): Added outputName argument, match it. @@ -7572,16 +13424,16 @@ * src/main/java/de/intevation/flys/artifacts/model/StaticWQKmsCacheKey.java: Cache Key for static wqkms data. - + * src/main/java/de/intevation/flys/artifacts/model/WQKmsFacet.java: Facet for WQKms. - + * src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java: Factory to access WQKms. - + * src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java: Artifact that provides 'static' WQKms. - + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added STATIC_WQKMS type. @@ -7658,7 +13510,7 @@ needed any longer. 2011-11-03 Sascha L. Teichmann - + * src/main/java/de/intevation/flys/utils/Pair.java: New. A generic pair. * src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java: @@ -7719,23 +13571,23 @@ * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added new FacetType HEIGHTMARK_POINTS. - + * src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java: Allow name to be given in constructor. - + * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: If heightmarks were loaded, give respective name in WKmsFacet generation. * doc/conf/themes.xml: Added virtual "Points" and concrete heightmark_points - theme. - + * doc/conf/artifacts/winfo.xml: Made longitudinal_section output compatible with heightmarks_points. * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: Render heightmarks like other wkms. - + * doc/conf/meta-data.xml: Changed heightmark ids such that it can be identified in StaticWKmsFacet . @@ -8039,7 +13891,7 @@ 2011-10-28 Felix Wolfsteller - * src/main/java/de/intevation/flys/collections/AttributeWriter.java: + * src/main/java/de/intevation/flys/collections/AttributeWriter.java: Survive case where a given output doesnt exist in compatibility matrix. @@ -8047,7 +13899,7 @@ * src/main/java/de/intevation/flys/artifacts/states/StaticState.java: Added simpler constructor. - + * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java, src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java: Adjusted construction of StaticStates. @@ -8125,10 +13977,10 @@ * src/main/java/de/intevation/flys/utils/FLYSUtils.java (getFlysContext): Added, extracted from FLYSArtifact. - + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: (getFlysContext): Moved to FLYSUtils, updated callers. - + * src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java, src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Update callers to getFlysContext. @@ -8346,7 +14198,7 @@ To obtain the size of a diagram it is rendered twice. The second time the generated image is omitted so the concrete - rendered image is not needed. To save CPU cycles in this pass + rendered image is not needed. To save CPU cycles in this pass the image is rendered to to /dev/null Graphics2D object. * src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: @@ -8380,7 +14232,7 @@ * src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java: New. Service to lookup the Nth nearest neighbors for a set of given cross section ids and kms. - + * doc/conf/conf.xml: Registered service. * doc/conf/cache.xml: Cache config. @@ -8589,7 +14441,7 @@ * src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java: Removed dependence on "kind", but fetch name for created WKms. - + * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: Remove dependence on Kind. @@ -8614,10 +14466,10 @@ * src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java: New, artifact with single state to get WKms from WKmsFactory. - + * src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java: New Facet to display W over km. - + * src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java: Added new type name. @@ -8653,7 +14505,7 @@ 2011-10-18 Felix Wolfsteller Fix issue that Annotations do not come with theme/style. - + * doc/conf/themes.xml: Added "Annotations" default style. * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: @@ -9095,7 +14947,7 @@ * src/main/java/de/intevation/flys/artifacts/model/WKms.java(allKms, allWs): Added methods to fetch all kms and all ws. - * src/main/java/de/intevation/flys/utils/DataUtil.java: Generalized to + * src/main/java/de/intevation/flys/utils/DataUtil.java: Generalized to get WKms as arguments. * src/main/java/de/intevation/flys/artifacts/model/WQKms.java, @@ -9898,7 +15750,7 @@ Added CSV Export for W-Differences. * doc/conf/conf.xml: Added Exporter. - + * doc/conf/artifacts/winfo.xml: Removed transition over distances state, added export outputmode and facet. @@ -9912,7 +15764,7 @@ * src/main/java/de/intevation/flys/artifacts/model/DataFacet.java: Cosmetics, docs. - + * src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java, src/main/java/de/intevation/flys/exports/AbstractExporter.java, src/main/java/de/intevation/flys/exports/DurationCurveExporter.java: @@ -9950,7 +15802,7 @@ CallContext.addBackgroundMessage(). We use instances of CalculationMessage here, that makes the WINFOArtifact able to put progress information into the Artifact's DESCRIBE as well. - + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Write status message and progress information into the DESCRIBE if the Artifact has started a background process. @@ -10976,12 +16828,12 @@ 2011-08-22 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Moved all - WINFO specific code to WINFOArtifact. FLYSArtifact is now only revolving + WINFO specific code to WINFOArtifact. FLYSArtifact is now only revolving about state affairs. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Re-inserted the specific stuff here. - + * src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java, src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java, src/main/java/de/intevation/flys/artifacts/states/WQSelect.java, @@ -11115,16 +16967,16 @@ a2.state AS state, a2.creation AS creation, ci2.collection_id AS collection_id - FROM collection_items ci2 - JOIN artifacts a2 - ON ci2.artifact_id = a2.id - JOIN (SELECT ci.collection_id AS c_id, - MIN(a.creation) AS oldest_a - FROM collection_items ci - JOIN artifacts a - ON ci.artifact_id = a.id - GROUP BY ci.collection_id) o - ON o.c_id = ci2.collection_id + FROM collection_items ci2 + JOIN artifacts a2 + ON ci2.artifact_id = a2.id + JOIN (SELECT ci.collection_id AS c_id, + MIN(a.creation) AS oldest_a + FROM collection_items ci + JOIN artifacts a + ON ci.artifact_id = a.id + GROUP BY ci.collection_id) o + ON o.c_id = ci2.collection_id WHERE a2.creation = o.oldest_a; TODO: Use the view in the templates. @@ -11447,8 +17299,8 @@ To use this feature you can add an "connection" attribute to with the name of the connection to use. If no connection name is given the last used is used again. - Initially the first connection in the given list is used. - If the context is left the connection that was active before + Initially the first connection in the given list is used. + If the context is left the connection that was active before will be active again in a stacking manner. When creating NamedConnection objects you can set a boolean flag @@ -11485,7 +17337,7 @@ * src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java, src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: Forwarded kill collections and artifacts events to datacage. - + * src/main/resources/datacage-sql/org-h2-driver.properties, src/main/resources/datacage-sql/org-postgresql-driver.properties: Added statement to delete artifact by uuid. @@ -11502,7 +17354,7 @@ TODO I: Added some cleanup for orphaned artifacts. TODO II: Figure out a way to delete collections/artifacts - which are delete from backend without the + which are delete from backend without the backend API. * src/main/resources/datacage-sql/org-h2-driver.properties, @@ -11543,7 +17395,7 @@ * src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java: New. Proxies backend listener calls to datacage. - + * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: Implements backend listener. TODO: Update the datacage database according the change calls. @@ -11563,7 +17415,7 @@ 2011-08-01 Sascha L. Teichmann - * doc/conf/conf.xml: For documentation purposes added a out-commented + * doc/conf/conf.xml: For documentation purposes added a out-commented section with the default configuration of the datacage. 2011-07-31 Sascha L. Teichmann @@ -11694,7 +17546,7 @@ * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Make the current outs of an artifact accessible only with the global context. - + 2011-07-27 Sascha L. Teichmann * doc/conf/datacage.sql: Added ON DELETE CASCADE constraints. @@ -11886,7 +17738,7 @@ with 'macro'. There bodies can contain all valid elements including other 'macro's and 'call-macro's. They are called with their 'name' with 'call-macro'. The control flow - is continued inside the body of the called macro and + is continued inside the body of the called macro and will continue right after the calling 'call-macro' when the macro body is finished. @@ -11966,7 +17818,7 @@ * src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java: Implements now variable provider for XPath expressions. - + * src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java: Added new choose/when/otherwise construct similiar to XSLT @@ -12507,7 +18359,7 @@ The functionality we need is in 1.1 so this downgrade should cause no problems. - Would be nice if we would support the maintainers of trove to + Would be nice if we would support the maintainers of trove to bring there new versions back into the main maven repos. 2011-06-28 Ingo Weinzierl @@ -12608,7 +18460,7 @@ * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The reference gauge for calculations "am Pegel" was determined wrong. - + 2011-06-25 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: @@ -12654,7 +18506,7 @@ * src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java: Generate AT facets. - + 2011-06-23 Sascha L. Teichmann * src/main/java/de/intevation/flys/exports/ATExporter.java: New. @@ -12814,7 +18666,7 @@ * src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java: Checks for right class now. - + 2011-06-21 Sascha L. Teichmann Fix for flys/issue154 @@ -12965,7 +18817,7 @@ * src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java: New. Specialized facet to access the duration data stored in WQDay data structures. - + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Facets are now generated dynamically from the current available ones stored with the artifact. @@ -12982,7 +18834,7 @@ states overwrites the computeAdvance() and computeFeed() methods to do the corresponding WINFO calculations. - * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Calls + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Calls computeAdvance() and computeFeed() if artifact is fed or advanced. Centralized the caching mechanism. @@ -13095,7 +18947,7 @@ * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: Loop errors through for q->w interpolations. - + * src/main/java/de/intevation/flys/artifacts/model/WQDay.java: Added constructor to directly create with calculated results. @@ -13457,7 +19309,7 @@ * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Re-enabled calculation of the back jump correction. Fixed more flow direction issues. - + 2011-05-27 Ingo Weinzierl * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: @@ -13656,13 +19508,13 @@ * src/main/java/de/intevation/flys/artifacts/model/WstFactory.java: Forget to select wst kind. - + 2011-05-20 Sascha L. Teichmann flys/issue81 * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: - weights for kms were swapped. + weights for kms were swapped. 2011-05-20 Ingo Weinzierl @@ -13754,7 +19606,7 @@ Made getExplodedValues static. * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: - Use new logic to calculate "W für ungleichwertige Abfluesse". + Use new logic to calculate "W fuer ungleichwertige Abfluesse". Not working, yet. * ChangeLog: Fixed former entry. @@ -13783,7 +19635,7 @@ * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Use new logic to calculate "Wasserstand/Wasserspiegellage". - Compared to desktop FLYS are the results are structurally right + Compared to desktop FLYS are the results are structurally right but a bit off in the positions after the decimal points. Maybe a result of the interpolation? Need to debug this. @@ -13877,9 +19729,9 @@ * src/main/java/de/intevation/flys/artifacts/math/LinearRemap.java: New. Remaps "gleichwertige" Q values to the corresponding "ungleichwertige" Q values depending on km. - + * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: - Remap the Q values "ungleichwertig" depending on the + Remap the Q values "ungleichwertig" depending on the "gleichwertige" ones. 2011-05-10 Sascha L. Teichmann @@ -13988,7 +19840,7 @@ 2011-05-10 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java: - Fetches river name from incoming XML document. If no river is given all + Fetches river name from incoming XML document. If no river is given all infos about all rivers are listed. * src/main/resources/metadata/template.xml: Templates honors the 'river' @@ -14000,7 +19852,7 @@ * src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java: Take parameters as an initial stack frame. - + * src/main/java/de/intevation/flys/artifacts/services/meta/TypeConverter.java: New. Converts types off stacked variables. @@ -14404,7 +20256,7 @@ * src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java: Use the cache for the wst value table if configured. - * doc/conf/cache.xml: Choose a more precise name for the + * doc/conf/cache.xml: Choose a more precise name for the wst value table cache. 2011-04-29 Sascha L. Teichmann @@ -14599,7 +20451,7 @@ 2011-04-28 Sascha L. Teichmann - * contrib/visualize-transitions.xsl: Added to create a + * contrib/visualize-transitions.xsl: Added to create a Graphviz digraph out of the config.xml. Usage: $ xsltproc --stringparam base-dir ../doc/conf/ \ @@ -14828,7 +20680,7 @@ * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: Added static method getWForQ() to interpolate a w value for a given q value based on a given discharge table. - + 2011-04-19 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java: @@ -14998,10 +20850,10 @@ * src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: Interacts with SessionHolder now. - + * src/main/java/de/intevation/flys/exports/ChartExportHelper.java: Removed superfluous import. - + 2011-04-14 Ingo Weinzierl * src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java: diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/contrib/add-i18n-numbers.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/contrib/add-i18n-numbers.py Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,118 @@ +#!/usr/bin/env python + +""" Add unique numbers in front of properties values + to identfy the key without knowing the real key. +""" + +import sys +import re +import os + +BLACK_LISTED_KEYS = [ + re.compile(r".*\.file$") +] + +BLACK_LISTED_VALUES = [ + re.compile(r"^http.*$") +] + +NUMBERED = re.compile(r"^\s*([^\s]+)\s*=\s*\[([0-9a-zA-Z]+)\]\s*(.+)$") +UNUMBERED = re.compile(r"^\s*([^\s]+)\s*=\s*(.+)$") + +ALPHA = "0123456789" \ + "abcdefghijklmnopqrstuvwxyz" \ + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + +def decode_ibase62(s): + t, c = 0, 1 + for x in s[::-1]: + i = ALPHA.find(x) + t += i*c + c *= len(ALPHA) + return t + +def ibase62(i): + if i == 0: + return "0" + out = [] + if i < 0: + out.append("-") + i = -1 + while i > 0: + out.append(ALPHA[i % len(ALPHA)]) + i //= len(ALPHA) + out.reverse() + return ''.join(out) + +def is_blacklisted(key, value): + + for bl in BLACK_LISTED_KEYS: + if bl.match(key): + return True + + for bl in BLACK_LISTED_VALUES: + if bl.match(value): + return True + + return False + +def find_key(already_numbered, value): + for k, v in already_numbered.iteritems(): + if v == value: + return k + return None + +def decorated_content(infile, outfile, already_numbered): + + for line in infile: + line = line.strip() + m = NUMBERED.match(line) + if m: + key, num, value = m.groups() + decoded_num = decode_ibase62(num) + last = find_key(already_numbered, decoded_num) + if last is None: + already_numbered[key] = decoded_num + elif last != key: + print >> sys.stderr, "WARN: Number clash: " \ + "%s leeds to '%s' and '%s'" % (num, key, last) + print >> outfile, line + continue + + m = UNUMBERED.match(line) + if m: + key, value = m.groups(1) + if is_blacklisted(key, value): + print >> outfile, line + else: + num = already_numbered.setdefault(key, len(already_numbered)) + print >> outfile, "%s=[%s] %s" % (key, ibase62(num), m.group(2)) + continue + print >> outfile, line + +def tmp_fname(fname): + name = fname + ".tmp" + i = 0 + while os.path.exists(name): + name = "%s.tmp%d" % (fname, i) + i += 1 + return name + +def decorate_file(fname, already_numbered): + + tmp = tmp_fname(fname) + + with open(fname, "r") as infile: + with open(tmp, "w") as outfile: + decorated_content(infile, outfile, already_numbered) + + os.rename(tmp, fname) + +def main(): + already_numbered = {} + for fname in sys.argv[1:]: + print >> sys.stderr, "checking %s" % fname + decorate_file(fname, already_numbered) + +if __name__ == "__main__": + main() diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/contrib/fixoverview2html.xsl --- a/flys-artifacts/contrib/fixoverview2html.xsl Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/contrib/fixoverview2html.xsl Fri Sep 28 12:15:39 2012 +0200 @@ -9,51 +9,212 @@ de3f3307-3429-4ff9-8f43-3fb2fcf21b27 + + + de + + + + + + + + + 0,## + 0.## + + + + + + Ereignis + Event + + + + + + Legende + Caption + + + + + + Farbe + Color + + + + + + Bedeutung + Meaning + + + + + + um MNQ + around MNQ + + + + + + um MQ + around MQ + + + + + + um MHQ + around MHQ + + + + + + über HQ5 + above HQ5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + - - - + + - - + - - - -
- - width: - - - - - %;float:left - - -
-
-
+ + + + + + + + + + + + + + + + + +
+ + width: + + %;float:left + + +
+
+
+
@@ -79,19 +240,25 @@ km - + - - + + + / Q + / Q + / Q + / Q + - + - + @@ -104,15 +271,74 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + overflow:hidden;background: + + #ada96e + silver + + ;width: + + + + % + ;float:left + + + + : km + + - + + + +
+
+ - +
- + - + + + + + + + +
 
@@ -124,11 +350,48 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Q ∈ [0, (MNQ+MQ)/2)
 Q ∈ [(MNQ+MQ)/2, (MQ+MHQ)/2)
 Q ∈ [(MQ+MHQ)/2, HQ5)
 Q ∈ [HQ5, ∞)
+ diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/contrib/themes2html.xsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/contrib/themes2html.xsl Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,170 @@ + + + + + + + +
  • ( themes)
  • +
    + + + + () + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • /
  • +
    + + +
    +

    [Groups] [] Theme '' (virtual)

    + + + + + + + Sub themes +
      + +
    +
    + + + + + + + + + + + +
    NameDisplayTypeDefaultHints
    +
    +
    +
    + + +
  • +
    + + +
    +

    Theme group ''

    +
    +

    Theme List

    +
      + +
    +
    +
    +

    Theme Definitions

    + +
    +
    +
    + + + + + + +
    +
    + +
    + + +
    +

    Mappings

    + + + + + + + + +
    FromToPatternCondition
    +
    +
    + + + + + FLYS3 - Themes + + +

    FLYS3 - Themes

    +
    +

    Theme groups ( groups)

    +
      + + +
    +
    +
    +

    Mappings ( mappings)

    +
    +
    +
    + + +
    + + + +
    + + + + + + + + + + +
    diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/artifact-db.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/artifact-db.xml Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,10 @@ + + + + SA + + + + jdbc:h2:${artifacts.config.dir}/../artifactdb/artifacts.db + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/artifacts/fixanalysis.xml --- a/flys-artifacts/doc/conf/artifacts/fixanalysis.xml Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/doc/conf/artifacts/fixanalysis.xml Fri Sep 28 12:15:39 2012 +0200 @@ -70,8 +70,8 @@ - - + @@ -90,10 +90,7 @@ - - - + @@ -125,11 +122,80 @@ + state="de.intevation.flys.artifacts.states.fixation.FixAnalysisCompute"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -140,45 +206,82 @@ - - - + + - - - + + - - + + + - - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/artifacts/manualpoints.xml --- a/flys-artifacts/doc/conf/artifacts/manualpoints.xml Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/doc/conf/artifacts/manualpoints.xml Fri Sep 28 12:15:39 2012 +0200 @@ -17,6 +17,11 @@ + + +         +         +         diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/artifacts/minfo.xml --- a/flys-artifacts/doc/conf/artifacts/minfo.xml Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/doc/conf/artifacts/minfo.xml Fri Sep 28 12:15:39 2012 +0200 @@ -27,11 +27,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -44,15 +75,43 @@ + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + @@ -63,6 +122,21 @@ + + + + + + + + + + + + + + + @@ -102,6 +176,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/artifacts/qsector.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/artifacts/qsector.xml Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/artifacts/waterlevel.xml --- a/flys-artifacts/doc/conf/artifacts/waterlevel.xml Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/doc/conf/artifacts/waterlevel.xml Fri Sep 28 12:15:39 2012 +0200 @@ -8,6 +8,7 @@ + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/artifacts/winfo.xml --- a/flys-artifacts/doc/conf/artifacts/winfo.xml Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/doc/conf/artifacts/winfo.xml Fri Sep 28 12:15:39 2012 +0200 @@ -167,7 +167,8 @@ - + @@ -358,6 +359,7 @@ + @@ -380,6 +382,7 @@ + @@ -400,6 +403,7 @@ + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/backend-db.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/backend-db.xml Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,9 @@ + + + + flys + flys + org.hibernate.dialect.PostgreSQLDialect + org.postgresql.Driver + jdbc:postgresql://localhost:5432/flys + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/cache.xml --- a/flys-artifacts/doc/conf/cache.xml Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/doc/conf/cache.xml Fri Sep 28 12:15:39 2012 +0200 @@ -94,6 +94,16 @@ diskPersistent="true" /> + + + - + + + de.intevation.artifactdatabase.DefaultArtifactFactory + de.intevation.artifactdatabase.DefaultArtifactFactory + + de.intevation.artifactdatabase.DefaultArtifactFactory de.intevation.artifactdatabase.DefaultUserFactory @@ -163,6 +182,26 @@ name="themelisting" service="de.intevation.flys.artifacts.services.ThemeListingService" description="Returns a list of Themes filtered by theme name.">de.intevation.artifactdatabase.DefaultServiceFactory + de.intevation.artifactdatabase.DefaultServiceFactory + de.intevation.artifactdatabase.DefaultServiceFactory + de.intevation.artifactdatabase.DefaultServiceFactory + de.intevation.artifactdatabase.DefaultServiceFactory + de.intevation.artifactdatabase.DefaultServiceFactory @@ -193,8 +232,16 @@ + + + + + + + + de.intevation.flys.exports.DischargeLongitudinalSectionGenerator de.intevation.flys.exports.DischargeLongitudinalSectionInfoGenerator de.intevation.flys.exports.WaterlevelExporter + de.intevation.flys.exports.fixings.FixWQCurveGenerator + de.intevation.flys.exports.fixings.FixWQCurveInfoGenerator de.intevation.flys.exports.DurationCurveExporter de.intevation.flys.exports.ComputedDischargeCurveExporter de.intevation.flys.exports.DischargeLongitudinalSectionExporter @@ -241,7 +290,40 @@ de.intevation.flys.exports.MiddleBedHeightGenerator de.intevation.flys.exports.MiddleBedHeightInfoGenerator de.intevation.flys.exports.MiddleBedHeightExporter - de.intevation.flys.exports.DeltaWtExporter + de.intevation.flys.exports.minfo.BedQualityGenerator + de.intevation.flys.exports.minfo.BedQualityInfoGenerator + de.intevation.flys.exports.minfo.BedQualityExporter + de.intevation.flys.exports.minfo.BedDifferenceYearGenerator + de.intevation.flys.exports.minfo.BedDiffYearInfoGenerator + de.intevation.flys.exports.minfo.BedDifferenceEpochGenerator + de.intevation.flys.exports.minfo.BedDiffEpochInfoGenerator + de.intevation.flys.exports.minfo.BedDiffHeightYearGenerator + de.intevation.flys.exports.minfo.BedDiffHeightYearInfoGenerator + de.intevation.flys.exports.sq.SQRelationGeneratorA + de.intevation.flys.exports.sq.SQRelationGeneratorB + de.intevation.flys.exports.sq.SQRelationGeneratorC + de.intevation.flys.exports.sq.SQRelationGeneratorD + de.intevation.flys.exports.sq.SQRelationGeneratorE + de.intevation.flys.exports.sq.SQRelationGeneratorF + de.intevation.flys.exports.sq.SQRelationInfoGenerator + de.intevation.flys.exports.sq.SQRelationInfoGenerator + de.intevation.flys.exports.sq.SQRelationInfoGenerator + de.intevation.flys.exports.sq.SQRelationInfoGenerator + de.intevation.flys.exports.sq.SQRelationInfoGenerator + de.intevation.flys.exports.sq.SQRelationInfoGenerator + de.intevation.flys.exports.sq.SQRelationExporter + de.intevation.flys.exports.sq.SQOverviewGenerator + de.intevation.flys.exports.fixings.ParametersExporter + de.intevation.flys.exports.fixings.DeltaWtExporter + de.intevation.flys.exports.fixings.FixDeltaWtGenerator + de.intevation.flys.exports.fixings.FixDeltaWtInfoGenerator + de.intevation.flys.exports.fixings.FixLongitudinalSectionGenerator + de.intevation.flys.exports.fixings.FixLongitudinalSectionInfoGenerator + de.intevation.flys.exports.fixings.FixDerivedCurveGenerator + de.intevation.flys.exports.fixings.FixDerivedCurveInfoGenerator + de.intevation.flys.exports.WaterlevelExporter + de.intevation.flys.exports.fixings.FixWQCurveGenerator + de.intevation.flys.exports.fixings.FixWQCurveInfoGenerator de.intevation.flys.exports.ReportGenerator de.intevation.flys.exports.ReportGenerator @@ -253,6 +335,7 @@ de.intevation.flys.exports.ReportGenerator de.intevation.flys.exports.ATExporter + de.intevation.flys.exports.fixings.FixATExport @@ -260,44 +343,10 @@ - - - - - - - - - - - - - + &floodmap; - - - - - - - - - - - - - - - - + &rest-server; - - - 8181 - localhost - 60000 @@ -307,34 +356,11 @@ ${artifacts.config.dir}/cache.xml - - - - - SA - - - - jdbc:h2:${artifacts.config.dir}/../artifactdb/artifacts.db - - - + + &artifact-db; + &datacage-db; + &backend-db; + &seddb-db; diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/datacage-db.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/datacage-db.xml Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,7 @@ + + + SA + + org.h2.Driver + jdbc:h2:${artifacts.config.dir}/../h2/datacage + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/default-themes.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/default-themes.xml Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,1637 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/floodmap.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/floodmap.xml Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/mapserver/db_layer.vm --- a/flys-artifacts/doc/conf/mapserver/db_layer.vm Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/doc/conf/mapserver/db_layer.vm Fri Sep 28 12:15:39 2012 +0200 @@ -22,7 +22,7 @@ #end PROJECTION - "init=epsg:$LAYER.getSrid()" + "init=epsg:31467" END METADATA diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/mapserver/mapfile.vm --- a/flys-artifacts/doc/conf/mapserver/mapfile.vm Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/doc/conf/mapserver/mapfile.vm Fri Sep 28 12:15:39 2012 +0200 @@ -3,14 +3,14 @@ STATUS ON SIZE 600 400 MAXSIZE 4000 - EXTENT -90 -180 90 180 + EXTENT 3233232.55407617 5303455.37850183 3421524.44644752 5585825.50888523 UNITS DD SHAPEPATH "$SHAPEFILEPATH" FONTSET "$CONFIGDIR/mapserver/fontset.txt" SYMBOLSET "$CONFIGDIR/mapserver/symbols.sym" IMAGECOLOR 255 255 255 PROJECTION - "init=epsg:31466" + "init=epsg:31467" END DEBUG 5 diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/meta-data.xml --- a/flys-artifacts/doc/conf/meta-data.xml Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/doc/conf/meta-data.xml Fri Sep 28 12:15:39 2012 +0200 @@ -27,7 +27,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + description AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -36,6 +37,7 @@ +
    @@ -60,7 +62,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + description AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -69,6 +72,7 @@ + @@ -94,7 +98,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + description AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -103,6 +108,7 @@ + @@ -128,7 +134,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + description AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -137,6 +144,7 @@ + @@ -162,7 +170,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + description AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -171,6 +180,7 @@ + @@ -195,7 +205,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + desciption AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -204,6 +215,7 @@ + @@ -228,7 +240,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + description AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -237,6 +250,7 @@ + @@ -261,7 +275,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + description AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -270,6 +285,7 @@ + @@ -279,6 +295,42 @@ + + + + + + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 3 AND river_id = ${river_id} + + + + + + + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos, + description AS info + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + + + + + + + + + + + + + + + + @@ -294,7 +346,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + description AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -303,6 +356,7 @@ + @@ -327,7 +381,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + description AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -336,6 +391,7 @@ + @@ -360,7 +416,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + description AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -369,6 +426,7 @@ + @@ -397,7 +455,8 @@ SELECT id AS prot_column_id, name AS prot_column_name, - position AS prot_rel_pos + position AS prot_rel_pos, + description AS info FROM wst_columns WHERE wst_id = ${prot_id} ORDER by position @@ -406,6 +465,7 @@ + @@ -461,6 +521,13 @@ + + + + + + + @@ -533,6 +600,21 @@ + + + + + + + + + + + + + + + @@ -542,6 +624,7 @@ + @@ -550,13 +633,14 @@ + - + @@ -564,7 +648,8 @@ - + + @@ -576,6 +661,19 @@ + + + + + + + + + + + + + @@ -616,13 +714,22 @@ + + + + + + @@ -654,13 +762,9 @@ - - - - @@ -677,11 +781,37 @@ - - - - + + + + + + SELECT id AS gauge_id, + name AS gauge_name + FROM gauges WHERE river_id = ${river_id} + + + + + + + + + + + + + + + +           + +               +                 +               +           + @@ -730,14 +860,17 @@ SELECT id AS dem_id, lower AS dem_lower, - upper AS dem_upper + upper AS dem_upper, + name AS name, + projection || ' | ' || year_from || ' - ' || year_to AS info FROM dem WHERE river_id = ${river_id} - + + @@ -1099,6 +1232,58 @@ + + + + + + + + + + + + + + + + + + + SELECT id AS bedh_id, + year AS bedh_year, + description AS bedh_descr + FROM bed_height_single WHERE river_id = ${river_id} + + + + + + + + + + + + + + + + SELECT id AS bedh_id, + time_interval_id AS bedh_interval_id, + description AS bedh_descr + FROM bed_height_epoch WHERE river_id = ${river_id} + + + + + + + + + + + @@ -1124,6 +1309,40 @@ ORDER BY c.creation DESC + + + + + + + + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation, ardg.v as gaugy, arv.v as wqsingle + FROM master_artifacts m, artifact_data ardg, artifact_data arv + WHERE m.collection_id = ${collection_id} AND m.gid = CAST(${artifact-id} AS uuid) AND ardg.artifact_id = m.id AND ardg.k = 'ld_gaugename' AND arv.artifact_id = m.id AND arv.k = 'wq_single' + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + + + + + SELECT ol.wst_id AS wstid, ol.wst_column_pos AS wstcolpos, ol.name AS olname, ol.value AS oval + FROM official_q_values ol + WHERE ol.value = CAST(${wqsingle} AS NUMERIC(10,2)) AND ol.gauge_name = ${gaugy} + + + + + + + + + + + + + + + SHOW W-DIFFERENCES @@ -1238,7 +1457,7 @@ - + CROSS SECTION @@ -1338,6 +1557,199 @@ + + + + + + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + + + + + + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'fix_longitudinal_section_curve' + + + + + + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} AND ( name LIKE 'fix_deviation_ls%' OR name LIKE 'fix_sector_average_ls%' OR name LIKE 'fix_analysis_events_ls%' OR name LIKE 'fix_reference_events_ls%' ) + ORDER BY num ASC, name DESC + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + + + + + + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'fix_deltawt_curve' + + + + + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} and ( name LIKE 'fix_sector_average_dwt%' OR name LIKE 'fix_deviation_dwt%' OR name = 'fix_analysis_events_dwt' OR name = 'fix_reference_events_dwt' OR name = 'fix_analysis_periods_dwt' ) + ORDER BY num ASC, name DESC + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + + + + + + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'fix_derivate_curve' + + + + + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} and name = 'fix_derivate' + ORDER BY num ASC, name DESC + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + + + + + + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'fix_wq_curve' + + + + + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} and ( name LIKE 'fix_sector_average_wq%' OR name = 'fix_wq_curve' OR name LIKE 'fix_analysis_events_wq%' OR name LIKE 'fix_reference_events_wq%' ) + ORDER BY num ASC, name DESC + + + + + + + + + + + + + + + + + + + + + + @@ -1375,7 +1787,8 @@ WATERLEVELS - ONLY SHOW Ws - + + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/rest-server.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/rest-server.xml Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,6 @@ + + + + 8181 + localhost + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/second-themes.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/second-themes.xml Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,1649 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/seddb-db.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/seddb-db.xml Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,9 @@ + + + + sedb + sedb + org.hibernate.dialect.PostgreSQLDialect + org.postgresql.Driver + jdbc:postgresql://localhost:5432/seddb + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/themes.xml --- a/flys-artifacts/doc/conf/themes.xml Fri Sep 28 12:14:31 2012 +0200 +++ b/flys-artifacts/doc/conf/themes.xml Fri Sep 28 12:15:39 2012 +0200 @@ -1,2123 +1,270 @@ + + + + +]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + &default-themes; + &second-themes; + &virtual-themes; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/conf/virtual-themes.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/virtual-themes.xml Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f0a67bc0e777 -r 3cda41b5eb23 flys-artifacts/doc/datacage-config-manual/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/datacage-config-manual/Makefile Fri Sep 28 12:15:39 2012 +0200 @@ -0,0 +1,3492 @@ +# Copyright 2004 Chris Monson (shiblon@gmail.com) +# Latest version available at http://www.bouncingchairs.net/oss +# +# This file is part of ``Chris Monson's Free Software''. +# +# ``Chris Monson's Free Software'' is free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, Version 2. +# +# ``Chris Monson's Free Software'' is distributed in the hope that it will +# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with ``Chris Monson's Free Software''; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# It is also available on the web at http://www.gnu.org/copyleft/gpl.html +# +# Note that using this makefile to build your documents does NOT place them +# under the GPL unless you, the author, specifically do so. In other words, +# I, Chris Monson, the copyright holder and author of this makefile, +# consider it impossible to ``link'' to this makefile in any way covered by +# the GPL. +# +# TO OBTAIN INSTRUCTIONS FOR USING THIS FILE, RUN: +# make help +# +fileinfo := LaTeX Makefile +author := Chris Monson +version := 2.2.0-rc1 +# +# Note that the user-global version is imported *after* the source directory, +# so that you can use stuff like ?= to get proper override behavior. +.PHONY: Makefile GNUmakefile Makefile.ini $(HOME)/.latex-makefile/Makefile.ini +-include Makefile.ini +-include $(HOME)/.latex-makefile/Makefile.ini +# +# This can be pdflatex or latex - you can change this by adding the following line to your Makefile.ini: +# BUILD_STRATEGY := latex +BUILD_STRATEGY ?= pdflatex +# +# Sets LC_ALL=C, by default, so that the locale-aware tools, like sort, be +# # immune to changes to the locale in the user environment. +export LC_ALL ?= C +# +# +# If you specify sources here, all other files with the same suffix +# will be treated as if they were _include_ files. +#onlysources.tex ?= main.tex +#onlysources.tex.sh ?= +#onlysources.tex.pl ?= +#onlysources.tex.py ?= +#onlysources.rst ?= +#onlysources.fig ?= +#onlysources.gpi ?= +#onlysources.dot ?= +#onlysources.xvg ?= +#onlysources.svg ?= +#onlysources.eps.gz ?= +#onlysources.eps ?= +# +# If you list files here, they will be treated as _include_ files +#includes.tex ?= file1.tex file2.tex +#includes.tex.sh ?= +#includes.tex.pl ?= +#includes.tex.py ?= +#includes.rst ?= +#includes.fig ?= +#includes.gpi ?= +#includes.dot ?= +#includes.xvg ?= +#includes.svg ?= +#includes.eps.gz ?= +#includes.eps ?= +# +# If you list files or wildcards here, they will *not* be cleaned - default is +# to allow everything to be cleaned. +#neverclean ?= *.pdf +# +# Alternatively (recommended), you can add those lines to a Makefile.ini file +# and it will get picked up automatically without your having to edit this +# Makefile. +# +# KNOWN ISSUES: +# * The following occurs: +# file with: \usepackage{named}\bibliographystyle{named} +# Compile +# change to: \usepackage{apalike}\bibliographystyle{apalike} +# Compile again -- BARF! +# +# The workaround: make clean-nographics; make +# +# Note that we may not be able to fix this. LaTeX itself barfs +# on this, not the makefile. The very first invocation of LaTeX +# (when something like this has happened) reads the existing .aux +# file and discovers invalid commands like \citeauthoryear that +# are only valid in the package that was just removed. It then +# tries to parse them and explodes. It's not at all clear to me +# how to fix this. I tried removing the .aux files on the first +# run of LaTeX, but that necessarily requires more subsequent +# rebuilds on common edits. There does not appear to be a +# graceful solution to this issue. +# +# CHANGES: +# Chris Monson (2010-04-08): +# * Bumped version to 2.2.0-rc1 +# * Added back in the rst_style_file stuff that got broken when switching +# rst -> tex to use the script mechanism +# Chris Monson (2010-03-23): +# * Bumped version to 2.2.0-beta8 +# * Work on issue 76: bad backtick escape for some sed versions, failure +# to clear out the hold buffer when outputting MISSING comment. +# - Backed out 2>&1 to &> (doesn't work in sh) +# - Backed out using . to source variables +# Chris Monson (2010-03-22): +# * Bumped version to 2.2.0-beta7 +# * Issue 72: Fix latex/bibtex invocation order for annotated bib styles +# * Fixed informational output to reflect which LaTeX run we're on +# * Fixed graphic detection to include graphics that are already there in +# .d files +# * Tightened up the .d file output to only make .d depend on graphic +# *source* files. This means that building foo.d no longer +# builds all of the graphics files on which foo.tex depends. +# Had to use .SECONDEXPANSION trickery to make it work. +# * Changed get-graphics to only accept a stem. +# * Fixed build-once logic for scripted .tex to work better +# * Made get-inputs sed script more maintainable. +# * Moved Makefile.ini import up higher. +# * Changed bare stems to not recursively invoke make +# * Updated diff output to be more silent everywhere +# * Added a MISSING comment to the .d file if stuff isn't found - forces +# removal of .1st.make file, which often forces it to try again. +# * Fixed broken graphics-target function +# * Added sleep to .d file generation when stuff is missing - if it +# builds too fast, make doesn't realize it needs to be reloaded, +# and thus never discovers some deeper dependencies (especially +# evident when graphics are included from scripted include +# files). +# Chris Monson (2010-03-17): +# * Bumped version to 2.2.0-beta6 +# * Fixed bareword builds to actually work (requires static patterns) +# * Fixed colorization to work with new paragraph stuff +# Chris Monson (2010-03-17): +# * Bumped version to 2.2.0-beta5 +# * Fixed graphic detection to be much more focused - splits log file +# into paragraphs before doing pattern matching. +# * Fixed make foo to work properly (recursively calls make foo.pdf) +# * Fixed gpi -> pdf generation to not waste time building .eps *after* +# the pdf already exists. +# * Changed log copies to include MAKE_RESTARTS as part of the name. +# * Fixed missing include file detection (also makes use of the paragraph +# stuff) to detect missing scripted include files. +# Chris Monson (2010-03-16): +# * Bumped version to 2.2.0-beta4 +# * issue 70: .pdf not moved out of the way properly on first +# compilation, resulting in early error detection failure. +# * issue 74: fixed broken error on missing .aux files: the +# implementation was masking real errors. +# Chris Monson (2010-03-15): +# * Bumped version to 2.2.0-beta3 +# * issue 71: Made the tput dependency optional +# * issue 73: Made .tex targets not pull in .d files (building them from +# scripts should not require a .d) +# * issue 74: Output a much saner error when a .aux file is not produced +# (e.g., when you are typing "make" without arguments in a +# directory with included .tex files that are not named with +# ._include_.) +# Chris Monson (2010-03-11): +# * Bumped version to 2.2.0-beta2 +# * Fixed clean-graphics to get rid of intermediate .eps files that may +# be hanging around +# * Added an automatic setting to use eps terminals in pdflatex mode for +# gnuplot if it doesn't understand pdf. +# * issue 66: Removed grayscale generation via magic suffix. Grayscale +# generation is now only available via GRAY=1 +# * issue 68: Added explicit handling of LC_ALL for locale-aware tools +# like "sort" +# Chris Monson (2010-03-10): +# * Bumped version to 2.2.0-beta1 +# * Fixed success message to handle output message in different places +# * Added name of produced file to success message +# Chris Monson (2010-03-10): +# * Bumped version to 2.2.0-alpha3 +# * Added meaningful error message for wrong hyperref options +# * Added meaningful error message for incorrect graphics extensions +# Chris Monson (2010-03-09): +# * Bumped version to 2.2.0-alpha2 +# * Updated graphics handling (gnuplot and fig generate pdf natively) +# * Changed xmgrace to output monochrome natively +# Chris Monson (2010-03-09): +# * Bumped version to 2.2.0-alpha1 - major change! +# * Support pdflatex natively and by default (issue 6 - a long time coming) +# * Add ability to have a single $HOME/.latex-makefile/Makefile.ini for +# all invocations +# * Reworked graphic inclusion detection so that extensions need not be +# specified for either build strategy (e.g., +# \includegraphics{test1.eps} -> \includegrahpics{test1}) +# * Changed log format to include filenames and line numbers +# Chris Monson (2010-02-04): +# * Bumped version to 2.1.43 +# * All of the following are for issue 63 (thanks to mojoh81): +# * Added documentation about fixing Makefile.ini default target +# * Added perl and python script targets +# * Fixed run logic to allow included .tex files to be scripted (the +# run-again logic now detects missing .tex files, and the MV +# command has been switched out for a command that only invokes +# MV if the files exist) +# * Changed scripted generation to only run once per make invocation +# * Added dependency on expr +# Chris Monson (2010-01-19): +# * Bumped version to 2.1.42 +# * issue 62: Added .brf extension to cleanable files (backrefs) +# Chris Monson (2010-01-07): +# * Bumped version to 2.1.41 +# * issue 60: bad makeindex runs now error out on subsequent tries +# Chris Monson (2009-12-01): +# * Bumped version to 2.1.40 +# * issue 36: build all indices (for e.g., splitidx usage) +# * issue 59: clean up all generated files (including indices) +# Chris Monson (2009-11-23): +# * Bumped version to 2.1.39 +# * issue 57: change ps2pdf invocations to just use gs directly +# Chris Monson (2009-11-19): +# * Bumped version to 2.1.38 +# * issue 57: Added some limited support for Cygwin (spaces in filenames) +# Chris Monson (2009-11-15): +# * Bumped version to 2.1.37 +# * Removed svninfo, since this is now managed by mercurial +# * Fixed typo in changelist +# * Issue 52: added jpg->eps conversion (thanks to brubakee) +# * Issue 54: fix missing Overfull colorization due to lack of a blank +# line preceding the first error. +# * Issue 51: remove head.tmp and body.tmp in make clean invocation +# * Issue 56: maintain multiple versions of log files (for debugging) +# Chris Monson (2009-11-14): +# * Bumped version to 2.1.36 +# * Issues 53 and 49: added .brf, .mtc, and .maf to the cleanables +# Chris Monson (2009-11-05): +# * Bumped version to 2.1.35 +# * Added nomenclature support (see issue 48) +# Chris Monson (2009-10-29): +# * Bumped version to 2.1.34 +# * Fixed _out_ creation bug introduced in 2.1.33 (it was always created) +# * Fixed erroneous help output for $HOME in BINARY_TARGET_DIR +# * Changed contact email address - bring on the spam! +# Chris Monson (2009-10-21): +# * Bumped version to 2.1.33 +# * Fixed issue 46, adding support for dot2tex (thanks to fdemesmay) +# * Made all_files.* settable in Makefile.ini (using ?= instead of :=) +# * Fixed issue 47, thanks to fdemesmay: add binary copy directory, copy +# dvi, pdf, and ps if it exists +# Chris Monson (2009-09-25): +# * Bumped version to 2.1.32 +# * Fixed so that a changed lol file will cause a rebuild +# * Added .lol files to the cleanable list +# Chris Monson (2009-09-08): +# * Bumped version to 2.1.31 +# * Closed issue 43: evince doesn't notice pdf change w/out touch +# Chris Monson (2009-08-28): +# * Bumped version to 2.1.30 +# * Closed issue 39: Capture multi-line log warnings/errors to output +# Chris Monson (2009-08-26): +# * Bumped version to 2.1.29 +# * Closed issue 42: add svg support using inkscape +# Chris Monson (2009-08-17): +# * Bumped version to 2.1.28 +# * Patch from paul.biggar for issue 38: package warnings are overlooked +# Chris Monson (2009-08-07): +# * Bumped version to 2.1.27 +# * Included patch for issue 37 - removes pdf/ps files before copying, +# allowing some broken viewers to see changes properly. +# Chris Monson (2009-05-15): +# * Bumped version to 2.1.26 +# * Included patch for issue 9 from favonia - detects .fig changes for +# pstex files during regular compilation, so long as the pstex +# has been built at least once with make all-pstex. +# Chris Monson (2009-03-27): +# * Bumped version to 2.1.25 +# * Cleaned up a bunch of variable setting stuff - more stuff is now +# settable from Makefile.ini +# * Cleaned up documentation for various features, especially settable +# variables. +# * issue 28: support for png -> eps conversion (it even looks good!) +# * issue 29: support for "neverclean" files in Makefile.ini +# * issue 30: make ps2pdf14 the default - fall back when not there +# Chris Monson (2009-03-09): +# * Bumped version to 2.1.24 +# * issue 27: xmgrace support (thanks to rolandschulzhd) +# Chris Monson (2008-10-23): +# * Bumped version to 2.1.23 +# * issue 23: fixed _check_programs to not use bash string subs +# Chris Monson (2008-09-02): +# * Bumped version to 2.1.22 +# * Appled patch from Holger to add include +# sources and some documentation updates. +# * Updated backup_patterns to be a bit more aggressive (also thanks to +# Holger) +# Chris Monson (2008-08-30): +# * Bumped version to 2.1.21 +# * Added ability to specify onlysources.* variables to indicate the only +# files that should *not* be considered includes. Thanks to Holger +# for this patch. +# * Added an automatic include of Makefile.ini if it exists. Allows +# settings to be made outside of this makefile. +# Chris Monson (2008-05-21): +# * Bumped version to 2.1.20 +# * Added manual pstex compilation support (run make all-pstex first) +# * Removed all automatic pstex support. It was totally breaking +# everything and is very hard to incorporate into the makefile +# concept because it requires LaTeX to *fail* before it can +# determine that it needs the files. +# Chris Monson (2008-04-17): +# * Bumped version to 2.1.19 +# * Changed the pstex build hack to be on by default +# Chris Monson (2008-04-09): +# * Bumped version to 2.1.18 +# * issue 16: fixed pstex build problems, seems nondeterministic. Added +# gratuitious hack for testing: set PSTEX_BUILD_ALL_HACK=1. +# Chris Monson (2008-04-09): +# * Bumped version to 2.1.17 +# * issue 20: fixed accumulation of *.make files - wildcard was +# refusing to work on files that are very recently created. +# Chris Monson (2008-04-02): +# * Bumped version to 2.1.16 +# * issue 19: Removed the use of "type" to fix broken "echo" settings +# Chris Monson (2008-03-27): +# * Bumped version to 2.1.15 +# * issue 18: Favors binary echo over builtin, as binary understands -n +# * issue 16: Fixed handling of missing pstex_t files in the log +# * issue 9: Added .SECONDARY target for .pstex files +# Chris Monson (2008-03-21): +# * Bumped version to 2.1.14 +# * Fixed broken aux file flattening, which caused included bibs to be +# missed. +# Chris Monson (2008-03-20): +# * Bumped version to 2.1.13 +# * Changed error output colorization to show errors for missing files +# that are not graphics files. +# Chris Monson (2008-03-20): +# * Bumped version to 2.1.12 +# * Fixed a regression introduced in r28 that makes bibtex fail when +# there is no index file present +# Chris Monson (2008-03-03): +# * Bumped version to 2.1.11 +# * Fixed issue 11 (handle index files, reported by abachn) +# * Cleaned up some comments and help text +# Chris Monson (2008-01-24): +# * Bumped version to 2.1.10 +# * Fixed to work when 'sh' is a POSIX shell like 'dash' +# Chris Monson (2007-12-12): +# * Bumped version to 2.1.9 +# * Fixed documentation and dependency graph for pstex files +# Chris Monson (2007-12-12): +# * Bumped version to 2.1.8 +# * Added basic pstex_t support for fig files (Issue 9 by favonia) +# I still suggest that psfrag be used instead. +# Chris Monson (2007-10-16): +# * Bumped version to 2.1.7 +# * Removed todo item: allow other comment directives for rst conversion +# * Added ability to use global rst style file _rststyle_._include_.tex +# * Added help text to that effect +# Chris Monson (2007-05-20): +# * Bumped version to 2.1.6 +# * Changed default paper size for rst files +# * Added todo item: fix paper size for rst files +# * Added todo item: allow other comment directives for rst conversion +# Chris Monson (2007-04-02): +# * Bumped version to 2.1.5 +# * Addressed Issue 7, incorrect .gpi.d generation in subdirectories +# Chris Monson (2007-03-28): +# * Bumped version to 2.1.4 +# * Fixed syntax error in dot output +# Chris Monson (2007-03-01): +# * Bumped version to 2.1.3 +# * Added reST to the included documentation +# * Fixed graphics and script generation to be settable in the +# environment. +# Chris Monson (2007-02-23): +# * Bumped version to 2.1.2 +# * Added the ability to generate .tex files from .rst files +# Chris Monson (2006-10-17): +# * Bumped version to 2.1.1 +# * Fixed includes from subdirectories (sed-to-sed slash escape problem) +# Chris Monson (2006-10-05): +# * Bumped version to 2.1.0 (pretty serious new feature added) +# * New feature: bib files can now be anywhere on the BIBINPUTS path +# * New programs: kpsewhich (with tetex) and xargs (BSD) +# Chris Monson (2006-09-28): +# * Bumped version to 2.0.9 +# * Added ability to parse more than one bibliography +# Chris Monson (2006-06-01): +# * Bumped version to 2.0.8 +# * Added .vrb to the list of cleaned files +# Chris Monson (2006-04-26): +# * Bumped version to 2.0.7 +# * Fixed so that clean-nographics does not remove .gpi.d files +# * Removed jpg -> eps hack (not working properly -- just pre-convert) +# * Fixed so that postscript grayscale can be done with BSD sed +# Chris Monson (2006-04-25): +# * Bumped version to 2.0.6 +# * Fixed so that changed toc, lot, lof, or out causes a rebuild +# Chris Monson (2006-04-17): +# * Bumped version to 2.0.5 +# * Added jpg -> eps conversion target +# Chris Monson (2006-04-12): +# * Bumped version to 2.0.4 +# * Fixed BSD sed invocation to not use \| as a branch delimiter +# * Added a comment section on what is and is not allowed in BSD sed +# * Made paper size handling more robust while I was at it +# * Fixed postscript RGB grayscale to use a weighted average +# * Fixed postscript HSB grayscale to convert to RGB first +# * Fixed a problem with rebuilding .bbl files +# Chris Monson (2006-04-11): +# * Bumped version to 2.0.3 +# * Fixed some BSD sed problems: can't use \n in substitutions +# Chris Monson (2006-04-10): +# * Bumped version to 2.0.2 +# * Once again removed ability to create .tex files from scripts +# * \includeonly works again +# Chris Monson (2006-04-09): +# * Bumped version to 2.0.1 +# * Fixed grayscale postscript handling to be more robust +# * Added ability to generate ._gray_. files from eps and eps.gz +# * Added ability to clean ._gray_.eps files created from .eps files +# Chris Monson (2006-04-07): +# * Bumped version to 2.0.0 +# * Removed clunky ability to create included .tex files from scripts +# * Added note in the help about included tex scripting not working +# * Fixed the .eps generation to delete %.gpihead.make when finished +# * Abandoned designs to use shell variables to create sed scripts +# * Abandoned __default__.tex.sh idea: it causes recursion with %: . +# * Removed web page to-do. All items are now complete. +# * Added better grayscale conversion for dot figures (direct ps fixup). +# * Include files can now be scripted (at the expense of \includeonly). +# * Updated dependency graph to contain better node names. +# Chris Monson (2006-04-06): +# * Bumped version to 2.0b3 +# * Top level includes now fail if there is no rule to build them +# * A helpful message is printed when they do fail +# * Grayscale has been changed to be ._gray_, other phonies use _ now, too +# * Grayscale handling has been completed +# * Changed _include_stems target to _includes target. +# * Fixed _includes target to be useful by itself. +# * Removed the ability to specify clean and build targets at once +# * Verified that epsfig works fine with current code +# * Fixed included scripts so that they are added to the dep files +# * Fixed so that graphics includes don't happen if they aren't for gpi +# * Fixed dot output to allow grayscale. +# Chris Monson (2006-04-05): +# * Bumped version to 2.0b2 +# * Removed automatic -gray output. It needs fixing in a bad way. +# * Revamped dependency creation completely. +# * Fixed conditional inclusion to actually work (test.nobuild.d, test.d). +# * Fixed clean target to remove log targets +# * Added the 'monochrome' word for gray gpi output +# * Added a _check_gpi_files target that checks for common problems +# * Changed the _version target into the version target (no _) +# * Added better handling of grayscale files. Use the .gray.pdf target. +# * Fixed testing for rebuilds +# Chris Monson (2006-04-04): +# * Bumped version to 2.0b1 +# * Changed colorization of output +# * Made .auxbbl and .auxtex .make files secondary targets +# * Shortened and simplified the final latex invocation loop +# * Added version-specific output ($$i vs. $$$$i) in latex loop +# * Added a build message for the first .dvi run (Building .dvi (0)) +# * Removed some build messages that most people don't care about. +# * Simplified procedure for user-set colors -- simple text specification +# * Fixed diff output to...not output. +# * Fixed rerun bug -- detect not only when preceded with LaTeX Warning +# * Sped up gpi plotting +# * Added error handling and colorized output for gpi failure +# * Documented color changing stuff. +# * Now sort the flattened aux file to avoid false recompilation needs +# * Added clean-nographics target +# * Don't remove self.dvi file if self.aux is missing in the log +# * Clarified some code. Did some very minor adjusting. +# Chris Monson (2006-04-03): +# * Bumped version to 2.0a7 +# * Added .dvi and .ps files as secondary files. +# * Fixed handling of multiple run detection when includeonly is in use. +# * Added code to flatten .aux files. +# * Added more files as .SECONDARY prerequisites to avoid recompilation. +# * Fixed the inputs generation to be much simpler and to use pipes. +# * Added the dependency graph directly into the makefile. +# * Changed flatten-aux to remove \@writefile \relax \newlabel, etc. +# * Undid pipe changes with sed usage (BSD sed doesn't know -f-). +# * Added a _check_programs target that tells you what your system has. +# * Fixed an error in colorization that made unnecessary errors appear +# * Added view targets. +# * Updated help text. +# * Augmented cookies so that .aux can trigger .bbl and .dvi rebuilds +# * Added more informative error handling for dvips and ps2pdf +# Chris Monson (2006-04-02): +# * Bumped version to 2.0a6 +# * Added indirection to .bbl dependencies to avoid rebuilding .bbl files +# * Streamlined the diff invocation to eliminate an existence test +# * Removed special shell quote escape variables +# * Moved includes to a more prominent location +# * Fixed .inputs.make to not contain .aux files +# * Fixed embedding to use a file instead of always grepping. +# * Added *.make.temp to the list of cleanable files +# * Fixed Ruby. It should now be supported properly. +# * Now differentiate between all, default, and buildable files. +# * Fixed to bail out on serious errors. +# * Revised the handling of includable files. Still working on it. +# Chris Monson (2006-03-31): +# * Bumped version to 2.0a5 +# * Fixed a bug with LaTeX error detection (there can be spaces) +# * Added .bbl support, simplifying everything and making it more correct +# * Refactored some tests that muddy the code +# * Did a little cleanup of some shell loops that can safely be make loops +# * Added support for graphviz .dot files +# * Made _all_programs output easier to read +# * Added the ruby support that has long been advertised +# * Font embedding was screwed up for PostScript -- now implicit +# * Changed the generation of -gray.gpi files to a single command +# * Changed any make-generated file that is not included from .d to .make +# Chris Monson (2006-03-30): +# * Bumped version to 2.0a4 +# * Fixed a bug with very long graphics file names +# * Added a todo entry for epsfig support +# * Fixed a bug paper size bug: sometimes more than one entry appears +# * Fixed DVI build echoing to display the number instead of process ID +# * DVI files are now removed on first invocation if ANY file is missing +# * Added a simple grayscale approach: if a file ends with -gray.gpi, it +# is created from the corresponding .gpi file with a special +# comment ##GRAY in its header, which causes coloring to be +# turned off. +# * Fixed a bug in the handling of .tex.sh files. For some reason I had +# neglected to define file stems for scripted output. +# * Removed a trailing ; from the %.graphics dependencies +# * Added dvips embedding (I think it works, anyway) +# Chris Monson (2006-03-29): +# * Bumped version to 2.0a3 +# * Fixed error in make 3.79 with MAKEFILE_LIST usage +# * Added the presumed filename to the _version output +# * Added a vim macro for converting sed scripts to make commands +# * Added gpi dependency support (plotting external files and loading gpi) +# * Allow .gpi files to be ignored if called .include.gpi or .nobuild.gpi +# * Fixed sed invocations where \+ was used. BSD sed uses \{1,\}. +# Chris Monson (2006-03-28): +# * Bumped version to 2.0a2 +# * Added SHELL_DEBUG and VERBOSE options +# * Changed the default shell back to /bin/sh (unset, in other words) +# * Moved .PHONY declarations closer to their targets +# * Moved help text into its own define block to obtain better formatting +# * Removed need for double-entry when adding a new program invocation +# * Moved .SECONDARY declaration closer to its relevant occurrence +# * Commented things more heavily +# * Added help text about setting terminal and output in gnuplot +# * Created more fine-grained clean targets +# * Added a %.graphics target that generates all of %'s graphics +# * Killed backward-compatible graphics generation (e.g., eps.gpi=gpi.eps) +# * For now, we're just GPL 2, not 3. Maybe it will change later +# * Made the version and svninfo into variables +# Chris Monson (2006-03-27): +# * Bumped version to 2.0a1 +# * Huge, sweeping changes -- automatic dependencies + +# IMPORTANT! +# +# When adding to the following list, do not introduce any blank lines. The +# list is extracted for documentation using sed and is terminated by a blank +# line. +# +# EXTERNAL PROGRAMS: +# = ESSENTIAL PROGRAMS = +# == Basic Shell Utilities == +CAT ?= cat +CP ?= cp -f +DIFF ?= diff +ECHO ?= echo +EGREP ?= egrep +ENV ?= env +EXPR ?= expr +MV ?= mv -f +SED ?= sed +SORT ?= sort +TOUCH ?= touch +UNIQ ?= uniq +WHICH ?= which +XARGS ?= xargs +SLEEP ?= sleep +# == LaTeX (tetex-provided) == +BIBTEX ?= bibtex +DVIPS ?= dvips +LATEX ?= latex +PDFLATEX ?= pdflatex +EPSTOPDF ?= epstopdf +MAKEINDEX ?= makeindex +KPSEWHICH ?= kpsewhich +GS ?= gs +# = OPTIONAL PROGRAMS = +# == Makefile Color Output == +TPUT ?= tput +# == TeX Generation == +PERL ?= perl +PYTHON ?= python +RST2LATEX ?= rst2latex.py +# == EPS Generation == +CONVERT ?= convert # ImageMagick +DOT ?= dot # GraphViz +DOT2TEX ?= dot2tex # dot2tex - add options (not -o) as needed +FIG2DEV ?= fig2dev # XFig +GNUPLOT ?= gnuplot # GNUplot +INKSCAPE ?= inkscape # Inkscape (svg support) +XMGRACE ?= xmgrace # XMgrace +PNGTOPNM ?= pngtopnm # From NetPBM - step 1 for png -> eps +PPMTOPGM ?= ppmtopgm # From NetPBM - (gray) step 2 for png -> eps +PNMTOPS ?= pnmtops # From NetPBM - step 3 for png -> eps +GUNZIP ?= gunzip # GZipped EPS +# == Beamer Enlarged Output == +PSNUP ?= psnup +# == Viewing Stuff == +VIEW_POSTSCRIPT ?= gv +VIEW_PDF ?= xpdf +VIEW_GRAPHICS ?= display + +# Command options for embedding fonts and postscript->pdf conversion +PS_EMBED_OPTIONS ?= -dPDFSETTINGS=/printer -dEmbedAllFonts=true -dSubsetFonts=true -dMaxSubsetPct=100 +PS_COMPATIBILITY ?= 1.4 + +# Defaults for GPI +DEFAULT_GPI_EPS_FONTSIZE ?= 22 +DEFAULT_GPI_PDF_FONTSIZE ?= 12 + +# Style file for ReST +RST_STYLE_FILE ?= $(wildcard _rststyle_._include_.tex) + +# This ensures that even when echo is a shell builtin, we still use the binary +# (the builtin doesn't always understand -n) +FIXED_ECHO := $(if $(findstring -n,$(shell $(ECHO) -n)),$(shell which echo),$(ECHO)) +ECHO := $(if $(FIXED_ECHO),$(FIXED_ECHO),$(ECHO)) + +define determine-gnuplot-output-extension +$(if $(shell $(WHICH) $(GNUPLOT)), + $(if $(findstring unknown or ambiguous, $(shell $(GNUPLOT) -e "set terminal pdf" 2>&1)), + eps, pdf), + none) +endef + +GNUPLOT_OUTPUT_EXTENSION ?= $(strip $(call determine-gnuplot-output-extension)) + +# Directory into which we place "binaries" if it exists. +# Note that this can be changed on the commandline or in Makefile.ini: +# +# Command line: +# make BINARY_TARGET_DIR=$HOME/pdfs myfile.pdf +# +# Also, you can specify a relative directory (relative to the Makefile): +# make BINARY_TARGET_DIR=pdfs myfile.pdf +# +# Or, you can use Makefile.ini: +# +# BINARY_TARGET_DIR := $(HOME)/bin_out +# +BINARY_TARGET_DIR ?= _out_ + +RESTARTS := $(if $(MAKE_RESTARTS),$(MAKE_RESTARTS),0) +# SH NOTES +# +# On some systems, /bin/sh, which is the default shell, is not linked to +# /bin/bash. While bash is supposed to be sh-compatible when invoked as sh, it +# just isn't. This section details some of the things you have to stay away +# from to remain sh-compatible. +# +# * File pattern expansion does not work for {} +# * [ "$x" = "$y" ] has to be [ x"$x" x"$y" ] +# * &> for stderr redirection doesn't work, use 2>&1 instead +# +# BSD SED NOTES +# +# BSD SED is not very nice compared to GNU sed, but it is the most +# commonly-invoked sed on Macs (being based on BSD), so we have to cater to +# it or require people to install GNU sed. It seems like the GNU +# requirement isn't too bad since this makefile is really a GNU makefile, +# but apparently GNU sed is much less common than GNU make in general, so +# I'm supporting it here. +# +# Sad experience has taught me the following about BSD sed: +# +# * \+ is not understood to mean \{1,\} +# * \| is meaningless (does not branch) +# * \n cannot be used as a substitution character +# * ? does not mean \{0,1\}, but is literal +# * a\ works, but only reliably for a single line if subsequent lines +# have forward slashes in them (as is the case in postscript) +# +# For more info (on the Mac) you can consult +# +# man -M /usr/share/man re_format +# +# And look for the word "Obsolete" near the bottom. + +# +# EXTERNAL PROGRAM DOCUMENTATION SCRIPT +# + +# $(call output-all-programs,[]) +define output-all-programs + [ -f '$(this_file)' ] && \ + $(SED) \ + -e '/^[[:space:]]*#[[:space:]]*EXTERNAL PROGRAMS:/,/^$$/!d' \ + -e '/EXTERNAL PROGRAMS/d' \ + -e '/^$$/d' \ + -e '/^[[:space:]]*#/i\ '\ + -e 's/^[[:space:]]*#[[:space:]][^=]*//' \ + $(this_file) $(if $1,> '$1',) || \ + $(ECHO) "Cannot determine the name of this makefile." +endef + +# If they misspell gray, it should still work. +GRAY ?= $(call get-default,$(GREY),) + +# +# Utility Functions and Definitions +# + +# While not exactly a make function, this vim macro is useful. It takes a +# verbatim sed script and converts each line to something suitable in a command +# context. Just paste the script's contents into the editor, yank this into a +# register (starting at '0') and run the macro once for each line of the +# original script: +# +# 0i -e :s/\$/$$/eg :s/'/'"'"'/eg ^Ela'A' \:noh j + +# don't call this directly - it is here to avoid calling wildcard more than +# once in remove-files. +remove-files-helper = $(if $1,$(RM) $1,$(sh_true)) + +# $(call remove-files,file1 file2) +remove-files = $(call remove-files-helper,$(wildcard $1)) + +# Removes all cleanable files in the given list +# $(call clean-files,file1 file2 file3 ...) +# Works exactly like remove-files, but filters out files in $(neverclean) +clean-files = \ + $(call remove-files-helper,$(call cleanable-files,$(wildcard $1))) + +# Outputs all generated files to STDOUT, along with some others that are +# created by these (e.g., .idx files end up producing .ilg and .ind files). +# Discovered by reading *.fls OUTPUT lines and producing corresponding .ind +# filenames as needed. +# +# $(call get-generated-names,) +define get-generated-names +[ -f '$1' ] && \ +$(SED) \ + -e '/^OUTPUT /{' \ + -e ' s///' \ + -e ' p' \ + -e ' s/\.idx/\.ind/p' \ + -e ' s/\.ind/\.ilg/p' \ + -e '}' \ + -e 'd' \ + '$1' \ +| $(SORT) | $(UNIQ) +endef + +# This removes files without checking whether they are there or not. This +# sometimes has to be used when the file is created by a series of shell +# commands, but there ends up being a race condition: make doesn't know about +# the file generation as quickly as the system does, so $(wildcard ...) doesn't +# work right. Blech. +# $(call remove-temporary-files,filenames) +remove-temporary-files = $(if $1,$(RM) $1,:) + +# Create an identifier from a file name +# $(call cleanse-filename,filename) +cleanse-filename = $(subst .,_,$(subst /,__,$1)) + +# Escape dots +# $(call escape-dots,str) +escape-dots = $(subst .,\\.,$1) + +# Test that a file exists +# $(call test-exists,file) +test-exists = [ -e '$1' ] + +# $(call move-files,source,destination) +move-if-exists = $(call test-exists,$1) && $(MV) '$1' '$2' + +# Copy file1 to file2 only if file2 doesn't exist or they are different +# $(call copy-if-different,sfile,dfile) +copy-if-different = $(call test-different,$1,$2) && $(CP) '$1' '$2' +copy-if-exists = $(call test-exists,$1) && $(CP) '$1' '$2' +move-if-different = $(call test-different,$1,$2) && $(MV) '$1' '$2' +replace-if-different-and-remove = \ + $(call test-different,$1,$2) \ + && $(MV) '$1' '$2' \ + || $(call remove-files,'$1') + +# Note that $(DIFF) returns success when the files are the SAME.... +# $(call test-different,sfile,dfile) +test-different = ! $(DIFF) -q '$1' '$2' >/dev/null 2>&1 +test-exists-and-different = \ + $(call test-exists,$2) && $(call test-different,$1,$2) + +# Return value 1, or value 2 if value 1 is empty +# $(call get-default,,) +get-default = $(if $1,$1,$2) + +# Copy a file and log what's going on +# $(call copy-with-logging,,) +define copy-with-logging +if [ -d '$2/' ]; then \ + if $(CP) '$1' '$2/'; then \ + $(ECHO) "$(C_INFO)Copied '$1' to '$2/'$(C_RESET)"; \ + else \ + $(ECHO) "$(C_ERROR)Failed to copy '$1' to '$2/'$(C_RESET)"; \ + fi; \ +fi +endef + +# Gives a reassuring message about the failure to find include files +# $(call include-message,) +define include-message +$(strip \ +$(if $(filter-out $(wildcard $1),$1),\ + $(shell $(ECHO) \ + "$(C_INFO)NOTE: You may ignore warnings about the"\ + "following files:" >&2;\ + $(ECHO) >&2; \ + $(foreach s,$(filter-out $(wildcard $1),$1),$(ECHO) ' $s' >&2;)\ + $(ECHO) "$(C_RESET)" >&2) +)) +endef +# Characters that are hard to specify in certain places +space := $(empty) $(empty) +colon := \: +comma := , + +# Useful shell definitions +sh_true := : +sh_false := ! : + +# Clear out the standard interfering make suffixes +.SUFFIXES: + +# Turn off forceful rm (RM is usually mapped to rm -f) +ifdef SAFE_RM +RM := rm +endif + +# Turn command echoing back on with VERBOSE=1 +ifndef VERBOSE +QUIET := @ +endif + +# Turn on shell debugging with SHELL_DEBUG=1 +# (EVERYTHING is echoed, even $(shell ...) invocations) +ifdef SHELL_DEBUG +SHELL += -x +endif + +# Get the name of this makefile (always right in 3.80, often right in 3.79) +# This is only really used for documentation, so it isn't too serious. +ifdef MAKEFILE_LIST +this_file := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) +else +this_file := $(wildcard GNUmakefile makefile Makefile) +endif + +# Terminal color definitions + +REAL_TPUT := $(if $(NO_COLOR),,$(shell $(WHICH) $(TPUT))) + +# $(call get-term-code,codeinfo) +# e.g., +# $(call get-term-code,setaf 0) +get-term-code = $(if $(REAL_TPUT),$(shell $(REAL_TPUT) $1),) + +black := $(call get-term-code,setaf 0) +red := $(call get-term-code,setaf 1) +green := $(call get-term-code,setaf 2) +yellow := $(call get-term-code,setaf 3) +blue := $(call get-term-code,setaf 4) +magenta := $(call get-term-code,setaf 5) +cyan := $(call get-term-code,setaf 6) +white := $(call get-term-code,setaf 7) +bold := $(call get-term-code,bold) +uline := $(call get-term-code,smul) +reset := $(call get-term-code,sgr0) + +# +# User-settable definitions +# +LATEX_COLOR_WARNING ?= magenta +LATEX_COLOR_ERROR ?= red +LATEX_COLOR_INFO ?= green +LATEX_COLOR_UNDERFULL ?= magenta +LATEX_COLOR_OVERFULL ?= red bold +LATEX_COLOR_PAGES ?= bold +LATEX_COLOR_BUILD ?= cyan +LATEX_COLOR_GRAPHIC ?= yellow +LATEX_COLOR_DEP ?= green +LATEX_COLOR_SUCCESS ?= green bold +LATEX_COLOR_FAILURE ?= red bold + +# Gets the real color from a simple textual definition like those above +# $(call get-color,ALL_CAPS_COLOR_NAME) +# e.g., $(call get-color,WARNING) +get-color = $(subst $(space),,$(foreach c,$(LATEX_COLOR_$1),$($c))) + +# +# STANDARD COLORS +# +C_WARNING := $(call get-color,WARNING) +C_ERROR := $(call get-color,ERROR) +C_INFO := $(call get-color,INFO) +C_UNDERFULL := $(call get-color,UNDERFULL) +C_OVERFULL := $(call get-color,OVERFULL) +C_PAGES := $(call get-color,PAGES) +C_BUILD := $(call get-color,BUILD) +C_GRAPHIC := $(call get-color,GRAPHIC) +C_DEP := $(call get-color,DEP) +C_SUCCESS := $(call get-color,SUCCESS) +C_FAILURE := $(call get-color,FAILURE) +C_RESET := $(reset) + +# +# PRE-BUILD TESTS +# + +# Check that clean targets are not combined with other targets (weird things +# happen, and it's not easy to fix them) +hascleangoals := $(if $(sort $(filter clean clean-%,$(MAKECMDGOALS))),1) +hasbuildgoals := $(if $(sort $(filter-out clean clean-%,$(MAKECMDGOALS))),1) +ifneq "$(hasbuildgoals)" "" +ifneq "$(hascleangoals)" "" +$(error $(C_ERROR)Clean and build targets specified together$(C_RESET))) +endif +endif + +# +# VARIABLE DECLARATIONS +# + +# Names of sed scripts that morph gnuplot files -- only the first found is used +GNUPLOT_SED := global-gpi.sed gnuplot.sed +GNUPLOT_GLOBAL := global._include_.gpi gnuplot.global + +ifneq "$(strip $(BUILD_STRATEGY))" "pdflatex" +default_graphic_extension ?= eps +latex_build_program ?= $(LATEX) +build_target_extension ?= dvi +hyperref_driver_pattern ?= hdvips +hyperref_driver_error ?= Using dvips: specify ps2pdf in the hyperref options. +else +default_graphic_extension ?= pdf +latex_build_program ?= $(PDFLATEX) +build_target_extension ?= pdf +hyperref_driver_pattern ?= hpdf.* +hyperref_driver_error ?= Using pdflatex: specify pdftex in the hyperref options (or leave it blank). +endif + +# Files of interest +all_files.tex ?= $(wildcard *.tex) +all_files.tex.sh ?= $(wildcard *.tex.sh) +all_files.tex.pl ?= $(wildcard *.tex.pl) +all_files.tex.py ?= $(wildcard *.tex.py) +all_files.rst ?= $(wildcard *.rst) +all_files.fig ?= $(wildcard *.fig) +all_files.gpi ?= $(wildcard *.gpi) +all_files.dot ?= $(wildcard *.dot) +all_files.xvg ?= $(wildcard *.xvg) +all_files.svg ?= $(wildcard *.svg) +all_files.png ?= $(wildcard *.png) +all_files.jpg ?= $(wildcard *.jpg) +all_files.eps.gz ?= $(wildcard *.eps.gz) +all_files.eps ?= $(wildcard *.eps) + +# Utility function for obtaining all files not specified in $(neverclean) +# $(call cleanable-files,file1 file2 file3 ...) +# Returns the list of files that is not in $(wildcard $(neverclean)) +cleanable-files = $(filter-out $(wildcard $(neverclean)), $1) + +# Utility function for getting all .$1 files that are to be ignored +# * files listed in $(includes.$1) +# * files not listed in $(onlysources.$1) if it is defined +ignore_files = \ + $(includes.$1) \ + $(if $(onlysources.$1),$(filter-out $(onlysources.$1), $(all_files.$1))) + +# Patterns to never be allowed as source targets +ignore_patterns := %._include_ + +# Patterns allowed as source targets but not included in 'all' builds +nodefault_patterns := %._nobuild_ $(ignore_patterns) + +# Utility function for getting targets suitable building +# $(call filter-buildable,suffix) +filter-buildable = \ + $(filter-out $(call ignore_files,$1) \ + $(addsuffix .$1,$(ignore_patterns)),$(all_files.$1)) + +# Utility function for getting targets suitable for 'all' builds +# $(call filter-default,suffix) +filter-default = \ + $(filter-out $(call ignore_files,$1) \ + $(addsuffix .$1,$(nodefault_patterns)),$(all_files.$1)) + +# Top level sources that can be built even when they are not by default +files.tex := $(call filter-buildable,tex) +files.tex.sh := $(call filter-buildable,tex.sh) +files.tex.pl := $(call filter-buildable,tex.pl) +files.tex.py := $(call filter-buildable,tex.py) +files.rst := $(call filter-buildable,rst) +files.gpi := $(call filter-buildable,gpi) +files.dot := $(call filter-buildable,dot) +files.fig := $(call filter-buildable,fig) +files.xvg := $(call filter-buildable,xvg) +files.svg := $(call filter-buildable,svg) +files.png := $(call filter-buildable,png) +files.jpg := $(call filter-buildable,jpg) +files.eps.gz := $(call filter-buildable,eps.gz) + +# Make all pstex targets secondary. The pstex_t target requires the pstex +# target, and nothing else really depends on it, so it often gets deleted. +# This avoids that by allowing *all* fig files to be pstex targets, which is +# perfectly valid and causes no problems even if they're going to become eps +# files in the end. +.SECONDARY: $(patsubst %.fig,%.pstex,$(files.fig)) + +# Top level sources that are built by default targets +default_files.tex := $(call filter-default,tex) +default_files.tex.sh := $(call filter-default,tex.sh) +default_files.tex.pl := $(call filter-default,tex.pl) +default_files.tex.py := $(call filter-default,tex.py) +default_files.rst := $(call filter-default,rst) +default_files.gpi := $(call filter-default,gpi) +default_files.dot := $(call filter-default,dot) +default_files.fig := $(call filter-default,fig) +default_files.xvg := $(call filter-default,xvg) +default_files.svg := $(call filter-default,svg) +default_files.png := $(call filter-default,png) +default_files.jpg := $(call filter-default,jpg) +default_files.eps.gz := $(call filter-default,eps.gz) + +# Utility function for creating larger lists of files +# $(call concat-files,suffixes,[prefix]) +concat-files = $(foreach s,$1,$($(if $2,$2_,)files.$s)) + +# Useful file groupings +all_files_source := $(call concat-files,tex,all) +all_files_scripts := $(call concat-files,tex.sh tex.pl tex.py rst,all) + +.PHONY: $(all_files_scripts) + +default_files_source := $(call concat-files,tex,default) +default_files_scripts := $(call concat-files,tex.sh tex.pl tex.py rst,default) + +files_source := $(call concat-files,tex) +files_scripts := $(call concat-files,tex.sh tex.pl tex.py rst) + +# Utility function for obtaining stems +# $(call get-stems,suffix,[prefix]) +get-stems = $(sort $($(if $2,$2_,)files.$1:%.$1=%)) + +# List of all stems (including ._include_ and ._nobuild_ file stems) +all_stems.tex := $(call get-stems,tex,all) +all_stems.tex.sh := $(call get-stems,tex.sh,all) +all_stems.tex.pl := $(call get-stems,tex.pl,all) +all_stems.tex.py := $(call get-stems,tex.py,all) +all_stems.rst := $(call get-stems,rst,all) +all_stems.fig := $(call get-stems,fig,all) +all_stems.gpi := $(call get-stems,gpi,all) +all_stems.dot := $(call get-stems,dot,all) +all_stems.xvg := $(call get-stems,xvg,all) +all_stems.svg := $(call get-stems,svg,all) +all_stems.png := $(call get-stems,png,all) +all_stems.jpg := $(call get-stems,jpg,all) +all_stems.eps.gz := $(call get-stems,eps.gz,all) +all_stems.eps := $(call get-stems,eps,all) + +# List of all default stems (all default PDF targets): +default_stems.tex := $(call get-stems,tex,default) +default_stems.tex.sh := $(call get-stems,tex.sh,default) +default_stems.tex.pl := $(call get-stems,tex.pl,default) +default_stems.tex.py := $(call get-stems,tex.py,default) +default_stems.rst := $(call get-stems,rst,default) +default_stems.fig := $(call get-stems,fig,default) +default_stems.gpi := $(call get-stems,gpi,default) +default_stems.dot := $(call get-stems,dot,default) +default_stems.xvg := $(call get-stems,xvg,default) +default_stems.svg := $(call get-stems,svg,default) +default_stems.png := $(call get-stems,png,default) +default_stems.jpg := $(call get-stems,jpg,default) +default_stems.eps.gz := $(call get-stems,eps.gz,default) + +# List of all stems (all possible bare PDF targets created here): +stems.tex := $(call get-stems,tex) +stems.tex.sh := $(call get-stems,tex.sh) +stems.tex.pl := $(call get-stems,tex.pl) +stems.tex.py := $(call get-stems,tex.py) +stems.rst := $(call get-stems,rst) +stems.fig := $(call get-stems,fig) +stems.gpi := $(call get-stems,gpi) +stems.dot := $(call get-stems,dot) +stems.xvg := $(call get-stems,xvg) +stems.svg := $(call get-stems,svg) +stems.png := $(call get-stems,png) +stems.jpg := $(call get-stems,jpg) +stems.eps.gz := $(call get-stems,eps.gz) + +# Utility function for creating larger lists of stems +# $(call concat-stems,suffixes,[prefix]) +concat-stems = $(sort $(foreach s,$1,$($(if $2,$2_,)stems.$s))) + +# The most likely to be source but not finished product go first +graphic_source_extensions := fig \ + gpi \ + xvg \ + svg \ + dot \ + eps.gz + +ifneq "$(strip $(BUILD_STRATEGY))" "pdflatex" +graphic_source_extensions += png jpg +graphic_target_extensions := eps ps +else +graphic_source_extensions += eps +graphic_target_extensions := pdf png jpg mps tif +endif + +all_stems_source := $(call concat-stems,tex,all) +all_stems_script := $(call concat-stems,tex.sh tex.pl tex.py rst,all) +all_stems_graphic := $(call concat-stems,$(graphic_source_extensions),all) +all_stems_ss := $(sort $(all_stems_source) $(all_stems_script)) +all_stems_sg := $(sort $(all_stems_script)) +all_stems_ssg := $(sort $(all_stems_ss)) + +default_stems_source := $(call concat-stems,tex,default) +default_stems_script := $(call concat-stems,tex.sh tex.pl tex.py rst,default) +default_stems_ss := $(sort $(default_stems_source) $(default_stems_script)) +default_stems_sg := $(sort $(default_stems_script)) +default_stems_ssg := $(sort $(default_stems_ss)) + +stems_source := $(call concat-stems,tex) +stems_script := $(call concat-stems,tex.sh tex.pl tex.py rst) +stems_graphic := $(call concat-stems,$(graphic_source_extensions)) +stems_gg := $(sort $(stems_graphic)) +stems_ss := $(sort $(stems_source) $(stems_script)) +stems_sg := $(sort $(stems_script)) +stems_ssg := $(sort $(stems_ss)) + +# Calculate names that can generate the need for an include file. We can't +# really do this with patterns because it's too easy to screw up, so we create +# an exhaustive list. +allowed_source_suffixes := \ + pdf \ + ps \ + dvi \ + ind \ + nls \ + bbl \ + aux \ + aux.make \ + d \ + auxbbl.make \ + _graphics \ + _show +allowed_source_patterns := $(addprefix %.,$(allowed_source_suffixes)) + +allowed_graphic_suffixes := \ + pdf \ + eps \ + gpihead.make \ + gpi.d +allowed_graphic_patterns := $(addprefix %.,$(allowed_graphic_suffixes)) + +# All targets allowed to build documents +allowed_source_targets := \ + $(foreach suff,$(allowed_source_suffixes),\ + $(addsuffix .$(suff),$(stems_ssg))) + +# All targets allowed to build graphics +allowed_graphic_targets := \ + $(foreach suff,$(allowed_graphic_suffixes),\ + $(addsuffix .$(suff),$(stems_gg))) + +# All targets that build multiple documents (like 'all') +allowed_batch_source_targets := \ + all \ + all-pdf \ + all-ps \ + all-dvi \ + all-bbl \ + all-ind \ + all-gls \ + all-nls \ + show + +# All targets that build multiple graphics (independent of document) +allowed_batch_graphic_targets := \ + all-graphics \ + all-pstex \ + all-dot2tex \ + show-graphics + +# Now we figure out which stuff is available as a make target for THIS RUN. +real_goals := $(call get-default,$(filter-out _includes,$(MAKECMDGOALS)),\ + all) + +specified_source_targets := $(strip \ + $(filter $(allowed_source_targets) $(stems_ssg),$(real_goals)) \ + ) + +specified_batch_source_targets := $(strip \ + $(filter $(allowed_batch_source_targets),$(real_goals)) \ + ) + +specified_graphic_targets := $(strip \ + $(filter $(allowed_graphic_targets),$(real_goals)) \ + ) + +specified_batch_graphic_targets := $(strip \ + $(filter $(allowed_batch_graphic_targets),$(real_goals)) \ + ) + +specified_gpi_targets := $(patsubst %.gpi,%.$(default_graphic_extension),\ + $(filter $(patsubst %.$(default_graphic_extension),%.gpi,$(specified_graphic_targets)),\ + $(all_files.gpi)) \ + ) + +# Determine which .d files need including from the information gained above. +# This is done by first checking whether a batch target exists. If it does, +# then all *default* stems are used to create possible includes (nobuild need +# not apply for batch status). If no batch targets exist, then the individual +# targets are considered and appropriate includes are taken from them. +source_stems_to_include := \ + $(sort\ + $(if $(specified_batch_source_targets),\ + $(default_stems_ss),\ + $(foreach t,$(specified_source_targets),\ + $(foreach p,$(allowed_source_patterns),\ + $(patsubst $p,%,$(filter $p $(stems_ssg),$t)) \ + )) \ + )) + +# Determine which .gpi.d files are needed using the above information. We +# first check whether a batch target is specified, then check individual +# graphics that may have been specified. +graphic_stems_to_include := \ + $(sort\ + $(if $(specified_batch_graphic_targets),\ + $(default_stems.gpi),\ + $(foreach t,$(specified_gpi_targets),\ + $(foreach p,$(allowed_graphic_patterns),\ + $(patsubst $p,%,$(filter $p,$t)) \ + )) \ + )) + +# All dependencies for the 'all' targets +all_pdf_targets := $(addsuffix .pdf,$(stems_ssg)) +all_ps_targets := $(addsuffix .ps,$(stems_ssg)) +all_dvi_targets := $(addsuffix .dvi,$(stems_ssg)) +all_tex_targets := $(addsuffix .tex,$(stems_sg)) +all_d_targets := $(addsuffix .d,$(stems_ssg)) +all_graphics_targets := $(addsuffix .$(default_graphic_extension),$(stems_gg)) +intermediate_graphics_targets := $(if $(filter pdf,$(default_graphic_extension)),$(addsuffix .eps,$(stems_gg)),) +all_pstex_targets := $(addsuffix .pstex_t,$(stems.fig)) +all_dot2tex_targets := $(addsuffix .dot_t,$(stems.dot)) + +all_known_graphics := $(sort $(all_graphics_targets) $(wildcard *.$(default_graphic_extension))) + +default_pdf_targets := $(addsuffix .pdf,$(default_stems_ss)) +ifneq "$(strip $(BUILD_STRATEGY))" "pdflatex" +default_ps_targets := $(addsuffix .ps,$(default_stems_ss)) +default_dvi_targets := $(addsuffix .dvi,$(default_stems_ss)) +pre_pdf_extensions := dvi ps +endif + +# Extensions generated by LaTeX invocation that can be removed when complete +rm_ext := \ + log *.log aux $(pre_pdf_extensions) pdf blg bbl out nav snm toc lof lot lol pfg \ + fls vrb idx ind ilg glg glo gls lox nls nlo nlg brf mtc maf brf +backup_patterns := *~ *.bak *.backup body.tmp head.tmp + +graph_stem := _graph + +# All LaTeX-generated files that can be safely removed + +rm_tex := \ + $(foreach e,$(rm_ext),$(addsuffix .$e,$(all_stems_source))) \ + $(foreach e,$(rm_ext) tex,$(addsuffix .$e,$(all_stems_sg))) \ + $(addsuffix .log,$(all_ps_targets) $(all_pdf_targets)) \ + $(addsuffix .*.log,$(stems_graphic)) + +# These are the files that will affect .gpi transformation for all .gpi files. +# +# Use only the first one found. Backward compatible values are at the end. +# Note that we use foreach, even though wildcard also returns a list, to ensure +# that the order in the uppercase variables is preserved. Directory listings +# provide no such guarantee, so we avoid relying on them. +gpi_sed := $(strip \ + $(firstword $(foreach f,$(GNUPLOT_SED),$(wildcard $f)))) +gpi_global := $(strip \ + $(firstword $(foreach f,$(GNUPLOT_GLOBAL),$(wildcard $f)))) + +# +# Functions used in generating output +# + +# Outputs all source dependencies to stdout. The first argument is the file to +# be parsed, the second is a list of files that will show up as dependencies in +# the new .d file created here. +# +# NOTE: BSD sed does not understand \|, so we have to do something more +# clunky to extract suitable extensions. +# +# Also, we do a little bit of funny rewriting up front (TARGETS=) to make sure +# that we can properly backslash-escape spaces in file names (e.g, on Cygwin +# for tex distributions that have "Program Files" in their name). +# +# $(call get-inputs,,) +define get-inputs +$(SED) \ +-e '/^INPUT/!d' \ +-e 's!^INPUT \(\./\)\{0,1\}!!' \ +-e 's/[[:space:]]/\\ /g' \ +-e 's/\(.*\)\.aux$$/\1.tex/' \ +-e '/\.tex$$/b addtargets' \ +-e '/\.cls$$/b addtargets' \ +-e '/\.sty$$/b addtargets' \ +-e '/\.pstex_t$$/b addtargets' \ +-e '/\.dot_t$$/b addtargets' \ +-e 'd' \ +-e ':addtargets' \ +-e 's/^/$2: /' \ +$1 | $(SORT) | $(UNIQ) +endef + +# $(call get-missing-inputs,,) +define get-missing-inputs +$(SED) \ +-e '$$ b para' \ +-e '/^$$/b para' \ +-e 'H' \ +-e 'd' \ +-e ':para' \ +-e 'x' \ +-e '/^$$/d' \ +-e 's/^\n*//' \ +-e '/^! LaTeX Error: File /{' \ +-e ' s/^/::DOUBLE_PARAGRAPH::/' \ +-e ' h' \ +-e ' d' \ +-e '}' \ +-e 's/^::DOUBLE_PARAGRAPH:://' \ +-e '/Default extension: /!d' \ +-e 's/[[:space:]]\{1,\}/ /g' \ +-e 's/\n\{1,\}/ /g' \ +-e 's/^.*File `//' \ +-e 's/'"'"' not found\..*//' \ +-e '/\.tex/!s/$$/.tex/' \ +-e 's/[[:space:]]/\\ /g' \ +-e 'h' \ +-e 's/.*/# MISSING input "&" - (presence of comment affects build)/' \ +-e 'p' \ +-e 's/.*//' \ +-e 'x' \ +-e 's/^/$2: /' \ +$1 | $(SORT) | $(UNIQ) +endef + +# Get source file for specified graphics stem. +# +# $(call graphics-source,) +define graphics-source +$(strip $(firstword \ + $(wildcard \ + $(addprefix $1.,\ + $(graphic_source_extensions))) \ + $1 \ +)) +endef + +# Get the target file for the specified graphics file/stem +# +# $(call graphics-target,) +define graphics-target +$(strip $(if $(filter $(addprefix %.,$(graphic_target_extensions)),$1), $1, + $(firstword $(patsubst $(addprefix %.,$(graphic_source_extensions) $(graphic_target_extensions)), %, $1).$(default_graphic_extension) $1.$(default_graphic_extension)))) +endef + +# Outputs all of the graphical dependencies to stdout. The first argument is +# the stem of the source file being built, the second is a list of suffixes +# that will show up as dependencies in the generated .d file. +# +# Note that we try to escape spaces in filenames where possible. We have to do +# it with three backslashes so that as the name percolates through the makefile +# it eventually ends up with the proper escaping when the build rule is found. +# Ugly, but it appears to work. Note that graphicx doesn't allow filenames +# with spaces, so this could in many ways be moot unless you're using something +# like grffile. +# +# For pdflatex, we really need the missing file to be specified without an +# extension, otherwise compilation barfs on the first missing file. Truly +# annoying, but there you have it. +# +# It turns out that the graphics errors, although they have lines with empty +# space, are only made of two paragraphs. So, we just use some sed magic to +# get everything into paragraphs, detect when it's a paragraph that interests +# us, and double it up. Then we get the filename only if we're missing +# extensions (a sign that it's graphicx complaining). +# +# $(call get-graphics,) +#.log,$(addprefix $*.,d $(build_target_extension) _graphics) +define get-graphics +$(SED) \ +-e '$$ b para' \ +-e '/^$$/b para' \ +-e 'H' \ +-e 'd' \ +-e ':para' \ +-e 'x' \ +-e '/^$$/d' \ +-e 's/^\n*//' \ +-e '/^! LaTeX Error: File `/{' \ +-e ' s/^/::DOUBLE_PARAGRAPH::/' \ +-e ' h' \ +-e ' d' \ +-e '}' \ +-e 's/^::DOUBLE_PARAGRAPH:://' \ +-e '/could not locate the file with any of these extensions:/{' \ +-e ' s/\n\{1,\}/ /g' \ +-e ' s/[[:space:]]\{1,\}/ /g' \ +-e ' s/^.*File `//' \ +-e ' s/'"'"' not found\..*//' \ +-e ' h' \ +-e ' s/.*/# MISSING stem "&" - (presence of comment affects build)/' \ +-e ' p' \ +-e ' g' \ +-e ' b addtargets' \ +-e '}' \ +-e '/.*File: \(.*\) Graphic file (type [^)]*).*/{' \ +-e ' s//\1/' \ +-e ' b addtargets' \ +-e '}' \ +-e 'd' \ +-e ':addtargets' \ +-e 's/[[:space:]]/\\\\\\&/g' \ +-e 'h' \ +-e 's/.*/-include &.gpi.d/' \ +-e 'p' \ +-e 'g' \ +-e 's/.*/$(addprefix $1,.d): $$$$(call graphics-source,&)/' \ +-e 'p' \ +-e 's/.*//' \ +-e 'x' \ +-e 's/.*/$(addprefix $1.,$(build_target_extension) _graphics): $$$$(call graphics-target,&)/' \ +-e 'p' \ +-e 'd' \ +$*.log +endef + +# Checks for build failure due to pstex inclusion, and gives instructions. +# +# $(call die-on-pstexs,) +define die-on-pstexs +if $(EGREP) -q '^! LaTeX Error: File .*\.pstex.* not found' $1; then \ + $(ECHO) "$(C_ERROR)Missing pstex_t file(s)$(C_RESET)"; \ + $(ECHO) "$(C_ERROR)Please run$(C_RESET)"; \ + $(ECHO) "$(C_ERROR) make all-pstex$(C_RESET)"; \ + $(ECHO) "$(C_ERROR)before proceeding.$(C_RESET)"; \ + exit 1; \ +fi +endef + +# Checks for build failure due to dot2tex, and gives instructions. +# +# $(call die-on-dot2tex,) +define die-on-dot2tex +if $(EGREP) -q ' LaTeX Error: File .*\.dot_t.* not found' $1; then \ + $(ECHO) "$(C_ERROR)Missing dot_t file(s)$(C_RESET)"; \ + $(ECHO) "$(C_ERROR)Please run$(C_RESET)"; \ + $(ECHO) "$(C_ERROR) make all-dot2tex$(C_RESET)"; \ + $(ECHO) "$(C_ERROR)before proceeding.$(C_RESET)"; \ + exit 1; \ +fi +endef + +# Checks for the existence of a .aux file, and dies with an error message if it +# isn't there. Note that we pass the file stem in, not the full filename, +# e.g., to check for foo.aux, we call it thus: $(call die-on-no-aux,foo) +# +# $(call die-on-no-aux,) +define die-on-no-aux +if [ ! -e '$1.aux' ]; then \ + $(call colorize-latex-errors,$1.log); \ + exit 1; \ +fi +endef + +# Outputs all index files to stdout. Arg 1 is the source file stem, arg 2 is +# the list of targets for the discovered dependency. +# +# $(call get-log-index,,) +define get-log-index +$(SED) \ +-e 's/^No file \(.*\.ind\)\.$$/TARGETS=\1/' \ +-e 's/^No file \(.*\.[gn]ls\)\.$$/TARGETS=\1/' \ +-e 's/[[:space:]]/\\&/g' \ +-e '/^TARGETS=/{' \ +-e ' h' \ +-e ' s/^TARGETS=/$2: /p' \ +-e ' g' \ +-e ' s/^TARGETS=\(.*\)/\1: $1.tex/p' \ +-e '}' \ +-e 'd' \ +'$1.log' | $(SORT) | $(UNIQ) +endef + + +# Outputs all bibliography files to stdout. Arg 1 is the source stem, arg 2 is +# a list of targets for each dependency found. +# +# The script kills all lines that do not contain bibdata. Remaining lines have +# the \bibdata macro and delimiters removed to create a dependency list. A +# trailing comma is added, then all adjacent commas are collapsed into a single +# comma. Then commas are replaced with the string .bib[space], and the +# trailing space is killed off. Finally, all filename spaces are escaped. +# This produces a list of space-delimited .bib filenames, which is what the +# make dep file expects to see. +# +# Note that we give kpsewhich a bogus argument so that a failure of sed to +# produce output will not cause an error. +# +# $(call get-bibs,,) +define get-bibs +$(SED) \ +-e '/^\\bibdata/!d' \ +-e 's/\\bibdata{\([^}]*\)}/\1,/' \ +-e 's/,\{2,\}/,/g' \ +-e 's/[[:space:]]/\\&/g' \ +-e 's/,/.bib /g' \ +-e 's/ \{1,\}$$//' \ +$1 | $(XARGS) $(KPSEWHICH) '#######' | \ +$(SED) \ +-e 's/^/$2: /' | \ +\$(SORT) | $(UNIQ) +endef + +# Makes a an aux file that only has stuff relevant to the target in it +# $(call make-auxtarget-file,,) +define make-auxtarget-file +$(SED) \ +-e '/^\\newlabel/!d' \ +$1 > $2 +endef + +# Makes an aux file that only has stuff relevant to the bbl in it +# $(call make-auxbbl-file,,) +define make-auxbbl-file +$(SED) \ +-e '/^\\newlabel/d' \ +$1 > $2 +endef + +# Makes a .gpi.d file from a .gpi file +# $(call make-gpi-d,<.gpi>,<.gpi.d>) +define make-gpi-d +$(ECHO) '# vim: ft=make' > $2; \ +$(ECHO) 'ifndef INCLUDED_$(call cleanse-filename,$2)' >> $2; \ +$(ECHO) 'INCLUDED_$(call cleanse-filename,$2) := 1' >> $2; \ +$(call get-gpi-deps,$1,$(addprefix $(2:%.gpi.d=%).,$(GNUPLOT_OUTPUT_EXTENSION) gpi.d)) >> $2; \ +$(ECHO) 'endif' >> $2; +endef + +# Parse .gpi files for data and loaded dependencies, output to stdout +# +# The sed script here tries to be clever about obtaining valid +# filenames from the gpi file. It assumes that the plot command starts its own +# line, which is not too difficult a constraint to satisfy. +# +# This command script also generates 'include' directives for every 'load' +# command in the .gpi file. The load command must appear on a line by itself +# and the file it loads must have the suffix .gpi. If you don't want it to be +# compiled when running make graphics, then give it a suffix of ._include_.gpi. +# +# $(call get-gpi-deps,,) +define get-gpi-deps +$(SED) \ +-e '/^[[:space:]]*s\{0,1\}plot/,/[^\\]$$/{' \ +-e ' H' \ +-e ' /[^\\]$$/{' \ +-e ' s/.*//' \ +-e ' x' \ +-e ' s/\\\{0,1\}\n//g' \ +-e ' s/^[[:space:]]*s\{0,1\}plot[[:space:]]*\(\[[^]]*\][[:space:]]*\)*/,/' \ +-e ' s/[[:space:]]*\(['\''"][^'\''"]*['\''"]\)\{0,1\}[^,]*/\1/g' \ +-e ' s/,['\''"]-\{0,1\}['\''"]//g' \ +-e ' s/[,'\''"]\{1,\}/ /g' \ +-e ' s!.*!$2: &!' \ +-e ' p' \ +-e ' }' \ +-e ' d' \ +-e '}' \ +-e 's/^[[:space:]]*load[[:space:]]*['\''"]\([^'\''"]*\.gpi\)['\''"].*$$/-include \1.d/p' \ +-e 'd' \ +$1 +endef + +# Colorizes real, honest-to-goodness LaTeX errors that can't be overcome with +# recompilation. +# +# Note that we only ignore file not found errors for things that we know how to +# build, like graphics files. +# +# $(call colorize-latex-errors,) +define colorize-latex-errors +$(SED) \ +-e '$$ b para' \ +-e '/^$$/b para' \ +-e 'H' \ +-e 'd' \ +-e ':para' \ +-e 'x' \ +-e '/^$$/d' \ +-e 's/^\n*//' \ +-e '/^! LaTeX Error: File /{' \ +-e ' s/^/::DOUBLE_PARAGRAPH::/' \ +-e ' h' \ +-e ' d' \ +-e '}' \ +-e 's/^::DOUBLE_PARAGRAPH:://' \ +-e '/could not locate the file with any of these extensions:/d' \ +-e '/Missing .begin.document/{' \ +-e ' h' \ +-e ' s/.*/Are you trying to build an include file?/' \ +-e ' x' \ +-e ' G' \ +-e '}' \ +-e '/ LaTeX Error: Cannot determine size/d' \ +-e 's/.* LaTeX Error .*/$(C_ERROR)&$(C_RESET)/p' \ +-e 's/Error: pdflatex (file .*/$(C_ERROR)& - try specifying it without an extension$(C_RESET)/p' \ +-e '/.*\*hyperref using.*driver \(.*\)\*.*/{' \ +-e ' s//\1/' \ +-e ' /^$(hyperref_driver_pattern)$$/!{' \ +-e ' s/.*//' \ +-e ' p' \ +-e ' s/.*/$(C_ERROR)--- Using incorrect driver for hyperref! ---$(C_RESET)/' \ +-e ' p' \ +-e ' s/.*/$(C_ERROR)$(hyperref_driver_error)$(C_RESET)/' \ +-e ' p' \ +-e ' }' \ +-e ' d' \ +-e '}' \ +-e '/ LaTeX Error: Unknown graphics extension/{' \ +-e ' s/^/ /' \ +-e ' h' \ +-e ' s/.*/--- Graphics extension error:/' \ +-e ' G' \ +-e ' h' \ +-e ' s/.*/--- If you specified the extension explicitly in your .tex file, try removing it./' \ +-e ' H' \ +-e ' g' \ +-e ' s/.*/$(C_ERROR)&$(C_RESET)/' \ +-e ' p' \ +-e ' s/.*//' \ +-e ' h' \ +-e ' b' \ +-e '}' \ +-e 's/.*\(\n\{0,\}! .*\)/$(C_ERROR)\1$(C_RESET)/p' \ +-e 'd' \ +$1 +endef + +# Colorize Makeindex errors +define colorize-makeindex-errors +$(SED) \ +-e '/^!! /{' \ +-e ' N' \ +-e ' s/^.*$$/$(C_ERROR)&$(C_RESET)/' \ +-e ' p' \ +-e '}' \ +-e 'd' \ +$1 +endef + +# Colorize epstopdf errors +# +# $(call colorize-epstopdf-errors,) +define colorize-epstopdf-errors +$(SED) \ +-e '/^Error:/,/^Execution stack:/{' \ +-e ' /^Execution stack:/d' \ +-e ' s/.*/$(C_ERROR)&$(C_RESET)/' \ +-e ' p' \ +-e '}' \ +-e 'd' \ +$1 +endef + +# Colorize GNUplot errors +# +# $(call colorize-gnuplot-errors,) +define colorize-gnuplot-errors +$(SED) \ +-e '/, line [0-9]*:/!{' \ +-e ' H' \ +-e ' x' \ +-e ' s/.*\n\(.*\n.*\)$$/\1/' \ +-e ' x' \ +-e '}' \ +-e '/, line [0-9]*:/{' \ +-e ' H' \ +-e ' /unknown.*terminal type/{' \ +-e ' s/.*/--- Try changing the GNUPLOT_OUTPUT_EXTENSION variable to 'eps'./' \ +-e ' H' \ +-e ' }' \ +-e ' /gpihead/{' \ +-e ' s/.*/--- This could be a Makefile bug - contact the maintainer./' \ +-e ' H' \ +-e ' }' \ +-e ' g' \ +-e ' s/.*/$(C_ERROR)&$(C_RESET)/' \ +-e ' p' \ +-e '}' \ +-e '/^gnuplot>/,/^$$/{' \ +-e ' s/^gnuplot.*/$(C_ERROR)&/' \ +-e ' s/^$$/$(C_RESET)/' \ +-e ' p' \ +-e '}' \ +-e 'd' \ +$1 +endef + +# Colorize GraphViz errors +# +# $(call colorize-dot-errors,) +define colorize-dot-errors +$(SED) \ +-e '/^Error:/,/context:/s/.*/$(C_ERROR)&$(C_RESET)/p' \ +-e 's/^Warning:.*/$(C_WARNING)&$(C_RESET)/p' \ +-e 'd' \ +'$1' +endef + +# Get all important .aux files from the top-level .aux file and merges them all +# into a single file, which it outputs to stdout. +# +# $(call flatten-aux,,) +define flatten-aux +$(SED) \ +-e '/\\@input{\(.*\)}/{' \ +-e 's//\1/' \ +-e 's![.:]!\\&!g' \ +-e 'h' \ +-e 's!.*!\\:\\\\@input{&}:{!' \ +-e 'p' \ +-e 'x' \ +-e 's/\\././g' \ +-e 's/.*/r &/p' \ +-e 's/.*/d/p' \ +-e 's/.*/}/p' \ +-e 'd' \ +-e '}' \ +-e 'd' \ +'$1' > "$1.$$$$.sed.make"; \ +$(SED) -f "$1.$$$$.sed.make" '$1' > "$1.$$$$.make"; \ +$(SED) \ +-e '/^\\relax/d' \ +-e '/^\\bibcite/d' \ +-e 's/^\(\\newlabel{[^}]\{1,\}}\).*/\1/' \ +"$1.$$$$.make" | $(SORT) > '$2'; \ +$(call remove-temporary-files,$1.$$$$.make $1.$$$$.sed.make) +endef + +# Generate pdf from postscript +# +# Note that we don't just call ps2pdf, since there are so many versions of that +# script on various systems. Instead, we call the postscript interpreter +# directly. +# +# $(call ps2pdf,infile,outfile,[embed fonts]) +define ps2pdf + $(GS) \ + -dSAFER -dCompatibilityLevel=$(PS_COMPATIBILITY) \ + $(if $3,$(PS_EMBED_OPTIONS)) \ + -q -dNOPAUSE -dBATCH \ + -sDEVICE=pdfwrite -sstdout=%stderr \ + '-sOutputFile=$2' \ + -dSAFER -dCompatibilityLevel=$(PS_COMPATIBILITY) \ + $(if $3,$(PS_EMBED_OPTIONS)) \ + -c .setpdfwrite \ + -f '$1' +endef + +# Colorize LaTeX output. +# This uses a neat trick from the Sed & Awk Book from O'Reilly: +# 1) If a line has a single ending paren, delete it to make a blank line (so +# that we catch the first error, which is not always preceded by a blank +# line). +# 2) Ensure that the last line of the file gets appended to the hold buffer, +# and blank it out to trigger end-of-paragraph logic below. +# 3) When encountering a blank line (LaTeX output helpfully breaks output on +# newlines) +# a) swap the hold buffer (containing the paragraph) into the pattern buffer (putting a blank line into the hold buffer), +# b) remove the newline at the beginning (don't ask), +# c) apply any colorizing substitutions necessary to ensure happiness. +# d) get the newline out of the hold buffer and append it +# e) profit! (print) +# 4) Anything not colorized is deleted, unless in verbose mode. +color_tex := \ + $(SED) \ + -e '$${' \ + -e ' /^$$/!{' \ + -e ' H' \ + -e ' s/.*//' \ + -e ' }' \ + -e '}' \ + -e '/^$$/!{' \ + -e ' H' \ + -e ' d' \ + -e '}' \ + -e '/^$$/{' \ + -e ' x' \ + -e ' s/^\n//' \ + -e ' /Output written on /{' \ + -e ' s/.*Output written on \([^(]*\) (\([^)]\{1,\}\)).*/Success! Wrote \2 to \1/' \ + -e ' s/[[:digit:]]\{1,\}/$(C_PAGES)&$(C_RESET)/g' \ + -e ' s/Success!/$(C_SUCCESS)&$(C_RESET)/g' \ + -e ' s/to \(.*\)$$/to $(C_SUCCESS)\1$(C_RESET)/' \ + -e ' b end' \ + -e ' }' \ + -e ' / *LaTeX Error:.*/{' \ + -e ' s/.*\( *LaTeX Error:.*\)/$(C_ERROR)\1$(C_RESET)/' \ + -e ' b end' \ + -e ' }' \ + -e ' /.*Warning:.*/{' \ + -e ' s//$(C_WARNING)&$(C_RESET)/' \ + -e ' b end' \ + -e ' }' \ + -e ' /Underfull.*/{' \ + -e ' s/.*\(Underfull.*\)/$(C_UNDERFULL)\1$(C_RESET)/' \ + -e ' b end' \ + -e ' }' \ + -e ' /Overfull.*/{' \ + -e ' s/.*\(Overfull.*\)/$(C_OVERFULL)\1$(C_RESET)/' \ + -e ' b end' \ + -e ' }' \ + $(if $(VERBOSE),,-e ' d') \ + -e ' :end' \ + -e ' G' \ + -e '}' \ + +# Colorize BibTeX output. +color_bib := \ + $(SED) \ + -e 's/^Warning--.*/$(C_WARNING)&$(C_RESET)/' -e 't' \ + -e '/---/,/^.[^:]/{' \ + -e ' H' \ + -e ' /^.[^:]/{' \ + -e ' x' \ + -e ' s/\n\(.*\)/$(C_ERROR)\1$(C_RESET)/' \ + -e ' p' \ + -e ' s/.*//' \ + -e ' h' \ + -e ' d' \ + -e ' }' \ + -e ' d' \ + -e '}' \ + -e '/(.*error.*)/s//$(C_ERROR)&$(C_RESET)/' \ + $(if $(VERBOSE),,-e 'd') + + +# Make beamer output big enough to print on a full page. Landscape doesn't +# seem to work correctly. +enlarge_beamer = $(PSNUP) -l -1 -W128mm -H96mm -pletter + +# $(call test-run-again,) +test-run-again = $(EGREP) -q '^(.*Rerun .*|No file $1\.[^.]+\.)$$' $1.log + +# This tests whether the build target commands should be run at all, from +# viewing the log file. +# $(call test-log-for-need-to-run,) +define test-log-for-need-to-run +$(SED) \ +-e '/^No file $(call escape-dots,$1)\.aux\./d' \ +$1.log \ +| $(EGREP) -q '^(.*Rerun .*|No file $1\.[^.]+\.|No file .+\.tex\.|LaTeX Warning: File.*)$$' +endef + +# LaTeX invocations +# +# $(call latex,,[]) +run-latex = $(latex_build_program) --interaction=batchmode $(if $2,$2,) $1 > /dev/null + +# $(call latex-color-log,) +latex-color-log = $(color_tex) $1.log + +# $(call run-makeindex,,,,) +define run-makeindex +success=1; \ +if ! $(MAKEINDEX) -q $1 -t $3 -o $2 $4 > /dev/null || $(EGREP) -q '^!!' $3; then \ + $(call colorize-makeindex-errors,$3); \ + $(RM) -f '$2'; \ + success=0; \ +fi; \ +[ "$$success" = "1" ] && $(sh_true) || $(sh_false); +endef + +# This runs the given script to generate output, and it uses MAKE_RESTARTS to +# ensure that it never runs it more than once for a particular root make +# invocation. +# +# $(call run-script,,,) +define run-script +[ ! -e '$2.cookie' ] && $(ECHO) "restarts=$(RESTARTS)" > $2.cookie && $(ECHO) "level=$(MAKELEVEL)" >> $2.cookie; \ +restarts=`$(SED) -n -e 's/^restarts=//p' $2.cookie`; \ +level=`$(SED) -n -e 's/^level=//p' $2.cookie`; \ +if $(EXPR) $(MAKELEVEL) '<=' $$level '&' $(RESTARTS) '<=' $$restarts >/dev/null; then \ + $(call echo-build,$2,$3,$(RESTARTS)-$(MAKELEVEL)); \ + $1 '$2' '$3'; \ + $(ECHO) "restarts=$(RESTARTS)" > '$2.cookie'; \ + $(ECHO) "level=$(MAKELEVEL)" >> '$2.cookie'; \ +fi +endef + +# BibTeX invocations +# +# $(call run-bibtex,) +run-bibtex = $(BIBTEX) $1 | $(color_bib) + + +# $(call convert-eps-to-pdf,,,[gray]) +# Note that we don't use the --filter flag because it has trouble with bounding boxes that way. +define convert-eps-to-pdf +$(if $3,$(CAT) '$1' | $(call kill-ps-color) > '$1.cookie',$(CP) '$1' '$1.cookie'); \ +$(EPSTOPDF) '$1.cookie' --outfile='$2' > $1.log; \ +$(call colorize-epstopdf-errors,$1.log); +endef + +# $(call convert-gpi,,,[gray]) +# +define convert-gpi +$(ECHO) 'set terminal $(if $(filter %.pdf,$2),pdf enhanced,postscript enhanced eps)' \ +$(if $(filter %.pdf,$2),fsize ,)$(call get-default,$(strip \ +$(firstword \ + $(shell \ + $(SED) \ + -e 's/^\#\#FONTSIZE=\([[:digit:]]\{1,\}\)/\1/p' \ + -e 'd' \ + $1 $(strip $(gpi_global)) \ + ) \ +) \ +),$(if $(filter %.pdf,$2),$(DEFAULT_GPI_PDF_FONTSIZE),$(DEFAULT_GPI_EPS_FONTSIZE))) \ +$(strip $(if $3,monochrome,$(if \ +$(shell $(EGREP) '^\#\#[[:space:]]*GRAY[[:space:]]*$$' $< $(gpi_global)),\ +,color))) > $1head.make; \ +$(ECHO) 'set output "$2"' >> $1head.make; \ +$(if $(gpi_global),$(CAT) $(gpi_global) >> $1head.make;,) \ +fnames='$1head.make $1';\ +$(if $(gpi_sed),\ + $(SED) -f '$(gpi_sed)' $$fnames > $1.temp.make; \ + fnames=$1.temp.make;,\ +) \ +success=1; \ +if ! $(GNUPLOT) $$fnames 2>$1.log; then \ + $(call colorize-gnuplot-errors,$1.log); \ + success=0; \ +fi; \ +$(if $(gpi_sed),$(call remove-temporary-files,$1.temp.make);,) \ +$(call remove-temporary-files,$1head.make); \ +[ "$$success" = "1" ] && $(sh_true) || $(sh_false); +endef + +# Creation of .eps files from .png files +# +# The intermediate step of PNM (using NetPBM) produces much nicer output than +# ImageMagick's "convert" binary. I couldn't get the right combination of +# flags to make it look nice, anyway. +# +# To handle gray scale conversion, we pipe things through ppmtopgm in the +# middle. +# +# $(call convert-png,,) +define convert-png +$(PNGTOPNM) "$1" \ + $(if $3,| $(PPMTOPGM),) \ + | $(PNMTOPS) -noturn \ + > "$2" +endef + +# Creation of .eps files from .jpg files +# +# Thanks to brubakee for this solution. +# +# Uses Postscript level 2 to avoid file size bloat +# $(call convert-jpg,,) +define convert-jpg +$(CONVERT) $(if $3,-type Grayscale,) '$1' eps2:'$2' +endef + +# Creation of .eps files from .fig files +# $(call convert-fig,,,[gray]) +convert-fig = $(FIG2DEV) -L $(if $(filter %.pdf,$2),pdf,eps) $(if $3,-N,) $1 $2 + +# Creation of .pstex files from .fig files +# $(call convert-fig-pstex,,) +convert-fig-pstex = $(FIG2DEV) -L pstex $1 $2 > /dev/null 2>&1 + +# Creation of .pstex_t files from .fig files +# $(call convert-fig-pstex-t,,,) +convert-fig-pstex-t = $(FIG2DEV) -L pstex_t -p $3 $1 $2 > /dev/null 2>&1 + +# Creation of .dot_t files from .dot files +# #(call convert-dot-tex,,) +convert-dot-tex = $(DOT2TEX) '$1' > '$2' + +# Converts svg files into .eps files +# +# $(call convert-svg,,,[gray]) +convert-svg = $(INKSCAPE) --export-eps='$2' '$1' + +# Converts xvg files into .eps files +# +# $(call convert-xvg,,,[gray]) +convert-xvg = $(XMGRACE) '$1' -printfile - -hardcopy -hdevice $(if $3,-mono,) EPS > '$2' + +# Converts .eps.gz files into .eps files +# +# $(call convert-epsgz,,,[gray]) +convert-epsgz = $(GUNZIP) -c '$1' $(if $3,| $(call kill-ps-color)) > '$2' + +# Converts .eps files into .eps files (usually a no-op, but can make grayscale) +# +# $(call convert-eps,,,[gray]) +convert-eps = $(if $3,$(call kill-ps-color) $1 > $2) + +# The name of the file containing special postscript commands for grayscale +gray_eps_file := gray.eps.make + +# Changes sethsbcolor and setrgbcolor calls in postscript to always produce +# grayscale. In general, this is accomplished by writing new versions of those +# functions into the user dictionary space, which is looked up before the +# global or system dictionaries (userdict is one of the permanent dictionaries +# in postscript and is not read-only like systemdict). +# +# For setrgbcolor, the weighted average of the triple is computed and the +# triple is replaced with three copies of that average before the original +# procedure is called: .299R + .587G + .114B +# +# For sethsbcolor, the color is first converted to RGB, then to grayscale by +# the new setrgbcolor operator as described above. Why is this done? +# Because simply using the value component will tend to make pure colors +# white, a very undesirable thing. Pure blue should not translate to white, +# but to some level of gray. Conversion to RGB does the right thing. It's +# messy, but it works. +# +# From +# http://en.wikipedia.org/wiki/HSV_color_space#Transformation_from_HSV_to_RGB, +# HSB = HSV (Value = Brightness), and the formula used to convert to RGB is +# as follows: +# +# Hi = int(floor(6 * H)) mod 6 +# f = 6 * H - Hi +# p = V(1-S) +# q = V(1-fS) +# t = V(1-(1-f)S) +# if Hi = 0: R G B <-- V t p +# if Hi = 1: R G B <-- q V p +# if Hi = 2: R G B <-- p V t +# if Hi = 3: R G B <-- p q V +# if Hi = 4: R G B <-- t p V +# if Hi = 5: R G B <-- V p q +# +# The messy stack-based implementation is below +# $(call create-gray-eps-file,filename) +define create-gray-eps-file +$(ECHO) -n -e '\ +/OLDRGB /setrgbcolor load def\n\ +/setrgbcolor {\n\ + .114 mul exch\n\ + .587 mul add exch\n\ + .299 mul add\n\ + dup dup\n\ + OLDRGB\n\ +} bind def\n\ +/OLDHSB /sethsbcolor load def\n\ +/sethsbcolor {\n\ + 2 index % H V S H\n\ + 6 mul floor cvi 6 mod % Hi V S H\n\ + 3 index % H Hi V S H\n\ + 6 mul % 6H Hi V S H\n\ + 1 index % Hi 6H Hi V S H\n\ + sub % f Hi V S H\n\ + 2 index 1 % 1 V f Hi V S H\n\ + 4 index % S 1 V f Hi V S H\n\ + sub mul % p f Hi V S H\n\ + 3 index 1 % 1 V p f Hi V S H\n\ + 6 index % S 1 V p f Hi V S H\n\ + 4 index % f S 1 V p f Hi V S H\n\ + mul sub mul % q p f Hi V S H\n\ + 4 index 1 1 % 1 1 V q p f Hi V S H\n\ + 5 index % f 1 1 V q p f Hi V S H\n\ + sub % (1-f) 1 V q p f Hi V S H\n\ + 8 index % S (1-f) 1 V q p f Hi V S H\n\ + mul sub mul % t q p f Hi V S H\n\ + 4 -1 roll pop % t q p Hi V S H\n\ + 7 -2 roll pop pop % t q p Hi V\n\ + 5 -2 roll % Hi V t q p\n\ + dup 0 eq\n\ + {1 index 3 index 6 index}\n\ + {\n\ + dup 1 eq\n\ + {3 index 2 index 6 index}\n\ + {\n\ + dup 2 eq\n\ + {4 index 2 index 4 index}\n\ + {\n\ + dup 3 eq\n\ + {4 index 4 index 3 index}\n\ + {\n\ + dup 4 eq\n\ + {2 index 5 index 3 index}\n\ + {\n\ + dup 5 eq\n\ + {1 index 5 index 5 index}\n\ + {0 0 0}\n\ + ifelse\n\ + }\n\ + ifelse\n\ + }\n\ + ifelse\n\ + }\n\ + ifelse\n\ + }\n\ + ifelse\n\ + }\n\ + ifelse % B G R Hi V t q p\n\ + setrgbcolor\n\ + 5 {pop} repeat\n\ +} bind def\n'\ +> $1 +endef + +# This actually inserts the color-killing code into a postscript file +# $(call kill-ps-color) +define kill-ps-color +$(SED) -e '/%%EndComments/r $(gray_eps_file)' +endef + +# Converts graphviz .dot files into .eps files +# Grayscale is not directly supported by dot, so we pipe it through fig2dev in +# that case. +# $(call convert-dot,,,,[gray]) +define convert-dot +$(DOT) -Tps '$1' 2>'$3' $(if $4,| $(call kill-ps-color)) > $2; \ +$(call colorize-dot-errors,$3) +endef + +# Convert DVI to Postscript +# $(call make-ps,,,,[]) +make-ps = \ + $(DVIPS) -o '$2' $(if $(filter-out BEAMER,$4),-t$(firstword $4),) '$1' \ + $(if $(filter BEAMER,$4),| $(enlarge_beamer)) > $3 2>&1 + +# Convert Postscript to PDF +# $(call make-pdf,,,,) +make-pdf = \ + $(call ps2pdf,$1,$2,$(filter 1,$(shell $(CAT) '$4'))) > '$3' 2>&1 + +# Display information about what is being done +# $(call echo-build,,,[]) +echo-build = $(ECHO) "$(C_BUILD)= $1 --> $2$(if $3, ($3),) =$(C_RESET)" +echo-graphic = $(ECHO) "$(C_GRAPHIC)= $1 --> $2 =$(C_RESET)" +echo-dep = $(ECHO) "$(C_DEP)= $1 --> $2 =$(C_RESET)" + +# Display a list of something +# $(call echo-list,) +echo-list = for x in $1; do $(ECHO) "$$x"; done + +# +# DEFAULT TARGET +# + +.PHONY: all +all: $(default_pdf_targets) ; + +.PHONY: all-pdf +all-pdf: $(default_pdf_targets) ; + +ifneq "$(strip $(BUILD_STRATEGY))" "pdflatex" +.PHONY: all-ps +all-ps: $(default_ps_targets) ; + +.PHONY: all-dvi +all-dvi: $(default_dvi_targets) ; +endif + +# +# VIEWING TARGET +# +.PHONY: show +show: all + $(QUIET)for x in $(default_pdf_targets); do \ + [ -e "$$x" ] && $(VIEW_PDF) $$x & \ + done + +# +# INCLUDES +# +source_includes := $(addsuffix .d,$(source_stems_to_include)) +graphic_includes := $(addsuffix .gpi.d,$(graphic_stems_to_include)) + +# Include only the dependencies used +ifneq "" "$(source_includes)" +include $(source_includes)$(call include-message,$(source_includes)) +endif +ifneq "" "$(graphic_includes)" +include $(graphic_includes)$(call include-message,$(graphic_includes)) +endif + +# +# MAIN TARGETS +# + +# Note that we don't just say %: %.pdf here - this can tend to mess up our +# includes, which detect what kind of file we are asking for. For example, +# asking to build foo.pdf is much different than asking to build foo when +# foo.gpi exists, because we look through all of the goals for *.pdf that +# matches *.gpi, then use that to determine which include files we need to +# build. +# +# Thus, we invoke make recursively with better arugments instead, restarting +# all of the appropriate machinery. +.PHONY: $(default_stems_ss) +$(default_stems_ss): %: %.pdf ; + +# This builds and displays the wanted file. +.PHONY: $(addsuffix ._show,$(stems_ssg)) +%._show: %.pdf + $(QUIET)$(VIEW_PDF) $< & + +ifneq "$(strip $(BUILD_STRATEGY))" "pdflatex" +.SECONDARY: $(all_pdf_targets) +%.pdf: %.ps %.embed.make + $(QUIET)$(call echo-build,$<,$@) + $(QUIET)$(call make-pdf,$<,$@.temp,$@.log,$*.embed.make); \ + if [ x"$$?" = x"0" ]; then \ + $(if $(VERBOSE),$(CAT) $@.log,:); \ + $(RM) -f '$@'; \ + $(MV) '$@.temp' '$@'; \ + $(TOUCH) '$@'; \ + $(call copy-with-logging,$@,$(BINARY_TARGET_DIR)); \ + else \ + $(CAT) $@.log; \ + $(call remove-temporary-files,'$@.temp'); \ + $(sh_false); \ + fi + +.SECONDARY: $(all_ps_targets) +%.ps: %.dvi %.paper.make + $(QUIET)$(call echo-build,$<,$@) + $(QUIET)$(call make-ps,$<,$@.temp,$@.log,\ + $(firstword $(shell $(CAT) $*.paper.make))); \ + if [ x"$$?" = x"0" ]; then \ + $(if $(VERBOSE),$(CAT) $@.log,:); \ + $(RM) -f '$@'; \ + $(MV) '$@.temp' '$@'; \ + $(TOUCH) '$@'; \ + $(call copy-with-logging,$@,$(BINARY_TARGET_DIR)); \ + else \ + $(CAT) $@.log; \ + $(call remove-temporary-files,'$@.temp'); \ + $(sh_false); \ + fi +endif + +# Build the final target (dvi or pdf) file. This is a very tricky rule because +# of the way that latex runs multiple times, needs graphics after the first run +# (or maybe already has them), and relies on bibliographies or indices that may +# not exist. +# +# Check the log for fatal errors. If they exist, colorize and bail. +# +# Create the .auxtarget.cookie file. (Needed for next time if not present) +# +# If any of the following are true, we must rebuild at least one time: +# +# * the .bbl was recently rebuilt +# +# check a cookie, then delete it +# +# * any of several output files was created or changed: +# +# check $*.run.cookie, then delete it +# +# * the .aux file changed in a way that necessitates attention +# +# Note that if the .auxtarget.make file doesn't exist, this means +# that we are doing a clean build, so it doesn't figure into the +# test for running again. +# +# compare against .auxtarget.make +# +# move if different, remove if not +# +# * the .log file has errors or warnings requiring at least one more run +# +# We use a loop over a single item to simplify the process of breaking +# out when we find one of the conditions to be true. +# +# If we do NOT need to run latex here, then we move the $@.1st.make file +# over to $@ because the target file has already been built by the first +# dependency run and is valid. +# +# If we do, we delete that cookie file and do the normal multiple-runs +# routine. +# +ifneq "$(strip $(BUILD_STRATEGY))" "pdflatex" +.SECONDARY: $(all_dvi_targets) +endif +%.$(build_target_extension): %.bbl %.aux %.$(build_target_extension).1st.make + $(QUIET)\ + fatal=`$(call colorize-latex-errors,$*.log)`; \ + if [ x"$$fatal" != x"" ]; then \ + $(ECHO) "$$fatal"; \ + exit 1; \ + fi; \ + $(call make-auxtarget-file,$*.aux.make,$*.auxtarget.cookie); \ + run=0; \ + for i in 1; do \ + if $(call test-exists,$*.bbl.cookie); then \ + run=1; \ + break; \ + fi; \ + if $(call test-exists,$*.run.cookie); then \ + run=1; \ + break; \ + fi; \ + if $(call \ + test-exists-and-different,$*.auxtarget.cookie,$*.auxtarget.make);\ + then \ + run=1; \ + break; \ + fi; \ + if $(call test-log-for-need-to-run,$*); then \ + run=1; \ + break; \ + fi; \ + done; \ + $(call remove-temporary-files,$*.bbl.cookie $*.run.cookie); \ + $(MV) $*.auxtarget.cookie $*.auxtarget.make; \ + if [ x"$$run" = x"1" ]; then \ + $(call remove-files,$@.1st.make); \ + for i in 2 3 4 5; do \ + $(if $(findstring 3.79,$(MAKE_VERSION)),\ + $(call echo-build,$*.tex,$@,$(RESTARTS)-$$$$i),\ + $(call echo-build,$*.tex,$@,$(RESTARTS)-$$i)\ + ); \ + $(call run-latex,$*); \ + $(CP) '$*.log' '$*.'$(RESTARTS)-$$i'.log'; \ + $(call test-run-again,$*) || break; \ + done; \ + else \ + $(MV) '$@.1st.make' '$@'; \ + fi; \ + $(call copy-with-logging,$@,$(BINARY_TARGET_DIR)); \ + $(call latex-color-log,$*) + +# Build the .bbl file. When dependencies are included, this will (or will +# not!) depend on something.bib, which we detect, acting accordingly. The +# dependency creation also produces the %.auxbbl.make file. BibTeX is a bit +# finicky about what you call the actual files, but we can rest assured that if +# a .auxbbl.make file exists, then the .aux file does, as well. The +# .auxbbl.make file is a cookie indicating whether the .bbl needs to be +# rewritten. It only changes if the .aux file changes in ways relevant to .bbl +# creation. +# +# Note that we do NOT touch the .bbl file if there is no need to +# create/recreate it. We would like to leave existing files alone if they +# don't need to be changed, thus possibly avoiding a rebuild trigger. +%.bbl: %.auxbbl.make + $(QUIET)\ + $(if $(filter %.bib,$^),\ + $(call echo-build,$(filter %.bib,$?) $*.aux,$@); \ + $(call run-bibtex,$*); \ + $(TOUCH) $@.cookie; \ + ) \ + if $(EGREP) -q 'bibstyle.(apacann|chcagoa|[^}]*annot)' '$*.aux'; then \ + $(call echo-build,** annotated extra latex **,output ignored,$(RESTARTS)-1); \ + $(call run-latex,$*); \ + $(CP) '$*.log' '$*.$(RESTARTS)-annotated.log'; \ + $(if $(filter %.bib,$^),\ + $(call echo-build,** annotated extra bibtex ** $(filter %.bib,$?) $*.aux,$@); \ + $(call run-bibtex,$*); \ + $(TOUCH) $@.cookie; \ + ) \ + $(call echo-build,** annotated extra latex **,output ignored,$(RESTARTS)-2); \ + $(call run-latex,$*); \ + fi + +# Create the index file - note that we do *not* depend on %.tex here, since +# that unnecessarily restricts the kinds of indices that we can build to those +# with exactly the same stem as the source file. Things like splitidx create +# idx files with other names. +# +# Therefore, we add the .tex dependency in the sourcestem.d file in the call to +# get index file dependencies from the logs. +%.ind: %.idx + $(QUIET)$(call echo-build,$<,$@) + $(QUIET)$(call run-makeindex,$<,$@,$*.ilg) + +# Create the glossary file +%.gls: %.glo %.tex + $(QUIET)$(call echo-build,$<,$@) + $(QUIET)$(call run-makeindex,$<,$@,$*.glg,-s nomencl.ist) + +# Create the nomenclature file +%.nls: %.nlo %.tex + $(QUIET)$(call echo-build,$<,$@) + $(QUIET)$(call run-makeindex,$<,$@,$*.nlg,-s nomencl.ist) + +# SCRIPTED LaTeX TARGETS +# +# Keep the generated .tex files around for debugging if needed. +.SECONDARY: $(all_tex_targets) + +%.tex:: %.tex.sh + $(QUIET)$(call run-script,$(SHELL),$<,$@) + +%.tex:: %.tex.py + $(QUIET)$(call run-script,$(PYTHON),$<,$@) + +%.tex:: %.tex.pl + $(QUIET)$(call run-script,$(PERL),$<,$@) + +%.tex:: %.rst $(RST_STYLE_FILE) + $(QUIET)\ + $(call run-script,$(RST2LATEX)\ + --documentoptions=letterpaper\ + $(if $(RST_STYLE_FILE),--stylesheet=$(RST_STYLE_FILE),),$<,$@) + +# +# GRAPHICS TARGETS +# +.PHONY: all-graphics +all-graphics: $(all_graphics_targets); + +ifneq "$(strip $(BUILD_STRATEGY))" "pdflatex" +.PHONY: all-pstex +all-pstex: $(all_pstex_targets); +endif + +.PHONY: all-dot2tex +all-dot2tex: $(all_dot2tex_targets); + +.PHONY: show-graphics +show-graphics: all-graphics + $(VIEW_GRAPHICS) $(all_known_graphics) + +$(gray_eps_file): + $(QUIET)$(call echo-build,$^,$@) + $(QUIET)$(call create-gray-eps-file,$@) + +ifeq "$(strip $(BUILD_STRATEGY))" "pdflatex" +%.pdf: %.eps $(if $(GRAY),$(gray_eps_file)) + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-eps-to-pdf,$<,$@,$(GRAY)) + +ifeq "$(strip $(GNUPLOT_OUTPUT_EXTENSION))" "pdf" +%.pdf: %.gpi %.gpi.d $(gpi_sed) + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-gpi,$<,$@,$(GRAY)) +endif + +%.pdf: %.fig + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-fig,$<,$@,$(GRAY)) + +endif + +%.eps: %.gpi %.gpi.d $(gpi_sed) + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-gpi,$<,$@,$(GRAY)) + +%.eps: %.fig + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-fig,$<,$@,$(GRAY)) + +%.eps: %.dot $(if $(GRAY),$(gray_eps_file)) + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-dot,$<,$@,$<.log,$(GRAY)) + +%.eps: %.xvg $(if $(GRAY),$(gray_eps_file)) + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-xvg,$<,$@,$(GRAY)) + +%.eps: %.svg $(if $(GRAY),$(gray_eps_file)) + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-svg,$<,$@,$(GRAY)) + +%.eps: %.jpg $(if $(GRAY),$(gray_eps_file)) + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-jpg,$<,$@,$(GRAY)) + +%.eps: %.png $(if $(GRAY),$(gray_eps_file)) + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-png,$<,$@,$(GRAY)) + +%.eps: %.eps.gz $(if $(GRAY),$(gray_eps_file)) + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-epsgz,$<,$@,$(GRAY)) + +%.pstex: %.fig + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-fig-pstex,$<,$@,$(GRAY)) + +%.pstex_t: %.fig %.pstex + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-fig-pstex-t,$<,$@,$*.pstex,$(GRAY)) + +%.dot_t: %.dot + $(QUIET)$(call echo-graphic,$^,$@) + $(QUIET)$(call convert-dot-tex,$<,$@) + +# +# DEPENDENCY-RELATED TARGETS. +# + +# Generate all of the information needed to get dependencies +# As a side effect, this creates a .dvi or .pdf file (depending on the build +# strategy). We need to be sure to remove it if there are errors. Errors can +# take several forms and all of them are found within the log file: +# * There was a LaTeX error +# * A needed file was not found +# * Cross references need adjustment +# +# Behavior: +# This rule is responsible for generating the following: +# %.aux +# %.d +# %.aux.make +# %.(pdf|dvi).1st.make (the .pdf or .dvi output file, moved) +# +# Steps: +# +# Run latex +# Move .pdf or .dvi somewhere else (make no judgements about success) +# Flatten the .aux file into another file +# Add source dependencies +# Add graphic dependencies +# Add bib dependencies +# +# Create cookies for various suffixes that may represent files that +# need to be read by LaTeX in order for it to function properly. +# +# Note that if some of the dependencies are discovered because they turn +# up missing in the log file, we really need the .d file to be reloaded. +# Adding a sleep command helps with this. Otherwise make is extremely +# nondeterministic, sometimes working, sometimes not. +# +# Usually we can force this by simply removing the generated pdf file and +# not creating a .1st.make file.. +# +%.$(build_target_extension).1st.make %.d %.aux %.aux.make %.fls: %.tex + $(QUIET)$(call echo-build,$<,$*.d $*.$(build_target_extension).1st.make,$(RESTARTS)-1) + $(QUIET)\ + $(call run-latex,$<,--recorder) || $(sh_true); \ + $(CP) '$*.log' '$*.$(RESTARTS)-1.log'; \ + $(call die-on-dot2tex,$*.log); \ + $(call die-on-no-aux,$*); \ + $(call flatten-aux,$*.aux,$*.aux.make); \ + $(ECHO) "# vim: ft=make" > $*.d; \ + $(ECHO) ".PHONY: $*._graphics" >> $*.d; \ + $(call get-inputs,$*.fls,$(addprefix $*.,aux aux.make d $(build_target_extension))) >> $*.d; \ + $(call get-missing-inputs,$*.log,$(addprefix $*.,aux aux.make d $(build_target_extension))) >> $*.d; \ + $(ECHO) ".SECONDEXPANSION:" >> $*.d; \ + $(call get-graphics,$*) >> $*.d; \ + $(call get-log-index,$*,$(addprefix $*.,d aux aux.make)) >> $*.d; \ + $(call get-bibs,$*.aux.make,$(addprefix $*.,bbl aux aux.make)) >> $*.d; \ + $(EGREP) -q "# MISSING" $*.d && $(SLEEP) 1 && $(RM) $*.pdf; \ + $(call move-if-exists,$*.$(build_target_extension),$*.$(build_target_extension).1st.make); \ + for s in toc out lot lof lol nav; do \ + if [ -e "$*.$$s" ]; then \ + if ! $(DIFF) -q $*.$$s $*.$$s.make >/dev/null 2>&1; then \ + $(TOUCH) $*.run.cookie; \ + fi; \ + $(CP) $*.$$s $*.$$s.make; \ + fi; \ + done + +# This is a cookie that is updated if the flattened aux file has changed in a +# way that affects the bibliography generation. +.SECONDARY: $(addsuffix .auxbbl.make,$(stems_ssg)) +%.auxbbl.make: %.aux.make + $(QUIET)\ + $(call make-auxbbl-file,$<,$@.temp); \ + $(call replace-if-different-and-remove,$@.temp,$@) + +# Build a dependency file for .gpi files. These often plot data files that +# also reside in the directory, so if a data file changes, it's nice to know +# about it. This also handles loaded .gpi files, whose filename should have +# _include_. in it. +%.gpi.d: %.gpi + $(QUIET)$(call echo-build,$<,$@) + $(QUIET)$(call make-gpi-d,$<,$@) + +# Store the paper size for this document -- note that if beamer is used we set +# it to the special BEAMER paper size. We only do this, however, if the +# special comment exists, in which case we enlarge the output with psnup. +# +# The paper size is extracted from a documentclass attribute. +%.paper.make: %.tex + $(QUIET)$(SED) \ + -e '/\\documentclass/,/}/{' \ + -e ' s/%.*//' \ + -e ' H' \ + -e ' /}/{' \ + -e ' s/.*//' \ + -e ' x' \ + -e ' /\\documentclass/!d' \ + -e ' s/[\n[:space:]]*//g' \ + -e ' s/\([,{[]\)\([[:alnum:]]\{1,\}\)paper\([],}]\)/\1%-\2-%\3/g' \ + -e ' s/\([,{[]\)\(landscape\)\([],}]\)/\1%-\2-%\3/g' \ + -e ' s/^[^%]*%-//' \ + -e ' s/-%[^%]*$$//' \ + -e ' s/-%[^%]%-/ /g' \ + -e ' p' \ + -e ' }' \ + -e ' d' \ + -e '}' \ + -e 'd' \ + $< > $@; \ + $(EGREP) -q '^[^%]*\\documentclass[^{]*{beamer}' $< && \ + (\ + $(EGREP) -q '^%%[[:space:]]*BEAMER[[:space:]]*LARGE$$' $< && \ + $(ECHO) "BEAMER" > $@ || \ + : > $@ \ + ) || $(sh_true) + +# Store embedding instructions for this document using a special comment +%.embed.make: %.tex + $(QUIET)$(EGREP) '^%%[[:space:]]*NO[[:space:]]*EMBED[[:space:]]*$$' $< \ + && $(ECHO) '' > $@ \ + || $(ECHO) '1' > $@; + +# +# HELPFUL PHONY TARGETS +# + +.PHONY: _all_programs +_all_programs: + $(QUIET)$(ECHO) "== All External Programs Used ==" + $(QUIET)$(call output-all-programs) + +.PHONY: _check_programs +_check_programs: + $(QUIET)$(ECHO) "== Checking Makefile Dependencies =="; $(ECHO) + $(QUIET) \ + $(ECHO) hi; \ + allprogs=`\ + ($(call output-all-programs)) | \ + $(SED) \ + -e 's/^[[:space:]]*//' \ + -e '/^#/d' \ + -e 's/[[:space:]]*#.*//' \ + -e '/^=/s/[[:space:]]/_/g' \ + -e '/^[[:space:]]*$$/d' \ + -e 's/^[^=].*=[[:space:]]*\([^[:space:]]\{1,\}\).*$$/\\1/' \ + `; \ + spaces=' '; \ + for p in $${allprogs}; do \ + case $$p in \ + =*) $(ECHO); $(ECHO) "$$p";; \ + *) \ + $(ECHO) -n "$$p:$$spaces" | $(SED) -e 's/^\(.\{0,20\}\).*$$/\1/'; \ + loc=`$(WHICH) $$p`; \ + if [ x"$$?" = x"0" ]; then \ + $(ECHO) "$(C_SUCCESS)Found:$(C_RESET) $$loc"; \ + else \ + $(ECHO) "$(C_FAILURE)Not Found$(C_RESET)"; \ + fi; \ + ;; \ + esac; \ + done + +.PHONY: _check_gpi_files +_check_gpi_files: + $(QUIET)$(ECHO) "== Checking all .gpi files for common errors =="; \ + $(ECHO); \ + for f in $(files.gpi); do \ + result=`$(EGREP) '^([^#]*set terminal |set output )' $$f`; \ + $(ECHO) -n "$$f: "; \ + if [ x"$$result" = x"" ]; then \ + $(ECHO) "$(C_SUCCESS)Okay$(C_RESET)"; \ + else \ + $(ECHO) "$(C_FAILURE)Warning: Problematic commands:$(C_RESET)";\ + $(ECHO) "$(C_ERROR)$$result$(C_RESET)"; \ + fi; \ + done; \ + $(ECHO) + +.PHONY: _all_stems +_all_stems: + $(QUIET)$(ECHO) "== All Stems ==" + $(QUIET)$(call echo-list,$(sort $(default_stems_ss))) + +.PHONY: _includes +_includes: + $(QUIET)$(ECHO) "== Include Stems ==" + $(QUIET)$(ECHO) "=== Sources ===" + $(QUIET)$(call echo-list,$(sort $(source_includes))) + $(QUIET)$(ECHO) "=== Graphics ===" + $(QUIET)$(call echo-list,$(sort $(graphic_includes))) + +.PHONY: _all_sources +_all_sources: + $(QUIET)$(ECHO) "== All Sources ==" + $(QUIET)$(call echo-list,$(sort $(all_files.tex))) + +.PHONY: _dependency_graph +_dependency_graph: + $(QUIET)$(ECHO) "/* LaTeX Dependency Graph */" + $(QUIET)$(call output-dependency-graph) + +.PHONY: _show_dependency_graph +_show_dependency_graph: + $(QUIET)$(call output-dependency-graph,$(graph_stem).dot) + $(QUIET)$(DOT) -Tps -o $(graph_stem).eps $(graph_stem).dot + $(QUIET)$(VIEW_POSTSCRIPT) $(graph_stem).eps + $(QUIET)$(call remove-temporary-files,$(graph_stem).*) + +.PHONY: _sources +_sources: + $(QUIET)$(ECHO) "== Sources ==" + $(QUIET)$(call echo-list,$(sort $(files.tex))) + +.PHONY: _scripts +_scripts: + $(QUIET)$(ECHO) "== Scripts ==" + $(QUIET)$(call echo-list,$(sort $(files_scripts))) + +.PHONY: _graphic_outputs +_graphic_outputs: + $(QUIET)$(ECHO) "== Graphic Outputs ==" + $(QUIET)$(call echo-list,$(sort $(all_graphics_targets))) + +.PHONY: _env +_env: +ifdef .VARIABLES + $(QUIET)$(ECHO) "== MAKE VARIABLES ==" + $(QUIET)$(call echo-list,$(foreach var,$(sort $(.VARIABLES)),'$(var)')) +endif + $(QUIET)$(ECHO) "== ENVIRONMENT ==" + $(QUIET)$(ENV) + +# +# CLEAN TARGETS +# +# clean-generated is somewhat unique - it relies on the .fls file being +# properly built so that it can determine which of the files was generated, and +# which was not. Expect it to silently fail if the .fls file is missing. +# +# This is used to, e.g., clean up index files that are generated by the LaTeX. +.PHONY: clean-generated +clean-generated: + $(QUIET)$(call clean-files,$(foreach e,$(addsuffix .fls,$(all_stems_source)),\ + $(shell $(call get-generated-names,$e)))) + +.PHONY: clean-deps +clean-deps: + $(QUIET)$(call clean-files,$(all_d_targets) *.make *.make.temp *.cookie) + +.PHONY: clean-tex +clean-tex: clean-deps + $(QUIET)$(call clean-files,$(rm_tex)) + +.PHONY: clean-graphics +# TODO: This *always* deletes pstex files, even if they were not generated by +# anything.... In other words, if you create a pstex and pstex_t pair by hand +# an drop them in here without the generating fig file, they will be deleted +# and you won't get them back. It's a hack put in here because I'm not sure we +# even want to keep pstex functionality, so my motivation is not terribly high +# for doing it right. +clean-graphics: + $(QUIET)$(call clean-files,$(all_graphics_targets) $(intermediate_graphics_targets) *.gpi.d *.pstex *.pstex_t *.dot_t) + +.PHONY: clean-backups +clean-backups: + $(QUIET)$(call clean-files,$(backup_patterns) *.temp) + +.PHONY: clean-auxiliary +clean-auxiliary: + $(QUIET)$(call clean-files,$(graph_stem).*) + +.PHONY: clean-nographics +clean-nographics: clean-tex clean-deps clean-backups clean-auxiliary ; + +.PHONY: clean +clean: clean-generated clean-tex clean-graphics clean-deps clean-backups clean-auxiliary + +# +# HELP TARGETS +# + +.PHONY: help +help: + $(help_text) + +.PHONY: version +version: + $(QUIET)\ + $(ECHO) "$(fileinfo) Version $(version)"; \ + $(ECHO) "by $(author)"; \ + +# +# HELP TEXT +# + +define help_text +# $(fileinfo) Version $(version) +# +# by $(author) +# +# Generates a number of possible output files from a LaTeX document and its +# various dependencies. Handles .bib files, \include and \input, and .eps +# graphics. All dependencies are handled automatically by running LaTeX over +# the source. +# +# USAGE: +# +# make [GRAY=1] [VERBOSE=1] [SHELL_DEBUG=1] +# +# STANDARD OPTIONS: +# GRAY: +# Setting this variable forces all recompiled graphics to be grayscale. +# It is useful when creating a document for printing. The default is +# to allow colors. Note that it only changes graphics that need to be +# rebuilt! It is usually a good idea to do a 'make clean' first. +# +# VERBOSE: +# This turns off all @ prefixes for commands invoked by make. Thus, +# you get to see all of the gory details of what is going on. +# +# SHELL_DEBUG: +# This enables the -x option for sh, meaning that everything it does is +# echoed to stderr. This is particularly useful for debugging +# what is going on in $$(shell ...) invocations. One of my favorite +# debugging tricks is to do this: +# +# make -d SHELL_DEBUG=1 VERBOSE=1 2>&1 | less +# +# STANDARD AUXILIARY FILES: +# +# Makefile.ini +# +# This file can contain variable declarations that override various +# aspects of the makefile. For example, one might specify +# +# neverclean := *.pdf *.ps +# onlysources.tex := main.tex +# LATEX_COLOR_WARNING := 'bold red uline' +# +# And this would override the neverclean setting to ensure that pdf +# and ps files always remain behind, set the makefile to treat all +# .tex files that are not "main.tex" as includes (and therefore not +# default targets). It also changes the LaTeX warning output to be +# red, bold, and underlined. +# +# There are numerous variables in this file that can be overridden in +# this way. Search for '?=' to find them all. +# +# Also, you can put arbitrary targets into it if, for example, you +# want your source built from something else, e.g.: +# +# generated.tex: generating_script.weird_lang depA depB +# ./generating_script.weird_lang > $$@ +# +# Note that if you are not careful, you can override the default +# target (what happens when you type "make" without arguments), so if +# you do use Makefile.ini, you probably want to start it with +# something like the following line: +# +# default: all +# +# Since the first target in any makefile is automatically the default, +# and the makefile already has a sensible "all" target, this will do +# what you want. +# +# The Makefile.ini is imported before *anything else* is done, so go +# wild with your ideas for changes to this makefile in there. It +# makes it easy to test them before submitting patches. +# +# STANDARD ENVIRONMENT VARIABLES: +# +# LATEX_COLOR_WARNING '$(LATEX_COLOR_WARNING)' +# LATEX_COLOR_ERROR '$(LATEX_COLOR_ERROR)' +# LATEX_COLOR_UNDERFULL '$(LATEX_COLOR_UNDERFULL)' +# LATEX_COLOR_OVERFULL '$(LATEX_COLOR_OVERFULL)' +# LATEX_COLOR_PAGES '$(LATEX_COLOR_PAGES)' +# LATEX_COLOR_BUILD '$(LATEX_COLOR_BUILD)' +# LATEX_COLOR_GRAPHIC '$(LATEX_COLOR_GRAPHIC)' +# LATEX_COLOR_DEP '$(LATEX_COLOR_DEP)' +# LATEX_COLOR_SUCCESS '$(LATEX_COLOR_SUCCESS)' +# LATEX_COLOR_FAILURE '$(LATEX_COLOR_FAILURE)' +# +# These may be redefined in your environment to be any of the following: +# +# black +# red +# green +# yellow +# blue +# magenta +# cyan +# white +# +# Bold or underline may be used, as well, either alone or in combination +# with colors: +# +# bold +# uline +# +# Order is not important. You may want, for example, to specify: +# +# export LATEX_COLOR_SUCCESS='bold blue uline' +# +# in your .bashrc file. I don't know why, but you may want to. +# +# STANDARD TARGETS: +# +# all: +# Make all possible documents in this directory. The documents are +# determined by scanning for .tex and .tex.sh (described in more detail +# later) and omitting any file that ends in ._include_.tex or +# ._nobuild_.tex. The output is a set of .pdf files. +# +# If you wish to omit files without naming them with the special +# underscore names, set the following near the top of the Makefile, +# or (this is recommended) within a Makefile.ini in the same directory: +# +# includes.tex := file1.tex file2.tex +# +# This will cause the files listed to be considered as include files. +# +# If you have only few source files, you can set +# +# onlysources.tex := main.tex +# +# This will cause only the source files listed to be considered in +# dependency detection. All other .tex files will be considered as +# include files. Note that these options work for *any* source type, +# so you could do something similar with includes.gpi, for example. +# Note that this works for *any valid source* target. All of the +# onlysources.* variables are commented out in the shipping version of +# this file, so it does the right thing when they simply don't exist. +# The comments are purely documentation. If you know, for example, that +# file.mycoolformat is supported by this Makefile, but don't see the +# "onlysources.mycoolformat" declared in the comments, that doesn't mean +# you can't use it. Go ahead and set "onlysources.mycoolformat" and it +# should do the right thing. +# +# show: +# Builds and displays all documents in this directory. It uses the +# environment-overridable value of VIEW_PDF (currently $(VIEW_PDF)) to +# do its work. +# +# all-graphics: +# Make all of the graphics in this directory. +# +# all-pstex (only for BUILD_STRATEGY=latex): +# Build all fig files into pstex and pstex_t files. Gray DOES NOT WORK. +# +# all-gray-pstex (only for BUILD_STRATEGY=latex): +# Build all fig files into grayscale pstex and pstex_t files. +# +# all-dot2tex: +# Build all dot files into tex files. +# +# show-graphics: +# Builds and displays all graphics in this directory. Uses the +# environment-overridable value of VIEW_GRAPHICS (currently +# $(VIEW_GRAPHICS)) to do its work. +# +# clean: +# Remove ALL generated files, leaving only source intact. +# This will *always* skip files mentioned in the "neverclean" variable, +# either in this file or specified in Makefile.ini: +# +# neverclean := *.pdf *.ps +# +# The neverclean variable works on all "clean" targets below, as well. +# +# clean-graphics: +# Remove all generated graphics files. +# +# clean-backups: +# Remove all backup files: $(backup_patterns) +# (XFig and other editors have a nasty habit of leaving them around) +# Also removes Makefile-generated .temp files +# +# clean-tex: +# Remove all files generated from LaTeX invocations except dependency +# information. Leaves graphics alone. +# +# clean-deps: +# Removes all auto-generated dependency information. +# +# clean-auxiliary: +# Removes extra files created by various targets (like the dependency +# graph output). +# +# clean-nographics: +# Cleans everything *except* the graphics files. +# +# help: +# This help text. +# +# version: +# Version information about this LaTeX makefile. +# +# DEBUG TARGETS: +# +# _all_programs: +# A list of the programs used by this makefile. +# +# _check_programs: +# Checks your system for the needed software and reports what it finds. +# +# _check_gpi_files: +# Checks the .gpi files in the current directory for common errors, such +# as specification of the terminal or output file inside of the gpi file +# itself. +# +# _dependency_graph: +# Outputs a .dot file to stdout that represents a graph of LaTeX +# dependencies. To see it, use the _show_dependency_graph target or +# direct the output to a file, run dot on it, and view the output, e.g.: +# +# make _dependency_graph > graph.dot +# dot -T ps -o graph.eps graph.dot +# gv graph.eps +# +# _show_dependency_graph: +# Makes viewing the graph simple: extracts, builds and displays the +# dependency graph given in the _dependency_graph target using the value +# of the environment-overridable VIEW_POSTSCRIPT variable (currently set +# to $(VIEW_POSTSCRIPT)). The postscript viewer is used because it +# makes it easier to zoom in on the graph, a critical ability for +# something so dense and mysterious. +# +# _all_sources: +# List all .tex files in this directory. +# +# _sources: +# Print out a list of all compilable sources in this directory. This is +# useful for determining what make thinks it will be using as the +# primary source for 'make all'. +# +# _scripts: +# Print out a list of scripts that make knows can be used to generate +# .tex files (described later). +# +# _all_stems: +# Print a list of stems. These represent bare targets that can be +# executed. Listing as a bare target will produce .pdf. +# +# _includes: +# A list of .d files that would be included in this run if _includes +# weren't specified. This target may be used alone or in conjunction +# with other targets. +# +# _graphic_outputs: +# A list of all generated .eps files +# +# _env: +# A list of environment variables and their values. If supported by +# your version of make, also a list of variables known to make. +# +# FILE TARGETS: +# +# %, %.pdf: +# Build a PDF file from the corresponding %.tex file. +# +# If BUILD_STRATEGY=pdflatex, then this builds the pdf directly. +# Otherwise, it uses this old-school but effective approach: +# +# latex -> dvips -> ps2pdf +# +# The BUILD_STRATEGY can be overridden in Makefile.ini in the same +# directory. The default is pdflatex. +# +# Reasons for using latex -> dvips include the "psfrag" package, and the +# generation of postscript instead of PDF. Arguments for using pdflatex +# include "new and shiny" and "better supported." I can't argue with +# either of those, and supporting them both didn't turn out to be that +# difficult, so there you have it. Choices. +# +# %._show: +# A phony target that builds the pdf file and then displays it using the +# environment-overridable value of VIEW_PDF ($(VIEW_PDF)). +# +# %._graphics: +# A phony target that generates all graphics on which %.pdf (or %.dvi) +# depends. +# +# %.ps (only for BUILD_STRATEGY=latex): +# Build a Postscript file from the corresponding %.tex file. +# This is done using dvips. Paper size is automatically +# extracted from the declaration +# +# \documentclass[paper] +# +# or it is the system default. +# +# If using beamer (an excellent presentation class), the paper +# size is ignored. More on this later. +# +# %.dvi (only for BUILD_STRATEGY=latex): +# Build the DVI file from the corresponding %.tex file. +# +# %.ind: +# Build the index for this %.tex file. +# +# %.gls: +# Build the nomenclature glossary for this %.tex file. +# +# %.nls: +# Build the (newer) nomenclature file for this %.tex file. +# +# %.eps: +# Build an eps file from one of the following file types: +# +# .dot : graphviz +# .gpi : gnuplot +# .fig : xfig +# .xvg : xmgrace +# .svg : scalable vector graphics (goes through inkscape) +# .png : png (goes through NetPBM) +# .jpg : jpeg (goes through ImageMagick) +# .eps.gz : gzipped eps +# +# The behavior of this makefile with each type is described in +# its own section below. +# +# %.pstex{,_t} (only for BUILD_STRATEGY=latex): +# Build a .pstex_t file from a .fig file. +# +# FEATURES: +# +# Optional Binary Directory: +# If you create the _out_ directory in the same place as the makefile, +# it will automatically be used as a dumping ground for .pdf (or .dvi, +# .ps, and .pdf) output files. +# +# Alternatively, you can set the BINARY_TARGET_DIR variable, either as a +# make argument or in Makefile.ini, to point to your directory of +# choice. Note that no pathname wildcard expansion is done in the +# makefile, so make sure that the path is complete before going in +# there. E.g., if you want to specify something in your home directory, +# use $$HOME/ instead of ~/ so that the shell expands it before it gets +# to the makefile. +# +# External Program Dependencies: +# Every external program used by the makefile is represented by an +# ALLCAPS variable at the top of this file. This should allow you to +# make judgments about whether your system supports the use of this +# makefile. The list is available in the ALL_PROGRAMS variable and, +# provided that you are using GNU make 3.80 or later (or you haven't +# renamed this file to something weird like "mylatexmakefile" and like +# invoking it with make -f) can be viewed using +# +# make _all_programs +# +# Additionally, the availability of these programs can be checked +# automatically for you by running +# +# make _check_programs +# +# The programs are categorized according to how important they are and +# what function they perform to help you decide which ones you really +# need. +# +# Colorized Output: +# The output of commands is colorized to highlight things that are often +# important to developers. This includes {underfull,overfull} +# {h,v}boxes, general LaTeX Errors, each stage of document building, and +# the number of pages in the final document. The colors are obtained +# using 'tput', so colorization should work pretty well on any terminal. +# +# The colors can be customized very simply by setting any of the +# LATEX_COLOR_ variables in your environment (see above). +# +# Predecessors to TeX Files: +# Given a target , if no .tex file exists but a +# corresponding script or predecessor file exists, then appropriate +# action will be taken to generate the tex file. +# +# Currently supported script or predecessor languages are: +# +# sh: %.tex.sh +# perl: %.tex.pl +# python: %.tex.py +# +# Calls the script using the appropriate interpreter, assuming that +# its output is a .tex file. +# +# The script is called thus: +# +#