Perform "chaining" in the exception message. (FELIX-2459)
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@964481 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java b/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java
index af8aa08..39fe78f 100644
--- a/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java
@@ -440,12 +440,13 @@
// a resolve exception.
if ((candidates.size() == 0) && !req.isOptional())
{
- if (rethrow == null)
+ String msg = "Unable to resolve " + module
+ + ": missing requirement " + req;
+ if (rethrow != null)
{
- rethrow =
- new ResolveException("Unable to resolve " + module
- + ": missing requirement " + req, module, req);
+ msg = msg + " [caused by: " + rethrow.getMessage() + "]";
}
+ rethrow = new ResolveException(msg, module, req);
resultCache.put(module, rethrow);
m_logger.log(Logger.LOG_DEBUG, "No viable candidates", rethrow);
throw rethrow;