From 1f450514612928a3134617f1477fbaf05919d728 Mon Sep 17 00:00:00 2001 From: antelder Date: Mon, 3 Oct 2011 07:26:18 +0000 Subject: TUSCANY-3956: Fix Java2 Security exception in ContributionHelper.getNestedJarUrls method git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1178314 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/contribution/java/impl/ContributionHelper.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'sca-java-2.x/trunk/modules') diff --git a/sca-java-2.x/trunk/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionHelper.java b/sca-java-2.x/trunk/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionHelper.java index be175d000e..372607193c 100644 --- a/sca-java-2.x/trunk/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionHelper.java +++ b/sca-java-2.x/trunk/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionHelper.java @@ -24,6 +24,8 @@ import java.io.FileOutputStream; import java.io.IOException; import java.net.URI; import java.net.URL; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.List; import java.util.zip.ZipEntry; @@ -36,9 +38,13 @@ public class ContributionHelper { public static List getNestedJarUrls(final Contribution contribution) throws IOException { List urls = new ArrayList(); - boolean isZipContribution = contribution.getLocation().endsWith(".zip"); - URI uri = URI.create(contribution.getLocation()); - boolean isFolderContribution = !isZipContribution && uri.getScheme().equals("file") && new File(uri.getSchemeSpecificPart()).isDirectory(); + final boolean isZipContribution = contribution.getLocation().endsWith(".zip"); + final URI uri = URI.create(contribution.getLocation()); + boolean isFolderContribution = AccessController.doPrivileged(new PrivilegedAction() { + public Boolean run() { + return !isZipContribution && uri.getScheme().equals("file") && new File(uri.getSchemeSpecificPart()).isDirectory(); + } + }); if (isZipContribution || isFolderContribution) { for (Artifact a : contribution.getArtifacts()) { if (a.getLocation().endsWith(".jar")) { -- cgit v1.2.3