diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-06-05 05:17:47 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-06-05 05:17:47 +0000 |
commit | f052ca9d9dc273dc0f625c9a6ec6eb38d6bc0f3a (patch) | |
tree | c316c1a4a098d965f91aef6422aebb862a88a0f7 /sca-java-2.x/trunk/modules/domain/src | |
parent | 8fde4cc2b0f89400b21744d67d91db49f1df8318 (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 '')
9 files changed, 1044 insertions, 1044 deletions
diff --git a/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10.java b/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10.java index 78e76810e9..1eb7e48b76 100644 --- a/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10.java +++ b/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10.java @@ -1,235 +1,235 @@ -/*
- * 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;
-
-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.Contribution;
-import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
-import org.apache.tuscany.sca.deployment.Deployer;
-import org.apache.tuscany.sca.monitor.ValidationException;
-import org.apache.tuscany.sca.runtime.ActivationException;
-import org.oasisopen.sca.NoSuchServiceException;
-
-public interface Section10 {
-
- /**
- * 4577 10.5.1 install Contribution & update Contribution
- * 4578 Creates or updates an installed contribution with a supplied root contribution, and installed at a supplied
- * 4579 base URI. A supplied dependent contribution list (<export/> elements) specifies the contributions that are
- * 4580 used to resolve the dependencies of the root contribution and other dependent contributions. These
- * 4581 override any dependent contributions explicitly listed via the @location attribute in the import statements
- * 4582 of the contribution.
- * 4583 SCA follows the simplifying assumption that the use of a contribution for resolving anything also means
- * 4584 that all other exported artifacts can be used from that contribution. Because of this, the dependent
- * 4585 contribution list is just a list of installed contribution URIs. There is no need to specify what is being used
- * 4586 from each one.
- * 4587 Each dependent contribution is also an installed contribution, with its own dependent contributions. By
- * 4588 default these dependent contributions of the dependent contributions (which we will call indirect
- * 4589 dependent contributions) are included as dependent contributions of the installed contribution. However,
- * 4590 if a contribution in the dependent contribution list exports any conflicting definitions with an indirect
- * 4591 dependent contribution, then the indirect dependent contribution is not included (i.e. the explicit list
- * 4592 overrides the default inclusion of indirect dependent contributions). Also, if there is ever a conflict
- * 4593 between two indirect dependent contributions, then the conflict MUST be resolved by an explicit entry in
- * 4594 the dependent contribution list.
- * 4595 [ASM12009]
- * 4596 Note that in many cases, the dependent contribution list can be generated. In particular, if the creator of
- * 4597 a Domain is careful to avoid creating duplicate definitions for the same qualified name, then it is easy for
- * 4598 this list to be generated by tooling. *
- * @param uri
- * @param contributionURL
- * @throws ContributionReadException
- * @throws ActivationException
- * @throws ValidationException
- */
- void installContribution(String uri, String contributionURL, String metaDataURL, List<String> dependentContributionURIs, boolean deployDeployables) throws ContributionReadException, ActivationException, ValidationException;
- void installContribution(Contribution contribution, List<String> dependentContributionURIs, boolean deployDeployables) throws ContributionReadException, ActivationException, ValidationException;
-
- /* Useful short forms of that for when you don't care or have the others (but leave out for now to keep as simple as possible):
- String installContribution(String contributionURL) throws ContributionReadException, ActivationException, ValidationException;
- void installContribution(String uri, String contributionURL) throws ContributionReadException, ActivationException, ValidationException;
- String installContribution(String contributionURL, boolean autoDeploy) throws ContributionReadException, ActivationException, ValidationException;
- */
-
- /**
- * 4577 10.5.1 install Contribution & update Contribution
- * 4578 Creates or updates an installed contribution with a supplied root contribution, and installed at a supplied
- * 4579 base URI. A supplied dependent contribution list (<export/> elements) specifies the contributions that are
- * 4580 used to resolve the dependencies of the root contribution and other dependent contributions. These
- * 4581 override any dependent contributions explicitly listed via the @location attribute in the import statements
- * 4582 of the contribution.
- * 4583 SCA follows the simplifying assumption that the use of a contribution for resolving anything also means
- * 4584 that all other exported artifacts can be used from that contribution. Because of this, the dependent
- * 4585 contribution list is just a list of installed contribution URIs. There is no need to specify what is being used
- * 4586 from each one.
- * 4587 Each dependent contribution is also an installed contribution, with its own dependent contributions. By
- * 4588 default these dependent contributions of the dependent contributions (which we will call indirect
- * 4589 dependent contributions) are included as dependent contributions of the installed contribution. However,
- * 4590 if a contribution in the dependent contribution list exports any conflicting definitions with an indirect
- * 4591 dependent contribution, then the indirect dependent contribution is not included (i.e. the explicit list
- * 4592 overrides the default inclusion of indirect dependent contributions). Also, if there is ever a conflict
- * 4593 between two indirect dependent contributions, then the conflict MUST be resolved by an explicit entry in
- * 4594 the dependent contribution list.
- * 4595 [ASM12009]
- * 4596 Note that in many cases, the dependent contribution list can be generated. In particular, if the creator of
- * 4597 a Domain is careful to avoid creating duplicate definitions for the same qualified name, then it is easy for
- * 4598 this list to be generated by tooling.
- *
- * @param uri
- * @param contributionURL
- */
- void updateContribution(String uri, String contributionURL);
- void updateContribution(Contribution contribution);
-
- /**
- * 4599 10.5.2 add Deployment Composite & update Deployment Composite
- * 4600 Adds or updates a deployment composite using a supplied composite ("composite by value" – a data
- * 4601 structure, not an existing resource in the Domain) to the contribution identified by a supplied contribution
- * 4602 URI. The added or updated deployment composite is given a relative URI that matches the @name
- * 4603 attribute of the composite, with a “.composite” suffix. Since all composites run within the context of a
- * 4604 installed contribution (any component implementations or other definitions are resolved within that
- * 4605 contribution), this functionality makes it possible for the deployer to create a composite with final
- * 4606 configuration and wiring decisions and add it to an installed contribution without having to modify the
- * 4607 contents of the root contribution.
- * 4608 Also, in some use cases, a contribution might include only implementation code (e.g. PHP scripts). It is
- * 4609 then possible for those to be given component names by a (possibly generated) composite that is added
- * 4610 into the installed contribution, without having to modify the packaging. *
- *
- * @param uri
- * @param compositeXML
- * @return
- * @throws XMLStreamException
- * @throws ContributionReadException
- * @throws ActivationException
- * @throws ValidationException
- */
- String addDeploymentComposite(String contributionURI, Reader compositeXML) throws ContributionReadException, XMLStreamException, ActivationException, ValidationException;
- String addDeploymentComposite(String contributionURI, Composite composite) throws ActivationException;
-
- /**
- * 4599 10.5.2 add Deployment Composite & update Deployment Composite
- * 4600 Adds or updates a deployment composite using a supplied composite ("composite by value" – a data
- * 4601 structure, not an existing resource in the Domain) to the contribution identified by a supplied contribution
- * 4602 URI. The added or updated deployment composite is given a relative URI that matches the @name
- * 4603 attribute of the composite, with a “.composite” suffix. Since all composites run within the context of a
- * 4604 installed contribution (any component implementations or other definitions are resolved within that
- * 4605 contribution), this functionality makes it possible for the deployer to create a composite with final
- * 4606 configuration and wiring decisions and add it to an installed contribution without having to modify the
- * 4607 contents of the root contribution.
- * 4608 Also, in some use cases, a contribution might include only implementation code (e.g. PHP scripts). It is
- * 4609 then possible for those to be given component names by a (possibly generated) composite that is added
- * 4610 into the installed contribution, without having to modify the packaging. *
- *
- * @param uri
- * @param compositeXML
- * @return
- */
- String updateDeploymentComposite(String uri, Reader compositeXML);
- String updateDeploymentComposite(String uri, Composite composite);
-
- /**
- * 4611 11.4.310.5.3 remove Contribution
- * 4612 Removes the deployed contribution identified by a supplied contribution URI.
- *
- * @param contributionURI
- * @return List of contribution URIs (includes dependent contributions) which were removed
- * @throws ActivationException
- */
- List<String> removeContribution(String contributionURI) throws ActivationException;
-
- /**
- * 4677 10.7.1 add To Domain-Level Composite
- * 4678 This functionality adds the composite identified by a supplied URI to the Domain Level Composite. The
- * 4679 supplied composite URI refers to a composite within an installed contribution. The composite's installed
- * 4680 contribution determines how the composite’s artifacts are resolved (directly and indirectly). The supplied
- * 4681 composite is added to the domain composite with semantics that correspond to the domain-level
- * 4683 components become top-level components and the component services become externally visible
- * 4684 services (eg. they would be present in a WSDL description of the Domain). The meaning of any promoted
- * 4685 services and references in the supplied composite is not defined; since there is no composite scope
- * 4686 outside the domain composite, the usual idea of promotion has no utility.
- *
- * @param compositeURI
- * @throws ActivationException
- */
- void addToDomainLevelComposite(String compositeURI) throws ActivationException;
-
- /**
- * 4687 10.7.2 remove From Domain-Level Composite
- * 4688 Removes from the Domain Level composite the elements corresponding to the composite identified by a
- * 4689 supplied composite URI. This means that the removal of the components, wires, services and references
- * 4690 originally added to the domain level composite by the identified composite. *
- * @param compositeURI
- * @throws ActivationException
- */
- void removeFromDomainLevelComposite(String compositeURI) throws ActivationException;
-
- /**
- * 10.7.3 get Domain-Level Composite
- * Returns a <composite> definition that has an <include> line for each composite that had been added to
- * the domain level composite. It is important to note that, in dereferencing the included composites, any
- * referenced artifacts are resolved in terms of that installed composite.
- *
- * @return
- */
- Composite getDomainLevelComposite();
-
- /* that previous one returns a Composte object but not sure what would be most appropriate, and having one return a string seems convenient: */
- String getDomainLevelCompositeAsString();
-
- /**
- * 4695 10.7.4 get QName Definition
- * 4696 In order to make sense of the domain-level composite (as returned by get Domain-Level Composite), it
- * 4697 needs to be possible to get the definitions for named artifacts in the included composites. This
- * 4698 functionality takes the supplied URI of an installed contribution (which provides the context), a supplied
- * 4699 qualified name of a definition to look up, and a supplied symbol space (as a QName, e.g.
- * 4700 wsdl:PortTypeportType). The result is a single definition, in whatever form is appropriate for that
- * 4701 definition type.
- * 4702 Note that this, like all the other domain-level operations, is a conceptual operation. Its capabilities need to
- * 4703 exist in some form, but not necessarily as a service operation with exactly this signature. *
- * @param contributionURI
- * @param definition
- * @param symbolSpace
- * @return
- */
- Object getQNameDefinition(String contributionURI, QName definition, QName symbolSpace);
-
- /**
- * Probably want to be able to stop it all at once so a method called stop or shutdown or destroy
- * though i guess it could be argued that this method may be somewhere else
- * @throws ActivationException
- */
- void shutdown() throws ActivationException;
-
- /**
- * Would also be convenient to get service proxys as from SCAClientFactory
- */
- <T> T getService(Class<T> interfaze, String serviceURI) throws NoSuchServiceException;
-
- /* do we also need these following ones that are mentioned only indirectly in the spec? */
-
- List<String> getDeployedCompostes(String contributionURI);
- List<String> getInstalledContributions();
- Deployer getDeployer();
-}
+/* + * 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; + +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.Contribution; +import org.apache.tuscany.sca.contribution.processor.ContributionReadException; +import org.apache.tuscany.sca.deployment.Deployer; +import org.apache.tuscany.sca.monitor.ValidationException; +import org.apache.tuscany.sca.runtime.ActivationException; +import org.oasisopen.sca.NoSuchServiceException; + +public interface Section10 { + + /** + * 4577 10.5.1 install Contribution & update Contribution + * 4578 Creates or updates an installed contribution with a supplied root contribution, and installed at a supplied + * 4579 base URI. A supplied dependent contribution list (<export/> elements) specifies the contributions that are + * 4580 used to resolve the dependencies of the root contribution and other dependent contributions. These + * 4581 override any dependent contributions explicitly listed via the @location attribute in the import statements + * 4582 of the contribution. + * 4583 SCA follows the simplifying assumption that the use of a contribution for resolving anything also means + * 4584 that all other exported artifacts can be used from that contribution. Because of this, the dependent + * 4585 contribution list is just a list of installed contribution URIs. There is no need to specify what is being used + * 4586 from each one. + * 4587 Each dependent contribution is also an installed contribution, with its own dependent contributions. By + * 4588 default these dependent contributions of the dependent contributions (which we will call indirect + * 4589 dependent contributions) are included as dependent contributions of the installed contribution. However, + * 4590 if a contribution in the dependent contribution list exports any conflicting definitions with an indirect + * 4591 dependent contribution, then the indirect dependent contribution is not included (i.e. the explicit list + * 4592 overrides the default inclusion of indirect dependent contributions). Also, if there is ever a conflict + * 4593 between two indirect dependent contributions, then the conflict MUST be resolved by an explicit entry in + * 4594 the dependent contribution list. + * 4595 [ASM12009] + * 4596 Note that in many cases, the dependent contribution list can be generated. In particular, if the creator of + * 4597 a Domain is careful to avoid creating duplicate definitions for the same qualified name, then it is easy for + * 4598 this list to be generated by tooling. * + * @param uri + * @param contributionURL + * @throws ContributionReadException + * @throws ActivationException + * @throws ValidationException + */ + void installContribution(String uri, String contributionURL, String metaDataURL, List<String> dependentContributionURIs, boolean deployDeployables) throws ContributionReadException, ActivationException, ValidationException; + void installContribution(Contribution contribution, List<String> dependentContributionURIs, boolean deployDeployables) throws ContributionReadException, ActivationException, ValidationException; + + /* Useful short forms of that for when you don't care or have the others (but leave out for now to keep as simple as possible): + String installContribution(String contributionURL) throws ContributionReadException, ActivationException, ValidationException; + void installContribution(String uri, String contributionURL) throws ContributionReadException, ActivationException, ValidationException; + String installContribution(String contributionURL, boolean autoDeploy) throws ContributionReadException, ActivationException, ValidationException; + */ + + /** + * 4577 10.5.1 install Contribution & update Contribution + * 4578 Creates or updates an installed contribution with a supplied root contribution, and installed at a supplied + * 4579 base URI. A supplied dependent contribution list (<export/> elements) specifies the contributions that are + * 4580 used to resolve the dependencies of the root contribution and other dependent contributions. These + * 4581 override any dependent contributions explicitly listed via the @location attribute in the import statements + * 4582 of the contribution. + * 4583 SCA follows the simplifying assumption that the use of a contribution for resolving anything also means + * 4584 that all other exported artifacts can be used from that contribution. Because of this, the dependent + * 4585 contribution list is just a list of installed contribution URIs. There is no need to specify what is being used + * 4586 from each one. + * 4587 Each dependent contribution is also an installed contribution, with its own dependent contributions. By + * 4588 default these dependent contributions of the dependent contributions (which we will call indirect + * 4589 dependent contributions) are included as dependent contributions of the installed contribution. However, + * 4590 if a contribution in the dependent contribution list exports any conflicting definitions with an indirect + * 4591 dependent contribution, then the indirect dependent contribution is not included (i.e. the explicit list + * 4592 overrides the default inclusion of indirect dependent contributions). Also, if there is ever a conflict + * 4593 between two indirect dependent contributions, then the conflict MUST be resolved by an explicit entry in + * 4594 the dependent contribution list. + * 4595 [ASM12009] + * 4596 Note that in many cases, the dependent contribution list can be generated. In particular, if the creator of + * 4597 a Domain is careful to avoid creating duplicate definitions for the same qualified name, then it is easy for + * 4598 this list to be generated by tooling. + * + * @param uri + * @param contributionURL + */ + void updateContribution(String uri, String contributionURL); + void updateContribution(Contribution contribution); + + /** + * 4599 10.5.2 add Deployment Composite & update Deployment Composite + * 4600 Adds or updates a deployment composite using a supplied composite ("composite by value" – a data + * 4601 structure, not an existing resource in the Domain) to the contribution identified by a supplied contribution + * 4602 URI. The added or updated deployment composite is given a relative URI that matches the @name + * 4603 attribute of the composite, with a “.composite” suffix. Since all composites run within the context of a + * 4604 installed contribution (any component implementations or other definitions are resolved within that + * 4605 contribution), this functionality makes it possible for the deployer to create a composite with final + * 4606 configuration and wiring decisions and add it to an installed contribution without having to modify the + * 4607 contents of the root contribution. + * 4608 Also, in some use cases, a contribution might include only implementation code (e.g. PHP scripts). It is + * 4609 then possible for those to be given component names by a (possibly generated) composite that is added + * 4610 into the installed contribution, without having to modify the packaging. * + * + * @param uri + * @param compositeXML + * @return + * @throws XMLStreamException + * @throws ContributionReadException + * @throws ActivationException + * @throws ValidationException + */ + String addDeploymentComposite(String contributionURI, Reader compositeXML) throws ContributionReadException, XMLStreamException, ActivationException, ValidationException; + String addDeploymentComposite(String contributionURI, Composite composite) throws ActivationException; + + /** + * 4599 10.5.2 add Deployment Composite & update Deployment Composite + * 4600 Adds or updates a deployment composite using a supplied composite ("composite by value" – a data + * 4601 structure, not an existing resource in the Domain) to the contribution identified by a supplied contribution + * 4602 URI. The added or updated deployment composite is given a relative URI that matches the @name + * 4603 attribute of the composite, with a “.composite” suffix. Since all composites run within the context of a + * 4604 installed contribution (any component implementations or other definitions are resolved within that + * 4605 contribution), this functionality makes it possible for the deployer to create a composite with final + * 4606 configuration and wiring decisions and add it to an installed contribution without having to modify the + * 4607 contents of the root contribution. + * 4608 Also, in some use cases, a contribution might include only implementation code (e.g. PHP scripts). It is + * 4609 then possible for those to be given component names by a (possibly generated) composite that is added + * 4610 into the installed contribution, without having to modify the packaging. * + * + * @param uri + * @param compositeXML + * @return + */ + String updateDeploymentComposite(String uri, Reader compositeXML); + String updateDeploymentComposite(String uri, Composite composite); + + /** + * 4611 11.4.310.5.3 remove Contribution + * 4612 Removes the deployed contribution identified by a supplied contribution URI. + * + * @param contributionURI + * @return List of contribution URIs (includes dependent contributions) which were removed + * @throws ActivationException + */ + List<String> removeContribution(String contributionURI) throws ActivationException; + + /** + * 4677 10.7.1 add To Domain-Level Composite + * 4678 This functionality adds the composite identified by a supplied URI to the Domain Level Composite. The + * 4679 supplied composite URI refers to a composite within an installed contribution. The composite's installed + * 4680 contribution determines how the composite’s artifacts are resolved (directly and indirectly). The supplied + * 4681 composite is added to the domain composite with semantics that correspond to the domain-level + * 4683 components become top-level components and the component services become externally visible + * 4684 services (eg. they would be present in a WSDL description of the Domain). The meaning of any promoted + * 4685 services and references in the supplied composite is not defined; since there is no composite scope + * 4686 outside the domain composite, the usual idea of promotion has no utility. + * + * @param compositeURI + * @throws ActivationException + */ + void addToDomainLevelComposite(String compositeURI) throws ActivationException; + + /** + * 4687 10.7.2 remove From Domain-Level Composite + * 4688 Removes from the Domain Level composite the elements corresponding to the composite identified by a + * 4689 supplied composite URI. This means that the removal of the components, wires, services and references + * 4690 originally added to the domain level composite by the identified composite. * + * @param compositeURI + * @throws ActivationException + */ + void removeFromDomainLevelComposite(String compositeURI) throws ActivationException; + + /** + * 10.7.3 get Domain-Level Composite + * Returns a <composite> definition that has an <include> line for each composite that had been added to + * the domain level composite. It is important to note that, in dereferencing the included composites, any + * referenced artifacts are resolved in terms of that installed composite. + * + * @return + */ + Composite getDomainLevelComposite(); + + /* that previous one returns a Composte object but not sure what would be most appropriate, and having one return a string seems convenient: */ + String getDomainLevelCompositeAsString(); + + /** + * 4695 10.7.4 get QName Definition + * 4696 In order to make sense of the domain-level composite (as returned by get Domain-Level Composite), it + * 4697 needs to be possible to get the definitions for named artifacts in the included composites. This + * 4698 functionality takes the supplied URI of an installed contribution (which provides the context), a supplied + * 4699 qualified name of a definition to look up, and a supplied symbol space (as a QName, e.g. + * 4700 wsdl:PortTypeportType). The result is a single definition, in whatever form is appropriate for that + * 4701 definition type. + * 4702 Note that this, like all the other domain-level operations, is a conceptual operation. Its capabilities need to + * 4703 exist in some form, but not necessarily as a service operation with exactly this signature. * + * @param contributionURI + * @param definition + * @param symbolSpace + * @return + */ + Object getQNameDefinition(String contributionURI, QName definition, QName symbolSpace); + + /** + * Probably want to be able to stop it all at once so a method called stop or shutdown or destroy + * though i guess it could be argued that this method may be somewhere else + * @throws ActivationException + */ + void shutdown() throws ActivationException; + + /** + * Would also be convenient to get service proxys as from SCAClientFactory + */ + <T> T getService(Class<T> interfaze, String serviceURI) throws NoSuchServiceException; + + /* do we also need these following ones that are mentioned only indirectly in the spec? */ + + List<String> getDeployedCompostes(String contributionURI); + List<String> getInstalledContributions(); + Deployer getDeployer(); +} diff --git a/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10Factory.java b/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10Factory.java index 8822af178e..0849b70dea 100644 --- a/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10Factory.java +++ b/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10Factory.java @@ -1,97 +1,97 @@ -/*
- * 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;
-
-import java.util.Properties;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.core.ModuleActivatorExtensionPoint;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.core.assembly.RuntimeAssemblyFactory;
-import org.apache.tuscany.sca.deployment.Deployer;
-import org.apache.tuscany.sca.runtime.CompositeActivator;
-import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory;
-import org.apache.tuscany.sca.runtime.RuntimeProperties;
-import org.apache.tuscany.sca.something.impl.Section10Impl;
-import org.apache.tuscany.sca.work.WorkScheduler;
-
-public class Section10Factory {
-
- private Deployer deployer;
- private ExtensionPointRegistry extensionPointRegistry;
- private CompositeActivator compositeActivator;
- private ExtensibleDomainRegistryFactory domainRegistryFactory;
-
- // TODO: keep this method?
- public static Section10 createSection10() {
- return new Section10Factory().createSection10("default");
- }
-
- public Section10Factory() {
- init(null);
- }
-
- public Section10Factory(Properties config) {
- init(config);
- }
-
- public Section10 createSection10(String domainName) {
- EndpointRegistry endpointRegistry = domainRegistryFactory.getEndpointRegistry("default", domainName);
- return new Section10Impl(domainName, deployer, compositeActivator, endpointRegistry, extensionPointRegistry);
- }
-
- public void shutdown() {
- deployer.stop();
- extensionPointRegistry.stop();
- }
-
- protected void init(Properties config) {
- if (config == null) {
- config = new Properties();
- config.setProperty("defaultScheme", "vm");
- config.setProperty("defaultDomainName", "default");
- }
- this.extensionPointRegistry = new DefaultExtensionPointRegistry();
- extensionPointRegistry.start();
-
- FactoryExtensionPoint modelFactories = extensionPointRegistry.getExtensionPoint(FactoryExtensionPoint.class);
- AssemblyFactory assemblyFactory = new RuntimeAssemblyFactory(extensionPointRegistry);
- modelFactories.addFactory(assemblyFactory);
-
- UtilityExtensionPoint utilities = extensionPointRegistry.getExtensionPoint(UtilityExtensionPoint.class);
- this.compositeActivator = utilities.getUtility(CompositeActivator.class);
- this.deployer = utilities.getUtility(Deployer.class);
- utilities.getUtility(RuntimeProperties.class).setProperties(config);
- utilities.getUtility(WorkScheduler.class);
-
- // Initialize the Tuscany module activators
- // The module activators will be started
- extensionPointRegistry.getExtensionPoint(ModuleActivatorExtensionPoint.class);
-
- this.domainRegistryFactory = ExtensibleDomainRegistryFactory.getInstance(extensionPointRegistry);
-// DomainRegistryFactory domainRegistryFactory = ExtensibleDomainRegistryFactory.getInstance(extensionPointRegistry);
-// domainRegistryFactory.getEndpointRegistry(config.getProperty("reguri"), config.getProperty("defaultDomainName"));
-
- }
-}
+/* + * 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; + +import java.util.Properties; + +import org.apache.tuscany.sca.assembly.AssemblyFactory; +import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; +import org.apache.tuscany.sca.core.ExtensionPointRegistry; +import org.apache.tuscany.sca.core.FactoryExtensionPoint; +import org.apache.tuscany.sca.core.ModuleActivatorExtensionPoint; +import org.apache.tuscany.sca.core.UtilityExtensionPoint; +import org.apache.tuscany.sca.core.assembly.RuntimeAssemblyFactory; +import org.apache.tuscany.sca.deployment.Deployer; +import org.apache.tuscany.sca.runtime.CompositeActivator; +import org.apache.tuscany.sca.runtime.EndpointRegistry; +import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory; +import org.apache.tuscany.sca.runtime.RuntimeProperties; +import org.apache.tuscany.sca.something.impl.Section10Impl; +import org.apache.tuscany.sca.work.WorkScheduler; + +public class Section10Factory { + + private Deployer deployer; + private ExtensionPointRegistry extensionPointRegistry; + private CompositeActivator compositeActivator; + private ExtensibleDomainRegistryFactory domainRegistryFactory; + + // TODO: keep this method? + public static Section10 createSection10() { + return new Section10Factory().createSection10("default"); + } + + public Section10Factory() { + init(null); + } + + public Section10Factory(Properties config) { + init(config); + } + + public Section10 createSection10(String domainName) { + EndpointRegistry endpointRegistry = domainRegistryFactory.getEndpointRegistry("default", domainName); + return new Section10Impl(domainName, deployer, compositeActivator, endpointRegistry, extensionPointRegistry); + } + + public void shutdown() { + deployer.stop(); + extensionPointRegistry.stop(); + } + + protected void init(Properties config) { + if (config == null) { + config = new Properties(); + config.setProperty("defaultScheme", "vm"); + config.setProperty("defaultDomainName", "default"); + } + this.extensionPointRegistry = new DefaultExtensionPointRegistry(); + extensionPointRegistry.start(); + + FactoryExtensionPoint modelFactories = extensionPointRegistry.getExtensionPoint(FactoryExtensionPoint.class); + AssemblyFactory assemblyFactory = new RuntimeAssemblyFactory(extensionPointRegistry); + modelFactories.addFactory(assemblyFactory); + + UtilityExtensionPoint utilities = extensionPointRegistry.getExtensionPoint(UtilityExtensionPoint.class); + this.compositeActivator = utilities.getUtility(CompositeActivator.class); + this.deployer = utilities.getUtility(Deployer.class); + utilities.getUtility(RuntimeProperties.class).setProperties(config); + utilities.getUtility(WorkScheduler.class); + + // Initialize the Tuscany module activators + // The module activators will be started + extensionPointRegistry.getExtensionPoint(ModuleActivatorExtensionPoint.class); + + this.domainRegistryFactory = ExtensibleDomainRegistryFactory.getInstance(extensionPointRegistry); +// DomainRegistryFactory domainRegistryFactory = ExtensibleDomainRegistryFactory.getInstance(extensionPointRegistry); +// domainRegistryFactory.getEndpointRegistry(config.getProperty("reguri"), config.getProperty("defaultDomainName")); + + } +} 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; + } +} diff --git a/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/DeployerTestCase.java b/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/DeployerTestCase.java index b07a70b950..a3daf4a5c6 100644 --- a/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/DeployerTestCase.java +++ b/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/DeployerTestCase.java @@ -1,75 +1,75 @@ -/*
- * 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;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.util.List;
-
-import javax.xml.stream.XMLStreamException;
-
-import junit.framework.Assert;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
-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.junit.Test;
-import org.oasisopen.sca.NoSuchDomainException;
-import org.oasisopen.sca.NoSuchServiceException;
-
-public class DeployerTestCase {
-
- @Test
- public void testInstalledContribution() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException, ValidationException, MalformedURLException {
- Section10 section10 = Section10Factory.createSection10();
-
- Deployer deployer = section10.getDeployer();
- Monitor monitor = deployer.createMonitor();
- Contribution contribution = deployer.loadContribution(URI.create("foo"), new File("src/test/resources/sample-helloworld-nodeployable.jar").toURI().toURL(), monitor);
- monitor.analyzeProblems();
-
- section10.installContribution(contribution, null, true);
- List<String> ics = section10.getInstalledContributions();
- Assert.assertEquals(1, ics.size());
- Assert.assertEquals("foo", ics.get(0));
- }
-
- @Test
- public void testAddDeploymentComposite() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException, ValidationException, MalformedURLException, XMLStreamException {
- Section10 section10 = Section10Factory.createSection10();
-
- section10.installContribution("foo", "src/test/resources/sample-helloworld-nodeployable.jar", null, null, true);
-
- Deployer deployer = section10.getDeployer();
- Monitor monitor = deployer.createMonitor();
- Composite composite = deployer.loadXMLDocument(new File("src/test/resources/helloworld2.composite").toURI().toURL(), monitor);
- monitor.analyzeProblems();
- composite.setURI("helloworld2.composite");
- section10.addDeploymentComposite("foo", composite);
- List<String> dcs = section10.getDeployedCompostes("foo");
- Assert.assertEquals(1, dcs.size());
- Assert.assertEquals("foo/helloworld2.composite", dcs.get(0));
- }
-
-}
+/* + * 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; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URI; +import java.util.List; + +import javax.xml.stream.XMLStreamException; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.contribution.Contribution; +import org.apache.tuscany.sca.contribution.processor.ContributionReadException; +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.junit.Test; +import org.oasisopen.sca.NoSuchDomainException; +import org.oasisopen.sca.NoSuchServiceException; + +public class DeployerTestCase { + + @Test + public void testInstalledContribution() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException, ValidationException, MalformedURLException { + Section10 section10 = Section10Factory.createSection10(); + + Deployer deployer = section10.getDeployer(); + Monitor monitor = deployer.createMonitor(); + Contribution contribution = deployer.loadContribution(URI.create("foo"), new File("src/test/resources/sample-helloworld-nodeployable.jar").toURI().toURL(), monitor); + monitor.analyzeProblems(); + + section10.installContribution(contribution, null, true); + List<String> ics = section10.getInstalledContributions(); + Assert.assertEquals(1, ics.size()); + Assert.assertEquals("foo", ics.get(0)); + } + + @Test + public void testAddDeploymentComposite() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException, ValidationException, MalformedURLException, XMLStreamException { + Section10 section10 = Section10Factory.createSection10(); + + section10.installContribution("foo", "src/test/resources/sample-helloworld-nodeployable.jar", null, null, true); + + Deployer deployer = section10.getDeployer(); + Monitor monitor = deployer.createMonitor(); + Composite composite = deployer.loadXMLDocument(new File("src/test/resources/helloworld2.composite").toURI().toURL(), monitor); + monitor.analyzeProblems(); + composite.setURI("helloworld2.composite"); + section10.addDeploymentComposite("foo", composite); + List<String> dcs = section10.getDeployedCompostes("foo"); + Assert.assertEquals(1, dcs.size()); + Assert.assertEquals("foo/helloworld2.composite", dcs.get(0)); + } + +} diff --git a/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/Section10TestCase.java b/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/Section10TestCase.java index e0ec581157..373421adc1 100644 --- a/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/Section10TestCase.java +++ b/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/Section10TestCase.java @@ -1,114 +1,114 @@ -/*
- * 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;
-
-import java.net.MalformedURLException;
-import java.util.List;
-
-import junit.framework.Assert;
-
-import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
-import org.apache.tuscany.sca.monitor.ValidationException;
-import org.apache.tuscany.sca.runtime.ActivationException;
-import org.apache.tuscany.sca.something.impl.Section10Impl;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.oasisopen.sca.NoSuchDomainException;
-import org.oasisopen.sca.NoSuchServiceException;
-
-public class Section10TestCase {
-
- @Test
- public void testInstallDeployable() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException, ValidationException {
- Section10 section10 = Section10Factory.createSection10();
- section10.installContribution("helloworld", "src/test/resources/sample-helloworld.jar", null, null, true);
-
-// Helloworld helloworldService = section10.getService(Helloworld.class, "HelloworldComponent");
-// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
- }
-
- @Ignore("TODO: fails with Sun JDK due to SCA properties issue")
- @Test
- public void testInstallWithDependent() throws NoSuchServiceException, ContributionReadException, ActivationException, ValidationException {
- Section10 section10 = Section10Factory.createSection10();
- section10.installContribution("store", "/Tuscany/svn/2.x-trunk/itest/T3558/src/test/resources/sample-store.jar", null, null, true);
- section10.installContribution("store-client", "/Tuscany/svn/2.x-trunk/itest/T3558/src/test/resources/sample-store-client.jar", null, null, true);
-
-// Helloworld helloworldService = section10.getService(Helloworld.class, "HelloworldComponent");
-// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
- }
-
- @Test
- public void testInstallNoDeployable() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException, ValidationException {
- Section10 section10 = Section10Factory.createSection10();
- section10.installContribution("helloworld", "src/test/resources/sample-helloworld-nodeployable.jar", null, null, true);
-
-// SCAClientFactory scaClientFactory = section10.getSCAClientFactory();
-// try {
-// scaClientFactory.getService(Helloworld.class, "HelloworldComponent");
-// Assert.fail();
-// } catch (NoSuchServiceException e) {
-// // expected as there is no deployables
-// }
-
- section10.addToDomainLevelComposite("helloworld" + "/helloworld.composite");
-// Helloworld helloworldService = scaClientFactory.getService(Helloworld.class, "HelloworldComponent");
-// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
- }
-
- @Test
- public void testGetInstalledContributions() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException, ValidationException {
- Section10 section10 = Section10Factory.createSection10();
- section10.installContribution("foo", "src/test/resources/sample-helloworld-nodeployable.jar", null, null, true);
- List<String> ics = section10.getInstalledContributions();
- Assert.assertEquals(1, ics.size());
- Assert.assertEquals("foo", ics.get(0));
- }
-
- @Test
- public void testGetDeployedCompostes() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException, ActivationException, ValidationException {
- Section10 section10 = Section10Factory.createSection10();
- section10.installContribution("foo", "src/test/resources/sample-helloworld.jar", null, null, true);
- List<String> dcs = section10.getDeployedCompostes("foo");
- Assert.assertEquals(1, dcs.size());
- Assert.assertEquals("foo/helloworld.composite", dcs.get(0));
- }
-
- @Test
- public void testRemoveComposte() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException, ActivationException, ValidationException {
- Section10 section10 = Section10Factory.createSection10();
- section10.installContribution("foo", "src/test/resources/sample-helloworld.jar", null, null, true);
- section10.removeFromDomainLevelComposite("foo/helloworld.composite");
- List<String> dcs = section10.getDeployedCompostes("foo");
- Assert.assertEquals(0, dcs.size());
- }
-
- @Test
- public void testInstallWithMetaData() throws ContributionReadException, ActivationException, ValidationException {
- Section10 section10 = Section10Factory.createSection10();
- ((Section10Impl)section10).installContribution("helloworld", "src/test/resources/sample-helloworld-nodeployable.jar", "src/test/resources/sca-contribution-generated.xml", null, true);
-
- List<String> dcs = section10.getDeployedCompostes("helloworld");
- Assert.assertEquals(1, dcs.size());
- Assert.assertEquals("helloworld/helloworld.composite", dcs.get(0));
-
-// Helloworld helloworldService = scaClientFactory.getService(Helloworld.class, "HelloworldComponent");
-// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
- }
-}
+/* + * 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; + +import java.net.MalformedURLException; +import java.util.List; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.contribution.processor.ContributionReadException; +import org.apache.tuscany.sca.monitor.ValidationException; +import org.apache.tuscany.sca.runtime.ActivationException; +import org.apache.tuscany.sca.something.impl.Section10Impl; +import org.junit.Ignore; +import org.junit.Test; +import org.oasisopen.sca.NoSuchDomainException; +import org.oasisopen.sca.NoSuchServiceException; + +public class Section10TestCase { + + @Test + public void testInstallDeployable() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException, ValidationException { + Section10 section10 = Section10Factory.createSection10(); + section10.installContribution("helloworld", "src/test/resources/sample-helloworld.jar", null, null, true); + +// Helloworld helloworldService = section10.getService(Helloworld.class, "HelloworldComponent"); +// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra")); + } + + @Ignore("TODO: fails with Sun JDK due to SCA properties issue") + @Test + public void testInstallWithDependent() throws NoSuchServiceException, ContributionReadException, ActivationException, ValidationException { + Section10 section10 = Section10Factory.createSection10(); + section10.installContribution("store", "/Tuscany/svn/2.x-trunk/itest/T3558/src/test/resources/sample-store.jar", null, null, true); + section10.installContribution("store-client", "/Tuscany/svn/2.x-trunk/itest/T3558/src/test/resources/sample-store-client.jar", null, null, true); + +// Helloworld helloworldService = section10.getService(Helloworld.class, "HelloworldComponent"); +// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra")); + } + + @Test + public void testInstallNoDeployable() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException, ValidationException { + Section10 section10 = Section10Factory.createSection10(); + section10.installContribution("helloworld", "src/test/resources/sample-helloworld-nodeployable.jar", null, null, true); + +// SCAClientFactory scaClientFactory = section10.getSCAClientFactory(); +// try { +// scaClientFactory.getService(Helloworld.class, "HelloworldComponent"); +// Assert.fail(); +// } catch (NoSuchServiceException e) { +// // expected as there is no deployables +// } + + section10.addToDomainLevelComposite("helloworld" + "/helloworld.composite"); +// Helloworld helloworldService = scaClientFactory.getService(Helloworld.class, "HelloworldComponent"); +// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra")); + } + + @Test + public void testGetInstalledContributions() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException, ValidationException { + Section10 section10 = Section10Factory.createSection10(); + section10.installContribution("foo", "src/test/resources/sample-helloworld-nodeployable.jar", null, null, true); + List<String> ics = section10.getInstalledContributions(); + Assert.assertEquals(1, ics.size()); + Assert.assertEquals("foo", ics.get(0)); + } + + @Test + public void testGetDeployedCompostes() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException, ActivationException, ValidationException { + Section10 section10 = Section10Factory.createSection10(); + section10.installContribution("foo", "src/test/resources/sample-helloworld.jar", null, null, true); + List<String> dcs = section10.getDeployedCompostes("foo"); + Assert.assertEquals(1, dcs.size()); + Assert.assertEquals("foo/helloworld.composite", dcs.get(0)); + } + + @Test + public void testRemoveComposte() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException, ActivationException, ValidationException { + Section10 section10 = Section10Factory.createSection10(); + section10.installContribution("foo", "src/test/resources/sample-helloworld.jar", null, null, true); + section10.removeFromDomainLevelComposite("foo/helloworld.composite"); + List<String> dcs = section10.getDeployedCompostes("foo"); + Assert.assertEquals(0, dcs.size()); + } + + @Test + public void testInstallWithMetaData() throws ContributionReadException, ActivationException, ValidationException { + Section10 section10 = Section10Factory.createSection10(); + ((Section10Impl)section10).installContribution("helloworld", "src/test/resources/sample-helloworld-nodeployable.jar", "src/test/resources/sca-contribution-generated.xml", null, true); + + List<String> dcs = section10.getDeployedCompostes("helloworld"); + Assert.assertEquals(1, dcs.size()); + Assert.assertEquals("helloworld/helloworld.composite", dcs.get(0)); + +// Helloworld helloworldService = scaClientFactory.getService(Helloworld.class, "HelloworldComponent"); +// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra")); + } +} diff --git a/sca-java-2.x/trunk/modules/domain/src/test/java/sample/Helloworld.java b/sca-java-2.x/trunk/modules/domain/src/test/java/sample/Helloworld.java index 438804975e..ea65a1e58c 100644 --- a/sca-java-2.x/trunk/modules/domain/src/test/java/sample/Helloworld.java +++ b/sca-java-2.x/trunk/modules/domain/src/test/java/sample/Helloworld.java @@ -1,24 +1,24 @@ -/*
- * 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 sample;
-
-public interface Helloworld {
- String sayHello(String name);
-}
+/* + * 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 sample; + +public interface Helloworld { + String sayHello(String name); +} diff --git a/sca-java-2.x/trunk/modules/domain/src/test/resources/sca-contribution-generated.xml b/sca-java-2.x/trunk/modules/domain/src/test/resources/sca-contribution-generated.xml index 5b3d81cb97..8e20561dc3 100644 --- a/sca-java-2.x/trunk/modules/domain/src/test/resources/sca-contribution-generated.xml +++ b/sca-java-2.x/trunk/modules/domain/src/test/resources/sca-contribution-generated.xml @@ -1,23 +1,23 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:sample="http://sample">
- <deployable composite="sample:helloworld"/>
-</contribution>
+<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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. +--> +<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" + xmlns:sample="http://sample"> + <deployable composite="sample:helloworld"/> +</contribution> |