Return-Path: X-Original-To: apmail-tuscany-commits-archive@www.apache.org Delivered-To: apmail-tuscany-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 04DEA4C66 for ; Sun, 15 May 2011 06:54:31 +0000 (UTC) Received: (qmail 21098 invoked by uid 500); 15 May 2011 06:54:30 -0000 Delivered-To: apmail-tuscany-commits-archive@tuscany.apache.org Received: (qmail 21029 invoked by uid 500); 15 May 2011 06:54:30 -0000 Mailing-List: contact commits-help@tuscany.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tuscany.apache.org Delivered-To: mailing list commits@tuscany.apache.org Received: (qmail 21022 invoked by uid 99); 15 May 2011 06:54:30 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 15 May 2011 06:54:30 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 15 May 2011 06:54:28 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id DDC092388994; Sun, 15 May 2011 06:54:08 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1103280 - /tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/InstalledContribution.java Date: Sun, 15 May 2011 06:54:08 -0000 To: commits@tuscany.apache.org From: antelder@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110515065408.DDC092388994@eris.apache.org> Author: antelder Date: Sun May 15 06:54:08 2011 New Revision: 1103280 URL: http://svn.apache.org/viewvc?rev=1103280&view=rev Log: Update InstalledContribution to derive a default uri when no uri is specify Modified: tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/InstalledContribution.java Modified: tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/InstalledContribution.java URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/InstalledContribution.java?rev=1103280&r1=1103279&r2=1103280&view=diff ============================================================================== --- tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/InstalledContribution.java (original) +++ tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/InstalledContribution.java Sun May 15 06:54:08 2011 @@ -19,6 +19,7 @@ package org.apache.tuscany.sca.runtime; +import java.io.File; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; @@ -46,18 +47,23 @@ public class InstalledContribution imple // the URI and XML content of composites to include in the contribution private Map additionalDeployables = new HashMap(); - public String getURI() { - return uri; + public InstalledContribution(String url) { + this(null, url); } - public void setURI(String uri) { + public InstalledContribution(String uri, String url) { + this.url = url; this.uri = uri; + if (uri == null || uri.length() < 1) { + this.uri = deriveContributionURI(url); + } + } + + public String getURI() { + return uri; } public String getURL() { return url; } - public void setURL(String url) { - this.url = url; - } public List getDeployables() { return deployables; } @@ -91,4 +97,32 @@ public class InstalledContribution imple public List getNamespaceExports() { return namespaceExports; } + + /** + * Derives a URI for the contribution based on its URL + */ + protected String deriveContributionURI(String contributionURL) { + String uri = null; + try { + File f = new File(contributionURL); + if ("classes".equals(f.getName()) && "target".equals(f.getParentFile().getName())) { + uri = f.getParentFile().getParentFile().getName(); + } else { + uri = f.getName(); + } + } catch (Exception e) { + // ignore + } + if (uri == null) { + uri = contributionURL; + } + if (uri.endsWith(".zip") || uri.endsWith(".jar")) { + uri = uri.substring(0, uri.length() - 4); + } + if (uri.endsWith("SNAPSHOT")) { + uri = uri.substring(0, uri.lastIndexOf('-')); + uri = uri.substring(0, uri.lastIndexOf('-')); + } + return uri; + } }