diff --git a/src/java/org/apache/commons/lang/exception/DefaultExceptionContext.java b/src/java/org/apache/commons/lang/exception/DefaultExceptionContext.java index 45ec4c6d0..4b62155b0 100644 --- a/src/java/org/apache/commons/lang/exception/DefaultExceptionContext.java +++ b/src/java/org/apache/commons/lang/exception/DefaultExceptionContext.java @@ -93,7 +93,9 @@ public String getFormattedExceptionMessage(String baseMessage){ } if (contextKeyList.size() > 0) { - buffer.append(SystemUtils.LINE_SEPARATOR); + if (buffer.length() > 0l) { + buffer.append(SystemUtils.LINE_SEPARATOR); + } buffer.append("Exception Context:"); buffer.append(SystemUtils.LINE_SEPARATOR); buffer.append("\t"); @@ -120,8 +122,7 @@ public String getFormattedExceptionMessage(String baseMessage){ buffer.append(SystemUtils.LINE_SEPARATOR); buffer.append("\t"); } - buffer.append(SystemUtils.LINE_SEPARATOR); - buffer.append("\t---------------------------------"); + buffer.append("---------------------------------"); } return buffer.toString(); } diff --git a/src/test/org/apache/commons/lang/exception/ContextedExceptionTest.java b/src/test/org/apache/commons/lang/exception/ContextedExceptionTest.java index 3b72dd873..b5c871fab 100644 --- a/src/test/org/apache/commons/lang/exception/ContextedExceptionTest.java +++ b/src/test/org/apache/commons/lang/exception/ContextedExceptionTest.java @@ -102,10 +102,6 @@ public void testAddLabeledValue() { assertTrue(message.indexOf("5")>=0); assertTrue(message.indexOf("Crap")>=0); - String contextMessage = contextedException.getFormattedExceptionMessage(""); - assertTrue(contextMessage.indexOf(TEST_MESSAGE) == -1); - assertTrue(message.contains(contextMessage)); - assertTrue(contextedException.getLabeledValue("test1") == null); assertTrue(contextedException.getLabeledValue("test2").equals("some value")); assertTrue(contextedException.getLabeledValue("crap") == null); @@ -119,6 +115,12 @@ public void testAddLabeledValue() { assertTrue(contextedException.getLabelSet().contains("test Poorly written obj")); assertTrue(!contextedException.getLabelSet().contains("crap")); + + contextedException.addLabeledValue("test Poorly written obj", "replacement"); + + String contextMessage = contextedException.getFormattedExceptionMessage(null); + assertTrue(contextMessage.indexOf(TEST_MESSAGE) == -1); + assertTrue(contextedException.getMessage().endsWith(contextMessage)); } public void testNullExceptionPassing() { diff --git a/src/test/org/apache/commons/lang/exception/ContextedRuntimeExceptionTest.java b/src/test/org/apache/commons/lang/exception/ContextedRuntimeExceptionTest.java index daac21232..8e96196e0 100644 --- a/src/test/org/apache/commons/lang/exception/ContextedRuntimeExceptionTest.java +++ b/src/test/org/apache/commons/lang/exception/ContextedRuntimeExceptionTest.java @@ -102,10 +102,6 @@ public void testAddLabeledValue() { assertTrue(message.indexOf("5")>=0); assertTrue(message.indexOf("Crap")>=0); - String contextMessage = contextedRuntimeException.getFormattedExceptionMessage(""); - assertTrue(contextMessage.indexOf(TEST_MESSAGE) == -1); - assertTrue(message.contains(contextMessage)); - assertTrue(contextedRuntimeException.getLabeledValue("test1") == null); assertTrue(contextedRuntimeException.getLabeledValue("test2").equals("some value")); assertTrue(contextedRuntimeException.getLabeledValue("crap") == null); @@ -119,6 +115,12 @@ public void testAddLabeledValue() { assertTrue(contextedRuntimeException.getLabelSet().contains("test Poorly written obj")); assertTrue(!contextedRuntimeException.getLabelSet().contains("crap")); + + contextedRuntimeException.addLabeledValue("test Poorly written obj", "replacement"); + + String contextMessage = contextedRuntimeException.getFormattedExceptionMessage(null); + assertTrue(contextMessage.indexOf(TEST_MESSAGE) == -1); + assertTrue(contextedRuntimeException.getMessage().endsWith(contextMessage)); } public void testNullExceptionPassing() {