From 564ebfb3853e562a7f14f09d3dcc94e2a9f2bad5 Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@bioforsk.no>
Date: Fri, 20 Sep 2013 15:13:22 +0200
Subject: [PATCH] Added decision for warning status

---
 .../model/naerstadmodel/NaerstadModel.java    | 31 +++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/src/main/java/no/bioforsk/vips/model/naerstadmodel/NaerstadModel.java b/src/main/java/no/bioforsk/vips/model/naerstadmodel/NaerstadModel.java
index 9854115..cfa7a69 100644
--- a/src/main/java/no/bioforsk/vips/model/naerstadmodel/NaerstadModel.java
+++ b/src/main/java/no/bioforsk/vips/model/naerstadmodel/NaerstadModel.java
@@ -48,6 +48,10 @@ public class NaerstadModel extends I18nImpl implements Model{
     
     private final static ModelId MODEL_ID = new ModelId("NAERSTADMO");
     
+    private final static Double THRESHOLD_MINOR_RISK = 1d;
+    private final static Double THRESHOLD_HIGH_RISK = 2.5;
+
+    
     public NaerstadModel(){
         // Setting the file name of the resource bundle
         super("no.bioforsk.vips.model.naerstadmodel.texts");
@@ -90,6 +94,7 @@ public class NaerstadModel extends I18nImpl implements Model{
                     if(this.DEBUG)
                         System.out.println("RISK(" + thePresent + ")=" + RISK);
                     result.setValue("RISK", dFormat.format(RISK));
+                    result.setWarningStatus(this.getWarningStatus(RISK));
                     results.add(result);
 
                     // Moving on
@@ -108,6 +113,30 @@ public class NaerstadModel extends I18nImpl implements Model{
             throw new ModelExcecutionException("An exception occurred. Message is " + e.getMessage() + " See logs for details");
         }
     }
+    
+    /**
+     * Calculates the warning status
+     * @param RISK
+     * @return 
+     */
+    private Integer getWarningStatus(Double RISK) {
+        if(RISK == null)
+        {
+            return Result.WARNING_STATUS_NO_WARNING_MISSING_DATA;
+        }
+        else if(RISK < THRESHOLD_MINOR_RISK)
+        {
+            return Result.WARNING_STATUS_NO_RISK;
+        }
+        else if(RISK >=THRESHOLD_MINOR_RISK && RISK < THRESHOLD_HIGH_RISK)
+        {
+            return Result.WARNING_STATUS_MINOR_RISK;
+        }
+        else
+        {
+            return Result.WARNING_STATUS_HIGH_RISK;
+        }
+    }
 
     @Override
     public ModelId getModelId() {
@@ -529,5 +558,7 @@ public class NaerstadModel extends I18nImpl implements Model{
         return this.weatherUtil;
     }
 
+    
+
         
 }
-- 
GitLab