summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/node-api
diff options
context:
space:
mode:
Diffstat (limited to 'java/sca/modules/node-api')
-rw-r--r--java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/ContributionLocationHelper.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/ContributionLocationHelper.java b/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/ContributionLocationHelper.java
index f891f1e329..2e73322917 100644
--- a/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/ContributionLocationHelper.java
+++ b/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/ContributionLocationHelper.java
@@ -127,6 +127,12 @@ public class ContributionLocationHelper {
} else if ("jar".equals(protocol) || "wsjar".equals(protocol) || "zip".equals(protocol)) {
// jar contribution
location = url.substring(protocol.length() + 1, url.lastIndexOf("!/"));
+ } else if (url.endsWith(resourceName)) {
+ location = url.substring(0, url.lastIndexOf(resourceName));
+ } else {
+ throw new IllegalArgumentException("The root of the resource cannot be determined: " + resourceURL
+ + ","
+ + resourceName);
}
return location;
}