diff options
Diffstat (limited to '')
61 files changed, 0 insertions, 4401 deletions
diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/LICENSE b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-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/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/NOTICE b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/pom.xml b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/pom.xml deleted file mode 100644 index 750e533fbf..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/pom.xml +++ /dev/null @@ -1,127 +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.5.1</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-contribution-jee-impl</artifactId> - <name>Apache Tuscany SCA Java EE Impl</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>1.5.1</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution-impl</artifactId> - <version>1.5.1</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution-jee</artifactId> - <version>1.5.1</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>1.5.1</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface-java</artifactId> - <version>1.5.1</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface-java-xml</artifactId> - <version>1.5.1</version> - </dependency> - - <!-- TUSCANY-3165 Waiting for 3.0.2 to be released so - reverting to 3.0.1 for now. JEE itest will no work on - windows due to this - <dependency> - <groupId>org.apache.openejb</groupId> - <artifactId>openejb-core</artifactId> - <version>3.0.2-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.openejb</groupId> - <artifactId>openejb-jee</artifactId> - <version>3.0.2-SNAPSHOT</version> - </dependency> - --> - - <dependency> - <groupId>org.apache.openejb</groupId> - <artifactId>openejb-core</artifactId> - <version>3.0.1</version> - </dependency> - - <dependency> - <groupId>org.apache.openejb</groupId> - <artifactId>openejb-jee</artifactId> - <version>3.0.1</version> - </dependency> - - <dependency> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - <version>3.2.4</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.jee</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.contribution.jee*</Export-Package> - <DynamicImport-Package>org.apache.tuscany.sca.contribution.osgi.impl</DynamicImport-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/JEEDefinitionsProvider.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/JEEDefinitionsProvider.java deleted file mode 100644 index 262875c49a..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/JEEDefinitionsProvider.java +++ /dev/null @@ -1,73 +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.jee; - -import java.net.URI; -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedAction; - -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.definitions.util.SCADefinitionsUtil; -import org.apache.tuscany.sca.provider.SCADefinitionsProvider; -import org.apache.tuscany.sca.provider.SCADefinitionsProviderException; - -/** - * Provider for Policy Intents and PolicySet definitions related to security - * - * @version $Rev$ $Date$ - */ -public class JEEDefinitionsProvider implements SCADefinitionsProvider { - private static final String definitionsFile = "org/apache/tuscany/sca/contribution/jee/definitions.xml"; - - URLArtifactProcessor urlArtifactProcessor = null; - - public JEEDefinitionsProvider(ExtensionPointRegistry registry) { - URLArtifactProcessorExtensionPoint documentProcessors = - registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class); - urlArtifactProcessor = (URLArtifactProcessor)documentProcessors.getProcessor(SCADefinitions.class); - } - - public SCADefinitions getSCADefinition() throws SCADefinitionsProviderException { - SCADefinitions scaDefns = null; - try { - // Allow privileged access to load resource. Requires - // RuntimePermssion in security policy. - URL definitionsFileUrl = AccessController.doPrivileged(new PrivilegedAction<URL>() { - public URL run() { - return getClass().getClassLoader().getResource(definitionsFile); - } - }); - - URI uri = new URI(definitionsFile); - - scaDefns = (SCADefinitions)urlArtifactProcessor.read(null, uri, definitionsFileUrl); - - return scaDefns; - - } catch (Exception e) { - throw new SCADefinitionsProviderException(e); - } - } - -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java deleted file mode 100644 index ccb66e8965..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java +++ /dev/null @@ -1,63 +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.jee; - -import java.io.File; - -import org.apache.openejb.OpenEJBException; -import org.apache.openejb.config.AnnotationDeployer; -import org.apache.openejb.config.AppModule; -import org.apache.openejb.config.DeploymentLoader; -import org.apache.openejb.config.ReadDescriptors; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; - -/** - * @version $Rev$ $Date$ - */ -public class JavaEEModuleHelper { - - public AppModule getMetadataCompleteModules(String jarFilePath) throws ContributionReadException { - DeploymentLoader loader = new DeploymentLoader(); - AppModule appModule = null; - try { - appModule = loader.load(new File(jarFilePath)); - } catch (OpenEJBException e) { - throw new ContributionReadException(e); - } - - // Process deployment descriptor files - ReadDescriptors readDescriptors = new ReadDescriptors(); - try { - readDescriptors.deploy(appModule); - } catch (OpenEJBException e) { - throw new ContributionReadException(e); - } - - // Process annotations - AnnotationDeployer annDeployer = new AnnotationDeployer(); - try { - annDeployer.deploy(appModule); - } catch (OpenEJBException e) { - throw new ContributionReadException(e); - } - - return appModule; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EARContributionClassLoader.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EARContributionClassLoader.java deleted file mode 100644 index 87cdaa2cf3..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EARContributionClassLoader.java +++ /dev/null @@ -1,201 +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.jee.impl; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashSet; -import java.util.List; - -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.java.JavaImport; -import org.apache.tuscany.sca.contribution.jee.EjbModuleInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEApplicationInfo; -import org.apache.tuscany.sca.contribution.jee.WebModuleInfo; - - -public class EARContributionClassLoader extends URLClassLoader { - - private Contribution contribution; - private List<EjbModuleInfo> ejbModules = new ArrayList<EjbModuleInfo>(); - - /** - * Constructor for contribution ClassLoader - * - * @param contribution - * @param parent - * @throws MalformedURLException - */ - public EARContributionClassLoader(Contribution contribution, final ClassLoader parent) { - super(new URL[0], parent); - - this.contribution = contribution; - - // get the classloaders for any EAR archive that is a contribution - for (Artifact artifact : contribution.getArtifacts()){ - if (artifact.getModel() instanceof JavaEEApplicationInfo){ - JavaEEApplicationInfo jeeAppInfo = (JavaEEApplicationInfo)artifact.getModel(); - // TODO - won't these all have the same classloader? - ejbModules.addAll(jeeAppInfo.getEjbModuleInfos().values()); - } - } - - } - - /* (non-Javadoc) - * @see java.net.URLClassLoader#findClass(java.lang.String) - * - * Search path for class: - * This contribution - * Imported contributions - */ - @Override - protected Class<?> findClass(String className) throws ClassNotFoundException { - - Class<?> clazz = null; - ClassNotFoundException cne = null; - - // TODO - Won't these classloaders all be the same? - for (EjbModuleInfo ejbModuleInfo : ejbModules){ - try { - clazz = ejbModuleInfo.getModuleClassloader().loadClass(className); - } catch (ClassNotFoundException e) { - cne = e; - } - - if (clazz != null){ - break; - } - } - - if (clazz == null){ - throw cne; - } - - return clazz; - } - - - /* (non-Javadoc) - * @see java.lang.ClassLoader#loadClass(java.lang.String, boolean) - * - * Search path for class: - * Parent ClassLoader - * This contribution - * Imported contributions - * - */ - @Override - protected synchronized Class<?> loadClass(String className, boolean resolveClass) - throws ClassNotFoundException { - - Class<?> clazz = null; - try { - - if (this.getParent() != null) - clazz = this.getParent().loadClass(className); - - } catch (ClassNotFoundException e) { - } - - if (clazz == null) - clazz = findClass(className); - - - if (resolveClass) - this.resolveClass(clazz); - return clazz; - - } - - - - /* (non-Javadoc) - * @see java.lang.ClassLoader#getResource(java.lang.String) - * - * Find a resource. - * Search path for resource: - * Parent ClassLoader - * This contribution - */ - @Override - public URL getResource(String resName) { - - URL resource = null; - - if (this.getParent() != null) { - resource = this.getParent().getResource(resName); - } - if (resource == null) { -// TODO Which classloader? -// resource = webModuleInfo.getModuleClassloader().getResource(resName); - } - - return resource; - } - - - /* (non-Javadoc) - * @see java.lang.ClassLoader#getResources(java.lang.String) - * - * Return list of resources from this contribution, resources - * imported through imported contributions and resources from parent - * ClassLoader. - */ - @Override - public Enumeration<URL> getResources(String resName) throws IOException { - - HashSet<URL> resourceSet = new HashSet<URL>(); - -// TODO - which classloader -// addEnumerationToCollection(resourceSet, webModuleInfo.getModuleClassloader().getResources(resName)); - addEnumerationToCollection(resourceSet, super.getResources(resName)); - - return Collections.enumeration(resourceSet); - } - - /* - * Add an enumeration to a Collection - */ - private <T extends Object> void addEnumerationToCollection(Collection<T> collection, Enumeration<T> enumeration) { - - while (enumeration.hasMoreElements()) - collection.add(enumeration.nextElement()); - } - - - @Override - public String toString() { - return "SCA JEE ClassLoader, parent ClassLoader: " + getParent(); - } - - -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EARContributionClassLoaderProvider.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EARContributionClassLoaderProvider.java deleted file mode 100644 index 5ea7dc55f7..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EARContributionClassLoaderProvider.java +++ /dev/null @@ -1,49 +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.jee.impl; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.PackageType; -import org.apache.tuscany.sca.contribution.java.ContributionClassLoaderProvider; -import org.apache.tuscany.sca.contribution.java.impl.ContributionClassLoader; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; - -/** - * The default implementation of the ContributionClassLoaderProvider - */ -public class EARContributionClassLoaderProvider implements ContributionClassLoaderProvider { - - public EARContributionClassLoaderProvider() { - super(); - } - - public String getContributionType() { - return PackageType.EAR; - } - - public ClassLoader getClassLoader(Contribution contribution, ClassLoader parent) { - // TODO - This is not quite right at the CCL will load up the nested jars - // also. However we do need to pick up the import processing so - // need a bit of a refactor - ContributionClassLoader ccl = new ContributionClassLoader(contribution, parent); - return new EARContributionClassLoader(contribution, ccl); - } - -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEIntrospectorImpl.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEIntrospectorImpl.java deleted file mode 100644 index 89a09c84c5..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEIntrospectorImpl.java +++ /dev/null @@ -1,421 +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.jee.impl; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.net.URLConnection; -import java.util.Map; - -import org.apache.openejb.config.AppModule; -import org.apache.openejb.config.EjbModule; -import org.apache.openejb.config.UnknownModuleTypeException; -import org.apache.openejb.config.UnsupportedModuleTypeException; -import org.apache.openejb.config.WebModule; -import org.apache.openejb.jee.EjbJar; -import org.apache.openejb.jee.EjbRef; -import org.apache.openejb.jee.EjbRefType; -import org.apache.openejb.jee.EjbReference; -import org.apache.openejb.jee.EnterpriseBean; -import org.apache.openejb.jee.EnvEntry; -import org.apache.openejb.jee.Filter; -import org.apache.openejb.jee.Listener; -import org.apache.openejb.jee.MessageDrivenBean; -import org.apache.openejb.jee.Servlet; -import org.apache.openejb.jee.SessionBean; -import org.apache.openejb.jee.SessionType; -import org.apache.openejb.jee.WebApp; -import org.apache.tuscany.sca.contribution.jee.EjbInfo; -import org.apache.tuscany.sca.contribution.jee.EjbModuleInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEApplicationInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEIntrospector; -import org.apache.tuscany.sca.contribution.jee.JavaEEModuleHelper; -import org.apache.tuscany.sca.contribution.jee.WebModuleInfo; -import org.apache.tuscany.sca.contribution.jee.EjbReferenceInfo.EjbType; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.util.IOHelper; - -/** - * @version $Rev$ $Date$ - */ -public class JavaEEIntrospectorImpl implements JavaEEIntrospector { - - public WebModuleInfo introspectWebArchive(URL artifactURL) throws ContributionReadException { - // Create a temporary file since openejb extracts the archive to process - InputStream inp = null; - File tempFile = null; - try { - URLConnection connection = artifactURL.openConnection(); - connection.setUseCaches(false); - inp = connection.getInputStream(); - tempFile = File.createTempFile("temp", ".war"); - FileOutputStream fout = new FileOutputStream(tempFile); - IOHelper.copy(inp, fout); - fout.close(); - inp.close(); - } catch (IOException e) { - throw new ContributionReadException(e); - } - - JavaEEModuleHelper jmh = new JavaEEModuleHelper(); - WebModule wm = jmh.getMetadataCompleteModules(tempFile.getAbsolutePath()).getWebModules().get(0); - if(!tempFile.delete()) { - tempFile.deleteOnExit(); - } - return createWebModuleInfo(wm); - } - - private WebModuleInfo createWebModuleInfo(WebModule webModule) { - WebModuleInfo wmInfo = new WebModuleInfoImpl(); - - WebApp webApp = webModule.getWebApp(); - ClassLoader classLoader = webModule.getClassLoader(); - wmInfo.setmoduleClassloader(classLoader); - - // Process Remote EJB References - for (Map.Entry<String, EjbRef> entry : webApp.getEjbRefMap().entrySet()) { - EjbRef ejbRef = entry.getValue(); - if(ejbRef.getHome() != null) { - // References to only EJB3 beans need to be considered. - // Skip the current on as it is not a reference to an EJB3 bean. - continue; - } - if (ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) != 0) { - // Only Remote EJB references need to be considered. - // Skip the current one as it is not a remote reference. - continue; - } - //FIXME: ejbRef.getEjbRefType() is null sometimes. Need a different way to figure the type. - if(ejbRef.getEjbRefType() != null && ejbRef.getEjbRefType().compareTo(EjbRefType.SESSION) != 0) { - // Only references to Session beans need to be considered. - // Skip the current one as it is not a Session bean. - continue; - } - - try { - wmInfo.getEjbReferences().put(ejbRef.getEjbRefName(), createEjbReferenceInfo(ejbRef, classLoader)); - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - // Process env-entries to compute properties - for (Map.Entry<String, EnvEntry> entry : webApp.getEnvEntryMap().entrySet()) { - EnvEntry envEntry = entry.getValue(); - wmInfo.getEnvEntries().put(envEntry.getEnvEntryName(), createEnvEntryInfo(envEntry)); - } - - // Process Servlets - for(Servlet servlet: webApp.getServlet()) { - try { - wmInfo.getServletClasses().add(classLoader.loadClass(servlet.getServletClass())); - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - // Process Filters - for(Filter filter: webApp.getFilter()) { - try { - wmInfo.getFilterClasses().add(classLoader.loadClass(filter.getFilterClass())); - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - // Process Listeners - for(Listener listener: webApp.getListener()) { - try { - wmInfo.getListenerClasses().add(classLoader.loadClass(listener.getListenerClass())); - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - // TODO: Process JSF Managed beans - - // TODO: Process JSP pages - - return wmInfo; - } - - private org.apache.tuscany.sca.contribution.jee.EnvEntryInfo createEnvEntryInfo(EnvEntry envEntry) { - org.apache.tuscany.sca.contribution.jee.EnvEntryInfo envEntryInfo = new org.apache.tuscany.sca.contribution.jee.EnvEntryInfo(); - envEntryInfo.name = envEntry.getEnvEntryName(); - envEntryInfo.type = envEntry.getEnvEntryType(); - envEntryInfo.value = envEntry.getEnvEntryValue(); - - return envEntryInfo; - } - - private org.apache.tuscany.sca.contribution.jee.EjbReferenceInfo createEjbReferenceInfo(EjbRef ejbRef, ClassLoader classLoader) throws ClassNotFoundException { - org.apache.tuscany.sca.contribution.jee.EjbReferenceInfo ejbReferenceInfo = new org.apache.tuscany.sca.contribution.jee.EjbReferenceInfo(); - - ejbReferenceInfo.referenceName = ejbRef.getEjbRefName(); - ejbReferenceInfo.referenceType = ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) == 0 ? org.apache.tuscany.sca.contribution.jee.EjbReferenceInfo.RefType.REMOTE : ejbRef.getRefType().compareTo(EjbReference.Type.LOCAL) == 0 ? org.apache.tuscany.sca.contribution.jee.EjbReferenceInfo.RefType.LOCAL : org.apache.tuscany.sca.contribution.jee.EjbReferenceInfo.RefType.UNKNOWN; - ejbReferenceInfo.businessInterface = classLoader.loadClass(ejbRef.getInterface()); - - ejbReferenceInfo.ejbType = EjbType.UNKNOWN; - if(ejbRef.getEjbRefType() != null) { - if(ejbRef.getEjbRefType().compareTo(EjbRefType.SESSION) == 0) { - ejbReferenceInfo.ejbType = EjbType.SESSION_UNKNOWN; - } - } - - ejbReferenceInfo.ejbLink = ejbRef.getEjbLink(); - ejbReferenceInfo.mappedName = ejbRef.getMappedName(); - - return ejbReferenceInfo; - } - - public EjbModuleInfo introspectEjbArchive(URL artifactURL) throws ContributionReadException { - // Create a temporary file since openejb extracts the archive to process - InputStream inp = null; - File tempFile = null; - try { - URLConnection connection = artifactURL.openConnection(); - connection.setUseCaches(false); - inp = connection.getInputStream(); - tempFile = File.createTempFile("temp", ".jar"); - FileOutputStream fout = new FileOutputStream(tempFile); - IOHelper.copy(inp, fout); - fout.close(); - inp.close(); - } catch (IOException e) { - throw new ContributionReadException(e); - } - - JavaEEModuleHelper jmh = new JavaEEModuleHelper(); - EjbModule em; - try { - em = jmh.getMetadataCompleteModules(tempFile.getAbsolutePath()).getEjbModules().get(0); - } catch(ContributionReadException e) { - if((e.getCause() instanceof UnknownModuleTypeException) || - (e.getCause() instanceof UnsupportedModuleTypeException)) { - // Not an EJB jar - return null; - } else { - throw e; - } - } finally { - if(!tempFile.delete()) { - tempFile.deleteOnExit(); - } - } - return createEjbModuleInfo(em); - } - - private EjbModuleInfo createEjbModuleInfo(EjbModule ejbModule) { - EjbModuleInfo ejbModuleInfo = new EjbModuleInfoImpl(); - - EjbJar ejbJar = ejbModule.getEjbJar(); - if (!ejbJar.getVersion().startsWith("3")) { - // Not an EJB3 module - // TODO: should throw an exception - return null; - } - - ClassLoader classLoader = ejbModule.getClassLoader(); - ejbModuleInfo.setmoduleClassloader(classLoader); - Map<String, EnterpriseBean> beansMap = ejbJar.getEnterpriseBeansByEjbName(); - for (Map.Entry<String, EnterpriseBean> entry : beansMap.entrySet()) { - EnterpriseBean bean = entry.getValue(); - EjbInfo ejbInfo = null; - if (bean instanceof SessionBean) { - SessionBean sbean = (SessionBean)bean; - ejbInfo = createEjbInfo(sbean, classLoader); - } else if (bean instanceof MessageDrivenBean) { - MessageDrivenBean mdbean = (MessageDrivenBean)bean; - ejbInfo = createEjbInfo(mdbean, classLoader); - } else { - continue; - } - if (ejbInfo != null) { - // Bean is an EJB3 bean - ejbModuleInfo.getEjbInfos().put(bean.getEjbName(), ejbInfo); - } - } - - return ejbModuleInfo; - } - - private EjbInfo createEjbInfo(MessageDrivenBean bean, ClassLoader classLoader) { - try { - if(javax.ejb.MessageDrivenBean.class.isAssignableFrom(classLoader.loadClass(bean.getEjbClass()))) { - // Not an EJB3 bean - return null; - } - } catch (ClassNotFoundException ignored) { - // Should not happen - } - EjbInfo ejbInfo = new EjbInfo(); - - ejbInfo.beanName = bean.getEjbName(); - - try { - ejbInfo.beanClass = classLoader.loadClass(bean.getEjbClass()); - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - ejbInfo.ejbType = org.apache.tuscany.sca.contribution.jee.EjbInfo.EjbType.MESSAGE_DRIVEN; - - ejbInfo.mappedName = bean.getMappedName(); - - processReferencesEnvEntries(bean, classLoader, ejbInfo); - - return ejbInfo; - } - - private EjbInfo createEjbInfo(SessionBean bean, ClassLoader classLoader) { - if(bean.getBusinessRemote().size() == 0 && bean.getBusinessLocal().size() == 0) { - // Not an EJB3 Session bean - return null; - } - EjbInfo ejbInfo = new EjbInfo(); - - ejbInfo.beanName = bean.getEjbName(); - - try { - ejbInfo.beanClass = classLoader.loadClass(bean.getEjbClass()); - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - ejbInfo.ejbType = bean.getSessionType().equals(SessionType.STATEFUL) ? org.apache.tuscany.sca.contribution.jee.EjbInfo.EjbType.SESSION_STATEFUL : bean.getSessionType().equals(SessionType.STATELESS) ? org.apache.tuscany.sca.contribution.jee.EjbInfo.EjbType.SESSION_STATELESS : org.apache.tuscany.sca.contribution.jee.EjbInfo.EjbType.SESSION_UNKNOWN; - - ejbInfo.mappedName = bean.getMappedName(); - //FIXME: Is it ok to use beanName when mapped name is null? - if(ejbInfo.mappedName == null) { - ejbInfo.mappedName = ejbInfo.beanName; - } - - // Process Remote Business interfaces of the SessionBean - for (String intfName : bean.getBusinessRemote()) { - try { - ejbInfo.businessRemote.add(classLoader.loadClass(intfName)); - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - // Process Local Business interfaces of the SessionBean - for (String intfName : bean.getBusinessLocal()) { - try { - ejbInfo.businessLocal.add(classLoader.loadClass(intfName)); - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - processReferencesEnvEntries(bean, classLoader, ejbInfo); - - return ejbInfo; - } - - private void processReferencesEnvEntries(EnterpriseBean bean, ClassLoader classLoader, EjbInfo ejbInfo) { - // Process Remote EJB References - for (Map.Entry<String, EjbRef> entry : bean.getEjbRefMap().entrySet()) { - EjbRef ejbRef = entry.getValue(); - if(ejbRef.getHome() != null) { - // References to only EJB3 beans need to be considered. - // Skip the current on as it is not a reference to an EJB3 bean. - continue; - } - if (ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) != 0) { - // Only Remote EJB references need to be considered. - // Skip the current one as it is not a remote reference. - continue; - } - //FIXME: ejbRef.getEjbRefType() is null sometimes. Need a different way to figure the type. - if(ejbRef.getEjbRefType() != null && ejbRef.getEjbRefType().compareTo(EjbRefType.SESSION) != 0) { - // Only references to Session beans need to be considered. - // Skip the current one as it is not a Session bean. - continue; - } - - try { - ejbInfo.ejbReferences.put(ejbRef.getEjbRefName(), createEjbReferenceInfo(ejbRef, classLoader)); - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - // Process env-entries - for (Map.Entry<String, EnvEntry> entry : bean.getEnvEntryMap().entrySet()) { - EnvEntry envEntry = entry.getValue(); - - ejbInfo.envEntries.put(envEntry.getEnvEntryName(), createEnvEntryInfo(envEntry)); - } - } - - public JavaEEApplicationInfo introspectJeeArchive(URL artifactURL) throws ContributionReadException { - // Create a temporary file since openejb extracts the archive to process - InputStream inp = null; - File tempFile = null; - try { - URLConnection connection = artifactURL.openConnection(); - connection.setUseCaches(false); - inp = connection.getInputStream(); - tempFile = File.createTempFile("temp", ".ear"); - FileOutputStream fout = new FileOutputStream(tempFile); - IOHelper.copy(inp, fout); - fout.close(); - inp.close(); - } catch (IOException e) { - throw new ContributionReadException(e); - } - - JavaEEModuleHelper jmh = new JavaEEModuleHelper(); - AppModule appModule = jmh.getMetadataCompleteModules(tempFile.getAbsolutePath()); - if(!tempFile.delete()) { - tempFile.deleteOnExit(); - } - return createJavaEEApplicationInfo(appModule); - } - - private org.apache.tuscany.sca.contribution.jee.JavaEEApplicationInfo createJavaEEApplicationInfo(AppModule appModule) { - JavaEEApplicationInfo appInfo = new JavaEEApplicationInfoImpl(); - for(EjbModule em : appModule.getEjbModules()){ - EjbModuleInfo ejbModuleInfo = createEjbModuleInfo(em); - ejbModuleInfo.setModuleName(em.getModuleId()); - appInfo.getEjbModuleInfos().put(em.getModuleId(), ejbModuleInfo); - } - - for(WebModule wm : appModule.getWebModules()) { - WebModuleInfo webModuleInfo = createWebModuleInfo(wm); - webModuleInfo.setModuleName(wm.getModuleId()); - appInfo.getWebModuleInfos().put(wm.getModuleId(), webModuleInfo); - } - - return appInfo; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WARContributionClassLoader.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WARContributionClassLoader.java deleted file mode 100644 index 4047371583..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WARContributionClassLoader.java +++ /dev/null @@ -1,191 +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.jee.impl; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashSet; -import java.util.List; - -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.java.JavaImport; -import org.apache.tuscany.sca.contribution.jee.EjbModuleInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEApplicationInfo; -import org.apache.tuscany.sca.contribution.jee.WebModuleInfo; - - -public class WARContributionClassLoader extends URLClassLoader { - - private Contribution contribution; - private WebModuleInfo webModuleInfo = null; - - /** - * Constructor for contribution ClassLoader - * - * @param contribution - * @param parent - * @throws MalformedURLException - */ - public WARContributionClassLoader(Contribution contribution, final ClassLoader parent) { - super(new URL[0], parent); - - this.contribution = contribution; - - // get the classloaders for any WAR archive that is a contribution - // TODO extend to case where JEE archive is outside the contribution - for (Artifact artifact : contribution.getArtifacts()){ - if (artifact.getModel() instanceof WebModuleInfo){ - webModuleInfo = (WebModuleInfo)artifact.getModel(); - break; - } - } - - } - - /* (non-Javadoc) - * @see java.net.URLClassLoader#findClass(java.lang.String) - * - * Search path for class: - * This contribution - * Imported contributions - */ - @Override - protected Class<?> findClass(String className) throws ClassNotFoundException { - - Class<?> clazz = null; - ClassNotFoundException cne = null; - - try { - clazz = webModuleInfo.getModuleClassloader().loadClass(className); - } catch (ClassNotFoundException e) { - cne = e; - } - - if (clazz == null){ - throw cne; - } - - return clazz; - } - - - /* (non-Javadoc) - * @see java.lang.ClassLoader#loadClass(java.lang.String, boolean) - * - * Search path for class: - * Parent ClassLoader - * This contribution - * Imported contributions - * - */ - @Override - protected synchronized Class<?> loadClass(String className, boolean resolveClass) - throws ClassNotFoundException { - - Class<?> clazz = null; - try { - - if (this.getParent() != null) - clazz = this.getParent().loadClass(className); - - } catch (ClassNotFoundException e) { - } - - if (clazz == null) - clazz = findClass(className); - - - if (resolveClass) - this.resolveClass(clazz); - return clazz; - - } - - - /* (non-Javadoc) - * @see java.lang.ClassLoader#getResource(java.lang.String) - * - * Find a resource. - * Search path for resource: - * Parent ClassLoader - * This contribution - */ - @Override - public URL getResource(String resName) { - - URL resource = null; - - if (this.getParent() != null) { - resource = this.getParent().getResource(resName); - } - if (resource == null) - resource = webModuleInfo.getModuleClassloader().getResource(resName); - - return resource; - } - - - /* (non-Javadoc) - * @see java.lang.ClassLoader#getResources(java.lang.String) - * - * Return list of resources from this contribution, resources - * imported through imported contributions and resources from parent - * ClassLoader. - */ - @Override - public Enumeration<URL> getResources(String resName) throws IOException { - - HashSet<URL> resourceSet = new HashSet<URL>(); - - addEnumerationToCollection(resourceSet, webModuleInfo.getModuleClassloader().getResources(resName)); - addEnumerationToCollection(resourceSet, super.getResources(resName)); - - return Collections.enumeration(resourceSet); - } - - - /* - * Add an enumeration to a Collection - */ - private <T extends Object> void addEnumerationToCollection(Collection<T> collection, Enumeration<T> enumeration) { - - while (enumeration.hasMoreElements()) - collection.add(enumeration.nextElement()); - } - - - @Override - public String toString() { - return "SCA WAR ClassLoader, parent ClassLoader: " + getParent(); - } - - -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WARContributionClassLoaderProvider.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WARContributionClassLoaderProvider.java deleted file mode 100644 index d2af85a7d5..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WARContributionClassLoaderProvider.java +++ /dev/null @@ -1,49 +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.jee.impl; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.PackageType; -import org.apache.tuscany.sca.contribution.java.ContributionClassLoaderProvider; -import org.apache.tuscany.sca.contribution.java.impl.ContributionClassLoader; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; - -/** - * The default implementation of the ContributionClassLoaderProvider - */ -public class WARContributionClassLoaderProvider implements ContributionClassLoaderProvider { - - public WARContributionClassLoaderProvider() { - super(); - } - - public String getContributionType() { - return PackageType.WAR; - } - - public ClassLoader getClassLoader(Contribution contribution, ClassLoader parent) { - // TODO - This is not quite right at the CCL will load up the nested jars - // also. However we do need to pick up the import processing so - // need a bit of a refactor - ContributionClassLoader ccl = new ContributionClassLoader(contribution, parent); - return new WARContributionClassLoader(contribution, ccl); - } - -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.java.ContributionClassLoaderProvider b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.java.ContributionClassLoaderProvider deleted file mode 100644 index 460bf3206c..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.java.ContributionClassLoaderProvider +++ /dev/null @@ -1,18 +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.
-org.apache.tuscany.sca.contribution.jee.impl.EARContributionClassLoaderProvider;type=application/ear
-org.apache.tuscany.sca.contribution.jee.impl.WARContributionClassLoaderProvider;type=application/war
\ No newline at end of file diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.jee.JavaEEIntrospector b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.jee.JavaEEIntrospector deleted file mode 100644 index 35c1b709a5..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.jee.JavaEEIntrospector +++ /dev/null @@ -1,18 +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.
-
-org.apache.tuscany.sca.contribution.jee.impl.JavaEEIntrospectorImpl
\ No newline at end of file diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider deleted file mode 100644 index cd81aab7a0..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider +++ /dev/null @@ -1,19 +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. - -# Implementation class for SCA Definitions Providers -org.apache.tuscany.sca.contribution.jee.JEEDefinitionsProvider
\ No newline at end of file diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/org/apache/tuscany/sca/contribution/jee/definitions.xml b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/org/apache/tuscany/sca/contribution/jee/definitions.xml deleted file mode 100644 index bfc7f9097c..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee-impl/src/main/resources/org/apache/tuscany/sca/contribution/jee/definitions.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> -<!-- - * 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. ---> -<definitions xmlns="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"> - - - <!-- JEE Intents Defined by the SCA Runtime --> - <intent name="ejb" - constrains="sca:service sca:reference"> - <description> - This intent is used to indicate that a message passing - through a service or reference observers the same rules - as if it had been received/sent by a vanilla Java EE EJB. - </description> - </intent> - -</definitions>
\ No newline at end of file diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/LICENSE b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/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/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/NOTICE b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/pom.xml b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/pom.xml deleted file mode 100644 index cb554c9839..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/pom.xml +++ /dev/null @@ -1,100 +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.5.1</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-contribution-jee</artifactId> - <name>Apache Tuscany SCA Java EE</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>1.5.1</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution-impl</artifactId> - <version>1.5.1</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>1.5.1</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface-java</artifactId> - <version>1.5.1</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface-java-xml</artifactId> - <version>1.5.1</version> - </dependency> - - <dependency> - <groupId>org.eclipse.emf</groupId> - <artifactId>common</artifactId> - <version>2.2.3</version> - </dependency> - - <dependency> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - <version>3.2.4</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.jee</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.contribution.jee*</Export-Package> - <DynamicImport-Package>org.apache.tuscany.sca.contribution.osgi.impl</DynamicImport-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBImplementationGenerated.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBImplementationGenerated.java deleted file mode 100644 index 770fb08279..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBImplementationGenerated.java +++ /dev/null @@ -1,56 +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.jee; - -import org.apache.tuscany.sca.assembly.Implementation; - - - -/** - * The model representing an EJB implementation in an SCA assembly model when the - * EJB implementation has been generated by introspecting a non-enhanced EAR - */ -public interface EJBImplementationGenerated extends Implementation { - - /** - * Return the EjbInfo which generated this EJB component implementation - * @return - */ - EjbInfo getEJBInfo(); - - /** - * Set the EjbInfo which generated this EJB component implementation - * @param ejbInfo - */ - void setEJBInfo(EjbInfo ejbInfo); - - /** - * return the EjbModuleInfo which contains the EJB Info used to generate this object - * - * @return - */ - EjbModuleInfo getEjbModuleInfo(); - - /** - * Set the EjbModuleInfo which contains the EJB Info used to generate this object - * - * @param ejbModuleInfo - */ - void setEjbModuleInfo(EjbModuleInfo ejbModuleInfo); -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbInfo.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbInfo.java deleted file mode 100644 index c3cb4e7b90..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbInfo.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.jee; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -/** - * @version $Rev$ $Date$ - */ -public class EjbInfo { - public enum EjbType {SESSION_STATELESS, SESSION_STATEFUL, SESSION_UNKNOWN, MESSAGE_DRIVEN}; - public String beanName; - public Class<?> beanClass; - public String mappedName; - public EjbType ejbType; - public Collection<Class<?>> businessRemote = new ArrayList<Class<?>>(); - public Collection<Class<?>> businessLocal = new ArrayList<Class<?>>(); - public Map<String, EjbReferenceInfo> ejbReferences = new HashMap<String, EjbReferenceInfo>(); - public Map<String, EnvEntryInfo> envEntries = new HashMap<String, EnvEntryInfo>(); -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbModuleInfo.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbModuleInfo.java deleted file mode 100644 index 00f7011111..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbModuleInfo.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.jee; - -import java.net.URI; -import java.util.Map; - -/** - * @version $Rev$ $Date$ - */ -public interface EjbModuleInfo { - URI getUri(); - void setUri(URI uri); - - String getModuleName(); - void setModuleName(String moduleName); - - ClassLoader getModuleClassloader(); - void setmoduleClassloader(ClassLoader classLoader); - - Map<String, EjbInfo> getEjbInfos(); - EjbInfo getEjbInfo(String beanName); -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbModuleModelResolver.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbModuleModelResolver.java deleted file mode 100644 index 72d594c4d0..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbModuleModelResolver.java +++ /dev/null @@ -1,70 +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.jee; - -import java.net.URI; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A Model Resolver for EjbModule models. - * - * @version $Rev$ $Date$ - */ -public class EjbModuleModelResolver implements ModelResolver { - - private Map<URI, EjbModuleInfo> map = new HashMap<URI, EjbModuleInfo>(); - private Contribution contribution; - - public EjbModuleModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - } - - public void addModel(Object resolved) { - EjbModuleInfo ejbModule = (EjbModuleInfo)resolved; - map.put(ejbModule.getUri(), ejbModule); - } - - public Object removeModel(Object resolved) { - return map.remove(((EjbModuleInfo)resolved).getUri()); - } - - public <T> T resolveModel(Class<T> modelClass, T unresolved) { - // Lookup a EjbModuleInfo for the given URI - URI uri = ((EjbModuleInfo)unresolved).getUri(); - if (uri != null) { - EjbModuleInfo resolved = (EjbModuleInfo) map.get(uri); - if (resolved != null) { - return modelClass.cast(resolved); - } else { - uri = URI.create(""); - resolved = (EjbModuleInfo) map.get(uri); - if (resolved != null) { - return modelClass.cast(resolved); - } - } - } - return unresolved; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbReferenceInfo.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbReferenceInfo.java deleted file mode 100644 index 109a32d62c..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EjbReferenceInfo.java +++ /dev/null @@ -1,33 +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.jee; - -/** - * @version $Rev$ $Date$ - */ -public class EjbReferenceInfo { - public enum EjbType {STATELESS, STATEFUL, SESSION_UNKNOWN, UNKNOWN}; - public enum RefType {LOCAL, REMOTE, UNKNOWN}; - public String referenceName; - public EjbType ejbType; - public RefType referenceType; - public Class<?> businessInterface; - public String ejbLink; - public String mappedName; -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EnvEntryInfo.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EnvEntryInfo.java deleted file mode 100644 index 26ce44c07e..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EnvEntryInfo.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.jee; - - -/** - * @version $Rev$ $Date$ - */ -public class EnvEntryInfo { - public String type; - public String name; - public String value; -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ExternalEarInfo.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ExternalEarInfo.java deleted file mode 100644 index c0b54156ea..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ExternalEarInfo.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.jee;
-
-import org.apache.tuscany.sca.assembly.Composite;
-
-
-/**
- * @version $Rev: 755722 $ $Date: 2009-03-18 20:23:02 +0000 (Wed, 18 Mar 2009) $
- */
-public interface ExternalEarInfo {
-
- JavaEEApplicationInfo getAppInfo();
- Composite getAppComposite();
-}
diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationInfo.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationInfo.java deleted file mode 100644 index 107c251ea7..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationInfo.java +++ /dev/null @@ -1,38 +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.jee; - -import java.net.URI; -import java.util.Map; - -/** - * @version $Rev$ $Date$ - */ -public interface JavaEEApplicationInfo { - URI getUri(); - void setUri(URI uri); - - String getApplicationName(); - void setApplicationName(String applicationName); - - Map<String, WebModuleInfo> getWebModuleInfos(); - WebModuleInfo getWebModuleInfo(String moduleName); - Map<String, EjbModuleInfo> getEjbModuleInfos(); - EjbModuleInfo getEjbModuleInfo(String moduleName); -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationModelResolver.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationModelResolver.java deleted file mode 100644 index e27fa5ae44..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationModelResolver.java +++ /dev/null @@ -1,70 +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.jee; - -import java.net.URI; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A Model Resolver for JavaEEApplicationInfo models. - * - * @version $Rev$ $Date$ - */ -public class JavaEEApplicationModelResolver implements ModelResolver { - - private Map<URI, JavaEEApplicationInfo> map = new HashMap<URI, JavaEEApplicationInfo>(); - private Contribution contribution; - - public JavaEEApplicationModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - } - - public void addModel(Object resolved) { - JavaEEApplicationInfo jeeApp = (JavaEEApplicationInfo)resolved; - map.put(jeeApp.getUri(), jeeApp); - } - - public Object removeModel(Object resolved) { - return map.remove(((JavaEEApplicationInfo)resolved).getUri()); - } - - public <T> T resolveModel(Class<T> modelClass, T unresolved) { - // Lookup a JavaEEApplicationInfo for the given URI - URI uri = ((JavaEEApplicationInfo)unresolved).getUri(); - if (uri != null) { - JavaEEApplicationInfo resolved = (JavaEEApplicationInfo) map.get(uri); - if (resolved != null) { - return modelClass.cast(resolved); - } else { - uri = URI.create(""); - resolved = (JavaEEApplicationInfo) map.get(uri); - if (resolved != null) { - return modelClass.cast(resolved); - } - } - } - return unresolved; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEExtension.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEExtension.java deleted file mode 100644 index 7b7d1f161f..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEExtension.java +++ /dev/null @@ -1,38 +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.jee; - -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; - -/** - * Compute componentType with EJB3 business interfaces translating into SCA services. - * - * @version $Rev$ $Date$ - */ -public interface JavaEEExtension { - // The EJBImplementation model is a straight implementation so we deal in - // component types - ComponentType createImplementationEjbComponentType(EjbModuleInfo ejbModule, String ejbName); - - // The JEEImplemenation model is a composite and so we have to fluff - // up the composite contents to match the JEE artifact - void createImplementationJeeComposite(EjbModuleInfo ejbModule, Composite composite); - void createImplementationJeeComposite(JavaEEApplicationInfo appInfo, Composite composite); -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEIntrospector.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEIntrospector.java deleted file mode 100644 index ab89ce2bf7..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEIntrospector.java +++ /dev/null @@ -1,34 +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.jee; - -import java.net.URL; - -import org.apache.tuscany.sca.contribution.service.ContributionReadException; - -/** - * Introspect JavaEE modules and applications. - * - * @version $Rev$ $Date$ - */ -public interface JavaEEIntrospector { - WebModuleInfo introspectWebArchive(URL artifactURL) throws ContributionReadException; - EjbModuleInfo introspectEjbArchive(URL artifactURL) throws ContributionReadException; - JavaEEApplicationInfo introspectJeeArchive(URL artifactURL) throws ContributionReadException; -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEOptionalExtension.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEOptionalExtension.java deleted file mode 100644 index 50a449ce78..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEOptionalExtension.java +++ /dev/null @@ -1,41 +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.jee; - -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; - -/** - * Compute componentType with Remote EJB references translating into SCA references and env-entries translating into - * SCA properties. - * - * @version $Rev$ $Date$ - */ -public interface JavaEEOptionalExtension { - // The EJBImplementation and WEBImplemenation models are straight implementations so - // we deals in component types - ComponentType createImplementationWebComponentType(WebModuleInfo webModule); - ComponentType createImplementationEjbComponentType(EjbModuleInfo ejbModule, String ejbName); - - // The JEEImplemenation model is a composite and so we have to fluff - // up the composite contents to match the JEE artifact - void createImplementationJeeComposite(WebModuleInfo webModule, Composite composite); - void createImplementationJeeComposite(EjbModuleInfo ejbModule, Composite composite); - void createImplementationJeeComposite(JavaEEApplicationInfo appInfo, Composite composite); -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JspReferenceTagInfo.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JspReferenceTagInfo.java deleted file mode 100644 index e36aea2790..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JspReferenceTagInfo.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.jee; - - -/** - * @version $Rev$ $Date$ - * - * Information on SCA reference tags in JSP pages. - */ -public class JspReferenceTagInfo { - public String name; - public Class<?> type; -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ModelObject.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ModelObject.java deleted file mode 100644 index e981339733..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ModelObject.java +++ /dev/null @@ -1,32 +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.jee; - -import java.net.URI; - -/** - * @version $Rev$ $Date$ - */ -public interface ModelObject { - URI getUri(); - void setUri(URI uri); - - Object getObject(); - void setObject(Object obj); -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ModelObjectModelResolver.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ModelObjectModelResolver.java deleted file mode 100644 index aa24dcac2c..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ModelObjectModelResolver.java +++ /dev/null @@ -1,73 +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.jee; - -import java.net.URI; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.jee.impl.ModelObjectImpl; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A Model Resolver for obtaining any model object using URI. - * - * @version $Rev$ $Date$ - */ -public class ModelObjectModelResolver implements ModelResolver { - - private Map<URI, ModelObject> map = new HashMap<URI, ModelObject>(); - private Contribution contribution; - - public ModelObjectModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - } - - public void addModel(Object resolved) { - map.put(((ModelObject)resolved).getUri(), (ModelObject)resolved); - } - - public Object removeModel(Object resolved) { - return map.remove(((ModelObject)resolved).getUri()); - } - - public <T> T resolveModel(Class<T> modelClass, T unresolved) { - URI uri = ((ModelObject)unresolved).getUri(); - if (uri != null) { - ModelObject resolved = (ModelObject) map.get(uri); - if (resolved != null) { - return modelClass.cast(resolved); - } else { - for(Artifact artifact : contribution.getArtifacts()) { - if(artifact.getURI().equals(uri.toString())) { - resolved = new ModelObjectImpl(); - resolved.setUri(uri); - resolved.setObject(artifact.getModel()); - return modelClass.cast(resolved); - } - } - } - } - return unresolved; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebImplementationGenerated.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebImplementationGenerated.java deleted file mode 100644 index ee3b057ee6..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebImplementationGenerated.java +++ /dev/null @@ -1,43 +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.jee; - -import org.apache.tuscany.sca.assembly.Implementation; - - - -/** - * The model representing a WEB implementation in an SCA assembly model when the - * WEB implementation has been generated by introspecting a non-enhanced EAR - */ -public interface WebImplementationGenerated extends Implementation { - - /** - * Return the WebModuleInfo which generated this Web component implementation - * @return - */ - WebModuleInfo getWebInfo(); - - /** - * Set the WebModuleInfo which generated this Web component implementation - * @param webInfo - */ - void setWebInfo(WebModuleInfo webInfo); - -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleInfo.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleInfo.java deleted file mode 100644 index 79e9019b11..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleInfo.java +++ /dev/null @@ -1,50 +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.jee; - -import java.net.URI; -import java.util.Collection; -import java.util.Map; - -/** - * @version $Rev$ $Date$ - */ -public interface WebModuleInfo { - URI getUri(); - void setUri(URI uri); - - String getModuleName(); - void setModuleName(String moduleName); - - ClassLoader getModuleClassloader(); - void setmoduleClassloader(ClassLoader classLoader); - - Map<String, EjbReferenceInfo> getEjbReferences(); - Map<String, EnvEntryInfo> getEnvEntries(); - - EjbReferenceInfo getEjbReference(String ejbRefName); - EnvEntryInfo getEnvEntry(String envEntryName); - - Collection<Class<?>> getServletClasses(); - Collection<Class<?>> getListenerClasses(); - Collection<Class<?>> getFilterClasses(); - Collection<Class<?>> getJSFClasses(); - - Collection<JspReferenceTagInfo> getJspReferenceTags(); -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleModelResolver.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleModelResolver.java deleted file mode 100644 index 74117a13f0..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleModelResolver.java +++ /dev/null @@ -1,70 +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.jee; - -import java.net.URI; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A Model Resolver for WebModuleInfo models. - * - * @version $Rev$ $Date$ - */ -public class WebModuleModelResolver implements ModelResolver { - - private Map<URI, WebModuleInfo> map = new HashMap<URI, WebModuleInfo>(); - private Contribution contribution; - - public WebModuleModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - } - - public void addModel(Object resolved) { - WebModuleInfo webModule = (WebModuleInfo)resolved; - map.put(webModule.getUri(), webModule); - } - - public Object removeModel(Object resolved) { - return map.remove(((WebModuleInfo)resolved).getUri()); - } - - public <T> T resolveModel(Class<T> modelClass, T unresolved) { - // Lookup a WebModuleInfo for the given URI - URI uri = ((WebModuleInfo)unresolved).getUri(); - if (uri != null) { - WebModuleInfo resolved = (WebModuleInfo) map.get(uri); - if (resolved != null) { - return modelClass.cast(resolved); - } else { - uri = URI.create(""); - resolved = (WebModuleInfo) map.get(uri); - if (resolved != null) { - return modelClass.cast(resolved); - } - } - } - return unresolved; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EJBImplementationGeneratedImpl.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EJBImplementationGeneratedImpl.java deleted file mode 100644 index eb5b8d8463..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EJBImplementationGeneratedImpl.java +++ /dev/null @@ -1,77 +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.jee.impl; - -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.impl.ImplementationImpl; -import org.apache.tuscany.sca.contribution.jee.EJBImplementationGenerated; -import org.apache.tuscany.sca.contribution.jee.EjbInfo; -import org.apache.tuscany.sca.contribution.jee.EjbModuleInfo; - -/** - * The model representing an EJB implementation in an SCA assembly model when the - * EJB implementation has been generated by introspecting a non-enhanced EAR $ - */ -class EJBImplementationGeneratedImpl extends ImplementationImpl implements EJBImplementationGenerated { - - private EjbInfo ejbInfo; - private EjbModuleInfo ejbModuleInfo; - - /** - * Constructs a new EJB implementation. - */ - EJBImplementationGeneratedImpl() { - super(); - } - - @Override - public ConstrainingType getConstrainingType() { - // The EJB implementation does not support constrainingTypes - return null; - } - - @Override - public void setConstrainingType(ConstrainingType constrainingType) { - // The EJB implementation does not support constrainingTypes - } - - public EjbInfo getEJBInfo() { - return ejbInfo; - } - - public void setEJBInfo(EjbInfo ejbInfo) { - this.ejbInfo = ejbInfo; - } - - public EjbModuleInfo getEjbModuleInfo() { - return ejbModuleInfo; - } - - public void setEjbModuleInfo(EjbModuleInfo ejbModuleInfo) { - this.ejbModuleInfo = ejbModuleInfo; - } - - // make sure the generated implementation can be distinguished - // based on the ejb info that is referenced - @Override - public int hashCode() { - return getEJBInfo().hashCode(); - } - -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EJBImplementationGeneratedProcessor.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EJBImplementationGeneratedProcessor.java deleted file mode 100644 index bc8bc99770..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EJBImplementationGeneratedProcessor.java +++ /dev/null @@ -1,67 +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.jee.impl; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; -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.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.monitor.Monitor; - - -/** - * Dummy processor that's used to mark EJBImplementationGeneratedImpl instance - * as resolved at the appropriate point in the resolution processing - * - * @version $Rev$ $Date$ - */ -public class EJBImplementationGeneratedProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<EJBImplementationGeneratedImpl> { - - public EJBImplementationGeneratedProcessor(ExtensionPointRegistry registry, - Monitor monitor) { - } - - public QName getArtifactType() { - return null; - } - - public Class<EJBImplementationGeneratedImpl> getModelType() { - // Returns the type of model processed by this processor - return EJBImplementationGeneratedImpl.class; - } - - public EJBImplementationGeneratedImpl read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - return null; - } - - public void resolve(EJBImplementationGeneratedImpl implementation, ModelResolver resolver) throws ContributionResolveException { - implementation.setUnresolved(false); - } - - public void write(EJBImplementationGeneratedImpl implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EarContributionProcessor.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EarContributionProcessor.java deleted file mode 100644 index b0eb155636..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EarContributionProcessor.java +++ /dev/null @@ -1,158 +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.jee.impl; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.net.URLConnection; -import java.net.URLStreamHandler; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.jar.JarEntry; -import java.util.jar.JarInputStream; - -import org.apache.tuscany.sca.contribution.PackageType; -import org.apache.tuscany.sca.contribution.processor.PackageProcessor; -import org.apache.tuscany.sca.contribution.processor.impl.JarContributionProcessor; -import org.apache.tuscany.sca.contribution.service.ContributionException; -import org.eclipse.emf.common.archive.ArchiveURLConnection; - -/** - * Ear Contribution package processor. - * - * @version $Rev$ $Date$ - */ -public class EarContributionProcessor implements PackageProcessor { - - /* URL stream handler for "archive" */ - private static URLStreamHandler archiveUrlStreamHandler = new URLStreamHandler() { - @Override - protected URLConnection openConnection(URL u) throws IOException { - return new ArchiveURLConnection(u); - } - }; - - public URL getArtifactURL(URL packageSourceURL, URI artifact) - throws MalformedURLException { - if(artifact.toString().equals("")) { - return packageSourceURL; - } - if (packageSourceURL.toString().startsWith("archive:")) { - return new URL(packageSourceURL, artifact.toString(), archiveUrlStreamHandler); - } else { - return new URL("archive", "", -1, packageSourceURL.toExternalForm() + "!/" + artifact, archiveUrlStreamHandler); - } - } - - public List<URI> getArtifacts(URL packageSourceURL, InputStream inputStream) throws ContributionException, IOException { - if (packageSourceURL == null) { - throw new IllegalArgumentException("Invalid null package source URL."); - } - - if (inputStream == null) { - throw new IllegalArgumentException("Invalid null source inputstream."); - } - - // The root is a jar file - JarInputStream jar = new JarInputStream(inputStream); - try { - Set<String> names = new HashSet<String>(); - while (true) { - JarEntry entry = jar.getNextJarEntry(); - if (entry == null) { - // EOF - break; - } - - String name = entry.getName(); - if (!name.startsWith(".")) { - - // Trim trailing / - if (name.endsWith("/")) { - name = name.substring(0, name.length() - 1); - } - - // Add the entry name - if (!names.contains(name)) { - names.add(name); - - // Add parent folder names to the list too - for (;;) { - int s = name.lastIndexOf('/'); - if (s == -1) { - name = ""; - } else { - name = name.substring(0, s); - } - if (!names.contains(name)) { - names.add(name); - } else { - break; - } - } - } - } - if(entry.getName().indexOf("/") == -1 && (entry.getName().toLowerCase().endsWith(".war") || entry.getName().toLowerCase().endsWith(".jar"))) { - // A WAR or an EJB JAR file in the root of the archive. - // Get entries from the nested archive. - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - int b; - while((b = jar.read()) != -1) { - bout.write(b); - } - bout.close(); - ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray()); - - PackageProcessor archiveProcessor = entry.getName().toLowerCase().endsWith(".war") ? new WarContributionProcessor() : new JarContributionProcessor(); - List<URI> artifacts = archiveProcessor.getArtifacts(packageSourceURL, bin); - bin.close(); - for(URI artifact : artifacts) { - // don't add in nested application composites - if ((artifact.toString().endsWith("ejb-jar.composite") == false) && - (artifact.toString().endsWith("web.composite") == false)) { - names.add(entry.getName()+"!/"+artifact); - } - } - } - } - - // Return list of URIs - List<URI> artifacts = new ArrayList<URI>(); - for (String name: names) { - artifacts.add(URI.create(name)); - } - return artifacts; - - } finally { - jar.close(); - } - } - - public String getPackageType() { - return PackageType.EAR; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EjbArchiveProcessor.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EjbArchiveProcessor.java deleted file mode 100644 index 36aabefa99..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EjbArchiveProcessor.java +++ /dev/null @@ -1,69 +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.jee.impl; - -import java.io.File; -import java.net.URI; -import java.net.URL; - -import org.apache.tuscany.sca.contribution.jee.EjbModuleInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEIntrospector; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -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.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * URLArtifactProcessor for EJB jars. - * - * @version $Rev$ $Date$ - */ -public class EjbArchiveProcessor implements URLArtifactProcessor<EjbModuleInfo> { - private JavaEEIntrospector jeeIntrospector; - - public EjbArchiveProcessor(ExtensionPointRegistry registry, Monitor monitor) { - jeeIntrospector = registry.getExtensionPoint(JavaEEIntrospector.class); - } - - public String getArtifactType() { - return ".jar"; - } - - public EjbModuleInfo read(URL contributionURL, URI artifactURI, URL artifactURL) throws ContributionReadException { - if (jeeIntrospector != null) { - EjbModuleInfo ejbModuleInfo = jeeIntrospector.introspectEjbArchive(artifactURL); - if(ejbModuleInfo != null) { - ejbModuleInfo.setUri(artifactURI); - ejbModuleInfo.setModuleName(new File(artifactURL.getFile()).getName()); - } - return ejbModuleInfo; - } - return null; - } - - public Class<EjbModuleInfo> getModelType() { - return EjbModuleInfo.class; - } - - public void resolve(EjbModuleInfo arg0, ModelResolver arg1) - throws ContributionResolveException { - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EjbModuleInfoImpl.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EjbModuleInfoImpl.java deleted file mode 100644 index 830aa81b19..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EjbModuleInfoImpl.java +++ /dev/null @@ -1,66 +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.jee.impl; - -import java.net.URI; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.jee.EjbInfo; -import org.apache.tuscany.sca.contribution.jee.EjbModuleInfo; - -public class EjbModuleInfoImpl implements EjbModuleInfo { - - private URI uri; - private String moduleName; - private ClassLoader moduleClassLoader; - private Map<String, EjbInfo> ejbInfos = new HashMap<String, EjbInfo>(); - - public EjbInfo getEjbInfo(String beanName) { - return ejbInfos.get(beanName); - } - - public Map<String, EjbInfo> getEjbInfos() { - return ejbInfos; - } - - public String getModuleName() { - return moduleName; - } - - public void setModuleName(String moduleName) { - this.moduleName = moduleName; - } - - public URI getUri() { - return uri; - } - - public void setUri(URI uri) { - this.uri = uri; - } - - public ClassLoader getModuleClassloader() { - return moduleClassLoader; - } - - public void setmoduleClassloader(ClassLoader classLoader) { - this.moduleClassLoader = classLoader; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEApplicationInfoImpl.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEApplicationInfoImpl.java deleted file mode 100644 index 993605ebe5..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEApplicationInfoImpl.java +++ /dev/null @@ -1,68 +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.jee.impl; - -import java.net.URI; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.jee.EjbModuleInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEApplicationInfo; -import org.apache.tuscany.sca.contribution.jee.WebModuleInfo; - -public class JavaEEApplicationInfoImpl implements JavaEEApplicationInfo { - - private URI uri; - private String applicationName; - private Map<String, EjbModuleInfo> ejbModuleInfos = new HashMap<String, EjbModuleInfo>(); - private Map<String, WebModuleInfo> webModuleInfos = new HashMap<String, WebModuleInfo>(); - - - public String getApplicationName() { - return applicationName; - } - - public void setApplicationName(String applicationName) { - this.applicationName = applicationName; - } - - public EjbModuleInfo getEjbModuleInfo(String moduleName) { - return ejbModuleInfos.get(moduleName); - } - - public Map<String, EjbModuleInfo> getEjbModuleInfos() { - return ejbModuleInfos; - } - - public WebModuleInfo getWebModuleInfo(String moduleName) { - return webModuleInfos.get(moduleName); - } - - public Map<String, WebModuleInfo> getWebModuleInfos() { - return webModuleInfos; - } - - public URI getUri() { - return uri; - } - - public void setUri(URI uri) { - this.uri = uri; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEArchiveProcessor.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEArchiveProcessor.java deleted file mode 100644 index 53201b5e2b..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEArchiveProcessor.java +++ /dev/null @@ -1,59 +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.jee.impl; - -import java.io.File; -import java.net.URI; -import java.net.URL; - -import org.apache.tuscany.sca.contribution.jee.JavaEEApplicationInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEIntrospector; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -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.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.monitor.Monitor; - -public class JavaEEArchiveProcessor implements URLArtifactProcessor<JavaEEApplicationInfo> { - private JavaEEIntrospector jeeIntrospector; - - public JavaEEArchiveProcessor(ExtensionPointRegistry registry, Monitor monitor) { - jeeIntrospector = registry.getExtensionPoint(JavaEEIntrospector.class); - } - - public String getArtifactType() { - return ".ear"; - } - - public JavaEEApplicationInfo read(URL contributionURL, URI artifactURI, URL artifactURL) throws ContributionReadException { - JavaEEApplicationInfo jeeAppInfo = jeeIntrospector.introspectJeeArchive(artifactURL); - jeeAppInfo.setUri(artifactURI); - jeeAppInfo.setApplicationName(new File(artifactURL.getFile()).getName()); - return jeeAppInfo; - } - - public Class<JavaEEApplicationInfo> getModelType() { - return JavaEEApplicationInfo.class; - } - - public void resolve(JavaEEApplicationInfo arg0, ModelResolver arg1) - throws ContributionResolveException { - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEExtensionImpl.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEExtensionImpl.java deleted file mode 100644 index 4271a93399..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEExtensionImpl.java +++ /dev/null @@ -1,262 +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.jee.impl; - -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.jee.EJBImplementationGenerated; -import org.apache.tuscany.sca.contribution.jee.EjbInfo; -import org.apache.tuscany.sca.contribution.jee.EjbModuleInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEApplicationInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEExtension; -import org.apache.tuscany.sca.contribution.jee.EjbInfo.EjbType; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicyFactory; - -public class JavaEEExtensionImpl implements JavaEEExtension { - - private AssemblyFactory assemblyFactory; - private JavaInterfaceFactory javaInterfaceFactory; - private PolicyFactory policyFactory; - private Intent EJB_INTENT; - - public JavaEEExtensionImpl(ModelFactoryExtensionPoint modelFactories) { - this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - this.javaInterfaceFactory = modelFactories.getFactory(JavaInterfaceFactory.class); - this.policyFactory = modelFactories.getFactory(PolicyFactory.class); - - EJB_INTENT = policyFactory.createIntent(); - EJB_INTENT.setName(new QName("http://www.osoa.org/xmlns/sca/1.0", "ejb")); - } - - public ComponentType createImplementationEjbComponentType(EjbModuleInfo ejbModule, String ejbName) { - ComponentType componentType = assemblyFactory.createComponentType(); - EjbInfo ejbInfo = ejbModule.getEjbInfo(ejbName); - if(ejbInfo == null) { - return null; - } - if(ejbInfo.ejbType.compareTo(EjbType.MESSAGE_DRIVEN) != 0) { - for(Class<?> intf : ejbInfo.businessRemote) { - Service service = assemblyFactory.createComponentService(); - String intfName = intf.getName(); - String serviceName = intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName; - service.setName(serviceName); - InterfaceContract ic = javaInterfaceFactory.createJavaInterfaceContract(); - try { - ic.setInterface(javaInterfaceFactory.createJavaInterface(intf)); - } catch (InvalidInterfaceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - service.setInterfaceContract(ic); - service.getRequiredIntents().add(EJB_INTENT); - - componentType.getServices().add(service); - } - - for(Class<?> intf : ejbInfo.businessLocal) { - Service service = assemblyFactory.createComponentService(); - String intfName = intf.getName(); - String serviceName = intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName; - service.setName(serviceName); - InterfaceContract ic = javaInterfaceFactory.createJavaInterfaceContract(); - try { - ic.setInterface(javaInterfaceFactory.createJavaInterface(intf)); - } catch (InvalidInterfaceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - service.setInterfaceContract(ic); - service.getRequiredIntents().add(EJB_INTENT); - - componentType.getServices().add(service); - } - } - return componentType; - } - - public void createImplementationJeeComposite(EjbModuleInfo ejbModule, Composite composite) { - - for(Map.Entry<String, EjbInfo> entry : ejbModule.getEjbInfos().entrySet()) { - EjbInfo ejbInfo = entry.getValue(); - - Component component = findComponent(composite, ejbInfo, ejbModule); - - if(ejbInfo.ejbType.compareTo(EjbType.MESSAGE_DRIVEN) != 0) { - for(Class<?> intf : ejbInfo.businessRemote) { - ComponentService service = assemblyFactory.createComponentService(); - String intfName = intf.getName(); - String serviceName = intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName; - serviceName = ejbInfo.beanName+"_"+serviceName; - service.setName(serviceName); - InterfaceContract ic = javaInterfaceFactory.createJavaInterfaceContract(); - try { - ic.setInterface(javaInterfaceFactory.createJavaInterface(intf)); - } catch (InvalidInterfaceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - service.setInterfaceContract(ic); - service.getRequiredIntents().add(EJB_INTENT); - - addComponentService(composite, component, service); - } - - for(Class<?> intf : ejbInfo.businessLocal) { - ComponentService service = assemblyFactory.createComponentService(); - String intfName = intf.getName(); - String serviceName = intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName; - serviceName = ejbInfo.beanName+"_"+serviceName; - service.setName(serviceName); - InterfaceContract ic = javaInterfaceFactory.createJavaInterfaceContract(); - try { - ic.setInterface(javaInterfaceFactory.createJavaInterface(intf)); - } catch (InvalidInterfaceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - service.setInterfaceContract(ic); - service.getRequiredIntents().add(EJB_INTENT); - - addComponentService(composite, component, service); - } - } - } - } - - public void createImplementationJeeComposite(JavaEEApplicationInfo appInfo, Composite composite) { - - for(Map.Entry<String, EjbModuleInfo> entry0 : appInfo.getEjbModuleInfos().entrySet()) { - EjbModuleInfo ejbModule = entry0.getValue(); - - for(Map.Entry<String, EjbInfo> entry : ejbModule.getEjbInfos().entrySet()) { - EjbInfo ejbInfo = entry.getValue(); - - Component component = findComponent(composite, ejbInfo, ejbModule); - - if(ejbInfo.ejbType.compareTo(EjbType.MESSAGE_DRIVEN) != 0) { - for(Class<?> intf : ejbInfo.businessRemote) { - ComponentService service = assemblyFactory.createComponentService(); - String intfName = intf.getName(); - String serviceName = intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName; - serviceName = ejbInfo.mappedName+"_"+serviceName; - service.setName(serviceName); - InterfaceContract ic = javaInterfaceFactory.createJavaInterfaceContract(); - try { - ic.setInterface(javaInterfaceFactory.createJavaInterface(intf)); - } catch (InvalidInterfaceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - service.setInterfaceContract(ic); - service.getRequiredIntents().add(EJB_INTENT); - - addComponentService(composite, component, service); - } - - for(Class<?> intf : ejbInfo.businessLocal) { - ComponentService service = assemblyFactory.createComponentService(); - String intfName = intf.getName(); - String serviceName = intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName; - serviceName = ejbInfo.mappedName+"_"+serviceName; - service.setName(serviceName); - InterfaceContract ic = javaInterfaceFactory.createJavaInterfaceContract(); - try { - ic.setInterface(javaInterfaceFactory.createJavaInterface(intf)); - } catch (InvalidInterfaceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - service.setInterfaceContract(ic); - service.getRequiredIntents().add(EJB_INTENT); - - addComponentService(composite, component, service); - } - } - } - } - } - - /** - * We are fluffing up the JEEImplemention composite to represented the components - * in the JEE archive. Given the JEEimplemenation composite find a named component - * it if already exists or create it if it doesn't. - * - * @param ejbInfo - * @param componentName - * @return - */ - private Component findComponent(Composite composite, EjbInfo ejbInfo, EjbModuleInfo ejbmoduleInfo){ - String componentName = ejbInfo.beanName; - Component component = null; - - for (Component tmpComponent : composite.getComponents()){ - if (tmpComponent.getName().equals(componentName)){ - component = tmpComponent; - break; - } - } - - if (component == null){ - component = assemblyFactory.createComponent(); - component.setName(componentName); - component.setUnresolved(true); - composite.getComponents().add(component); - - EJBImplementationGenerated implementation = new EJBImplementationGeneratedImpl(); - implementation.setUnresolved(true); - implementation.setEJBInfo(ejbInfo); - implementation.setEjbModuleInfo(ejbmoduleInfo); - component.setImplementation(implementation); - } - - return component; - } - - /** - * Add a component service and fluff up a composite service to match - * - * @param composite - * @param component - * @param service - */ - private void addComponentService(Composite composite, Component component, ComponentService service){ - component.getImplementation().getServices().add(service); - - CompositeService compositeService = assemblyFactory.createCompositeService(); - composite.getServices().add(compositeService); - - compositeService.setName(service.getName()); - compositeService.setPromotedComponent(component); - compositeService.setPromotedService(service); - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEOptionalExtensionImpl.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEOptionalExtensionImpl.java deleted file mode 100644 index e07b6e8aba..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/JavaEEOptionalExtensionImpl.java +++ /dev/null @@ -1,359 +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.jee.impl; - -import java.util.HashMap; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -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.ComponentType; -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.Multiplicity; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.jee.EJBImplementationGenerated; -import org.apache.tuscany.sca.contribution.jee.EjbInfo; -import org.apache.tuscany.sca.contribution.jee.EjbModuleInfo; -import org.apache.tuscany.sca.contribution.jee.EjbReferenceInfo; -import org.apache.tuscany.sca.contribution.jee.EnvEntryInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEApplicationInfo; -import org.apache.tuscany.sca.contribution.jee.JavaEEOptionalExtension; -import org.apache.tuscany.sca.contribution.jee.WebImplementationGenerated; -import org.apache.tuscany.sca.contribution.jee.WebModuleInfo; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicyFactory; - -public class JavaEEOptionalExtensionImpl implements JavaEEOptionalExtension { - - private AssemblyFactory assemblyFactory; - private JavaInterfaceFactory javaInterfaceFactory; - private PolicyFactory policyFactory; - private Intent EJB_INTENT; - - public static final Map<String, QName> ALLOWED_ENV_ENTRY_TYPES; - static { - ALLOWED_ENV_ENTRY_TYPES = new HashMap<String, QName>(); - ALLOWED_ENV_ENTRY_TYPES.put(String.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "string", - "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Character.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "string", - "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Byte.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "byte", "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Short.class.getName(), - new QName("http://www.w3.org/2001/XMLSchema", "short", "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Integer.class.getName(), - new QName("http://www.w3.org/2001/XMLSchema", "int", "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Long.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "long", "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Boolean.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "boolean", - "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Double.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "double", - "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Float.class.getName(), - new QName("http://www.w3.org/2001/XMLSchema", "float", "xsd")); - } - - public JavaEEOptionalExtensionImpl(ModelFactoryExtensionPoint modelFactories) { - this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - this.javaInterfaceFactory = modelFactories.getFactory(JavaInterfaceFactory.class); - this.policyFactory = modelFactories.getFactory(PolicyFactory.class); - - EJB_INTENT = policyFactory.createIntent(); - EJB_INTENT.setName(new QName("http://www.osoa.org/xmlns/sca/1.0", "ejb")); - } - - public ComponentType createImplementationWebComponentType(WebModuleInfo webModule) { - ComponentType componentType = assemblyFactory.createComponentType(); - - // Process Remote EJB References - for(Map.Entry<String, EjbReferenceInfo> entry : webModule.getEjbReferences().entrySet()) { - EjbReferenceInfo ejbRef = entry.getValue(); - String referenceName = entry.getKey(); - referenceName = referenceName.replace("/", "_"); - Reference reference = assemblyFactory.createComponentReference(); - reference.setName(referenceName); - InterfaceContract ic = javaInterfaceFactory.createJavaInterfaceContract(); - try { - ic.setInterface(javaInterfaceFactory.createJavaInterface(ejbRef.businessInterface)); - } catch (InvalidInterfaceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - reference.setInterfaceContract(ic); - reference.getRequiredIntents().add(EJB_INTENT); - reference.setMultiplicity(Multiplicity.ZERO_ONE); - componentType.getReferences().add(reference); - } - - // Process env-entries to compute properties - for (Map.Entry<String, EnvEntryInfo> entry : webModule.getEnvEntries().entrySet()) { - EnvEntryInfo envEntry = entry.getValue(); - String type = envEntry.type; - if (!ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) { - continue; - } - String propertyName = envEntry.name; - propertyName = propertyName.replace("/", "_"); - String value = envEntry.value; - Property property = assemblyFactory.createComponentProperty(); - property.setName(propertyName); - property.setXSDType(ALLOWED_ENV_ENTRY_TYPES.get(type)); - property.setValue(value); - componentType.getProperties().add(property); - } - - return componentType; - } - public ComponentType createImplementationEjbComponentType(EjbModuleInfo ejbModule, String ejbName) { - ComponentType componentType = assemblyFactory.createComponentType(); - EjbInfo ejbInfo = ejbModule.getEjbInfo(ejbName); - if(ejbInfo == null) { - return null; - } - - // Process Remote EJB References - for(Map.Entry<String, EjbReferenceInfo> entry : ejbInfo.ejbReferences.entrySet()) { - EjbReferenceInfo ejbRef = entry.getValue(); - String referenceName = entry.getKey(); - referenceName = referenceName.replace("/", "_"); - Reference reference = assemblyFactory.createComponentReference(); - reference.setName(referenceName); - InterfaceContract ic = javaInterfaceFactory.createJavaInterfaceContract(); - try { - ic.setInterface(javaInterfaceFactory.createJavaInterface(ejbRef.businessInterface)); - } catch (InvalidInterfaceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - reference.setInterfaceContract(ic); - reference.getRequiredIntents().add(EJB_INTENT); - reference.setMultiplicity(Multiplicity.ZERO_ONE); - componentType.getReferences().add(reference); - } - - // Process env-entries to compute properties - for (Map.Entry<String, EnvEntryInfo> entry : ejbInfo.envEntries.entrySet()) { - EnvEntryInfo envEntry = entry.getValue(); - String type = envEntry.type; - if (!ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) { - continue; - } - String propertyName = envEntry.name; - propertyName = propertyName.replace("/", "_"); - String value = envEntry.value; - Property property = assemblyFactory.createComponentProperty(); - property.setName(propertyName); - property.setXSDType(ALLOWED_ENV_ENTRY_TYPES.get(type)); - property.setValue(value); - componentType.getProperties().add(property); - } - return componentType; - } - - public void createImplementationJeeComposite(WebModuleInfo webModule, Composite composite) { - - Component component = findComponent(composite, webModule); - - // Process Remote EJB References - for(Map.Entry<String, EjbReferenceInfo> entry : webModule.getEjbReferences().entrySet()) { - EjbReferenceInfo ejbRef = entry.getValue(); - String referenceName = entry.getKey(); - referenceName = referenceName.replace("/", "_"); - ComponentReference reference = assemblyFactory.createComponentReference(); - reference.setName(referenceName); - InterfaceContract ic = javaInterfaceFactory.createJavaInterfaceContract(); - try { - ic.setInterface(javaInterfaceFactory.createJavaInterface(ejbRef.businessInterface)); - } catch (InvalidInterfaceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - reference.setInterfaceContract(ic); - reference.getRequiredIntents().add(EJB_INTENT); - reference.setMultiplicity(Multiplicity.ZERO_ONE); - - addComponentReference(composite, component, reference); - } - } - - public void createImplementationJeeComposite(EjbModuleInfo ejbModule, Composite composite) { - - for(Map.Entry<String, EjbInfo> entry : ejbModule.getEjbInfos().entrySet()) { - EjbInfo ejbInfo = entry.getValue(); - - Component component = findComponent(composite, ejbInfo, ejbModule); - - // Process Remote EJB References - for(Map.Entry<String, EjbReferenceInfo> entry1 : ejbInfo.ejbReferences.entrySet()) { - EjbReferenceInfo ejbRef = entry1.getValue(); - String referenceName = ejbRef.referenceName; - referenceName = referenceName.replace("/", "_"); - referenceName = ejbInfo.beanName + "_" + referenceName; - ComponentReference reference = assemblyFactory.createComponentReference(); - reference.setName(referenceName); - InterfaceContract ic = javaInterfaceFactory.createJavaInterfaceContract(); - try { - ic.setInterface(javaInterfaceFactory.createJavaInterface(ejbRef.businessInterface)); - } catch (InvalidInterfaceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - reference.setInterfaceContract(ic); - reference.getRequiredIntents().add(EJB_INTENT); - reference.setMultiplicity(Multiplicity.ZERO_ONE); - - addComponentReference(composite, component, reference); - } - } - } - - - public void createImplementationJeeComposite(JavaEEApplicationInfo appInfo, Composite composite) { - - for(Map.Entry<String, EjbModuleInfo> entry0 : appInfo.getEjbModuleInfos().entrySet()) { - EjbModuleInfo ejbModule = entry0.getValue(); - - for(Map.Entry<String, EjbInfo> entry : ejbModule.getEjbInfos().entrySet()) { - EjbInfo ejbInfo = entry.getValue(); - - Component component = findComponent(composite, ejbInfo, ejbModule); - - // Process Remote EJB References - for(Map.Entry<String, EjbReferenceInfo> entry1 : ejbInfo.ejbReferences.entrySet()) { - EjbReferenceInfo ejbRef = entry1.getValue(); - String referenceName = ejbRef.referenceName; - referenceName = referenceName.replace("/", "_"); - referenceName = ejbInfo.beanName + "_" + referenceName; - ComponentReference reference = assemblyFactory.createComponentReference(); - reference.setName(referenceName); - InterfaceContract ic = javaInterfaceFactory.createJavaInterfaceContract(); - try { - ic.setInterface(javaInterfaceFactory.createJavaInterface(ejbRef.businessInterface)); - } catch (InvalidInterfaceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - reference.setInterfaceContract(ic); - reference.getRequiredIntents().add(EJB_INTENT); - reference.setMultiplicity(Multiplicity.ZERO_ONE); - - addComponentReference(composite, component, reference); - } - } - } - } - - /** - * We are fluffing up the JEEImplemention composite to represent the components - * in the JEE archive. Given the JEEimplemenation composite find a named component - * it if already exists or create it if it doesn't. - * - * @param composite - * @param ejbInfo - * @return - */ - private Component findComponent(Composite composite, EjbInfo ejbInfo, EjbModuleInfo ejbmoduleInfo){ - String componentName = ejbInfo.beanName; - Component component = null; - - for (Component tmpComponent : composite.getComponents()){ - if (tmpComponent.getName().equals(componentName)){ - component = tmpComponent; - break; - } - } - - if (component == null){ - component = assemblyFactory.createComponent(); - component.setName(componentName); - component.setUnresolved(true); - composite.getComponents().add(component); - - EJBImplementationGenerated implementation = new EJBImplementationGeneratedImpl(); - implementation.setUnresolved(true); - implementation.setEJBInfo(ejbInfo); - implementation.setEjbModuleInfo(ejbmoduleInfo); - component.setImplementation(implementation); - } - - return component; - } - - /** - * We are fluffing up the JEEImplemention composite to represent the components - * in the JEE archive. Given the JEEimplemenation composite find a named component - * it if already exists or create it if it doesn't. - * - * @param composite - * @param ejbInfo - * @return - */ - private Component findComponent(Composite composite, WebModuleInfo webInfo){ - String componentName = webInfo.getModuleName(); - Component component = null; - - for (Component tmpComponent : composite.getComponents()){ - if (tmpComponent.getName().equals(componentName)){ - component = tmpComponent; - break; - } - } - - if (component == null){ - component = assemblyFactory.createComponent(); - component.setName(componentName); - component.setUnresolved(true); - composite.getComponents().add(component); - - WebImplementationGenerated implementation = new WebImplementationGeneratedImpl(); - implementation.setUnresolved(true); - // need generated impl to represent web modules - implementation.setWebInfo(webInfo); - component.setImplementation(implementation); - } - - return component; - } - - /** - * Add a component reference and fluff up a composite reference to match - * - * @param composite - * @param component - * @param service - */ - private void addComponentReference(Composite composite, Component component, ComponentReference reference){ - component.getImplementation().getReferences().add(reference); - - CompositeReference compositeReference = assemblyFactory.createCompositeReference(); - composite.getReferences().add(compositeReference); - - compositeReference.setName(reference.getName()); - compositeReference.getPromotedReferences().add(reference); - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/ModelObjectImpl.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/ModelObjectImpl.java deleted file mode 100644 index 95050dfd88..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/ModelObjectImpl.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.jee.impl; - -import java.net.URI; - -import org.apache.tuscany.sca.contribution.jee.ModelObject; - -/** - * @version $Rev$ $Date$ - */ -public class ModelObjectImpl implements ModelObject { - - private URI uri; - private Object obj; - - public ModelObjectImpl() { - } - - public Object getObject() { - return obj; - } - - public void setObject(Object obj) { - this.obj = obj; - } - - public URI getUri() { - return uri; - } - - public void setUri(URI uri) { - this.uri = uri; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WarContributionProcessor.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WarContributionProcessor.java deleted file mode 100644 index 17974e831f..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WarContributionProcessor.java +++ /dev/null @@ -1,36 +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.jee.impl; - -import org.apache.tuscany.sca.contribution.PackageType; -import org.apache.tuscany.sca.contribution.processor.PackageProcessor; -import org.apache.tuscany.sca.contribution.processor.impl.JarContributionProcessor; - -/** - * War Contribution package processor. - * - * @version $Rev$ $Date$ - */ -public class WarContributionProcessor extends JarContributionProcessor implements PackageProcessor { - @Override - public String getPackageType() { - return PackageType.WAR; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebArchiveProcessor.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebArchiveProcessor.java deleted file mode 100644 index 9e9bfb8bc1..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebArchiveProcessor.java +++ /dev/null @@ -1,59 +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.jee.impl; - -import java.io.File; -import java.net.URI; -import java.net.URL; - -import org.apache.tuscany.sca.contribution.jee.JavaEEIntrospector; -import org.apache.tuscany.sca.contribution.jee.WebModuleInfo; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -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.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.monitor.Monitor; - -public class WebArchiveProcessor implements URLArtifactProcessor<WebModuleInfo> { - private JavaEEIntrospector jeeIntrospector; - - public WebArchiveProcessor(ExtensionPointRegistry registry, Monitor monitor) { - jeeIntrospector = registry.getExtensionPoint(JavaEEIntrospector.class); - } - - public String getArtifactType() { - return ".war"; - } - - public WebModuleInfo read(URL contributionURL, URI artifactURI, URL artifactURL) throws ContributionReadException { - WebModuleInfo webModuleInfo = jeeIntrospector.introspectWebArchive(artifactURL); - webModuleInfo.setUri(artifactURI); - webModuleInfo.setModuleName(new File(artifactURL.getFile()).getName()); - return webModuleInfo; - } - - public Class<WebModuleInfo> getModelType() { - return WebModuleInfo.class; - } - - public void resolve(WebModuleInfo arg0, ModelResolver arg1) - throws ContributionResolveException { - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebImplementationGeneratedImpl.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebImplementationGeneratedImpl.java deleted file mode 100644 index d898bd4ea0..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebImplementationGeneratedImpl.java +++ /dev/null @@ -1,60 +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.jee.impl; - -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.impl.ImplementationImpl; -import org.apache.tuscany.sca.contribution.jee.WebImplementationGenerated; -import org.apache.tuscany.sca.contribution.jee.WebModuleInfo; - - -/** - * The model representing a WEB implementation in an SCA assembly model when the - * WEB implementation has been generated by introspecting a non-enhanced EAR - */ -class WebImplementationGeneratedImpl extends ImplementationImpl implements WebImplementationGenerated { - - private WebModuleInfo webInfo; - - /** - * Constructs a new EJB implementation. - */ - WebImplementationGeneratedImpl() { - super(); - } - - @Override - public ConstrainingType getConstrainingType() { - // The Web implementation does not support constrainingTypes - return null; - } - - @Override - public void setConstrainingType(ConstrainingType constrainingType) { - // The Web implementation does not support constrainingTypes - } - - public WebModuleInfo getWebInfo() { - return webInfo; - } - - public void setWebInfo(WebModuleInfo webInfo) { - this.webInfo = webInfo; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebImplementationGeneratedProcessor.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebImplementationGeneratedProcessor.java deleted file mode 100644 index 4e50b15960..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebImplementationGeneratedProcessor.java +++ /dev/null @@ -1,66 +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.jee.impl; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; -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.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.monitor.Monitor; - - -/** - * Dummy processor that's used to mark WebImplementationGeneratedImpl instance - * as resolved at the appropriate point in the resolution processing - * - */ -public class WebImplementationGeneratedProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<WebImplementationGeneratedImpl> { - - public WebImplementationGeneratedProcessor(ExtensionPointRegistry registry, - Monitor monitor) { - } - - public QName getArtifactType() { - return null; - } - - public Class<WebImplementationGeneratedImpl> getModelType() { - // Returns the type of model processed by this processor - return WebImplementationGeneratedImpl.class; - } - - public WebImplementationGeneratedImpl read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - return null; - } - - public void resolve(WebImplementationGeneratedImpl implementation, ModelResolver resolver) throws ContributionResolveException { - implementation.setUnresolved(false); - } - - public void write(WebImplementationGeneratedImpl implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebModuleInfoImpl.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebModuleInfoImpl.java deleted file mode 100644 index ceca698356..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WebModuleInfoImpl.java +++ /dev/null @@ -1,109 +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.jee.impl; - -import java.net.URI; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.jee.EjbReferenceInfo; -import org.apache.tuscany.sca.contribution.jee.EnvEntryInfo; -import org.apache.tuscany.sca.contribution.jee.JspReferenceTagInfo; -import org.apache.tuscany.sca.contribution.jee.WebModuleInfo; - -public class WebModuleInfoImpl implements WebModuleInfo { - - private URI uri; - private String moduleName; - private ClassLoader moduleClassLoader; - - private Collection<Class<?>> servletClasses = new ArrayList<Class<?>>(); - private Collection<Class<?>> listenerClasses = new ArrayList<Class<?>>(); - private Collection<Class<?>> filterClasses = new ArrayList<Class<?>>(); - private Collection<Class<?>> jsfClasses = new ArrayList<Class<?>>(); - - private Collection<JspReferenceTagInfo> jspReferenceTags = new ArrayList<JspReferenceTagInfo>(); - - private Map<String, EjbReferenceInfo> ejbReferences = new HashMap<String, EjbReferenceInfo>(); - private Map<String, EnvEntryInfo> envEntries = new HashMap<String, EnvEntryInfo>(); - - public WebModuleInfoImpl() { - } - public Collection<Class<?>> getServletClasses() { - return servletClasses; - } - - public Collection<Class<?>> getListenerClasses() { - return listenerClasses; - } - - public Collection<Class<?>> getFilterClasses() { - return filterClasses; - } - - public Collection<Class<?>> getJSFClasses() { - return jsfClasses; - } - - public Collection<JspReferenceTagInfo> getJspReferenceTags() { - return jspReferenceTags; - } - - public EjbReferenceInfo getEjbReference(String ejbRefName) { - return ejbReferences.get(ejbRefName); - } - - public Map<String, EjbReferenceInfo> getEjbReferences() { - return ejbReferences; - } - - public Map<String, EnvEntryInfo> getEnvEntries() { - return envEntries; - } - - public EnvEntryInfo getEnvEntry(String envEntryName) { - return envEntries.get(envEntryName); - } - - public String getModuleName() { - return moduleName; - } - - public void setModuleName(String moduleName) { - this.moduleName = moduleName; - } - - public URI getUri() { - return uri; - } - - public void setUri(URI uri) { - this.uri = uri; - } - - public ClassLoader getModuleClassloader() { - return moduleClassLoader; - } - - public void setmoduleClassloader(ClassLoader classLoader) { - this.moduleClassLoader = classLoader; - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.jee.JavaEEExtension b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.jee.JavaEEExtension deleted file mode 100644 index c79600bca6..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.jee.JavaEEExtension +++ /dev/null @@ -1,18 +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.
-
-org.apache.tuscany.sca.contribution.jee.impl.JavaEEExtensionImpl
\ No newline at end of file diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.jee.JavaEEOptionalExtension b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.jee.JavaEEOptionalExtension deleted file mode 100644 index 5ce036e6b0..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.jee.JavaEEOptionalExtension +++ /dev/null @@ -1,18 +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.
-
-org.apache.tuscany.sca.contribution.jee.impl.JavaEEOptionalExtensionImpl
\ No newline at end of file diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor deleted file mode 100644 index 88c69658f6..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor +++ /dev/null @@ -1,19 +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. - -org.apache.tuscany.sca.contribution.jee.impl.EarContributionProcessor;type=application/ear -org.apache.tuscany.sca.contribution.jee.impl.WarContributionProcessor;type=application/war diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index b0bb63225a..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor +++ /dev/null @@ -1,22 +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.
-
-# $Rev: 685124 $ $Date: 2008-08-12 12:46:19 +0100 (Tue, 12 Aug 2008) $
-
-# Implementation class for the artifact processor extension
-org.apache.tuscany.sca.contribution.jee.impl.EJBImplementationGeneratedProcessor;qname=http://dummy_namespace/#dummy.name,model=org.apache.tuscany.sca.contribution.jee.impl.EJBImplementationGeneratedImpl,factory=dummy
-org.apache.tuscany.sca.contribution.jee.impl.WebImplementationGeneratedProcessor;qname=http://dummy_namespace/#dummy.name,model=org.apache.tuscany.sca.contribution.jee.impl.WebImplementationGeneratedImpl,factory=dummy
diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor deleted file mode 100644 index 71575b5ddd..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor +++ /dev/null @@ -1,21 +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. - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.contribution.jee.impl.WebArchiveProcessor;type=.war,model=org.apache.tuscany.sca.contribution.jee.WebModuleInfo -org.apache.tuscany.sca.contribution.jee.impl.EjbArchiveProcessor;type=.jar,model=org.apache.tuscany.sca.contribution.jee.EjbModuleInfo -org.apache.tuscany.sca.contribution.jee.impl.JavaEEArchiveProcessor;type=.ear,model=org.apache.tuscany.sca.contribution.jee.JavaEEApplicationInfo
\ No newline at end of file diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver deleted file mode 100644 index 90ff87e0b1..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver +++ /dev/null @@ -1,21 +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.
-
-org.apache.tuscany.sca.contribution.jee.WebModuleModelResolver;model=org.apache.tuscany.sca.contribution.jee.WebModuleInfo
-org.apache.tuscany.sca.contribution.jee.EjbModuleModelResolver;model=org.apache.tuscany.sca.contribution.jee.EjbModuleInfo
-org.apache.tuscany.sca.contribution.jee.JavaEEApplicationModelResolver;model=org.apache.tuscany.sca.contribution.jee.JavaEEApplicationInfo
-org.apache.tuscany.sca.contribution.jee.ModelObjectModelResolver;model=org.apache.tuscany.sca.contribution.jee.ModelObject
diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EarContributionProcessorTestCase.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EarContributionProcessorTestCase.java deleted file mode 100644 index 9495df70b7..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EarContributionProcessorTestCase.java +++ /dev/null @@ -1,57 +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.jee; - -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.util.List; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.contribution.jee.impl.EarContributionProcessor; -import org.apache.tuscany.sca.contribution.service.util.IOHelper; -import org.junit.Test; - -/** - * Ear Contribution package processor test case. - * Verifies proper handling of EAR contributions. - * - * @version $Rev$ $Date$ - */ -public class EarContributionProcessorTestCase { - private static final String EAR_CONTRIBUTION = "/ejb-injection-sample.ear"; - - @Test - public void testProcessPackageArtifacts() throws Exception { - EarContributionProcessor earProcessor = new EarContributionProcessor(); - - URL earURL = getClass().getResource(EAR_CONTRIBUTION); - InputStream earStream = earURL.openStream(); - List<URI> artifacts = null; - try { - artifacts = earProcessor.getArtifacts(earURL, earStream); - } finally { - IOHelper.closeQuietly(earStream); - } - - Assert.assertNotNull(artifacts); - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WarContributionProcessorTestCase.java b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WarContributionProcessorTestCase.java deleted file mode 100644 index e315c417b9..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WarContributionProcessorTestCase.java +++ /dev/null @@ -1,57 +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.jee; - -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.util.List; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.contribution.jee.impl.WarContributionProcessor; -import org.apache.tuscany.sca.contribution.service.util.IOHelper; -import org.junit.Test; - -/** - * War Contribution package processor test case. - * Verifies proper handling of WAR contributions. - * - * @version $Rev$ $Date$ - */ -public class WarContributionProcessorTestCase { - private static final String WAR_CONTRIBUTION = "/sample-web-app.war"; - - @Test - public void testProcessPackageArtifacts() throws Exception { - WarContributionProcessor warProcessor = new WarContributionProcessor(); - - URL warURL = getClass().getResource(WAR_CONTRIBUTION); - InputStream warStream = warURL.openStream(); - List<URI> artifacts = null; - try { - artifacts = warProcessor.getArtifacts(warURL, warStream); - } finally { - IOHelper.closeQuietly(warStream); - } - - Assert.assertNotNull(artifacts); - } -} diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear Binary files differdeleted file mode 100644 index 3efdd206c7..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear +++ /dev/null diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar Binary files differdeleted file mode 100644 index 4b9e3b79f4..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar +++ /dev/null diff --git a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/resources/sample-web-app.war b/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/resources/sample-web-app.war Binary files differdeleted file mode 100644 index 681b203fab..0000000000 --- a/sca-java-1.x/tags/1.5.1-RC3/modules/contribution-jee/src/test/resources/sample-web-app.war +++ /dev/null |