ingo@3072: package de.intevation.flys.artifacts.model.sq; ingo@3072: ingo@3079: import java.util.ArrayList; ingo@3079: import java.util.List; ingo@3079: ingo@3072: import org.apache.log4j.Logger; ingo@3072: ingo@3072: import de.intevation.flys.artifacts.model.Calculation; ingo@3072: import de.intevation.flys.artifacts.model.CalculationResult; ingo@3072: ingo@3072: import de.intevation.flys.artifacts.MINFOArtifact; ingo@3072: ingo@3072: ingo@3072: public class SQRelationCalculation extends Calculation { ingo@3072: ingo@3072: private static final Logger logger = ingo@3072: Logger.getLogger(SQRelationCalculation.class); ingo@3072: ingo@3072: ingo@3072: public CalculationResult calculate(MINFOArtifact artifact) { ingo@3072: logger.info("SQRelationCalculation.calculate"); ingo@3072: ingo@3072: // TODO Collect input params and use them for buildCalculationResult() ingo@3072: ingo@3072: return buildCalculationResult(); ingo@3072: } ingo@3072: ingo@3072: ingo@3072: protected CalculationResult buildCalculationResult( ingo@3072: // TODO Insert input params here ingo@3072: ) { ingo@3072: logger.info("SQRelationCalculation.buildCalculationResult"); ingo@3072: logger.error("Not implemented!"); ingo@3072: ingo@3079: SQResult[] result = getFakeResult(); ingo@3079: ingo@3079: return new CalculationResult(result, this); ingo@3079: } ingo@3079: ingo@3079: ingo@3079: protected SQResult[] getFakeResult() { ingo@3079: ingo@3079: SQ[] measurements = getFakeMeasurements(); ingo@3079: SQ[] fOutliers = getFakeOutliers(10); ingo@3079: SQ[] tOutliers = getFakeOutliers(20); ingo@3079: ingo@3079: List outliers = new ArrayList(); ingo@3079: outliers.add(fOutliers); ingo@3079: outliers.add(tOutliers); ingo@3079: ingo@3101: SQResult res = new SQResult(); ingo@3101: ingo@3101: res.setFraction( ingo@3101: SQResult.FRACTION_A, ingo@3101: new SQFractionResult(null, measurements, outliers)); ingo@3101: ingo@3101: res.setFraction( ingo@3101: SQResult.FRACTION_B, ingo@3101: new SQFractionResult(null, measurements, outliers)); ingo@3101: ingo@3101: res.setFraction( ingo@3101: SQResult.FRACTION_C, ingo@3101: new SQFractionResult(null, measurements, outliers)); ingo@3101: ingo@3101: return new SQResult[] { res }; ingo@3079: } ingo@3079: ingo@3079: protected SQ[] getFakeMeasurements() { ingo@3079: List a = new ArrayList(); ingo@3079: ingo@3079: a.add(new SQ(11.172500000000001, 1250.0)); ingo@3079: a.add(new SQ(13.407000000000002, 1500.0)); ingo@3079: a.add(new SQ(15.641500000000002, 1750.0)); ingo@3079: a.add(new SQ(17.876000000000005, 2000.0)); ingo@3079: a.add(new SQ(20.110500000000005, 2250.0)); ingo@3079: a.add(new SQ(22.345000000000002, 2500.0)); ingo@3079: a.add(new SQ(24.579500000000003, 2750.0)); ingo@3079: a.add(new SQ(26.814000000000004, 3000.0)); ingo@3079: a.add(new SQ(29.048500000000004, 3250.0)); ingo@3079: a.add(new SQ(31.283000000000005, 3500.0)); ingo@3079: a.add(new SQ(33.517500000000005, 3750.0)); ingo@3079: a.add(new SQ(35.75200000000001, 4000.0)); ingo@3079: a.add(new SQ(37.98650000000001, 4250.0)); ingo@3079: a.add(new SQ(40.22100000000001, 4500.0)); ingo@3079: a.add(new SQ(42.45550000000001, 4750.0)); ingo@3079: ingo@3079: return (SQ[]) a.toArray(new SQ[a.size()]); ingo@3079: } ingo@3079: ingo@3079: ingo@3079: protected SQ[] getFakeOutliers(int diff) { ingo@3079: List a = new ArrayList(); ingo@3079: ingo@3079: a.add(new SQ(11.172500000000001-diff, 1250.0)); ingo@3079: a.add(new SQ(13.407000000000002+diff, 1500.0)); ingo@3079: a.add(new SQ(25.641500000000002-diff, 1750.0)); ingo@3079: a.add(new SQ(17.876000000000005+diff, 2000.0)); ingo@3079: a.add(new SQ(20.110500000000005-diff, 2250.0)); ingo@3079: a.add(new SQ(22.345000000000002+diff, 2500.0)); ingo@3079: a.add(new SQ(24.579500000000003-diff, 2750.0)); ingo@3079: a.add(new SQ(26.814000000000004+diff, 3000.0)); ingo@3079: a.add(new SQ(29.048500000000004-diff, 3250.0)); ingo@3079: a.add(new SQ(31.283000000000005+diff, 3500.0)); ingo@3079: a.add(new SQ(33.517500000000005-diff, 3750.0)); ingo@3079: a.add(new SQ(35.75200000000001-diff, 4000.0)); ingo@3079: a.add(new SQ(37.98650000000001+diff, 4250.0)); ingo@3079: a.add(new SQ(40.22100000000001+diff, 4500.0)); ingo@3079: a.add(new SQ(42.45550000000001+diff, 4750.0)); ingo@3079: ingo@3079: return (SQ[]) a.toArray(new SQ[a.size()]); ingo@3072: } ingo@3072: } ingo@3072: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :