From 1260edc8ed9a3251af39ae30efbad66d2054d745 Mon Sep 17 00:00:00 2001 From: rbygrave Date: Sun, 12 Apr 2015 18:13:26 +1200 Subject: [PATCH] Tweak to PrimaryServer to handle empty string defaultServerName values --- .../java/com/avaje/ebean/PrimaryServer.java | 35 ++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/avaje/ebean/PrimaryServer.java b/src/main/java/com/avaje/ebean/PrimaryServer.java index 9a9d7747c..f1343ec85 100644 --- a/src/main/java/com/avaje/ebean/PrimaryServer.java +++ b/src/main/java/com/avaje/ebean/PrimaryServer.java @@ -46,16 +46,35 @@ class PrimaryServer { if (globalProperties == null) { globalProperties = PropertyMap.defaultProperties(); } - defaultServerName = System.getProperty("datasource.default"); - if(defaultServerName == null) { - defaultServerName = System.getProperty("ebean.default.datasource"); - } - if(defaultServerName == null) { - defaultServerName = globalProperties.getProperty("datasource.default"); - } if (defaultServerName == null) { - defaultServerName = globalProperties.getProperty("ebean.default.datasource"); + defaultServerName = determineDefaultServerName(); } return globalProperties; + + } + + /** + * Determine and return the default server name checking system environment variables and then global properties. + */ + private static String determineDefaultServerName() { + + String defaultServerName = System.getProperty("datasource.default"); + if (isEmpty(defaultServerName)) { + defaultServerName = System.getProperty("ebean.default.datasource"); + } + if (isEmpty(defaultServerName)) { + defaultServerName = globalProperties.getProperty("datasource.default"); + } + if (isEmpty(defaultServerName)) { + defaultServerName = globalProperties.getProperty("ebean.default.datasource"); + } + return defaultServerName; + } + + /** + * Return true if the string is null or empty. + */ + private static boolean isEmpty(String value) { + return value == null || value.trim().length() == 0; } }