Start adding code for addDeploymentComposite
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@947265 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
89c41da467
commit
3e7ef60206
2 changed files with 32 additions and 21 deletions
|
|
@ -23,6 +23,7 @@ import java.io.Reader;
|
|||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.tuscany.sca.assembly.Composite;
|
||||
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
|
||||
|
|
@ -114,11 +115,11 @@ public interface Section10 {
|
|||
* @param uri
|
||||
* @param compositeXML
|
||||
* @return
|
||||
* @throws XMLStreamException
|
||||
* @throws ContributionReadException
|
||||
* @throws ActivationException
|
||||
*/
|
||||
String addDeploymentComposite(String contriubutionURI, String compositeXML);
|
||||
|
||||
/* perhaps you may want other forms of that too, eg: */
|
||||
String addDeploymentComposite(String contriubutionURI, Reader compositeXML);
|
||||
String addDeploymentComposite(String contriubutionURI, Reader compositeXML) throws ContributionReadException, XMLStreamException, ActivationException;
|
||||
|
||||
/**
|
||||
* 4599 10.5.2 add Deployment Composite & update Deployment Composite
|
||||
|
|
@ -138,9 +139,6 @@ public interface Section10 {
|
|||
* @param compositeXML
|
||||
* @return
|
||||
*/
|
||||
String updateDeploymentComposite(String uri, String compositeXML);
|
||||
|
||||
/* and similar alternate form: */
|
||||
String updateDeploymentComposite(String uri, Reader compositeXML);
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -31,14 +31,17 @@ import java.util.Map;
|
|||
import java.util.Properties;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.tuscany.sca.assembly.Composite;
|
||||
import org.apache.tuscany.sca.common.java.io.IOHelper;
|
||||
import org.apache.tuscany.sca.contribution.Artifact;
|
||||
import org.apache.tuscany.sca.contribution.Contribution;
|
||||
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
|
||||
import org.apache.tuscany.sca.core.UtilityExtensionPoint;
|
||||
import org.apache.tuscany.sca.deployment.Deployer;
|
||||
import org.apache.tuscany.sca.monitor.Monitor;
|
||||
import org.apache.tuscany.sca.monitor.MonitorFactory;
|
||||
import org.apache.tuscany.sca.node.NodeFactory;
|
||||
import org.apache.tuscany.sca.node.impl.NodeFactoryImpl;
|
||||
import org.apache.tuscany.sca.runtime.ActivationException;
|
||||
|
|
@ -50,11 +53,15 @@ import org.oasisopen.sca.client.SCAClientFactory;
|
|||
public class Section10Impl implements Section10 {
|
||||
|
||||
protected NodeFactoryImpl nodeFactory;
|
||||
protected Deployer deployer;
|
||||
protected Map<String, InstalledContribution> installedContributions = new HashMap<String, InstalledContribution>();
|
||||
protected MonitorFactory monitorFactory;
|
||||
|
||||
public Section10Impl(Properties config) {
|
||||
this.nodeFactory = (NodeFactoryImpl)NodeFactory.newInstance(config);
|
||||
((NodeFactoryImpl)nodeFactory).start();
|
||||
this.deployer = nodeFactory.getDeployer();
|
||||
this.monitorFactory = nodeFactory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class).getUtility(MonitorFactory.class);
|
||||
}
|
||||
|
||||
public String installContribution(String contributionURL) throws ContributionReadException, ActivationException {
|
||||
|
|
@ -76,7 +83,6 @@ public class Section10Impl implements Section10 {
|
|||
}
|
||||
|
||||
public void installContribution(String uri, String contributionURL, List<String> dependentContributionURIs, boolean autoDeploy) throws ContributionReadException, ActivationException {
|
||||
Deployer deployer = nodeFactory.getDeployer();
|
||||
Monitor monitor = deployer.createMonitor();
|
||||
URL url = getLocationAsURL(contributionURL);
|
||||
Contribution contribution = deployer.loadContribution(URI.create(uri), url, monitor);
|
||||
|
|
@ -89,14 +95,27 @@ public class Section10Impl implements Section10 {
|
|||
}
|
||||
}
|
||||
|
||||
public String addDeploymentComposite(String contriubutionURI, String compositeXML) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
public String addDeploymentComposite(String contributionURI, Reader compositeXML) throws ContributionReadException, XMLStreamException, ActivationException {
|
||||
InstalledContribution ic = installedContributions.get(contributionURI);
|
||||
if (ic == null) {
|
||||
throw new IllegalArgumentException("contribution not installed: " + contributionURI);
|
||||
}
|
||||
|
||||
public String addDeploymentComposite(String contriubutionURI, Reader compositeXML) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
Monitor monitor = monitorFactory.createMonitor();
|
||||
Composite composite = deployer.loadXMLDocument(compositeXML, monitor);
|
||||
|
||||
String compositeArtifcatURI = composite.getName().getLocalPart() + ".composite";
|
||||
for (Artifact a : ic.getContribution().getArtifacts()) {
|
||||
if (compositeArtifcatURI.equals(a.getURI())) {
|
||||
throw new IllegalStateException("artifact '" + compositeArtifcatURI + "' already exists in contribution: " + contributionURI);
|
||||
}
|
||||
}
|
||||
|
||||
deployer.attachDeploymentComposite(ic.getContribution(), composite, true);
|
||||
|
||||
deployComposite(composite, ic);
|
||||
|
||||
return compositeArtifcatURI;
|
||||
}
|
||||
|
||||
public void addToDomainLevelComposite(String compositeURI) throws ActivationException {
|
||||
|
|
@ -164,12 +183,6 @@ public class Section10Impl implements Section10 {
|
|||
// is this just removeContribution/installContribution?
|
||||
}
|
||||
|
||||
public String updateDeploymentComposite(String uri, String compositeXML) {
|
||||
// TODO Auto-generated method stub
|
||||
// is this removeFromDomainLevelComposite/addDeploymentComposite
|
||||
return null;
|
||||
}
|
||||
|
||||
public String updateDeploymentComposite(String uri, Reader compositeXML) {
|
||||
// TODO Auto-generated method stub
|
||||
// is this removeFromDomainLevelComposite/addDeploymentComposite
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue