From 49fe5de86b84880e19a7c903cfdee3654361bd2a Mon Sep 17 00:00:00 2001
From: Jussi Nikander <Jussi.Nikander@luke.fi>
Date: Mon, 23 Apr 2018 13:30:53 +0300
Subject: [PATCH] Fixed things for the system to work in jar.

---
 model-constants.json                          | 102 ------------------
 resources/model-constants.json                |   2 +-
 .../model-constants2.json                     |   0
 .../model/cerealmodels/FinnCerealModels.java  |  12 +--
 4 files changed, 4 insertions(+), 112 deletions(-)
 delete mode 100644 model-constants.json
 rename model-constants2.json => resources/model-constants2.json (100%)

diff --git a/model-constants.json b/model-constants.json
deleted file mode 100644
index 14f6b6c..0000000
--- a/model-constants.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
-  "PyrenophoraTeres":{
-    "PrecedingCrop":{
-      "Wheat":{ "Intensive":{ "Value":0 }, "Reduced":{ "Value":10 }, "None":{ "Value":20 } }, 
-      "Barley":{ "Intensive":{ "Value":20 }, "Reduced":{ "Value":30 }, "None":{ "Value":40 } },
-      "Oat":{ "Intensive":{ "Value":-10 }, "Reduced":{ "Value":-10 }, "None":{ "Value":-10 } },
-      "Rapeseed":{ "Intensive":{ "Value":-30 }, "Reduced":{ "Value":-70 }, "None":{ "Value":-100 } },
-      "SugarBeet":{ "Intensive":{ "Value":-30 }, "Reduced":{ "Value":-70 }, "None":{ "Value":-100 } },
-      "Pulse":{ "Intensive":{ "Value":-30 }, "Reduced":{ "Value":-70 }, "None":{ "Value":-100 } }
-    },
-    "Tillage":{ "Intensive":{ "Value":100 }, "Reduced":{ "Value":150 }, "None":{ "Value":200 } },
-    "CropSusceptibility":{ "Sensitive":{ "Value":1.5 }, "Normal":{ "Value":1 }, "Resistant":{ "Value":0.5 } },
-    "DiseaseProgress":{ "[0,9]":{ "Value":1 }, "[10,19]":{ "Value":1 }, "[20,29]":{ "Value":1 }, "[30,44]":{ "Value":1.1 }, "[45,[":{ "Value":1.2 } },
-    "SporeDevelopment":{
-      "],10[":{ "[0,8[":{ "Value":0 }, "[8,10[":{ "Value":0 }, "[10,12[":{ "Value":0 }, "[12,16[":{ "Value":0 }, "[16,[":{ "Value":0 } },
-      "[10,15[":{ "[0,8[":{ "Value":0 }, "[8,10[":{ "Value":0.1 }, "[10,12[":{ "Value":0.5 }, "[12,16[":{ "Value":0.9 }, "[16,[":{ "Value":1 } },
-      "[15,20[":{ "[0,8[":{ "Value":0.2 }, "[8,10[":{ "Value":0.5 }, "[10,12[":{ "Value":0.6 }, "[12,16[":{ "Value":0.9 }, "[16,[":{ "Value":1 } },
-      "[20,25[":{ "[0,8[":{ "Value":0.2 }, "[8,10[":{ "Value":0.5 }, "[10,12[":{ "Value":0.8 }, "[12,16[":{ "Value":0.9 }, "[16,[":{ "Value":1 } },
-      "[25,[":{ "[0,8[":{ "Value":0 }, "[8,10[":{ "Value":0 }, "[10,12[":{ "Value":0 }, "[12,16[":{ "Value":0 }, "[16,[":{ "Value":0 } }
-    },
-    "SporeSpreading":{
-      "[0,3.3]":{ "Wet":{ "Value":0 }, "Dry":{ "Value":1 } },
-      "]3.3,[":{ "Wet":{ "Value":0 }, "Dry": { "Value":1 } }
-    },
-    "InfectionProbability":{
-      "],5]":{ "[0,4]":{ "Value":0 }, "]4,6]":{ "Value":0 }, "]6,8]":{ "Value":0 }, "]8,[":{ "Value":0.15 } },
-      "]5,10]":{ "[0,4]":{ "Value":0 }, "]4,6]":{ "Value":0 }, "]6,8]":{ "Value":0 }, "]8,[":{ "Value":0.3 } },
-      "]10,15]":{ "[0,4]":{ "Value":0 }, "]4,6]":{ "Value":0 }, "]6,8]":{ "Value":0.4 }, "]8,[":{ "Value":0.5 } },
-      "]15,20]":{ "[0,4]":{ "Value":0 }, "]4,6]":{ "Value":0.4 }, "]6,8]":{ "Value":0.7 }, "]8,[":{ "Value":1 } },
-      "]20,25]":{ "[0,4]":{ "Value":0 }, "]4,6]":{ "Value":0.7 }, "]6,8]":{ "Value":1 }, "]8,[":{ "Value":1 } },
-      "]25,[":{ "[0,4]":{ "Value":0 }, "]4,6]":{ "Value":1 }, "]6,8]":{ "Value":1 }, "]8,[":{ "Value":1 } }
-    },
-    "AccumulatedRisk":{ "[0,5[":{ "Value":0 }, "[5,33[":{ "Value":3 }, "[33,70[":{ "Value":5 }, "[70,92[":{ "Value":10 }, "[92,116[":{ "Value":10 }, "[116,[":{ "Value":15 } }
-  },
-  "DrechsleraTriticiRepentis":{
-    "PrecedingCrop":{
-      "Wheat":{ "Intensive":{ "Value":20 }, "Reduced":{ "Value":30 }, "None":{ "Value":40 } }, 
-      "Barley":{ "Intensive":{ "Value":0 }, "Reduced":{ "Value":10 }, "None":{ "Value":20 } },
-      "Oat":{ "Intensive":{ "Value":-10 }, "Reduced":{ "Value":-10 }, "None":{ "Value":-10 } },
-      "Rapeseed":{ "Intensive":{ "Value":-30 }, "Reduced":{ "Value":-70 }, "None":{ "Value":-100 } },
-      "SugarBeet":{ "Intensive":{ "Value":-30 }, "Reduced":{ "Value":-70 }, "None":{ "Value":-100 } },
-      "Pulse":{ "Intensive":{ "Value":-30 }, "Reduced":{ "Value":-70 }, "None":{ "Value":-100 } }
-    },
-    "Tillage":{ "Intensive":{ "Value":100 }, "Reduced":{ "Value":150 }, "None":{ "Value":200 } },
-    "CropSusceptibility":{ "Sensitive":{ "Value":1.5 }, "Normal":{ "Value":1 }, "Resistant":{ "Value":0.5 } },
-    "DiseaseProgress":{ "[0,9]":{ "Value":1 }, "[10,19]":{ "Value":1 }, "[20,29]":{ "Value":1 }, "[30,44]":{ "Value":1 }, "[45,[":{ "Value":1.2 } },
-    "SporeDevelopment":{
-      "],10[":{ "[0,2]":{ "Value":0 }, "]2,3]":{ "Value":0 }, "]3,4]":{ "Value":0 }, "]4,5]":{ "Value":0 }, "]5,[":{ "Value":0 } },
-      "[10,15[":{ "[0,2]":{ "Value":0 }, "]2,3]":{ "Value":0.1 }, "]3,4]":{ "Value":0.5 }, "]4,5]":{ "Value":0.8 }, "]5,[":{ "Value":1 } },
-      "[15,20[":{ "[0,2]":{ "Value":0.2 }, "]2,3]":{ "Value":0.5 }, "]3,4]":{ "Value":0.6 }, "]4,5]":{ "Value":0.8 }, "]5,[":{ "Value":1 } },
-      "[20,25[":{ "[0,2]":{ "Value":0.2 }, "]2,3]":{ "Value":0.5 }, "]3,4]":{ "Value":0.75 }, "]4,5]":{ "Value":0.9 }, "]5,[":{ "Value":1 } },
-      "[25,[":{ "[0,2]":{ "Value":0.5 }, "]2,3]":{ "Value":0.6 }, "]3,4]":{ "Value":0.8 }, "]4,5]":{ "Value":0.95 }, "]5,[":{ "Value":1 } }
-    },
-    "SporeSpreading":{
-      "[0,0.7]":{ "Wet":{ "Value":0 }, "Dry":{ "Value":0.6 } },
-      "]0.7,3.3]":{ "Wet":{ "Value":0.5 }, "Dry":{ "Value":1 } },
-      "]3.3,[":{ "Wet":{ "Value":1 }, "Dry": { "Value":1 } }
-    },
-    "InfectionProbability":{
-      "],5]":{ "[0,3]":{ "Value":0 }, "]3,6]":{ "Value":0 }, "]6,12]":{ "Value":0.1 }, "]12,24]":{ "Value":0.2 }, "]24,[":{ "Value":0.4 } },
-      "]5,10]":{ "[0,3]":{ "Value":0 }, "]3,6]":{ "Value":0 }, "]6,12]":{ "Value":0.2 }, "]12,24]":{ "Value":0.4 }, "]24,[":{ "Value":0.5 } },
-      "]10,15]":{ "[0,3]":{ "Value":0 }, "]3,6]":{ "Value":0.2 }, "]6,12]":{ "Value":0.4 }, "]12,24]":{ "Value":0.7 }, "]24,[":{ "Value":1 } },
-      "]15,20]":{ "[0,3]":{ "Value":0 }, "]3,6]":{ "Value":0.2 }, "]6,12]":{ "Value":0.7 }, "]12,24]":{ "Value":1 }, "]24,[":{ "Value":1 } },
-      "]20,25]":{ "[0,3]":{ "Value":0 }, "]3,6]":{ "Value":0.2 }, "]6,12]":{ "Value":0.6 }, "]12,24]":{ "Value":1 }, "]24,[":{ "Value":1 } },
-      "]25,[":{ "[0,3]":{ "Value":0 }, "]3,6]":{ "Value":0.2 }, "]6,12]":{ "Value":0.3 }, "]12,24]":{ "Value":1 }, "]24,[":{ "Value":1 } }
-    },
-    "AccumulatedRisk":{ "[0,10[":{ "Value":0 }, "[10,71[":{ "Value":2.5 }, "[71,151[":{ "Value":5 }, "[151,201[":{ "Value":10 }, "[201,251[":{ "Value":10 }, "[251,[":{ "Value":15 } }
-  },
-  "StagonosporaNodorum":{
-    "PrecedingCrop":{
-      "Wheat":{ "Intensive":{ "Value":20 }, "Reduced":{ "Value":30 }, "None":{ "Value":40 } }, 
-      "Barley":{ "Intensive":{ "Value":0 }, "Reduced":{ "Value":10 }, "None":{ "Value":20 } },
-      "Oat":{ "Intensive":{ "Value":-10 }, "Reduced":{ "Value":-10 }, "None":{ "Value":-10 } },
-      "Rapeseed":{ "Intensive":{ "Value":-50 }, "Reduced":{ "Value":-100 }, "None":{ "Value":-100 } },
-      "SugarBeet":{ "Intensive":{ "Value":-50 }, "Reduced":{ "Value":-100 }, "None":{ "Value":-100 } },
-      "Pulse":{ "Intensive":{ "Value":-50 }, "Reduced":{ "Value":-100 }, "None":{ "Value":-100 } }
-    },
-    "Tillage":{ "Intensive":{ "Value":100 }, "Reduced":{ "Value":150 }, "None":{ "Value":200 } },
-    "CropSusceptibility":{ "Sensitive":{ "Value":1.5 }, "Normal":{ "Value":1 }, "Resistant":{ "Value":0.5 } },
-    "DiseaseProgress":{ "[0,9]":{ "Value":1 }, "[10,19]":{ "Value":1 }, "[20,29]":{ "Value":1 }, "[30,44]":{ "Value":1.1 }, "[45,[":{ "Value":1.2 } },
-    "SporeDevelopment":{
-      "],10[":{ "[0,2]":{ "Value":0.5 }, "]2,3]":{ "Value":0.5 }, "]3,4]":{ "Value":0.5 }, "]4,5]":{ "Value":0.5 }, "]5,[":{ "Value":0.5 } },
-      "[10,15[":{ "[0,2]":{ "Value":1 }, "]2,3]":{ "Value":1 }, "]3,4]":{ "Value":1 }, "]4,5]":{ "Value":1 }, "]5,[":{ "Value":1 } },
-      "[15,20[":{ "[0,2]":{ "Value":1 }, "]2,3]":{ "Value":1 }, "]3,4]":{ "Value":1 }, "]4,5]":{ "Value":1 }, "]5,[":{ "Value":1 } },
-      "[20,25[":{ "[0,2]":{ "Value":1 }, "]2,3]":{ "Value":1 }, "]3,4]":{ "Value":1 }, "]4,5]":{ "Value":1 }, "]5,[":{ "Value":1 } },
-      "[25,[":{ "[0,2]":{ "Value":1 }, "]2,3]":{ "Value":1 }, "]3,4]":{ "Value":1 }, "]4,5]":{ "Value":1 }, "]5,[":{ "Value":1 } }
-    },
-    "SporeSpreading":{
-      "],5]" :{"[0,1[":{ "Value":0 }, "[1,3[":{ "Value":0 }, "[3,5[":{ "Value":0 }, "[5,[":{ "Value":0 }},
-      "]5,30]":{ "[0,1[":{ "Value":0 }, "[1,3[":{ "Value":0.3 }, "[3,5[":{ "Value":0.7 }, "[5,[":{ "Value":1 } },
-      "]30,[" :{"[0,1[":{ "Value":0 }, "[1,3[":{ "Value":0 }, "[3,5[":{ "Value":0 }, "[5,[":{ "Value":0 }}
-    },
-    "InfectionProbability":{
-      "],5]":{ "[0,3]":{ "Value":0 }, "]3,6]":{ "Value":0 }, "]6,8]":{ "Value":0 }, "]8,[":{ "Value":0 } },
-      "]5,15]":{ "[0,3]":{ "Value":0 }, "]3,6]":{ "Value":0.4 }, "]6,12]":{ "Value":0.4 }, "]8,[":{ "Value":0.8 } },
-      "]15,20]":{ "[0,3]":{ "Value":0 }, "]3,6]":{ "Value":0.4 }, "]6,12]":{ "Value":0.8 }, "]8,[":{ "Value":1 } },
-      "]20,25]":{ "[0,3]":{ "Value":0 }, "]3,6]":{ "Value":0.8 }, "]6,12]":{ "Value":1 }, "]8,[":{ "Value":1 } },
-      "]25,[":{ "[0,3]":{ "Value":0 }, "]3,6]":{ "Value":0 }, "]6,12]":{ "Value":0 }, "]8,[":{ "Value":1 } }
-    },
-    "AccumulatedRisk":{ "[0,10[":{ "Value":0 }, "[10,71[":{ "Value":5 }, "[71,151[":{ "Value":5 }, "[151,201[":{ "Value":10 }, "[201,251[":{ "Value":10 }, "[251,[":{ "Value":15 } }
-  }
-}
diff --git a/resources/model-constants.json b/resources/model-constants.json
index 7cf3e86..14f6b6c 100644
--- a/resources/model-constants.json
+++ b/resources/model-constants.json
@@ -30,7 +30,7 @@
       "]20,25]":{ "[0,4]":{ "Value":0 }, "]4,6]":{ "Value":0.7 }, "]6,8]":{ "Value":1 }, "]8,[":{ "Value":1 } },
       "]25,[":{ "[0,4]":{ "Value":0 }, "]4,6]":{ "Value":1 }, "]6,8]":{ "Value":1 }, "]8,[":{ "Value":1 } }
     },
-    "AccumulatedRisk":{ "[0,10[":{ "Value":0 }, "[10,71[":{ "Value":3 }, "[71,151[":{ "Value":5 }, "[151,201[":{ "Value":10 }, "[201,251[":{ "Value":10 }, "[251,[":{ "Value":15 } }
+    "AccumulatedRisk":{ "[0,5[":{ "Value":0 }, "[5,33[":{ "Value":3 }, "[33,70[":{ "Value":5 }, "[70,92[":{ "Value":10 }, "[92,116[":{ "Value":10 }, "[116,[":{ "Value":15 } }
   },
   "DrechsleraTriticiRepentis":{
     "PrecedingCrop":{
diff --git a/model-constants2.json b/resources/model-constants2.json
similarity index 100%
rename from model-constants2.json
rename to resources/model-constants2.json
diff --git a/src/fi/luke/vips/model/cerealmodels/FinnCerealModels.java b/src/fi/luke/vips/model/cerealmodels/FinnCerealModels.java
index 2e2f377..8cd9cdb 100644
--- a/src/fi/luke/vips/model/cerealmodels/FinnCerealModels.java
+++ b/src/fi/luke/vips/model/cerealmodels/FinnCerealModels.java
@@ -1,5 +1,6 @@
 package fi.luke.vips.model.cerealmodels;
 
+import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.util.ArrayList;
@@ -284,15 +285,8 @@ public class FinnCerealModels implements Model {
 	
 	@Override
 	public void setConfiguration(ModelConfiguration arg0) throws ConfigValidationException {
-		m = null;
-		try {
-			m = new DiseasePressureModel(new File(
-					"model-constants2.json"));
-		} catch (FileNotFoundException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-			throw new ConfigValidationException("Model constants not found; cannot configure the model");
-		}
+		m = new DiseasePressureModel(new BufferedInputStream(this.getClass().getResourceAsStream(
+					"model-constants.json")));
 		try {
 			String zoneString = (String)arg0.getConfigParameter("timeZone");
 			if(zoneString == null) {
-- 
GitLab