From b123d55b8db153b8923ab307dfd5277a29522c71 Mon Sep 17 00:00:00 2001
From: Peter Alexander <>
Date: Fri, 5 Aug 2022 11:43:19 +0100
Subject: [PATCH] Skip countries not in countrygroup file

---
 src/ac/ed/lurg/country/CompositeCountryManager.java | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/ac/ed/lurg/country/CompositeCountryManager.java b/src/ac/ed/lurg/country/CompositeCountryManager.java
index 7a0930f2..a69be51d 100644
--- a/src/ac/ed/lurg/country/CompositeCountryManager.java
+++ b/src/ac/ed/lurg/country/CompositeCountryManager.java
@@ -11,6 +11,7 @@ import java.util.stream.Collectors;
 import ac.ed.lurg.ModelConfig;
 import ac.ed.lurg.demand.BaseConsumpManager;
 import ac.ed.lurg.utils.CollectionHelper;
+import ac.ed.lurg.utils.LogWriter;
 import ac.ed.lurg.utils.StringTabularReader;
 
 public class CompositeCountryManager {
@@ -37,8 +38,13 @@ public class CompositeCountryManager {
 	private String getCountryGroup(SingleCountry aCountry) {		
 		Map<String, String> queryMap = new HashMap<String, String>();
 		queryMap.put("Country", aCountry.getCountryName());
-		Map<String, String> row = countryGroups.querySingle(queryMap);
-		return row.get("PlumGroup");
+		try {
+			Map<String, String> row = countryGroups.querySingle(queryMap);
+			return row.get("PlumGroup");
+		} catch (Exception e) {
+			LogWriter.println("Can't finding country group for " + aCountry.getCountryName() + " so skipping");
+			return null;
+		}
 	}
 	
 	
@@ -57,7 +63,8 @@ public class CompositeCountryManager {
 			else 
 				cc = getForName(c.getCountryName(),c.getRegion());
 			
-			mapFromSingleCountry.put(c, cc);
+			if (cc != null)
+				mapFromSingleCountry.put(c, cc);
 		}
 		
 		mapFromCompositeCountry = CollectionHelper.invertMap(mapFromSingleCountry);
-- 
GitLab