comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java @ 3437:e111902834d3

FixA: Made calculation base class abstract. Sub classes are called with fixings overview an function to fit. flys-artifacts/trunk@5100 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 23 Jul 2012 09:09:49 +0000
parents 262e7d7e58fe
children d2ae58f6730d
comparison
equal deleted inserted replaced
3436:0d63581c5df1 3437:e111902834d3
1 package de.intevation.flys.artifacts.model.fixings; 1 package de.intevation.flys.artifacts.model.fixings;
2 2
3 import de.intevation.flys.artifacts.access.FixAnalysisAccess; 3 import de.intevation.flys.artifacts.access.FixAnalysisAccess;
4 4
5 import de.intevation.flys.artifacts.math.fitting.Function; 5 import de.intevation.flys.artifacts.math.fitting.Function;
6 import de.intevation.flys.artifacts.math.fitting.FunctionFactory;
7 6
8 import de.intevation.flys.artifacts.model.CalculationResult; 7 import de.intevation.flys.artifacts.model.CalculationResult;
9 import de.intevation.flys.artifacts.model.DateRange; 8 import de.intevation.flys.artifacts.model.DateRange;
10 9
11 import de.intevation.flys.artifacts.model.FixingsOverview.AndFilter; 10 import de.intevation.flys.artifacts.model.FixingsOverview.AndFilter;
17 import de.intevation.flys.artifacts.model.FixingsOverview.IdsFilter; 16 import de.intevation.flys.artifacts.model.FixingsOverview.IdsFilter;
18 import de.intevation.flys.artifacts.model.FixingsOverview.KmFilter; 17 import de.intevation.flys.artifacts.model.FixingsOverview.KmFilter;
19 import de.intevation.flys.artifacts.model.FixingsOverview.SectorFilter; 18 import de.intevation.flys.artifacts.model.FixingsOverview.SectorFilter;
20 19
21 import de.intevation.flys.artifacts.model.FixingsOverview; 20 import de.intevation.flys.artifacts.model.FixingsOverview;
22 import de.intevation.flys.artifacts.model.FixingsOverviewFactory;
23 import de.intevation.flys.artifacts.model.Parameters; 21 import de.intevation.flys.artifacts.model.Parameters;
24 import de.intevation.flys.artifacts.model.Range; 22 import de.intevation.flys.artifacts.model.Range;
25 23
26 import de.intevation.flys.utils.DateAverager; 24 import de.intevation.flys.utils.DateAverager;
27 import de.intevation.flys.utils.KMIndex; 25 import de.intevation.flys.utils.KMIndex;
63 this.referencePeriod = referencePeriod; 61 this.referencePeriod = referencePeriod;
64 this.analysisPeriods = analysisPeriods; 62 this.analysisPeriods = analysisPeriods;
65 } 63 }
66 } 64 }
67 65
68 public CalculationResult calculate() { 66 @Override
69 67 public CalculationResult innerCalculate(
70 FixingsOverview overview = 68 FixingsOverview overview,
71 FixingsOverviewFactory.getOverview(river); 69 Function func
72 70 ) {
73 if (overview == null) {
74 addProblem("fix.no.overview.available");
75 }
76
77 Function func = FunctionFactory.getInstance()
78 .getFunction(function);
79
80 if (func == null) {
81 addProblem("fix.invalid.function.name");
82 }
83
84 if (hasProblems()) {
85 return new CalculationResult(this);
86 }
87
88 FitResult fitResult = doFitting(overview, func); 71 FitResult fitResult = doFitting(overview, func);
89 72
90 if (fitResult == null) { 73 if (fitResult == null) {
91 return new CalculationResult(this); 74 return new CalculationResult(this);
92 } 75 }

http://dive4elements.wald.intevation.org