You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2011/05/13 10:35:16 UTC
svn commit: r1102609 -
/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
Author: antelder
Date: Fri May 13 08:35:15 2011
New Revision: 1102609
URL: http://svn.apache.org/viewvc?rev=1102609&view=rev
Log:
Add code to find the contribution attributes when installing a contribution
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
Modified: tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java?rev=1102609&r1=1102608&r2=1102609&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java Fri May 13 08:35:15 2011
@@ -108,14 +108,40 @@ public class NodeImpl implements Node {
org.apache.tuscany.sca.runtime.InstalledContribution ic = new org.apache.tuscany.sca.runtime.InstalledContribution();
ic.setURI(uri);
ic.setURL(contributionURL);
+ peekIntoContribution(ic);
endpointRegistry.installContribution(ic);
if (startDeployables) {
+ for (String compositeURI : ic.getDeployables()) {
+ start(uri, compositeURI);
+ }
// TODO: sort out metadata and dependents in distributed
localInstall(uri, contributionURL, metaDataURL, dependentContributionURIs, startDeployables);
}
return uri;
}
+ /**
+ * ASM12032 and ASM12033 say no error checking should be done during install and that should happen later, but
+ * we would still like to know about deployables and exports so peek into the contribution to try to get those,
+ * and just ignore any errors they might happen while doing that.
+ */
+ protected void peekIntoContribution(org.apache.tuscany.sca.runtime.InstalledContribution ic) {
+ Contribution contribution = null;
+ try {
+ contribution = deployer.loadContribution(IOHelper.createURI(ic.getURI()), IOHelper.getLocationAsURL(ic.getURI()), deployer.createMonitor());
+ } catch (Exception e) {
+ // ignore any errors
+ }
+ if (contribution != null) {
+ for (Composite composite : contribution.getDeployables()) {
+ ic.getDeployables().add(composite.getURI());
+ }
+ // TODO: need to sort out if Export or xml goes in the reg
+// for (Export e : contribution.getExports()) {
+// }
+ }
+ }
+
private void localInstall(String uri, String contributionURL, String metaDataURL, List<String> dependentContributionURIs, boolean startDeployables) throws ContributionReadException, ValidationException, ActivationException {
Monitor monitor = deployer.createMonitor();
Contribution contribution = deployer.loadContribution(IOHelper.createURI(uri), IOHelper.getLocationAsURL(contributionURL), monitor);