From f7c4e5a988f101bb51a5d5ec1fc522e7c1160814 Mon Sep 17 00:00:00 2001 From: tastybento Date: Tue, 6 Feb 2018 13:33:08 -0800 Subject: [PATCH] Added null checks. --- .../database/flatfile/FlatFileDatabaseHandler.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java b/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java index 3fae3482b..c25cf3d79 100644 --- a/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java +++ b/src/main/java/us/tastybento/bskyblock/database/flatfile/FlatFileDatabaseHandler.java @@ -219,7 +219,12 @@ public class FlatFileDatabaseHandler extends AbstractDatabaseHandler { // TODO: this may not work with all keys. Further serialization may be required. Map value = new HashMap(); for (String key : config.getConfigurationSection(storageLocation).getKeys(false)) { + // Keys cannot be null - skip if they exist Object mapKey = deserialize(key,Class.forName(keyType.getTypeName())); + if (mapKey == null) { + continue; + } + // Map values can be null - it is allowed here Object mapValue = deserialize(config.get(storageLocation + "." + key), Class.forName(valueType.getTypeName())); if (DEBUG) { plugin.getLogger().info("DEBUG: mapKey = " + mapKey + " (" + mapKey.getClass().getCanonicalName() + ")"); @@ -460,6 +465,10 @@ public class FlatFileDatabaseHandler extends AbstractDatabaseHandler { if (value != null) plugin.getLogger().info("DEBUG: value class is " + value.getClass().getCanonicalName()); } + // If value is already null, then it can be nothing else + if (value == null) { + return null; + } if (value instanceof String && value.equals("null")) { // If the value is null as a string, return null return null;