EXEC-64 DefaultExecutor swallows IOException cause instead of propagating it
(work-round for Java 1.5)
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/exec/trunk@1723863 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 5deb826..17fec64 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -23,6 +23,12 @@
<author email="sgoeschl@apache.org">Siegfried Goeschl</author>
</properties>
<body>
+ <release version="1.4" date="" description="Maintenance and feature Release">
+ <action issue="EXEC-64" dev="sebb" type="update" due-to=" Michael Vorburger">
+ DefaultExecutor swallows IOException cause instead of propagating it
+ (work-round for Java 1.5)
+ </action>
+ </release>
<release version="1.3" date="2014-11-02" description="Maintenance and feature Release">
<action issue="EXEC-69" dev="ggregory" type="add" due-to="Richard Atkins, Michael Vorburger">
DefaultExecutor async execute prevents shutdown hooks running.
diff --git a/src/main/java/org/apache/commons/exec/DefaultExecutor.java b/src/main/java/org/apache/commons/exec/DefaultExecutor.java
index d1b4435..5aa9bb1 100644
--- a/src/main/java/org/apache/commons/exec/DefaultExecutor.java
+++ b/src/main/java/org/apache/commons/exec/DefaultExecutor.java
@@ -408,7 +408,10 @@
} catch (final IOException e) {
throw e;
} catch (final Exception e) {
- throw new IOException(e.getMessage());
+ // Java 1.5 does not support public IOException(String message, Throwable cause)
+ IOException ioe = new IOException(e.getMessage());
+ ioe.initCause(e);
+ throw ioe;
}
}