Mercurial > dive4elements > river
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 } |