summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2010-06-05 05:17:47 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2010-06-05 05:17:47 +0000
commitf052ca9d9dc273dc0f625c9a6ec6eb38d6bc0f3a (patch)
treec316c1a4a098d965f91aef6422aebb862a88a0f7 /sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl
parent8fde4cc2b0f89400b21744d67d91db49f1df8318 (diff)
Setting svn:eol-style for java and xml files
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@951651 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl')
-rw-r--r--sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/DeployedComposite.java276
-rw-r--r--sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/InstalledContribution.java120
-rw-r--r--sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java556
3 files changed, 476 insertions, 476 deletions
diff --git a/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/DeployedComposite.java b/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/DeployedComposite.java
index dfd4c9b9ba..6a08a1cfbc 100644
--- a/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/DeployedComposite.java
+++ b/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/DeployedComposite.java
@@ -1,138 +1,138 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.something.impl;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
-import org.apache.tuscany.sca.context.CompositeContext;
-import org.apache.tuscany.sca.contribution.Artifact;
-import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.deployment.Deployer;
-import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.ValidationException;
-import org.apache.tuscany.sca.runtime.ActivationException;
-import org.apache.tuscany.sca.runtime.CompositeActivator;
-import org.apache.tuscany.sca.runtime.EndpointRegistry;
-
-public class DeployedComposite {
-
- private String uri;
- private Composite composite;
- private InstalledContribution installedContribution;
- private List<Contribution> dependedOnContributions;
- private Composite domainComposite; // TODO: this is misleadingly named
-
- private CompositeActivator compositeActivator;
- private CompositeContext compositeContext;
- private Deployer deployer;
- private EndpointRegistry endpointRegistry;
- private ExtensionPointRegistry extensionPointRegistry;
-
- public DeployedComposite(Composite composite,
- InstalledContribution ic,
- List<Contribution> dependedOnContributions,
- Deployer deployer,
- CompositeActivator compositeActivator,
- EndpointRegistry endpointRegistry,
- ExtensionPointRegistry extensionPointRegistry) throws ActivationException {
- this.composite = composite;
- this.installedContribution = ic;
- this.dependedOnContributions = dependedOnContributions;
- this.deployer = deployer;
- this.compositeActivator = compositeActivator;
- this.endpointRegistry = endpointRegistry;
- this.extensionPointRegistry = extensionPointRegistry;
- try {
- init();
- } catch (Exception e) {
- throw new ActivationException(e);
- }
- }
-
- protected void init() throws ValidationException, ContributionResolveException, CompositeBuilderException, ActivationException {
-
- List<Contribution> contribution = new ArrayList<Contribution>();
- contribution.add(installedContribution.getContribution());
- 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);
-// }
-
- compositeContext = new CompositeContext(extensionPointRegistry,
- endpointRegistry,
- domainComposite,
- null, // nothing appears to use the domain name in CompositeContext
- null, // don't need node uri
- deployer.getSystemDefinitions());
-
- CompositeContext.setThreadCompositeContext(compositeContext); // TODO: what is this doing?
-
- compositeActivator.activate(compositeContext, domainComposite);
- compositeActivator.start(compositeContext, domainComposite);
-
- this.uri = getCompositeURI(composite, installedContribution);
- }
-
- public void unDeploy() throws ActivationException {
- compositeActivator.stop(compositeContext, domainComposite);
- compositeActivator.deactivate(domainComposite);
- }
-
- public String getURI() {
- return uri;
- }
-
- /**
- * Deployable composites don't have the uri set so get it from the artifact in the contribution
- * // TODO: fix the Tuscany code so this uri is correctly set and this method isn't needed
- */
- protected String getCompositeURI(Composite c, InstalledContribution ic) {
- for (Artifact a : ic.getContribution().getArtifacts()) {
- if (a.getModel() != null) {
- if (a.getModel() instanceof Composite) {
- Composite cm = a.getModel();
- if (c.getName().equals(cm.getName())) {
- return cm.getURI();
- }
- }
- }
- }
- // shouldn't ever happen
- throw new IllegalStateException("can't determine composte uri");
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.something.impl;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.tuscany.sca.assembly.Composite;
+import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
+import org.apache.tuscany.sca.context.CompositeContext;
+import org.apache.tuscany.sca.contribution.Artifact;
+import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.deployment.Deployer;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.ValidationException;
+import org.apache.tuscany.sca.runtime.ActivationException;
+import org.apache.tuscany.sca.runtime.CompositeActivator;
+import org.apache.tuscany.sca.runtime.EndpointRegistry;
+
+public class DeployedComposite {
+
+ private String uri;
+ private Composite composite;
+ private InstalledContribution installedContribution;
+ private List<Contribution> dependedOnContributions;
+ private Composite domainComposite; // TODO: this is misleadingly named
+
+ private CompositeActivator compositeActivator;
+ private CompositeContext compositeContext;
+ private Deployer deployer;
+ private EndpointRegistry endpointRegistry;
+ private ExtensionPointRegistry extensionPointRegistry;
+
+ public DeployedComposite(Composite composite,
+ InstalledContribution ic,
+ List<Contribution> dependedOnContributions,
+ Deployer deployer,
+ CompositeActivator compositeActivator,
+ EndpointRegistry endpointRegistry,
+ ExtensionPointRegistry extensionPointRegistry) throws ActivationException {
+ this.composite = composite;
+ this.installedContribution = ic;
+ this.dependedOnContributions = dependedOnContributions;
+ this.deployer = deployer;
+ this.compositeActivator = compositeActivator;
+ this.endpointRegistry = endpointRegistry;
+ this.extensionPointRegistry = extensionPointRegistry;
+ try {
+ init();
+ } catch (Exception e) {
+ throw new ActivationException(e);
+ }
+ }
+
+ protected void init() throws ValidationException, ContributionResolveException, CompositeBuilderException, ActivationException {
+
+ List<Contribution> contribution = new ArrayList<Contribution>();
+ contribution.add(installedContribution.getContribution());
+ 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);
+// }
+
+ compositeContext = new CompositeContext(extensionPointRegistry,
+ endpointRegistry,
+ domainComposite,
+ null, // nothing appears to use the domain name in CompositeContext
+ null, // don't need node uri
+ deployer.getSystemDefinitions());
+
+ CompositeContext.setThreadCompositeContext(compositeContext); // TODO: what is this doing?
+
+ compositeActivator.activate(compositeContext, domainComposite);
+ compositeActivator.start(compositeContext, domainComposite);
+
+ this.uri = getCompositeURI(composite, installedContribution);
+ }
+
+ public void unDeploy() throws ActivationException {
+ compositeActivator.stop(compositeContext, domainComposite);
+ compositeActivator.deactivate(domainComposite);
+ }
+
+ public String getURI() {
+ return uri;
+ }
+
+ /**
+ * Deployable composites don't have the uri set so get it from the artifact in the contribution
+ * // TODO: fix the Tuscany code so this uri is correctly set and this method isn't needed
+ */
+ protected String getCompositeURI(Composite c, InstalledContribution ic) {
+ for (Artifact a : ic.getContribution().getArtifacts()) {
+ if (a.getModel() != null) {
+ if (a.getModel() instanceof Composite) {
+ Composite cm = a.getModel();
+ if (c.getName().equals(cm.getName())) {
+ return cm.getURI();
+ }
+ }
+ }
+ }
+ // shouldn't ever happen
+ throw new IllegalStateException("can't determine composte uri");
+ }
+}
diff --git a/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/InstalledContribution.java b/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/InstalledContribution.java
index 69dc9e6992..fe8c6812ae 100644
--- a/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/InstalledContribution.java
+++ b/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/InstalledContribution.java
@@ -1,60 +1,60 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.something.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.contribution.Contribution;
-
-public class InstalledContribution {
-
- private String uri;
- private String url;
- private Contribution contribution;
- private List<Composite> defaultDeployables = new ArrayList<Composite>();
- private List<DeployedComposite> deployedComposites = new ArrayList<DeployedComposite>();
-
- public InstalledContribution(String uri, String url, Contribution contribution) {
- this.uri = uri;
- this.url = url;
- this.contribution = contribution;
- this.defaultDeployables = contribution.getDeployables();
- }
- public Contribution getContribution() {
- return contribution;
- }
- public void setContribution(Contribution contribution) {
- this.contribution = contribution;
- }
- public String getURI() {
- return uri;
- }
- public String getURL() {
- return url;
- }
- public List<Composite> getDefaultDeployables() {
- return defaultDeployables;
- }
- public List<DeployedComposite> getDeployedComposites() {
- return deployedComposites;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.something.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.tuscany.sca.assembly.Composite;
+import org.apache.tuscany.sca.contribution.Contribution;
+
+public class InstalledContribution {
+
+ private String uri;
+ private String url;
+ private Contribution contribution;
+ private List<Composite> defaultDeployables = new ArrayList<Composite>();
+ private List<DeployedComposite> deployedComposites = new ArrayList<DeployedComposite>();
+
+ public InstalledContribution(String uri, String url, Contribution contribution) {
+ this.uri = uri;
+ this.url = url;
+ this.contribution = contribution;
+ this.defaultDeployables = contribution.getDeployables();
+ }
+ public Contribution getContribution() {
+ return contribution;
+ }
+ public void setContribution(Contribution contribution) {
+ this.contribution = contribution;
+ }
+ public String getURI() {
+ return uri;
+ }
+ public String getURL() {
+ return url;
+ }
+ public List<Composite> getDefaultDeployables() {
+ return defaultDeployables;
+ }
+ public List<DeployedComposite> getDeployedComposites() {
+ return deployedComposites;
+ }
+}
diff --git a/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java b/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java
index 55b716e5a6..15cc714896 100644
--- a/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java
+++ b/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java
@@ -1,278 +1,278 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.something.impl;
-
-import java.io.Reader;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-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.ContributionMetadata;
-import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.deployment.Deployer;
-import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.ValidationException;
-import org.apache.tuscany.sca.runtime.ActivationException;
-import org.apache.tuscany.sca.runtime.CompositeActivator;
-import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.something.Section10;
-import org.oasisopen.sca.NoSuchDomainException;
-import org.oasisopen.sca.NoSuchServiceException;
-import org.oasisopen.sca.client.SCAClientFactory;
-
-public class Section10Impl implements Section10 {
-
- private String domainName;
- private Deployer deployer;
- private Map<String, InstalledContribution> installedContributions = new HashMap<String, InstalledContribution>();
- private CompositeActivator compositeActivator;
- private EndpointRegistry endpointRegistry;
- private ExtensionPointRegistry extensionPointRegistry;
-
- public Section10Impl(String domainName, Deployer deployer, CompositeActivator compositeActivator, EndpointRegistry endpointRegistry, ExtensionPointRegistry extensionPointRegistry) {
- this.domainName = domainName;
- this.deployer = deployer;
- this.compositeActivator = compositeActivator;
- this.endpointRegistry = endpointRegistry;
- this.extensionPointRegistry = extensionPointRegistry;
- }
-
- public void installContribution(String uri, String contributionURL, String metaDataURL, List<String> dependentContributionURIs, boolean deployDeployables) throws ContributionReadException, ActivationException, ValidationException {
- Monitor monitor = deployer.createMonitor();
- Contribution contribution = deployer.loadContribution(URI.create(uri), IOHelper.getLocationAsURL(contributionURL), monitor);
- monitor.analyzeProblems();
- if (metaDataURL != null) {
- mergeContributionMetaData(metaDataURL, contribution);
- }
- installContribution(contribution, dependentContributionURIs, deployDeployables);
- }
-
- private void mergeContributionMetaData(String metaDataURL, Contribution contribution) throws ValidationException {
- ContributionMetadata metaData;
- Monitor monitor = deployer.createMonitor();
- try {
- metaData = deployer.loadXMLDocument(IOHelper.getLocationAsURL(metaDataURL), monitor);
- } catch (Exception e) {
- throw new ValidationException(e);
- }
- monitor.analyzeProblems();
- contribution.getDeployables().addAll(metaData.getDeployables());
- contribution.getImports().addAll(metaData.getImports());
- contribution.getExports().addAll(metaData.getExports());
- }
-
- public void installContribution(Contribution contribution, List<String> dependentContributionURIs, boolean deployDeployables) throws ContributionReadException, ActivationException, ValidationException {
- // TODO: dependentContributionURIs
- InstalledContribution ic = new InstalledContribution(contribution.getURI(), contribution.getLocation(), contribution);
- installedContributions.put(contribution.getURI(), ic);
- if (deployDeployables) {
- for (Composite c : ic.getDefaultDeployables()) {
- deployComposite(c, ic);
- }
- }
- }
-
- public String addDeploymentComposite(String contributionURI, Reader compositeXML) throws ContributionReadException, XMLStreamException, ActivationException, ValidationException {
- Monitor monitor = deployer.createMonitor();
- Composite composite = deployer.loadXMLDocument(compositeXML, monitor);
- monitor.analyzeProblems();
- return addDeploymentComposite(contributionURI, composite);
- }
-
- public String addDeploymentComposite(String contributionURI, Composite composite) throws ActivationException {
- InstalledContribution ic = installedContributions.get(contributionURI);
- if (ic == null) {
- throw new IllegalArgumentException("contribution not installed: " + contributionURI);
- }
- String compositeArtifcatURI = deployer.attachDeploymentComposite(ic.getContribution(), composite, true);
- deployComposite(composite, ic);
- return compositeArtifcatURI;
- }
-
- public void addToDomainLevelComposite(String compositeURI) throws ActivationException {
- String contributionURI = getContributionUriForArtifact(compositeURI);
- InstalledContribution ic = installedContributions.get(contributionURI);
- if (ic == null) {
- throw new IllegalArgumentException("Contribution not installed: " + contributionURI);
- }
- String relativeURI = compositeURI.substring(contributionURI.length()+1);
- for (Artifact a : ic.getContribution().getArtifacts()) {
- if (a.getURI().equals(relativeURI)) {
- deployComposite((Composite) a.getModel(), ic);
- return;
- }
- }
- throw new IllegalArgumentException("composite not found: " + compositeURI);
- }
-
- public void removeFromDomainLevelComposite(String compositeURI) throws ActivationException {
- String contributionURI = getContributionUriForArtifact(compositeURI);
- InstalledContribution ic = installedContributions.get(contributionURI);
- String relativeURI = compositeURI.substring(contributionURI.length()+1);
- for (DeployedComposite dc : ic.getDeployedComposites()) {
- if (relativeURI.equals(dc.getURI())) {
- ic.getDeployedComposites().remove(dc);
- dc.unDeploy();
- return;
- }
- }
- throw new IllegalStateException("composite not deployed: " + compositeURI);
- }
-
- public Composite getDomainLevelComposite() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public String getDomainLevelCompositeAsString() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Object getQNameDefinition(String contributionURI, QName definition, QName symbolSpace) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public List<String> removeContribution(String contributionURI) throws ActivationException {
- List<String> removedContributionURIs = new ArrayList<String>();
- InstalledContribution ic = installedContributions.get(contributionURI);
- if (ic != null) {
- removedContributionURIs.add(ic.getURI());
- for (String dependent : getDependentContributions(contributionURI)) {
- removedContributionURIs.addAll(removeContribution(dependent));
- }
- installedContributions.remove(contributionURI);
- for (DeployedComposite dc : ic.getDeployedComposites()) {
- dc.unDeploy();
- }
- ic.getDeployedComposites().clear();
- }
- return removedContributionURIs;
- }
-
- public void updateContribution(String uri, String contributionURL) {
- // TODO Auto-generated method stub
- // is this just removeContribution/installContribution?
- }
- public void updateContribution(Contribution contribution) {
- // TODO Auto-generated method stub
- }
-
- public String updateDeploymentComposite(String uri, Reader compositeXML) {
- // TODO Auto-generated method stub
- // is this removeFromDomainLevelComposite/addDeploymentComposite
- return null;
- }
- public String updateDeploymentComposite(String uri, Composite composite) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public void shutdown() throws ActivationException {
- for (String uri : installedContributions.keySet()) {
- removeContribution(uri);
- }
- }
-
- public <T> T getService(Class<T> interfaze, String serviceURI) throws NoSuchServiceException {
- try {
- return SCAClientFactory.newInstance(URI.create(getDomainName())).getService(interfaze, serviceURI);
- } catch (NoSuchDomainException e) {
- // shouldn't ever happen as we know this is the domain so it must exist
- throw new IllegalStateException(e);
- }
- }
-
- public String getDomainName() {
- return domainName;
- }
-
- public List<String> getDeployedCompostes(String contributionURI) {
- ArrayList<String> compositeURIs = new ArrayList<String>();
- for (InstalledContribution ic : installedContributions.values()) {
- for (DeployedComposite dc : ic.getDeployedComposites()) {
- compositeURIs.add(ic.getURI() + "/" + dc.getURI());
- }
- }
- return compositeURIs;
- }
-
- public List<String> getInstalledContributions() {
- return new ArrayList<String>(installedContributions.keySet());
- }
-
- protected String getContributionUriForArtifact(String artifactURI) {
- String contributionURI = null;
- for (String uri : installedContributions.keySet()) {
- if (artifactURI.startsWith(uri)) {
- contributionURI = uri;
- break;
- }
- }
- if (contributionURI == null) {
- throw new IllegalArgumentException("no contribution found for: " + artifactURI);
- }
- return contributionURI;
- }
-
- protected void deployComposite(Composite c, InstalledContribution ic) throws ActivationException {
- List<Contribution> dependentContributions = new ArrayList<Contribution>();
- for (InstalledContribution ics : installedContributions.values()) {
- dependentContributions.add(ics.getContribution());
- }
-
- DeployedComposite dc = new DeployedComposite(c, ic, dependentContributions, deployer, compositeActivator, endpointRegistry, extensionPointRegistry);
- ic.getDeployedComposites().add(dc);
- }
-
- public Set<String> getDependentContributions(String contributionURI) {
- InstalledContribution ic = installedContributions.get(contributionURI);
- if (ic == null) {
- throw new IllegalArgumentException("Contribution not installed: " + contributionURI);
- }
- Set<String> dependentContributionURIs = new HashSet<String>();
- for (InstalledContribution icx : installedContributions.values()) {
- if (ic != icx) {
- List<Contribution> dependencies = icx.getContribution().getDependencies();
- if (dependencies != null && dependencies.contains(ic.getContribution())) {
- dependentContributionURIs.addAll(getDependentContributions(icx.getURI()));
- }
- }
- }
- return dependentContributionURIs;
- }
-
- public Deployer getDeployer() {
- return deployer;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.something.impl;
+
+import java.io.Reader;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+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.ContributionMetadata;
+import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.deployment.Deployer;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.ValidationException;
+import org.apache.tuscany.sca.runtime.ActivationException;
+import org.apache.tuscany.sca.runtime.CompositeActivator;
+import org.apache.tuscany.sca.runtime.EndpointRegistry;
+import org.apache.tuscany.sca.something.Section10;
+import org.oasisopen.sca.NoSuchDomainException;
+import org.oasisopen.sca.NoSuchServiceException;
+import org.oasisopen.sca.client.SCAClientFactory;
+
+public class Section10Impl implements Section10 {
+
+ private String domainName;
+ private Deployer deployer;
+ private Map<String, InstalledContribution> installedContributions = new HashMap<String, InstalledContribution>();
+ private CompositeActivator compositeActivator;
+ private EndpointRegistry endpointRegistry;
+ private ExtensionPointRegistry extensionPointRegistry;
+
+ public Section10Impl(String domainName, Deployer deployer, CompositeActivator compositeActivator, EndpointRegistry endpointRegistry, ExtensionPointRegistry extensionPointRegistry) {
+ this.domainName = domainName;
+ this.deployer = deployer;
+ this.compositeActivator = compositeActivator;
+ this.endpointRegistry = endpointRegistry;
+ this.extensionPointRegistry = extensionPointRegistry;
+ }
+
+ public void installContribution(String uri, String contributionURL, String metaDataURL, List<String> dependentContributionURIs, boolean deployDeployables) throws ContributionReadException, ActivationException, ValidationException {
+ Monitor monitor = deployer.createMonitor();
+ Contribution contribution = deployer.loadContribution(URI.create(uri), IOHelper.getLocationAsURL(contributionURL), monitor);
+ monitor.analyzeProblems();
+ if (metaDataURL != null) {
+ mergeContributionMetaData(metaDataURL, contribution);
+ }
+ installContribution(contribution, dependentContributionURIs, deployDeployables);
+ }
+
+ private void mergeContributionMetaData(String metaDataURL, Contribution contribution) throws ValidationException {
+ ContributionMetadata metaData;
+ Monitor monitor = deployer.createMonitor();
+ try {
+ metaData = deployer.loadXMLDocument(IOHelper.getLocationAsURL(metaDataURL), monitor);
+ } catch (Exception e) {
+ throw new ValidationException(e);
+ }
+ monitor.analyzeProblems();
+ contribution.getDeployables().addAll(metaData.getDeployables());
+ contribution.getImports().addAll(metaData.getImports());
+ contribution.getExports().addAll(metaData.getExports());
+ }
+
+ public void installContribution(Contribution contribution, List<String> dependentContributionURIs, boolean deployDeployables) throws ContributionReadException, ActivationException, ValidationException {
+ // TODO: dependentContributionURIs
+ InstalledContribution ic = new InstalledContribution(contribution.getURI(), contribution.getLocation(), contribution);
+ installedContributions.put(contribution.getURI(), ic);
+ if (deployDeployables) {
+ for (Composite c : ic.getDefaultDeployables()) {
+ deployComposite(c, ic);
+ }
+ }
+ }
+
+ public String addDeploymentComposite(String contributionURI, Reader compositeXML) throws ContributionReadException, XMLStreamException, ActivationException, ValidationException {
+ Monitor monitor = deployer.createMonitor();
+ Composite composite = deployer.loadXMLDocument(compositeXML, monitor);
+ monitor.analyzeProblems();
+ return addDeploymentComposite(contributionURI, composite);
+ }
+
+ public String addDeploymentComposite(String contributionURI, Composite composite) throws ActivationException {
+ InstalledContribution ic = installedContributions.get(contributionURI);
+ if (ic == null) {
+ throw new IllegalArgumentException("contribution not installed: " + contributionURI);
+ }
+ String compositeArtifcatURI = deployer.attachDeploymentComposite(ic.getContribution(), composite, true);
+ deployComposite(composite, ic);
+ return compositeArtifcatURI;
+ }
+
+ public void addToDomainLevelComposite(String compositeURI) throws ActivationException {
+ String contributionURI = getContributionUriForArtifact(compositeURI);
+ InstalledContribution ic = installedContributions.get(contributionURI);
+ if (ic == null) {
+ throw new IllegalArgumentException("Contribution not installed: " + contributionURI);
+ }
+ String relativeURI = compositeURI.substring(contributionURI.length()+1);
+ for (Artifact a : ic.getContribution().getArtifacts()) {
+ if (a.getURI().equals(relativeURI)) {
+ deployComposite((Composite) a.getModel(), ic);
+ return;
+ }
+ }
+ throw new IllegalArgumentException("composite not found: " + compositeURI);
+ }
+
+ public void removeFromDomainLevelComposite(String compositeURI) throws ActivationException {
+ String contributionURI = getContributionUriForArtifact(compositeURI);
+ InstalledContribution ic = installedContributions.get(contributionURI);
+ String relativeURI = compositeURI.substring(contributionURI.length()+1);
+ for (DeployedComposite dc : ic.getDeployedComposites()) {
+ if (relativeURI.equals(dc.getURI())) {
+ ic.getDeployedComposites().remove(dc);
+ dc.unDeploy();
+ return;
+ }
+ }
+ throw new IllegalStateException("composite not deployed: " + compositeURI);
+ }
+
+ public Composite getDomainLevelComposite() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getDomainLevelCompositeAsString() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Object getQNameDefinition(String contributionURI, QName definition, QName symbolSpace) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List<String> removeContribution(String contributionURI) throws ActivationException {
+ List<String> removedContributionURIs = new ArrayList<String>();
+ InstalledContribution ic = installedContributions.get(contributionURI);
+ if (ic != null) {
+ removedContributionURIs.add(ic.getURI());
+ for (String dependent : getDependentContributions(contributionURI)) {
+ removedContributionURIs.addAll(removeContribution(dependent));
+ }
+ installedContributions.remove(contributionURI);
+ for (DeployedComposite dc : ic.getDeployedComposites()) {
+ dc.unDeploy();
+ }
+ ic.getDeployedComposites().clear();
+ }
+ return removedContributionURIs;
+ }
+
+ public void updateContribution(String uri, String contributionURL) {
+ // TODO Auto-generated method stub
+ // is this just removeContribution/installContribution?
+ }
+ public void updateContribution(Contribution contribution) {
+ // TODO Auto-generated method stub
+ }
+
+ public String updateDeploymentComposite(String uri, Reader compositeXML) {
+ // TODO Auto-generated method stub
+ // is this removeFromDomainLevelComposite/addDeploymentComposite
+ return null;
+ }
+ public String updateDeploymentComposite(String uri, Composite composite) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void shutdown() throws ActivationException {
+ for (String uri : installedContributions.keySet()) {
+ removeContribution(uri);
+ }
+ }
+
+ public <T> T getService(Class<T> interfaze, String serviceURI) throws NoSuchServiceException {
+ try {
+ return SCAClientFactory.newInstance(URI.create(getDomainName())).getService(interfaze, serviceURI);
+ } catch (NoSuchDomainException e) {
+ // shouldn't ever happen as we know this is the domain so it must exist
+ throw new IllegalStateException(e);
+ }
+ }
+
+ public String getDomainName() {
+ return domainName;
+ }
+
+ public List<String> getDeployedCompostes(String contributionURI) {
+ ArrayList<String> compositeURIs = new ArrayList<String>();
+ for (InstalledContribution ic : installedContributions.values()) {
+ for (DeployedComposite dc : ic.getDeployedComposites()) {
+ compositeURIs.add(ic.getURI() + "/" + dc.getURI());
+ }
+ }
+ return compositeURIs;
+ }
+
+ public List<String> getInstalledContributions() {
+ return new ArrayList<String>(installedContributions.keySet());
+ }
+
+ protected String getContributionUriForArtifact(String artifactURI) {
+ String contributionURI = null;
+ for (String uri : installedContributions.keySet()) {
+ if (artifactURI.startsWith(uri)) {
+ contributionURI = uri;
+ break;
+ }
+ }
+ if (contributionURI == null) {
+ throw new IllegalArgumentException("no contribution found for: " + artifactURI);
+ }
+ return contributionURI;
+ }
+
+ protected void deployComposite(Composite c, InstalledContribution ic) throws ActivationException {
+ List<Contribution> dependentContributions = new ArrayList<Contribution>();
+ for (InstalledContribution ics : installedContributions.values()) {
+ dependentContributions.add(ics.getContribution());
+ }
+
+ DeployedComposite dc = new DeployedComposite(c, ic, dependentContributions, deployer, compositeActivator, endpointRegistry, extensionPointRegistry);
+ ic.getDeployedComposites().add(dc);
+ }
+
+ public Set<String> getDependentContributions(String contributionURI) {
+ InstalledContribution ic = installedContributions.get(contributionURI);
+ if (ic == null) {
+ throw new IllegalArgumentException("Contribution not installed: " + contributionURI);
+ }
+ Set<String> dependentContributionURIs = new HashSet<String>();
+ for (InstalledContribution icx : installedContributions.values()) {
+ if (ic != icx) {
+ List<Contribution> dependencies = icx.getContribution().getDependencies();
+ if (dependencies != null && dependencies.contains(ic.getContribution())) {
+ dependentContributionURIs.addAll(getDependentContributions(icx.getURI()));
+ }
+ }
+ }
+ return dependentContributionURIs;
+ }
+
+ public Deployer getDeployer() {
+ return deployer;
+ }
+}