summaryrefslogtreecommitdiffstats
path: root/branches/sca-android/modules/contribution-updater
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-15 06:18:34 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-15 06:18:34 +0000
commit512771c8a42d2cde253f6df55ef552f7a0b4f792 (patch)
tree37c4f983c960be2136045ec8182442d19fd82828 /branches/sca-android/modules/contribution-updater
parentdc79a3d21e67c8560e2c35451f2b2c58b675f02a (diff)
Starting to create reduced module set for the android port.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@695352 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/LICENSE205
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/META-INF/README1
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/NOTICE6
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/pom.xml124
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java51
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java381
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java156
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java75
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java129
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java26
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java39
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java61
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite27
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jarbin29164 -> 0 bytes
-rw-r--r--branches/sca-android/modules/contribution-updater/LICENSE205
-rw-r--r--branches/sca-android/modules/contribution-updater/META-INF/README1
-rw-r--r--branches/sca-android/modules/contribution-updater/NOTICE6
-rw-r--r--branches/sca-android/modules/contribution-updater/pom.xml111
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java27
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java788
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java27
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java31
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java28
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java25
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java31
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java29
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java30
-rw-r--r--branches/sca-android/modules/contribution-updater/src/test/resources/HelloComposite.composite27
-rw-r--r--branches/sca-android/modules/contribution-updater/src/test/resources/repository/sample-calculator.jarbin29164 -> 0 bytes
29 files changed, 0 insertions, 2647 deletions
diff --git a/branches/sca-android/modules/contribution-updater-impl/LICENSE b/branches/sca-android/modules/contribution-updater-impl/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-
-
diff --git a/branches/sca-android/modules/contribution-updater-impl/META-INF/README b/branches/sca-android/modules/contribution-updater-impl/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/contribution-updater-impl/NOTICE b/branches/sca-android/modules/contribution-updater-impl/NOTICE
deleted file mode 100644
index 94481d6cfa..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2007 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/contribution-updater-impl/pom.xml b/branches/sca-android/modules/contribution-updater-impl/pom.xml
deleted file mode 100644
index cd4f1e17ee..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/pom.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-contribution-updater-impl</artifactId>
- <name>Apache Tuscany SCA Contribution Updater Implementation</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-namespace</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-updater</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- <version>3.2.1</version>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.contribution.updater.impl</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.contribution.updater.impl*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java b/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java
deleted file mode 100644
index a23bf6f8cd..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java
+++ /dev/null
@@ -1,51 +0,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.contribution.updater.impl;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.contribution.DeployedArtifact;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-public class ArtifactsFinder {
-
- public static Composite findComposite(String compositeURI,
- List<Composite> artifacts) {
- for (Composite composite : artifacts) {
- if (composite.getURI().equals(compositeURI))
- return composite;
- }
- return null;
- }
-
- public static Component findComponent(Composite composite,
- String componentName) {
- for (Component component : composite.getComponents()) {
- if (component.getName().equals(componentName)) {
- return component;
-
- }
-
- }
- return null;
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java b/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java
deleted file mode 100644
index a6a6084f5f..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java
+++ /dev/null
@@ -1,381 +0,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.contribution.updater.impl;
-
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.Multiplicity;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.contribution.DeployedArtifact;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionService;
-import org.apache.tuscany.sca.contribution.updater.ComponentNotFoundException;
-import org.apache.tuscany.sca.contribution.updater.ComponentUpdater;
-import org.apache.tuscany.sca.contribution.updater.ComponentUpdaterException;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.assembly.CompositeActivator;
-import org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-import org.apache.tuscany.sca.contribution.updater.impl.ArtifactsFinder;
-import org.apache.tuscany.sca.assembly.xml.MetaComponentProcessor;
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.implementation.java.IntrospectionException;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.JavaIntrospectionHelper;
-
-public class ComponentUpdaterImpl implements ComponentUpdater {
-
- private String contribURI;
- private String compositeURI;
- private String componentName;
- private JavaInterfaceFactory javaFactory;
- private CompositeBuilder compositeBuilder;
- private CompositeActivator compositeActivator;
- private ContributionService contributionService;
- private ExtensionPointRegistry registry;
- private AssemblyFactory assemblyFactory;
- private InterfaceContractMapper interfaceContractMapper;
- private Contribution contrib;
-
- public ComponentUpdaterImpl(String contribURI, String compositeURI,
- String componentName, AssemblyFactory assembly,
- JavaInterfaceFactory javaFactory,
- CompositeBuilder compositeBuilder,
- CompositeActivator compositeActivator,
- ContributionService contribService,
- ExtensionPointRegistry registry, InterfaceContractMapper mapper) {
- this.contribURI = contribURI;
- this.compositeURI = compositeURI;
- this.componentName = componentName;
- this.javaFactory = javaFactory;
- this.compositeBuilder = compositeBuilder;
- this.compositeActivator = compositeActivator;
- this.contributionService = contribService;
- this.registry = registry;
- this.assemblyFactory = assembly;
- this.interfaceContractMapper = mapper;
- this.contrib = this.contributionService.getContribution(contribURI);
- }
-
- private void reconcileReference(Reference reference,
- ComponentReference targetReference, String componentName) {
-
- targetReference.setReference(reference);
- targetReference.setIsCallback(reference.isCallback());
- targetReference.setMultiplicity(reference.getMultiplicity());
- if (targetReference.getInterfaceContract() != null) {
- if (!targetReference.getInterfaceContract().equals(
- reference.getInterfaceContract())) {
- if (!interfaceContractMapper.isCompatible(reference
- .getInterfaceContract(), targetReference
- .getInterfaceContract())) {
- System.err
- .println("Component reference interface incompatible with reference interface: "
- + componentName
- + "/"
- + targetReference.getName());
- }
- }
- } else {
- targetReference.setInterfaceContract(reference
- .getInterfaceContract());
- }
- if (targetReference.getBindings().isEmpty()) {
- targetReference.getBindings().addAll(reference.getBindings());
- }
-
- // Reconcile callback bindings
- if (targetReference.getCallback() == null) {
- targetReference.setCallback(reference.getCallback());
- if (targetReference.getCallback() == null) {
- targetReference.setCallback(assemblyFactory.createCallback());
- }
-
- } else if (targetReference.getCallback().getBindings().isEmpty()
- && reference.getCallback() != null) {
- targetReference.getCallback().getBindings().addAll(
- reference.getCallback().getBindings());
- }
- Contribution contrib = contributionService.getContribution(contribURI);
- List<DeployedArtifact> artifacts = contrib.getArtifacts();
- // RuntimeComponent source = null;
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- Component c = ArtifactsFinder.findComponent(composite, componentName);
- if (targetReference.getAutowire() == null) {
- targetReference.setAutowire(c.getAutowire());
- }
-
- // Reconcile targets
- if (targetReference.getTargets().isEmpty()) {
- targetReference.getTargets().addAll(reference.getTargets());
- }
-
- }
-
- public org.apache.tuscany.sca.assembly.Reference buildReference(
- String name, String className, Class<?> businessInterface,
- boolean required) throws Exception {
-
- Class<?> rawType = contrib.getClassLoader().loadClass(className);
-
- if (rawType == null)
- return null;
-
- org.apache.tuscany.sca.assembly.Reference reference = assemblyFactory
- .createReference();
- JavaInterfaceContract interfaceContract = javaFactory
- .createJavaInterfaceContract();
- reference.setInterfaceContract(interfaceContract);
- reference.setName(name);
-
- if (required) {
- reference.setMultiplicity(Multiplicity.ONE_ONE);
- } else {
- reference.setMultiplicity(Multiplicity.ZERO_ONE);
- }
- Type[] interfaces = rawType.getGenericInterfaces();
- Type genericType = null;
-
- for (int i = 0; i < interfaces.length; ++i) {
- Type tmp = interfaces[i];
- if (interfaces[i] instanceof ParameterizedType) {
- ParameterizedType type = (ParameterizedType) tmp;
- tmp = type.getRawType();
- }
- if (tmp.getClass().getName().equals(
- businessInterface.getClass().getName())) {
- genericType = tmp;
- }
- }
- if (genericType == null)
- throw new ComponentUpdaterException(
- "User has specified a wrong businessInterface:"
- + businessInterface);
- // baseType = JavaIntrospectionHelper.getBusinessInterface(baseType,
- // genericType);
- /*
- * Class<?> baseType = getBaseType(rawType, genericType); if
- * (CallableReference.class.isAssignableFrom(baseType)) { if
- * (Collection.class.isAssignableFrom(rawType)) { genericType =
- * JavaIntrospectionHelper.getParameterType(genericType); } baseType =
- * JavaIntrospectionHelper.getBusinessInterface(baseType, genericType); }
- */
- try {
-
- JavaInterface callInterface = javaFactory
- .createJavaInterface(JavaIntrospectionHelper
- .getErasure(genericType));
- reference.getInterfaceContract().setInterface(callInterface);
- if (callInterface.getCallbackClass() != null) {
- JavaInterface callbackInterface = javaFactory
- .createJavaInterface(callInterface.getCallbackClass());
- reference.getInterfaceContract().setCallbackInterface(
- callbackInterface);
- }
- } catch (InvalidInterfaceException e) {
- throw new IntrospectionException(e);
- }
- return reference;
- }
-
- /*
- * private org.apache.tuscany.sca.assembly.Reference
- * createReference(JavaElementImpl element, String name) throws
- * IntrospectionException { org.apache.tuscany.sca.assembly.Reference
- * reference = assemblyFactory.createReference(); JavaInterfaceContract
- * interfaceContract = javaFactory.createJavaInterfaceContract();
- * reference.setInterfaceContract(interfaceContract);
- * // reference.setMember((Member)element.getAnchor()); boolean required =
- * true; Reference ref = element.getAnnotation(Reference.class); if (ref !=
- * null) { required = ref.required(); } // reference.setRequired(required);
- * reference.setName(name); Class<?> rawType = element.getType(); if
- * (rawType.isArray() || Collection.class.isAssignableFrom(rawType)) { if
- * (required) { reference.setMultiplicity(Multiplicity.ONE_N); } else {
- * reference.setMultiplicity(Multiplicity.ZERO_N); } } else { if (required) {
- * reference.setMultiplicity(Multiplicity.ONE_ONE); } else {
- * reference.setMultiplicity(Multiplicity.ZERO_ONE); } } Type genericType =
- * element.getGenericType(); Class<?> baseType = getBaseType(rawType,
- * genericType); if (CallableReference.class.isAssignableFrom(baseType)) {
- * if (Collection.class.isAssignableFrom(rawType)) { genericType =
- * JavaIntrospectionHelper.getParameterType(genericType); } baseType =
- * JavaIntrospectionHelper.getBusinessInterface(baseType, genericType); }
- * try { JavaInterface callInterface =
- * javaFactory.createJavaInterface(baseType);
- * reference.getInterfaceContract().setInterface(callInterface); if
- * (callInterface.getCallbackClass() != null) { JavaInterface
- * callbackInterface =
- * javaFactory.createJavaInterface(callInterface.getCallbackClass());
- * reference.getInterfaceContract().setCallbackInterface(callbackInterface); } }
- * catch (InvalidInterfaceException e) { throw new
- * IntrospectionException(e); } return reference; }
- */
- public ComponentReference addReferenceWire(String referenceName,
- String className, Class<?> interfaceName, String targetComponent)
- throws ComponentUpdaterException, ComponentNotFoundException {
-
- StAXArtifactProcessorExtensionPoint staxProcessors = registry
- .getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- MetaComponentProcessor processor = (MetaComponentProcessor) staxProcessors
- .getProcessor(Component.class);
-
- Contribution contrib = contributionService.getContribution(contribURI);
-
- List<DeployedArtifact> artifacts = contrib.getArtifacts();
- RuntimeComponent source = null;
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- // TODO error handling
- if (composite != null)
- source = (RuntimeComponent) ArtifactsFinder.findComponent(
- composite, componentName);
- else {
- throw new ComponentNotFoundException("Not found component "
- + componentName + " for update");
- }
- if (source != null) {
- // Debig this
- RuntimeComponentReference targetReference = (RuntimeComponentReference) assemblyFactory
- .createComponentReference();
- targetReference.setName(referenceName);
- targetReference.setUnresolved(true);
- Reference reference = null;
- try {
- reference = buildReference(referenceName, className,
- interfaceName, true);
- } catch (Exception e) {
- throw new ComponentUpdaterException(e.getMessage());
- }
- source.getImplementation().getReferences().add(reference);
-
- // targetService.
- ComponentService targetService = assemblyFactory
- .createComponentService();
- targetService.setUnresolved(true);
- targetService.setName(targetComponent);
- targetReference.getTargets().add(targetService);
-
- // reconciliate
- reconcileReference(reference, targetReference, componentName);
- // create component reference for the reference
- source.getReferences().add(targetReference);
- try {
- processor.resolveReference(targetReference, contrib
- .getModelResolver());
- } catch (ContributionResolveException e) {
- throw new ComponentUpdaterException(
- "Contribution Resolving Exception while updating..");
- }
-
- CompositeActivatorImpl activator = (CompositeActivatorImpl) compositeActivator;
- compositeBuilder.attachWire(source, composite, targetReference);
- activator.activate(source, targetReference);
- synchronized (source) {
- activator.configureComponentContext(source);
- }
- // RuntimeComponentReference runtimeRef =
- // ((RuntimeComponentReference)ref);
- // runtimeRef.setComponent(component);
- for (Binding binding : targetReference.getBindings()) {
- ReferenceBindingProvider bindingProvider = targetReference
- .getBindingProvider(binding);
- if (bindingProvider != null) {
- bindingProvider.start();
- }
-
- }
-
- ImplementationProvider implementationProvider = source
- .getImplementationProvider();
- if (implementationProvider != null) {
- /*
- * con la reflection cosi tolgo la dipendneza if
- * ((implementationProvider.getClass().getName().equals("JavaImplementationProvider")) {
- * Clazz cget } implementationProvider.getClass(). if
- * (implementationProvider instanceof
- * JavaImplementationProvider) { ((JavaImplementationProvider)
- * implementationProvider). startReference(targetReference); }
- */
- }
- return targetReference;
- } else {
- throw new ComponentNotFoundException("Not found component "
- + componentName + " for update");
- }
- }
-
- public ComponentReference removeReferenceWire(String referenceName,
- String targetComponent) throws ComponentUpdaterException,
- ComponentNotFoundException {
- List<DeployedArtifact> artifacts = contributionService.getContribution(
- contribURI).getArtifacts();
- RuntimeComponent source = null;
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- ComponentReference toRemove = null;
-
- if (composite != null) {
- source = (RuntimeComponent) ArtifactsFinder.findComponent(
- composite, this.componentName);
- } else {
- throw new ComponentNotFoundException("Not found component "
- + componentName + " for update");
- }
- if ((source != null) && (targetComponent != null)) {
- /* source target refenence */
-
- List<ComponentReference> references = source.getReferences();
- for (ComponentReference ref : references) {
- if (ref.getName().equals(targetComponent)) {
- toRemove = ref;
- break;
- }
- }
- if (toRemove != null) {
- CompositeActivatorImpl activator = (CompositeActivatorImpl) compositeActivator;
- activator.stop(source, toRemove);
- activator.deactivate(source,
- (RuntimeComponentReference) toRemove);
- compositeBuilder.detachWire(composite, source, toRemove);
- } else {
- throw new ComponentNotFoundException("Not found component "
- + componentName + " for update");
- }
-
- }
- return toRemove;
- }
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java b/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java
deleted file mode 100644
index c5a15b5108..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java
+++ /dev/null
@@ -1,156 +0,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.contribution.updater.impl;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.MetaComponent;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
-import org.apache.tuscany.sca.contribution.Artifact;
-import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.contribution.DeployedArtifact;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.service.ContributionService;
-import org.apache.tuscany.sca.contribution.updater.CompositeUpdater;
-import org.apache.tuscany.sca.contribution.updater.CompositeUpdaterException;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.assembly.CompositeActivator;
-import org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl;
-import org.apache.tuscany.sca.contribution.updater.impl.ArtifactsFinder;
-import org.apache.tuscany.sca.assembly.xml.MetaComponentProcessor;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-public class CompositeUpdaterImpl implements CompositeUpdater {
-
- private CompositeBuilder compositeBuilder;
- private String compositeURI;
- private AssemblyFactory assemblyFactory;
- private String contribURI;
- private CompositeActivator compositeActivator;
- private ExtensionPointRegistry registry;
- private ContributionService contribService;
-
- public CompositeUpdaterImpl(AssemblyFactory assembly, String contribURI,
- String compositeURI, CompositeBuilder compositeBuilder,
- CompositeActivator compositeActivator,
- ExtensionPointRegistry registry, ContributionService contribService) {
- this.compositeBuilder = compositeBuilder;
- this.compositeURI = compositeURI;
- this.assemblyFactory = assembly;
- this.contribURI = contribURI;
- this.compositeActivator = compositeActivator;
- this.registry = registry;
- this.contribService = contribService;
- }
-
- public Component addComponent(MetaComponent c)
- throws CompositeUpdaterException {
- StAXArtifactProcessorExtensionPoint staxProcessors = registry
- .getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- MetaComponentProcessor processor = (MetaComponentProcessor) staxProcessors
- .getProcessor(Component.class);
- Contribution contrib = contribService.getContribution(contribURI);
- List<DeployedArtifact> artifacts = contrib.getArtifacts();
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- boolean found = false;
-
- if (composite == null)
- throw new CompositeUpdaterException(
- "Composite not found in contribution" + contribURI);
- else {
- processor.setComposite(composite);
- try {
- processor.read(c.build());
- } catch (Exception e) {
- throw new CompositeUpdaterException(
- "Component error parsing in contribution" + contribURI);
-
- }
- found = true;
- }
-
- if (found) {
- Component component = processor.getParsedComponent();
- Composite augmentedComposite = processor.getParsedComposite();
- try {
- processor.resolve(component, contrib.getModelResolver());
- compositeBuilder.attach(augmentedComposite, component);
- ((CompositeActivatorImpl) compositeActivator)
- .activateComponent(component);
- } catch (Exception e) {
-
- throw new CompositeUpdaterException(
- "Cannot activate the component");
- }
-
- return component;
- }
- return null;
- }
-
- public Component findComponent(String componentName) {
- Contribution contrib = contribService.getContribution(contribURI);
- List<Composite> artifacts = contrib.getDeployables();
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- return ArtifactsFinder.findComponent(composite, componentName);
- }
-
- public Component removeComponent(String componentName)
- throws CompositeUpdaterException {
- Contribution contrib = contribService.getContribution(contribURI);
- List<DeployedArtifact> artifacts = contrib.getArtifacts();
-
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- List<Component> components = composite.getComponents();
- Component toRemove = null;
- for (Component component : components) {
- if (((RuntimeComponent) component).getName().equals(componentName)) {
- toRemove = component;
- break;
- }
- }
- if (toRemove == null) {
- throw new CompositeUpdaterException(
- "Component not found in contribution" + contribURI);
- } else {
- // start again
- try {
- composite.getComponents().remove(toRemove);
- CompositeActivatorImpl impl = (CompositeActivatorImpl) compositeActivator;
- impl.stop(toRemove);
- impl.deactivateComponent(toRemove);
- CompositeBuilderImpl builder = (CompositeBuilderImpl) compositeBuilder;
- builder.detach(composite, toRemove);
- } catch (Exception e) {
- throw new CompositeUpdaterException(
- "Cannot remove composite from the contribution"
- + contribURI);
- }
- return toRemove;
- }
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java b/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java
deleted file mode 100644
index 7f5870ad55..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java
+++ /dev/null
@@ -1,75 +0,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.contribution.updater.impl;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.service.ContributionService;
-import org.apache.tuscany.sca.contribution.updater.ComponentUpdater;
-import org.apache.tuscany.sca.contribution.updater.CompositeUpdater;
-import org.apache.tuscany.sca.contribution.updater.ContributionUpdater;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.assembly.CompositeActivator;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-import org.apache.tuscany.sca.contribution.updater.impl.ComponentUpdaterImpl;
-import org.apache.tuscany.sca.contribution.updater.impl.CompositeUpdaterImpl;
-import org.apache.tuscany.sca.host.embedded.impl.ReallySmallRuntime;
-
-public class ContributionUpdaterFactoryImpl implements ContributionUpdater {
- private AssemblyFactory assembly;
- private JavaInterfaceFactory javaFactory;
- private CompositeActivator compositeActivator;
- private CompositeBuilder compositeBuilder;
- private ExtensionPointRegistry registry;
- private ContributionService contribService;
- private InterfaceContractMapper mapper;
-
- public ContributionUpdaterFactoryImpl(ReallySmallRuntime runtime) {
- this.assembly = runtime.getAssemblyFactory();
- this.javaFactory = runtime.getExtensionPointRegistry()
- .getExtensionPoint(ModelFactoryExtensionPoint.class)
- .getFactory(JavaInterfaceFactory.class);
- this.compositeActivator = runtime.getCompositeActivator();
- this.compositeBuilder = runtime.getCompositeBuilder();
- this.registry = runtime.getExtensionPointRegistry();
- this.contribService = runtime.getContributionService();
- this.mapper = runtime.getInterfaceContractMapper();
- }
-
- public void setContributionService(ContributionService s) {
- this.contribService = s;
- }
-
- public ComponentUpdater getComponentUpdater(String contribURI,
- String compositeURI, String componentName) {
-
- return new ComponentUpdaterImpl(contribURI, compositeURI,
- componentName, assembly, javaFactory, compositeBuilder,
- compositeActivator, contribService, registry, mapper);
- }
-
- public CompositeUpdater getCompositeUpdater(String contribURI,
- String compositeURI) {
- return new CompositeUpdaterImpl(assembly, contribURI, compositeURI,
- compositeBuilder, compositeActivator, registry, contribService);
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java b/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java
deleted file mode 100644
index 83d0224ad4..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java
+++ /dev/null
@@ -1,129 +0,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.contribution.updater.impl;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.node.SCANode;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test ContributionUpdater.
- *
- */
-public class ContributionUpdaterTestCase {
-
- // private static SCADomain domain;
- private static SCANode node;
- private static MetaComponentHello helloMeta;
-
- @Before
- public void setUp() throws Exception {
- /*
- * System.out.println("Setting up domain");
- *
- * SCADomainFactory domainFactory = SCADomainFactory.newInstance();
- * domain = domainFactory.createSCADomain("http://localhost:9999");
- *
- * System.out.println("Setting up calculator nodes");
- *
- * ClassLoader cl = ContributionUpdaterTestCase.class.getClassLoader();
- *
- * SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); try {
- * log.info("Staring entropy handler"); prng =
- * SecureRandom.getInstance("SHA1PRNG"); } catch
- * (NoSuchAlgorithmException e) { // TODO Auto-generated catch block
- * e.printStackTrace(); } componentName =
- * "HelloComponent"+this.uniqueID();
- * t.setAttribute("componentName",componentName);
- *
- * node = nodeFactory.createSCANode("http://localhost:8100/nodeA",
- * "http://localhost:9999"); node.addContribution("nodeA",
- * cl.getResource("nodeA/")); node.addToDomainLevelComposite(new
- * QName("http://test", "HelloComposite")); node.start();
- * SCADomainFinder domainFinder = SCADomainFinder.newInstance(); domain =
- * domainFinder.getSCADomain("http://localhost:9999"); helloMeta = new
- * MetaComponentHello();
- * helloMeta.setComponentClass("org.apache.tuscany.sca.contribution.updater.impl.HelloComponent");
- */
- }
-
- @After
- public void tearDown() throws Exception {
-
- }
-
- @Test
- public void testAddNewComponent() throws ClassNotFoundException,
- MalformedURLException {
- /*
- * String helloComponent1 = "<component
- * xmlns=\"http://www.osoa.org/xmlns/sca/1.0\"
- * name=\"HelloComponent1\">\n" + "<implementation.java
- * class=\"org.apache.tuscany.sca.contribution.updater.impl.HelloComponent\"/>"+ "</component>";
- * MetaComponent mc =
- * MetaComponentFactory.newMetaComponent("HelloComponent1",helloComponent1);
- * try { ((SCANodeImpl) node).addComponentToComposite(mc, "nodeA",
- * "HelloComposite.composite"); GreetService greet =
- * node.getDomain().getService(GreetService.class, "HelloComponent1");
- * greet.sayHello("Italian").equals("Ciao"); } catch (Exception e) {
- * Assert.fail(e.getMessage()); }
- */
- Assert.assertEquals("skip", "skip");
- }
-
- @Test
- public void testWireComponents() throws ClassNotFoundException,
- MalformedURLException {
- Assert.assertEquals("skip", "skip");
- /*
- * String helloComponent1 = "<component
- * xmlns=\"http://www.osoa.org/xmlns/sca/1.0\"
- * name=\"HelloComponent1\">\n" + "<implementation.java
- * class=\"org.apache.tuscany.sca.contribution.updater.impl.HelloComponent\"/>"+ "</component>";
- * String helloComponent2 = "<component
- * xmlns=\"http://www.osoa.org/xmlns/sca/1.0\"
- * name=\"HelloComponent2\">\n" + "<implementation.java
- * class=\"org.apache.tuscany.sca.contribution.updater.impl.HelloComponent\"/>"+ "</component>";
- * MetaComponent mc1 =
- * MetaComponentFactory.newMetaComponent("HelloComponent1",helloComponent1);
- * MetaComponent mc2 =
- * MetaComponentFactory.newMetaComponent("HelloComponent2",helloComponent2);
- *
- * try { ((SCANodeImpl) node).addComponentToComposite(mc1, "nodeA",
- * "HelloComposite.composite"); ((SCANodeImpl)
- * node).addComponentToComposite(mc2, "nodeA",
- * "HelloComposite.composite"); GreetService greet =
- * node.getDomain().getService(GreetService.class, "HelloComponent1");
- * greet.sayHello("Italian").equals("Ciao"); } catch (Exception e) {
- * Assert.fail(e.getMessage()); }
- */
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java b/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java
deleted file mode 100644
index 0eb7fb692b..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java
+++ /dev/null
@@ -1,26 +0,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.contribution.updater.impl;
-
-import org.osoa.sca.annotations.Remotable;
-
-@Remotable
-public interface GreetService {
- String sayHello(String language);
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java b/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java
deleted file mode 100644
index 38fa2721bb..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java
+++ /dev/null
@@ -1,39 +0,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.contribution.updater.impl;
-
-import org.osoa.sca.annotations.Service;
-
-@Service(GreetService.class)
-public class HelloComponent implements GreetService {
- private String[][] languageGreets = {
- { "English", "Italian", "Japanese", "German" },
- { "Hello!", "Ciao!", "Konnici wa!", "Hallo!" } };
-
- public String sayHello(String language) {
- for (int i = 0; i < 4; ++i)
- for (int j = 0; j < 4; ++j) {
- if (language.equals(languageGreets[i][j])) {
- return languageGreets[0][0];
- }
- }
- return "I don't speak your language";
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java b/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java
deleted file mode 100644
index 1495ff2cea..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java
+++ /dev/null
@@ -1,61 +0,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.contribution.updater.impl;
-
-import java.io.StringReader;
-import java.net.URI;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.security.SecureRandom;
-import java.util.logging.Logger;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sca.assembly.MetaComponent;
-
-public class MetaComponentHello implements MetaComponent {
- private String componentName;
- private String scdl;
- private boolean loadedFromString = false;
- private Logger log = Logger.getLogger(MetaComponentHello.class.getName());
-
- public MetaComponentHello() {
- }
-
- private MetaComponentHello(String scdl, boolean loadedFromString) {
- this.scdl = scdl;
- this.loadedFromString = loadedFromString;
- }
-
- public MetaComponent fromSCDL(String scdl) {
- return new MetaComponentHello(scdl, true);
- }
-
- public XMLStreamReader build() throws Exception {
- XMLInputFactory factory = XMLInputFactory.newInstance();
- return factory.createXMLStreamReader(new StringReader(scdl));
- }
-
- public String getName() {
-
- return componentName;
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite b/branches/sca-android/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite
deleted file mode 100644
index 76714a0e9c..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite
+++ /dev/null
@@ -1,27 +0,0 @@
-<?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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://test"
- xmlns:test="http://test"
- name="HelloComposite">
- <component name="HelloComponentService">
- <implementation.java="org.apache.tuscany.sca.contribution.updater.impl.HelloComponent"/>
- </component>
-</composite> \ No newline at end of file
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar b/branches/sca-android/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar
deleted file mode 100644
index 9c46c679d2..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/contribution-updater/LICENSE b/branches/sca-android/modules/contribution-updater/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/contribution-updater/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-
-
diff --git a/branches/sca-android/modules/contribution-updater/META-INF/README b/branches/sca-android/modules/contribution-updater/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/contribution-updater/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/contribution-updater/NOTICE b/branches/sca-android/modules/contribution-updater/NOTICE
deleted file mode 100644
index 94481d6cfa..0000000000
--- a/branches/sca-android/modules/contribution-updater/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2007 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/contribution-updater/pom.xml b/branches/sca-android/modules/contribution-updater/pom.xml
deleted file mode 100644
index 26dc2152a2..0000000000
--- a/branches/sca-android/modules/contribution-updater/pom.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-contribution-updater</artifactId>
- <name>Apache Tuscany SCA Contribution Updater</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-namespace</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-domain-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.contribution.updater</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.contribution.updater*,org.apache.tuscany.sca.assembly*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java
deleted file mode 100644
index 885fe8cfb0..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java
+++ /dev/null
@@ -1,27 +0,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.assembly;
-
-import javax.xml.stream.XMLStreamReader;
-
-public interface MetaComponent {
- XMLStreamReader build() throws Exception;
-
- String getName();
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java
deleted file mode 100644
index 44673bfdb9..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java
+++ /dev/null
@@ -1,788 +0,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.assembly.xml;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.Callback;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentProperty;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.CompositeReference;
-import org.apache.tuscany.sca.assembly.CompositeService;
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.Contract;
-import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.assembly.Wire;
-import org.apache.tuscany.sca.contribution.ContributionFactory;
-import org.apache.tuscany.sca.contribution.DeployedArtifact;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.policy.PolicyFactory;
-import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
-import org.apache.tuscany.sca.policy.util.PolicyValidationException;
-import org.w3c.dom.Document;
-
-/**
- * A component processor.
- *
- * @version $Rev$ $Date$
- */
-public class MetaComponentProcessor extends BaseAssemblyProcessor implements
- StAXArtifactProcessor<Component> {
-
- /**
- * Construct a new composite processor
- *
- * @param contributionFactory
- * @param assemblyFactory
- * @param policyFactory
- * @param extensionProcessor
- */
- private Composite composite = null;
- private Component generatedComponent = null;
-
- public MetaComponentProcessor(ContributionFactory contributionFactory,
- AssemblyFactory factory, PolicyFactory policyFactory,
- InterfaceContractMapper interfaceContractMapper,
- StAXArtifactProcessor extensionProcessor) {
- super(contributionFactory, factory, policyFactory, extensionProcessor);
- }
-
- /**
- * Construct a new composite processor
- *
- * @param assemblyFactory
- * @param policyFactory
- * @param extensionProcessor
- * public CompositeProcessor(AssemblyFactory factory,
- * PolicyFactory policyFactory, InterfaceContractMapper
- * interfaceContractMapper, StAXArtifactProcessor
- * extensionProcessor) { super(factory, policyFactory,
- * extensionProcessor); }
- */
- public void setComposite(Composite c) {
- composite = c;
- }
-
- public Component getParsedComponent() {
- return this.generatedComponent;
- }
-
- public Composite getParsedComposite() {
- return this.composite;
- }
-
- public Component read(XMLStreamReader reader)
- throws ContributionReadException, XMLStreamException {
- Composite include = null;
- Component component = null;
- Property property = null;
- ComponentService componentService = null;
- ComponentReference componentReference = null;
- ComponentProperty componentProperty = null;
- CompositeService compositeService = null;
- CompositeReference compositeReference = null;
- Contract contract = null;
- Wire wire = null;
- Callback callback = null;
- QName name = null;
-
- // Read the component scdl
-
- while (reader.hasNext()) {
- int event = reader.getEventType();
- switch (event) {
- case START_ELEMENT:
- QName itemName = reader.getName();
- if (!itemName.getNamespaceURI().equals(SCA10_NS))
- name = new QName(SCA10_NS, itemName.getLocalPart());
- else
- name = itemName;
-
- if (SERVICE_QNAME.equals(name)) {
- if (component != null) {
-
- // Read a <component><service>
- componentService = assemblyFactory
- .createComponentService();
- contract = componentService;
- componentService.setName(getString(reader, NAME));
- component.getServices().add(componentService);
- policyProcessor.readPolicies(contract, reader);
- }
-
- } else if (REFERENCE_QNAME.equals(name)) {
- if (component != null) {
- // Read a <component><reference>
- componentReference = assemblyFactory
- .createComponentReference();
- contract = componentReference;
- componentReference.setName(getString(reader, NAME));
- readMultiplicity(componentReference, reader);
- if (isSet(reader, AUTOWIRE)) {
- componentReference.setAutowire(getBoolean(reader,
- AUTOWIRE));
- }
- readTargets(componentReference, reader);
- componentReference.setWiredByImpl(getBoolean(reader,
- WIRED_BY_IMPL));
- component.getReferences().add(componentReference);
- policyProcessor.readPolicies(contract, reader);
- }
-
- } else if (PROPERTY_QNAME.equals(name)) {
- if (component != null) {
-
- // Read a <component><property>
- componentProperty = assemblyFactory
- .createComponentProperty();
- property = componentProperty;
- componentProperty.setSource(getString(reader, SOURCE));
- componentProperty.setFile(getString(reader, FILE));
- policyProcessor.readPolicies(property, reader);
- readAbstractProperty(componentProperty, reader);
-
- // Read the property value
- Document value = readPropertyValue(property
- .getXSDElement(), property.getXSDType(), reader);
- property.setValue(value);
-
- component.getProperties().add(componentProperty);
- }
- } else if (COMPONENT_QNAME.equals(name)) {
-
- // Read a <component>
- component = assemblyFactory.createComponent();
- component.setName(getString(reader, NAME));
- if (isSet(reader, AUTOWIRE)) {
- component.setAutowire(getBoolean(reader, AUTOWIRE));
- }
- if (isSet(reader, URI)) {
- component.setURI(getString(reader, URI));
- }
- component.setConstrainingType(readConstrainingType(reader));
- composite.getComponents().add(component);
- policyProcessor.readPolicies(component, reader);
-
- } else if (WIRE_QNAME.equals(name)) {
-
- // Read a <wire>
- wire = assemblyFactory.createWire();
- ComponentReference source = assemblyFactory
- .createComponentReference();
- source.setUnresolved(true);
- source.setName(getString(reader, SOURCE));
- wire.setSource(source);
-
- ComponentService target = assemblyFactory
- .createComponentService();
- target.setUnresolved(true);
- target.setName(getString(reader, TARGET));
- wire.setTarget(target);
-
- composite.getWires().add(wire);
- policyProcessor.readPolicies(wire, reader);
-
- } else if (CALLBACK_QNAME.equals(name)) {
-
- // Read a <callback>
- callback = assemblyFactory.createCallback();
- contract.setCallback(callback);
- policyProcessor.readPolicies(callback, reader);
-
- } else if (OPERATION_QNAME.equals(name)) {
-
- // Read an <operation>
- Operation operation = assemblyFactory.createOperation();
- operation.setName(getString(reader, NAME));
- operation.setUnresolved(true);
- if (callback != null) {
- policyProcessor.readPolicies(callback, operation,
- reader);
- } else {
- policyProcessor.readPolicies(contract, operation,
- reader);
- }
- } else if (IMPLEMENTATION_COMPOSITE_QNAME.equals(name)) {
-
- // Read an implementation.composite
- Composite implementation = assemblyFactory
- .createComposite();
- implementation.setName(getQName(reader, NAME));
- implementation.setUnresolved(true);
- component.setImplementation(implementation);
- policyProcessor.readPolicies(implementation, reader);
- } else {
-
- // Read an extension element
- Object extension = extensionProcessor.read(reader);
- if (extension != null) {
- if (extension instanceof InterfaceContract) {
-
- // <service><interface> and
- // <reference><interface>
- if (contract != null) {
- contract
- .setInterfaceContract((InterfaceContract) extension);
- } else {
- if (name.getNamespaceURI().equals(SCA10_NS)) {
- throw new ContributionReadException(
- "Unexpected <interface> element found. It should appear inside a <service> or <reference> element");
- } else {
- composite.getExtensions().add(extension);
- }
- }
-
- } else if (extension instanceof Binding) {
- // <service><binding> and
- // <reference><binding>
- if (callback != null) {
- callback.getBindings().add((Binding) extension);
- } else {
- if (contract != null) {
- contract.getBindings().add(
- (Binding) extension);
- } else {
- if (name.getNamespaceURI().equals(SCA10_NS)) {
- throw new ContributionReadException(
- "Unexpected <binding> element found. It should appear inside a <service> or <reference> element");
- } else {
- composite.getExtensions()
- .add(extension);
- }
- }
- }
-
- } else if (extension instanceof Implementation) {
-
- // <component><implementation>
- if (component != null) {
- component
- .setImplementation((Implementation) extension);
- } else {
- if (name.getNamespaceURI().equals(SCA10_NS)) {
- throw new ContributionReadException(
- "Unexpected <implementation> element found. It should appear inside a <component> element");
- } else {
- composite.getExtensions().add(extension);
- }
- }
- } else {
-
- // Add the extension element to the current
- // element
- if (callback != null) {
- callback.getExtensions().add(extension);
- } else if (contract != null) {
- contract.getExtensions().add(extension);
- } else if (property != null) {
- property.getExtensions().add(extension);
- } else if (component != null) {
- component.getExtensions().add(extension);
- } else {
- composite.getExtensions().add(extension);
- }
- }
- }
- }
- break;
-
- case XMLStreamConstants.CHARACTERS:
- break;
-
- case END_ELEMENT:
- name = reader.getName();
-
- // Clear current state when reading reaching end element
- if (SERVICE_QNAME.equals(name)) {
- componentService = null;
- compositeService = null;
- contract = null;
- } else if (INCLUDE_QNAME.equals(name)) {
- include = null;
- } else if (REFERENCE_QNAME.equals(name)) {
- componentReference = null;
- compositeReference = null;
- contract = null;
- } else if (PROPERTY_QNAME.equals(name)) {
- componentProperty = null;
- property = null;
- } else if (COMPONENT_QNAME.equals(name)) {
- // component = null;
- } else if (WIRE_QNAME.equals(name)) {
- wire = null;
- } else if (CALLBACK_QNAME.equals(name)) {
- callback = null;
- }
- break;
- }
-
- // Read the next element
- if (reader.hasNext()) {
- reader.next();
- }
- }
- this.generatedComponent = component;
- return component;
- }
-
- public void write(Composite composite, XMLStreamWriter writer)
- throws ContributionWriteException, XMLStreamException {
-
- // Write <composite> element
- writeStartDocument(writer, COMPOSITE, writeConstrainingType(composite),
- new XAttr(TARGET_NAMESPACE, composite.getName()
- .getNamespaceURI()), new XAttr(NAME, composite
- .getName().getLocalPart()), new XAttr(AUTOWIRE,
- composite.getAutowire()), policyProcessor
- .writePolicies(composite));
-
- // Write <service> elements
- for (Service service : composite.getServices()) {
- CompositeService compositeService = (CompositeService) service;
- Component promotedComponent = compositeService
- .getPromotedComponent();
- ComponentService promotedService = compositeService
- .getPromotedService();
- String promote;
- if (promotedService != null) {
- if (promotedService.getName() != null) {
- promote = promotedComponent.getName() + '/'
- + promotedService.getService();
- } else {
- promote = promotedComponent.getName();
- }
- } else {
- promote = null;
- }
- writeStart(writer, SERVICE, new XAttr(NAME, service.getName()),
- new XAttr(PROMOTE, promote), policyProcessor
- .writePolicies(service));
-
- // Write service interface
- extensionProcessor.write(service.getInterfaceContract(), writer);
-
- // Write bindings
- for (Binding binding : service.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write <callback> element
- if (service.getCallback() != null) {
- Callback callback = service.getCallback();
- writeStart(writer, CALLBACK, policyProcessor
- .writePolicies(callback));
-
- // Write callback bindings
- for (Binding binding : callback.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write extensions
- for (Object extension : callback.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write extensions
- for (Object extension : service.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <component> elements
- for (Component component : composite.getComponents()) {
- writeStart(writer, COMPONENT, new XAttr(NAME, component.getName()),
- new XAttr(URI, component.getURI()), new XAttr(AUTOWIRE,
- component.getAutowire()), policyProcessor
- .writePolicies(component));
-
- // Write <service> elements
- for (ComponentService service : component.getServices()) {
- writeStart(writer, SERVICE, new XAttr(NAME, service.getName()),
- policyProcessor.writePolicies(service));
-
- // Write service interface
- extensionProcessor
- .write(service.getInterfaceContract(), writer);
-
- // Write bindings
- for (Binding binding : service.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write <callback> element
- if (service.getCallback() != null) {
- Callback callback = service.getCallback();
- writeStart(writer, CALLBACK, policyProcessor
- .writePolicies(callback));
-
- // Write bindings
- for (Binding binding : callback.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write extensions
- for (Object extension : callback.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write extensions
- for (Object extension : service.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <reference> elements
- for (ComponentReference reference : component.getReferences()) {
- writeStart(writer, REFERENCE, new XAttr(NAME, reference
- .getName()), new XAttr(AUTOWIRE, reference
- .getAutowire()), writeTargets(reference),
- policyProcessor.writePolicies(reference));
-
- // Write reference interface
- extensionProcessor.write(reference.getInterfaceContract(),
- writer);
-
- // Write bindings
- for (Binding binding : reference.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write callback
- if (reference.getCallback() != null) {
- Callback callback = reference.getCallback();
- writeStart(writer, CALLBACK, policyProcessor
- .writePolicies(callback));
-
- // Write callback bindings
- for (Binding binding : callback.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write extensions
- for (Object extensions : callback.getExtensions()) {
- extensionProcessor.write(extensions, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write extensions
- for (Object extensions : reference.getExtensions()) {
- extensionProcessor.write(extensions, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <property> elements
- for (ComponentProperty property : component.getProperties()) {
- writeStart(writer, PROPERTY,
- new XAttr(NAME, property.getName()), new XAttr(
- MUST_SUPPLY, property.isMustSupply()),
- new XAttr(MANY, property.isMany()), new XAttr(TYPE,
- property.getXSDType()), new XAttr(ELEMENT,
- property.getXSDElement()), new XAttr(SOURCE,
- property.getSource()), new XAttr(FILE, property
- .getFile()), policyProcessor
- .writePolicies(property));
-
- // Write property value
- writePropertyValue(property.getValue(), property
- .getXSDElement(), property.getXSDType(), writer);
-
- // Write extensions
- for (Object extension : property.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write the component implementation
- Implementation implementation = component.getImplementation();
- if (implementation instanceof Composite) {
- writeStart(writer, IMPLEMENTATION_COMPOSITE, new XAttr(NAME,
- composite.getName()));
- writeEnd(writer);
- } else {
- extensionProcessor.write(component.getImplementation(), writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <reference> elements
- for (Reference reference : composite.getReferences()) {
- CompositeReference compositeReference = (CompositeReference) reference;
-
- // Write list of promoted references
- List<String> promote = new ArrayList<String>();
- for (ComponentReference promoted : compositeReference
- .getPromotedReferences()) {
- promote.add(promoted.getName());
- }
-
- // Write <reference> element
- writeStart(writer, REFERENCE, new XAttr(NAME, reference.getName()),
- new XAttr(PROMOTE, promote), policyProcessor
- .writePolicies(reference));
-
- // Write reference interface
- extensionProcessor.write(reference.getInterfaceContract(), writer);
-
- // Write bindings
- for (Binding binding : reference.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write <callback> element
- if (reference.getCallback() != null) {
- Callback callback = reference.getCallback();
- writeStart(writer, CALLBACK);
-
- // Write callback bindings
- for (Binding binding : callback.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write extensions
- for (Object extension : callback.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write extensions
- for (Object extension : reference.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <property> elements
- for (Property property : composite.getProperties()) {
- writeStart(writer, PROPERTY, new XAttr(NAME, property.getName()),
- new XAttr(MUST_SUPPLY, property.isMustSupply()), new XAttr(
- MANY, property.isMany()), new XAttr(TYPE, property
- .getXSDType()), new XAttr(ELEMENT, property
- .getXSDElement()), policyProcessor
- .writePolicies(property));
-
- // Write property value
- writePropertyValue(property.getValue(), property.getXSDElement(),
- property.getXSDType(), writer);
-
- // Write extensions
- for (Object extension : property.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <wire> elements
- for (Wire wire : composite.getWires()) {
- writeStart(writer, WIRE, new XAttr(SOURCE, wire.getSource()
- .getName()), new XAttr(TARGET, wire.getTarget().getName()));
-
- // Write extensions
- for (Object extension : wire.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
- writeEnd(writer);
- }
-
- for (Object extension : composite.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEndDocument(writer);
- }
-
- public void resolve(Composite composite, ModelResolver resolver)
- throws ContributionResolveException, PolicyValidationException {
-
- // Resolve constraining type
- ConstrainingType constrainingType = composite.getConstrainingType();
- if (constrainingType != null) {
- constrainingType = resolver.resolveModel(ConstrainingType.class,
- constrainingType);
- composite.setConstrainingType(constrainingType);
- }
-
- // Resolve includes in the composite
- for (int i = 0, n = composite.getIncludes().size(); i < n; i++) {
- Composite include = composite.getIncludes().get(i);
- if (include != null) {
- include = resolver.resolveModel(Composite.class, include);
- composite.getIncludes().set(i, include);
- }
- }
-
- // Resolve extensions
- for (Object extension : composite.getExtensions()) {
- if (extension != null) {
- extensionProcessor.resolve(extension, resolver);
- }
- }
-
- // Resolve component implementations, services and references
- for (Component component : composite.getComponents()) {
- constrainingType = component.getConstrainingType();
- if (constrainingType != null) {
- constrainingType = resolver.resolveModel(
- ConstrainingType.class, constrainingType);
- component.setConstrainingType(constrainingType);
- }
-
- Implementation implementation = component.getImplementation();
- if (implementation != null) {
- implementation = resolveImplementation(implementation, resolver);
- component.setImplementation(implementation);
- }
-
- for (ComponentProperty componentProperty : component
- .getProperties()) {
- if (componentProperty.getFile() != null) {
- DeployedArtifact deployedArtifact = contributionFactory
- .createDeployedArtifact();
- deployedArtifact.setURI(componentProperty.getFile());
- deployedArtifact = resolver.resolveModel(
- DeployedArtifact.class, deployedArtifact);
- if (deployedArtifact.getLocation() != null) {
- componentProperty.setFile(deployedArtifact
- .getLocation());
- }
- }
- }
- resolveIntents(component.getRequiredIntents(), resolver);
- resolvePolicySets(component.getPolicySets(), resolver);
- resolveContracts(component.getServices(), resolver);
- resolveContracts(component.getReferences(), resolver);
- }
-
- // Resolve composite services and references
- resolveContracts(composite.getServices(), resolver);
- resolveContracts(composite.getReferences(), resolver);
- if (composite instanceof PolicySetAttachPoint) {
- resolveIntents(((PolicySetAttachPoint) composite)
- .getRequiredIntents(), resolver);
- resolvePolicySets(((PolicySetAttachPoint) composite)
- .getPolicySets(), resolver);
- }
- }
-
- public void write(Component model, XMLStreamWriter writer)
- throws ContributionWriteException, XMLStreamException {
- write(this.composite, writer);
-
- }
-
- public void resolve(Component component, ModelResolver resolver)
- throws ContributionResolveException {
- // Resolve component implementations, services and references
- ConstrainingType constrainingType = component.getConstrainingType();
- if (constrainingType != null) {
- constrainingType = resolver.resolveModel(ConstrainingType.class,
- constrainingType);
- component.setConstrainingType(constrainingType);
- }
-
- Implementation implementation = component.getImplementation();
- if (implementation != null) {
- implementation = resolveImplementation(implementation, resolver);
- component.setImplementation(implementation);
- }
-
- for (ComponentProperty componentProperty : component.getProperties()) {
- if (componentProperty.getFile() != null) {
- DeployedArtifact deployedArtifact = contributionFactory
- .createDeployedArtifact();
- deployedArtifact.setURI(componentProperty.getFile());
- deployedArtifact = resolver.resolveModel(
- DeployedArtifact.class, deployedArtifact);
- if (deployedArtifact.getLocation() != null) {
- componentProperty.setFile(deployedArtifact.getLocation());
- }
- }
- }
- resolveIntents(component.getRequiredIntents(), resolver);
- resolvePolicySets(component.getPolicySets(), resolver);
- resolveContracts(component.getServices(), resolver);
- resolveContracts(component.getReferences(), resolver);
- }
-
- public void resolveReference(ComponentReference reference,
- ModelResolver resolver) throws ContributionResolveException {
- resolveIntents(reference.getRequiredIntents(), resolver);
- resolvePolicySets(reference.getPolicySets(), resolver);
- List<ComponentReference> contracts = new ArrayList<ComponentReference>();
- contracts.add(reference);
- resolveContracts(contracts, resolver);
- }
-
- public QName getArtifactType() {
- return COMPONENT_QNAME;
- }
-
- public Class<Component> getModelType() {
-
- return Component.class;
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java
deleted file mode 100644
index d93a92b32c..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java
+++ /dev/null
@@ -1,27 +0,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.contribution.updater;
-
-public class ComponentNotFoundException extends Exception {
-
- public ComponentNotFoundException(String string) {
- super(string);
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java
deleted file mode 100644
index 8743556538..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java
+++ /dev/null
@@ -1,31 +0,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.contribution.updater;
-
-import org.apache.tuscany.sca.assembly.ComponentReference;
-
-public interface ComponentUpdater {
- public ComponentReference addReferenceWire(String referenceName,
- String className, Class<?> interfaceName, String targetComponent)
- throws ComponentUpdaterException, ComponentNotFoundException;
-
- public ComponentReference removeReferenceWire(String referenceName,
- String targetComponent) throws ComponentUpdaterException,
- ComponentNotFoundException;
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java
deleted file mode 100644
index f94238089f..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java
+++ /dev/null
@@ -1,28 +0,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.contribution.updater;
-
-public class ComponentUpdaterException extends Exception {
-
- private static final long serialVersionUID = 33909120912033L;
-
- public ComponentUpdaterException(String string) {
- super(string);
- }
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java
deleted file mode 100644
index 52d7e602b7..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java
+++ /dev/null
@@ -1,25 +0,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.contribution.updater;
-
-public class CompositeNotFoundException extends Exception {
- public CompositeNotFoundException(String msg) {
- super(msg);
- }
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java
deleted file mode 100644
index 4f55148651..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java
+++ /dev/null
@@ -1,31 +0,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.contribution.updater;
-
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.MetaComponent;
-
-public interface CompositeUpdater {
- Component addComponent(MetaComponent c) throws CompositeUpdaterException;
-
- Component removeComponent(String componentName)
- throws CompositeUpdaterException;
-
- Component findComponent(String componentName);
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java
deleted file mode 100644
index 3dc86d97f7..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java
+++ /dev/null
@@ -1,29 +0,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.contribution.updater;
-
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-
-public class CompositeUpdaterException extends Exception {
-
- public CompositeUpdaterException(String string) {
- super(string);
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java
deleted file mode 100644
index a364c23174..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java
+++ /dev/null
@@ -1,30 +0,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.contribution.updater;
-
-/*
- * This interface is used to get and modify artifacts from an existing
- * contribution
- */
-public interface ContributionUpdater {
- CompositeUpdater getCompositeUpdater(String contribURI, String compositeURI);
-
- ComponentUpdater getComponentUpdater(String contribURI,
- String compositeURI, String componentName);
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/test/resources/HelloComposite.composite b/branches/sca-android/modules/contribution-updater/src/test/resources/HelloComposite.composite
deleted file mode 100644
index 76714a0e9c..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/test/resources/HelloComposite.composite
+++ /dev/null
@@ -1,27 +0,0 @@
-<?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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://test"
- xmlns:test="http://test"
- name="HelloComposite">
- <component name="HelloComponentService">
- <implementation.java="org.apache.tuscany.sca.contribution.updater.impl.HelloComponent"/>
- </component>
-</composite> \ No newline at end of file
diff --git a/branches/sca-android/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar b/branches/sca-android/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar
deleted file mode 100644
index 9c46c679d2..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar
+++ /dev/null
Binary files differ