From 3dd5069f5a5e5f6244bee4132711f2d59fcbc4cc Mon Sep 17 00:00:00 2001 From: rob bygrave Date: Thu, 16 May 2019 20:26:45 +1200 Subject: [PATCH] #1698 FIX for IAE "key can't be empty" in System.getProperty() That is, assertEquals("${}", PropertyEval.eval("${}")); ... for when we load properties that include the "${}" placeholder --- src/main/java/io/ebean/config/properties/PropertyEval.java | 3 +++ .../java/io/ebean/config/properties/PropertyEvalTest.java | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/src/main/java/io/ebean/config/properties/PropertyEval.java b/src/main/java/io/ebean/config/properties/PropertyEval.java index f1763cb3e..753481d7d 100644 --- a/src/main/java/io/ebean/config/properties/PropertyEval.java +++ b/src/main/java/io/ebean/config/properties/PropertyEval.java @@ -59,6 +59,9 @@ final class PropertyEval { */ private static String evaluateExpression(String exp) { + if (exp.isEmpty()) { + return null; + } if (isJndiExpression(exp)) { // JNDI property lookup... String val = getJndiProperty(exp); diff --git a/src/test/java/io/ebean/config/properties/PropertyEvalTest.java b/src/test/java/io/ebean/config/properties/PropertyEvalTest.java index f074ff7a4..ac996943b 100644 --- a/src/test/java/io/ebean/config/properties/PropertyEvalTest.java +++ b/src/test/java/io/ebean/config/properties/PropertyEvalTest.java @@ -33,6 +33,11 @@ public class PropertyEvalTest { System.clearProperty("foo"); } + @Test + public void eval_emptyPlaceholder() { + assertEquals("${}", PropertyEval.eval("${}")); + } + @Test public void eval_singleExpression_withDefault() {