Author: antelder
Date: Fri Mar 4 11:30:48 2011
New Revision: 1077885
URL: http://svn.apache.org/viewvc?rev=1077885&view=rev
Log:
Do some clean up, simplify dependencies, remove unused classes and folders,
update to restart stopped composites
Removed:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/runtime/
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/resources/META-INF/
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/pom.xml
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
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/pom.xml
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/pom.xml?rev=1077885&r1=1077884&r2=1077885&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/domain-node/pom.xml (original)
+++ tuscany/sca-java-2.x/trunk/modules/domain-node/pom.xml Fri Mar 4 11:30:48
2011
@@ -38,16 +38,11 @@
<version>2.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>2.0-SNAPSHOT</version>
- </dependency>
-
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-java-runtime</artifactId>
<version>2.0-SNAPSHOT</version>
+ <scope>test</scope>
</dependency>
<dependency>
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java?rev=1077885&r1=1077884&r2=1077885&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java
Fri Mar 4 11:30:48 2011
@@ -49,6 +49,10 @@ import org.apache.tuscany.sca.runtime.Ru
import org.apache.tuscany.sca.work.WorkScheduler;
import org.oasisopen.sca.ServiceRuntimeException;
+/**
+ * The TuscanyRuntime is the main class for using Tuscany. It can create Nodes,
+ * run composites, and provides access to various utility APIs
+ */
public class TuscanyRuntime {
private Deployer deployer;
@@ -57,9 +61,19 @@ public class TuscanyRuntime {
private ExtensibleDomainRegistryFactory domainRegistryFactory;
private RuntimeAssemblyFactory assemblyFactory;
+ /**
+ * Creates a new TuscanyRuntime
+ * @return a TuscanyRuntime
+ */
public static TuscanyRuntime newInstance() {
return new TuscanyRuntime(null);
}
+
+ /**
+ * Creates a new TuscanyRuntime
+ * @param config Properties to configure the TuscanyRuntime
+ * @return a TuscanyRuntime
+ */
public static TuscanyRuntime newInstance(Properties config) {
return new TuscanyRuntime(config);
}
@@ -85,6 +99,7 @@ public class TuscanyRuntime {
* @param contributionURL URL of the contribution
* @param dependentContributionURLs optional URLs of dependent
contributions
* @return a Node with installed contributions
+ * TODO: keep this helper method? Maybe say you should just create/use
Node directly
*/
public static Node runComposite(TuscanyRuntime runtime, String
compositeURI, String contributionURL, String... dependentContributionURLs) {
try {
@@ -116,10 +131,19 @@ public class TuscanyRuntime {
init(config);
}
+ /**
+ * Creates a Node
+ * @return a Node
+ */
public Node createNode() {
return createNode(null);
}
+ /**
+ * Creates a Node in an SCA domain
+ * @param domainURI the URI of the SCA domain
+ * @return a Node
+ */
public Node createNode(String domainURI) {
String domainName = "default";
if (domainURI != null){
@@ -129,6 +153,11 @@ public class TuscanyRuntime {
return new NodeImpl(domainName, deployer, compositeActivator,
endpointRegistry, extensionPointRegistry, null);
}
+ /**
+ * Creates a Node from an XML configuration file
+ * @param configURL the URL to the XML configuration file
+ * @return Node the configured Node
+ */
public Node createNodeFromXML(String configURL) throws
ContributionReadException, ActivationException, ValidationException {
NodeConfiguration configuration = loadConfiguration(configURL);
Node node = createNode(configuration.getDomainURI());
@@ -138,6 +167,9 @@ public class TuscanyRuntime {
return node;
}
+ /**
+ * Stop the TuscanyRuntime
+ */
public void stop() {
extensionPointRegistry.stop();
}
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java?rev=1077885&r1=1077884&r2=1077885&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java
Fri Mar 4 11:30:48 2011
@@ -52,6 +52,7 @@ public class DeployedComposite {
private Deployer deployer;
private EndpointRegistry endpointRegistry;
private ExtensionPointRegistry extensionPointRegistry;
+ private Contribution systemContribution;
public DeployedComposite(Composite composite,
InstalledContribution ic,
@@ -83,18 +84,14 @@ public class DeployedComposite {
contribution.get(0).getDeployables().clear();
contribution.get(0).getDeployables().add(composite);
- Monitor monitor = deployer.createMonitor();
-// TODO: is the ContextMonitor neccessary here?
-// Monitor tcm = monitorFactory.setContextMonitor(monitor);
-// try {
-
- domainComposite = deployer.build(contribution,
dependedOnContributions, new HashMap<QName, List<String>>(), monitor);
- monitor.analyzeProblems();
-
-// } finally {
-// monitorFactory.setContextMonitor(tcm);
-// }
+ Monitor monitor = deployer.createMonitor();
+ if (systemContribution == null) {
+ this.systemContribution =
deployer.cloneSystemContribution(monitor);
+ }
+ domainComposite = deployer.build(contribution,
dependedOnContributions, systemContribution, new HashMap<QName,
List<String>>(), monitor);
+ monitor.analyzeProblems();
+
compositeContext = new CompositeContext(extensionPointRegistry,
endpointRegistry,
domainComposite,
@@ -102,13 +99,17 @@ public class DeployedComposite {
null, // don't need node uri
deployer.getSystemDefinitions());
- compositeActivator.activate(compositeContext, domainComposite);
- compositeActivator.start(compositeContext, domainComposite);
+ start();
this.uri = getCompositeURI(composite, installedContribution);
}
- public void unDeploy() throws ActivationException {
+ public void start() throws ActivationException {
+ compositeActivator.activate(compositeContext, domainComposite);
+ compositeActivator.start(compositeContext, domainComposite);
+ }
+
+ public void stop() throws ActivationException {
compositeActivator.stop(compositeContext, domainComposite);
compositeActivator.deactivate(domainComposite);
}
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java?rev=1077885&r1=1077884&r2=1077885&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
Fri Mar 4 11:30:48 2011
@@ -20,10 +20,13 @@
package org.apache.tuscany.sca.impl;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.runtime.ActivationException;
public class InstalledContribution {
@@ -31,7 +34,8 @@ public class InstalledContribution {
private String url;
private Contribution contribution;
private List<Composite> defaultDeployables = new ArrayList<Composite>();
- private List<DeployedComposite> deployedComposites = new
ArrayList<DeployedComposite>();
+ private List<DeployedComposite> startededComposites = new
ArrayList<DeployedComposite>();
+ private Map<String, DeployedComposite> stoppedComposites = new
HashMap<String, DeployedComposite>();
private List<String> dependentContributionURIs;
public InstalledContribution(String uri, String url, Contribution
contribution, List<String> dependentContributionURIs) {
@@ -57,9 +61,33 @@ public class InstalledContribution {
return defaultDeployables;
}
public List<DeployedComposite> getDeployedComposites() {
- return deployedComposites;
+ return startededComposites;
}
public List<String> getDependentContributionURIs() {
return dependentContributionURIs;
}
+ public void stop(String compositeURI) throws ActivationException {
+ for (DeployedComposite dc : getDeployedComposites()) {
+ if (compositeURI.equals(dc.getURI())) {
+ getDeployedComposites().remove(dc);
+ dc.stop();
+ stoppedComposites.put(compositeURI, dc);
+ return;
+ }
+ }
+ throw new IllegalStateException("composite not deployed: " +
compositeURI);
+ }
+
+ public void start(DeployedComposite composite) {
+ startededComposites.add(composite);
+ }
+
+ public boolean restart(String compositeURI) throws ActivationException {
+ DeployedComposite dc = stoppedComposites.remove(compositeURI);
+ if (dc != null) {
+ dc.start();
+ startededComposites.add(dc);
+ }
+ return dc != null;
+ }
}
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=1077885&r1=1077884&r2=1077885&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 Mar 4 11:30:48 2011
@@ -188,13 +188,15 @@ public class NodeImpl implements Node {
if (ic == null) {
throw new IllegalArgumentException("Contribution not installed: "
+ contributionURI);
}
- for (Artifact a : ic.getContribution().getArtifacts()) {
- if (a.getURI().equals(compositeURI)) {
- startComposite((Composite) a.getModel(), ic);
- return;
+ if (!ic.restart(compositeURI)) {
+ for (Artifact a : ic.getContribution().getArtifacts()) {
+ if (a.getURI().equals(compositeURI)) {
+ startComposite((Composite) a.getModel(), ic);
+ return;
+ }
}
+ throw new IllegalArgumentException("composite not found: " +
compositeURI);
}
- throw new IllegalArgumentException("composite not found: " +
compositeURI);
}
@Override
@@ -203,14 +205,7 @@ public class NodeImpl implements Node {
if (ic == null) {
throw new IllegalArgumentException("Contribution not installed: "
+ contributionURI);
}
- for (DeployedComposite dc : ic.getDeployedComposites()) {
- if (compositeURI.equals(dc.getURI())) {
- ic.getDeployedComposites().remove(dc);
- dc.unDeploy();
- return;
- }
- }
- throw new IllegalStateException("composite not deployed: " +
compositeURI);
+ ic.stop(compositeURI);
}
public Composite getDomainLevelComposite() {
@@ -238,7 +233,7 @@ public class NodeImpl implements Node {
}
installedContributions.remove(contributionURI);
for (DeployedComposite dc : ic.getDeployedComposites()) {
- dc.unDeploy();
+ dc.stop();
}
ic.getDeployedComposites().clear();
}
@@ -447,9 +442,8 @@ public class NodeImpl implements Node {
protected void startComposite(Composite c, InstalledContribution ic)
throws ActivationException, ValidationException {
List<Contribution> dependentContributions =
calculateDependentContributions(ic);
-
DeployedComposite dc = new DeployedComposite(c, ic,
dependentContributions, deployer, compositeActivator, endpointRegistry,
extensionPointRegistry);
- ic.getDeployedComposites().add(dc);
+ ic.start(dc);
}
public Set<String> getDependentContributions(String contributionURI) {