From 4817e2503bd2bb8f7fc9476660feae5ae6b42565 Mon Sep 17 00:00:00 2001 From: bhabesh <bhabesh.mukhopadhyay@nibio.no> Date: Fri, 27 Mar 2020 17:03:39 +0100 Subject: [PATCH] Result preparation Create and return result objects --- .../alternariamodel/AlternariaModel.java | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/main/java/no/nibio/vips/model/alternariamodel/AlternariaModel.java b/src/main/java/no/nibio/vips/model/alternariamodel/AlternariaModel.java index ebe8492..bb9cb67 100644 --- a/src/main/java/no/nibio/vips/model/alternariamodel/AlternariaModel.java +++ b/src/main/java/no/nibio/vips/model/alternariamodel/AlternariaModel.java @@ -104,10 +104,36 @@ public class AlternariaModel extends I18nImpl implements Model{ //TODO write proper list of result object //Date currentDate = this.dataMatrix.getFirstDateWithParameterValue(DataMatrix.LEAF_WETNESS_DURATION); - List<Result> dummyResult = new ArrayList<>(); + List<Result> results = new ArrayList<>(); + Date currentDate = this.dataMatrix.getFirstDateWithParameterValue(DataMatrix.TEMPERATURE_MEAN); + Date endDate = this.dataMatrix.getLastDateWithParameterValue(DataMatrix.TEMPERATURE_MEAN); + DecimalFormat dFormat = new DecimalFormat("###.##"); + DecimalFormat iFormat = new DecimalFormat("###"); + Calendar cal = Calendar.getInstance(timeZone); + int accumulatedDSV = 0; - return dummyResult; + while(currentDate.before(endDate)) + { + Result result = new ResultImpl(); + + accumulatedDSV = accumulatedDSV + dataMatrix.getParamIntValueForDate(currentDate, DataMatrix.DAILY_DISEASE_SEVERITY_VALUE); + + result.setValidTimeStart(currentDate); + result.setWarningStatus(getWarningStatus(accumulatedDSV)); + + result.setValue(CommonNamespaces.NS_WEATHER, DataMatrix.TEMPERATURE_MEAN, dFormat.format(this.dataMatrix.getParamValueForDate(currentDate, DataMatrix.TEMPERATURE_MEAN))); + result.setValue(NAME_MODEL_ID, DataMatrix.WET_HOUR, iFormat.format(this.dataMatrix.getParamValueForDate(currentDate, DataMatrix.LEAF_WETNESS_DURATION))); + result.setValue(NAME_MODEL_ID, DataMatrix.DAILY_DISEASE_SEVERITY_VALUE, iFormat.format(this.dataMatrix.getParamValueForDate(currentDate, DataMatrix.DAILY_DISEASE_SEVERITY_VALUE))); + + results.add(result); + + cal.setTime(currentDate); + cal.add(Calendar.DATE, 1); + currentDate = cal.getTime(); + } + + return results; } -- GitLab