From ecb69e61cb10dca8ca2ab0b4b924c7a150e8634c Mon Sep 17 00:00:00 2001
From: bhabesh <bhabesh.mukhopadhyay@nibio.no>
Date: Tue, 10 Mar 2020 09:26:10 +0100
Subject: [PATCH] Avoid null date for mean temperature and leaf wetness for
 datamatrix

Avoid null dates for Mean Temperature and Leaf Wetness for populate hash map in data matrix
---
 .../alternariamodel/AlternariaModel.java      | 26 ++++++++++++++-----
 1 file changed, 19 insertions(+), 7 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 c79f8b6..1f45f90 100644
--- a/src/main/java/no/nibio/vips/model/alternariamodel/AlternariaModel.java
+++ b/src/main/java/no/nibio/vips/model/alternariamodel/AlternariaModel.java
@@ -536,14 +536,26 @@ public class AlternariaModel extends I18nImpl implements Model{
         double  meanTeamperature    =   0.0;
         int     leafWetnessHour     =   0;
         
-        if(tmDate.compareTo(lwDate) == 0)
+        if((null != tmDate) && (null != lwDate))
         {
-            meanTeamperature        =   dataMatrix.getParamDoubleValueForDate(tmDate, tmFlag);
-            leafWetnessHour         =   dataMatrix.getParamIntValueForDate(lwDate, lwFlag);
-            resultDSV               =   getDSV_DAILY(meanTeamperature, leafWetnessHour);
-            
-            //Set DSV into data matrix
-            dataMatrix.setParamIntValueForDate(lwDate, DataMatrix.DAILY_DISEASE_SEVERITY_VALUE, resultDSV);
+            if(tmDate.compareTo(lwDate) == 0)
+            {
+                meanTeamperature        =       (null ==  dataMatrix.getParamDoubleValueForDate(tmDate, tmFlag))
+                                            ?   meanTeamperature
+                                            :   dataMatrix.getParamDoubleValueForDate(tmDate, tmFlag);
+                leafWetnessHour         =       (null == dataMatrix.getParamIntValueForDate(lwDate, lwFlag))
+                                            ?   leafWetnessHour
+                                            :   dataMatrix.getParamIntValueForDate(lwDate, lwFlag);
+                
+                if(meanTeamperature != 0.0 && leafWetnessHour != 0)
+                {
+                    resultDSV               =   getDSV_DAILY(meanTeamperature, leafWetnessHour);
+                    //Set DSV into data matrix
+                    dataMatrix.setParamIntValueForDate(lwDate, DataMatrix.DAILY_DISEASE_SEVERITY_VALUE, resultDSV);
+
+                }
+
+            }
         }
         
     }
-- 
GitLab