changeset 5831:bd047b71ab37

Repaired internal references
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:06:39 +0200
parents 160f53ee0870
children b79f83bdd841
files flys-artifacts/src/main/java/de/intevation/flys/artifacts/AbstractStaticStateArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/AreaArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/BedHeightsArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/ChartArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/ExternalWMSArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/FixationArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/FlowVelocityMeasurementArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/GaugeDischargeCurveArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/HYKArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/MapArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/QSectorArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/SQRelationArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/StaticFLYSArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/StaticMorphWidthArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/StaticWKmsArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/StaticWQKmsArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSBackgroundArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSFloodmapsArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSFloodmarksArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSFloodplainArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSGaugeLocationArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSHWSLinesArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSHWSPointsArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryPolyArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSJettiesArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSKmArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSLineArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WQKmsInterpolArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WaterLineArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/WaterlevelArtifact.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/Access.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/BedDifferencesAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/BedQualityAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/Calculation4Access.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/FixAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/FixAnalysisAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/FixRealizingAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/FlowVelocityAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/GaugeAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/HistoricalDischargeAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/MapAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/RangeAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/RiverAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/SQRelationAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/SedimentLoadAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/StaticSQRelationAccess.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/charts/CrossSectionApp.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/charts/TimeseriesStepChart.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/DBConfig.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/App.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/BuilderPool.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/CompiledStatement.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/FunctionResolver.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/ResultData.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/TypeConverter.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/geom/Lines.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/map/PrintMap.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/map/RiverMapfileGeneratorStarter.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/AddScaleFunction.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/Distance.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/FilterFunction.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/Function.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/GrubbsOutlier.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/Identity.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/Linear.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/LinearFilterFunction.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/LinearFunction.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/MovingAverage.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/NaNFunction.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/StdDevOutlier.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/Sub.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/UnivariateRealFunctionFunction.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/Utils.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/WKmsOperation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/App.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/Exp.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/Function.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/FunctionFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/InvExp.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/InvLinear.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/InvLog.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/InvLogLinear.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/InvPow.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/InvQuad.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/InvSQPow.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/Linear.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/Log.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/LogLinear.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/Pow.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/Quad.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/SQPow.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/AreaFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/BlackboardDataFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation1.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation2.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation3.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation4.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation5.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation6.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CalculationMessage.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CalculationResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ConstantWQKms.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DataFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DateRange.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DifferenceCurveFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DurationCurveFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/EmptyFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionChunk.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FastCrossSectionLineFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FixingsColumn.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FixingsColumnFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FixingsFilterBuilder.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FixingsOverview.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FixingsOverviewFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FlowVelocityCalculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FlowVelocityData.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FlowVelocityFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FlowVelocityFilterFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/GaugeDischargeCurveFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/GaugeDischargeFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/GaugeFinder.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/GaugeFinderFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HYKFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HYKFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HistoricalDischargeCurveFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HistoricalDischargeData.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HistoricalDischargeDifferenceFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HistoricalDischargeFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HistoricalDischargeWQFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HistoricalWQKms.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HistoricalWQTimerange.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/InfoldingColumns.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/LayerInfo.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/LocationProvider.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/MainValuesWFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ManualPointsFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/MapserverStyle.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightCalculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightData.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/MiddleBedHeightFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Module.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/NamedDouble.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/NamedObject.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/NamedObjectImpl.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Parameters.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/QKms.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/QKmsImpl.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/QRangeTree.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/QSectorFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/QW.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/QWDDateRange.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Range.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/RangeWithValues.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ReferenceCurveFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/RelativePointFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ReportFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/SQOverview.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/SQOverviewFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Segment.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/StaticBedHeightCacheKey.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/StaticMorphoWidthCacheKey.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/StaticSedimentLoadCacheKey.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/StaticWKmsCacheKey.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/StaticWQKmsCacheKey.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Timerange.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/W.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WKms.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WKmsFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WKmsJRDataSource.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQ.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQCKms.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQDay.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQKms.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQKmsFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQKmsFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQKmsResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQTJRDataSource.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQTimerange.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WW.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WWAxisTypes.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WWQQ.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WWQQJRDataSource.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstLine.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstValueTableCacheKey.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ZoomScale.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/extreme/Curve.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/extreme/ExtremeCalculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/extreme/ExtremeCurveFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/extreme/ExtremeResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/AnalysisPeriod.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/Fitting.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAvSectorFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDerivateFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixEventFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixFacetUtils.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixFunction.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalAvSectorFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalDeviationFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixLongitudinalReferenceFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixOutlierFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingCalculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixRealizingResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixWQCurveFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixWaterlevelFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixingsFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/QWD.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/QWI.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/HWS.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/HWSContainer.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/HWSFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/StaticHWSCacheKey.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/WMSDBLayerFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/WMSLayerFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENCalculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENJob.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENLayerFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/WSPLGENReportFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDensityFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiameterFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiameterResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffCalculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffEpochFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffEpochFilterFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffEpochResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffYearFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffYearFilterFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDiffYearResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedDifferencesResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeight.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightEpoch.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedHeightSingle.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedOverview.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedOverviewFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedParametersResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedPorosityFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityCalculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityDiameterResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadDiameterFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadDiameterResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadOverview.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedloadOverviewFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/FlowVelocityMeasurementFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/FlowVelocityMeasurementFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/MorphologicWidth.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/MorphologicWidthFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/MorphologicWidthFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurement.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurementFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/QualityMeasurements.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentDensity.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentDensityFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentDensityValue.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoad.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoadCalculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoadFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoadFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoadFraction.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/SedimentLoadResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/Fitting.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/Measurements.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/Outlier.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQ.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQCurveFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQFractionResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQFunction.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierCurveFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierMeasurementFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQOverviewFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQRelationCalculation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQResult.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/Sieve.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SieveArray.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/StaticSQCacheKey.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/StaticSQContainer.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/StaticSQFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/StaticSQRelation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/resources/Resources.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/AbstractChartService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/BedKMChartService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/BedloadKMChartService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/CacheInvalidationService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/CrossSectionKMService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/DischargeInfoService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/DischargeTablesOverview.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/FLYSService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/FileUploadService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/FixingsKMChartService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/FixingsOverviewService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/GaugeInfoService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/MapInfoService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/MeasurementStationInfoService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/ModuleService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/QWSeriesCollection.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/RiverInfoService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/RiverService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/SQKMChartService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/SedimentLoadInfoService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/ThemeListingService.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/AnnotationRiverState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/CalculationSelectMinfo.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputationRangeState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DefaultState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DistanceOnlySelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DistanceSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/EnterLocationState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/EnterMultipleLocationsState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodplainChoice.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FlowVelocityState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/GaugeDischargeState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/GaugeTimerangeState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/HWSBarriersState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/HWSDatacageState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/InputDoubleState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/IntRangeState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/MiddleBedHeight.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/MinMaxState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/MultiIntArrayState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/MultiStringArrayState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/OutliersInput.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/OutputState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/PeriodSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/PeriodsSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ProfileDistanceSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/QSectorSingleState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RangeState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ReferenceGaugeState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SQRelation.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ScenarioSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SoundingsSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/StateFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/StaticHYKState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/StaticState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/StaticWQKmsState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/UserRGDState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WQAdapted.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WQSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelGroundDifferences.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelInfoState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelSelectState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/extreme/ExtremeCompute.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/extreme/ExtremeQInput.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/extreme/PercentInput.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/AnalysisPeriods.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/EventSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixAnalysisCompute.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixationPeriod.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixationSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FunctionSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/GaugeRange.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/LocationSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/PreprocessingSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/QSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/ReferencePeriod.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityPeriodsSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/CharDiameter.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/DifferenceSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/DifferencesState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/SedimentLoadCalculate.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/SedimentLoadDistanceSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/SedimentLoadEpochSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/SedimentLoadOffEpochSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/SedimentLoadUnit.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/SedimentLoadYearSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/YearEpochSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/sq/OutlierMethod.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/sq/SQPeriodSelect.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/sq/SQStaticState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/sq/StaticSQRelationFacet.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/transitions/ValueCompareTransition.java flys-artifacts/src/main/java/de/intevation/flys/collections/AttributeParser.java flys-artifacts/src/main/java/de/intevation/flys/collections/AttributeWriter.java flys-artifacts/src/main/java/de/intevation/flys/collections/CollectionAttribute.java flys-artifacts/src/main/java/de/intevation/flys/collections/CollectionDescriptionHelper.java flys-artifacts/src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java flys-artifacts/src/main/java/de/intevation/flys/collections/OutputParser.java flys-artifacts/src/main/java/de/intevation/flys/exports/ATExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/ATWriter.java flys-artifacts/src/main/java/de/intevation/flys/exports/AbstractExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/AxisSection.java flys-artifacts/src/main/java/de/intevation/flys/exports/BooleanAttribute.java flys-artifacts/src/main/java/de/intevation/flys/exports/ChartArea.java flys-artifacts/src/main/java/de/intevation/flys/exports/ChartExportHelper.java flys-artifacts/src/main/java/de/intevation/flys/exports/ChartGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/ChartHelper.java flys-artifacts/src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/ChartSection.java flys-artifacts/src/main/java/de/intevation/flys/exports/ChartSettings.java flys-artifacts/src/main/java/de/intevation/flys/exports/ChoiceStringAttribute.java flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/CrossSectionInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/DoubleAttribute.java flys-artifacts/src/main/java/de/intevation/flys/exports/DurationCurveExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/DurationCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/EmptySettings.java flys-artifacts/src/main/java/de/intevation/flys/exports/ExportSection.java flys-artifacts/src/main/java/de/intevation/flys/exports/FlowVelocityExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/FlowVelocityGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/FlowVelocityInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/HistoricalDischargeWQCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/HistoricalDischargeWQCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/IdentifiableNumberAxis.java flys-artifacts/src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java flys-artifacts/src/main/java/de/intevation/flys/exports/IntegerAttribute.java flys-artifacts/src/main/java/de/intevation/flys/exports/LegendProcessor.java flys-artifacts/src/main/java/de/intevation/flys/exports/LegendSection.java flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/MapGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/MiddleBedHeightExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/MiddleBedHeightGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/MiddleBedHeightInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/NormalizedReferenceCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/NormalizedReferenceCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/OutGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/OutputHelper.java flys-artifacts/src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/ReferenceCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/ReportGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/StepCSVWriter.java flys-artifacts/src/main/java/de/intevation/flys/exports/StringAttribute.java flys-artifacts/src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java flys-artifacts/src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/TypeSection.java flys-artifacts/src/main/java/de/intevation/flys/exports/VisibleAttribute.java flys-artifacts/src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/WDifferencesCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/WDifferencesExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/WstWriter.java flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/extreme/ExtremeWQCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/extreme/ExtremeWQCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/DeltaWtExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixATExport.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixATWriter.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDeltaWtInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixLongitudinalSectionInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/ParametersExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDiffEpochInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDiffHeightYearGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDiffHeightYearInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDiffYearInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDifferenceEpochGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedDifferenceYearGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedQualityExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedQualityGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/BedQualityInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/SedimentLoadLSGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/minfo/SedimentLoadLSInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/process/BedheightProcessor.java flys-artifacts/src/main/java/de/intevation/flys/exports/process/KMIndexProcessor.java flys-artifacts/src/main/java/de/intevation/flys/exports/process/Processor.java flys-artifacts/src/main/java/de/intevation/flys/exports/process/WOutProcessor.java flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQOverviewGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQRelationExporter.java flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorA.java flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorB.java flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorC.java flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorD.java flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorE.java flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQRelationGeneratorF.java flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQRelationInfoGenerator.java flys-artifacts/src/main/java/de/intevation/flys/java2d/NOPGraphics2D.java flys-artifacts/src/main/java/de/intevation/flys/java2d/ShapeUtils.java flys-artifacts/src/main/java/de/intevation/flys/jfree/Bounds.java flys-artifacts/src/main/java/de/intevation/flys/jfree/CollisionFreeLineLabelEntity.java flys-artifacts/src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotation.java flys-artifacts/src/main/java/de/intevation/flys/jfree/CollisionFreeXYTextAnnotationEntity.java flys-artifacts/src/main/java/de/intevation/flys/jfree/DoubleBounds.java flys-artifacts/src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java flys-artifacts/src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java flys-artifacts/src/main/java/de/intevation/flys/jfree/HasLabel.java flys-artifacts/src/main/java/de/intevation/flys/jfree/JFreeUtil.java flys-artifacts/src/main/java/de/intevation/flys/jfree/ShapeRenderer.java flys-artifacts/src/main/java/de/intevation/flys/jfree/StableXYDifferenceRenderer.java flys-artifacts/src/main/java/de/intevation/flys/jfree/StickyAxisAnnotation.java flys-artifacts/src/main/java/de/intevation/flys/jfree/Style.java flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledAreaSeriesCollection.java flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledSeries.java flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledTimeSeries.java flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledValueMarker.java flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledXYSeries.java flys-artifacts/src/main/java/de/intevation/flys/jfree/TimeBounds.java flys-artifacts/src/main/java/de/intevation/flys/jfree/XYStyle.java flys-artifacts/src/main/java/de/intevation/flys/themes/DefaultTheme.java flys-artifacts/src/main/java/de/intevation/flys/themes/DefaultThemeField.java flys-artifacts/src/main/java/de/intevation/flys/themes/LineStyle.java flys-artifacts/src/main/java/de/intevation/flys/themes/PointStyle.java flys-artifacts/src/main/java/de/intevation/flys/themes/TextStyle.java flys-artifacts/src/main/java/de/intevation/flys/themes/Theme.java flys-artifacts/src/main/java/de/intevation/flys/themes/ThemeAccess.java flys-artifacts/src/main/java/de/intevation/flys/themes/ThemeFactory.java flys-artifacts/src/main/java/de/intevation/flys/themes/ThemeField.java flys-artifacts/src/main/java/de/intevation/flys/themes/ThemeGroup.java flys-artifacts/src/main/java/de/intevation/flys/themes/ThemeMapping.java flys-artifacts/src/main/java/de/intevation/flys/utils/ArtifactMapfileGenerator.java flys-artifacts/src/main/java/de/intevation/flys/utils/DataUtil.java flys-artifacts/src/main/java/de/intevation/flys/utils/DateAverager.java flys-artifacts/src/main/java/de/intevation/flys/utils/DoubleUtil.java flys-artifacts/src/main/java/de/intevation/flys/utils/FLYSUtils.java flys-artifacts/src/main/java/de/intevation/flys/utils/Formatter.java flys-artifacts/src/main/java/de/intevation/flys/utils/GeometryUtils.java flys-artifacts/src/main/java/de/intevation/flys/utils/IdGenerator.java flys-artifacts/src/main/java/de/intevation/flys/utils/KMIndex.java flys-artifacts/src/main/java/de/intevation/flys/utils/MapUtils.java flys-artifacts/src/main/java/de/intevation/flys/utils/MapfileGenerator.java flys-artifacts/src/main/java/de/intevation/flys/utils/Pair.java flys-artifacts/src/main/java/de/intevation/flys/utils/RiverMapfileGenerator.java flys-artifacts/src/main/java/de/intevation/flys/utils/ThemeUtil.java flys-artifacts/src/main/java/de/intevation/flys/wsplgen/FacetCreator.java flys-artifacts/src/main/java/de/intevation/flys/wsplgen/JobObserver.java flys-artifacts/src/main/java/de/intevation/flys/wsplgen/ProblemObserver.java flys-artifacts/src/main/java/de/intevation/flys/wsplgen/Scheduler.java flys-artifacts/src/main/java/de/intevation/flys/wsplgen/SchedulerSetup.java flys-artifacts/src/main/java/de/intevation/flys/wsplgen/WSPLGENCallable.java flys-artifacts/src/main/java/de/intevation/flys/wsplgen/WSPLGENFuture.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/AbstractStaticStateArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/AnnotationArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/AreaArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/BedHeightsArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/ChartArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/CollectionMonitor.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/CrossSectionArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/ExternalWMSArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/FLYSArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/FixationArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/FlowVelocityMeasurementArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/GaugeDischargeArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/GaugeDischargeCurveArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/HYKArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/MINFOArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/MainValuesArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/ManualPointsArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/MapArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/QSectorArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/RiverAxisArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/SQRelationArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/StaticFLYSArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/StaticMorphWidthArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/StaticWKmsArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/StaticWQKmsArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WINFOArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSBackgroundArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSBuildingsArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSDBArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSFixpointsArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSFloodmapsArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSFloodmarksArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSFloodplainArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSGaugeLocationArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSHWSLinesArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSHWSPointsArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSHydrBoundaryArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSHydrBoundaryPolyArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSJettiesArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSKmArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSLineArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WMSQPSArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WQKmsInterpolArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WaterLineArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/WaterlevelArtifact.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/Access.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/BedDifferencesAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/BedHeightAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/BedQualityAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/Calculation4Access.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/ExtremeAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/FixAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/FixAnalysisAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/FixRealizingAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/FlowVelocityAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/GaugeAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/HistoricalDischargeAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/MapAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/RangeAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/RiverAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/SQRelationAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/SedimentLoadAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/access/StaticSQRelationAccess.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/cache/CacheFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/charts/CrossSectionApp.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/charts/TimeseriesStepChart.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/context/FLYSContext.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/context/FLYSContextFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/context/SessionCallContextListener.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/DBConfig.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/Datacage.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/DatacageBackendListener.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/Recommendations.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/templating/App.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/templating/Builder.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/templating/BuilderPool.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/templating/CompiledStatement.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/templating/FunctionResolver.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/templating/ResultData.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/templating/StackFrames.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/templating/TypeConverter.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/geom/Lines.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/map/PrintMap.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/map/RiverMapfileGeneratorStarter.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/AddScaleFunction.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/BackJumpCorrector.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/Distance.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/FilterFunction.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/Function.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/GrubbsOutlier.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/Identity.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/Linear.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/LinearFilterFunction.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/LinearFunction.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/MovingAverage.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/NaNFunction.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/StdDevOutlier.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/Sub.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/UnivariateRealFunctionFunction.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/Utils.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/WKmsOperation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/App.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/Exp.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/Function.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/FunctionFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/InvExp.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/InvLinear.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/InvLog.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/InvLogLinear.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/InvPow.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/InvQuad.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/InvSQPow.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/Linear.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/Log.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/LogLinear.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/Pow.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/Quad.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/SQPow.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/AnnotationFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/AnnotationsFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/AreaFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/BlackboardDataFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation1.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation2.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation3.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation4.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation5.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation6.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/CalculationMessage.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/CalculationResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/ConstantWQKms.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/CrossSectionFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/CrossSectionFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/CrossSectionWaterLineFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/DataFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/DateRange.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/DifferenceCurveFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/DischargeTables.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/DurationCurveFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/EmptyFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FacetTypes.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FastCrossSectionChunk.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FastCrossSectionLineFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FixingsColumn.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FixingsColumnFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FixingsFilterBuilder.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FixingsOverview.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FixingsOverviewFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FlowVelocityCalculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FlowVelocityData.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FlowVelocityFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/FlowVelocityFilterFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/GaugeDischargeCurveFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/GaugeDischargeFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/GaugeFinder.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/GaugeFinderFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/GaugeRange.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/GaugesFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/HYKFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/HYKFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/HistoricalDischargeCurveFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/HistoricalDischargeData.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/HistoricalDischargeDifferenceFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/HistoricalDischargeFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/HistoricalDischargeWQFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/HistoricalWQKms.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/HistoricalWQTimerange.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/InfoldingColumns.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/LayerInfo.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/LocationProvider.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/MainValuesQFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/MainValuesWFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/ManagedDomFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/ManagedFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/ManagedFacetAdapter.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/ManualPointsFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/MapserverStyle.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/MiddleBedHeightCalculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/MiddleBedHeightData.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/MiddleBedHeightFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Module.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/NamedDouble.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/NamedObject.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/NamedObjectImpl.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Parameters.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/QKms.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/QKmsImpl.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/QRangeTree.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/QSectorFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/QW.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/QWDDateRange.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Range.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/RangeWithValues.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/ReferenceCurveFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/RelativePointFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/ReportFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/RiverFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/SQOverview.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/SQOverviewFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Segment.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/StaticBedHeightCacheKey.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/StaticMorphoWidthCacheKey.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/StaticSedimentLoadCacheKey.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/StaticWKmsCacheKey.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/StaticWQKmsCacheKey.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/Timerange.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/W.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WKms.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WKmsFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WKmsFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WKmsImpl.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WKmsJRDataSource.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQ.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQCKms.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQDay.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQKms.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQKmsFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQKmsFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQKmsResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQTJRDataSource.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQTimerange.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WW.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WWAxisTypes.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WWQQ.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WWQQJRDataSource.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WaterlevelFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WstFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WstLine.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WstValueTable.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WstValueTableCacheKey.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/WstValueTableFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/ZoomScale.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/extreme/Curve.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/extreme/ExtremeCalculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/extreme/ExtremeCurveFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/extreme/ExtremeResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/AnalysisPeriod.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/Fitting.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixAnalysisCalculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixAnalysisEventsFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixAnalysisPeriodsFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixAnalysisResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixAvSectorFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixCalculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixDerivateFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixDeviationFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixEventFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixFacetUtils.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixFunction.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixLongitudinalAnalysisFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixLongitudinalAvSectorFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixLongitudinalDeviationFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixLongitudinalReferenceFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixOutlierFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixRealizingCalculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixRealizingResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixReferenceEventsFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixWQCurveFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixWaterlevelFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixingsFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/QWD.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/QWI.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/HWS.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/HWSContainer.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/HWSFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/StaticHWSCacheKey.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WMSDBLayerFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WMSLayerFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WSPLGENCalculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WSPLGENJob.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WSPLGENLayerFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/WSPLGENReportFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDensityFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiameterFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiameterResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffCalculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffEpochFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffEpochFilterFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffEpochResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffYearFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffYearFilterFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffYearResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDifferencesResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeight.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightEpoch.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightSingle.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedOverview.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedOverviewFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedParametersResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedPorosityFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedQualityCalculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedQualityDiameterResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedQualityResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedloadDiameterFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedloadDiameterResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedloadOverview.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedloadOverviewFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/FlowVelocityMeasurementFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/FlowVelocityMeasurementFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/MorphologicWidth.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/MorphologicWidthFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/MorphologicWidthFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/QualityMeasurement.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/QualityMeasurementFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/QualityMeasurements.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentDensity.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentDensityFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentDensityValue.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoad.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadCalculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadFraction.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/Fitting.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/Measurement.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/MeasurementFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/Measurements.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/Outlier.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQ.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQCurveFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQFractionResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQFunction.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQMeasurementFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQOutlierCurveFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQOutlierFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQOutlierMeasurementFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQOverviewFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQRelationCalculation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQResult.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/Sieve.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SieveArray.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/StaticSQCacheKey.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/StaticSQContainer.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/StaticSQFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/StaticSQRelation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/resources/Resources.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/AbstractChartService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/BedKMChartService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/BedloadKMChartService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/CacheInvalidationService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/CrossSectionKMService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/DischargeInfoService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/DischargeTablesOverview.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/DistanceInfoService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/FLYSService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/FileUploadService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/FixingsKMChartService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/FixingsOverviewService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/GaugeInfoService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/GaugeOverviewInfoService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/MainValuesService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/MapInfoService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/MeasurementStationInfoService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/MetaDataService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/ModuleService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/QWSeriesCollection.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/RiverInfoService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/RiverService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/SQKMChartService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/SedimentLoadInfoService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/services/ThemeListingService.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/AnnotationRiverState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/AreaCreationState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/CalculationSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/CalculationSelectMinfo.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/ComputationRangeState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/ComputedDischargeCurveState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/DGMSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/DefaultState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/DischargeLongitudinalSection.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/DischargeState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/DistanceOnlySelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/DistanceSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/DurationCurveState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/EnterLocationState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/EnterMultipleLocationsState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/FloodMapState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/FloodplainChoice.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/FlowVelocityState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/GaugeDischargeState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/GaugeTimerangeState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/HWSBarriersState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/HWSDatacageState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/HistoricalDischargeComputeState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/HistoricalDischargeState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/InputDoubleState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/IntRangeState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/LocationDistanceSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/LocationSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/ManualPointsSingleState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/MiddleBedHeight.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/MinMaxState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/MultiIntArrayState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/MultiStringArrayState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/OutliersInput.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/OutputState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/PeriodSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/PeriodsSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/ProfileDistanceSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/QSectorSingleState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/RangeState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/ReferenceCurveState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/ReferenceGaugeState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/RiverSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/SQRelation.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/ScenarioSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/SoundingsSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/StateFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/StaticHYKState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/StaticState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/StaticWQKmsState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/UserRGDState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/WDifferencesState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/WMSBackgroundState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/WQAdapted.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/WQSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelGroundDifferences.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelInfoState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelPairSelectState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelSelectState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/extreme/ExtremeCompute.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/extreme/ExtremeQInput.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/extreme/PercentInput.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/AnalysisPeriods.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/EventSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/FixAnalysisCompute.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/FixRealizingCompute.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/FixationPeriod.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/FixationSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/FunctionSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/GaugeRange.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/LocationSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/PreprocessingSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/QSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/ReferencePeriod.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/BedQualityPeriodsSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/BedQualityState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/CharDiameter.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/DifferenceSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/DifferencesState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/SedimentLoadCalculate.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/SedimentLoadDistanceSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/SedimentLoadEpochSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/SedimentLoadOffEpochSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/SedimentLoadUnit.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/SedimentLoadYearSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/YearEpochSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/sq/OutlierMethod.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/sq/SQPeriodSelect.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/sq/SQStaticState.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/states/sq/StaticSQRelationFacet.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/transitions/DefaultTransition.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/transitions/TransitionFactory.java flys-artifacts/src/main/java/org/dive4elements/river/artifacts/transitions/ValueCompareTransition.java flys-artifacts/src/main/java/org/dive4elements/river/collections/AttributeParser.java flys-artifacts/src/main/java/org/dive4elements/river/collections/AttributeWriter.java flys-artifacts/src/main/java/org/dive4elements/river/collections/CollectionAttribute.java flys-artifacts/src/main/java/org/dive4elements/river/collections/CollectionDescriptionHelper.java flys-artifacts/src/main/java/org/dive4elements/river/collections/FLYSArtifactCollection.java flys-artifacts/src/main/java/org/dive4elements/river/collections/OutputParser.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ATExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ATWriter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/AbstractExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/AxisSection.java flys-artifacts/src/main/java/org/dive4elements/river/exports/BooleanAttribute.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ChartArea.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ChartExportHelper.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ChartGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ChartHelper.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ChartInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ChartSection.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ChartSettings.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ChoiceStringAttribute.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ComputedDischargeCurveExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ComputedDischargeCurveGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ComputedDischargeCurveInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/CrossSectionGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/CrossSectionInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/DischargeCurveGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/DischargeCurveInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/DischargeLongitudinalSectionExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/DischargeLongitudinalSectionGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/DischargeLongitudinalSectionInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/DoubleAttribute.java flys-artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/EmptySettings.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ExportSection.java flys-artifacts/src/main/java/org/dive4elements/river/exports/FlowVelocityExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/FlowVelocityGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/FlowVelocityInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/HistoricalDischargeCurveExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/HistoricalDischargeCurveGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/HistoricalDischargeCurveInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/HistoricalDischargeWQCurveGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/HistoricalDischargeWQCurveInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/IdentifiableNumberAxis.java flys-artifacts/src/main/java/org/dive4elements/river/exports/InfoGeneratorHelper.java flys-artifacts/src/main/java/org/dive4elements/river/exports/IntegerAttribute.java flys-artifacts/src/main/java/org/dive4elements/river/exports/LegendProcessor.java flys-artifacts/src/main/java/org/dive4elements/river/exports/LegendSection.java flys-artifacts/src/main/java/org/dive4elements/river/exports/LongitudinalSectionGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/LongitudinalSectionInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/MapGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/NormalizedReferenceCurveGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/NormalizedReferenceCurveInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/OutGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/OutputHelper.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ReferenceCurveExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ReferenceCurveGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ReferenceCurveInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/ReportGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/StepCSVWriter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/StringAttribute.java flys-artifacts/src/main/java/org/dive4elements/river/exports/StyledSeriesBuilder.java flys-artifacts/src/main/java/org/dive4elements/river/exports/TimeseriesChartGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/TypeSection.java flys-artifacts/src/main/java/org/dive4elements/river/exports/VisibleAttribute.java flys-artifacts/src/main/java/org/dive4elements/river/exports/WDifferencesCurveGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/WDifferencesCurveInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/WDifferencesExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/WaterlevelExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/WstWriter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/XYChartGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/extreme/ExtremeWQCurveGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/extreme/ExtremeWQCurveInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/DeltaWtExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixATExport.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixATWriter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixChartGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixDeltaWtGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixDeltaWtInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixDerivedCurveGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixDerivedCurveInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixLongitudinalSectionGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixLongitudinalSectionInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixWQCurveGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixWQCurveInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/fixings/ParametersExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDiffEpochInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDiffHeightYearGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDiffHeightYearInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDiffYearInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceEpochGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceYearGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedQualityExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedQualityGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedQualityInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/minfo/SedimentLoadLSGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/minfo/SedimentLoadLSInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/process/BedheightProcessor.java flys-artifacts/src/main/java/org/dive4elements/river/exports/process/KMIndexProcessor.java flys-artifacts/src/main/java/org/dive4elements/river/exports/process/Processor.java flys-artifacts/src/main/java/org/dive4elements/river/exports/process/WOutProcessor.java flys-artifacts/src/main/java/org/dive4elements/river/exports/sq/SQOverviewGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java flys-artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationGeneratorA.java flys-artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationGeneratorB.java flys-artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationGeneratorC.java flys-artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationGeneratorD.java flys-artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationGeneratorE.java flys-artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationGeneratorF.java flys-artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationInfoGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/java2d/NOPGraphics2D.java flys-artifacts/src/main/java/org/dive4elements/river/java2d/ShapeUtils.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/Bounds.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/CollisionFreeLineLabelEntity.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/CollisionFreeXYTextAnnotation.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/CollisionFreeXYTextAnnotationEntity.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/DoubleBounds.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/EnhancedLineAndShapeRenderer.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/FLYSAnnotation.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/HasLabel.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/JFreeUtil.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/ShapeRenderer.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/StableXYDifferenceRenderer.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/StickyAxisAnnotation.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/Style.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/StyledAreaSeriesCollection.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/StyledDomainMarker.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/StyledSeries.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/StyledTimeSeries.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/StyledValueMarker.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/StyledXYSeries.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/TimeBounds.java flys-artifacts/src/main/java/org/dive4elements/river/jfree/XYStyle.java flys-artifacts/src/main/java/org/dive4elements/river/themes/DefaultTheme.java flys-artifacts/src/main/java/org/dive4elements/river/themes/DefaultThemeField.java flys-artifacts/src/main/java/org/dive4elements/river/themes/LineStyle.java flys-artifacts/src/main/java/org/dive4elements/river/themes/PointStyle.java flys-artifacts/src/main/java/org/dive4elements/river/themes/TextStyle.java flys-artifacts/src/main/java/org/dive4elements/river/themes/Theme.java flys-artifacts/src/main/java/org/dive4elements/river/themes/ThemeAccess.java flys-artifacts/src/main/java/org/dive4elements/river/themes/ThemeFactory.java flys-artifacts/src/main/java/org/dive4elements/river/themes/ThemeField.java flys-artifacts/src/main/java/org/dive4elements/river/themes/ThemeGroup.java flys-artifacts/src/main/java/org/dive4elements/river/themes/ThemeMapping.java flys-artifacts/src/main/java/org/dive4elements/river/utils/ArtifactMapfileGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/utils/DataUtil.java flys-artifacts/src/main/java/org/dive4elements/river/utils/DateAverager.java flys-artifacts/src/main/java/org/dive4elements/river/utils/DoubleUtil.java flys-artifacts/src/main/java/org/dive4elements/river/utils/FLYSUtils.java flys-artifacts/src/main/java/org/dive4elements/river/utils/Formatter.java flys-artifacts/src/main/java/org/dive4elements/river/utils/GeometryUtils.java flys-artifacts/src/main/java/org/dive4elements/river/utils/IdGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/utils/KMIndex.java flys-artifacts/src/main/java/org/dive4elements/river/utils/MapUtils.java flys-artifacts/src/main/java/org/dive4elements/river/utils/MapfileGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/utils/Pair.java flys-artifacts/src/main/java/org/dive4elements/river/utils/RiverMapfileGenerator.java flys-artifacts/src/main/java/org/dive4elements/river/utils/ThemeUtil.java flys-artifacts/src/main/java/org/dive4elements/river/wsplgen/FacetCreator.java flys-artifacts/src/main/java/org/dive4elements/river/wsplgen/JobObserver.java flys-artifacts/src/main/java/org/dive4elements/river/wsplgen/ProblemObserver.java flys-artifacts/src/main/java/org/dive4elements/river/wsplgen/Scheduler.java flys-artifacts/src/main/java/org/dive4elements/river/wsplgen/SchedulerSetup.java flys-artifacts/src/main/java/org/dive4elements/river/wsplgen/WSPLGENCallable.java flys-artifacts/src/main/java/org/dive4elements/river/wsplgen/WSPLGENFuture.java
diffstat 1260 files changed, 97376 insertions(+), 97376 deletions(-) [+]
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/AbstractStaticStateArtifact.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import de.intevation.artifacts.CallContext;
-import de.intevation.artifacts.ArtifactNamespaceContext;
-
-import de.intevation.artifacts.common.utils.XMLUtils;
-import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;
-
-import de.intevation.artifactdatabase.ProtocolUtils;
-import de.intevation.artifactdatabase.data.StateData;
-import de.intevation.artifactdatabase.state.State;
-
-import de.intevation.flys.artifacts.states.StaticState;
-
-/**
- * A abstract baseclass for Artifacts which are using only one static state.
- *
- * This class is intended to be used without the config/stateengine to generate
- * the static state.
- *
- * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a>
- */
-public abstract class AbstractStaticStateArtifact extends StaticFLYSArtifact {
-
-    private transient StaticState staticstate;
-
-    private static final Logger logger =
-        Logger.getLogger(AbstractStaticStateArtifact.class);
-
-    /**
-     * Get a list containing the one and only State.
-     * @param  context ignored.
-     * @return list with one and only state.
-     */
-    @Override
-    protected List<State> getStates(Object context) {
-        ArrayList<State> states = new ArrayList<State>();
-        states.add(getStaticState());
-        return states;
-    }
-
-
-    /**
-     * Get the "current" state.
-     * @param cc ignored.
-     * @return always the set static state.
-     */
-    @Override
-    public State getCurrentState(Object cc) {
-        return getStaticState();
-    }
-
-    /**
-     * A child class must override this method to set its static state
-     */
-    protected abstract void initStaticState();
-
-    protected void setStaticState(StaticState state) {
-        this.staticstate = state;
-    }
-
-    protected StaticState getStaticState() {
-        if (staticstate == null) {
-            initStaticState();
-        }
-        return staticstate;
-    }
-
-    /**
-     * Get the state.
-     * @param context ignored.
-     * @param stateID ignored.
-     * @return the state.
-     */
-    @Override
-    protected State getState(Object context, String stateID) {
-        return getStaticState();
-    }
-
-    @Override
-    public Document describe(Document data, CallContext cc) {
-        logger.debug("Describe artifact: " + identifier());
-
-        Document desc = XMLUtils.newDocument();
-
-        ElementCreator creator = new ElementCreator(
-            desc,
-            ArtifactNamespaceContext.NAMESPACE_URI,
-            ArtifactNamespaceContext.NAMESPACE_PREFIX);
-
-        Element root = ProtocolUtils.createRootNode(creator);
-        desc.appendChild(root);
-
-        Element name = ProtocolUtils.createArtNode(
-            creator, "name",
-            new String[] { "value" },
-            new String[] { getName() });
-
-        root.appendChild(name);
-        root.appendChild(createOutputModes(cc, desc, creator));
-
-        ProtocolUtils.appendDescribeHeader(creator, root, identifier(), hash());
-
-        // Add the data to an anonymous state.
-        Collection<StateData> datas = getAllData();
-        if (datas.size() > 0) {
-            Element ui = creator.create("ui");
-            Element staticE = creator.create("static");
-
-            StaticState current = getStaticState();
-            Element state = current.describeStatic(this, desc, root, cc, null);
-            staticE.appendChild(state);
-
-            for (StateData dataItem : datas) {
-                Element itemelent = creator.create("data");
-                creator.addAttr(itemelent, "name", dataItem.getName(), true);
-                creator.addAttr(itemelent, "type", dataItem.getType(), true);
-                state.appendChild(itemelent);
-                Element valuement = creator.create("item");
-                creator.addAttr(valuement, "label", dataItem.getDescription(), true);
-                creator.addAttr(valuement, "value", dataItem.getValue().toString(), true);
-                itemelent.appendChild(valuement);
-            }
-
-            ui.appendChild(staticE);
-            root.appendChild(ui);
-        }
-
-        return desc;
-    }
-}
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,261 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import org.apache.log4j.Logger;
-
-import de.intevation.artifacts.Artifact;
-import de.intevation.artifacts.ArtifactFactory;
-import de.intevation.artifacts.ArtifactNamespaceContext;
-import de.intevation.artifacts.CallContext;
-import de.intevation.artifacts.CallMeta;
-
-import de.intevation.artifactdatabase.ProtocolUtils;
-import de.intevation.artifactdatabase.state.Facet;
-import de.intevation.artifactdatabase.state.FacetActivity;
-import de.intevation.artifactdatabase.state.Output;
-import de.intevation.artifactdatabase.state.State;
-import de.intevation.artifactdatabase.state.StateEngine;
-
-import de.intevation.flys.artifacts.model.FacetTypes;
-
-import de.intevation.artifacts.common.utils.XMLUtils;
-
-import de.intevation.flys.artifacts.states.DefaultState;
-import de.intevation.flys.artifacts.context.FLYSContext;
-
-import de.intevation.flys.utils.FLYSUtils;
-
-/**
- * Artifact to access names of Points Of Interest along a segment of a river.
- */
-public class AnnotationArtifact
-extends      StaticFLYSArtifact
-implements   FacetTypes {
-
-    /** The logger for this class. */
-    private static Logger logger = Logger.getLogger(AnnotationArtifact.class);
-
-    /** The name of the artifact. */
-    public static final String ARTIFACT_NAME = "annotation";
-
-    // Let Annotations enter life inactively if in Fix Analysis LS setting.
-    static {
-        FacetActivity.Registry.getInstance().register(
-            "annotation",
-            new FacetActivity() {
-                @Override
-                public Boolean isInitialActive(
-                    Artifact artifact,
-                    Facet    facet,
-                    String   output
-                ) {
-                    if (output.contains(FacetTypes.ChartType.FLSC.toString())) {
-                        // Longitudinal section chart
-                        String name = facet.getName();
-
-                        if (name.contains(FacetTypes.LONGITUDINAL_ANNOTATION)) {
-                            return Boolean.FALSE;
-                        }
-                    }
-
-                    return Boolean.TRUE;
-                }
-            });
-    }
-
-
-    @Override
-    public void setup(
-        String          identifier,
-        ArtifactFactory factory,
-        Object          context,
-        CallMeta        callMeta,
-        Document        data)
-    {
-        logger.debug("AnnotationArtifact.setup");
-        String filter = StaticFLYSArtifact.getDatacageIDValue(data);
-        String[] splits = filter.split(":");
-        if (splits.length > 1) {
-            addStringData("nameFilter", splits[1]);
-        }
-        super.setup(identifier, factory, context, callMeta, data);
-    }
-
-
-    /** Get river, setup Facets. */
-    @Override
-    protected void initialize(Artifact artifact, Object context,
-            CallMeta meta) {
-        logger.debug("AnnotationArtifact.initialize, id: "
-            + artifact.identifier());
-
-        FLYSArtifact flys = (FLYSArtifact) artifact;
-        // TODO issue880: make annotations available _per type_
-        importData(flys, "river");
-
-        List<Facet> fs = new ArrayList<Facet>();
-
-        // TODO Add CallMeta (duplicate TODO in RiverAxisArtifact.java).
-        DefaultState state = (DefaultState) getCurrentState(context);
-        state.computeInit(this, hash(), context, meta, fs);
-
-        if (!fs.isEmpty()) {
-            logger.debug("Facets to add in AnnotationsArtifact.initialize .");
-            addFacets(getCurrentStateId(), fs);
-        }
-        else {
-            logger.debug("No facets to add in AnnotationsArtifact.initialize .");
-        }
-    }
-
-
-    /** Shortcut to nameFilter-data (TODO: move to respective Access). */
-    public String getFilterName() {
-        return getDataAsString("nameFilter");
-    }
-
-
-    public double[] getDistance() {
-        /** TODO In initialize(), access maximal range of river (via
-         * AnnotationFactory) instead of overriding getDistance,
-         * important for diagram generation. */
-        return new double[] {0f, 1000f};
-    }
-
-
-    /**
-     * Create the description of this AnnotationArtifact-instance.
-     *
-     * @param data Some data.
-     * @param context The CallContext.
-     *
-     * @return the description of this artifact.
-     */
-    @Override
-    public Document describe(Document data, CallContext context) {
-        logger.debug("Describe: the current state is: " + getCurrentStateId());
-
-        if (logger.isDebugEnabled()) {
-            dumpArtifact();
-        }
-
-        Document description            = XMLUtils.newDocument();
-        XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
-            description,
-            ArtifactNamespaceContext.NAMESPACE_URI,
-            ArtifactNamespaceContext.NAMESPACE_PREFIX);
-
-        Element root = ProtocolUtils.createRootNode(creator);
-        description.appendChild(root);
-
-        State current = getCurrentState(context);
-
-        ProtocolUtils.appendDescribeHeader(creator, root, identifier(), hash());
-        ProtocolUtils.appendState(creator, root, current);
-
-        Element name = ProtocolUtils.createArtNode(
-            creator, "name",
-            new String[] { "value" },
-            new String[] { getName() });
-
-        Element outs = ProtocolUtils.createArtNode(
-            creator, "outputmodes", null, null);
-        appendOutputModes(description, outs, context);
-
-        root.appendChild(name);
-        root.appendChild(outs);
-
-        return description;
-    }
-
-
-    /**
-     * Returns the name of the concrete artifact.
-     *
-     * @return the name of the concrete artifact.
-     */
-    public String getName() {
-        return ARTIFACT_NAME;
-    }
-
-
-    /**
-     * Append outputmode elements to given document.
-     *
-     * @param doc Document to add outputmodes to.
-     * @param outs Element to add outputmode elements to.
-     * @param context The given CallContext (mostly for internationalization).
-     */
-    //@Override
-    protected void appendOutputModes(
-        Document    doc,
-        Element     outs,
-        CallContext context)
-    {
-        List<String> stateIds = getPreviousStateIds();
-
-        FLYSContext flysContext = FLYSUtils.getFlysContext(context);
-        StateEngine engine      = (StateEngine) flysContext.get(
-            FLYSContext.STATE_ENGINE_KEY);
-
-        for (String stateId: stateIds) {
-            logger.debug("Append output modes for state: " + stateId);
-            DefaultState state = (DefaultState) engine.getState(stateId);
-
-            List<Output> list = state.getOutputs();
-            if (list == null || list.isEmpty()) {
-                logger.debug("-> No output modes for this state.");
-                continue;
-            }
-
-            List<Facet> fs = getFacets(stateId);
-            if (fs == null || fs.isEmpty()) {
-                logger.debug("No facets found.");
-                continue;
-            }
-
-            logger.debug("Found " + fs.size() + " facets in previous states.");
-
-            List<Output> generated = generateOutputs(list, fs);
-
-            ProtocolUtils.appendOutputModes(doc, outs, generated);
-        }
-
-        try {
-            DefaultState cur = (DefaultState) getCurrentState(context);
-            if (cur.validate(this)) {
-                List<Output> list = cur.getOutputs();
-                if (list != null && list.size() > 0) {
-                    logger.debug(
-                        "Append output modes for state: " + cur.getID());
-
-                    List<Facet> fs = getFacets(cur.getID());
-                    if (fs != null && fs.size() > 0) {
-                        List<Output> generated = generateOutputs(list, fs);
-
-                        logger.debug("Found " + fs.size() + " current facets.");
-                        if (!generated.isEmpty()) {
-                            ProtocolUtils.appendOutputModes(
-                                doc, outs, generated);
-                        }
-                        else{
-                            logger.debug("Cannot append output to generated document.");
-                        }
-                    }
-                    else {
-                        logger.debug("No facets found for the current state.");
-                    }
-                }
-            }
-        }
-        catch (IllegalArgumentException iae) {
-            // state is not valid, so we do not append its outputs.
-        }
-    }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/AreaArtifact.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-
-import org.w3c.dom.Document;
-
-import de.intevation.artifacts.Artifact;
-import de.intevation.artifacts.ArtifactFactory;
-import de.intevation.artifacts.CallMeta;
-
-import de.intevation.flys.artifacts.model.AreaFacet;
-
-
-import de.intevation.flys.artifacts.states.AreaCreationState;
-import de.intevation.flys.artifacts.states.StaticState;
-
-import de.intevation.artifactdatabase.state.Facet;
-import de.intevation.artifactdatabase.state.State;
-
-
-/**
- * Artifact describing the area between two WKms.
- */
-public class AreaArtifact extends StaticFLYSArtifact {
-
-    /** Name of Artifact. */
-    public static final String AREA_ARTIFACT_NAME = "area_artifact";
-
-    /** Dataitem: Facet name. Facets with this name will be created (important
-     * to not have the area calculated in e.g. a CrossSection to be shown in
-     * LongitudinalSection.  */
-    protected static final String FACET_NAME = "area.facet";
-
-    /** Name of state. */
-    public static final String STATIC_STATE_NAME = "state.area_artifact";
-
-    /** data item name to access upper curve. */
-    protected static final String AREA_CURVE_OVER = "area.curve_over";
-
-    /** data item name to access lower curve. */
-    protected static final String AREA_CURVE_UNDER = "area.curve_under";
-
-    /** data item name to access whether or not paint over and under. */
-    protected static final String AREA_BETWEEN = "area.between";
-
-    /** Name of state. */
-    protected static final String AREA_NAME = "area.name";
-
-    /** Own logger. */
-    private static final Logger logger =
-        Logger.getLogger(AreaArtifact.class);
-
-
-    /** Return given name. */
-    @Override
-    public String getName() {
-        return AREA_ARTIFACT_NAME;
-    }
-
-
-    /** Store ids, create an AreaFacet. */
-    @Override
-    public void setup(
-        String          identifier,
-        ArtifactFactory factory,
-        Object          context,
-        CallMeta        callMeta,
-        Document        data)
-    {
-        logger.info("AreaArtifact.setup");
-
-        super.setup(identifier, factory, context, callMeta, data);
-
-        // TODO yet unused.
-        String ids = getDatacageIDValue(data);
-
-        // TODO this facet will be remodeled during next feed.
-        List<Facet> fs = new ArrayList<Facet>();
-        fs.add(new AreaFacet(0, "", "TODO: I am an AreaFacet"));
-
-        AreaCreationState state = (AreaCreationState) getCurrentState(context);
-
-        if (!fs.isEmpty()) {
-            addFacets(getCurrentStateId(), fs);
-        }
-    }
-
-    // TODO Data is not cached in this way.
-
-    /** Do not copy data from daddyfact. */
-    @Override
-    protected void initialize(
-        Artifact artifact,
-        Object   context,
-        CallMeta callMeta)
-    {
-        // do nothing
-    }
-
-
-    /**
-     * Get name of facets to create.
-     */
-    public String getFacetName() {
-        return getDataAsString(FACET_NAME);
-    }
-
-
-    /**
-     * Get dataprovider key for the 'lower' curve (we got that information fed
-     * from the client and store it as data).
-     */
-    public String getLowerDPKey() {
-        return getDataAsString(AREA_CURVE_UNDER);
-    }
-
-
-    /**
-     * True if the whole area between the two curves shall be filled.
-     */
-    public boolean getPaintBetween() {
-        String val = getDataAsString(AREA_BETWEEN);
-
-        return val != null && val.equals("true");
-    }
-
-
-    /**
-     * Get dataprovider key for the 'upper' curve (we got that information fed
-     * from the client and store it as data).
-     */
-    public String getUpperDPKey() {
-        return getDataAsString(AREA_CURVE_OVER);
-    }
-
-
-    /** Return data item that is used to configure name of area. */
-    public String getAreaName() {
-        return getDataAsString(AREA_NAME);
-    }
-
-
-    /**
-     * Create and return a new AreaCreationState with charting output.
-     */
-    @Override
-    public State getCurrentState(Object cc) {
-        final List<Facet> fs = getFacets(getCurrentStateId());
-
-        AreaCreationState state = new AreaCreationState();
-
-        StaticState.addDefaultChartOutput(state, "cross_section", fs);
-
-        return state;
-    }
-
-
-    /**
-     * Get a list containing the one and only State.
-     * @param  context ignored.
-     * @return list with one and only state.
-     */
-    @Override
-    protected List<State> getStates(Object context) {
-        ArrayList<State> states = new ArrayList<State>();
-        states.add(getCurrentState(context));
-
-        return states;
-    }
-
-
-    /** Trivia. */
-    protected State getState(Object context, String stateID) {
-        return getCurrentState(null);
-    }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/BedHeightsArtifact.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.w3c.dom.Document;
-
-import de.intevation.artifactdatabase.state.DefaultOutput;
-import de.intevation.artifactdatabase.state.Facet;
-import de.intevation.artifactdatabase.state.FacetActivity;
-import de.intevation.artifacts.ArtifactFactory;
-import de.intevation.artifacts.Artifact;
-import de.intevation.artifacts.CallMeta;
-import de.intevation.artifacts.common.utils.XMLUtils;
-import de.intevation.flys.artifacts.model.minfo.BedHeightFacet;
-import de.intevation.flys.artifacts.model.minfo.BedHeightFactory;
-import de.intevation.flys.artifacts.states.StaticState;
-
-public class BedHeightsArtifact
-extends      AbstractStaticStateArtifact
-{
-    /** The logger for this class. */
-    private static Logger logger =
-        Logger.getLogger(BedHeightsArtifact.class);
-
-    private static final String NAME = "bedheights";
-    private static final String STATIC_FACET_NAME = "bedheight";
-
-    static {
-        // TODO: Move to configuration.
-        FacetActivity.Registry.getInstance()
-            .register(NAME, FacetActivity.INACTIVE);
-    }
-
-    public static final String STATIC_STATE_NAME =
-        "state.additional_bedheights.static";
-
-    /** Data Item name to know whether we are Heighmarks and reveive
-     * some data slightly different. */
-    public static final String DATA_HEIGHT_TYPE =
-        "height_marks";
-
-    /**
-     * Trivial Constructor.
-     */
-    public BedHeightsArtifact() {
-        logger.debug("BedHeightsArtifact.BedHeightsArtifact");
-    }
-
-    @Override
-    public String getName() {
-        return NAME;
-    }
-
-    /**
-     * Gets called from factory, to set things up.
-     */
-    @Override
-    public void setup(
-        String          identifier,
-        ArtifactFactory factory,
-        Object          context,
-        CallMeta        callMeta,
-        Document        data)
-    {
-        logger.debug("BedHeightsArtifact.setup");
-
-        if (logger.isDebugEnabled()) {
-            logger.debug(XMLUtils.toString(data));
-        }
-
-        String code = getDatacageIDValue(data);
-
-        if (code != null) {
-            String [] parts = code.split("-");
-
-            if (parts.length >= 4) {
-                String name = parts[0];
-                String type = parts[1];
-                String btype = type;
-                int hId = Integer.parseInt(parts[2]);
-                if (name.equals("bedheight")) {
-                    addStringData("type", type);
-                    addStringData("height_id", parts[2]);
-                    addStringData("time", parts[3]);
-                }
-                if (type.equals("singlevalues")) {
-                    btype = "single";
-                }
-
-                String bedHName = BedHeightFactory.getHeightName(btype, hId);
-
-                Facet facet = new BedHeightFacet(
-                        STATIC_FACET_NAME, bedHName, type);
-
-                ArrayList<Facet> facets = new ArrayList<Facet>(1);
-                facets.add(facet);
-
-                addFacets(STATIC_STATE_NAME, facets);
-            }
-        }
-        super.setup(identifier, factory, context, callMeta, data);
-    }
-
-    @Override
-    protected void initStaticState() {
-
-        logger.debug("initStaticState " + getName() + " " + identifier());
-
-        StaticState state = new StaticState(STATIC_STATE_NAME);
-        DefaultOutput output = new DefaultOutput(
-                "general",
-                "general",
-                "image/png",
-                "chart");
-
-        List<Facet> facets = getFacets(STATIC_STATE_NAME);
-        output.addFacets(facets);
-        state.addOutput(output);
-
-        setStaticState(state);
-    }
-
-    @Override
-    protected void initialize(Artifact artifact, Object context, CallMeta meta) {
-        // do not clone facets, etc. from master artifact
-
-        logger.debug("initialize");
-        importData((FLYSArtifact)artifact, "ld_from");
-        importData((FLYSArtifact)artifact, "ld_to");
-
-        logger.debug("ld_from " + getDataAsString("ld_from"));
-        logger.debug("ld_to " + getDataAsString("ld_to"));
-    }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/ChartArtifact.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import org.apache.log4j.Logger;
-
-import java.util.List;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import de.intevation.artifacts.Artifact;
-
-import de.intevation.artifacts.ArtifactFactory;
-import de.intevation.artifacts.CallMeta;
-import de.intevation.artifacts.CallContext;
-
-import de.intevation.artifacts.common.utils.XMLUtils;
-import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;
-
-import de.intevation.artifactdatabase.ProtocolUtils;
-import de.intevation.artifactdatabase.state.Facet;
-import de.intevation.artifactdatabase.state.State;
-import de.intevation.artifactdatabase.state.StateEngine;
-import de.intevation.artifactdatabase.state.Output;
-
-import de.intevation.flys.utils.FLYSUtils;
-
-import de.intevation.flys.artifacts.states.DefaultState;
-import de.intevation.flys.artifacts.context.FLYSContext;
-import de.intevation.flys.artifacts.resources.Resources;
-
-
-/** Artifact, open to generate any (?) out. */
-public class ChartArtifact extends FLYSArtifact {
-
-    private static final Logger logger =
-        Logger.getLogger(ChartArtifact.class);
-
-    @Override
-    public void setup(
-        String          identifier,
-        ArtifactFactory factory,
-        Object          context,
-        CallMeta        callmeta,
-        Document        data)
-    {
-        logger.debug("ChartArtifact.setup");
-        this.identifier = identifier;
-        name = "new_chart";
-
-        List<State> states = getStates(context);
-
-        setCurrentState(states.get(0));
-    }
-
-    @Override
-    protected void appendBackgroundActivity(
-        ElementCreator cr,
-        Element        root,
-        CallContext    context
-    ) {
-        Element inBackground = cr.create("background-processing");
-        root.appendChild(inBackground);
-
-        cr.addAttr(
-            inBackground,
-            "value",
-            String.valueOf(context.isInBackground()),
-            true);
-    }
-
-
-    /**
-     * Append output mode nodes to a document.
-     */
-    @Override
-    protected void appendOutputModes(
-        Document    doc,
-        Element     outs,
-        CallContext context,
-        String      uuid)
-    {
-        List<String> stateIds = getPreviousStateIds();
-
-        FLYSContext flysContext = FLYSUtils.getFlysContext(context);
-        StateEngine engine      = (StateEngine) flysContext.get(
-            FLYSContext.STATE_ENGINE_KEY);
-
-        for (String stateId: stateIds) {
-            logger.debug("Append output modes for state: " + stateId);
-            DefaultState state = (DefaultState) engine.getState(stateId);
-
-            List<Output> list = state.getOutputs();
-            if (list == null || list.isEmpty()) {
-                logger.debug("-> No output modes for this state.");
-                continue;
-            }
-
-            List<Facet> fs = getFacets(stateId);
-
-            if (fs == null || fs.isEmpty()) {
-                logger.debug("No facets for previous state found.");
-                continue;
-            }
-
-            logger.debug("Found " + fs.size() + " facets in previous states.");
-
-            List<Output> generated = generateOutputs(list, fs);
-
-            ProtocolUtils.appendOutputModes(doc, outs, generated);
-        }
-
-        try {
-            DefaultState cur = (DefaultState) getCurrentState(context);
-            List<Output> list = cur.getOutputs();
-            if (list != null && list.size() > 0) {
-                logger.debug(
-                    "Append output modes for current state: " + cur.getID());
-
-                List<Facet> fs = getFacets(cur.getID());
-
-                if (fs != null && fs.size() > 0) {
-                    List<Output> generated = generateOutputs(list, fs);
-
-                    logger.debug("Found " + fs.size() + " current facets.");
-                    if (!generated.isEmpty()) {
-                        ProtocolUtils.appendOutputModes(
-                            doc, outs, generated);
-                    }
-                }
-                else {
-                    logger.debug("No facets found for the current state.");
-                }
-            }
-        }
-        catch (IllegalArgumentException iae) {
-            // state is not valid, so we do not append its outputs.
-        }
-    }
-
-    public static class ChartState extends DefaultState {
-
-        public static final String FIELD_MODE = "chart_type";
-
-        public static final String DURATION_CURVE =
-            "chart.new.durationcurve";
-
-        public static final String COMPUTED_DISCHARGE_CURVE =
-            "chart.new.computeddischargecurve";
-
-        public static final String DISCHARGE_LONGITUDINAL_CURVE =
-            "chart.new.longitudinal_section";
-
-        public static final String W_DIFFERENCES =
-            "chart.new.w_differences";
-
-        public static final String WATERLEVEL =
-            "chart.new.crosssection";
-
-        public static final String[] CHARTS = {
-            COMPUTED_DISCHARGE_CURVE,
-            DURATION_CURVE,
-            DISCHARGE_LONGITUDINAL_CURVE,
-            W_DIFFERENCES,
-            WATERLEVEL };
-
-
-
-        @Override
-        public Object computeAdvance(
-            FLYSArtifact artifact,
-            String       hash,
-            CallContext  context,
-            List<Facet>  facets,
-            Object       old)
-        {
-            logger.debug("ChartState.computeAdvance");
-
-
-            return null;
-        }
-
-
-        @Override
-        protected Element[] createItems(
-            XMLUtils.ElementCreator cr,
-            Artifact    artifact,
-            String      name,
-            CallContext context)
-        {
-            CallMeta meta   = context.getMeta();
-            Element[] charts = new Element[CHARTS.length];
-
-            int i = 0;
-
-            for (String chart: CHARTS) {
-                charts[i++] = createItem(
-                    cr, new String[] {
-                        Resources.getMsg(meta, chart, chart),
-                        chart
-                    });
-            }
-
-            return charts;
-        }
-    }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/CollectionMonitor.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.xpath.XPathConstants;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import de.intevation.artifacts.Artifact;
-import de.intevation.artifacts.ArtifactNamespaceContext;
-import de.intevation.artifacts.CallContext;
-import de.intevation.artifacts.Hook;
-
-import de.intevation.artifacts.common.utils.XMLUtils;
-import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;
-
-import de.intevation.artifactdatabase.state.Output;
-
-import de.intevation.flys.artifacts.datacage.Recommendations;
-
-/** Monitors collection changes. */
-public class CollectionMonitor implements Hook {
-
-    public static final String XPATH_RESULT = "/art:result";
-
-
-    @Override
-    public void setup(Node cfg) {
-    }
-
-
-    @Override
-    public void execute(Artifact artifact, CallContext context, Document doc) {
-        FLYSArtifact flys = (FLYSArtifact) artifact;
-
-        Element result = (Element) XMLUtils.xpath(
-            doc,
-            XPATH_RESULT,
-            XPathConstants.NODE,
-            ArtifactNamespaceContext.INSTANCE);
-
-        ElementCreator creator = new ElementCreator(
-            doc,
-            ArtifactNamespaceContext.NAMESPACE_URI,
-            ArtifactNamespaceContext.NAMESPACE_PREFIX);
-
-        Element recommended = creator.create("recommended-artifacts");
-        result.appendChild(recommended);
-
-        String[] outs              = extractOutputNames(flys, context);
-        Map<String, Object> params = getNoneUserSpecificParameters(flys, context);
-
-        Recommendations rec = Recommendations.getInstance();
-
-        // TODO For newer official-lines recommendations we actually
-        // need user-id (null here).
-        rec.recommend(flys, null, outs, params, recommended);
-    }
-
-
-    /**
-     * Get outputnames from current state (only the ones for which
-     * facets exist).
-     */
-    public static String[] extractOutputNames(
-        FLYSArtifact flys,
-        CallContext  context)
-    {
-        if (flys instanceof ChartArtifact) {
-            return new String[0];
-        }
-
-        List<Output> outs = flys.getCurrentOutputs(context);
-
-        int num = outs == null ? 0 : outs.size();
-
-        String[] names = new String[num];
-
-        for (int i = 0; i < num; i++) {
-            names[i] = outs.get(i).getName();
-        }
-
-        return names;
-    }
-
-
-    /**
-     * Creates Map from Strings "recommended" to "true".
-     */
-    protected Map<String, Object> getNoneUserSpecificParameters(
-        FLYSArtifact flys,
-        CallContext  context)
-    {
-        Map<String, Object> params = new HashMap<String, Object>(1);
-        params.put("recommended", "true");
-
-        return params;
-    }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,346 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.NavigableMap;
-
-import org.apache.log4j.Logger;
-
-import org.w3c.dom.Document;
-
-import de.intevation.artifacts.Artifact;
-import de.intevation.artifacts.ArtifactFactory;
-import de.intevation.artifacts.CallMeta;
-
-import de.intevation.flys.artifacts.access.RangeAccess;
-import de.intevation.flys.artifacts.model.CrossSectionFacet;
-import de.intevation.flys.artifacts.model.FastCrossSectionLineFactory;
-
-import de.intevation.flys.model.FastCrossSectionLine;
-
-import de.intevation.flys.model.CrossSection;
-import de.intevation.flys.model.CrossSectionLine;
-import de.intevation.flys.artifacts.model.CrossSectionFactory;
-
-import de.intevation.flys.artifacts.states.StaticState;
-
-import de.intevation.artifactdatabase.state.Facet;
-import de.intevation.artifactdatabase.state.FacetActivity;
-import de.intevation.artifactdatabase.state.State;
-
-import de.intevation.flys.artifacts.services.CrossSectionKMService;
-
-
-/**
- * Artifact describing a cross-section.
- */
-public class CrossSectionArtifact extends StaticFLYSArtifact {
-
-    /** Name of Artifact. */
-    public static final String CS_ARTIFACT_NAME = "cross_section";
-
-    /** Name of state. */
-    public static final String STATIC_STATE_NAME = "state.cross_section";
-
-    /** Name of data item keeping the position. */
-    public static final String DATA_KM = "cross_section.km";
-
-    /** Name of data item keeping the database id of this c.s.. */
-    public static final String DATA_DBID = "cross_section.dbid";
-
-    /** Name of data item flagging whether we think that we are master. */
-    public static final String DATA_IS_MASTER = "cross_section.master?";
-
-    /** Name of data item flagging whether we are the newest. */
-    public static final String DATA_IS_NEWEST = "cross_section.newest?";
-
-    /** Name of data item storing the previous possible km. */
-    public static final String DATA_PREV_KM = "cross_section.km.previous";
-
-    /** Name of data item storing the next possible km. */
-    public static final String DATA_NEXT_KM = "cross_section.km.next";
-
-    /** Own logger. */
-    private static final Logger logger =
-        Logger.getLogger(CrossSectionArtifact.class);
-
-    static {
-        // TODO: Move to configuration.
-        FacetActivity.Registry.getInstance().register(
-            CS_ARTIFACT_NAME,
-            new FacetActivity() {
-                @Override
-                public Boolean isInitialActive(
-                    Artifact artifact,
-                    Facet    facet,
-                    String   outputName
-                ) {
-                    if (artifact instanceof FLYSArtifact) {
-                        FLYSArtifact flys = (FLYSArtifact)artifact;
-                        String data = flys.getDataAsString(DATA_IS_NEWEST);
-                        return data != null && data.equals("1");
-                    }
-                    return null;
-                }
-            });
-    }
-
-    /** Return given name. */
-    @Override
-    public String getName() {
-        return CS_ARTIFACT_NAME;
-    }
-
-
-    /** Store ids, create a CrossSectionFacet. */
-    @Override
-    public void setup(
-        String          identifier,
-        ArtifactFactory factory,
-        Object          context,
-        CallMeta        callMeta,
-        Document        data)
-    {
-        logger.info("CrossSectionArtifact.setup");
-
-        super.setup(identifier, factory, context, callMeta, data);
-
-        String ids = getDatacageIDValue(data);
-
-        if (ids != null && ids.length() > 0) {
-            addStringData(DATA_DBID, ids);
-            logger.debug("CrossSectionArtifacts db-id: " + ids);
-        }
-        else {
-            throw new IllegalArgumentException("No attribute 'ids' found!");
-        }
-
-        List<Facet> fs = new ArrayList<Facet>();
-        CrossSection cs = CrossSectionFactory.getCrossSection(
-            Integer.parseInt(ids));
-
-        List<CrossSectionLine> csls = cs.getLines();
-        if (!csls.isEmpty()) {
-            CrossSectionLine csl = csls.get(0);
-            // Find min-km of cross sections,
-            // then set DATA_KM to min(DATA_KM, minCross).
-            double dataKm = Double.valueOf(getDataAsString(DATA_KM));
-            if (dataKm < csl.getKm().doubleValue()) {
-                addStringData(DATA_KM, csl.getKm().toString());
-            }
-        }
-        fs.add(new CrossSectionFacet(0, cs.getDescription()));
-
-        // Find out if we are newest and become master if so.
-        boolean isNewest = CrossSectionFactory.isNewest(cs);
-        String newString = (isNewest) ? "1" : "0";
-        addStringData(DATA_IS_NEWEST, newString);
-        addStringData(DATA_IS_MASTER, newString);
-
-        StaticState state = (StaticState) getCurrentState(context);
-
-        if (!fs.isEmpty()) {
-            addFacets(getCurrentStateId(), fs);
-        }
-    }
-
-
-    /** Copy km where master-artifact "starts". */
-    @Override
-    protected void initialize(
-        Artifact artifact,
-        Object   context,
-        CallMeta callMeta)
-    {
-        FLYSArtifact flys = (FLYSArtifact) artifact;
-
-        RangeAccess rangeAccess = new RangeAccess(flys, null);
-        double[] range = rangeAccess.getKmRange();
-        double min = 0.0f;
-        if (range != null && range.length > 0) {
-            min = range[0];
-        }
-        this.addStringData(DATA_KM, Double.toString(min));
-    }
-
-
-    /** Returns next possible km for a cross-section. */
-    public Double getNextKm() {
-        return getDataAsDouble(DATA_NEXT_KM);
-    }
-
-
-    /** Returns previous possible km for a cross-section. */
-    public Double getPrevKm() {
-        return getDataAsDouble(DATA_PREV_KM);
-    }
-
-
-    /**
-     * Create and return a new StaticState with charting output.
-     */
-    @Override
-    public State getCurrentState(Object cc) {
-        final List<Facet> fs = getFacets(getCurrentStateId());
-
-        StaticState state = new StaticState(STATIC_STATE_NAME) {
-            @Override
-            public Object staticCompute(List<Facet> facets) {
-                if (facets != null) {
-                    facets.addAll(fs);
-                }
-                return null;
-            }
-        };
-
-        state.addDefaultChartOutput("cross_section", fs);
-
-        return state;
-    }
-
-
-    /**
-     * Get a list containing the one and only State.
-     * @param  context ignored.
-     * @return list with one and only state.
-     */
-    @Override
-    protected List<State> getStates(Object context) {
-        ArrayList<State> states = new ArrayList<State>();
-        states.add(getCurrentState(context));
-
-        return states;
-    }
-
-    // TODO all data access needs proper caching.
-
-    /**
-     * Get a DataItem casted to int (0 if fails).
-     */
-    public int getDataAsIntNull(String dataName) {
-        String val = getDataAsString(dataName);
-        try {
-            return Integer.parseInt(val);
-        }
-        catch (NumberFormatException e) {
-            logger.warn("Could not get data " + dataName + " as int", e);
-            return 0;
-        }
-    }
-
-
-    /** Returns database-id of cross-section (from data). */
-    protected int getDBID() {
-        return getDataAsIntNull(DATA_DBID);
-    }
-
-
-    /**
-     * Return position (km) from data, 0 if not found.
-     */
-    protected double getKm() {
-        String val = getDataAsString(DATA_KM);
-        try {
-            return Double.valueOf(val);
-        }
-        catch (NumberFormatException e) {
-            logger.warn("Could not get data " + DATA_KM + " as double", e);
-            return 0;
-        }
-    }
-
-
-    /** Returns true if artifact is set to be a "master" (other facets will
-     * refer to this). */
-    public boolean isMaster() {
-        return !getDataAsString(DATA_IS_MASTER).equals("0");
-    }
-
-
-    /**
-     * Get points of Profile of cross section at given kilometer.
-     *
-     * @return an array holding coordinates of points of profile (
-     *         in the form {{x1, x2} {y1, y2}} ).
-     */
-    public double [][] getCrossSectionData() {
-        logger.info("getCrossSectionData() for cross_section.km "
-            + getDataAsString(DATA_KM));
-        FastCrossSectionLine line = searchCrossSectionLine();
-
-        return line != null
-               ? line.fetchCrossSectionProfile()
-               : null;
-    }
-
-
-    /**
-     * Get CrossSectionLine spatially closest to what is specified in the data
-     * "cross_section.km", null if considered too far.
-     *
-     * It also adds DataItems to store the next and previous (numerically)
-     * values at which cross-section data was recorded.
-     *
-     * @return CrossSectionLine closest to "cross_section.km", might be null
-     *         if considered too far.
-     */
-    public FastCrossSectionLine searchCrossSectionLine() {
-        double TOO_FAR = 1d;
-        CrossSection crossSection = CrossSectionFactory
-            .getCrossSection(getDBID());
-
-        if (logger.isDebugEnabled()) {
-            logger.debug("dbid " + getDBID() + " : " + crossSection);
-        }
-
-        NavigableMap<Double, Integer> kms = CrossSectionKMService
-            .getKms(crossSection.getId());
-
-        Double wishKM = getKm();
-
-        Double floor = kms.floorKey(wishKM);
-        Double ceil  = kms.ceilingKey(wishKM);
-
-        Double nextKm;
-        Double prevKm;
-
-        double floorD = floor != null
-            ? Math.abs(floor - wishKM)
-            : Double.MAX_VALUE;
-
-        double ceilD = ceil != null
-            ? Math.abs(ceil - wishKM)
-            : Double.MAX_VALUE;
-
-        double km;
-        if (floorD < ceilD) {
-            km = floor;
-        }
-        else {
-            km = ceil;
-        }
-
-        // If we are too far from the wished km, return null.
-        if (Math.abs(km - wishKM) > TOO_FAR) {
-            return null;
-        }
-
-        // Store next and previous km.
-        nextKm = kms.higherKey(km);
-        prevKm = kms.lowerKey(km);
-
-        if (prevKm == null) {
-            prevKm = -1d;
-        }
-        if (nextKm == null) {
-            nextKm = -1d;
-        }
-
-        addStringData(DATA_PREV_KM, prevKm.toString());
-        addStringData(DATA_NEXT_KM, nextKm.toString());
-
-        return FastCrossSectionLineFactory
-            .getCrossSectionLine(crossSection, km);
-    }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/ExternalWMSArtifact.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-
-import org.w3c.dom.Document;
-
-import de.intevation.artifacts.Artifact;
-import de.intevation.artifacts.ArtifactFactory;
-import de.intevation.artifacts.CallMeta;
-
-import de.intevation.artifactdatabase.state.DefaultOutput;
-import de.intevation.artifactdatabase.state.Facet;
-import de.intevation.artifactdatabase.state.State;
-
-import de.intevation.flys.artifacts.states.WMSBackgroundState;
-
-
-public class ExternalWMSArtifact extends StaticFLYSArtifact {
-
-    public static final String NAME = "external_wms";
-
-    private static final Logger logger =
-        Logger.getLogger(ExternalWMSArtifact.class);
-
-
-    @Override
-    public String getName() {
-        return NAME;
-    }
-
-
-    @Override
-    public void setup(
-        String          identifier,
-        ArtifactFactory factory,
-        Object          context,
-        CallMeta        callMeta,
-        Document        data)
-    {
-        logger.info("ExternalWMSArtifact.setup");
-
-        super.setup(identifier, factory, context, callMeta, data);
-
-        String ids = getDatacageIDValue(data);
-
-        if (ids != null && ids.length() > 0) {
-            addStringData("ids", ids);
-        }
-        else {
-            throw new IllegalArgumentException("No attribute 'ids' found!");
-        }
-
-        List<Facet> fs = new ArrayList<Facet>();
-
-        WMSBackgroundState s = (WMSBackgroundState) getCurrentState(context);
-        s.computeInit(this, hash(), context, callMeta, fs);
-
-        if (!fs.isEmpty()) {
-            addFacets(getCurrentStateId(), fs);
-        }
-    }
-
-
-    @Override
-    protected void initialize(
-        Artifact artifact,
-        Object   context,
-        CallMeta callMeta)
-    {
-        // do nothing
-    }
-
-
-    @Override
-    public State getCurrentState(Object cc) {
-        State s = new ExternalWMSState(this);
-
-        List<Facet> fs = getFacets(getCurrentStateId());
-
-        DefaultOutput o = new DefaultOutput(
-            "floodmap",
-            "floodmap",
-            "image/png",
-            fs,
-            "map");
-
-        s.getOutputs().add(o);
-
-        return s;
-    }
-
-
-    /**
-     * Get a list containing the one and only State.
-     * @param  context ignored.
-     * @return list with one and only state.
-     */
-    @Override
-    protected List<State> getStates(Object context) {
-        ArrayList<State> states = new ArrayList<State>();
-        states.add(getCurrentState(context));
-
-        return states;
-    }
-
-
-    public static class ExternalWMSState extends WMSBackgroundState {
-
-        protected ExternalWMSArtifact artifact;
-
-        protected String ids;
-
-
-        public ExternalWMSState(ExternalWMSArtifact artifact) {
-            super();
-            this.artifact = artifact;
-        }
-
-        protected String getIds() {
-            if (ids == null || ids.length() == 0) {
-                ids = artifact.getDataAsString("ids");
-            }
-
-            return ids;
-        }
-
-        @Override
-        protected String getFacetType() {
-            return FLOODMAP_EXTERNAL_WMS;
-        }
-
-        @Override
-        protected String getSrid() {
-            return "";
-        }
-
-        @Override
-        protected String getUrl() {
-            String   ids   = getIds();
-            String[] parts = ids.split(";");
-
-            return parts[0];
-        }
-
-        @Override
-        protected String getLayer() {
-            String   ids   = getIds();
-            String[] parts = ids.split(";");
-
-            return parts[1];
-        }
-
-        @Override
-        protected String getTitle(CallMeta meta) {
-            String   ids   = getIds();
-            String[] parts = ids.split(";");
-
-            return parts[2];
-        }
-    } // end of class ExternalWMSState
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1564 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-
-import javax.xml.xpath.XPathConstants;
-
-import net.sf.ehcache.Cache;
-
-import org.apache.log4j.Logger;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import de.intevation.artifactdatabase.ArtifactDatabaseImpl;
-import de.intevation.artifactdatabase.DefaultArtifact;
-import de.intevation.artifactdatabase.ProtocolUtils;
-import de.intevation.artifactdatabase.data.DefaultStateData;
-import de.intevation.artifactdatabase.data.StateData;
-import de.intevation.artifactdatabase.state.DefaultFacet;
-import de.intevation.artifactdatabase.state.DefaultOutput;
-import de.intevation.artifactdatabase.state.Facet;
-import de.intevation.artifactdatabase.state.Output;
-import de.intevation.artifactdatabase.state.State;
-import de.intevation.artifactdatabase.state.StateEngine;
-import de.intevation.artifactdatabase.transition.TransitionEngine;
-import de.intevation.artifacts.Artifact;
-import de.intevation.artifacts.ArtifactDatabase;
-import de.intevation.artifacts.ArtifactDatabaseException;
-import de.intevation.artifacts.ArtifactFactory;
-import de.intevation.artifacts.CallContext;
-import de.intevation.artifacts.CallMeta;
-import de.intevation.artifacts.Message;
-import de.intevation.artifacts.common.ArtifactNamespaceContext;
-import de.intevation.artifacts.common.utils.XMLUtils;
-import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;
-import de.intevation.flys.artifacts.cache.CacheFactory;
-import de.intevation.flys.artifacts.context.FLYSContext;
-import de.intevation.flys.artifacts.model.CalculationMessage;
-import de.intevation.flys.artifacts.states.DefaultState;
-import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
-import de.intevation.flys.utils.FLYSUtils;
-
-/**
- * The default FLYS artifact with convenience added.
- * (Subclass to get fully functional artifacts).
- *
- * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
- */
-public abstract class FLYSArtifact extends DefaultArtifact {
-
-    /** The logger that is used in this artifact. */
-    private static Logger log = Logger.getLogger(FLYSArtifact.class);
-
-    public static final String COMPUTING_CACHE = "computed.values";
-
-    /** The XPath that points to the input data elements of the FEED document. */
-    public static final String XPATH_FEED_INPUT =
-        "/art:action/art:data/art:input";
-
-    /** The XPath that points to the name of the target state of ADVANCE. */
-    public static final String XPATH_ADVANCE_TARGET =
-        "/art:action/art:target/@art:name";
-
-    public static final String XPATH_MODEL_ARTIFACT =
-        "/art:action/art:template/@uuid";
-
-    public static final String XPATH_FILTER =
-        "/art:action/art:filter/art:out";
-
-    /** The constant string that shows that an operation was successful. */
-    public static final String OPERATION_SUCCESSFUL = "SUCCESS";
-
-    /** The constant string that shows that an operation failed. */
-    public static final String OPERATION_FAILED = "FAILURE";
-
-    /** The identifier of the current state. */
-    protected String currentStateId;
-
-    /** The identifiers of previous states on a stack. */
-    protected List<String> previousStateIds;
-
-    /** The name of the artifact. */
-    protected String name;
-
-    /** The data that have been inserted into this artifact. */
-    private Map<String, StateData> data;
-
-    /** Mapping of state names to created facets. */
-    private Map<String, List<Facet>> facets;
-
-    /**
-     * Used to generates "view" on the facets (hides facets not matching the
-     * filter in output of collection);  out -&gt; facets.
-     */
-    protected Map<String, List<Facet>> filterFacets;
-
-
-    /**
-     * The default constructor that creates an empty FLYSArtifact.
-     */
-    public FLYSArtifact() {
-        data             = new TreeMap<String, StateData>();
-        previousStateIds = new ArrayList<String>();
-        facets           = new HashMap<String, List<Facet>>();
-    }
-
-
-    /**
-     * This method appends the static data - that has already been inserted by
-     * the user - to the static node of the DESCRIBE document.
-     *
-     * @param doc The document.
-     * @param ui The root node.
-     * @param context The CallContext.
-     * @param uuid The identifier of the artifact.
-     */
-    protected void appendStaticUI(
-        Document    doc,
-        Node        ui,
-        CallContext context,
-        String uuid)
-    {
-        List<String> stateIds = getPreviousStateIds();
-
-        FLYSContext flysContext = FLYSUtils.getFlysContext(context);
-        StateEngine engine      = (StateEngine) flysContext.get(
-            FLYSContext.STATE_ENGINE_KEY);
-
-        boolean debug = log.isDebugEnabled();
-
-        for (String stateId: stateIds) {
-            if (debug) {
-                log.debug("Append static data for state: " + stateId);
-            }
-            DefaultState state = (DefaultState) engine.getState(stateId);
-
-            ui.appendChild(state.describeStatic(this, doc, ui, context, uuid));
-        }
-    }
-
-
-    /**
-     * Returns the name of the concrete artifact.
-     *
-     * @return the name of the concrete artifact.
-     */
-    public String getName() {
-        return name;
-    }
-
-
-    /**
-     * Initialize the artifact and insert new data if <code>data</code> contains
-     * information necessary for this artifact.
-     *
-     * @param identifier The UUID.
-     * @param factory The factory that is used to create this artifact.
-     * @param context The CallContext.
-     * @param data Some optional data.
-     */
-    @Override
-    public void setup(
-        String          identifier,
-        ArtifactFactory factory,
-        Object          context,
-        CallMeta        callMeta,
-        Document        data)
-    {
-        boolean debug = log.isDebugEnabled();
-
-        if (debug) {
-            log.debug("Setup this artifact with the uuid: " + identifier);
-        }
-
-        super.setup(identifier, factory, context, callMeta, data);
-
-        FLYSContext flysContext = FLYSUtils.getFlysContext(context);
-
-        List<State> states = getStates(context);
-
-        String name = getName();
-
-        if (debug) {
-            log.debug("setup(): Set initial state for artifact '" + name + "'");
-        }
-
-        if (states == null) {
-            log.error("No states found from which an initial "
-                + "state could be picked.");
-        }
-        setCurrentState(states.get(0));
-
-        String model = XMLUtils.xpathString(
-            data,
-            XPATH_MODEL_ARTIFACT,
-            ArtifactNamespaceContext.INSTANCE);
-
-        if (model != null && model.length() > 0) {
-            ArtifactDatabase db = (ArtifactDatabase) flysContext.get(
-                ArtifactDatabaseImpl.GLOBAL_CONTEXT_KEY);
-
-            try {
-                initialize(db.getRawArtifact(model), context, callMeta);
-            }
-            catch (ArtifactDatabaseException adbe) {
-                log.error(adbe, adbe);
-            }
-        }
-
-        filterFacets = buildFilterFacets(data);
-    }
-
-
-    /** Get copy of previous state ids as Strings in list. */
-    protected List<String> clonePreviousStateIds() {
-        return new ArrayList<String>(previousStateIds);
-    }
-
-
-    /**
-     * Copies data item from other artifact to this artifact.
-     *
-     * @param other Artifact from which to get data.
-     * @param name  Name of data.
-     */
-    protected void importData(FLYSArtifact other, final String name) {
-        if (other == null) {
-            log.error("No other art. to import data " + name + " from.");
-            return;
-        }
-
-        StateData sd = other.getData(name);
-
-        if (sd == null) {
-            log.warn("Other artifact has no data " + name + ".");
-            return;
-        }
-
-        this.addData(name, sd);
-    }
-
-
-    /** Clone the internal map of map of state-name to state-data. */
-    protected Map<String, StateData> cloneData() {
-        Map<String, StateData> copy = new TreeMap<String, StateData>();
-
-        for (Map.Entry<String, StateData> entry: data.entrySet()) {
-            copy.put(entry.getKey(), entry.getValue().deepCopy());
-        }
-
-        return copy;
-    }
-
-
-    /**
-     * Return a copy of the facet mapping.
-     * @return Mapping of state-ids to facets.
-     */
-    protected Map<String, List<Facet>> cloneFacets() {
-        Map<String, List<Facet>> copy = new HashMap<String, List<Facet>>();
-
-        for (Map.Entry<String, List<Facet>> entry: facets.entrySet()) {
-            List<Facet> facets      = entry.getValue();
-            List<Facet> facetCopies = new ArrayList<Facet>(facets.size());
-            for (Facet facet: facets) {
-                facetCopies.add(facet.deepCopy());
-            }
-            copy.put(entry.getKey(), facetCopies);
-        }
-
-        return copy;
-    }
-
-
-    /**
-     * (called from setup).
-     * @param artifact master-artifact (if any, otherwise initialize is not called).
-     */
-    protected void initialize(
-        Artifact artifact,
-        Object   context,
-        CallMeta callMeta)
-    {
-        if (!(artifact instanceof FLYSArtifact)) {
-            return;
-        }
-
-        FLYSArtifact flys = (FLYSArtifact)artifact;
-
-        currentStateId   = flys.currentStateId;
-        previousStateIds = flys.clonePreviousStateIds();
-        name             = flys.name;
-        data             = flys.cloneData();
-        facets           = flys.cloneFacets();
-        // Do not clone filter facets!
-
-        ArrayList<String> stateIds     = (ArrayList<String>) getPreviousStateIds();
-        ArrayList<String> toInitialize = (ArrayList<String>) stateIds.clone();
-
-        toInitialize.add(getCurrentStateId());
-
-        for (String stateId: toInitialize) {
-            State state = getState(context, stateId);
-
-            if (state != null) {
-                state.initialize(artifact, this, context, callMeta);
-            }
-        }
-    }
-
-
-    /**
-     * Builds filter facets from document.
-     * @see filterFacets
-     */
-    protected Map<String, List<Facet>> buildFilterFacets(Document document) {
-        if (log.isDebugEnabled()) {
-            log.debug("Building filter factes for artifact " + this.getName());
-        }
-
-        NodeList nodes = (NodeList)XMLUtils.xpath(
-            document,
-            XPATH_FILTER,
-            XPathConstants.NODESET,
-            ArtifactNamespaceContext.INSTANCE);
-
-        if (nodes == null || nodes.getLength() == 0) {
-            return null;
-        }
-
-        Map<String, List<Facet>> result = new HashMap<String, List<Facet>>();
-
-        for (int i = 0, N = nodes.getLength(); i < N; ++i) {
-            Element element = (Element)nodes.item(i);
-            String oName = element.getAttribute("name");
-            if (oName == null || oName.isEmpty()) {
-                continue;
-            }
-
-            List<Facet> facets = new ArrayList<Facet>();
-
-            NodeList facetNodes = element.getElementsByTagNameNS(
-                ArtifactNamespaceContext.NAMESPACE_URI,
-                "facet");
-
-            for (int j = 0, M = facetNodes.getLength(); j < M; ++j) {
-                Element facetElement = (Element)facetNodes.item(j);
-
-                String fName = facetElement.getAttribute("name");
-
-                int index;
-                try {
-                    index = Integer.parseInt(facetElement.getAttribute("index"));
-                }
-                catch (NumberFormatException nfe) {
-                    log.warn(nfe);
-                    index = 0;
-                }
-                if (log.isDebugEnabled()) {
-                    log.debug("Creating filter facet " + fName + " with  index " + index +
-                            " for out " + oName);
-                }
-                facets.add(new DefaultFacet(index, fName, ""));
-            }
-
-            if (!facets.isEmpty()) {
-                result.put(oName, facets);
-            }
-        }
-
-        return result;
-    }
-
-
-    /**
-     * Insert new data included in <code>input</code> into the current state.
-     *
-     * @param target XML document that contains new data.
-     * @param context The CallContext.
-     *
-     * @return a document that contains a SUCCESS or FAILURE message.
-     */
-    @Override
-    public Document feed(Document target, CallContext context) {
-        log.debug("FLYSArtifact.feed()");
-
-        Document doc = XMLUtils.newDocument();
-
-        XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
-            doc,
-            ArtifactNamespaceContext.NAMESPACE_URI,
-            ArtifactNamespaceContext.NAMESPACE_PREFIX);
-
-        Element result = creator.create("result");
-        doc.appendChild(result);
-
-        try {
-            saveData(target, context);
-
-            compute(context, ComputeType.FEED, true);
-
-            return describe(target, context);
-        }
-        catch (IllegalArgumentException iae) {
-            // do not store state if validation fails.
-            context.afterCall(CallContext.NOTHING);
-            creator.addAttr(result, "type", OPERATION_FAILED, true);
-
-            result.setTextContent(iae.getMessage());
-        }
-
-        return doc;
-    }
-
-
-    /**
-     * This method returns a description of this artifact.
-     *
-     * @param data Some data.
-     * @param context The CallContext.
-     *
-     * @return the description of this artifact.
-     */
-    @Override
-    public Document describe(Document data, CallContext context) {
-
-        if (log.isDebugEnabled()) {
-            log.debug(
-                "Describe: the current state is: " + getCurrentStateId());
-            dumpArtifact();
-        }
-
-        FLYSContext flysContext = FLYSUtils.getFlysContext(context);
-
-        StateEngine stateEngine = (StateEngine) flysContext.get(
-            FLYSContext.STATE_ENGINE_KEY);
-
-        TransitionEngine transitionEngine = (TransitionEngine) flysContext.get(
-            FLYSContext.TRANSITION_ENGINE_KEY);
-
-        List<State> reachable = transitionEngine.getReachableStates(
-            this, getCurrentState(context), stateEngine);
-
-        Document description            = XMLUtils.newDocument();
-        XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator(
-            description,
-            ArtifactNamespaceContext.NAMESPACE_URI,
-            ArtifactNamespaceContext.NAMESPACE_PREFIX);
-
-        Element root = ProtocolUtils.createRootNode(creator);
-        description.appendChild(root);
-
-        State current = getCurrentState(context);
-
-        ProtocolUtils.appendDescribeHeader(creator, root, identifier(), hash());
-        ProtocolUtils.appendState(creator, root, current);
-        ProtocolUtils.appendReachableStates(creator, root, reachable);
-
-        appendBackgroundActivity(creator, root, context);
-
-        Element ui = ProtocolUtils.createArtNode(
-            creator, "ui", null, null);
-
-        Element staticUI  = ProtocolUtils.createArtNode(
-            creator, "static", null, null);
-
-        Element outs = ProtocolUtils.createArtNode(
-            creator, "outputmodes", null, null);
-        appendOutputModes(description, outs, context, identifier());
-
-        appendStaticUI(description, staticUI, context, identifier());
-
-        Element name = ProtocolUtils.createArtNode(
-            creator, "name",
-            new String[] { "value" },
-            new String[] { getName() });
-
-        Element dynamic = current.describe(
-            this,
-            description,
-            root,
-            context,
-            identifier());
-
-        if (dynamic != null) {
-            ui.appendChild(dynamic);
-        }
-
-        ui.appendChild(staticUI);
-
-        root.appendChild(name);
-        root.appendChild(ui);
-        root.appendChild(outs);
-
-        return description;
-    }
-
-    /** Override me! */
-
-    protected void appendBackgroundActivity(
-        ElementCreator cr,
-        Element        root,
-        CallContext    context
-    ) {
-        LinkedList<Message> messages = context.getBackgroundMessages();
-
-        if (messages == null) {
-            return;
-        }
-
-        Element inBackground = cr.create("background-processing");
-        root.appendChild(inBackground);
-
-        cr.addAttr(
-            inBackground,
-            "value",
-            String.valueOf(context.isInBackground()),
-            true);
-
-        CalculationMessage message = (CalculationMessage) messages.getLast();
-        cr.addAttr(
-            inBackground,
-            "steps",
-            String.valueOf(message.getSteps()),
-            true);
-
-        cr.addAttr(
-            inBackground,
-            "currentStep",
-            String.valueOf(message.getCurrentStep()),
-            true);
-
-        inBackground.setTextContent(message.getMessage());
-    }
-
-    /**
-     * Append output mode nodes to a document.
-     */
-    protected void appendOutputModes(
-        Document    doc,
-        Element     outs,
-        CallContext context,
-        String      uuid)
-    {
-        List<Output> generated = getOutputs(context);
-
-        if (log.isDebugEnabled()) {
-            log.debug("This Artifact has " + generated.size() + " Outputs.");
-        }
-
-        ProtocolUtils.appendOutputModes(doc, outs, generated);
-    }
-
-
-    /**
-     * This method handles request for changing the current state of an
-     * artifact. It is possible to step forward or backward.
-     *
-     * @param target The incoming ADVANCE document.
-     * @param context The CallContext.
-     *
-     * @return a document that contains a SUCCESS or FAILURE message.
-     */
-    @Override
-    public Document advance(Document target, CallContext context) {
-
-        boolean debug = log.isDebugEnabled();
-
-        Document doc = XMLUtils.newDocument();
-
-        XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator(
-            doc,
-            ArtifactNamespaceContext.NAMESPACE_URI,
-            ArtifactNamespaceContext.NAMESPACE_PREFIX);
-
-        Element result = ec.create("result");
-
-        String currentStateId = getCurrentStateId();
-        String targetState    = XMLUtils.xpathString(
-            target, XPATH_ADVANCE_TARGET, ArtifactNamespaceContext.INSTANCE);
-
-        if (debug) {
-            log.debug("FLYSArtifact.advance() to '" + targetState + "'");
-        }
-
-        if (!currentStateId.equals(targetState)
-            && isStateReachable(targetState, context))
-        {
-            if (debug) {
-                log.debug("Advance: Step forward");
-            }
-
-            List<String> prev = getPreviousStateIds();
-            prev.add(currentStateId);
-
-            setCurrentStateId(targetState);
-
-            if (debug) {
-                log.debug("Compute data for state: " + targetState);
-            }
-            compute(context, ComputeType.ADVANCE, true);
-
-            return describe(target, context);
-        }
-        else if (isPreviousState(targetState, context)) {
-            if (debug) {
-                log.debug("Advance: Step back to");
-            }
-
-            List<String> prevs   = getPreviousStateIds();
-            int targetIdx        = prevs.indexOf(targetState);
-            int start            = prevs.size() - 1;
-
-            destroyStates(prevs, context);
-
-            for (int i = start; i >= targetIdx; i--) {
-                String prev = prevs.get(i);
-                if (debug) {
-                    log.debug("Remove state id '" + prev + "'");
-                }
-
-                prevs.remove(prev);
-                facets.remove(prev);
-            }
-
-            destroyState(getCurrentStateId(), context);
-            setCurrentStateId(targetState);
-
-            return describe(target, context);
-        }
-
-        log.warn("Advance: Cannot advance to '" + targetState + "'");
-        ec.addAttr(result, "type", OPERATION_FAILED, true);
-
-        doc.appendChild(result);
-
-        return doc;
-    }
-
-
-    /**
-     * Returns the identifier of the current state.
-     *
-     * @return the identifier of the current state.
-     */
-    public String getCurrentStateId() {
-        return currentStateId;
-    }
-
-
-    /**
-     * Sets the identifier of the current state.
-     *
-     * @param id the identifier of a state.
-     */
-    protected void setCurrentStateId(String id) {
-        currentStateId = id;
-    }
-
-
-    /**
-     * Set the current state of this artifact. <b>NOTE</b>We don't store the
-     * State object itself - which is not necessary - but its identifier. So
-     * this method will just call the setCurrentStateId() method with the
-     * identifier of <i>state</i>.
-     *
-     * @param state The new current state.
-     */
-    protected void setCurrentState(State state) {
-        setCurrentStateId(state.getID());
-    }
-
-
-    /**
-     * Returns the current state of the artifact.
-     *
-     * @return the current State of the artifact.
-     */
-    public State getCurrentState(Object context) {
-        return getState(context, getCurrentStateId());
-    }
-
-
-    /**
-     * Get list of existant states for this Artifact.
-     * @param context Contex to get StateEngine from.
-     * @return list of states.
-     */
-    protected List<State> getStates(Object context) {
-        FLYSContext flysContext = FLYSUtils.getFlysContext(context);
-        StateEngine engine      = (StateEngine) flysContext.get(
-            FLYSContext.STATE_ENGINE_KEY);
-        return engine.getStates(getName());
-    }
-
-
-    /**
-     * Get state with given ID.
-     * @param context Context to get StateEngine from.
-     * @param stateID ID of state to get.
-     * @return state with given ID.
-     */
-    protected State getState(Object context, String stateID) {
-        FLYSContext flysContext = FLYSUtils.getFlysContext(context);
-        StateEngine engine      = (StateEngine) flysContext.get(
-            FLYSContext.STATE_ENGINE_KEY);
-        return engine.getState(stateID);
-    }
-
-
-    /**
-     * Returns the vector of previous state identifiers.
-     *
-     * @return the vector of previous state identifiers.
-     */
-    protected List<String> getPreviousStateIds() {
-        return previousStateIds;
-    }
-
-
-    /**
-     * Get all previous and the current state id.
-     * @return #getPreviousStateIds() + #getCurrentStateId()
-     */
-    public List<String> getStateHistoryIds() {
-        ArrayList<String> prevIds = (ArrayList) getPreviousStateIds();
-        ArrayList<String> allIds  = (ArrayList) prevIds.clone();
-
-        allIds.add(getCurrentStateId());
-        return allIds;
-    }
-
-
-    /**
-     * Adds a new StateData item to the data pool of this artifact.
-     *
-     * @param name the name of the data object.
-     * @param data the data object itself.
-     */
-    protected void addData(String name, StateData data) {
-        this.data.put(name, data);
-    }
-
-
-    /** Remove and return statedata associated to name. */
-    protected StateData removeData(String name) {
-        return this.data.remove(name);
-    }
-
-
-    /**
-     * This method returns a specific StateData object that is stored in the
-     * data pool of this artifact.
-     *
-     * @param name The name of the data object.
-     *
-     * @return the StateData object if existing, otherwise null.
-     */
-    public StateData getData(String name) {
-        return data.get(name);
-    }
-
-
-    /**
-     * A derived Artifact class can use this method to set the data
-     */
-    protected void setData(Map<String, StateData> data) {
-        this.data = data;
-    }
-
-
-    /** Return named data item, null if not found. */
-    public String getDataAsString(String name) {
-        StateData data = getData(name);
-        return data != null ? (String) data.getValue() : null;
-    }
-
-
-    /**
-     * This method returns the value of a StateData object stored in the data
-     * pool of this Artifact as Integer.
-     *
-     * @param name The name of the StateData object.
-     *
-     * @return an Integer representing the value of the data object or null if
-     * no object was found for <i>name</i>.
-     *
-     * @throws NumberFormatException if the value of the data object could not
-     * be transformed into an Integer.
-     */
-    public Integer getDataAsInteger(String name)
-    throws NumberFormatException
-    {
-        String value = getDataAsString(name);
-
-        if (value != null && value.length() > 0) {
-            return Integer.parseInt(value);
-        }
-
-        return null;
-    }
-
-
-    /**
-     * This method returns the value of a StateData object stored in the data
-     * pool of this Artifact as Double.
-     *
-     * @param name The name of the StateData object.
-     *
-     * @return an Double representing the value of the data object or null if
-     * no object was found for <i>name</i>.
-     *
-     * @throws NumberFormatException if the value of the data object could not
-     * be transformed into a Double.
-     */
-    public Double getDataAsDouble(String name)
-    throws NumberFormatException
-    {
-        String value = getDataAsString(name);
-
-        if (value != null && value.length() > 0) {
-            return Double.parseDouble(value);
-        }
-
-        return null;
-    }
-
-
-    /**
-     * This method returns the value of a StateData object stored in the data
-     * pool of this Artifact as Long.
-     *
-     * @param name The name of the StateData object.
-     *
-     * @return a Long representing the value of the data object or null if
-     * no object was found for <i>name</i>.
-     *
-     * @throws NumberFormatException if the value of the data object could not
-     * be transformed into a Long.
-     */
-    public Long getDataAsLong(String name)
-    throws NumberFormatException
-    {
-        String value = getDataAsString(name);
-
-        if (value != null && value.length() > 0) {
-            return Long.parseLong(value);
-        }
-
-        return null;
-    }
-
-
-    /**
-     * This method returns the value of a StateData object stored in the data
-     * pool of this Artifact is Boolean using Boolean.valueOf().
-     *
-     * @param name The name of the StateData object.
-     *
-     * @return a Boolean representing the value of the data object or null if no
-     * such object is existing.
-     */
-    public Boolean getDataAsBoolean(String name) {
-        String value = getDataAsString(name);
-
-        if (value == null || value.length() == 0) {
-            return null;
-        }
-
-        return Boolean.valueOf(value);
-    }
-
-
-    /**
-     * Add StateData containing a given string.
-     * @param name Name of the data object.
-     * @param value String to store.
-     */
-    public void addStringData(String name, String value) {
-        addData(name, new DefaultStateData(name, null, null, value));
-    }
-
-    /**
-     * This method returns all stored StateData in this artifact as a Collection
-     * @return a Collection of all StateData objects in this artifact
-     */
-    public Collection<StateData> getAllData() {
-        return data.values();
-    }
-
-
-    /** Return all produced facets. */
-    public List<Facet> getFacets() {
-        List<Facet> all = new ArrayList<Facet>();
-
-        // Iterate over facets of each state.
-        for (List<Facet> fs: facets.values()) {
-            all.addAll(fs);
-        }
-
-        return all;
-    }
-
-
-    /**
-     * Get facet as stored internally, with equalling name and index than given
-     * facet.
-     * @param facet that defines index and name of facet searched.
-     * @return facet instance or null if not found.
-     */
-    public Facet getNativeFacet(Facet facet) {
-        String name  = facet.getName();
-        int    index = facet.getIndex();
-
-        for (List<Facet> fs: facets.values()) {
-            for (Facet f: fs) {
-                if (f.getIndex() == index && f.getName().equals(name)) {
-                    return f;
-                }
-            }
-        }
-
-        log.warn("Could not find facet: " + name + " at " + index);
-        log.warn("Available facets for : " + getName() + " " + identifier() +
-                ": " + facets.values());
-        return null;
-    }
-
-
-    /**
-     * This method stores the data that is contained in the FEED document.
-     *
-     * @param feed The FEED document.
-     * @param xpath The XPath that points to the data nodes.
-     */
-    public void saveData(Document feed, CallContext context)
-    throws IllegalArgumentException
-    {
-        if (feed == null) {
-            throw new IllegalArgumentException("error_feed_no_data");
-        }
-
-        NodeList nodes = (NodeList) XMLUtils.xpath(
-            feed,
-            XPATH_FEED_INPUT,
-            XPathConstants.NODESET,
-            ArtifactNamespaceContext.INSTANCE);
-
-        if (nodes == null || nodes.getLength() == 0) {
-            throw new IllegalArgumentException("error_feed_no_data");
-        }
-
-        boolean debug = log.isDebugEnabled();
-
-        int count = nodes.getLength();
-
-        if (debug) {
-            log.debug("Try to save " + count + " data items.");
-        }
-
-        String uri = ArtifactNamespaceContext.NAMESPACE_URI;
-
-        DefaultState current = (DefaultState) getCurrentState(context);
-
-        FLYSContext flysContext = FLYSUtils.getFlysContext(context);
-        StateEngine engine      = (StateEngine) flysContext.get(
-            FLYSContext.STATE_ENGINE_KEY);
-
-        for (int i = 0; i < count; i++) {
-            Element node = (Element)nodes.item(i);
-
-            String name  = node.getAttributeNS(uri, "name");
-            String value = node.getAttributeNS(uri, "value");
-
-            if (name.length() > 0 && value.length() > 0) {
-                if (debug) {
-                    log.debug("Save data item for '" + name + "' : " + value);
-                }
-
-                StateData model = engine.getStateData(getName(), name);
-
-                StateData sd = model != null
-                    ? model.deepCopy()
-                    : new DefaultStateData(name, null, null, value);
-
-                addData(
-                    name, current.transform(this, context, sd, name, value));
-            }
-            else if (name.length() > 0 && value.length() == 0) {
-                if (removeData(name) != null && debug) {
-                    log.debug("Removed data '" + name + "' successfully.");
-                }
-            }
-        }
-
-        current.validate(this);
-    }
-
-
-    /**
-     * Determines if the state with the identifier <i>stateId</i> is reachable
-     * from the current state. The determination itself takes place in the
-     * TransitionEngine.
-     *
-     * @param stateId The identifier of a state.
-     * @param context The context object.
-     *
-     * @return true, if the state specified by <i>stateId</i> is reacahble,
-     * otherwise false.
-     */
-    protected boolean isStateReachable(String stateId, Object context) {
-
-        if (log.isDebugEnabled()) {
-            log.debug("Determine if the state '" + stateId + "' is reachable.");
-        }
-
-        FLYSContext flysContext = FLYSUtils.getFlysContext(context);
-
-        State currentState  = getCurrentState(context);
-        StateEngine sEngine = (StateEngine) flysContext.get(
-            FLYSContext.STATE_ENGINE_KEY);
-
-        TransitionEngine tEngine = (TransitionEngine) flysContext.get(
-            FLYSContext.TRANSITION_ENGINE_KEY);
-
-        return tEngine.isStateReachable(this, stateId, currentState, sEngine);
-    }
-
-
-    /**
-     * Determines if the state with the identifier <i>stateId</i> is a previous
-     * state of the current state.
-     *
-     * @param stateId The target state identifier.
-     * @param context The context object.
-     */
-    protected boolean isPreviousState(String stateId, Object context) {
-        if (log.isDebugEnabled()) {
-            log.debug("Determine if the state '" + stateId + "' is old.");
-        }
-
-        return getPreviousStateIds().contains(stateId);
-    }
-
-
-    /**
-     * Computes the hash code of the entered values.
-     *
-     * @return a hash code.
-     */
-    @Override
-    public String hash() {
-
-        long hash  = 0L;
-        int  shift = 3;
-
-        for (Map.Entry<String, StateData> entry: data.entrySet()) {
-            String key   = entry.getKey();
-            Object value = entry.getValue().getValue();
-
-            hash ^= ((long)key.hashCode() << shift)
-                 |  ((long)value.hashCode() << (shift + 3));
-            shift += 2;
-        }
-
-        return getCurrentStateId() + hash;
-    }
-
-
-    /**
-     * Return List of outputs, where combinations of outputname and filtername
-     * that match content in filterFacets is left out.
-     * @return filtered Outputlist.
-     */
-    protected List<Output> filterOutputs(List<Output> outs) {
-        if (filterFacets == null || filterFacets.isEmpty()) {
-            log.debug("No filter for Outputs.");
-            return outs;
-        }
-
-        boolean debug = log.isDebugEnabled();
-
-        if (debug) {
-            log.debug(
-                "Filter Facets with " + filterFacets.size() + " filters.");
-        }
-
-        List<Output> filtered = new ArrayList<Output>();
-
-        for (Output out: outs) {
-            String outName = out.getName();
-
-            if (debug) {
-                log.debug("  filter Facets for Output: " + outName);
-            }
-
-            List<Facet> fFacets = filterFacets.get(outName);
-            if (fFacets != null) {
-                if (debug) {
-                    log.debug("" + fFacets.size() + " filters for: " + outName);
-                    for (Facet tmp: fFacets) {
-                        log.debug("   filter = '" + tmp.getName() + "'");
-                    }
-                }
-
-                List<Facet> resultFacets = new ArrayList<Facet>();
-
-                for (Facet facet: out.getFacets()) {
-                    for (Facet fFacet: fFacets) {
-                        if (facet.getIndex() == fFacet.getIndex()
-                        &&  facet.getName().equals(fFacet.getName())) {
-                            resultFacets.add(facet);
-                            break;
-                        }
-                    }
-                }
-
-                if (debug) {
-                    log.debug(
-                        "Facets after filtering = " + resultFacets.size());
-                }
-
-                if (!resultFacets.isEmpty()) {
-                    DefaultOutput nout = new DefaultOutput(
-                        out.getName(),
-                        out.getDescription(),
-                        out.getMimeType(),
-                        resultFacets);
-                    filtered.add(nout);
-                }
-            }
-            else if (debug) {
-                log.debug("No filter Factes for Output: " + outName);
-            }
-        }
-
-        if (debug) {
-            log.debug("Number of outs after filtering = " + filtered.size());
-        }
-
-        return filtered;
-    }
-
-
-    /**
-     * Get all outputs that the Artifact can do in this state (which includes
-     * all previous states).
-     *
-     * @return list of outputs
-     */
-    public List<Output> getOutputs(Object context) {
-        if (log.isDebugEnabled()) {
-            log.debug("##### Get Outputs for: " + identifier() + " #####");
-            dumpArtifact();
-        }
-
-        List<String> stateIds  = getPreviousStateIds();
-        List<Output> generated = new ArrayList<Output>();
-
-        for (String stateId: stateIds) {
-            DefaultState state = (DefaultState) getState(context, stateId);
-            generated.addAll(getOutputForState(state));
-        }
-
-        generated.addAll(getCurrentOutputs(context));
-
-        return filterOutputs(generated);
-    }
-
-
-    /**
-     * Get output(s) for current state.
-     * @return list of outputs for current state.
-     */
-    public List<Output> getCurrentOutputs(Object context) {
-        DefaultState cur = (DefaultState) getCurrentState(context);
-
-        try {
-            if (cur.validate(this)) {
-                return getOutputForState(cur);
-            }
-        }
-        catch (IllegalArgumentException iae) { }
-
-        return new ArrayList<Output>();
-    }
-
-
-    /**
-     * Get output(s) for a specific state.
-     * @param state State of interest
-     * @return list of output(s) for given state.
-     */
-    protected List<Output> getOutputForState(DefaultState state) {
-
-        if (state == null) {
-            log.error("state == null: This should not happen!");
-            return new ArrayList<Output>();
-        }
-
-        boolean debug = log.isDebugEnabled();
-
-        if (debug) {
-            log.debug("Find Outputs for State: " + state.getID());
-        }
-
-        List<Output> list = state.getOutputs();
-        if (list == null || list.isEmpty()) {
-            if (debug) {
-                log.debug("-> No output modes for this state.");
-            }
-            return new ArrayList<Output>();
-        }
-
-        String stateId = state.getID();
-
-        List<Facet> fs = getFacets(stateId);
-
-        if (fs == null || fs.isEmpty()) {
-            if (debug) {
-                log.debug("No facets found.");
-            }
-            return new ArrayList<Output>();
-        }
-        if (debug) {
-            log.debug("State '" + stateId + "' has facets " + fs);
-        }
-
-        List<Output> gen = generateOutputs(list, fs);
-
-        if (debug) {
-            log.debug("State '" + stateId + "' has " + gen.size() + " outs");
-        }
-
-        return gen;
-    }
-
-
-    /**
-     * Generate a list of outputs with facets from fs if type is found in list
-     * of output.
-     *
-     * @param list List of outputs
-     * @param fs List of facets
-     */
-    protected List<Output> generateOutputs(List<Output> list, List<Facet> fs) {
-        List<Output> generated = new ArrayList<Output>();
-        log.debug("generateOutputs for Artifact " + getName() + " "
-                + identifier());
-
-        boolean debug = log.isDebugEnabled();
-
-        for (Output out: list) {
-            log.debug("check facets for output: " + out.getName());
-            Output o = new DefaultOutput(
-                out.getName(),
-                out.getDescription(),
-                out.getMimeType(),
-                out.getType());
-
-            Set<String> outTypes = new HashSet<String>();
-
-            for (Facet f: out.getFacets()) {
-                if (outTypes.add(f.getName()) && debug) {
-                    log.debug("configured facet " + f);
-                }
-            }
-
-            boolean facetAdded = false;
-            for (Facet f: fs) {
-                String type = f.getName();
-
-                if (outTypes.contains(type)) {
-                    if (debug) {
-                        log.debug("Add facet " + f);
-                    }
-                    facetAdded = true;
-                    o.addFacet(f);
-                }
-            }
-
-            if (facetAdded) {
-                generated.add(o);
-            }
-        }
-
-        return generated;
-    }
-
-
-    /**
-     * Dispatches the computation request to compute(CallContext context, String
-     * hash) with the current hash value of the artifact which is provided by
-     * hash().
-     *
-     * @param context The CallContext.
-     */
-    public Object compute(
-        CallContext context,
-        ComputeType type,
-        boolean     generateFacets
-    ) {
-        return compute(context, hash(), type, generateFacets);
-    }
-
-
-    /**
-     * Dispatches computation requests to the current state which needs to
-     * implement a createComputeCallback(String hash, FLYSArtifact artifact)
-     * method.
-     *
-     * @param context The CallContext.
-     * @param hash The hash value which is used to fetch computed data from
-     * cache.
-     *
-     * @return the computed data.
-     */
-    public Object compute(
-        CallContext context,
-        String      hash,
-        ComputeType type,
-        boolean     generateFacets
-    ) {
-        DefaultState current = (DefaultState) getCurrentState(context);
-        return compute(context, hash, current, type, generateFacets);
-    }
-
-
-    /**
-     * Like compute, but identify State by it id (string).
-     */
-    public Object compute(
-        CallContext context,
-        String      hash,
-        String      stateID,
-        ComputeType type,
-        boolean     generateFacets
-    ) {
-        DefaultState current =
-            (stateID == null)
-            ? (DefaultState)getCurrentState(context)
-            : (DefaultState)getState(context, stateID);
-
-        if (hash == null) {
-            hash = hash();
-        }
-
-        return compute(context, hash, current, type, generateFacets);
-    }
-
-
-    /**
-     * Let current state compute and register facets.
-     *
-     * @param key key of state
-     * @param state state
-     * @param type Type of compute
-     * @param generateFacets Whether new facets shall be generated.
-     */
-    public Object compute(
-        CallContext   context,
-        String        key,
-        DefaultState  state,
-        ComputeType   type,
-        boolean       generateFacets
-    ) {
-        String stateID = state.getID();
-
-        List<Facet> fs = (generateFacets) ? new ArrayList<Facet>() : null;
-
-        try {
-            Cache cache = CacheFactory.getCache(COMPUTING_CACHE);
-
-            Object old = null;
-
-            if (cache != null) {
-                net.sf.ehcache.Element element = cache.get(key);
-                if (element != null) {
-                    log.debug("Got computation result from cache.");
-                    old = element.getValue();
-                }
-            }
-            else {
-                log.debug("cache not configured.");
-            }
-
-            Object res;
-            switch (type) {
-                case FEED:
-                    res = state.computeFeed(this, key, context, fs, old);
-                    break;
-                case ADVANCE:
-                    res = state.computeAdvance(this, key, context, fs, old);
-                    break;
-                case INIT:
-                    res = state.computeInit(this, key, context, context.getMeta(), fs);
-                default:
-                    res = null;
-            }
-
-            if (cache != null && old != res && res != null) {
-                log.debug("Store computation result to cache.");
-                net.sf.ehcache.Element element =
-                    new net.sf.ehcache.Element(key, res);
-                cache.put(element);
-            }
-
-            return res;
-        }
-        finally {
-            if (generateFacets) {
-                if (fs.isEmpty()) {
-                    facets.remove(stateID);
-                }
-                else {
-                    addFacets(stateID, fs);
-                }
-            }
-        }
-    }
-
-    /**
-     * Sets the facets for an ID
-     *
-     * Normally the id is a state ID.
-     *
-     * @param id ID to map the facets to
-     * @param facets List of facets to be stored
-     */
-    protected void addFacets(String id, List<Facet> facets) {
-        this.facets.put(id, facets);
-    }
-
-
-    /**
-     * Method to dump the artifacts state/data.
-     */
-    protected void dumpArtifact() {
-        log.debug("++++++++++++++ DUMP ARTIFACT DATA +++++++++++++++++");
-        // Include uuid, type, name
-        log.debug(" - Name: " + getName());
-        log.debug(" - UUID: " + identifier());
-        log.debug(" - Class: " + this.getClass().getName());
-
-        log.debug("------ DUMP DATA ------");
-        Collection<StateData> allData = data.values();
-
-        for (StateData d: allData) {
-            String name  = d.getName();
-            String value = (String) d.getValue();
-
-            log.debug("- " + name + ": " + value);
-        }
-
-        log.debug("------ DUMP PREVIOUS STATES ------");
-        List<String> stateIds = getPreviousStateIds();
-
-        for (String id: stateIds) {
-            log.debug("- State: " + id);
-        }
-
-        log.debug("CURRENT STATE: " + getCurrentStateId());
-
-        debugFacets();
-        dumpFilterFacets();
-
-        log.debug("++++++++++++++ END ARTIFACT DUMP +++++++++++++++++");
-    }
-
-
-    protected void debugFacets() {
-        log.debug("######### FACETS #########");
-
-        for (Map.Entry<String, List<Facet>> entry: facets.entrySet()) {
-            String out = entry.getKey();
-            List<Facet> fs = entry.getValue();
-            for (Facet f: fs) {
-                log.debug("  # " + out + " : " + f.getName());
-            }
-        }
-
-        log.debug("######## FACETS END ########");
-    }
-
-
-    protected void dumpFilterFacets() {
-        log.debug("######## FILTER FACETS ########");
-
-        if (filterFacets == null || filterFacets.isEmpty()) {
-            log.debug("No Filter Facets defined.");
-            return;
-        }
-
-        for (Map.Entry<String, List<Facet>> entry: filterFacets.entrySet()) {
-            String      out     = entry.getKey();
-            List<Facet> filters = entry.getValue();
-
-            log.debug("There are " + filters.size() + " filters for: " +out);
-
-            for (Facet filter: filters) {
-                log.debug("  filter: " + filter.getName());
-            }
-        }
-
-        log.debug("######## FILTER FACETS END ########");
-    }
-
-
-    /** Destroy and clean up state with given id. */
-    protected void destroyState(String id, Object context) {
-        State s = getState(context, id);
-        s.endOfLife(this, context);
-    }
-
-
-    /**
-     * Calls endOfLife() for each state in the list <i>ids</i>.
-     *
-     * @param ids The State IDs that should be destroyed.
-     * @param context The FLYSContext.
-     */
-    protected void destroyStates(List<String> ids, Object context) {
-        for (int i = 0, num = ids.size(); i < num; i++) {
-            destroyState(ids.get(i), context);
-        }
-    }
-
-
-    /**
-     * Destroy the states.
-     */
-    @Override
-    public void endOfLife(Object context) {
-        if (log.isDebugEnabled()) {
-            log.debug("FLYSArtifact.endOfLife: " + identifier());
-        }
-
-        ArrayList<String> ids       = (ArrayList<String>) getPreviousStateIds();
-        ArrayList<String> toDestroy = (ArrayList<String>) ids.clone();
-
-        toDestroy.add(getCurrentStateId());
-
-        destroyStates(toDestroy, context);
-    }
-
-    /**
-     * Return the Facets which a state provides
-     * @param stateid String that identifies the state
-     * @return List of Facets belonging to the state identifier
-     */
-    protected List<Facet> getFacets(String stateid) {
-        return this.facets.get(stateid);
-    }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FixationArtifact.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import de.intevation.artifacts.CallContext;
-
-import de.intevation.flys.artifacts.geom.Lines;
-import de.intevation.flys.artifacts.StaticWKmsArtifact;
-
-import de.intevation.flys.artifacts.model.CalculationResult;
-import de.intevation.flys.artifacts.model.WKms;
-import de.intevation.flys.artifacts.model.fixings.FixRealizingResult;
-
-import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
-
-import de.intevation.flys.model.FastCrossSectionLine;
-
-import org.apache.log4j.Logger;
-
-/**
- * The default fixation analysis artifact.
- *
- * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
- */
-public class FixationArtifact
-extends      FLYSArtifact
-implements   WaterLineArtifact
-{
-    /** The logger for this class. */
-    private static Logger logger = Logger.getLogger(FixationArtifact.class);
-
-    /** The name of the artifact. */
-    public static final String ARTIFACT_NAME = "fixanalysis";
-
-    /* FacetActivity for this artifact is registered in FixAnalysisCompute . */
-
-    /**
-     * The default constructor.
-     */
-    public FixationArtifact() {
-        logger.debug("ctor()");
-    }
-
-    /**
-     * Returns the name of the concrete artifact.
-     *
-     * @return the name of the concrete artifact.
-     */
-    @Override
-    public String getName() {
-        return ARTIFACT_NAME;
-    }
-
-    @Override
-    public Lines.LineData getWaterLines(
-        int                  facetIdx,
-        FastCrossSectionLine      csl,
-        double                      d,
-        double                      w,
-        CallContext           context
-    ) {
-        FixRealizingResult result = (FixRealizingResult)
-            ((CalculationResult)this.compute(context, ComputeType.ADVANCE, false)).getData();
-
-        WKms wkms = result.getWQKms()[facetIdx];
-
-        double km = csl.getKm();
-
-        // Find W at km.
-        double wAtKm;
-
-        wAtKm = StaticWKmsArtifact.getWAtKm(wkms, km);
-
-        if (wAtKm == -1 || Double.isNaN(wAtKm)) {
-            logger.warn("Waterlevel at km " + km + " unknown.");
-            return new Lines.LineData(new double[][] {{}}, 0d, 0d);
-        }
-
-        // This should be FixRealizationResult, which can be getWQKms()ed
-        return Lines.createWaterLines(csl.getPoints(), wAtKm);
-    }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FlowVelocityMeasurementArtifact.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.w3c.dom.Document;
-
-import de.intevation.artifactdatabase.state.DefaultOutput;
-import de.intevation.artifactdatabase.state.Facet;
-import de.intevation.artifactdatabase.state.FacetActivity;
-import de.intevation.artifactdatabase.state.State;
-import de.intevation.artifacts.Artifact;
-import de.intevation.artifacts.ArtifactFactory;
-import de.intevation.artifacts.CallMeta;
-import de.intevation.artifacts.common.utils.XMLUtils;
-import de.intevation.flys.model.FlowVelocityMeasurementValue;
-import de.intevation.flys.artifacts.model.minfo.FlowVelocityMeasurementFacet;
-import de.intevation.flys.artifacts.model.minfo.FlowVelocityMeasurementFactory;
-import de.intevation.flys.artifacts.states.StaticState;
-
-import de.intevation.flys.artifacts.model.FacetTypes;
-
-
-/** Artefact to access flow velocity measurements. */
-public class FlowVelocityMeasurementArtifact
-extends      StaticFLYSArtifact
-implements   FacetTypes
-{
-    /** The logger for this class. */
-    private static Logger logger =
-        Logger.getLogger(FlowVelocityMeasurementArtifact.class);
-
-    /** Artifact key name. */
-    private static final String NAME = "flowvelocitymeasurement";
-
-    /** Spawn only inactive facets. */
-    static {
-        // TODO: Move to configuration.
-        FacetActivity.Registry.getInstance()
-            .register(NAME, FacetActivity.INACTIVE);
-    }
-
-    /** Need to give the state an id. */
-    public static final String STATIC_STATE_NAME =
-        "state.flowvelocitymeasurement.static";
-
-    /** One and only state to be in. */
-    protected transient State state = null;
-
-    protected String DATA_NAME = "ID";
-
-    /**
-     * Trivial Constructor.
-     */
-    public FlowVelocityMeasurementArtifact() {
-        logger.debug("FlowVelocityMeasurementArtifact.FlowVelocityMeasurementArtifact");
-    }
-
-
-    /** Get artifact key name. */
-    @Override
-    public String getName() {
-        return NAME;
-    }
-
-
-    /** Create a new state with bogus output. */
-    protected State spawnState() {
-        state = new StaticState(STATIC_STATE_NAME);
-        List<Facet> fs = getFacets(STATIC_STATE_NAME);
-        DefaultOutput output = new DefaultOutput(
-            "general",
-            "general",
-            "image/png",
-            fs,
-            "chart");
-
-        state.getOutputs().add(output);
-
-        return state;
-    }
-
-
-    /**
-     * Gets called from factory, to set things up.
-     */
-    @Override
-    public void setup(
-        String          identifier,
-        ArtifactFactory factory,
-        Object          context,
-        CallMeta        callMeta,
-        Document        data)
-    {
-        logger.debug("FlowVelocityMeasurementArtifact.setup");
-
-        state = new StaticState(STATIC_STATE_NAME);
-
-        if (logger.isDebugEnabled()) {
-            logger.debug(XMLUtils.toString(data));
-        }
-
-        List<Facet> fs = new ArrayList<Facet>();
-        String code = getDatacageIDValue(data);
-
-        if (code != null) {
-            // parse code, interact with factory, add real facets.
-            // store relevant parts of code as data.
-            Facet facet = new FlowVelocityMeasurementFacet(
-                FLOW_VELOCITY_MEASUREMENT,
-                "flowvelocity-name");
-            fs.add(facet);
-            addFacets(state.getID(), fs);
-            addStringData(DATA_NAME, code);
-        }
-
-        spawnState();
-        super.setup(identifier, factory, context, callMeta, data);
-    }
-
-
-    /**
-     * Get a list containing the one and only State.
-     * @param  context ignored.
-     * @return list with one and only state.
-     */
-    @Override
-    protected List<State> getStates(Object context) {
-        ArrayList<State> states = new ArrayList<State>();
-        states.add(getState());
-        return states;
-    }
-
-
-    /**
-     * Get the "current" state (there is but one).
-     * @param cc ignored.
-     * @return the "current" (only possible) state.
-     */
-    @Override
-    public State getCurrentState(Object cc) {
-        return getState();
-    }
-
-
-    /**
-     * Get the only possible state.
-     * @return the state.
-     */
-    protected State getState() {
-        return getState(null, null);
-    }
-
-
-    /**
-     * Get the state.
-     * @param context ignored.
-     * @param stateID ignored.
-     * @return the state.
-     */
-    @Override
-    protected State getState(Object context, String stateID) {
-        return (state != null)
-            ? state
-            : spawnState();
-    }
-
-
-    /**
-     * Called via setup. Overridden to avoid cloning all data.
-     *
-     * @param artifact The master-artifact.
-     */
-    @Override
-    protected void initialize(
-        Artifact artifact,
-        Object context,
-        CallMeta meta)
-    {
-        logger.debug("initialize");
-    }
-
-
-    /** Get the db-unbound flow velocity measurement value with given
-     * id. */
-    public FlowVelocityMeasurementValue.FastFlowVelocityMeasurementValue
-        getFlowVelocityMeasurementValue()
-    {
-        return FlowVelocityMeasurementFactory.getFlowVelocityMeasurement(
-            Integer.parseInt(getDataAsString(DATA_NAME)));
-    }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/GaugeDischargeArtifact.java	Thu Apr 25 12:01:30 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-package de.intevation.flys.artifacts;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-
-import org.w3c.dom.Document;
-
-import de.intevation.artifactdatabase.state.Facet;
-
-import de.intevation.artifacts.Artifact;
-import de.intevation.artifacts.ArtifactFactory;
-import de.intevation.artifacts.CallMeta;
-
-import de.intevation.flys.artifacts.model.FacetTypes;
-import de.intevation.flys.artifacts.model.WQKms;
-
-import de.intevation.flys.artifacts.states.DefaultState;
-
-import de.intevation.flys.artifacts.model.Calculation;
-import de.intevation.flys.artifacts.model.CalculationResult;
-
-import de.intevation.flys.artifacts.model.DischargeTables;
-
-import de.intevation.flys.model.Gauge;
-import de.intevation.flys.model.River;
-
-import de.intevation.flys.utils.FLYSUtils;
-
-
-/**