diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:09:08 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:09:08 +0000 |
commit | cde3d2629677a07aa09e3c7fbe117b680c0f5df7 (patch) | |
tree | c6d50048ffad8dfa8a1c0019e7afb207cb6b4fe2 /branches/sca-equinox/tools | |
parent | 4ef0430519e276c2bdecea75f7a0f42f49f0cf30 (diff) |
Moving 2.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835133 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-equinox/tools')
258 files changed, 0 insertions, 29569 deletions
diff --git a/branches/sca-equinox/tools/eclipse/features/core/LICENSE b/branches/sca-equinox/tools/eclipse/features/core/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/features/core/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/features/core/META-INF/MANIFEST.MF deleted file mode 100644 index 63215d7c6f..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/META-INF/MANIFEST.MF +++ /dev/null @@ -1,6 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Tools Core Feature
-Bundle-SymbolicName: org.apache.tuscany.sca.feature.core
-Bundle-Version: 1.4.0
-Bundle-Vendor: Apache Software Foundation
diff --git a/branches/sca-equinox/tools/eclipse/features/core/NOTICE b/branches/sca-equinox/tools/eclipse/features/core/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/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/branches/sca-equinox/tools/eclipse/features/core/build.properties b/branches/sca-equinox/tools/eclipse/features/core/build.properties deleted file mode 100644 index f36e15c5d3..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/build.properties +++ /dev/null @@ -1,10 +0,0 @@ -bin.includes = feature.xml,\ - NOTICE,\ - LICENSE,\ - META-INF/ -src.includes = .project,\ - LICENSE,\ - NOTICE,\ - build.properties,\ - feature.xml,\ - META-INF/ diff --git a/branches/sca-equinox/tools/eclipse/features/core/feature.xml b/branches/sca-equinox/tools/eclipse/features/core/feature.xml deleted file mode 100644 index 1a20ac1eb1..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/feature.xml +++ /dev/null @@ -1,61 +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. ---> -<feature - id="org.apache.tuscany.sca.feature.core" - label="Apache Tuscany SCA Core Eclipse Feature" - version="1.4.0" - provider-name="Apache Software Foundation"> - - <description url="http://incubator.apache.org/tuscany"> - Apache Tuscany SCA Tools Core Feature. - </description> - - <license url="http://www.apache.org/licenses/LICENSE-2.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. - </license> - - <requires> - <import plugin="org.eclipse.ui.ide"/> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.core.jobs"/> - <import plugin="org.eclipse.debug.core"/> - <import plugin="org.eclipse.debug.ui"/> - <import plugin="org.eclipse.jdt.core"/> - <import plugin="org.eclipse.jdt.debug.ui"/> - <import plugin="org.eclipse.jdt.launching"/> - <import plugin="org.eclipse.jdt.ui"/> - <import plugin="org.eclipse.jface"/> - <import plugin="org.eclipse.osgi"/> - <import plugin="org.eclipse.swt"/> - <import plugin="org.eclipse.ui.workbench"/> - </requires> - - <plugin - id="org.apache.tuscany.sca.plugin.core" - download-size="0" - install-size="0" - version="1.4.0"/> - -</feature> diff --git a/branches/sca-equinox/tools/eclipse/features/core/pom.xml b/branches/sca-equinox/tools/eclipse/features/core/pom.xml deleted file mode 100644 index 943ef5e6ff..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/pom.xml +++ /dev/null @@ -1,57 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.feature.core</artifactId> - <name>Apache Tuscany SCA Core Eclipse Feature</name> - - <build> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/features/ejava/LICENSE b/branches/sca-equinox/tools/eclipse/features/ejava/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/ejava/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/features/ejava/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/features/ejava/META-INF/MANIFEST.MF deleted file mode 100644 index f363ae7b2a..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/ejava/META-INF/MANIFEST.MF +++ /dev/null @@ -1,6 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA JEE Eclipse Feature
-Bundle-SymbolicName: org.apache.tuscany.sca.feature.ejava
-Bundle-Version: 1.4.0
-Bundle-Vendor: Apache Software Foundation
diff --git a/branches/sca-equinox/tools/eclipse/features/ejava/NOTICE b/branches/sca-equinox/tools/eclipse/features/ejava/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/ejava/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/branches/sca-equinox/tools/eclipse/features/ejava/build.properties b/branches/sca-equinox/tools/eclipse/features/ejava/build.properties deleted file mode 100644 index f36e15c5d3..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/ejava/build.properties +++ /dev/null @@ -1,10 +0,0 @@ -bin.includes = feature.xml,\ - NOTICE,\ - LICENSE,\ - META-INF/ -src.includes = .project,\ - LICENSE,\ - NOTICE,\ - build.properties,\ - feature.xml,\ - META-INF/ diff --git a/branches/sca-equinox/tools/eclipse/features/ejava/feature.xml b/branches/sca-equinox/tools/eclipse/features/ejava/feature.xml deleted file mode 100644 index ef2ab6c2ba..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/ejava/feature.xml +++ /dev/null @@ -1,63 +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. ---> -<feature - id="org.apache.tuscany.sca.feature.ejava" - label="Apache Tuscany SCA JEE Eclipse Feature" - version="1.4.0" - provider-name="Apache Software Foundation"> - - <description url="http://incubator.apache.org/tuscany"> - Apache Tuscany SCA JEE Eclipse Feature. - </description> - - <license url="http://www.apache.org/licenses/LICENSE-2.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. - </license> - - <requires> - <import plugin="org.eclipse.ui.ide"/> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.core.jobs"/> - <import plugin="org.eclipse.debug.core"/> - <import plugin="org.eclipse.debug.ui"/> - <import plugin="org.eclipse.jdt.core"/> - <import plugin="org.eclipse.jdt.debug.ui"/> - <import plugin="org.eclipse.jdt.launching"/> - <import plugin="org.eclipse.jdt.ui"/> - <import plugin="org.eclipse.jface"/> - <import plugin="org.eclipse.osgi"/> - <import plugin="org.eclipse.swt"/> - <import plugin="org.apache.tuscany.sca.plugin.core"/> - <import plugin="org.eclipse.ui.workbench"/> - <import feature="org.apache.tuscany.sca.feature.core" version="1.4.0"/> - </requires> - - <plugin - id="org.apache.tuscany.sca.plugin.ejava" - download-size="0" - install-size="0" - version="1.4.0"/> - -</feature> diff --git a/branches/sca-equinox/tools/eclipse/features/ejava/pom.xml b/branches/sca-equinox/tools/eclipse/features/ejava/pom.xml deleted file mode 100644 index 1c796804cd..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/ejava/pom.xml +++ /dev/null @@ -1,57 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.feature.ejava</artifactId> - <name>Apache Tuscany SCA JEE Eclipse Feature</name> - - <build> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/features/manager/LICENSE b/branches/sca-equinox/tools/eclipse/features/manager/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/manager/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/features/manager/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/features/manager/META-INF/MANIFEST.MF deleted file mode 100644 index 8d8f5b271d..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/manager/META-INF/MANIFEST.MF +++ /dev/null @@ -1,6 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Domain Manager Eclipse Feature
-Bundle-SymbolicName: org.apache.tuscany.sca.feature.manager
-Bundle-Version: 1.4.0
-Bundle-Vendor: Apache Software Foundation
diff --git a/branches/sca-equinox/tools/eclipse/features/manager/NOTICE b/branches/sca-equinox/tools/eclipse/features/manager/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/manager/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/branches/sca-equinox/tools/eclipse/features/manager/build.properties b/branches/sca-equinox/tools/eclipse/features/manager/build.properties deleted file mode 100644 index f36e15c5d3..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/manager/build.properties +++ /dev/null @@ -1,10 +0,0 @@ -bin.includes = feature.xml,\ - NOTICE,\ - LICENSE,\ - META-INF/ -src.includes = .project,\ - LICENSE,\ - NOTICE,\ - build.properties,\ - feature.xml,\ - META-INF/ diff --git a/branches/sca-equinox/tools/eclipse/features/manager/feature.xml b/branches/sca-equinox/tools/eclipse/features/manager/feature.xml deleted file mode 100644 index 189342993d..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/manager/feature.xml +++ /dev/null @@ -1,67 +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. ---> -<feature - id="org.apache.tuscany.sca.feature.manager" - label="Apache Tuscany SCA Domain Manager Eclipse Feature" - version="1.4.0" - provider-name="Apache Software Foundation"> - - <description url="http://incubator.apache.org/tuscany"> - Apache Tuscany SCA Domain Manager Eclipse Feature. - </description> - - <license url="http://www.apache.org/licenses/LICENSE-2.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. - </license> - - <includes - id="org.apache.tuscany.sca.feature.core" - version="1.4.0"/> - - <requires> - <import plugin="org.eclipse.ui.ide"/> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.core.jobs"/> - <import plugin="org.eclipse.debug.core"/> - <import plugin="org.eclipse.debug.ui"/> - <import plugin="org.eclipse.jdt.core"/> - <import plugin="org.eclipse.jdt.debug.ui"/> - <import plugin="org.eclipse.jdt.launching"/> - <import plugin="org.eclipse.jdt.ui"/> - <import plugin="org.eclipse.jface"/> - <import plugin="org.eclipse.osgi"/> - <import plugin="org.eclipse.swt"/> - <import plugin="org.apache.tuscany.sca.plugin.core"/> - <import plugin="org.eclipse.ui.workbench"/> - <import feature="org.apache.tuscany.sca.feature.core" version="1.4.0"/> - </requires> - - <plugin - id="org.apache.tuscany.sca.plugin.manager" - download-size="0" - install-size="0" - version="1.4.0"/> - -</feature> diff --git a/branches/sca-equinox/tools/eclipse/features/manager/pom.xml b/branches/sca-equinox/tools/eclipse/features/manager/pom.xml deleted file mode 100644 index 453d00a5d4..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/manager/pom.xml +++ /dev/null @@ -1,57 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.feature.manager</artifactId> - <name>Apache Tuscany SCA Domain Manager Eclipse Feature</name> - - <build> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/features/process/LICENSE b/branches/sca-equinox/tools/eclipse/features/process/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/process/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/features/process/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/features/process/META-INF/MANIFEST.MF deleted file mode 100644 index 7f10d43405..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/process/META-INF/MANIFEST.MF +++ /dev/null @@ -1,6 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Process Eclipse Feature
-Bundle-SymbolicName: org.apache.tuscany.sca.feature.process
-Bundle-Version: 1.4.0
-Bundle-Vendor: Apache Software Foundation
diff --git a/branches/sca-equinox/tools/eclipse/features/process/NOTICE b/branches/sca-equinox/tools/eclipse/features/process/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/process/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/branches/sca-equinox/tools/eclipse/features/process/build.properties b/branches/sca-equinox/tools/eclipse/features/process/build.properties deleted file mode 100644 index f36e15c5d3..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/process/build.properties +++ /dev/null @@ -1,10 +0,0 @@ -bin.includes = feature.xml,\ - NOTICE,\ - LICENSE,\ - META-INF/ -src.includes = .project,\ - LICENSE,\ - NOTICE,\ - build.properties,\ - feature.xml,\ - META-INF/ diff --git a/branches/sca-equinox/tools/eclipse/features/process/feature.xml b/branches/sca-equinox/tools/eclipse/features/process/feature.xml deleted file mode 100644 index 08332be61e..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/process/feature.xml +++ /dev/null @@ -1,67 +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. ---> -<feature - id="org.apache.tuscany.sca.feature.process" - label="Apache Tuscany SCA Process Eclipse Feature" - version="1.4.0" - provider-name="Apache Software Foundation"> - - <description url="http://incubator.apache.org/tuscany"> - Apache Tuscany SCA Process Eclipse Feature. - </description> - - <license url="http://www.apache.org/licenses/LICENSE-2.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. - </license> - - <includes - id="org.apache.tuscany.sca.feature.core" - version="1.4.0"/> - - <requires> - <import plugin="org.eclipse.ui.ide"/> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.core.jobs"/> - <import plugin="org.eclipse.debug.core"/> - <import plugin="org.eclipse.debug.ui"/> - <import plugin="org.eclipse.jdt.core"/> - <import plugin="org.eclipse.jdt.debug.ui"/> - <import plugin="org.eclipse.jdt.launching"/> - <import plugin="org.eclipse.jdt.ui"/> - <import plugin="org.eclipse.jface"/> - <import plugin="org.eclipse.osgi"/> - <import plugin="org.eclipse.swt"/> - <import plugin="org.apache.tuscany.sca.plugin.core"/> - <import plugin="org.eclipse.ui.workbench"/> - <import feature="org.apache.tuscany.sca.feature.core" version="1.4.0"/> - </requires> - - <plugin - id="org.apache.tuscany.sca.plugin.process" - download-size="0" - install-size="0" - version="1.4.0"/> - -</feature> diff --git a/branches/sca-equinox/tools/eclipse/features/process/pom.xml b/branches/sca-equinox/tools/eclipse/features/process/pom.xml deleted file mode 100644 index 6890300a7c..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/process/pom.xml +++ /dev/null @@ -1,57 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.feature.process</artifactId> - <name>Apache Tuscany SCA Process Eclipse Feature</name> - - <build> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/features/web20/LICENSE b/branches/sca-equinox/tools/eclipse/features/web20/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/web20/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/features/web20/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/features/web20/META-INF/MANIFEST.MF deleted file mode 100644 index 2dc129ebaa..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/web20/META-INF/MANIFEST.MF +++ /dev/null @@ -1,6 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Web 2.0 Eclipse Feature
-Bundle-SymbolicName: org.apache.tuscany.sca.feature.web20
-Bundle-Version: 1.4.0
-Bundle-Vendor: Apache Software Foundation
diff --git a/branches/sca-equinox/tools/eclipse/features/web20/NOTICE b/branches/sca-equinox/tools/eclipse/features/web20/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/web20/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/branches/sca-equinox/tools/eclipse/features/web20/build.properties b/branches/sca-equinox/tools/eclipse/features/web20/build.properties deleted file mode 100644 index f36e15c5d3..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/web20/build.properties +++ /dev/null @@ -1,10 +0,0 @@ -bin.includes = feature.xml,\ - NOTICE,\ - LICENSE,\ - META-INF/ -src.includes = .project,\ - LICENSE,\ - NOTICE,\ - build.properties,\ - feature.xml,\ - META-INF/ diff --git a/branches/sca-equinox/tools/eclipse/features/web20/feature.xml b/branches/sca-equinox/tools/eclipse/features/web20/feature.xml deleted file mode 100644 index 8fe97d24a3..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/web20/feature.xml +++ /dev/null @@ -1,67 +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. ---> -<feature - id="org.apache.tuscany.sca.feature.web20" - label="Apache Tuscany SCA Web 2.0 Eclipse Feature" - version="1.4.0" - provider-name="Apache Software Foundation"> - - <description url="http://incubator.apache.org/tuscany"> - Apache Tuscany SCA Web 2.0 Eclipse Feature. - </description> - - <license url="http://www.apache.org/licenses/LICENSE-2.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. - </license> - - <includes - id="org.apache.tuscany.sca.feature.core" - version="1.4.0"/> - - <requires> - <import plugin="org.eclipse.ui.ide"/> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.core.jobs"/> - <import plugin="org.eclipse.debug.core"/> - <import plugin="org.eclipse.debug.ui"/> - <import plugin="org.eclipse.jdt.core"/> - <import plugin="org.eclipse.jdt.debug.ui"/> - <import plugin="org.eclipse.jdt.launching"/> - <import plugin="org.eclipse.jdt.ui"/> - <import plugin="org.eclipse.jface"/> - <import plugin="org.eclipse.osgi"/> - <import plugin="org.eclipse.swt"/> - <import plugin="org.apache.tuscany.sca.plugin.core"/> - <import plugin="org.eclipse.ui.workbench"/> - <import feature="org.apache.tuscany.sca.feature.core" version="1.4.0"/> - </requires> - - <plugin - id="org.apache.tuscany.sca.plugin.web20" - download-size="0" - install-size="0" - version="1.4.0"/> - -</feature> diff --git a/branches/sca-equinox/tools/eclipse/features/web20/pom.xml b/branches/sca-equinox/tools/eclipse/features/web20/pom.xml deleted file mode 100644 index 87268b633f..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/web20/pom.xml +++ /dev/null @@ -1,57 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.feature.web20</artifactId> - <name>Apache Tuscany SCA Web 2.0 Eclipse Feature</name> - - <build> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/features/webservice/LICENSE b/branches/sca-equinox/tools/eclipse/features/webservice/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/webservice/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/features/webservice/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/features/webservice/META-INF/MANIFEST.MF deleted file mode 100644 index 9fb9f1282b..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/webservice/META-INF/MANIFEST.MF +++ /dev/null @@ -1,6 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Web Service Eclipse Feature
-Bundle-SymbolicName: org.apache.tuscany.sca.feature.webservice
-Bundle-Version: 1.4.0
-Bundle-Vendor: Apache Software Foundation
diff --git a/branches/sca-equinox/tools/eclipse/features/webservice/NOTICE b/branches/sca-equinox/tools/eclipse/features/webservice/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/webservice/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/branches/sca-equinox/tools/eclipse/features/webservice/build.properties b/branches/sca-equinox/tools/eclipse/features/webservice/build.properties deleted file mode 100644 index f36e15c5d3..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/webservice/build.properties +++ /dev/null @@ -1,10 +0,0 @@ -bin.includes = feature.xml,\ - NOTICE,\ - LICENSE,\ - META-INF/ -src.includes = .project,\ - LICENSE,\ - NOTICE,\ - build.properties,\ - feature.xml,\ - META-INF/ diff --git a/branches/sca-equinox/tools/eclipse/features/webservice/feature.xml b/branches/sca-equinox/tools/eclipse/features/webservice/feature.xml deleted file mode 100644 index d905b6475c..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/webservice/feature.xml +++ /dev/null @@ -1,67 +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. ---> -<feature - id="org.apache.tuscany.sca.feature.webservice" - label="Apache Tuscany SCA Web Service Eclipse Feature" - version="1.4.0" - provider-name="Apache Software Foundation"> - - <description url="http://incubator.apache.org/tuscany"> - Apache Tuscany SCA Web Service Eclipse Feature. - </description> - - <license url="http://www.apache.org/licenses/LICENSE-2.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. - </license> - - <includes - id="org.apache.tuscany.sca.feature.core" - version="1.4.0"/> - - <requires> - <import plugin="org.eclipse.ui.ide"/> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.core.jobs"/> - <import plugin="org.eclipse.debug.core"/> - <import plugin="org.eclipse.debug.ui"/> - <import plugin="org.eclipse.jdt.core"/> - <import plugin="org.eclipse.jdt.debug.ui"/> - <import plugin="org.eclipse.jdt.launching"/> - <import plugin="org.eclipse.jdt.ui"/> - <import plugin="org.eclipse.jface"/> - <import plugin="org.eclipse.osgi"/> - <import plugin="org.eclipse.swt"/> - <import plugin="org.apache.tuscany.sca.plugin.core"/> - <import plugin="org.eclipse.ui.workbench"/> - <import feature="org.apache.tuscany.sca.feature.core" version="1.4.0"/> - </requires> - - <plugin - id="org.apache.tuscany.sca.plugin.webservice" - download-size="0" - install-size="0" - version="1.4.0"/> - -</feature> diff --git a/branches/sca-equinox/tools/eclipse/features/webservice/pom.xml b/branches/sca-equinox/tools/eclipse/features/webservice/pom.xml deleted file mode 100644 index f7e0534e45..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/webservice/pom.xml +++ /dev/null @@ -1,57 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.feature.webservice</artifactId> - <name>Apache Tuscany SCA Web Service Eclipse Feature</name> - - <build> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/LICENSE b/branches/sca-equinox/tools/eclipse/plugins/core/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/plugins/core/META-INF/MANIFEST.MF deleted file mode 100644 index 0d8b1053bf..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/META-INF/MANIFEST.MF +++ /dev/null @@ -1,32 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Core Eclipse Plugin
-Bundle-SymbolicName: org.apache.tuscany.sca.plugin.core;singleton:=true
-Bundle-Version: 1.4.0
-Import-Package: org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.core.runtime.jobs,
- org.eclipse.debug.core,
- org.eclipse.debug.core.model,
- org.eclipse.debug.ui,
- org.eclipse.debug.ui.sourcelookup,
- org.eclipse.jdt.core,
- org.eclipse.jdt.debug.ui.launchConfigurations,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.ui.wizards,
- org.eclipse.jface.dialogs,
- org.eclipse.jface.operation,
- org.eclipse.jface.resource,
- org.eclipse.jface.viewers,
- org.eclipse.jface.wizard,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.swt,
- org.eclipse.swt.graphics,
- org.eclipse.swt.widgets,
- org.eclipse.ui,
- org.eclipse.ui.progress,
- org.osgi.framework;version="1.3.0"
-Bundle-Vendor: Apache Software Foundation
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui.ide
-Export-Package: org.apache.tuscany.sca.plugin.core.classpath
diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/NOTICE b/branches/sca-equinox/tools/eclipse/plugins/core/NOTICE deleted file mode 100644 index 6dcfe88195..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/NOTICE +++ /dev/null @@ -1,12 +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/). - -This product also includes software under the SCA Collaboration license -(see the LICENSE file contained in this distribution), with the following -copyright: - -(c) Copyright SCA Collaboration 2006, 2007 - diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/build.properties b/branches/sca-equinox/tools/eclipse/plugins/core/build.properties deleted file mode 100644 index c402b2eb45..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -output.. = bin/ -bin.includes = META-INF/,\ - plugin.xml,\ - xsd/,\ - icons/,\ - .,\ - LICENSE,\ - NOTICE,\ - org/ -src.includes = xsd/,\ - plugin.xml,\ - .classpath,\ - .project,\ - LICENSE,\ - META-INF/,\ - NOTICE,\ - build.properties,\ - icons/,\ - .settings/,\ - org/,\ - pom.xml -jars.compile.order = . -source.. = . diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/exsd/runtimeClasspathContainerInitializer.exsd b/branches/sca-equinox/tools/eclipse/plugins/core/exsd/runtimeClasspathContainerInitializer.exsd deleted file mode 100644 index 6b6d79d45b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/exsd/runtimeClasspathContainerInitializer.exsd +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.apache.tuscany.sca.plugin.core" xmlns="http://www.w3.org/2001/XMLSchema"> -<annotation> - <appinfo> - <meta.schema plugin="org.apache.tuscany.sca.plugin.core" id="runtimeClasspathContainerInitializer" name="Tuscany Runtime Classpath Container Initializers"/> - </appinfo> - <documentation> - [Enter description of this extension point.] - </documentation> - </annotation> - - <element name="extension"> - <annotation> - <appinfo> - <meta.element /> - </appinfo> - </annotation> - <complexType> - <attribute name="point" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="id" type="string"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="name" type="string"> - <annotation> - <documentation> - - </documentation> - <appinfo> - <meta.attribute translatable="true"/> - </appinfo> - </annotation> - </attribute> - </complexType> - </element> - - <element name="runtimeClasspathContainerInitializer"> - <complexType> - <attribute name="id" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="class" type="string"> - <annotation> - <documentation> - - </documentation> - <appinfo> - <meta.attribute kind="java" basedOn=":org.eclipse.jdt.core.IClasspathContainer"/> - </appinfo> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appinfo> - <meta.section type="since"/> - </appinfo> - <documentation> - [Enter the first release in which this extension point appears.] - </documentation> - </annotation> - - <annotation> - <appinfo> - <meta.section type="examples"/> - </appinfo> - <documentation> - [Enter extension point usage example here.] - </documentation> - </annotation> - - <annotation> - <appinfo> - <meta.section type="apiInfo"/> - </appinfo> - <documentation> - [Enter API information here.] - </documentation> - </annotation> - - <annotation> - <appinfo> - <meta.section type="implementation"/> - </appinfo> - <documentation> - [Enter information about supplied implementation of this extension point.] - </documentation> - </annotation> - - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/icons/t.gif b/branches/sca-equinox/tools/eclipse/plugins/core/icons/t.gif Binary files differdeleted file mode 100644 index ba896ced08..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/icons/t.gif +++ /dev/null diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/icons/tuscany.gif b/branches/sca-equinox/tools/eclipse/plugins/core/icons/tuscany.gif Binary files differdeleted file mode 100644 index 849dd76d4a..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/icons/tuscany.gif +++ /dev/null diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainer.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainer.java deleted file mode 100644 index ee9a3d2de9..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainer.java +++ /dev/null @@ -1,253 +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.plugin.core.classpath; - -import java.io.File; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainer; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; -import org.eclipse.jdt.core.IClasspathContainer; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.JavaCore; -import org.osgi.framework.Bundle; - -/** - * A base classpath container implementation. - * - * @version $Rev$ $Date$ - */ -public class BaseClasspathContainer implements RuntimeClasspathContainer { - - private String pluginID; - private String libraryID; - private String libraryName; - private String distributionName; - private String sourceDistributionName; - private String distributionVersion; - private String homeProperty; - private String sourceProperty; - - /** - * Constructs a new Classpath container. - * - * @param pluginID - * @param libraryID - * @param libraryName - * @param distributionName - * @param distributionVersion - * @param homeProperty - * @param sourceProperty - */ - public BaseClasspathContainer(String pluginID, String libraryID, String libraryName, - String distributionName, String sourceDistributionName, String distributionVersion, - String homeProperty, String sourceProperty) { - this.pluginID = pluginID; - this.libraryID = libraryID; - this.libraryName = libraryName; - this.distributionName = distributionName; - this.sourceDistributionName = sourceDistributionName; - this.distributionVersion = distributionVersion; - this.homeProperty = homeProperty; - this.sourceProperty = sourceProperty; - } - - public IClasspathEntry[] getClasspathEntries() { - List<IClasspathEntry> list = new ArrayList<IClasspathEntry>(); - - // Get the runtime distribution location - IPath runtimePath = runtimePath(); - - // Get the source distribution location - IPath sourcePath = sourcePath(); - - // Add the JARs from runtime/lib and runtime/modules as classpath entries - if (runtimePath != null) { - - // Add the jars from runtime/modules - File modulesDirectory = runtimePath.append("modules").toFile(); - if (modulesDirectory != null && modulesDirectory.exists()) { - for (File file : modulesDirectory.listFiles()) { - IPath path = new Path(file.getPath()); - String name = path.lastSegment(); - String extension = path.getFileExtension(); - - // Only include API and launcher JARs - if (!"jar".equals(extension)) { - continue; - } - if (name.indexOf("-api-") == -1 && name.indexOf("-launcher-") == -1) { - continue; - } - - list.add(JavaCore.newLibraryEntry(path, sourcePath, null)); - } - } - - // Add the jars from runtime/lib - File libDirectory = runtimePath.append("lib").toFile(); - if (libDirectory != null && libDirectory.exists()) { - for (File file : libDirectory.listFiles()) { - IPath path = new Path(file.getPath()); - String name = path.lastSegment(); - String extension = path.getFileExtension(); - - // Only include jaxb, jaxws and jsr API JARs - if (!"jar".equals(extension)) { - continue; - } - if (name.indexOf("-api-") != -1) { - if (name.startsWith("jaxb") || name.startsWith("jaxws") || name.startsWith("jsr")) { - list.add(JavaCore.newLibraryEntry(path, sourcePath, null)); - } - } - } - } - } - - return (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]); - } - - public IClasspathEntry[] getRuntimeClasspathEntries() { - - // Get the runtime distribution location - IPath runtimePath = runtimePath(); - - if (runtimePath != null) { - return new IClasspathEntry[] {JavaCore.newLibraryEntry(runtimePath, null, null)}; - } else { - return new IClasspathEntry[0]; - } - } - - public String getDescription() { - return libraryName; - } - - public int getKind() { - return IClasspathContainer.K_APPLICATION; - } - - public IPath getPath() { - return new Path(libraryID); - } - - /** - * Returns the location of the runtime distribution. - * - * @return - */ - private IPath runtimePath() { - IPath path = artifactLocation(pluginID, distributionName, distributionVersion, null, null); - - if (path == null) { - - // Try to get the location of the distribution from - // the HOME property or environment variable - String home = System.getProperty(homeProperty); - if (home == null || home.length() == 0) { - home = System.getenv(homeProperty); - } - if (home != null && home.length() != 0) { - if (new File(home).exists()) { - path = new Path(home); - } - } - } - return path; - } - - /** - * Returns the location of the source distribution. - * - * @return - */ - private IPath sourcePath() { - IPath path = artifactLocation(pluginID, sourceDistributionName, distributionVersion, "src", ".zip"); - - if (path == null) { - - // Try to get the location of the source distribution from - // the SRC property or environment variable - String source = System.getProperty(sourceProperty); - if (source == null || source.length() == 0) { - source = System.getenv(sourceProperty); - } - if (source != null && source.length() != 0) { - if (new File(source).exists()) { - path = new Path(source); - } - } - } - return path; - } - - /** - * Returns the location of the specified artifact. - * - * @param pluginId - * @param artifactId - * @param version - * @param classifier - * @param extension - * @return - */ - private IPath artifactLocation(String pluginId, String artifactId, String version, String classifier, String extension) { - String artifactName; - if (classifier != null) { - artifactName = artifactId + '-' + version + '-' + classifier; - } else { - artifactName = artifactId + '-' + version; - } - if (extension != null) { - artifactName += extension; - } - try { - Bundle bundle = Platform.getBundle(pluginId); - URL location = FileLocator.find(bundle, new Path(artifactName), null); - location = FileLocator.toFileURL(location); - IPath path = new Path(new File(location.toURI()).getPath()); - return path; - } catch (Exception e) { - error("Artifact not found: " + artifactName, e); - return null; - } - } - - /** - * Log an error. - * - * @param msg - * @param e - */ - private void error(String msg, Exception e) { - Platform.getLog( - Platform.getBundle(pluginID)).log( - new Status(IStatus.ERROR, pluginID, IStatus.OK, msg, e)); - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainerInitializer.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainerInitializer.java deleted file mode 100644 index 7ea8d700f7..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseClasspathContainerInitializer.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.plugin.core.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializer; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.jdt.core.ClasspathContainerInitializer; -import org.eclipse.jdt.core.IClasspathContainer; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; - -/** - * A base classpath container implementation. - * - * @version $Rev$ $Date$ - */ -public class BaseClasspathContainerInitializer extends ClasspathContainerInitializer implements RuntimeClasspathContainerInitializer { - - private RuntimeClasspathContainer container; - - public BaseClasspathContainerInitializer(RuntimeClasspathContainer container) { - this.container = container; - } - - @Override - public void initialize(IPath containerPath, IJavaProject project) throws CoreException { - JavaCore.setClasspathContainer(containerPath, - new IJavaProject[] {project}, - new IClasspathContainer[] {container}, - null); - } - - @Override - public boolean canUpdateClasspathContainer(IPath containerPath, IJavaProject project) { - return true; - } - - public IClasspathContainer getRuntimeClasspathContainer() { - return new IClasspathContainer() { - public IClasspathEntry[] getClasspathEntries() { - return container.getRuntimeClasspathEntries(); - } - - public String getDescription() { - return container.getDescription(); - } - - public int getKind() { - return container.getKind(); - } - - public IPath getPath() { - return container.getPath(); - } - }; - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseLibraryEntryPage.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseLibraryEntryPage.java deleted file mode 100644 index 70e794d2ce..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/BaseLibraryEntryPage.java +++ /dev/null @@ -1,74 +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.plugin.core.classpath; - -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.ui.wizards.IClasspathContainerPage; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; - -/** - * A base classpath container page implementation. - * - * @version $Rev$ $Date$ - */ -public class BaseLibraryEntryPage extends WizardPage implements IClasspathContainerPage { - - private String name; - private String id; - private IClasspathEntry classpathEntry; - - public BaseLibraryEntryPage(String id, String name) { - super(name); - this.name = name; - this.id = id; - } - - public void createControl(Composite parent) { - setTitle(name); - - Label label = new Label(parent, SWT.NONE); - label.setText("Press Finish to add the library."); - label.setFont(parent.getFont()); - - setControl(label); - } - - public boolean finish() { - classpathEntry = JavaCore.newContainerEntry(new Path(id)); - return true; - } - - public boolean isPageComplete() { - return true; - } - - public IClasspathEntry getSelection() { - return classpathEntry; - } - - public void setSelection(IClasspathEntry containerEntry) { - this.classpathEntry = containerEntry; - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainer.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainer.java deleted file mode 100644 index 53a8f8b32f..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainer.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.plugin.core.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainer; - - -/** - * A classpath container for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class CoreClasspathContainer extends BaseClasspathContainer implements RuntimeClasspathContainer { - - public CoreClasspathContainer() { - super("org.apache.tuscany.sca.plugin.core", - "org.apache.tuscany.sca.plugin.core.runtime.library", "Tuscany SCA Core Library", - "tuscany-sca", "tuscany-distribution-core", "1.4-EQUINOX-SNAPSHOT", - "TUSCANY_HOME", "TUSCANY_SRC"); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainerInitializer.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainerInitializer.java deleted file mode 100644 index 883c7c0781..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreClasspathContainerInitializer.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.plugin.core.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.core.classpath.CoreClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializer; - - -/** - * A classpath container initializer for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class CoreClasspathContainerInitializer extends BaseClasspathContainerInitializer implements RuntimeClasspathContainerInitializer { - - public CoreClasspathContainerInitializer() { - super(new CoreClasspathContainer()); - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreLibraryEntryPage.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreLibraryEntryPage.java deleted file mode 100644 index f90483a00d..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/CoreLibraryEntryPage.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.plugin.core.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseLibraryEntryPage; - - -/** - * A classpath container page for the core runtime library. - * - * @version $Rev$ $Date$ - */ -public class CoreLibraryEntryPage extends BaseLibraryEntryPage { - - public CoreLibraryEntryPage() { - super("org.apache.tuscany.sca.plugin.core.runtime.library", "Tuscany SCA Core Library"); - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainer.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainer.java deleted file mode 100644 index 4830268272..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainer.java +++ /dev/null @@ -1,40 +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.plugin.core.classpath; - -import org.eclipse.jdt.core.IClasspathContainer; -import org.eclipse.jdt.core.IClasspathEntry; - -/** - * A provider of a classpath container for use when launching the Tuscany - * runtime. - * - * @version $Rev: $ $Date: $ - */ -public interface RuntimeClasspathContainer extends IClasspathContainer { - - /** - * Returns the classpath entries to use at runtime. - * - * @return - */ - IClasspathEntry[] getRuntimeClasspathEntries(); - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializer.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializer.java deleted file mode 100644 index 18850d9333..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializer.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.plugin.core.classpath; - -import org.eclipse.jdt.core.IClasspathContainer; - -/** - * A provider of a classpath container for use when launching the Tuscany - * runtime. - * - * @version $Rev: $ $Date: $ - */ -public interface RuntimeClasspathContainerInitializer { - - /** - * Returns the classpath container to use. - * - * @return - */ - IClasspathContainer getRuntimeClasspathContainer(); - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializerExtensionPoint.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializerExtensionPoint.java deleted file mode 100644 index 909290859a..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/classpath/RuntimeClasspathContainerInitializerExtensionPoint.java +++ /dev/null @@ -1,74 +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.plugin.core.classpath;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-/**
- * Utility functions to help list extensions registered in the runtime classpath
- * extension point.
- *
- * @version $Rev: $ $Date: $
- */
-public class RuntimeClasspathContainerInitializerExtensionPoint {
-
- private static final String EXTENSION_POINT_ID = "org.apache.tuscany.sca.plugin.core.runtimeClasspathContainerInitializer";
-
- /**
- * Return the installed runtime classpath entries.
- *
- * @return
- * @throws CoreException
- */
- public static String installedRuntimeClasspath() throws CoreException {
-
- List<IClasspathEntry> classpathEntries = new ArrayList<IClasspathEntry>();
- for (IExtension extension: Platform.getExtensionRegistry().getExtensionPoint(EXTENSION_POINT_ID).getExtensions()) {
- for (IConfigurationElement configuration: extension.getConfigurationElements()) {
- RuntimeClasspathContainerInitializer initializer = (RuntimeClasspathContainerInitializer)configuration.createExecutableExtension("class");
- IClasspathContainer container = initializer.getRuntimeClasspathContainer();
- classpathEntries.addAll(Arrays.asList(container.getClasspathEntries()));
- }
- }
-
- String separator = System.getProperty("path.separator");
- StringBuffer classpath = new StringBuffer();
- for (int i = 0, n = classpathEntries.size(); i < n; i++) {
- IClasspathEntry entry = classpathEntries.get(i);
- if (i >0) {
- classpath.append(separator);
- }
- classpath.append(entry.getPath().toFile().toURI().getPath());
- }
-
- return classpath.toString();
- }
-
-}
diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/DomainManagerLauncherUtil.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/DomainManagerLauncherUtil.java deleted file mode 100644 index 060f6ff6cb..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/DomainManagerLauncherUtil.java +++ /dev/null @@ -1,255 +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.plugin.core.launch; - -import static org.apache.tuscany.sca.plugin.core.launch.TuscanyLaunchConfigurationDelegate.TUSCANY_LAUNCH_CONFIGURATIONTYPE; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.net.Socket; - -import org.apache.tuscany.sca.plugin.core.classpath.CoreClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializerExtensionPoint; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IProjectDescription; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants; -import org.eclipse.jdt.launching.JavaRuntime; - -/** - * Provides utility methods to launch the SCA Domain Manager. - * - * @version $Rev: $ $Date: $ - */ -public class DomainManagerLauncherUtil { - - private static final String TUSCANY_DOMAIN_LAUNCH_CONFIGURATION = "SCA Domain Manager"; - private static final String TUSCANY_SCA_DOMAIN_PROJECT = "tuscany-sca-domain"; - - private static final String PING_HEADER = - "GET /ping HTTP/1.0\n" + "Host: localhost\n" - + "Content-Type: text/xml\n" - + "Connection: close\n" - + "Content-Length: "; - private static final String PING_CONTENT = ""; - private static final String PING = - PING_HEADER + PING_CONTENT.getBytes().length + "\n\n" + PING_CONTENT; - - /** - * Returns the SCA domain project. - * - * @return - * @throws CoreException - */ - static IProject domainProject(IProgressMonitor progressMonitor) throws CoreException { - - IProject domainProject = ResourcesPlugin.getWorkspace().getRoot().getProject(TUSCANY_SCA_DOMAIN_PROJECT); - if (progressMonitor.isCanceled()) { - return domainProject; - } - if (!domainProject.exists()) { - progressMonitor.subTask("Creating SCA domain resources"); - - // Create SCA domain project if necessary - domainProject.create(new SubProgressMonitor(progressMonitor, 5)); - domainProject.open(new SubProgressMonitor(progressMonitor, 5)); - - String html = "<html>\n" + - "<head>\n" + - "<meta http-equiv=\"refresh\" content=\"0;url=http://localhost:9990/ui/home\">\n" + - "</head>\n" + - "<body>\n" + - "<a href=\"http://localhost:9990/ui/home\">SCA Domain</a>\n" + - "</body>\n" + - "</html>"; - - IFile file = domainProject.getFile(new Path("domain.html")); - file.create(new ByteArrayInputStream(html.getBytes()), true, new SubProgressMonitor(progressMonitor, 5)); - - IProjectDescription description = domainProject.getDescription(); - String[] prevNatures= description.getNatureIds(); - String[] newNatures= new String[prevNatures.length + 1]; - System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length); - newNatures[prevNatures.length]= JavaCore.NATURE_ID; - description.setNatureIds(newNatures); - domainProject.setDescription(description, new SubProgressMonitor(progressMonitor, 5)); - - IJavaProject javaProject = JavaCore.create(domainProject); - javaProject.setOutputLocation(domainProject.getFullPath(), new SubProgressMonitor(progressMonitor, 5)); - - IClasspathEntry classPath = JavaCore.newContainerEntry(new CoreClasspathContainer().getPath()); - IClasspathEntry jrePath = JavaRuntime.getDefaultJREContainerEntry(); - javaProject.setRawClasspath(new IClasspathEntry[] {jrePath, classPath}, new SubProgressMonitor(progressMonitor, 5)); - - } else { - domainProject.open(new SubProgressMonitor(progressMonitor, 5)); - } - - return domainProject; - } - - /** - * Returns true if the SCA domain controller is running. - * - * @return - */ - private static boolean isDomainManagerRunning() { - try { - Socket client = new Socket("localhost", 9990); - OutputStream os = client.getOutputStream(); - os.write(DomainManagerLauncherUtil.PING.getBytes()); - os.flush(); - String response = DomainManagerLauncherUtil.read(client); - if (response.indexOf("<span id=\"ping\">") != -1) { - return true; - } else { - return false; - } - } catch (IOException e) { - return false; - } - } - - /** - * Wait for domain to be running. - * - * @return - */ - private static boolean waitForDomainManager(IProgressMonitor progressMonitor) throws InterruptedException { - progressMonitor.subTask("Contacting SCA domain manager"); - for (int i = 0; i < 40; i++) { - if (progressMonitor.isCanceled()) { - return false; - } - if (isDomainManagerRunning()) { - return true; - } - Thread.sleep(500); - } - return false; - } - - static void launchDomainManager(IProgressMonitor progressMonitor) throws JavaModelException, CoreException, InterruptedException { - - progressMonitor.beginTask("Starting SCA Domain Manager", 100); - - // If the SCA domain controller is not running yet, launch it - if (!isDomainManagerRunning()) { - - progressMonitor.subTask("Starting SCA domain manager"); - if (progressMonitor.isCanceled()) { - return; - } - - // Get the SCA domain project - IProject domainProject = domainProject(progressMonitor); - - // Get the domain manager launch configuration - ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - ILaunchConfigurationType launchConfigurationType =launchManager.getLaunchConfigurationType(TUSCANY_LAUNCH_CONFIGURATIONTYPE); - ILaunchConfiguration configuration = null; - for (ILaunchConfiguration c : launchManager.getLaunchConfigurations(launchConfigurationType)) { - if (TUSCANY_DOMAIN_LAUNCH_CONFIGURATION.equals(c.getName())) { - configuration = c; - break; - } - } - - if (configuration == null) { - progressMonitor.worked(10); - if (progressMonitor.isCanceled()) { - return; - } - - // Create a new launch configuration - ILaunchConfigurationWorkingCopy newConfiguration = launchConfigurationType.newInstance(null, TUSCANY_DOMAIN_LAUNCH_CONFIGURATION); - - // Set the project and type to launch - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, domainProject.getProject().getName()); - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.apache.tuscany.sca.node.launcher.DomainManagerLauncher"); - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, domainProject.getLocation().toString()); - - // Pass the runtime classpath as a system property - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "\"-DTUSCANY_PATH=" + RuntimeClasspathContainerInitializerExtensionPoint.installedRuntimeClasspath() + "\""); - - // Save the configuration - newConfiguration.doSave(); - - configuration = newConfiguration; - } - - // Launch - configuration.launch(ILaunchManager.RUN_MODE, new SubProgressMonitor(progressMonitor, 20)); - - if (progressMonitor.isCanceled()) { - return; - } - if (!waitForDomainManager(progressMonitor)) { - throw new RuntimeException("SCA Domain Manager could not be started."); - } - } - if (progressMonitor.isCanceled()) { - return; - } - progressMonitor.done(); - - } - - /** - * Read a String from a socket. - * - * @param socket - * @return - * @throws IOException - */ - static String read(Socket socket) throws IOException { - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); - StringBuffer sb = new StringBuffer(); - String str; - while ((str = reader.readLine()) != null) { - sb.append(str); - } - return sb.toString(); - } finally { - if (reader != null) { - reader.close(); - } - } - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/NodeLauncherUtil.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/NodeLauncherUtil.java deleted file mode 100644 index edbe4b3e69..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/NodeLauncherUtil.java +++ /dev/null @@ -1,244 +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.plugin.core.launch; - -import static org.apache.tuscany.sca.plugin.core.launch.DomainManagerLauncherUtil.domainProject; -import static org.apache.tuscany.sca.plugin.core.launch.DomainManagerLauncherUtil.launchDomainManager; -import static org.apache.tuscany.sca.plugin.core.launch.TuscanyLaunchConfigurationDelegate.TUSCANY_LAUNCH_CONFIGURATIONTYPE; - -import java.io.IOException; -import java.io.OutputStream; -import java.net.MalformedURLException; -import java.net.Socket; - -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializerExtensionPoint; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants; - -/** - * Provides utility methods to launch SCA nodes. - * - * @version $Rev: $ $Date: $ - */ -public class NodeLauncherUtil { - - private static final String START_HEADER1 = - "GET /quickstart?"; - private static final String START_HEADER2 = - " HTTP/1.0\n" + "Host: localhost\n" - + "Content-Type: text/xml\n" - + "Connection: close\n" - + "Content-Length: "; - private static final String START_CONTENT = ""; - - /** - * Launch an SCA node. - * - * @param mode - * @param file - * @param launchManager - * @param launchConfigurationType - * @throws CoreException - * @throws JavaModelException - */ - static void launchNode(String mode, - IFile file, - IProgressMonitor progressMonitor) throws CoreException, JavaModelException, IOException, InterruptedException { - progressMonitor.subTask("Starting SCA node"); - if (progressMonitor.isCanceled()) { - return; - } - - // First start the SCA domain manager - launchDomainManager(new SubProgressMonitor(progressMonitor, 20)); - - // Get the Java project - IJavaProject javaProject = JavaCore.create(file.getProject()); - - // Get the contribution location and URI - String contributionLocation = contributionLocation(javaProject); - String contributionURI = contributionURI(javaProject); - - // Determine the composite file URI - String compositeURI = compositeURI(javaProject, file); - - // Configure the node - String nodeName = configureNode(contributionURI, contributionLocation, compositeURI, progressMonitor); - - // Get the node launch configuration - ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - ILaunchConfigurationType launchConfigurationType =launchManager.getLaunchConfigurationType(TUSCANY_LAUNCH_CONFIGURATIONTYPE); - ILaunchConfiguration configuration = null; - for (ILaunchConfiguration c : launchManager.getLaunchConfigurations(launchConfigurationType)) { - if (file.getFullPath().toString().equals(c.getAttribute("COMPOSITE_PATH", ""))) { - configuration = c; - break; - } - } - - if (configuration == null) { - progressMonitor.worked(10); - if (progressMonitor.isCanceled()) { - return; - } - - // Create a new launch configuration - ILaunchConfigurationWorkingCopy newConfiguration = launchConfigurationType.newInstance(null, - launchManager.generateUniqueLaunchConfigurationNameFrom(file.getName())); - - // Set the project and type to launch - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, file.getProject().getName()); - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.apache.tuscany.sca.node.launcher.NodeLauncher"); - - // Pass the URL of the node install image to the launcher - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, - "http://localhost:9990/node-config/" + nodeName); - - // Save the composite path in the launch configuration - newConfiguration.setAttribute("COMPOSITE_PATH", file.getFullPath().toString()); - - // Pass the runtime classpath as a system property - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "\"-DTUSCANY_PATH=" + RuntimeClasspathContainerInitializerExtensionPoint.installedRuntimeClasspath() + "\""); - - // Save the configuration - newConfiguration.doSave(); - - configuration = newConfiguration; - } - - // Launch - configuration.launch(mode, null); - } - - /** - * Returns the location of the SCA contribution representing a Java project. - * @param javaProject - * @return - * @throws MalformedURLException - * @throws JavaModelException - */ - private static String contributionLocation(IJavaProject javaProject) throws MalformedURLException, JavaModelException { - IPath location = javaProject.getOutputLocation(); - IResource resource; - if (location.segmentCount() == 1) { - resource = javaProject.getProject(); - } else { - resource = javaProject.getProject().getWorkspace().getRoot().getFolder(location); - } - location = resource.getLocation(); - String url = location.toFile().toURI().toURL().toString(); - if (url.endsWith("/")) { - url = url.substring(0, url.length() - 1); - } - return url; - } - - /** - * Returns the URI of the SCA contribution representing a Java project. - * @param javaProject - * @return - */ - private static String contributionURI(IJavaProject javaProject) { - return javaProject.getProject().getName(); - } - - /** - * Returns the SCA artifact URI of a composite file inside a Java project. - * - * @param javaProject - * @param file - * @return - * @throws JavaModelException - */ - private static String compositeURI(IJavaProject javaProject, IFile file) throws JavaModelException { - - // Find the Java source container containing the specified file - IClasspathEntry[] classpathEntries = javaProject.getRawClasspath(); - int sourceFolderSegments = 0; - for (IClasspathEntry entry : classpathEntries) { - if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) { - sourceFolderSegments = entry.getPath().matchingFirstSegments(file.getFullPath()); - if (sourceFolderSegments > 0) - break; - } - } - - // Determine the composite URI - String compositeURI = file.getFullPath().removeFirstSegments(sourceFolderSegments).toString(); - return compositeURI; - } - - /** - * Send a request to the SCA domain manager to configure an SCA node for - * the specified composite. - * - * @param contributionURI - * @param contributionLocation - * @param compositeURI - * @return - * @throws IOException - */ - private static String configureNode(String contributionURI, String contributionLocation, String compositeURI, - IProgressMonitor progressMonitor) throws IOException, CoreException { - progressMonitor.subTask("Configuring node"); - - // Send the request to configure the node - Socket client = new Socket("localhost", 9990); - OutputStream os = client.getOutputStream(); - String request = START_HEADER1 + - "contribution=" + contributionURI + "&location=" + contributionLocation + "&composite=" + compositeURI + - START_HEADER2 + START_CONTENT.getBytes().length + "\n\n" + START_CONTENT; - os.write(request.getBytes()); - os.flush(); - String response = DomainManagerLauncherUtil.read(client); - - // Refresh the domain project - domainProject(progressMonitor).refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); - - int i = response.indexOf("<span id=\"node\">"); - if (i != -1) { - - // Extract the node name - response = response.substring(i + 16); - i = response.indexOf("</span>"); - String nodeName = response.substring(0, i); - return nodeName; - - } else { - throw new RuntimeException("Node could not be configured: " + response); - } - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchConfigurationDelegate.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchConfigurationDelegate.java deleted file mode 100644 index 056deb5b27..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchConfigurationDelegate.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.plugin.core.launch; - -import java.io.File; -import java.util.Map; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.model.ILaunchConfigurationDelegate; -import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate; -import org.eclipse.jdt.launching.ExecutionArguments; -import org.eclipse.jdt.launching.IVMInstall; -import org.eclipse.jdt.launching.IVMRunner; -import org.eclipse.jdt.launching.VMRunnerConfiguration; - -/** - * Launch configuration delegate for the Tuscany launch configuration. - * - * @version $Rev$ $Date$ - */ -public class TuscanyLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate implements - ILaunchConfigurationDelegate { - - public static final String TUSCANY_LAUNCH_CONFIGURATIONTYPE = "org.apache.tuscany.sca.plugin.core.launch.configurationtype"; - - public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) - throws CoreException { - - // Verify the configuration - String mainTypeName = verifyMainTypeName(configuration); - IVMInstall vm = verifyVMInstall(configuration); - IVMRunner runner = vm.getVMRunner(mode); - - ExecutionArguments execArgs = - new ExecutionArguments(getVMArguments(configuration), getProgramArguments(configuration)); - Map vmAttributesMap = getVMSpecificAttributesMap(configuration); - String[] classpath = getClasspath(configuration); - - File workingDir = verifyWorkingDirectory(configuration); - String workingDirName = null; - if (workingDir != null) - workingDirName = workingDir.getAbsolutePath(); - - // Create a VM runner configuration - VMRunnerConfiguration runConfig = new VMRunnerConfiguration(mainTypeName, classpath); - runConfig.setProgramArguments(execArgs.getProgramArgumentsArray()); - runConfig.setVMArguments(execArgs.getVMArgumentsArray()); - runConfig.setVMSpecificAttributesMap(vmAttributesMap); - runConfig.setWorkingDirectory(workingDirName); - runConfig.setBootClassPath(getBootpath(configuration)); - - // Run!! - runner.run(runConfig, launch, monitor); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchConfigurationTabGroup.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchConfigurationTabGroup.java deleted file mode 100644 index 5f8ea73db4..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchConfigurationTabGroup.java +++ /dev/null @@ -1,48 +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.plugin.core.launch; - -import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup; -import org.eclipse.debug.ui.CommonTab; -import org.eclipse.debug.ui.EnvironmentTab; -import org.eclipse.debug.ui.ILaunchConfigurationDialog; -import org.eclipse.debug.ui.ILaunchConfigurationTab; -import org.eclipse.debug.ui.ILaunchConfigurationTabGroup; -import org.eclipse.debug.ui.sourcelookup.SourceLookupTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab; - -/** - * Tab groups from the Tuscany launch configuration. - * - * @version $Rev$ $Date$ - */ -public class TuscanyLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup implements - ILaunchConfigurationTabGroup { - - public void createTabs(ILaunchConfigurationDialog dialog, String mode) { - ILaunchConfigurationTab[] tabs = - new ILaunchConfigurationTab[] {new JavaArgumentsTab(), new JavaJRETab(), new JavaClasspathTab(), - new SourceLookupTab(), new EnvironmentTab(), new CommonTab()}; - - setTabs(tabs); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchDomainManagerAction.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchDomainManagerAction.java deleted file mode 100644 index f66fa71191..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchDomainManagerAction.java +++ /dev/null @@ -1,79 +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.plugin.core.launch; - -import static org.apache.tuscany.sca.plugin.core.launch.DomainManagerLauncherUtil.launchDomainManager; -import static org.apache.tuscany.sca.plugin.core.log.LogUtil.error; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.IWorkbenchWindowActionDelegate; - -/** - * Launch the SCA DomainManager. - * - * @version $Rev: $ $Date: $ - */ -public class TuscanyLaunchDomainManagerAction implements IWorkbenchWindowActionDelegate { - - private IWorkbenchWindow window; - - public TuscanyLaunchDomainManagerAction() { - } - - public void run(IAction action) { - - try { - - // Run with a progress monitor - window.run(true, true, new IRunnableWithProgress() { - - public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException { - try { - - launchDomainManager(progressMonitor); - - } catch (Exception e) { - throw new InvocationTargetException(e); - } finally { - progressMonitor.done(); - } - } - }); - - } catch (Exception e) { - error("Could not launch SCA Domain Manager", e); - } - } - - public void selectionChanged(IAction action, ISelection selection) { - } - - public void dispose() { - } - - public void init(IWorkbenchWindow window) { - this.window = window; - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchNodeFilter.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchNodeFilter.java deleted file mode 100644 index 6eba5ffdc2..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchNodeFilter.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.plugin.core.launch; - -/** - * TuscanyLaunchNodeFilter - * - * @version $Rev: $ $Date: $ - */ -public class TuscanyLaunchNodeFilter { - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchNodeShortcut.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchNodeShortcut.java deleted file mode 100644 index 2a4c7206db..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/launch/TuscanyLaunchNodeShortcut.java +++ /dev/null @@ -1,88 +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.plugin.core.launch; - -import static org.apache.tuscany.sca.plugin.core.launch.NodeLauncherUtil.launchNode; -import static org.apache.tuscany.sca.plugin.core.log.LogUtil.error; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.ui.ILaunchShortcut; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.PlatformUI; - -/** - * A launch shortcut for SCA .composite files. - * - * @version $Rev$ $Date$ - */ -public class TuscanyLaunchNodeShortcut implements ILaunchShortcut { - - public void launch(final ISelection selection, final String mode) { - - try { - - // Make sure we have a .composite file selected - if (!(selection instanceof IStructuredSelection)) { - return; - } - Object[] selections = ((IStructuredSelection)selection).toArray(); - if (selections.length == 0) { - return; - } - final IFile file = (IFile)selections[0]; - if (!file.getFileExtension().equals("composite")) { - return; - } - - // Run with a progress monitor - PlatformUI.getWorkbench().getActiveWorkbenchWindow().run(true, true, new IRunnableWithProgress() { - - public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException { - try { - progressMonitor.beginTask("Starting SCA Composite", 100); - - launchNode(mode, file, progressMonitor); - - progressMonitor.done(); - - } catch (Exception e) { - throw new InvocationTargetException(e); - } finally { - progressMonitor.done(); - } - } - }); - - } catch (Exception e) { - error("Could not launch SCA composite", e); - } - } - - public void launch(IEditorPart editor, String mode) { - //TODO later... - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/log/LogUtil.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/log/LogUtil.java deleted file mode 100644 index 5fc1a75960..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/log/LogUtil.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.plugin.core.log; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; - -/** - * A log utility - * - * @version $Rev: $ $Date: $ - */ -public class LogUtil { - - public static void error(String msg, Exception e) { - Platform.getLog( - Platform.getBundle("org.apache.tuscany.sca.plugin.core")).log( - new Status(IStatus.ERROR, "org.apache.tuscany.sca.plugin.core", IStatus.OK, msg, e)); - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewComponentTypeWizard.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewComponentTypeWizard.java deleted file mode 100644 index 702da9701e..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewComponentTypeWizard.java +++ /dev/null @@ -1,53 +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.plugin.core.newwizards; - -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWizard; - -/** - * A wizard to create new .componentType files. - * - * @version $Rev$ $Date$ - */ -public class NewComponentTypeWizard extends Wizard implements IWorkbenchWizard { - - private IWorkbench workbench; - private IStructuredSelection selection; - private NewComponentTypeWizardPage mainPage; - - public void init(IWorkbench workbench, IStructuredSelection selection) { - this.workbench = workbench; - this.selection = selection; - setWindowTitle("New SCA ComponentType"); - } - - public void addPages() { - mainPage = new NewComponentTypeWizardPage(workbench, selection); - addPage(mainPage); - } - - @Override - public boolean performFinish() { - return mainPage.finish(); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewComponentTypeWizardPage.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewComponentTypeWizardPage.java deleted file mode 100644 index a1c6cb86a7..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewComponentTypeWizardPage.java +++ /dev/null @@ -1,98 +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.plugin.core.newwizards; - -import static org.apache.tuscany.sca.plugin.core.log.LogUtil.error; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.PrintWriter; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.swt.graphics.ImageLoader; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.dialogs.WizardNewFileCreationPage; -import org.eclipse.ui.ide.IDE; - -/** - * Wizard page for the new .componentType file wizard. - * - * @version $Rev$ $Date$ - */ -public class NewComponentTypeWizardPage extends WizardNewFileCreationPage { - - private IWorkbench workbench; - - public NewComponentTypeWizardPage(IWorkbench workbench, IStructuredSelection selection) { - super("New SCA ComponentType Page", selection); - - this.workbench = workbench; - - setTitle("SCA ComponentType"); - setDescription("Create a new SCA ComponentType."); - - try { - String location = FileLocator.toFileURL(Platform.getBundle("org.apache.tuscany.sca.plugin.core").getEntry("/")).getFile().toString(); - setImageDescriptor(ImageDescriptor.createFromImageData((new ImageLoader()).load(location + "/icons/tuscany.gif")[0])); - } catch (Exception e) { - error("Could not create wizard", e); - } - - setFileName("sample.componentType"); - - } - - public boolean finish() { - try { - IFile file = createNewFile(); - - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); - IDE.openEditor(workbenchPage, file, true); - } catch (Exception e) { - error("Could not open editor", e); - return false; - } - return true; - } - - @Override - protected InputStream getInitialContents() { - - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - PrintWriter printWriter = new PrintWriter(outputStream); - printWriter.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); - printWriter.println("<componentType xmlns=\"http://www.osoa.org/xmlns/sca/1.0\""); - printWriter.println(" xmlns:t=\"http://tuscany.apache.org/xmlns/sca/1.0\">"); - printWriter.println(); - printWriter.println(); - printWriter.println("</componentType>"); - printWriter.close(); - - return new ByteArrayInputStream(outputStream.toByteArray()); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewCompositeWizard.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewCompositeWizard.java deleted file mode 100644 index 5e059308e6..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewCompositeWizard.java +++ /dev/null @@ -1,53 +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.plugin.core.newwizards; - -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWizard; - -/** - * A wizard to create new .composite files. - * - * @version $Rev$ $Date$ - */ -public class NewCompositeWizard extends Wizard implements IWorkbenchWizard { - - private IWorkbench workbench; - private IStructuredSelection selection; - private NewCompositeWizardPage mainPage; - - public void init(IWorkbench workbench, IStructuredSelection selection) { - this.workbench = workbench; - this.selection = selection; - setWindowTitle("New SCA Composite"); - } - - public void addPages() { - mainPage = new NewCompositeWizardPage(workbench, selection); - addPage(mainPage); - } - - @Override - public boolean performFinish() { - return mainPage.finish(); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewCompositeWizardPage.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewCompositeWizardPage.java deleted file mode 100644 index 5d9f2bdf70..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/plugin/core/newwizards/NewCompositeWizardPage.java +++ /dev/null @@ -1,105 +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.plugin.core.newwizards; - -import static org.apache.tuscany.sca.plugin.core.log.LogUtil.error; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.PrintWriter; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.swt.graphics.ImageLoader; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.dialogs.WizardNewFileCreationPage; -import org.eclipse.ui.ide.IDE; - -/** - * Wizard page for the new .composite file wizard. - * - * @version $Rev$ $Date$ - */ -public class NewCompositeWizardPage extends WizardNewFileCreationPage { - - private IWorkbench workbench; - - public NewCompositeWizardPage(IWorkbench workbench, IStructuredSelection selection) { - super("New SCA Composite Page", selection); - - this.workbench = workbench; - - setTitle("SCA Composite"); - setDescription("Create a new SCA Composite."); - - try { - String location = FileLocator.toFileURL(Platform.getBundle("org.apache.tuscany.sca.plugin.core").getEntry("/")).getFile().toString(); - setImageDescriptor(ImageDescriptor.createFromImageData((new ImageLoader()).load(location + "/icons/tuscany.gif")[0])); - } catch (Exception e) { - error("Could not create wizard", e); - } - - setFileName("sample.composite"); - - } - - public boolean finish() { - try { - IFile file = createNewFile(); - - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); - IDE.openEditor(workbenchPage, file, true); - } catch (Exception e) { - error("Could not open editor", e); - return false; - } - return true; - } - - @Override - protected InputStream getInitialContents() { - - IPath path = new Path(getFileName()); - String name = path.removeFileExtension().toString(); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - PrintWriter printWriter = new PrintWriter(outputStream); - printWriter.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); - printWriter.println("<composite xmlns=\"http://www.osoa.org/xmlns/sca/1.0\""); - printWriter.println(" xmlns:t=\"http://tuscany.apache.org/xmlns/sca/1.0\""); - printWriter.println(" xmlns:c=\"http://" + name + "\""); - printWriter.println(" targetNamespace=\"http://" + name + "\""); - printWriter.println(" name=\"" + name + "\">"); - printWriter.println(); - printWriter.println(); - printWriter.println("</composite>"); - printWriter.close(); - - return new ByteArrayInputStream(outputStream.toByteArray()); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/plugin.xml b/branches/sca-equinox/tools/eclipse/plugins/core/plugin.xml deleted file mode 100644 index edc17c5ee2..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/plugin.xml +++ /dev/null @@ -1,149 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.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. ---> -<plugin> - - <extension-point id="runtimeClasspathContainerInitializer" - name="Tuscany Runtime Classpath Container Initializers" - schema="exsd/runtimeClasspathContainerInitializer.exsd"/> - - <extension point = "org.eclipse.wst.xml.core.catalogContributions"> - <catalogContribution id="default"> - <uri name="http://www.osoa.org/xmlns/sca/1.0" uri="xsd/sca-all.xsd"/> - </catalogContribution> - </extension> - - <extension point = "org.eclipse.wst.xml.core.catalogContributions"> - <catalogContribution id="default"> - <uri name="http://tuscany.apache.org/xmlns/sca/1.0" uri="xsd/tuscany-sca.xsd"/> - </catalogContribution> - </extension> - - <extension point="org.eclipse.core.runtime.contentTypes"> - <file-association content-type="org.eclipse.core.runtime.xml" file-extensions="composite"/> - <file-association content-type="org.eclipse.core.runtime.xml" file-extensions="componentType"/> - </extension> - - <extension - point="org.apache.tuscany.sca.plugin.core.runtimeClasspathContainerInitializer"> - <runtimeClasspathContainerInitializer - id="org.apache.tuscany.sca.plugin.core.runtime.library" - class="org.apache.tuscany.sca.plugin.core.classpath.CoreClasspathContainerInitializer"/> - </extension> - - <extension point="org.eclipse.jdt.core.classpathContainerInitializer"> - <classpathContainerInitializer - id="org.apache.tuscany.sca.plugin.core.runtime.library" - class="org.apache.tuscany.sca.plugin.core.classpath.CoreClasspathContainerInitializer"/> - </extension> - - <extension point="org.eclipse.jdt.ui.classpathContainerPage"> - <classpathContainerPage - id="org.apache.tuscany.sca.plugin.core.runtime.library" - name="Tuscany SCA Core Library" - class="org.apache.tuscany.sca.plugin.core.classpath.CoreLibraryEntryPage"> - </classpathContainerPage> - </extension> - - <extension - point="org.eclipse.ui.actionSets"> - <actionSet - label="Tuscany" - visible="true" - id="org.apache.tuscany.sca.plugin.core.launch.actionSet"> - <action - label="&Start SCA Domain Manager" - icon="icons/t.gif" - class="org.apache.tuscany.sca.plugin.core.launch.TuscanyLaunchDomainManagerAction" - tooltip="Start SCA Domain Manager" - toolbarPath="tuscanyGroup" - id="org.apache.tuscany.sca.plugin.core.launch.TuscanyLaunchDomainManagerAction"> - </action> - </actionSet> - </extension> - - <extension point="org.eclipse.debug.core.launchConfigurationTypes"> - <launchConfigurationType - name="Tuscany" - delegate="org.apache.tuscany.sca.plugin.core.launch.TuscanyLaunchConfigurationDelegate" - modes="run, debug" - sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" - sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer" - id="org.apache.tuscany.sca.plugin.core.launch.configurationtype"> - </launchConfigurationType> - </extension> - - <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages"> - <launchConfigurationTypeImage - icon="icons/t.gif" - configTypeID="org.apache.tuscany.sca.plugin.core.launch.configurationtype" - id="org.apache.tuscany.sca.plugin.core.launch.configurationtypeimage"> - </launchConfigurationTypeImage> - </extension> - - <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups"> - <launchConfigurationTabGroup - type="org.apache.tuscany.sca.plugin.core.launch.configurationtype" - class="org.apache.tuscany.sca.plugin.core.launch.TuscanyLaunchConfigurationTabGroup" - id="org.apache.tuscany.sca.plugin.core.launch.configurationtypetabgroup"> - </launchConfigurationTabGroup> - </extension> - - <extension point="org.eclipse.debug.ui.launchShortcuts"> - <shortcut - id="org.apache.tuscany.sca.plugin.core.launchshortcut" - class="org.apache.tuscany.sca.plugin.core.launch.TuscanyLaunchNodeShortcut" - label="Tuscany" - icon="icons/t.gif" - modes="run, debug"> - <contextualLaunch> - <enablement> - <with variable="selection"> - <count value="1"/> - <iterate> - <or> - <test property="org.eclipse.debug.ui.matchesPattern" value="*.composite"/> - </or> - </iterate> - </with> - </enablement> - </contextualLaunch> - </shortcut> - </extension> - - <extension point="org.eclipse.ui.newWizards"> - <category name="Tuscany" id="org.apache.tuscany.sca.plugin.core.newwizards" /> - <wizard name="Composite" icon="icons/t.gif" - category="org.apache.tuscany.sca.plugin.core.newwizards" - class="org.apache.tuscany.sca.plugin.core.newwizards.NewCompositeWizard" - preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective" - id="org.apache.tuscany.sca.plugin.core.newwizards.newcompositewizard"> - <description>Create a new SCA Composite</description> - </wizard> - <wizard name="ComponentType" icon="icons/t.gif" - category="org.apache.tuscany.sca.plugin.core.newwizards" - class="org.apache.tuscany.sca.plugin.core.newwizards.NewComponentTypeWizard" - preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective" - id="org.apache.tuscany.sca.plugin.core.newwizards.newcompositewizard"> - <description>Create a new SCA ComponentType</description> - </wizard> - </extension> - -</plugin> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/pom.xml b/branches/sca-equinox/tools/eclipse/plugins/core/pom.xml deleted file mode 100644 index 939ddc5d15..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/pom.xml +++ /dev/null @@ -1,145 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.plugin.core</artifactId> - <name>Apache Tuscany SCA Core Eclipse Plugin</name> - - <dependencies> - <dependency> - <groupId>org.eclipse.jdt.debug</groupId> - <artifactId>ui</artifactId> - <version>3.2.100-v20070531-1800</version> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - <version>1.0.0-v20070606</version> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - <version>3.3.0-v20070426</version> - </dependency> - - <dependency> - <groupId>org.eclipse.swt.win32.win32</groupId> - <artifactId>x86</artifactId> - <version>3.3.0-v3346</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-core</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <type>zip</type> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-core</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <classifier>src</classifier> - <type>zip</type> - </dependency> - </dependencies> - - <build> - <sourceDirectory>${basedir}</sourceDirectory> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/*.java</exclude> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <classifier>tmp</classifier> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>distribution-package</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptors> - <descriptor>src/main/assembly/jar.xml</descriptor> - </descriptors> - <tarLongFileMode>gnu</tarLongFileMode> - <appendAssemblyId>false</appendAssemblyId> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <repositories> - <repository> - <id>repo1.eclipse</id> - <url>http://repo1.maven.org/eclipse/</url> - <snapshots> - <enabled>true</enabled> - </snapshots> - </repository> - </repositories> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/src/main/assembly/jar.xml b/branches/sca-equinox/tools/eclipse/plugins/core/src/main/assembly/jar.xml deleted file mode 100644 index 7832ba5131..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/src/main/assembly/jar.xml +++ /dev/null @@ -1,81 +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. ---> -<assembly> - <!-- id typically identifies the "type" (src vs bin etc) of the assembly --> - <id>plugin</id> - <includeBaseDirectory>false</includeBaseDirectory> - <formats> - <!-- - <format>dir</format> - <format>tar.gz</format> - --> - <format>jar</format> - </formats> - - <fileSets> - - <!-- Add the classes --> - <fileSet> - <directory>target/classes</directory> - <outputDirectory></outputDirectory> - <excludes> - <!-- General file/folders to exclude --> - <exclude>**/.*</exclude> - <exclude>**/.*/**</exclude> - <exclude>**/*.log</exclude> - - <!-- Sample specific files/folders to exclude --> - <exclude>pom.xml</exclude> - <exclude>src/</exclude> - <exclude>src/**/*</exclude> - </excludes> - </fileSet> - </fileSets> - - <dependencySets> - - <!-- Add the distributions --> - <dependencySet> - <useTransitiveDependencies>false</useTransitiveDependencies> - <unpack>true</unpack> - <includes> - <include>*:zip</include> - </includes> - <excludes> - <exclude>*:zip:src</exclude> - </excludes> - <unpackOptions> - <excludes> - <exclude>*/samples</exclude> - <exclude>*/samples/**/*</exclude> - </excludes> - </unpackOptions> - </dependencySet> - - <dependencySet> - <useTransitiveDependencies>false</useTransitiveDependencies> - <unpack>false</unpack> - <includes> - <include>*:zip:src</include> - </includes> - </dependencySet> - </dependencySets> - -</assembly> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-all.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-all.xsd deleted file mode 100644 index 1b19ede427..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-all.xsd +++ /dev/null @@ -1,34 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"> - - <include schemaLocation="sca.xsd"/> - - <include schemaLocation="sca-contribution.xsd"/> - - <include schemaLocation="sca-binding-ejb.xsd"/> - - <include schemaLocation="sca-implementation-bpel.xsd"/> - <include schemaLocation="sca-implementation-spring.xsd"/> - <include schemaLocation="sca-implementation-ejb.xsd"/> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-ejb.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-ejb.xsd deleted file mode 100644 index 26bedfcce5..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-ejb.xsd +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - <include schemaLocation="sca-core.xsd"/> - - <element name="binding.ejb" type="sca:EJBSessionBeanBinding" - substitutionGroup="sca:binding" /> - - <simpleType name="BeanType"> - <restriction base="string"> - <enumeration value="stateless"/> - <enumeration value="stateful"/> - </restriction> - </simpleType> - - <simpleType name="VersionValue"> - <restriction base="string"> - <enumeration value="EJB2"/> - <enumeration value="EJB3"/> - </restriction> - </simpleType> - - - <complexType name="EJBSessionBeanBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="homeInterface" type="NCName" use="optional"/> - <attribute name="ejb-link-name" type="NCName" use="optional"/> - <attribute name="session-type" type="sca:BeanType" use="optional" default="stateless"/> - <attribute name="ejb-version" type="sca:VersionValue" use="optional" default="EJB2"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-jms.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-jms.xsd deleted file mode 100644 index 850f32b56a..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-jms.xsd +++ /dev/null @@ -1,135 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <complexType name="JMSBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <element name="destination" type="sca:Destination" minOccurs="0"/> - <element name="connectionFactory" type="sca:ConnectionFactory" - minOccurs="0"/> - <element name="activationSpec" type="sca:ActivationSpec" - minOccurs="0"/> - <element name="response" type="sca:Response" minOccurs="0"/> - <element name="headers" type="sca:Headers" minOccurs="0"/> - <element name="resourceAdapter" type="sca:ResourceAdapter" - minOccurs="0"/> - <element name="operationProperties" type="sca:OperationProperties" - minOccurs="0" maxOccurs="unbounded"/> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="correlationScheme" - default="RequestMsgIDToCorrelID"> - <simpleType> - <restriction base="string"> - <enumeration value="RequestMsgIDToCorrelID"/> - <enumeration value="RequestCorrelIDToCorrelID"/> - <enumeration value="None"/> - </restriction> - </simpleType> - </attribute> - - <attribute name="initialContextFactory" type="anyURI"/> - <attribute name="jndiURL" type="anyURI"/> - <attribute name="requestConnection" type="QName"/> - <attribute name="responseConnection" type="QName"/> - <attribute name="operationProperties" type="QName"/> - <anyAttribute/> - </extension> - </complexContent> - </complexType> - - <simpleType name="CreateResource"> - <restriction base="string"> - <enumeration value="always"/> - <enumeration value="never"/> - <enumeration value="ifnotexist"/> - </restriction> - </simpleType> - - <complexType name="Destination"> - <sequence> - <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="anyURI" use="required"/> - <attribute name="type" use="optional" default="queue"> - <simpleType> - <restriction base="string"> - <enumeration value="queue"/> - <enumeration value="topic"/> - </restriction> - </simpleType> - </attribute> - <attribute name="create" type="sca:CreateResource" - use="optional" default="ifnotexist"/> - </complexType> - - <complexType name="ConnectionFactory"> - <sequence> <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="anyURI" use="required"/> - <attribute name="create" type="sca:CreateResource" - use="optional" default="ifnotexist"/> - </complexType> - - <complexType name="ActivationSpec"> - <sequence> - <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="anyURI" use="required"/> - <attribute name="create" type="sca:CreateResource" - use="optional" default="ifnotexist"/> - </complexType> - - <complexType name="Response"> - <sequence> - <element name="destination" type="sca:Destination" minOccurs="0"/> - <element name="connectionFactory" type="sca:ConnectionFactory" - minOccurs="0"/> - <element name="activationSpec" type="sca:ActivationSpec" minOccurs="0"/> - </sequence> - </complexType> - - <complexType name="Headers"> - <sequence> - <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="JMSType" type="string"/> - <attribute name="JMSCorrelationID" type="string"/> - <attribute name="JMSDeliveryMode" type="string"/> - <attribute name="JMSTimeToLive" type="int"/> - <attribute name="JMSPriority" type="string"/> - </complexType> - - <complexType name="ResourceAdapter"> - <sequence> - <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="string" use="required"/> - </complexType> - - <complexType name="OperationProperties"> - <sequence> - <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - <element name="headers" type="sca:Headers"/> - </sequence> - <attribute name="name" type="string" use="required"/> - <attribute name="nativeOperation" type="string"/> - </complexType> - - <element name="binding.jms" type="sca:JMSBinding" - substitutionGroup="sca:binding"/> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-sca.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-sca.xsd deleted file mode 100644 index 02703402ef..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-sca.xsd +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="binding.sca" type="sca:SCABinding"
- substitutionGroup="sca:binding"/>
- <complexType name="SCABinding">
- <complexContent>
- <extension base="sca:Binding">
- <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-webservice.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-webservice.xsd deleted file mode 100644 index 3e92de193b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-webservice.xsd +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance" - xmlns:wsa="http://www.w3.org/2004/12/addressing" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="binding.ws" type="sca:WebServiceBinding" - substitutionGroup="sca:binding"/> - <complexType name="WebServiceBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="wsdlElement" type="anyURI" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-contribution.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-contribution.xsd deleted file mode 100644 index c7f92f6c3b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-contribution.xsd +++ /dev/null @@ -1,38 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="contribution" type="sca:Contribution"/> - - <complexType name="Contribution"> - <sequence> - <choice minOccurs="0" maxOccurs="unbounded"> - <any namespace="##any" processContents="lax"/> - </choice> - </sequence> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-core.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-core.xsd deleted file mode 100644 index 1c6291792b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-core.xsd +++ /dev/null @@ -1,350 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <element name="componentType" type="sca:ComponentType"/> - <complexType name="ComponentType"> - <sequence> - <choice minOccurs="0" maxOccurs="1"> - <element ref="sca:implementation"/> - <any namespace="##other" processContents="lax"/> - </choice> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="service" type="sca:ComponentService" /> - <element name="reference" type="sca:ComponentReference"/> - <element name="property" type="sca:Property"/> - </choice> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - --> - </sequence> - <attribute name="constrainingType" type="QName" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="composite" type="sca:Composite"/> - <complexType name="Composite"> - <sequence> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="include" type="sca:Include"/> - <element name="service" type="sca:Service"/> - <element name="property" type="sca:Property"/> - <element name="component" type="sca:Component"/> - <element name="reference" type="sca:Reference"/> - <element name="wire" type="sca:Wire"/> - <any namespace="##other" processContents="lax"/> - </choice> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - --> - </sequence> - <attribute name="name" type="NCName" use="required"/> - <attribute name="targetNamespace" type="anyURI" use="optional"/> - <attribute name="local" type="boolean" use="optional" default="false"/> - <attribute name="autowire" type="boolean" use="optional" default="false"/> - <attribute name="constrainingType" type="QName" use="optional"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="Service"> - <sequence> - <element ref="sca:interface" minOccurs="0" maxOccurs="1" /> - <element name="operation" type="sca:Operation" minOccurs="0" - maxOccurs="unbounded" /> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:binding" /> - <any namespace="##other" processContents="lax"/> - </choice> - <element ref="sca:callback" minOccurs="0" maxOccurs="1" /> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded" /> - --> - </sequence> - <attribute name="name" type="NCName" use="required" /> - <attribute name="promote" type="anyURI" use="required" /> - <attribute name="requires" type="sca:listOfQNames" use="optional" /> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax" /> - </complexType> - - <element name="interface" type="sca:Interface" abstract="true" /> - <complexType name="Interface" abstract="true"/> - - <complexType name="Reference"> - <sequence> - <element ref="sca:interface" minOccurs="0" maxOccurs="1" /> - <element name="operation" type="sca:Operation" minOccurs="0" - maxOccurs="unbounded" /> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:binding" /> - <any namespace="##other" processContents="lax" /> - </choice> - <element ref="sca:callback" minOccurs="0" maxOccurs="1" /> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded" /> - --> - </sequence> - <attribute name="name" type="NCName" use="required" /> - <attribute name="target" type="sca:listOfAnyURIs" use="optional"/> - <attribute name="wiredByImpl" type="boolean" use="optional" default="false"/> - <attribute name="multiplicity" type="sca:Multiplicity" - use="optional" default="1..1" /> - <attribute name="promote" type="sca:listOfAnyURIs" use="required" /> - <attribute name="requires" type="sca:listOfQNames" use="optional" /> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax" /> - </complexType> - - <complexType name="SCAPropertyBase" mixed="true"> - <!-- mixed="true" to handle simple type --> - <sequence> - <any namespace="##any" processContents="lax" minOccurs="0" - maxOccurs="1" /> - <!-- NOT an extension point; This xsd:any exists to accept - the element-based or complex type property - i.e. no element-based extension point under "sca:property" --> - </sequence> - </complexType> - - <!-- complex type for sca:property declaration --> - <complexType name="Property" mixed="true"> - <complexContent> - <extension base="sca:SCAPropertyBase"> - <!-- extension defines the place to hold default value --> - <attribute name="name" type="NCName" use="required"/> - <attribute name="type" type="QName" use="optional"/> - <attribute name="element" type="QName" use="optional"/> - <attribute name="many" type="boolean" default="false" - use="optional"/> - <attribute name="noDefault" type="boolean" default="false" - use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - <!-- an extension point ; attribute-based only --> - </extension> - </complexContent> - </complexType> - - <complexType name="PropertyValue" mixed="true"> - <complexContent> - <extension base="sca:SCAPropertyBase"> - <attribute name="name" type="NCName" use="required"/> - <attribute name="type" type="QName" use="optional"/> - <attribute name="element" type="QName" use="optional"/> - <attribute name="many" type="boolean" default="false" - use="optional"/> - <attribute name="source" type="string" use="optional"/> - <attribute name="file" type="anyURI" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - <!-- an extension point ; attribute-based only --> - </extension> - </complexContent> - </complexType> - - <element name="binding" type="sca:Binding" abstract="true"/> - <complexType name="Binding" abstract="true"> - <sequence> - <element name="operation" type="sca:Operation" minOccurs="0" - maxOccurs="unbounded" /> - </sequence> - <attribute name="uri" type="anyURI" use="optional"/> - <attribute name="name" type="QName" use="optional"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - </complexType> - - <element name="bindingType" type="sca:BindingType"/> - <complexType name="BindingType"> - <sequence minOccurs="0" maxOccurs="unbounded"> - <any namespace="##other" processContents="lax" /> - </sequence> - <attribute name="type" type="QName" use="required"/> - <attribute name="alwaysProvides" type="sca:listOfQNames" use="optional"/> - <attribute name="mayProvide" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="callback" type="sca:Callback"/> - <complexType name="Callback"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:binding"/> - <any namespace="##other" processContents="lax"/> - </choice> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="Component"> - <sequence> - <choice minOccurs="0" maxOccurs="1"> - <element ref="sca:implementation"/> - <any namespace="##other" processContents="lax"/> - </choice> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="service" type="sca:ComponentService"/> - <element name="reference" type="sca:ComponentReference"/> - <element name="property" type="sca:PropertyValue" /> - </choice> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - --> - </sequence> - <attribute name="name" type="NCName" use="required"/> - <attribute name="autowire" type="boolean" use="optional" default="false"/> - <attribute name="constrainingType" type="QName" use="optional"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="ComponentService"> - <sequence> - <element ref="sca:interface" minOccurs="0" maxOccurs="1"/> - <element name="operation" type="sca:Operation" minOccurs="0" - maxOccurs="unbounded" /> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:binding" /> - <any namespace="##other" processContents="lax"/> - </choice> - <element ref="sca:callback" minOccurs="0" maxOccurs="1"/> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - --> - </sequence> - <attribute name="name" type="NCName" use="required"/> - <attribute name="requires" type="sca:listOfQNames" - use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" - use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="ComponentReference"> - <sequence> - <element ref="sca:interface" minOccurs="0" maxOccurs="1" /> - <element name="operation" type="sca:Operation" minOccurs="0" - maxOccurs="unbounded" /> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:binding" /> - <any namespace="##other" processContents="lax" /> - </choice> - <element ref="sca:callback" minOccurs="0" maxOccurs="1" /> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded" /> - --> - </sequence> - <attribute name="name" type="NCName" use="required" /> - <attribute name="target" type="sca:listOfAnyURIs" use="optional"/> - <attribute name="multiplicity" type="sca:Multiplicity" - use="optional" default="1..1" /> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" - use="optional"/> - <anyAttribute namespace="##any" processContents="lax" /> - </complexType> - - <element name="implementation" type="sca:Implementation" - abstract="true" /> - <complexType name="Implementation" abstract="true"> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - </complexType> - - <element name="implementationType" type="sca:ImplementationType"/> - <complexType name="ImplementationType"> - <sequence minOccurs="0" maxOccurs="unbounded"> - <any namespace="##other" processContents="lax" /> - </sequence> - <attribute name="type" type="QName" use="required"/> - <attribute name="alwaysProvides" type="sca:listOfQNames" use="optional"/> - <attribute name="mayProvide" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="Wire"> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="source" type="anyURI" use="required"/> - <attribute name="target" type="anyURI" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="include" type="sca:Include"/> - <complexType name="Include"> - <attribute name="name" type="QName"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="Operation"> - <attribute name="name" type="NCName" use="required"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="constrainingType" type="sca:ConstrainingType"/> - <complexType name="ConstrainingType"> - <sequence> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="service" type="sca:ComponentService"/> - <element name="reference" type="sca:ComponentReference"/> - <element name="property" type="sca:Property" /> - </choice> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="NCName" use="required"/> - <attribute name="targetNamespace" type="anyURI"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - - <simpleType name="Multiplicity"> - <restriction base="string"> - <enumeration value="0..1"/> - <enumeration value="1..1"/> - <enumeration value="0..n"/> - <enumeration value="1..n"/> - </restriction> - </simpleType> - - <simpleType name="OverrideOptions"> - <restriction base="string"> - <enumeration value="no"/> - <enumeration value="may"/> - <enumeration value="must"/> - </restriction> - </simpleType> - - <!-- Global attribute definition for @requires to permit use of intents - within WSDL documents --> - <attribute name="requires" type="sca:listOfQNames"/> - - <!-- Global attribute defintion for @endsConversation to mark operations - as ending a conversation --> - <attribute name="endsConversation" type="boolean" default="false"/> - - <simpleType name="listOfQNames"> - <list itemType="QName"/> - </simpleType> - - <simpleType name="listOfAnyURIs"> - <list itemType="anyURI"/> - </simpleType> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-definitions.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-definitions.xsd deleted file mode 100644 index 0249882a92..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-definitions.xsd +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - <include schemaLocation="sca-policy.xsd"/> - - <element name="definitions"> - <complexType> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:intent"/> - <element ref="sca:policySet"/> - <element ref="sca:binding"/> - <element ref="sca:bindingType"/> - <element ref="sca:implementationType"/> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </choice> - <attribute name="targetNamespace" type="anyURI" use="optional"/> - </complexType> - </element> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-bpel.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-bpel.xsd deleted file mode 100644 index 87b443fb36..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-bpel.xsd +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<xsd:schema xmlns="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - elementFormDefault="qualified"> - - <xsd:include schemaLocation="sca-core.xsd" /> - - <xsd:element name="implementation.bpel" type="BpelImplementation" - substitutionGroup="implementation" /> - - <xsd:complexType name="BpelImplementation"> - <xsd:complexContent> - <xsd:extension base="Implementation"> - <xsd:sequence> - <xsd:any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="process" type="xsd:QName" use="required" /> - <xsd:anyAttribute namespace="##any" processContents="lax" /> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:element name="interface.partnerLinkType" type="BpelPartnerLinkType" - substitutionGroup="interface" /> - - <xsd:complexType name="BpelPartnerLinkType"> - <xsd:complexContent> - <xsd:extension base="Interface"> - <xsd:sequence> - <xsd:any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="type" type="xsd:QName" use="required" /> - <xsd:attribute name="serviceRole" type="xsd:NCName" use="optional" /> - <xsd:anyAttribute namespace="##any" processContents="lax" /> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - -</xsd:schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-composite.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-composite.xsd deleted file mode 100644 index 99669bc672..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-composite.xsd +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - <element name="implementation.composite" type="sca:SCAImplementation" - substitutionGroup="sca:implementation"/> - <complexType name="SCAImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="QName" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-cpp.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-cpp.xsd deleted file mode 100644 index 6f1cf14a4b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-cpp.xsd +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sdo="commonj.sdo/XML" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="implementation.cpp" type="sca:CPPImplementation" substitutionGroup="sca:implementation" /> - <complexType name="CPPImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <element name="method" type="sca:CPPImplementationMethod" minOccurs="0" maxOccurs="unbounded" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="library" type="NCName" use="required"/> - <attribute name="header" type="NCName" use="required"/> - <attribute name="path" type="NCName" use="optional"/> - <attribute name="class" type="Name" use="optional"/> - <attribute name="scope" type="sca:CPPImplementationScope" use="optional"/> - <attribute name="eagerInit" type="boolean" use="optional"/> - <attribute name="allowsPassByReference" type="boolean" use="optional"/> - <attribute name="conversationMaxAge" type="string" use="optional"/> - <attribute name="conversationMaxIdle" type="string" use="optional"/> - <attribute name="conversationSinglePrincipal" type="boolean" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> - - <simpleType name="CPPImplementationScope"> - <restriction base="string"> - <enumeration value="stateless"/> - <enumeration value="composite"/> - <enumeration value="request"/> - <enumeration value="converstion"/> - </restriction> - </simpleType> - - <complexType name="CPPImplementationMethod"> - <complexContent> - <attribute name="name" type="NCName" use="required"/> - <attribute name="allowsPassByReference" type="boolean" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexContent> - </complexType> - -</schema> - - diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-ejb.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-ejb.xsd deleted file mode 100644 index 1bca6199cb..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-ejb.xsd +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="implementation.ejb" type="sca:EJBImplementation" - substitutionGroup="sca:implementation"/> - <complexType name="EJBImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <!-- we might want to make this refer to the JEE ejb-link type --> - <attribute name="ejb-link" type="token" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-java.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-java.xsd deleted file mode 100644 index f9d8171b8e..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-java.xsd +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="implementation.java" type="sca:JavaImplementation" - substitutionGroup="sca:implementation"/> - <complexType name="JavaImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="class" type="NCName" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-spring.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-spring.xsd deleted file mode 100644 index 1cf9fb3ea9..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-spring.xsd +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="implementation.spring" type="sca:SpringImplementation" - substitutionGroup="sca:implementation"/> - <complexType name="SpringImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="location" type="anyURI" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-cpp.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-cpp.xsd deleted file mode 100644 index 44f14e5ed5..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-cpp.xsd +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.commonj.org/xmlns/sca/1.0/" - xmlns:sca="http://www.commonj.org/xmlns/sca/1.0/" - xmlns:sdo="commonj.sdo/XML" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="interface.cpp" type="sca:CPPInterface" substitutionGroup="sca:interface"/> - - <complexType name="CPPInterface"> - <complexContent> - <extension base="sca:Interface"> - <sequence> - <element name="method" type="sca:CPPMethod" minOccurs="0" maxOccurs="unbounded" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="header" type="NCName" use="required"/> - <attribute name="class" type="Name" use="required"/> - <attribute name="callbackHeader" type="NCName" use="optional"/> - <attribute name="callbackClass" type="Name" use="optional"/> - <attribute name="remotable" type="boolean" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> - - <complexType name="CPPMethod"> - <complexContent> - <attribute name="name" type="NCName" use="required"/> - <attribute name="oneWay" type="boolean" use="optional"/> - <attribute name="endConversation" type="boolean" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexContent> - </complexType> - -</schema> - diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-java.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-java.xsd deleted file mode 100644 index 81f939bdb4..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-java.xsd +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="interface.java" type="sca:JavaInterface" substitutionGroup="sca:interface"/> - <complexType name="JavaInterface"> - <complexContent> - <extension base="sca:Interface"> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="interface" type="NCName" use="required"/> - <attribute name="callbackInterface" type="NCName" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-wsdl.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-wsdl.xsd deleted file mode 100644 index c1fdfd8f3c..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-wsdl.xsd +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="interface.wsdl" type="sca:WSDLPortType" substitutionGroup="sca:interface"/> - <complexType name="WSDLPortType"> - <complexContent> - <extension base="sca:Interface"> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="interface" type="anyURI" use="required"/> - <attribute name="callbackInterface" type="anyURI" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-policy.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-policy.xsd deleted file mode 100644 index c22ffd6618..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-policy.xsd +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="intent" type="sca:Intent"/> - <complexType name="Intent"> - <sequence> - <element name="description" type="string" minOccurs="0" maxOccurs="1" /> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="QName" use="required"/> - <attribute name="constrains" type="sca:listOfQNames" use="optional"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="policySet" type="sca:PolicySet"/> - <complexType name="PolicySet"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="policySetReference" type="sca:PolicySetReference"/> - <element name="intentMap" type="sca:IntentMap"/> - <any namespace="##other" processContents="lax"/> - </choice> - <attribute name="name" type="QName" use="required"/> - <attribute name="provides" type="sca:listOfQNames" use="optional"/> - <attribute name="appliesTo" type="string" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="PolicySetReference"> - <attribute name="name" type="QName" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="IntentMap"> - <choice minOccurs="1" maxOccurs="unbounded"> - <element name="qualifier" type="sca:Qualifier"/> - <any namespace="##other" processContents="lax"/> - </choice> - <attribute name="provides" type="QName" use="required"/> - <attribute name="default" type="string" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="Qualifier"> - <choice minOccurs="1" maxOccurs="unbounded"> - <element name="intentMap" type="sca:IntentMap"/> - <any namespace="##other" processContents="lax"/> - </choice> - <attribute name="name" type="string" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="allow" type="sca:Allow"/> - <complexType name="Allow"> - <attribute name="roles" type="string" use="required"/> - </complexType> - - <element name="permitAll" type="sca:PermitAll"/> - <complexType name="PermitAll"/> - - <element name="denyAll" type="sca:DenyAll"/> - <complexType name="DenyAll"/> - - <element name="runAs" type="sca:RunAs"/> - <complexType name="RunAs"> - <attribute name="role" type="string" use="required"/> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca.xsd deleted file mode 100644 index 10f54275d0..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca.xsd +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"> - - <include schemaLocation="sca-core.xsd"/> - - <include schemaLocation="sca-interface-java.xsd"/> - <include schemaLocation="sca-interface-wsdl.xsd"/> - - <include schemaLocation="sca-implementation-java.xsd"/> - <include schemaLocation="sca-implementation-composite.xsd"/> - - <include schemaLocation="sca-binding-webservice.xsd"/> - <include schemaLocation="sca-binding-jms.xsd"/> - <include schemaLocation="sca-binding-sca.xsd"/> - - <include schemaLocation="sca-definitions.xsd"/> - <include schemaLocation="sca-policy.xsd"/> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-atom.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-atom.xsd deleted file mode 100644 index c93a1d72de..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-atom.xsd +++ /dev/null @@ -1,41 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.atom" type="t:AtomBinding"/> - - <complexType name="AtomBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="title" type="string" use="optional"/> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-dwr.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-dwr.xsd deleted file mode 100644 index d0da5421ec..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-dwr.xsd +++ /dev/null @@ -1,40 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.dwr" type="t:DWRBinding"/> - - <complexType name="DWRBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-http.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-http.xsd deleted file mode 100644 index ff48b97d7a..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-http.xsd +++ /dev/null @@ -1,40 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.http" type="t:HTTPBinding"/> - - <complexType name="HTTPBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-jsonrpc.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-jsonrpc.xsd deleted file mode 100644 index 7c79738898..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-jsonrpc.xsd +++ /dev/null @@ -1,40 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.jsonrpc" type="t:JSONRPCBinding"/> - - <complexType name="JSONRPCBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-notification.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-notification.xsd deleted file mode 100644 index 6d5468b2f9..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-notification.xsd +++ /dev/null @@ -1,42 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.notification" type="t:NotificationBinding"/> - - <complexType name="NotificationBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="ntm" type="anyURI" use="optional"/> - <attribute name="notificationType" type="anyURI" use="optional"/> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rmi.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rmi.xsd deleted file mode 100644 index 26be6feae5..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rmi.xsd +++ /dev/null @@ -1,40 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.rmi" type="t:RMIBinding"/> - - <complexType name="RMIBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rss.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rss.xsd deleted file mode 100644 index 821f323d73..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rss.xsd +++ /dev/null @@ -1,41 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.rss" type="t:RSSBinding"/> - - <complexType name="RSSBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="title" type="string" use="optional"/> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-node.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-node.xsd deleted file mode 100644 index 1b5c8aece2..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-node.xsd +++ /dev/null @@ -1,43 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.node" type="t:NodeImplementation"/> - - <complexType name="NodeImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="uri" type="string" use="required"/> - <attribute name="composite" type="QName" use="required"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-notification.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-notification.xsd deleted file mode 100644 index f8d437310e..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-notification.xsd +++ /dev/null @@ -1,42 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.notification" type="t:NotificationImplementation"/> - - <complexType name="NotificationImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="NCName" use="required"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-osgi.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-osgi.xsd deleted file mode 100644 index f8ece54a07..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-osgi.xsd +++ /dev/null @@ -1,43 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.osgi" type="t:OSGiImplementation"/> - - <!-- TODO Declare the proper attributes and elements --> - <complexType name="OSGiImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##any" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-resource.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-resource.xsd deleted file mode 100644 index dd596821ea..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-resource.xsd +++ /dev/null @@ -1,42 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.resource" type="t:ResourceImplementation"/> - - <complexType name="ResourceImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="location" type="anyURI" use="required"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-script.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-script.xsd deleted file mode 100644 index e1723d65f0..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-script.xsd +++ /dev/null @@ -1,43 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.script" type="t:ScriptImplementation"/> - - <complexType name="ScriptImplementation"> - <complexContent mixed="true"> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="script" type="anyURI" use="optional"/> - <attribute name="language" type="NCName" use="optional"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-widget.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-widget.xsd deleted file mode 100644 index 0c0998595f..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-widget.xsd +++ /dev/null @@ -1,42 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.widget" type="t:WidgetImplementation"/> - - <complexType name="WidgetImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="location" type="anyURI" use="required"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-xquery.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-xquery.xsd deleted file mode 100644 index cdabb697aa..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-xquery.xsd +++ /dev/null @@ -1,42 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.xquery" type="t:XQueryImplementation"/> - - <complexType name="XQueryImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="location" type="anyURI" use="required"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca.xsd deleted file mode 100644 index da5e696e01..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca.xsd +++ /dev/null @@ -1,45 +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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-all.xsd"/> - - <include schemaLocation="tuscany-sca-binding-atom.xsd"/> - <include schemaLocation="tuscany-sca-binding-dwr.xsd"/> - <include schemaLocation="tuscany-sca-binding-http.xsd"/> - <include schemaLocation="tuscany-sca-binding-jsonrpc.xsd"/> - <include schemaLocation="tuscany-sca-binding-notification.xsd"/> - <include schemaLocation="tuscany-sca-binding-rmi.xsd"/> - <include schemaLocation="tuscany-sca-binding-rss.xsd"/> - - <!-- - <include schemaLocation="tuscany-sca-implementation-das.xsd"/> - <include schemaLocation="tuscany-sca-implementation-data.xsd"/> - --> - <include schemaLocation="tuscany-sca-implementation-node.xsd"/> - <include schemaLocation="tuscany-sca-implementation-notification.xsd"/> - <include schemaLocation="tuscany-sca-implementation-osgi.xsd"/> - <include schemaLocation="tuscany-sca-implementation-resource.xsd"/> - <include schemaLocation="tuscany-sca-implementation-script.xsd"/> - <include schemaLocation="tuscany-sca-implementation-widget.xsd"/> - <include schemaLocation="tuscany-sca-implementation-xquery.xsd"/> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/ejava/LICENSE b/branches/sca-equinox/tools/eclipse/plugins/ejava/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/ejava/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/plugins/ejava/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/plugins/ejava/META-INF/MANIFEST.MF deleted file mode 100644 index fb238f04b1..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/ejava/META-INF/MANIFEST.MF +++ /dev/null @@ -1,32 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA JEE Eclipse Plugin
-Bundle-SymbolicName: org.apache.tuscany.sca.plugin.ejava;singleton:=true
-Bundle-Version: 1.4.0
-Import-Package: org.apache.tuscany.sca.plugin.core.classpath,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.core.runtime.jobs,
- org.eclipse.debug.core,
- org.eclipse.debug.core.model,
- org.eclipse.debug.ui,
- org.eclipse.debug.ui.sourcelookup,
- org.eclipse.jdt.core,
- org.eclipse.jdt.debug.ui.launchConfigurations,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.ui.wizards,
- org.eclipse.jface.dialogs,
- org.eclipse.jface.operation,
- org.eclipse.jface.resource,
- org.eclipse.jface.viewers,
- org.eclipse.jface.wizard,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.swt,
- org.eclipse.swt.graphics,
- org.eclipse.swt.widgets,
- org.eclipse.ui,
- org.eclipse.ui.progress,
- org.osgi.framework;version="1.3.0"
-Bundle-Vendor: Apache Software Foundation
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui.ide
diff --git a/branches/sca-equinox/tools/eclipse/plugins/ejava/NOTICE b/branches/sca-equinox/tools/eclipse/plugins/ejava/NOTICE deleted file mode 100644 index 6dcfe88195..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/ejava/NOTICE +++ /dev/null @@ -1,12 +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/). - -This product also includes software under the SCA Collaboration license -(see the LICENSE file contained in this distribution), with the following -copyright: - -(c) Copyright SCA Collaboration 2006, 2007 - diff --git a/branches/sca-equinox/tools/eclipse/plugins/ejava/build.properties b/branches/sca-equinox/tools/eclipse/plugins/ejava/build.properties deleted file mode 100644 index c402b2eb45..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/ejava/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -output.. = bin/ -bin.includes = META-INF/,\ - plugin.xml,\ - xsd/,\ - icons/,\ - .,\ - LICENSE,\ - NOTICE,\ - org/ -src.includes = xsd/,\ - plugin.xml,\ - .classpath,\ - .project,\ - LICENSE,\ - META-INF/,\ - NOTICE,\ - build.properties,\ - icons/,\ - .settings/,\ - org/,\ - pom.xml -jars.compile.order = . -source.. = . diff --git a/branches/sca-equinox/tools/eclipse/plugins/ejava/org/apache/tuscany/sca/plugin/ejava/classpath/EJavaClasspathContainer.java b/branches/sca-equinox/tools/eclipse/plugins/ejava/org/apache/tuscany/sca/plugin/ejava/classpath/EJavaClasspathContainer.java deleted file mode 100644 index eae6682e3b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/ejava/org/apache/tuscany/sca/plugin/ejava/classpath/EJavaClasspathContainer.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.plugin.ejava.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainer; - - -/** - * A classpath container for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class EJavaClasspathContainer extends BaseClasspathContainer implements RuntimeClasspathContainer { - - public EJavaClasspathContainer() { - super("org.apache.tuscany.sca.plugin.ejava", - "org.apache.tuscany.sca.plugin.ejava.runtime.library", "Tuscany SCA JEE Library", - "tuscany-sca", "tuscany-distribution-ejava", "1.4-EQUINOX-SNAPSHOT", - "TUSCANY_HOME", "TUSCANY_SRC"); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/ejava/org/apache/tuscany/sca/plugin/ejava/classpath/EJavaClasspathContainerInitializer.java b/branches/sca-equinox/tools/eclipse/plugins/ejava/org/apache/tuscany/sca/plugin/ejava/classpath/EJavaClasspathContainerInitializer.java deleted file mode 100644 index 9b7c199c79..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/ejava/org/apache/tuscany/sca/plugin/ejava/classpath/EJavaClasspathContainerInitializer.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.plugin.ejava.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.ejava.classpath.EJavaClasspathContainer; - - -/** - * A classpath container initializer for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class EJavaClasspathContainerInitializer extends BaseClasspathContainerInitializer implements RuntimeClasspathContainerInitializer { - - public EJavaClasspathContainerInitializer() { - super(new EJavaClasspathContainer()); - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/ejava/plugin.xml b/branches/sca-equinox/tools/eclipse/plugins/ejava/plugin.xml deleted file mode 100644 index fef1afe0b9..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/ejava/plugin.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.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. ---> -<plugin> - - <extension - point="org.apache.tuscany.sca.plugin.core.runtimeClasspathContainerInitializer"> - <runtimeClasspathContainerInitializer - id="org.apache.tuscany.sca.plugin.ejava.runtime.library" - class="org.apache.tuscany.sca.plugin.ejava.classpath.EJavaClasspathContainerInitializer"/> - </extension> - -</plugin> diff --git a/branches/sca-equinox/tools/eclipse/plugins/ejava/pom.xml b/branches/sca-equinox/tools/eclipse/plugins/ejava/pom.xml deleted file mode 100644 index 9c340135a5..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/ejava/pom.xml +++ /dev/null @@ -1,151 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.plugin.ejava</artifactId> - <name>Apache Tuscany SCA JEE Eclipse Plugin</name> - - <dependencies> - <dependency> - <groupId>org.eclipse.jdt.debug</groupId> - <artifactId>ui</artifactId> - <version>3.2.100-v20070531-1800</version> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - <version>1.0.0-v20070606</version> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - <version>3.3.0-v20070426</version> - </dependency> - - <dependency> - <groupId>org.eclipse.swt.win32.win32</groupId> - <artifactId>x86</artifactId> - <version>3.3.0-v3346</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.plugin.core</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-ejava</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <type>zip</type> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-ejava</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <classifier>src</classifier> - <type>zip</type> - </dependency> - </dependencies> - - <build> - <sourceDirectory>${basedir}</sourceDirectory> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/*.java</exclude> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <classifier>tmp</classifier> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>distribution-package</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptors> - <descriptor>../core/src/main/assembly/jar.xml</descriptor> - </descriptors> - <tarLongFileMode>gnu</tarLongFileMode> - <appendAssemblyId>false</appendAssemblyId> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <repositories> - <repository> - <id>repo1.eclipse</id> - <url>http://repo1.maven.org/eclipse/</url> - <snapshots> - <enabled>true</enabled> - </snapshots> - </repository> - </repositories> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/plugins/manager/LICENSE b/branches/sca-equinox/tools/eclipse/plugins/manager/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/manager/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/plugins/manager/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/plugins/manager/META-INF/MANIFEST.MF deleted file mode 100644 index 2a70682fae..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/manager/META-INF/MANIFEST.MF +++ /dev/null @@ -1,32 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Domain Manager Eclipse Plugin
-Bundle-SymbolicName: org.apache.tuscany.sca.plugin.manager;singleton:=true
-Bundle-Version: 1.4.0
-Import-Package: org.apache.tuscany.sca.plugin.core.classpath,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.core.runtime.jobs,
- org.eclipse.debug.core,
- org.eclipse.debug.core.model,
- org.eclipse.debug.ui,
- org.eclipse.debug.ui.sourcelookup,
- org.eclipse.jdt.core,
- org.eclipse.jdt.debug.ui.launchConfigurations,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.ui.wizards,
- org.eclipse.jface.dialogs,
- org.eclipse.jface.operation,
- org.eclipse.jface.resource,
- org.eclipse.jface.viewers,
- org.eclipse.jface.wizard,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.swt,
- org.eclipse.swt.graphics,
- org.eclipse.swt.widgets,
- org.eclipse.ui,
- org.eclipse.ui.progress,
- org.osgi.framework;version="1.3.0"
-Bundle-Vendor: Apache Software Foundation
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui.ide
diff --git a/branches/sca-equinox/tools/eclipse/plugins/manager/NOTICE b/branches/sca-equinox/tools/eclipse/plugins/manager/NOTICE deleted file mode 100644 index 6dcfe88195..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/manager/NOTICE +++ /dev/null @@ -1,12 +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/). - -This product also includes software under the SCA Collaboration license -(see the LICENSE file contained in this distribution), with the following -copyright: - -(c) Copyright SCA Collaboration 2006, 2007 - diff --git a/branches/sca-equinox/tools/eclipse/plugins/manager/build.properties b/branches/sca-equinox/tools/eclipse/plugins/manager/build.properties deleted file mode 100644 index c402b2eb45..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/manager/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -output.. = bin/ -bin.includes = META-INF/,\ - plugin.xml,\ - xsd/,\ - icons/,\ - .,\ - LICENSE,\ - NOTICE,\ - org/ -src.includes = xsd/,\ - plugin.xml,\ - .classpath,\ - .project,\ - LICENSE,\ - META-INF/,\ - NOTICE,\ - build.properties,\ - icons/,\ - .settings/,\ - org/,\ - pom.xml -jars.compile.order = . -source.. = . diff --git a/branches/sca-equinox/tools/eclipse/plugins/manager/org/apache/tuscany/sca/plugin/manager/classpath/ManagerClasspathContainer.java b/branches/sca-equinox/tools/eclipse/plugins/manager/org/apache/tuscany/sca/plugin/manager/classpath/ManagerClasspathContainer.java deleted file mode 100644 index 3676883f87..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/manager/org/apache/tuscany/sca/plugin/manager/classpath/ManagerClasspathContainer.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.plugin.manager.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainer; - - -/** - * A classpath container for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class ManagerClasspathContainer extends BaseClasspathContainer implements RuntimeClasspathContainer { - - public ManagerClasspathContainer() { - super("org.apache.tuscany.sca.plugin.manager", - "org.apache.tuscany.sca.plugin.manager.runtime.library", "Tuscany SCA Domain Manager Library", - "tuscany-sca", "tuscany-distribution-manager", "1.4-EQUINOX-SNAPSHOT", - "TUSCANY_HOME", "TUSCANY_SRC"); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/manager/org/apache/tuscany/sca/plugin/manager/classpath/ManagerClasspathContainerInitializer.java b/branches/sca-equinox/tools/eclipse/plugins/manager/org/apache/tuscany/sca/plugin/manager/classpath/ManagerClasspathContainerInitializer.java deleted file mode 100644 index 9c7df0f488..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/manager/org/apache/tuscany/sca/plugin/manager/classpath/ManagerClasspathContainerInitializer.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.plugin.manager.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.manager.classpath.ManagerClasspathContainer; - - -/** - * A classpath container initializer for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class ManagerClasspathContainerInitializer extends BaseClasspathContainerInitializer implements RuntimeClasspathContainerInitializer { - - public ManagerClasspathContainerInitializer() { - super(new ManagerClasspathContainer()); - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/manager/plugin.xml b/branches/sca-equinox/tools/eclipse/plugins/manager/plugin.xml deleted file mode 100644 index 2e09146dfd..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/manager/plugin.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.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. ---> -<plugin> - - <extension - point="org.apache.tuscany.sca.plugin.core.runtimeClasspathContainerInitializer"> - <runtimeClasspathContainerInitializer - id="org.apache.tuscany.sca.plugin.manager.runtime.library" - class="org.apache.tuscany.sca.plugin.manager.classpath.ManagerClasspathContainerInitializer"/> - </extension> - -</plugin> diff --git a/branches/sca-equinox/tools/eclipse/plugins/manager/pom.xml b/branches/sca-equinox/tools/eclipse/plugins/manager/pom.xml deleted file mode 100644 index 12077cdd54..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/manager/pom.xml +++ /dev/null @@ -1,151 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.plugin.manager</artifactId> - <name>Apache Tuscany SCA Domain Manager Eclipse Plugin</name> - - <dependencies> - <dependency> - <groupId>org.eclipse.jdt.debug</groupId> - <artifactId>ui</artifactId> - <version>3.2.100-v20070531-1800</version> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - <version>1.0.0-v20070606</version> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - <version>3.3.0-v20070426</version> - </dependency> - - <dependency> - <groupId>org.eclipse.swt.win32.win32</groupId> - <artifactId>x86</artifactId> - <version>3.3.0-v3346</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.plugin.core</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-manager</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <type>zip</type> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-manager</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <classifier>src</classifier> - <type>zip</type> - </dependency> - </dependencies> - - <build> - <sourceDirectory>${basedir}</sourceDirectory> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/*.java</exclude> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <classifier>tmp</classifier> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>distribution-package</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptors> - <descriptor>../core/src/main/assembly/jar.xml</descriptor> - </descriptors> - <tarLongFileMode>gnu</tarLongFileMode> - <appendAssemblyId>false</appendAssemblyId> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <repositories> - <repository> - <id>repo1.eclipse</id> - <url>http://repo1.maven.org/eclipse/</url> - <snapshots> - <enabled>true</enabled> - </snapshots> - </repository> - </repositories> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/plugins/process/LICENSE b/branches/sca-equinox/tools/eclipse/plugins/process/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/process/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/plugins/process/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/plugins/process/META-INF/MANIFEST.MF deleted file mode 100644 index 0acd32e51c..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/process/META-INF/MANIFEST.MF +++ /dev/null @@ -1,32 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Process Eclipse Plugin
-Bundle-SymbolicName: org.apache.tuscany.sca.plugin.process;singleton:=true
-Bundle-Version: 1.4.0
-Import-Package: org.apache.tuscany.sca.plugin.core.classpath,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.core.runtime.jobs,
- org.eclipse.debug.core,
- org.eclipse.debug.core.model,
- org.eclipse.debug.ui,
- org.eclipse.debug.ui.sourcelookup,
- org.eclipse.jdt.core,
- org.eclipse.jdt.debug.ui.launchConfigurations,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.ui.wizards,
- org.eclipse.jface.dialogs,
- org.eclipse.jface.operation,
- org.eclipse.jface.resource,
- org.eclipse.jface.viewers,
- org.eclipse.jface.wizard,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.swt,
- org.eclipse.swt.graphics,
- org.eclipse.swt.widgets,
- org.eclipse.ui,
- org.eclipse.ui.progress,
- org.osgi.framework;version="1.3.0"
-Bundle-Vendor: Apache Software Foundation
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui.ide
diff --git a/branches/sca-equinox/tools/eclipse/plugins/process/NOTICE b/branches/sca-equinox/tools/eclipse/plugins/process/NOTICE deleted file mode 100644 index 6dcfe88195..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/process/NOTICE +++ /dev/null @@ -1,12 +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/). - -This product also includes software under the SCA Collaboration license -(see the LICENSE file contained in this distribution), with the following -copyright: - -(c) Copyright SCA Collaboration 2006, 2007 - diff --git a/branches/sca-equinox/tools/eclipse/plugins/process/build.properties b/branches/sca-equinox/tools/eclipse/plugins/process/build.properties deleted file mode 100644 index c402b2eb45..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/process/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -output.. = bin/ -bin.includes = META-INF/,\ - plugin.xml,\ - xsd/,\ - icons/,\ - .,\ - LICENSE,\ - NOTICE,\ - org/ -src.includes = xsd/,\ - plugin.xml,\ - .classpath,\ - .project,\ - LICENSE,\ - META-INF/,\ - NOTICE,\ - build.properties,\ - icons/,\ - .settings/,\ - org/,\ - pom.xml -jars.compile.order = . -source.. = . diff --git a/branches/sca-equinox/tools/eclipse/plugins/process/org/apache/tuscany/sca/plugin/process/classpath/ProcessClasspathContainer.java b/branches/sca-equinox/tools/eclipse/plugins/process/org/apache/tuscany/sca/plugin/process/classpath/ProcessClasspathContainer.java deleted file mode 100644 index 225fa67b58..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/process/org/apache/tuscany/sca/plugin/process/classpath/ProcessClasspathContainer.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.plugin.process.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainer; - - -/** - * A classpath container for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class ProcessClasspathContainer extends BaseClasspathContainer implements RuntimeClasspathContainer { - - public ProcessClasspathContainer() { - super("org.apache.tuscany.sca.plugin.process", - "org.apache.tuscany.sca.plugin.process.runtime.library", "Tuscany SCA Process Library", - "tuscany-sca", "tuscany-distribution-process", "1.4-EQUINOX-SNAPSHOT", - "TUSCANY_HOME", "TUSCANY_SRC"); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/process/org/apache/tuscany/sca/plugin/process/classpath/ProcessClasspathContainerInitializer.java b/branches/sca-equinox/tools/eclipse/plugins/process/org/apache/tuscany/sca/plugin/process/classpath/ProcessClasspathContainerInitializer.java deleted file mode 100644 index dab0eeaadc..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/process/org/apache/tuscany/sca/plugin/process/classpath/ProcessClasspathContainerInitializer.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.plugin.process.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.process.classpath.ProcessClasspathContainer; - - -/** - * A classpath container initializer for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class ProcessClasspathContainerInitializer extends BaseClasspathContainerInitializer implements RuntimeClasspathContainerInitializer { - - public ProcessClasspathContainerInitializer() { - super(new ProcessClasspathContainer()); - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/process/plugin.xml b/branches/sca-equinox/tools/eclipse/plugins/process/plugin.xml deleted file mode 100644 index 3e5f87f634..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/process/plugin.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.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. ---> -<plugin> - - <extension - point="org.apache.tuscany.sca.plugin.core.runtimeClasspathContainerInitializer"> - <runtimeClasspathContainerInitializer - id="org.apache.tuscany.sca.plugin.process.runtime.library" - class="org.apache.tuscany.sca.plugin.process.classpath.ProcessClasspathContainerInitializer"/> - </extension> - -</plugin> diff --git a/branches/sca-equinox/tools/eclipse/plugins/process/pom.xml b/branches/sca-equinox/tools/eclipse/plugins/process/pom.xml deleted file mode 100644 index 7fed5e97cc..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/process/pom.xml +++ /dev/null @@ -1,151 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.plugin.process</artifactId> - <name>Apache Tuscany SCA Process Eclipse Plugin</name> - - <dependencies> - <dependency> - <groupId>org.eclipse.jdt.debug</groupId> - <artifactId>ui</artifactId> - <version>3.2.100-v20070531-1800</version> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - <version>1.0.0-v20070606</version> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - <version>3.3.0-v20070426</version> - </dependency> - - <dependency> - <groupId>org.eclipse.swt.win32.win32</groupId> - <artifactId>x86</artifactId> - <version>3.3.0-v3346</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.plugin.core</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-process</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <type>zip</type> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-process</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <classifier>src</classifier> - <type>zip</type> - </dependency> - </dependencies> - - <build> - <sourceDirectory>${basedir}</sourceDirectory> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/*.java</exclude> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <classifier>tmp</classifier> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>distribution-package</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptors> - <descriptor>../core/src/main/assembly/jar.xml</descriptor> - </descriptors> - <tarLongFileMode>gnu</tarLongFileMode> - <appendAssemblyId>false</appendAssemblyId> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <repositories> - <repository> - <id>repo1.eclipse</id> - <url>http://repo1.maven.org/eclipse/</url> - <snapshots> - <enabled>true</enabled> - </snapshots> - </repository> - </repositories> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/plugins/web20/LICENSE b/branches/sca-equinox/tools/eclipse/plugins/web20/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/web20/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/plugins/web20/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/plugins/web20/META-INF/MANIFEST.MF deleted file mode 100644 index 3c2816ec4b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/web20/META-INF/MANIFEST.MF +++ /dev/null @@ -1,32 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Web 2.0 Eclipse Plugin
-Bundle-SymbolicName: org.apache.tuscany.sca.plugin.web20;singleton:=true
-Bundle-Version: 1.4.0
-Import-Package: org.apache.tuscany.sca.plugin.core.classpath,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.core.runtime.jobs,
- org.eclipse.debug.core,
- org.eclipse.debug.core.model,
- org.eclipse.debug.ui,
- org.eclipse.debug.ui.sourcelookup,
- org.eclipse.jdt.core,
- org.eclipse.jdt.debug.ui.launchConfigurations,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.ui.wizards,
- org.eclipse.jface.dialogs,
- org.eclipse.jface.operation,
- org.eclipse.jface.resource,
- org.eclipse.jface.viewers,
- org.eclipse.jface.wizard,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.swt,
- org.eclipse.swt.graphics,
- org.eclipse.swt.widgets,
- org.eclipse.ui,
- org.eclipse.ui.progress,
- org.osgi.framework;version="1.3.0"
-Bundle-Vendor: Apache Software Foundation
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui.ide
diff --git a/branches/sca-equinox/tools/eclipse/plugins/web20/NOTICE b/branches/sca-equinox/tools/eclipse/plugins/web20/NOTICE deleted file mode 100644 index 6dcfe88195..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/web20/NOTICE +++ /dev/null @@ -1,12 +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/). - -This product also includes software under the SCA Collaboration license -(see the LICENSE file contained in this distribution), with the following -copyright: - -(c) Copyright SCA Collaboration 2006, 2007 - diff --git a/branches/sca-equinox/tools/eclipse/plugins/web20/build.properties b/branches/sca-equinox/tools/eclipse/plugins/web20/build.properties deleted file mode 100644 index c402b2eb45..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/web20/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -output.. = bin/ -bin.includes = META-INF/,\ - plugin.xml,\ - xsd/,\ - icons/,\ - .,\ - LICENSE,\ - NOTICE,\ - org/ -src.includes = xsd/,\ - plugin.xml,\ - .classpath,\ - .project,\ - LICENSE,\ - META-INF/,\ - NOTICE,\ - build.properties,\ - icons/,\ - .settings/,\ - org/,\ - pom.xml -jars.compile.order = . -source.. = . diff --git a/branches/sca-equinox/tools/eclipse/plugins/web20/org/apache/tuscany/sca/plugin/web20/classpath/Web20ClasspathContainer.java b/branches/sca-equinox/tools/eclipse/plugins/web20/org/apache/tuscany/sca/plugin/web20/classpath/Web20ClasspathContainer.java deleted file mode 100644 index e153ad3d25..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/web20/org/apache/tuscany/sca/plugin/web20/classpath/Web20ClasspathContainer.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.plugin.web20.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainer; - - -/** - * A classpath container for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class Web20ClasspathContainer extends BaseClasspathContainer implements RuntimeClasspathContainer { - - public Web20ClasspathContainer() { - super("org.apache.tuscany.sca.plugin.web20", - "org.apache.tuscany.sca.plugin.web20.runtime.library", "Tuscany SCA Web 2.0 Library", - "tuscany-sca", "tuscany-distribution-web20", "1.4-EQUINOX-SNAPSHOT", - "TUSCANY_HOME", "TUSCANY_SRC"); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/web20/org/apache/tuscany/sca/plugin/web20/classpath/Web20ClasspathContainerInitializer.java b/branches/sca-equinox/tools/eclipse/plugins/web20/org/apache/tuscany/sca/plugin/web20/classpath/Web20ClasspathContainerInitializer.java deleted file mode 100644 index 96026db08e..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/web20/org/apache/tuscany/sca/plugin/web20/classpath/Web20ClasspathContainerInitializer.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.plugin.web20.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.web20.classpath.Web20ClasspathContainer; - - -/** - * A classpath container initializer for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class Web20ClasspathContainerInitializer extends BaseClasspathContainerInitializer implements RuntimeClasspathContainerInitializer { - - public Web20ClasspathContainerInitializer() { - super(new Web20ClasspathContainer()); - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/web20/plugin.xml b/branches/sca-equinox/tools/eclipse/plugins/web20/plugin.xml deleted file mode 100644 index 6bf9087474..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/web20/plugin.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.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. ---> -<plugin> - - <extension - point="org.apache.tuscany.sca.plugin.core.runtimeClasspathContainerInitializer"> - <runtimeClasspathContainerInitializer - id="org.apache.tuscany.sca.plugin.web20.runtime.library" - class="org.apache.tuscany.sca.plugin.web20.classpath.Web20ClasspathContainerInitializer"/> - </extension> - -</plugin> diff --git a/branches/sca-equinox/tools/eclipse/plugins/web20/pom.xml b/branches/sca-equinox/tools/eclipse/plugins/web20/pom.xml deleted file mode 100644 index 80dbe131c0..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/web20/pom.xml +++ /dev/null @@ -1,151 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.plugin.web20</artifactId> - <name>Apache Tuscany SCA Web 2.0 Eclipse Plugin</name> - - <dependencies> - <dependency> - <groupId>org.eclipse.jdt.debug</groupId> - <artifactId>ui</artifactId> - <version>3.2.100-v20070531-1800</version> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - <version>1.0.0-v20070606</version> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - <version>3.3.0-v20070426</version> - </dependency> - - <dependency> - <groupId>org.eclipse.swt.win32.win32</groupId> - <artifactId>x86</artifactId> - <version>3.3.0-v3346</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.plugin.core</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-web20</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <type>zip</type> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-web20</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <classifier>src</classifier> - <type>zip</type> - </dependency> - </dependencies> - - <build> - <sourceDirectory>${basedir}</sourceDirectory> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/*.java</exclude> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <classifier>tmp</classifier> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>distribution-package</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptors> - <descriptor>../core/src/main/assembly/jar.xml</descriptor> - </descriptors> - <tarLongFileMode>gnu</tarLongFileMode> - <appendAssemblyId>false</appendAssemblyId> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <repositories> - <repository> - <id>repo1.eclipse</id> - <url>http://repo1.maven.org/eclipse/</url> - <snapshots> - <enabled>true</enabled> - </snapshots> - </repository> - </repositories> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/plugins/webservice/LICENSE b/branches/sca-equinox/tools/eclipse/plugins/webservice/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/webservice/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/plugins/webservice/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/plugins/webservice/META-INF/MANIFEST.MF deleted file mode 100644 index 9d83fd9b6b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/webservice/META-INF/MANIFEST.MF +++ /dev/null @@ -1,32 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Web Service Eclipse Plugin
-Bundle-SymbolicName: org.apache.tuscany.sca.plugin.webservice;singleton:=true
-Bundle-Version: 1.4.0
-Import-Package: org.apache.tuscany.sca.plugin.core.classpath,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.core.runtime.jobs,
- org.eclipse.debug.core,
- org.eclipse.debug.core.model,
- org.eclipse.debug.ui,
- org.eclipse.debug.ui.sourcelookup,
- org.eclipse.jdt.core,
- org.eclipse.jdt.debug.ui.launchConfigurations,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.ui.wizards,
- org.eclipse.jface.dialogs,
- org.eclipse.jface.operation,
- org.eclipse.jface.resource,
- org.eclipse.jface.viewers,
- org.eclipse.jface.wizard,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.swt,
- org.eclipse.swt.graphics,
- org.eclipse.swt.widgets,
- org.eclipse.ui,
- org.eclipse.ui.progress,
- org.osgi.framework;version="1.3.0"
-Bundle-Vendor: Apache Software Foundation
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui.ide
diff --git a/branches/sca-equinox/tools/eclipse/plugins/webservice/NOTICE b/branches/sca-equinox/tools/eclipse/plugins/webservice/NOTICE deleted file mode 100644 index 6dcfe88195..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/webservice/NOTICE +++ /dev/null @@ -1,12 +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/). - -This product also includes software under the SCA Collaboration license -(see the LICENSE file contained in this distribution), with the following -copyright: - -(c) Copyright SCA Collaboration 2006, 2007 - diff --git a/branches/sca-equinox/tools/eclipse/plugins/webservice/build.properties b/branches/sca-equinox/tools/eclipse/plugins/webservice/build.properties deleted file mode 100644 index c402b2eb45..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/webservice/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -output.. = bin/ -bin.includes = META-INF/,\ - plugin.xml,\ - xsd/,\ - icons/,\ - .,\ - LICENSE,\ - NOTICE,\ - org/ -src.includes = xsd/,\ - plugin.xml,\ - .classpath,\ - .project,\ - LICENSE,\ - META-INF/,\ - NOTICE,\ - build.properties,\ - icons/,\ - .settings/,\ - org/,\ - pom.xml -jars.compile.order = . -source.. = . diff --git a/branches/sca-equinox/tools/eclipse/plugins/webservice/org/apache/tuscany/sca/plugin/webservice/classpath/WebServiceClasspathContainer.java b/branches/sca-equinox/tools/eclipse/plugins/webservice/org/apache/tuscany/sca/plugin/webservice/classpath/WebServiceClasspathContainer.java deleted file mode 100644 index f588dc191c..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/webservice/org/apache/tuscany/sca/plugin/webservice/classpath/WebServiceClasspathContainer.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.plugin.webservice.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainer; - - -/** - * A classpath container for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class WebServiceClasspathContainer extends BaseClasspathContainer implements RuntimeClasspathContainer { - - public WebServiceClasspathContainer() { - super("org.apache.tuscany.sca.plugin.webservice", - "org.apache.tuscany.sca.plugin.webservice.runtime.library", "Tuscany SCA Web Service Library", - "tuscany-sca", "tuscany-distribution-webservice", "1.4-EQUINOX-SNAPSHOT", - "TUSCANY_HOME", "TUSCANY_SRC"); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/webservice/org/apache/tuscany/sca/plugin/webservice/classpath/WebServiceClasspathContainerInitializer.java b/branches/sca-equinox/tools/eclipse/plugins/webservice/org/apache/tuscany/sca/plugin/webservice/classpath/WebServiceClasspathContainerInitializer.java deleted file mode 100644 index 6310209c3a..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/webservice/org/apache/tuscany/sca/plugin/webservice/classpath/WebServiceClasspathContainerInitializer.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.plugin.webservice.classpath; - -import org.apache.tuscany.sca.plugin.core.classpath.BaseClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.core.classpath.RuntimeClasspathContainerInitializer; -import org.apache.tuscany.sca.plugin.webservice.classpath.WebServiceClasspathContainer; - - -/** - * A classpath container initializer for the core runtime. - * - * @version $Rev$ $Date$ - */ -public class WebServiceClasspathContainerInitializer extends BaseClasspathContainerInitializer implements RuntimeClasspathContainerInitializer { - - public WebServiceClasspathContainerInitializer() { - super(new WebServiceClasspathContainer()); - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/webservice/plugin.xml b/branches/sca-equinox/tools/eclipse/plugins/webservice/plugin.xml deleted file mode 100644 index 1fd46d3e75..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/webservice/plugin.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.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. ---> -<plugin> - - <extension - point="org.apache.tuscany.sca.plugin.core.runtimeClasspathContainerInitializer"> - <runtimeClasspathContainerInitializer - id="org.apache.tuscany.sca.plugin.webservice.runtime.library" - class="org.apache.tuscany.sca.plugin.webservice.classpath.WebServiceClasspathContainerInitializer"/> - </extension> - -</plugin> diff --git a/branches/sca-equinox/tools/eclipse/plugins/webservice/pom.xml b/branches/sca-equinox/tools/eclipse/plugins/webservice/pom.xml deleted file mode 100644 index d3e508c1e4..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/webservice/pom.xml +++ /dev/null @@ -1,151 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.plugin.webservice</artifactId> - <name>Apache Tuscany SCA Web Service Eclipse Plugin</name> - - <dependencies> - <dependency> - <groupId>org.eclipse.jdt.debug</groupId> - <artifactId>ui</artifactId> - <version>3.2.100-v20070531-1800</version> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - <version>1.0.0-v20070606</version> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - <version>3.3.0-v20070426</version> - </dependency> - - <dependency> - <groupId>org.eclipse.swt.win32.win32</groupId> - <artifactId>x86</artifactId> - <version>3.3.0-v3346</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.plugin.core</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-webservice</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <type>zip</type> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-distribution-webservice</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <classifier>src</classifier> - <type>zip</type> - </dependency> - </dependencies> - - <build> - <sourceDirectory>${basedir}</sourceDirectory> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/*.java</exclude> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <classifier>tmp</classifier> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>distribution-package</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptors> - <descriptor>../core/src/main/assembly/jar.xml</descriptor> - </descriptors> - <tarLongFileMode>gnu</tarLongFileMode> - <appendAssemblyId>false</appendAssemblyId> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <repositories> - <repository> - <id>repo1.eclipse</id> - <url>http://repo1.maven.org/eclipse/</url> - <snapshots> - <enabled>true</enabled> - </snapshots> - </repository> - </repositories> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/pom.xml b/branches/sca-equinox/tools/eclipse/pom.xml deleted file mode 100644 index 47123ce999..0000000000 --- a/branches/sca-equinox/tools/eclipse/pom.xml +++ /dev/null @@ -1,73 +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-sca-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <packaging>pom</packaging> - <artifactId>tuscany-sca-eclipse-tools</artifactId> - <name>Apache Tuscany SCA Eclipse Tools</name> - - <profiles> - <profile> - <id>distribution</id> - <modules> - <module>features/core</module> - <module>features/ejava</module> - <module>features/manager</module> - <module>features/process</module> - <module>features/web20</module> - <module>features/webservice</module> - <module>plugins/core</module> - <module>plugins/ejava</module> - <module>plugins/manager</module> - <module>plugins/process</module> - <module>plugins/web20</module> - <module>plugins/webservice</module> - <module>site/updatesite</module> - </modules> - </profile> - - <profile> - <id>eclipse</id> - <modules> - <module>features/core</module> - <module>features/ejava</module> - <module>features/manager</module> - <module>features/process</module> - <module>features/web20</module> - <module>features/webservice</module> - <module>plugins/core</module> - <module>plugins/ejava</module> - <module>plugins/manager</module> - <module>plugins/process</module> - <module>plugins/web20</module> - <module>plugins/webservice</module> - <module>site/updatesite</module> - </modules> - </profile> - </profiles> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/site/updatesite/LICENSE b/branches/sca-equinox/tools/eclipse/site/updatesite/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/site/updatesite/NOTICE b/branches/sca-equinox/tools/eclipse/site/updatesite/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/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/branches/sca-equinox/tools/eclipse/site/updatesite/etc/generate-p2.sh b/branches/sca-equinox/tools/eclipse/site/updatesite/etc/generate-p2.sh deleted file mode 100755 index ea2eb865f4..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/etc/generate-p2.sh +++ /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. - -# After building the updatesite Zip, this script can be used to generate the -# Eclipse Ganymede P2 metadata for the site. - -rm -rf target/p2-tmp -mkdir target/p2-tmp -cd target/p2-tmp -unzip ../apache-tuscany-sca-1.4-SNAPSHOT-updatesite.zip - -eclipse -nosplash -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator -updateSite tuscany-sca-1.4-SNAPSHOT-updatesite/ -site file:tuscany-sca-1.4-SNAPSHOT-updatesite/site.xml -metadataRepository file:tuscany-sca-1.4-SNAPSHOT-updatesite/ -metadataRepositoryName "Apache Tuscany SCA Eclipse Update Site." -artifactRepository file:tuscany-sca-1.4-SNAPSHOT-updatesite/ -artifactRepositoryName "Eclipse Ganymede Artifacts" -noDefaultIUs -vmargs -Xmx256m - -zip ../apache-tuscany-sca-1.4-SNAPSHOT-updatesite.zip tuscany-sca-1.4-SNAPSHOT-updatesite/artifacts.xml tuscany-sca-1.4-SNAPSHOT-updatesite/content.xml - diff --git a/branches/sca-equinox/tools/eclipse/site/updatesite/pom.xml b/branches/sca-equinox/tools/eclipse/site/updatesite/pom.xml deleted file mode 100644 index 89992f9bdb..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/pom.xml +++ /dev/null @@ -1,145 +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-sca-eclipse-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.updatesite</artifactId> - <name>Apache Tuscany SCA Eclipse Update Site</name> - - <properties> - <tuscany.version>${pom.version}</tuscany.version> - </properties> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.plugin.core</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.feature.core</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.plugin.ejava</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.feature.ejava</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.plugin.manager</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.feature.manager</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.plugin.process</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.feature.process</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.plugin.web20</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.feature.web20</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.plugin.webservice</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.feature.webservice</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - </dependencies> - - <build> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>updatesite-package</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptors> - <descriptor>src/main/assembly/updatesite.xml</descriptor> - </descriptors> - <tarLongFileMode>gnu</tarLongFileMode> - <finalName>apache-tuscany-sca-${pom.version}</finalName> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/site/updatesite/site.xml b/branches/sca-equinox/tools/eclipse/site/updatesite/site.xml deleted file mode 100644 index 5332e319c8..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/site.xml +++ /dev/null @@ -1,90 +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. ---> -<site> - <description url="http://incubator.apache.org/tuscany"> - Apache Tuscany SCA Eclipse Update Site. - </description> - - <feature url="features/org.apache.tuscany.sca.feature.core-1.4-EQUINOX-SNAPSHOT.jar" - id="org.apache.tuscany.sca.feature.core" version="1.4.0"> - <category name="org.apache.tuscany.sca.core.features"/> - </feature> - - <feature url="features/org.apache.tuscany.sca.feature.ejava-1.4-EQUINOX-SNAPSHOT.jar" - id="org.apache.tuscany.sca.feature.ejava" version="1.4.0"> - <category name="org.apache.tuscany.sca.optional.features"/> - </feature> - - <feature url="features/org.apache.tuscany.sca.feature.manager-1.4-EQUINOX-SNAPSHOT.jar" - id="org.apache.tuscany.sca.feature.manager" version="1.4.0"> - <category name="org.apache.tuscany.sca.core.features"/> - </feature> - - <feature url="features/org.apache.tuscany.sca.feature.process-1.4-EQUINOX-SNAPSHOT.jar" - id="org.apache.tuscany.sca.feature.process" version="1.4.0"> - <category name="org.apache.tuscany.sca.optional.features"/> - </feature> - - <feature url="features/org.apache.tuscany.sca.feature.web20-1.4-EQUINOX-SNAPSHOT.jar" - id="org.apache.tuscany.sca.feature.web20" version="1.4.0"> - <category name="org.apache.tuscany.sca.optional.features"/> - </feature> - - <feature url="features/org.apache.tuscany.sca.feature.webservice-1.4-EQUINOX-SNAPSHOT.jar" - id="org.apache.tuscany.sca.feature.webservice" version="1.4.0"> - <category name="org.apache.tuscany.sca.optional.features"/> - </feature> - - <archive path="features/org.apache.tuscany.sca.feature.core_1.4.0.jar" - url="features/org.apache.tuscany.sca.feature.core-1.4-EQUINOX-SNAPSHOT.jar"/> - <archive path="plugins/org.apache.tuscany.sca.plugin.core_1.4.0.jar" - url="plugins/org.apache.tuscany.sca.plugin.core-1.4-EQUINOX-SNAPSHOT.jar"/> - - <archive path="features/org.apache.tuscany.sca.feature.ejava_1.4.0.jar" - url="features/org.apache.tuscany.sca.feature.ejava-1.4-EQUINOX-SNAPSHOT.jar"/> - <archive path="plugins/org.apache.tuscany.sca.plugin.ejava_1.4.0.jar" - url="plugins/org.apache.tuscany.sca.plugin.ejava-1.4-EQUINOX-SNAPSHOT.jar"/> - - <archive path="features/org.apache.tuscany.sca.feature.manager_1.4.0.jar" - url="features/org.apache.tuscany.sca.feature.manager-1.4-EQUINOX-SNAPSHOT.jar"/> - <archive path="plugins/org.apache.tuscany.sca.plugin.manager_1.4.0.jar" - url="plugins/org.apache.tuscany.sca.plugin.manager-1.4-EQUINOX-SNAPSHOT.jar"/> - - <archive path="features/org.apache.tuscany.sca.feature.process_1.4.0.jar" - url="features/org.apache.tuscany.sca.feature.process-1.4-EQUINOX-SNAPSHOT.jar"/> - <archive path="plugins/org.apache.tuscany.sca.plugin.process_1.4.0.jar" - url="plugins/org.apache.tuscany.sca.plugin.process-1.4-EQUINOX-SNAPSHOT.jar"/> - - <archive path="features/org.apache.tuscany.sca.feature.web20_1.4.0.jar" - url="features/org.apache.tuscany.sca.feature.web20-1.4-EQUINOX-SNAPSHOT.jar"/> - <archive path="plugins/org.apache.tuscany.sca.plugin.web20_1.4.0.jar" - url="plugins/org.apache.tuscany.sca.plugin.web20-1.4-EQUINOX-SNAPSHOT.jar"/> - - <archive path="features/org.apache.tuscany.sca.feature.webservice_1.4.0.jar" - url="features/org.apache.tuscany.sca.feature.webservice-1.4-EQUINOX-SNAPSHOT.jar"/> - <archive path="plugins/org.apache.tuscany.sca.plugin.webservice_1.4.0.jar" - url="plugins/org.apache.tuscany.sca.plugin.webservice-1.4-EQUINOX-SNAPSHOT.jar"/> - - <category-def name="org.apache.tuscany.sca.core.features" - label="Core Features"/> - <category-def name="org.apache.tuscany.sca.optional.features" - label="Optional Features"/> - -</site> diff --git a/branches/sca-equinox/tools/eclipse/site/updatesite/src/main/assembly/updatesite.xml b/branches/sca-equinox/tools/eclipse/site/updatesite/src/main/assembly/updatesite.xml deleted file mode 100644 index c1225e320b..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/src/main/assembly/updatesite.xml +++ /dev/null @@ -1,58 +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. ---> -<assembly> - <id>updatesite</id> - <includeBaseDirectory>false</includeBaseDirectory> - <formats> - <format>zip</format> - </formats> - - <fileSets> - <fileSet> - <outputDirectory>tuscany-sca-${tuscany.version}-updatesite</outputDirectory> - <includes> - <include>LICENSE</include> - <include>NOTICE</include> - <include>site.xml</include> - </includes> - </fileSet> - </fileSets> - - <dependencySets> - <dependencySet> - <outputDirectory>tuscany-sca-${tuscany.version}-updatesite/plugins</outputDirectory> - <unpack>false</unpack> - <includes> - <include>org.apache.tuscany.sca:org.apache.tuscany.sca.plugin.*</include> - </includes> - <scope>runtime</scope> - </dependencySet> - - <dependencySet> - <outputDirectory>tuscany-sca-${tuscany.version}-updatesite/features</outputDirectory> - <unpack>false</unpack> - <includes> - <include>org.apache.tuscany.sca:org.apache.tuscany.sca.feature.*</include> - </includes> - <scope>runtime</scope> - </dependencySet> - </dependencySets> - -</assembly> diff --git a/branches/sca-equinox/tools/maven/maven-ant-generator/LICENSE b/branches/sca-equinox/tools/maven/maven-ant-generator/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/maven/maven-ant-generator/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/maven/maven-ant-generator/NOTICE b/branches/sca-equinox/tools/maven/maven-ant-generator/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/maven/maven-ant-generator/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/branches/sca-equinox/tools/maven/maven-ant-generator/pom.xml b/branches/sca-equinox/tools/maven/maven-ant-generator/pom.xml deleted file mode 100644 index 3f1aa866d6..0000000000 --- a/branches/sca-equinox/tools/maven/maven-ant-generator/pom.xml +++ /dev/null @@ -1,64 +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-sca-maven-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-maven-ant-generator</artifactId> - <packaging>maven-plugin</packaging> - <name>Apache Tuscany SCA Ant Build Generator Maven Plugin</name> - - <dependencies> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - <version>2.0.5</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-project</artifactId> - <version>2.0.5</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-settings</artifactId> - <version>2.0.5</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-artifact</artifactId> - <version>2.0.5</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-model</artifactId> - <version>2.0.5</version> - </dependency> - - </dependencies> -</project> diff --git a/branches/sca-equinox/tools/maven/maven-ant-generator/src/main/java/org/apache/tuscany/sca/tools/ant/generator/plugin/AntGeneratorMojo.java b/branches/sca-equinox/tools/maven/maven-ant-generator/src/main/java/org/apache/tuscany/sca/tools/ant/generator/plugin/AntGeneratorMojo.java deleted file mode 100644 index d7b80bd67c..0000000000 --- a/branches/sca-equinox/tools/maven/maven-ant-generator/src/main/java/org/apache/tuscany/sca/tools/ant/generator/plugin/AntGeneratorMojo.java +++ /dev/null @@ -1,534 +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.tools.ant.generator.plugin; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.maven.artifact.Artifact; -import org.apache.maven.artifact.factory.ArtifactFactory; -import org.apache.maven.artifact.repository.ArtifactRepository; -import org.apache.maven.artifact.resolver.ArtifactResolver; -import org.apache.maven.model.FileSet; -import org.apache.maven.model.Plugin; -import org.apache.maven.model.PluginExecution; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.project.MavenProject; -import org.apache.maven.settings.Settings; -import org.codehaus.plexus.util.xml.Xpp3Dom; - -/** - * A Maven plugin that generates an Ant build.xml file for Tuscany SCA samples. - * - * Build dependencies and additional build steps like WSDL2Java for example are - * automatically determined from the pom.xml file describing the module's Maven build. - * - * @version $Rev$ $Date$ - * @goal generate - * @phase generate-sources - * @requiresDependencyResolution test - * @description Generate Ant build script for an SCA project - */ -public class AntGeneratorMojo extends AbstractMojo { - - /** - * The project to generate an Ant build for. - * - * @parameter expression="${project}" - * @required - */ - private MavenProject project; - - /** - * Used for resolving artifacts - * - * @component - */ - private ArtifactResolver resolver; - - /** - * Factory for creating artifact objects - * - * @component - */ - private ArtifactFactory factory; - - /** - * The local repository where the artifacts are located - * - * @parameter expression="${localRepository}" - * @required - */ - private ArtifactRepository localRepository; - - /** - * The remote repositories where artifacts are located - * - * @parameter expression="${project.remoteArtifactRepositories}" - */ - private List remoteRepositories; - - /** - * The current user system settings for use in Maven. - * - * @parameter expression="${settings}" - * @required - * @readonly - */ - private Settings settings; - - /** - * The main class name. - * @parameter - */ - private String mainClass; - - /** - * If set true then only the dependency file is created. The dependency - * file can then be included in a hand generated build.xml file - * @parameter - */ - private Boolean buildDependencyFileOnly; - - /** - * The build.xml file to generate. - * @parameter expression="${basedir}/build.xml" - */ - private String buildFile; - - /** - * The build-dependency.xml file to generate. - * @parameter expression="${basedir}/build-dependency.xml" - */ - private String buildDependencyFile; - - public void execute() throws MojoExecutionException { - if ((buildDependencyFileOnly != null) && - (buildDependencyFileOnly == true)){ - generateBuildDependencyFile(); - } else { - generateBuildFile(); - } - } - - /** - * Generate Ant build dependency XML file - */ - private void generateBuildDependencyFile() throws MojoExecutionException { - - getLog().info("Generating " + buildDependencyFile); - - // Open the target build-dependency.xml file - File targetFile = new File(buildDependencyFile); - PrintWriter pw; - try { - pw = new PrintWriter(new FileOutputStream(targetFile)); - } catch (FileNotFoundException e) { - throw new MojoExecutionException(e.toString()); - } - - // Generate the Apache license header - generateLicenseHeader(pw); - - // Generate Ant filesets representing the build dependencies - generateBuildDependencies(pw); - - pw.close(); - } - - /** - * Generate Ant build XML file - */ - private void generateBuildFile() throws MojoExecutionException { - - getLog().info("Generating " + buildFile); - - // Open the target build.xml file - File targetFile = new File(buildFile); - PrintWriter pw; - try { - pw = new PrintWriter(new FileOutputStream(targetFile)); - } catch (FileNotFoundException e) { - throw new MojoExecutionException(e.toString()); - } - - // Determine the project packaging - String packaging = project.getPackaging().toLowerCase(); - - // Generate the Apache license header - generateLicenseHeader(pw); - - pw.println("<project name=\"" + project.getArtifactId() + "\" default=\"compile\">"); - pw.println(); - - // Generate the compile target - int base = project.getBasedir().toString().length() + 1; - pw.println(" <target name=\"compile\">"); - pw.println(" <mkdir dir=\"target/classes\"/>"); - - // Generate any pre-compilation tasks - generatePreCompileTasks(pw); - - // Generate the compile task - pw.println(" <javac destdir=\"target/classes\" debug=\"on\" source=\"1.5\" target=\"1.5\">"); - for (String source: (List<String>)project.getCompileSourceRoots()) { - if (source.length() > base) { - source = source.substring(base); - } else { - source = "."; - } - pw.println(" <src path=\"" + source + "\"/>"); - } - pw.println(" <classpath>"); - pw.println(" <fileset refid=\"tuscany.jars\"/>"); - pw.println(" <fileset refid=\"3rdparty.jars\"/>"); - pw.println(" </classpath>"); - pw.println(" </javac>"); - pw.println(" <copy todir=\"target/classes\">"); - for (FileSet resource: (List<FileSet>)project.getResources()) { - String source = resource.getDirectory(); - if (source.length() > base) { - source = source.substring(base); - - if (source.equals(".")){ - pw.println(" <fileset dir=\".\" includes=\"*\" excludes=\"src, target, pom.xml, build.xml\"/>"); - } else { - pw.println(" <fileset dir=\"" + source + "\"/>"); - } - } else { - if (project.getResources().size() > 1) { - break; - } - pw.println(" <fileset dir=\".\" excludes=\"**/*.java, pom.xml, build.xml, target\"/>"); - source = "."; - } - } - pw.println(" </copy>"); - - // Build a JAR - if (packaging.equals("jar")) { - pw.println(" <jar destfile=\"target/" + project.getArtifactId() + ".jar\" basedir=\"target/classes\">"); - pw.println(" <manifest>"); - if (mainClass != null) { - pw.println(" <attribute name=\"Main-Class\" value=\"" + mainClass + "\"/>"); - } - pw.println(" </manifest>"); - pw.println(" </jar>"); - - } else if (packaging.equals("war")) { - - // Build a WAR - pw.println(" <war destfile=\"target/" + project.getArtifactId() + ".war\" webxml=\"src/main/webapp/WEB-INF/web.xml\">"); - pw.println(" <fileset dir=\"src/main/webapp\"/>"); - pw.println(" <lib refid=\"tuscany.jars\"/>"); - pw.println(" <lib refid=\"3rdparty.jars\"/>"); - pw.println(" <classes dir=\"target/classes\"/>"); - pw.println(" </war>"); - } - pw.println(" </target>"); - pw.println(); - - - // Generate a package target alongside the compile target - // Tuscany SCA samples use "package" as the target for webapps - pw.println(" <target name=\"package\" depends=\"compile\"/>"); - pw.println(); - - // Generate the run target - if (mainClass != null) { - pw.println(" <target name=\"run\">"); - pw.println(" <java classname=\"" + mainClass + "\" fork=\"true\">"); - pw.println(" <classpath>"); - pw.println(" <pathelement location=\"target/" + project.getArtifactId() + ".jar\"/>"); - pw.println(" <fileset refid=\"tuscany.jars\"/>"); - pw.println(" <fileset refid=\"3rdparty.jars\"/>"); - pw.println(" </classpath>"); - pw.println(" </java>"); - pw.println(" </target>"); - pw.println(); - } - - // Generate the clean target - pw.println(" <target name=\"clean\">"); - pw.println(" <delete includeemptydirs=\"true\">"); - pw.println(" <fileset dir=\"target\"/>"); - pw.println(" </delete>"); - pw.println(" </target>"); - pw.println(); - - // Generate Ant filesets representing the build dependencies - generateBuildDependencies(pw); - - pw.println("</project>"); - pw.close(); - } - - /** - * Generate Ant filesets representing the build dependencies. - * @param pw PrintWriter to write to - */ - private void generateBuildDependencies(PrintWriter pw) { - - // Determine the module dependencies - List<String> tuscanyModules = new ArrayList<String>(); - List<String> otherModules = new ArrayList<String>(); - for (Artifact artifact: (List<Artifact>)project.getRuntimeArtifacts()) { - if (artifact.getGroupId().startsWith("org.apache.tuscany.sca")) { - tuscanyModules.add(artifact.getFile().getName()); - } else { - otherModules.add(artifact.getFile().getName()); - } - } - - // Sort lists of modules, making output deterministic - Collections.sort(tuscanyModules); - Collections.sort(otherModules); - - // Generate filesets for the tuscany and 3rd party dependencies - pw.println(" <fileset id=\"tuscany.jars\" dir=\"../../modules\">"); - for (String name: tuscanyModules) { - pw.println(" <include name=\"" + name +"\"/>"); - } - pw.println(" </fileset>"); - pw.println(" <fileset id=\"3rdparty.jars\" dir=\"../../lib\">"); - for (String name: otherModules) { - pw.println(" <include name=\"" + name +"\"/>"); - } - pw.println(" </fileset>"); - pw.println(); - } - - /** - * Extract plugin execution configurations out of the Maven model. This handles - * nested configurations with a base configuration and a collection of nested - * configuration elements, for example: - * <configuration> - * <schemaFiles> - * <configuration> - * <fileName>x.wsdl</fileName> - * </configuration> - * <configuration> - * <fileName>y.wsdl</fileName> - * </configuration> - * </schemaFiles> - * <noNotification>true</noNotification> - * </configuration> - * - * @param execution Maven plugin execution model - * @return a list of maps containing the plugin configuration key value pairs - */ - private static List<Map<String, String>> pluginConfigurations(PluginExecution execution) { - List<Map<String, String>> configurations = new ArrayList<Map<String,String>>(); - Map<String, String> topConfiguration = new HashMap<String, String>(); - - Xpp3Dom dom = (Xpp3Dom)execution.getConfiguration(); - for (Xpp3Dom element: dom.getChildren()) { - if (element.getChildCount() != 0) { - // Handle nested configuration element, create a child configuration - // for each - for (Xpp3Dom childConfigurationElement: element.getChildren()) { - Map<String, String> childConfiguration = new HashMap<String, String>(); - for (Xpp3Dom childElement: childConfigurationElement.getChildren()) { - childConfiguration.put(childElement.getName(), childElement.getValue()); - } - configurations.add(childConfiguration); - } - } else { - // Handle top level key value pair element - topConfiguration.put(element.getName(), element.getValue()); - } - } - // Return the top configuration or the child configurations merged - // with the top one - if (configurations.isEmpty()) { - configurations.add(topConfiguration); - } else { - for (Map<String, String> configuration: configurations) { - configuration.putAll(topConfiguration); - } - } - return configurations; - } - - /** - * Generate Ant tasks for the pre-compilation generation plugins - * used in the Maven module. - * @param pw PrintWriter to write to - * @return list of directories containing generated source to compile - */ - private void generatePreCompileTasks(PrintWriter pw) { - String baseDir = project.getBasedir().getAbsolutePath() + '/'; - - List<Plugin> plugins = (List<Plugin>)project.getBuildPlugins(); - for (Plugin plugin: plugins) { - - // Generate Ant task equivalent to the Tuscany SDO plugin - if ("org.apache.tuscany.sdo".equals(plugin.getGroupId()) && "tuscany-sdo-plugin".equals(plugin.getArtifactId())) { - for (PluginExecution execution: (List<PluginExecution>)plugin.getExecutions()) { - for (Map<String, String> configuration: pluginConfigurations(execution)) { - - pw.println(" <java classname=\"org.apache.tuscany.sdo.generate.XSD2JavaGenerator\" fork=\"true\">"); - - // Generate the various code generation options - for (Map.Entry<String, String> element: configuration.entrySet()) { - String key = element.getKey(); - String value = element.getValue(); - if (key.equals("schemaNamespace")) { - pw.println(" <arg value=\"-schemaNamespace\"/>"); - pw.println(" <arg value=\"" + value + "\"/>"); - } - if (key.equals("javaPackage")) { - pw.println(" <arg value=\"-javaPackage\"/>"); - pw.println(" <arg value=\"" + value + "\"/>"); - } - if (key.equals("prefix")) { - pw.println(" <arg value=\"-prefix\"/>"); - pw.println(" <arg value=\"" + value + "\"/>"); - } - if (key.equals("noInterfaces") && "true".equals(value)) { - pw.println(" <arg value=\"-noInterfaces\"/>"); - } - if (key.equals("noNotification") && "true".equals(value)) { - pw.println(" <arg value=\"-noNotification\"/>"); - } - if (key.equals("noContainer") && "true".equals(value)) { - pw.println(" <arg value=\"-noContainment\"/>"); - } - if (key.equals("noUnsettable") && "true".equals(value)) { - pw.println(" <arg value=\"-noUnsettable\"/>"); - } - } - - // Generate target directory parameter - String targetDirectory = configuration.get("targetDirectory"); - if (targetDirectory == null) { - targetDirectory = "target/sdo-source"; - } else if (targetDirectory.startsWith(baseDir)) { - targetDirectory = targetDirectory.substring(baseDir.length()); - } - pw.println(" <arg value=\"-targetDirectory\"/>"); - pw.println(" <arg value=\"" + targetDirectory + "\"/>"); - - // Generate schema file parameter - String schemaFile = configuration.get("schemaFile"); - if (schemaFile == null) { - schemaFile = configuration.get("fileName"); - } - if (schemaFile != null) { - if (schemaFile.startsWith(baseDir)) { - schemaFile = schemaFile.substring(baseDir.length()); - } - pw.println(" <arg value=\"" + schemaFile + "\"/>"); - } - - pw.println(" <classpath>"); - pw.println(" <fileset refid=\"tuscany.jars\"/>"); - pw.println(" <fileset refid=\"3rdparty.jars\"/>"); - pw.println(" </classpath>"); - pw.println(" </java>"); - } - } - } - - // Generate Ant task equivalent to the Tuscany WSDL2Java plugin - else if ("org.apache.tuscany.sca".equals(plugin.getGroupId()) && "tuscany-maven-wsdl2java".equals(plugin.getArtifactId())) { - for (PluginExecution execution: (List<PluginExecution>)plugin.getExecutions()) { - for (Map<String, String> configuration: pluginConfigurations(execution)) { - - pw.println(" <java classname=\"org.apache.tuscany.tools.wsdl2java.generate.WSDL2JavaGenerator\" fork=\"true\">"); - - // Generate the various code generation options - for (Map.Entry<String, String> element: configuration.entrySet()) { - String key = element.getKey(); - String value = element.getValue(); - if (key.equals("javaPackage")) { - pw.println(" <arg value=\"-javaPackage\"/>"); - pw.println(" <arg value=\"" + value + "\"/>"); - } - } - - // Generate target directory parameter - String targetDirectory = configuration.get("targetDirectory"); - if (targetDirectory == null) { - targetDirectory = "target/wsdl2java-source"; - } else if (targetDirectory.startsWith(baseDir)) { - targetDirectory = targetDirectory.substring(baseDir.length()); - } - pw.println(" <arg value=\"-targetDirectory\"/>"); - pw.println(" <arg value=\"" + targetDirectory + "\"/>"); - - // Generate WSDL file parameter - String wsdlFile = configuration.get("wsdlFile"); - if (wsdlFile == null) { - wsdlFile = configuration.get("fileName"); - } - if (wsdlFile != null) { - if (wsdlFile.startsWith(baseDir)) { - wsdlFile = wsdlFile.substring(baseDir.length()); - } - pw.println(" <arg value=\"" + wsdlFile + "\"/>"); - } - - pw.println(" <classpath>"); - pw.println(" <fileset refid=\"tuscany.jars\"/>"); - pw.println(" <fileset refid=\"3rdparty.jars\"/>"); - pw.println(" </classpath>"); - pw.println(" </java>"); - } - } - } - } - } - - /** - * Generate license header. - * - * @param pw PrintWriter to write to - */ - private void generateLicenseHeader(PrintWriter pw) { - pw.println("<!--"); - pw.println(" * Licensed to the Apache Software Foundation (ASF) under one"); - pw.println(" * or more contributor license agreements. See the NOTICE file"); - pw.println(" * distributed with this work for additional information"); - pw.println(" * regarding copyright ownership. The ASF licenses this file"); - pw.println(" * to you under the Apache License, Version 2.0 (the"); - pw.println(" * \"License\"); you may not use this file except in compliance"); - pw.println(" * with the License. You may obtain a copy of the License at"); - pw.println(" * "); - pw.println(" * http://www.apache.org/licenses/LICENSE-2.0"); - pw.println(" * "); - pw.println(" * Unless required by applicable law or agreed to in writing,"); - pw.println(" * software distributed under the License is distributed on an"); - pw.println(" * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY"); - pw.println(" * KIND, either express or implied. See the License for the"); - pw.println(" * specific language governing permissions and limitations"); - pw.println(" * under the License."); - pw.println("-->"); - pw.println(); - } - -}
\ No newline at end of file diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/pom.xml b/branches/sca-equinox/tools/maven/maven-bundle-plugin/pom.xml deleted file mode 100644 index 8b8bd996af..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/pom.xml +++ /dev/null @@ -1,81 +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-sca-maven-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-maven-bundle-plugin</artifactId> - <packaging>maven-plugin</packaging> - <name>Apache Tuscany SCA Maven OSGi Bundle Plugin</name> - - <dependencies> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - <version>2.0.8</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-project</artifactId> - <version>2.0.8</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-settings</artifactId> - <version>2.0.8</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-artifact</artifactId> - <version>2.0.8</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-model</artifactId> - <version>2.0.8</version> - </dependency> - - <dependency> - <groupId>org.apache.maven.shared</groupId> - <artifactId>maven-dependency-tree</artifactId> - <version>1.1</version> - </dependency> - - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <version>1.4.3</version> - </dependency> - - <dependency> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-eclipse-plugin</artifactId> - <version>2.5.1</version> - </dependency> - </dependencies> -</project> diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/AbstractIdeSupportMojo.java b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/AbstractIdeSupportMojo.java deleted file mode 100644 index d0961ccd9c..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/AbstractIdeSupportMojo.java +++ /dev/null @@ -1,1114 +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.maven.plugin.eclipse; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.Set; -import java.util.TreeSet; -import java.util.jar.Attributes; -import java.util.jar.JarFile; -import java.util.jar.Manifest; -import java.util.zip.ZipFile; - -import org.apache.maven.artifact.Artifact; -import org.apache.maven.artifact.factory.ArtifactFactory; -import org.apache.maven.artifact.metadata.ArtifactMetadataSource; -import org.apache.maven.artifact.repository.ArtifactRepository; -import org.apache.maven.artifact.resolver.ArtifactCollector; -import org.apache.maven.artifact.resolver.ArtifactNotFoundException; -import org.apache.maven.artifact.resolver.ArtifactResolutionException; -import org.apache.maven.artifact.resolver.ArtifactResolutionResult; -import org.apache.maven.artifact.resolver.ArtifactResolver; -import org.apache.maven.artifact.resolver.DebugResolutionListener; -import org.apache.maven.artifact.resolver.ResolutionNode; -import org.apache.maven.artifact.resolver.WarningResolutionListener; -import org.apache.maven.artifact.resolver.filter.ArtifactFilter; -import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter; -import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; -import org.apache.maven.artifact.versioning.VersionRange; -import org.apache.maven.model.Dependency; -import org.apache.maven.model.DependencyManagement; -import org.apache.maven.model.Exclusion; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugin.eclipse.Constants; -import org.apache.maven.plugin.ide.IdeDependency; -import org.apache.maven.plugin.ide.IdeUtils; -import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.logging.LogEnabled; -import org.codehaus.plexus.logging.Logger; -import org.codehaus.plexus.util.IOUtil; - -/** - * Abstract base plugin which takes care of the common stuff usually needed by maven IDE plugins. A plugin extending - * AbstractIdeSupportMojo should implement the <code>setup()</code> and <code>writeConfiguration()</code> methods, - * plus the getters needed to get the various configuration flags and required components. The lifecycle: - * - * <pre> - * *** calls setup() where you can configure your specific stuff and stop the mojo from execute if appropriate *** - * - manually resolve project dependencies, NOT failing if a dependency is missing - * - compute project references (reactor projects) if the getUseProjectReferences() flag is set - * - download sources/javadocs if the getDownloadSources() flag is set - * *** calls writeConfiguration(), passing the list of resolved referenced dependencies *** - * - report the list of missing sources or just tell how to turn this feature on if the flag was disabled - * </pre> - * - * @author Fabrizio Giustina - * @version $Id: AbstractIdeSupportMojo.java 628794 2008-02-18 16:09:11Z aheritier $ - */ -public abstract class AbstractIdeSupportMojo - extends AbstractMojo - implements LogEnabled -{ - /** - * Is it an PDE project? If yes, the plugin adds the necessary natures and build commands to the .project file. - * Additionally it copies all libraries to a project local directory and references them instead of referencing the - * files in the local Maven repository. It also ensured that the "Bundle-Classpath" in META-INF/MANIFEST.MF is - * synchronized. - * - * @parameter expression="${eclipse.pde}" default-value="true" - */ - protected boolean pde; - - /** - * The project whose project files to create. - * - * @parameter expression="${project}" - * @required - * @readonly - */ - protected MavenProject project; - - // [rfeng] Change it to use the current project - /** - * The currently executed project (can be a reactor project). - * - * @parameter expression="${project}" - * @readonly - */ - protected MavenProject executedProject; - - /** - * The project packaging. - * - * @parameter expression="${project.packaging}" - */ - protected String packaging; - - /** - * Artifact factory, needed to download source jars for inclusion in classpath. - * - * @component role="org.apache.maven.artifact.factory.ArtifactFactory" - * @required - * @readonly - */ - protected ArtifactFactory artifactFactory; - - /** - * Artifact resolver, needed to download source jars for inclusion in classpath. - * - * @component role="org.apache.maven.artifact.resolver.ArtifactResolver" - * @required - * @readonly - */ - protected ArtifactResolver artifactResolver; - - /** - * Artifact collector, needed to resolve dependencies. - * - * @component role="org.apache.maven.artifact.resolver.ArtifactCollector" - * @required - * @readonly - */ - protected ArtifactCollector artifactCollector; - - /** - * @component role="org.apache.maven.artifact.metadata.ArtifactMetadataSource" hint="maven" - */ - protected ArtifactMetadataSource artifactMetadataSource; - - /** - * Remote repositories which will be searched for source attachments. - * - * @parameter expression="${project.remoteArtifactRepositories}" - * @required - * @readonly - */ - protected List remoteArtifactRepositories; - - /** - * Local maven repository. - * - * @parameter expression="${localRepository}" - * @required - * @readonly - */ - protected ArtifactRepository localRepository; - - /** - * If the executed project is a reactor project, this will contains the full list of projects in the reactor. - * - * @parameter expression="${reactorProjects}" - * @required - * @readonly - */ - protected List reactorProjects; - - /** - * Skip the operation when true. - * - * @parameter expression="${eclipse.skip}" default-value="false" - */ - private boolean skip; - - /** - * Enables/disables the downloading of source attachments. Defaults to false. When this flag is <code>true</code> - * remote repositories are checked for sources: in order to avoid repeated check for unavailable source archives, a - * status cache is mantained into the target dir of the root project. Run <code>mvn:clean</code> or delete the - * file <code>mvn-eclipse-cache.properties</code> in order to reset this cache. - * - * @parameter expression="${downloadSources}" - */ - protected boolean downloadSources; - - /** - * Enables/disables the downloading of javadoc attachments. Defaults to false. When this flag is <code>true</code> - * remote repositories are checked for javadocs: in order to avoid repeated check for unavailable javadoc archives, - * a status cache is mantained into the target dir of the root project. Run <code>mvn:clean</code> or delete the - * file <code>mvn-eclipse-cache.properties</code> in order to reset this cache. - * - * @parameter expression="${downloadJavadocs}" - */ - protected boolean downloadJavadocs; - - /** - * Plexus logger needed for debugging manual artifact resolution. - */ - protected Logger logger; - - /** - * Getter for <code>artifactMetadataSource</code>. - * - * @return Returns the artifactMetadataSource. - */ - public ArtifactMetadataSource getArtifactMetadataSource() - { - return artifactMetadataSource; - } - - /** - * Setter for <code>artifactMetadataSource</code>. - * - * @param artifactMetadataSource The artifactMetadataSource to set. - */ - public void setArtifactMetadataSource( ArtifactMetadataSource artifactMetadataSource ) - { - this.artifactMetadataSource = artifactMetadataSource; - } - - /** - * Getter for <code>project</code>. - * - * @return Returns the project. - */ - public MavenProject getProject() - { - return project; - } - - /** - * Setter for <code>project</code>. - * - * @param project The project to set. - */ - public void setProject( MavenProject project ) - { - this.project = project; - } - - /** - * Getter for <code>reactorProjects</code>. - * - * @return Returns the reactorProjects. - */ - public List getReactorProjects() - { - return reactorProjects; - } - - /** - * Setter for <code>reactorProjects</code>. - * - * @param reactorProjects The reactorProjects to set. - */ - public void setReactorProjects( List reactorProjects ) - { - this.reactorProjects = reactorProjects; - } - - /** - * Getter for <code>remoteArtifactRepositories</code>. - * - * @return Returns the remoteArtifactRepositories. - */ - public List getRemoteArtifactRepositories() - { - return remoteArtifactRepositories; - } - - /** - * Setter for <code>remoteArtifactRepositories</code>. - * - * @param remoteArtifactRepositories The remoteArtifactRepositories to set. - */ - public void setRemoteArtifactRepositories( List remoteArtifactRepositories ) - { - this.remoteArtifactRepositories = remoteArtifactRepositories; - } - - /** - * Getter for <code>artifactFactory</code>. - * - * @return Returns the artifactFactory. - */ - public ArtifactFactory getArtifactFactory() - { - return artifactFactory; - } - - /** - * Setter for <code>artifactFactory</code>. - * - * @param artifactFactory The artifactFactory to set. - */ - public void setArtifactFactory( ArtifactFactory artifactFactory ) - { - this.artifactFactory = artifactFactory; - } - - /** - * Getter for <code>artifactResolver</code>. - * - * @return Returns the artifactResolver. - */ - public ArtifactResolver getArtifactResolver() - { - return artifactResolver; - } - - /** - * Setter for <code>artifactResolver</code>. - * - * @param artifactResolver The artifactResolver to set. - */ - public void setArtifactResolver( ArtifactResolver artifactResolver ) - { - this.artifactResolver = artifactResolver; - } - - /** - * Getter for <code>executedProject</code>. - * - * @return Returns the executedProject. - */ - public MavenProject getExecutedProject() - { - return executedProject; - } - - /** - * Setter for <code>executedProject</code>. - * - * @param executedProject The executedProject to set. - */ - public void setExecutedProject( MavenProject executedProject ) - { - this.executedProject = executedProject; - } - - /** - * Getter for <code>localRepository</code>. - * - * @return Returns the localRepository. - */ - public ArtifactRepository getLocalRepository() - { - return localRepository; - } - - /** - * Setter for <code>localRepository</code>. - * - * @param localRepository The localRepository to set. - */ - public void setLocalRepository( ArtifactRepository localRepository ) - { - this.localRepository = localRepository; - } - - /** - * Getter for <code>downloadJavadocs</code>. - * - * @return Returns the downloadJavadocs. - */ - public boolean getDownloadJavadocs() - { - return downloadJavadocs; - } - - /** - * Setter for <code>downloadJavadocs</code>. - * - * @param downloadJavadocs The downloadJavadocs to set. - */ - public void setDownloadJavadocs( boolean downloadJavadoc ) - { - downloadJavadocs = downloadJavadoc; - } - - /** - * Getter for <code>downloadSources</code>. - * - * @return Returns the downloadSources. - */ - public boolean getDownloadSources() - { - return downloadSources; - } - - /** - * Setter for <code>downloadSources</code>. - * - * @param downloadSources The downloadSources to set. - */ - public void setDownloadSources( boolean downloadSources ) - { - this.downloadSources = downloadSources; - } - - protected void setResolveDependencies( boolean resolveDependencies ) - { - this.resolveDependencies = resolveDependencies; - } - - protected boolean isResolveDependencies() - { - return resolveDependencies; - } - - /** - * return <code>false</code> if projects available in a reactor build should be considered normal dependencies, - * <code>true</code> if referenced project will be linked and not need artifact resolution. - * - * @return <code>true</code> if referenced project will be linked and not need artifact resolution - */ - protected abstract boolean getUseProjectReferences(); - - /** - * Hook for preparation steps before the actual plugin execution. - * - * @return <code>true</code> if execution should continue or <code>false</code> if not. - * @throws MojoExecutionException generic mojo exception - */ - protected abstract boolean setup() - throws MojoExecutionException; - - /** - * Main plugin method where dependencies should be processed in order to generate IDE configuration files. - * - * @param deps list of <code>IdeDependency</code> objects, with artifacts, sources and javadocs already resolved - * @throws MojoExecutionException generic mojo exception - */ - protected abstract void writeConfiguration( IdeDependency[] deps ) - throws MojoExecutionException; - - /** - * Not a plugin parameter. Collect the list of dependencies with a missing source artifact for the final report. - */ - private List missingSourceDependencies = new ArrayList(); - - /** - * Not a plugin parameter. Collect the list of dependencies with a missing javadoc artifact for the final report. - */ - // TODO merge this with the missingSourceDependencies in a classifier based map? - private List missingJavadocDependencies = new ArrayList(); - - /** - * Cached array of resolved dependencies. - */ - private IdeDependency[] ideDeps; - - /** - * Flag for mojo implementations to control whether normal maven dependencies should be resolved. Default value is - * true. - */ - private boolean resolveDependencies = true; - - /** - * @see org.codehaus.plexus.logging.LogEnabled#enableLogging(org.codehaus.plexus.logging.Logger) - */ - public void enableLogging( Logger logger ) - { - this.logger = logger; - } - - /** - * @see org.apache.maven.plugin.Mojo#execute() - */ - public final void execute() - throws MojoExecutionException, MojoFailureException - { - if ( skip ) - { - return; - } - - boolean processProject = setup(); - if ( !processProject ) - { - return; - } - - // resolve artifacts - IdeDependency[] deps = doDependencyResolution(); - - resolveSourceAndJavadocArtifacts( deps ); - - writeConfiguration( deps ); - - reportMissingArtifacts(); - - } - - /** - * Resolve project dependencies. Manual resolution is needed in order to avoid resolution of multiproject artifacts - * (if projects will be linked each other an installed jar is not needed) and to avoid a failure when a jar is - * missing. - * - * @throws MojoExecutionException if dependencies can't be resolved - * @return resolved IDE dependencies, with attached jars for non-reactor dependencies - */ - protected IdeDependency[] doDependencyResolution() - throws MojoExecutionException - { - if ( ideDeps == null ) - { - if ( resolveDependencies ) - { - MavenProject project = getProject(); - ArtifactRepository localRepo = getLocalRepository(); - - List deps = getProject().getDependencies(); - - // Collect the list of resolved IdeDependencies. - List dependencies = new ArrayList(); - - if ( deps != null ) - { - Map managedVersions = - createManagedVersionMap( getArtifactFactory(), project.getId(), - project.getDependencyManagement() ); - - ArtifactResolutionResult artifactResolutionResult = null; - - try - { - - List listeners = new ArrayList(); - - if ( logger.isDebugEnabled() ) - { - listeners.add( new DebugResolutionListener( logger ) ); - } - - listeners.add( new WarningResolutionListener( logger ) ); - - artifactResolutionResult = - artifactCollector.collect( getProjectArtifacts(), project.getArtifact(), managedVersions, - localRepo, project.getRemoteArtifactRepositories(), - getArtifactMetadataSource(), null, listeners ); - } - catch ( ArtifactResolutionException e ) - { - getLog().debug( e.getMessage(), e ); - getLog().error( - Messages.getString( "artifactresolution", new Object[] { //$NON-NLS-1$ - e.getGroupId(), e.getArtifactId(), e.getVersion(), - e.getMessage() } ) ); - - // if we are here artifactResolutionResult is null, create a project without dependencies but - // don't fail - // (this could be a reactor projects, we don't want to fail everything) - // Causes MECLIPSE-185. Not sure if it should be handled this way?? - return new IdeDependency[0]; - } - - // keep track of added reactor projects in order to avoid duplicates - Set emittedReactorProjectId = new HashSet(); - - for ( Iterator i = artifactResolutionResult.getArtifactResolutionNodes().iterator(); i.hasNext(); ) - { - - ResolutionNode node = (ResolutionNode) i.next(); - int dependencyDepth = node.getDepth(); - Artifact art = node.getArtifact(); - // don't resolve jars for reactor projects - if ( hasToResolveJar( art ) ) - { - try - { - artifactResolver.resolve( art, node.getRemoteRepositories(), localRepository ); - } - catch ( ArtifactNotFoundException e ) - { - getLog().debug( e.getMessage(), e ); - getLog().warn( - Messages.getString( "artifactdownload", new Object[] { //$NON-NLS-1$ - e.getGroupId(), e.getArtifactId(), e.getVersion(), - e.getMessage() } ) ); - } - catch ( ArtifactResolutionException e ) - { - getLog().debug( e.getMessage(), e ); - getLog().warn( - Messages.getString( "artifactresolution", new Object[] { //$NON-NLS-1$ - e.getGroupId(), e.getArtifactId(), e.getVersion(), - e.getMessage() } ) ); - } - } - - boolean includeArtifact = true; - if ( getExcludes() != null ) - { - String artifactFullId = art.getGroupId() + ":" + art.getArtifactId(); - if ( getExcludes().contains( artifactFullId ) ) - { - getLog().info( "excluded: " + artifactFullId ); - includeArtifact = false; - } - } - - if ( includeArtifact && - ( !( getUseProjectReferences() && isAvailableAsAReactorProject( art ) ) || emittedReactorProjectId.add( art.getGroupId() + - '-' + art.getArtifactId() ) ) ) - { - - // the following doesn't work: art.getArtifactHandler().getPackaging() always returns "jar" - // also - // if the packaging specified in pom.xml is different. - - // osgi-bundle packaging is provided by the felix osgi plugin - // eclipse-plugin packaging is provided by this eclipse plugin - // String packaging = art.getArtifactHandler().getPackaging(); - // boolean isOsgiBundle = "osgi-bundle".equals( packaging ) || "eclipse-plugin".equals( - // packaging ); - - // we need to check the manifest, if "Bundle-SymbolicName" is there the artifact can be - // considered - // an osgi bundle - boolean isOsgiBundle = false; - String osgiSymbolicName = null; - if ( art.getFile() != null ) - { - JarFile jarFile = null; - try - { - jarFile = new JarFile( art.getFile(), false, ZipFile.OPEN_READ ); - - Manifest manifest = jarFile.getManifest(); - if ( manifest != null ) - { - osgiSymbolicName = - manifest.getMainAttributes().getValue( - new Attributes.Name( - "Bundle-SymbolicName" ) ); - } - } - catch ( IOException e ) - { - getLog().info( "Unable to read jar manifest from " + art.getFile() ); - } - finally - { - if ( jarFile != null ) - { - try - { - jarFile.close(); - } - catch ( IOException e ) - { - // ignore - } - } - } - } - - isOsgiBundle = osgiSymbolicName != null; - - IdeDependency dep = - new IdeDependency( art.getGroupId(), art.getArtifactId(), art.getVersion(), - art.getClassifier(), useProjectReference( art ), - Artifact.SCOPE_TEST.equals( art.getScope() ), - Artifact.SCOPE_SYSTEM.equals( art.getScope() ), - Artifact.SCOPE_PROVIDED.equals( art.getScope() ), - art.getArtifactHandler().isAddedToClasspath(), art.getFile(), - art.getType(), isOsgiBundle, osgiSymbolicName, dependencyDepth, - getProjectNameForArifact( art ) ); - // no duplicate entries allowed. System paths can cause this problem. - if ( !dependencies.contains( dep ) ) - { - // [rfeng] Do not add compile/provided dependencies - if (!(pde && (Artifact.SCOPE_COMPILE.equals(art.getScope()) || Artifact.SCOPE_PROVIDED - .equals(art.getScope())))) { - dependencies.add( dep ); - } - } - } - - } - - // @todo a final report with the list of - // missingArtifacts? - - } - - ideDeps = (IdeDependency[]) dependencies.toArray( new IdeDependency[dependencies.size()] ); - } - else - { - ideDeps = new IdeDependency[0]; - } - } - - return ideDeps; - } - - /** - * Find the name of the project as used in eclipse. - * - * @param artifact The artifact to find the eclipse name for. - * @return The name os the eclipse project. - */ - abstract public String getProjectNameForArifact( Artifact artifact ); - - /** - * Returns the list of project artifacts. Also artifacts generated from referenced projects will be added, but with - * the <code>resolved</code> property set to true. - * - * @return list of projects artifacts - * @throws MojoExecutionException if unable to parse dependency versions - */ - private Set getProjectArtifacts() - throws MojoExecutionException - { - // keep it sorted, this should avoid random classpath order in tests - Set artifacts = new TreeSet(); - - for ( Iterator dependencies = getProject().getDependencies().iterator(); dependencies.hasNext(); ) - { - Dependency dependency = (Dependency) dependencies.next(); - - String groupId = dependency.getGroupId(); - String artifactId = dependency.getArtifactId(); - VersionRange versionRange; - try - { - versionRange = VersionRange.createFromVersionSpec( dependency.getVersion() ); - } - catch ( InvalidVersionSpecificationException e ) - { - throw new MojoExecutionException( - Messages.getString( - "unabletoparseversion", new Object[] { //$NON-NLS-1$ - dependency.getArtifactId(), - dependency.getVersion(), - dependency.getManagementKey(), e.getMessage() } ), - e ); - } - - String type = dependency.getType(); - if ( type == null ) - { - type = Constants.PROJECT_PACKAGING_JAR; - } - String classifier = dependency.getClassifier(); - boolean optional = dependency.isOptional(); - String scope = dependency.getScope(); - if ( scope == null ) - { - scope = Artifact.SCOPE_COMPILE; - } - - Artifact art = - getArtifactFactory().createDependencyArtifact( groupId, artifactId, versionRange, type, classifier, - scope, optional ); - - if ( scope.equalsIgnoreCase( Artifact.SCOPE_SYSTEM ) ) - { - art.setFile( new File( dependency.getSystemPath() ) ); - } - - List exclusions = new ArrayList(); - for ( Iterator j = dependency.getExclusions().iterator(); j.hasNext(); ) - { - Exclusion e = (Exclusion) j.next(); - exclusions.add( e.getGroupId() + ":" + e.getArtifactId() ); //$NON-NLS-1$ - } - - ArtifactFilter newFilter = new ExcludesArtifactFilter( exclusions ); - - art.setDependencyFilter( newFilter ); - - artifacts.add( art ); - } - - return artifacts; - } - - /** - * Utility method that locates a project producing the given artifact. - * - * @param artifact the artifact a project should produce. - * @return <code>true</code> if the artifact is produced by a reactor projectart. - */ - protected boolean isAvailableAsAReactorProject( Artifact artifact ) - { - if ( reactorProjects != null ) - { - for ( Iterator iter = reactorProjects.iterator(); iter.hasNext(); ) - { - MavenProject reactorProject = (MavenProject) iter.next(); - - if ( reactorProject.getGroupId().equals( artifact.getGroupId() ) && - reactorProject.getArtifactId().equals( artifact.getArtifactId() ) ) - { - if ( reactorProject.getVersion().equals( artifact.getVersion() ) ) - { - return true; - } - else - { - getLog().info( - "Artifact " + - artifact.getId() + - " already available as a reactor project, but with different version. Expected: " + - artifact.getVersion() + ", found: " + reactorProject.getVersion() ); - } - } - } - } - return false; - } - - /** - * @return an array with all dependencies avalaible in the workspace, to be implemented by the subclasses. - */ - protected IdeDependency[] getWorkspaceArtefacts() - { - return new IdeDependency[0]; - } - - private Map createManagedVersionMap( ArtifactFactory artifactFactory, String projectId, - DependencyManagement dependencyManagement ) - throws MojoExecutionException - { - Map map; - if ( dependencyManagement != null && dependencyManagement.getDependencies() != null ) - { - map = new HashMap(); - for ( Iterator i = dependencyManagement.getDependencies().iterator(); i.hasNext(); ) - { - Dependency d = (Dependency) i.next(); - - try - { - VersionRange versionRange = VersionRange.createFromVersionSpec( d.getVersion() ); - Artifact artifact = - artifactFactory.createDependencyArtifact( d.getGroupId(), d.getArtifactId(), versionRange, - d.getType(), d.getClassifier(), d.getScope(), - d.isOptional() ); - map.put( d.getManagementKey(), artifact ); - } - catch ( InvalidVersionSpecificationException e ) - { - throw new MojoExecutionException( Messages.getString( "unabletoparseversion", new Object[] { //$NON-NLS-1$ - projectId, d.getVersion(), - d.getManagementKey(), e.getMessage() } ), - e ); - } - } - } - else - { - map = Collections.EMPTY_MAP; - } - return map; - } - - /** - * Find the reactor target dir. executedProject doesn't have the multiproject root dir set, and the only way to - * extract it is iterating on parent projects. - * - * @param prj current project - * @return the parent target dir. - */ - private File getReactorTargetDir( MavenProject prj ) - { - if ( prj.getParent() != null ) - { - if ( prj.getParent().getBasedir() != null && prj.getParent().getBasedir().exists() ) - { - return getReactorTargetDir( prj.getParent() ); - } - } - return new File( prj.getBuild().getDirectory() ); - } - - /** - * Resolve source artifacts and download them if <code>downloadSources</code> is <code>true</code>. Source and - * javadocs artifacts will be attached to the <code>IdeDependency</code> Resolve source and javadoc artifacts. The - * resolved artifacts will be downloaded based on the <code>downloadSources</code> and - * <code>downloadJavadocs</code> attributes. Source and - * - * @param deps resolved dependencies - */ - private void resolveSourceAndJavadocArtifacts( IdeDependency[] deps ) - { - - File reactorTargetDir = getReactorTargetDir( project ); - File unavailableArtifactsTmpFile = new File( reactorTargetDir, "mvn-eclipse-cache.properties" ); - - getLog().info( "Using source status cache: " + unavailableArtifactsTmpFile.getAbsolutePath() ); - - // create target dir if missing - if ( !unavailableArtifactsTmpFile.getParentFile().exists() ) - { - unavailableArtifactsTmpFile.getParentFile().mkdirs(); - } - - Properties unavailableArtifactsCache = new Properties(); - if ( unavailableArtifactsTmpFile.exists() ) - { - InputStream is = null; - try - { - is = new FileInputStream( unavailableArtifactsTmpFile ); - unavailableArtifactsCache.load( is ); - } - catch ( IOException e ) - { - getLog().warn( "Unable to read source status for reactor projects" ); - } - finally - { - IOUtil.close( is ); - } - - } - - final List missingSources = - resolveDependenciesWithClassifier( deps, "sources", getDownloadSources(), unavailableArtifactsCache ); - missingSourceDependencies.addAll( missingSources ); - - final List missingJavadocs = - resolveDependenciesWithClassifier( deps, "javadoc", getDownloadJavadocs(), unavailableArtifactsCache ); - missingJavadocDependencies.addAll( missingJavadocs ); - - FileOutputStream fos = null; - try - { - fos = new FileOutputStream( unavailableArtifactsTmpFile ); - unavailableArtifactsCache.store( fos, "Temporary index for unavailable sources and javadocs" ); - } - catch ( IOException e ) - { - getLog().warn( "Unable to cache source status for reactor projects" ); - } - finally - { - IOUtil.close( fos ); - } - - } - - /** - * Resolve the required artifacts for each of the dependency. <code>sources</code> or <code>javadoc</code> - * artifacts (depending on the <code>classifier</code>) are attached to the dependency. - * - * @param deps resolved dependencies - * @param inClassifier the classifier we are looking for (either <code>sources</code> or <code>javadoc</code>) - * @param includeRemoteRepositories flag whether we should search remote repositories for the artifacts or not - * @param unavailableArtifactsCache cache of unavailable artifacts - * @return the list of dependencies for which the required artifact was not found - */ - private List resolveDependenciesWithClassifier( IdeDependency[] deps, String inClassifier, - boolean includeRemoteRepositories, - Properties unavailableArtifactsCache ) - { - List missingClassifierDependencies = new ArrayList(); - - // if downloadSources is off, just check - // local repository for reporting missing source jars - List remoteRepos = includeRemoteRepositories ? getRemoteArtifactRepositories() : Collections.EMPTY_LIST; - - for ( int j = 0; j < deps.length; j++ ) - { - IdeDependency dependency = deps[j]; - - if ( dependency.isReferencedProject() || dependency.isSystemScoped() ) - { - // artifact not needed - continue; - } - - if ( getLog().isDebugEnabled() ) - { - getLog().debug( - "Searching for sources for " + dependency.getId() + ":" + dependency.getClassifier() + - " at " + dependency.getId() + ":" + inClassifier ); - } - - String key = - dependency.getClassifier() == null ? dependency.getId() + ":" + inClassifier : dependency.getId() + - ":" + inClassifier + ":" + dependency.getClassifier(); - - if ( !unavailableArtifactsCache.containsKey( key ) ) - { - Artifact artifact = - IdeUtils.resolveArtifactWithClassifier( dependency.getGroupId(), dependency.getArtifactId(), - dependency.getVersion(), dependency.getClassifier(), - inClassifier, localRepository, artifactResolver, - artifactFactory, remoteRepos, getLog() ); - if ( artifact.isResolved() ) - { - if ( "sources".equals( inClassifier ) ) - { - dependency.setSourceAttachment( artifact.getFile() ); - } - else if ( "javadoc".equals( inClassifier ) ) - { - dependency.setJavadocAttachment( artifact.getFile() ); - } - } - else - { - unavailableArtifactsCache.put( key, Boolean.TRUE.toString() ); - // add the dependencies to the list - // of those lacking the required - // artifact - missingClassifierDependencies.add( dependency ); - } - } - } - - // return the list of dependencies missing the - // required artifact - return missingClassifierDependencies; - - } - - /** - * Output a message with the list of missing dependencies and info on how turn download on if it was disabled. - */ - private void reportMissingArtifacts() - { - StringBuffer msg = new StringBuffer(); - - if ( !missingSourceDependencies.isEmpty() ) - { - if ( getDownloadSources() ) - { - msg.append( Messages.getString( "sourcesnotavailable" ) ); //$NON-NLS-1$ - } - else - { - msg.append( Messages.getString( "sourcesnotdownloaded" ) ); //$NON-NLS-1$ - } - - for ( Iterator it = missingSourceDependencies.iterator(); it.hasNext(); ) - { - IdeDependency art = (IdeDependency) it.next(); - msg.append( Messages.getString( "sourcesmissingitem", art.getId() ) ); //$NON-NLS-1$ - } - msg.append( "\n" ); //$NON-NLS-1$ - } - - if ( !missingJavadocDependencies.isEmpty() ) - { - if ( getDownloadJavadocs() ) - { - msg.append( Messages.getString( "javadocnotavailable" ) ); //$NON-NLS-1$ - } - else - { - msg.append( Messages.getString( "javadocnotdownloaded" ) ); //$NON-NLS-1$ - } - - for ( Iterator it = missingJavadocDependencies.iterator(); it.hasNext(); ) - { - IdeDependency art = (IdeDependency) it.next(); - msg.append( Messages.getString( "javadocmissingitem", art.getId() ) ); //$NON-NLS-1$ - } - msg.append( "\n" ); //$NON-NLS-1$ - } - getLog().info( msg ); - } - - /** - * @return List of dependencies to exclude from eclipse classpath. - * @since 2.5 - */ - public abstract List getExcludes(); - - /** - * Checks if jar has to be resolved for the given artifact - * - * @param art the artifact to check - * @return true if resolution should happen - */ - protected boolean hasToResolveJar( Artifact art ) - { - return !( getUseProjectReferences() && isAvailableAsAReactorProject( art ) ); - } - - /** - * Checks if a projects reference has to be used for the given artifact - * - * @param art the artifact to check - * @return true if a project reference has to be used. - */ - protected boolean useProjectReference( Artifact art ) - { - return getUseProjectReferences() && isAvailableAsAReactorProject( art ); - } -} diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseClasspathWriter.java b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseClasspathWriter.java deleted file mode 100644 index 2813eb5388..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseClasspathWriter.java +++ /dev/null @@ -1,531 +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.maven.plugin.eclipse; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.eclipse.BuildCommand; -import org.apache.maven.plugin.eclipse.Constants; -import org.apache.maven.plugin.eclipse.EclipseSourceDir; -import org.apache.maven.plugin.eclipse.writers.AbstractEclipseWriter; -import org.apache.maven.plugin.eclipse.writers.EclipseAntExternalLaunchConfigurationWriter; -import org.apache.maven.plugin.eclipse.writers.EclipseLaunchConfigurationWriter; -import org.apache.maven.plugin.ide.IdeDependency; -import org.apache.maven.plugin.ide.IdeUtils; -import org.codehaus.plexus.util.IOUtil; -import org.codehaus.plexus.util.StringUtils; -import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter; -import org.codehaus.plexus.util.xml.XMLWriter; - -/** - * Writes eclipse .classpath file. - * - * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a> - * @author <a href="mailto:kenney@neonics.com">Kenney Westerhof</a> - * @author <a href="mailto:fgiust@apache.org">Fabrizio Giustina</a> - * @version $Id: EclipseClasspathWriter.java 636955 2008-03-14 02:10:42Z aheritier $ - */ -public class EclipseClasspathWriter - extends AbstractEclipseWriter -{ - - /** - * Eclipse build path variable M2_REPO - */ - private static final String M2_REPO = "M2_REPO"; //$NON-NLS-1$ - - /** - * Attribute for sourcepath. - */ - private static final String ATTR_SOURCEPATH = "sourcepath"; //$NON-NLS-1$ - - /** - * Attribute for output. - */ - private static final String ATTR_OUTPUT = "output"; //$NON-NLS-1$ - - /** - * Attribute for path. - */ - private static final String ATTR_PATH = "path"; //$NON-NLS-1$ - - /** - * Attribute for kind - Container (con), Variable (var)..etc. - */ - private static final String ATTR_KIND = "kind"; //$NON-NLS-1$ - - /** - * Attribute value for kind: var - */ - private static final String ATTR_VAR = "var"; //$NON-NLS-1$ - - /** - * Attribute value for kind: lib - */ - private static final String ATTR_LIB = "lib"; //$NON-NLS-1$ - - /** - * Attribute value for kind: src - */ - private static final String ATTR_SRC = "src"; //$NON-NLS-1$ - - /** - * Attribute name for source file includes in a path. - */ - private static final String ATTR_INCLUDING = "including"; - - /** - * Attribute name for source file excludes in a path. - */ - private static final String ATTR_EXCLUDING = "excluding"; - - /** - * Element for classpathentry. - */ - private static final String ELT_CLASSPATHENTRY = "classpathentry"; //$NON-NLS-1$ - - /** - * Element for classpath. - */ - private static final String ELT_CLASSPATH = "classpath"; //$NON-NLS-1$ - - /** - * File name that stores project classpath settings. - */ - private static final String FILE_DOT_CLASSPATH = ".classpath"; //$NON-NLS-1$ - - /** - * @see org.apache.tuscany.sca.maven.plugin.eclipse.writers.EclipseWriter#write() - */ - public void write() - throws MojoExecutionException - { - - Writer w; - - try - { - w = - new OutputStreamWriter( new FileOutputStream( new File( config.getEclipseProjectDirectory(), - FILE_DOT_CLASSPATH ) ), "UTF-8" ); - } - catch ( IOException ex ) - { - throw new MojoExecutionException( Messages.getString( "EclipsePlugin.erroropeningfile" ), ex ); //$NON-NLS-1$ - } - - XMLWriter writer = new PrettyPrintXMLWriter( w ); - - writer.startElement( ELT_CLASSPATH ); - - String defaultOutput = - IdeUtils.toRelativeAndFixSeparator( config.getProjectBaseDir(), config.getBuildOutputDirectory(), false ); - - // ---------------------------------------------------------------------- - // Source roots and resources - // ---------------------------------------------------------------------- - - // List<EclipseSourceDir> - List specialSources = new ArrayList(); - - // Map<String,List<EclipseSourceDir>> - Map byOutputDir = new HashMap(); - - for ( int j = 0; j < config.getSourceDirs().length; j++ ) - { - EclipseSourceDir dir = config.getSourceDirs()[j]; - - // List<EclipseSourceDir> - List byOutputDirs = (List) byOutputDir.get( dir.getOutput() ); - if ( byOutputDirs == null ) - { - // ArrayList<EclipseSourceDir> - byOutputDir.put( dir.getOutput() == null ? defaultOutput : dir.getOutput(), byOutputDirs = - new ArrayList() ); - } - byOutputDirs.add( dir ); - } - - for ( int j = 0; j < config.getSourceDirs().length; j++ ) - { - EclipseSourceDir dir = config.getSourceDirs()[j]; - - log.debug( "Processing " + ( dir.isResource() ? "re" : "" ) + "source " + dir.getPath() + ": output=" + - dir.getOutput() + "; default output=" + defaultOutput ); - - boolean isSpecial = false; - - // handle resource with nested output folders - if ( dir.isResource() ) - { - // Check if the output is a subdirectory of the default output, - // and if the default output has any sources that copy there. - - if ( dir.getOutput() != null // resource output dir is set - && - !dir.getOutput().equals( defaultOutput ) // output dir is not default target/classes - && dir.getOutput().startsWith( defaultOutput ) // ... but is nested - && byOutputDir.get( defaultOutput ) != null // ??? - && !( (List) byOutputDir.get( defaultOutput ) ).isEmpty() // ??? - ) - { - // do not specify as source since the output will be nested. Instead, mark - // it as a todo, and handle it with a custom build.xml file later. - - log.debug( "Marking as special to prevent output folder nesting: " + dir.getPath() + " (output=" + - dir.getOutput() + ")" ); - - isSpecial = true; - specialSources.add( dir ); - } - } - - writer.startElement( ELT_CLASSPATHENTRY ); - - writer.addAttribute( ATTR_KIND, "src" ); //$NON-NLS-1$ - writer.addAttribute( ATTR_PATH, dir.getPath() ); - - if ( !isSpecial && dir.getOutput() != null && !defaultOutput.equals( dir.getOutput() ) ) - { - writer.addAttribute( ATTR_OUTPUT, dir.getOutput() ); - } - - if ( StringUtils.isNotEmpty( dir.getInclude() ) ) - { - writer.addAttribute( ATTR_INCLUDING, dir.getInclude() ); - } - - String excludes = dir.getExclude(); - - if ( dir.isResource() ) - { - // automatically exclude java files: eclipse doesn't have the concept of resource directory so it will - // try to compile any java file found in maven resource dirs - excludes = StringUtils.isEmpty( excludes ) ? "**/*.java" : excludes + "|**/*.java"; - } - - if ( StringUtils.isNotEmpty( excludes ) ) - { - writer.addAttribute( ATTR_EXCLUDING, excludes ); - } - - writer.endElement(); - - } - - // handle the special sources. - if ( !specialSources.isEmpty() ) - { - log.info( "Creating maven-eclipse.xml Ant file to handle resources" ); - - try - { - Writer buildXmlWriter = - new OutputStreamWriter( new FileOutputStream( new File( config.getEclipseProjectDirectory(), - "maven-eclipse.xml" ) ), "UTF-8" ); - PrettyPrintXMLWriter buildXmlPrinter = new PrettyPrintXMLWriter( buildXmlWriter ); - - buildXmlPrinter.startElement( "project" ); - buildXmlPrinter.addAttribute( "default", "copy-resources" ); - - buildXmlPrinter.startElement( "target" ); - buildXmlPrinter.addAttribute( "name", "init" ); - // initialize filtering tokens here - buildXmlPrinter.endElement(); - - buildXmlPrinter.startElement( "target" ); - buildXmlPrinter.addAttribute( "name", "copy-resources" ); - buildXmlPrinter.addAttribute( "depends", "init" ); - - for ( Iterator it = specialSources.iterator(); it.hasNext(); ) - { - // TODO: merge source dirs on output path+filtering to reduce - // <copy> tags for speed. - EclipseSourceDir dir = (EclipseSourceDir) it.next(); - buildXmlPrinter.startElement( "copy" ); - buildXmlPrinter.addAttribute( "todir", dir.getOutput() ); - buildXmlPrinter.addAttribute( "filtering", "" + dir.isFiltering() ); - - buildXmlPrinter.startElement( "fileset" ); - buildXmlPrinter.addAttribute( "dir", dir.getPath() ); - if ( dir.getInclude() != null ) - { - buildXmlPrinter.addAttribute( "includes", dir.getInclude() ); - } - if ( dir.getExclude() != null ) - { - buildXmlPrinter.addAttribute( "excludes", dir.getExclude() ); - } - buildXmlPrinter.endElement(); - - buildXmlPrinter.endElement(); - } - - buildXmlPrinter.endElement(); - - buildXmlPrinter.endElement(); - - IOUtil.close( buildXmlWriter ); - } - catch ( IOException e ) - { - throw new MojoExecutionException( "Cannot create " + config.getEclipseProjectDirectory() + - "/maven-eclipse.xml", e ); - } - - log.info( "Creating external launcher file" ); - // now create the launcher - new EclipseAntExternalLaunchConfigurationWriter().init( log, config, "Maven_Ant_Builder.launch", - "maven-eclipse.xml" ).write(); - - // finally add it to the project writer. - - config.getBuildCommands().add( - new BuildCommand( - "org.eclipse.ui.externaltools.ExternalToolBuilder", - "LaunchConfigHandle", - "<project>/" + - EclipseLaunchConfigurationWriter.FILE_DOT_EXTERNAL_TOOL_BUILDERS + - "Maven_Ant_Builder.launch" ) ); - } - - // ---------------------------------------------------------------------- - // The default output - // ---------------------------------------------------------------------- - - writer.startElement( ELT_CLASSPATHENTRY ); - writer.addAttribute( ATTR_KIND, ATTR_OUTPUT ); - writer.addAttribute( ATTR_PATH, defaultOutput ); - writer.endElement(); - - // ---------------------------------------------------------------------- - // Container classpath entries - // ---------------------------------------------------------------------- - - for ( Iterator it = config.getClasspathContainers().iterator(); it.hasNext(); ) - { - writer.startElement( ELT_CLASSPATHENTRY ); - writer.addAttribute( ATTR_KIND, "con" ); //$NON-NLS-1$ - writer.addAttribute( ATTR_PATH, (String) it.next() ); - writer.endElement(); // name - } - - // ---------------------------------------------------------------------- - // The dependencies - // ---------------------------------------------------------------------- - Set addedDependencies = new HashSet(); - // TODO if (..magic property equals orderDependencies..) - IdeDependency[] depsToWrite = config.getDepsOrdered(); - for ( int j = 0; j < depsToWrite.length; j++ ) - { - IdeDependency dep = depsToWrite[j]; - - if ( dep.isAddedToClasspath() ) - { - String depId = - dep.getGroupId() + ":" + dep.getArtifactId() + ":" + dep.getClassifier() + ":" + dep.getVersion(); - /* avoid duplicates in the classpath for artifacts with different types (like ejbs) */ - if ( !addedDependencies.contains( depId ) ) - { - addDependency( writer, dep ); - addedDependencies.add( depId ); - } - } - } - - writer.endElement(); - - IOUtil.close( w ); - - } - - protected void addDependency( XMLWriter writer, IdeDependency dep ) - throws MojoExecutionException - { - - String path; - String kind; - String sourcepath = null; - String javadocpath = null; - // [rfeng] Force to non-PDE mode - boolean pdeMode = false; - - if ( dep.isReferencedProject() && !pdeMode ) - { - path = "/" + dep.getEclipseProjectName(); //$NON-NLS-1$ - kind = ATTR_SRC; - } - else if ( dep.isReferencedProject() && pdeMode ) - { - // don't do anything, referenced projects are automatically handled by eclipse in PDE builds - return; - } - else - { - File artifactPath = dep.getFile(); - - if ( artifactPath == null ) - { - log.error( Messages.getString( "EclipsePlugin.artifactpathisnull", dep.getId() ) ); //$NON-NLS-1$ - return; - } - - if ( dep.isSystemScoped() ) - { - path = IdeUtils.toRelativeAndFixSeparator( config.getEclipseProjectDirectory(), artifactPath, false ); - - if ( log.isDebugEnabled() ) - { - log.debug( Messages.getString( "EclipsePlugin.artifactissystemscoped", //$NON-NLS-1$ - new Object[] { dep.getArtifactId(), path } ) ); - } - - kind = ATTR_LIB; - } - else - { - File localRepositoryFile = new File( config.getLocalRepository().getBasedir() ); - - // if the dependency is not provided and the plugin runs in "pde mode", the dependency is - // added to the Bundle-Classpath: - if ( pdeMode && ( dep.isProvided() || dep.isOsgiBundle() ) ) - { - return; - } - else if ( pdeMode && !dep.isProvided() && !dep.isTestDependency() ) - { - // path for link created in .project, not to the actual file - path = dep.getFile().getName(); - - kind = ATTR_LIB; - } - // running in PDE mode and the dependency is provided means, that it is provided by - // the target platform. This case is covered by adding the plugin container - else - { - String fullPath = artifactPath.getPath(); - String relativePath = - IdeUtils.toRelativeAndFixSeparator( localRepositoryFile, new File( fullPath ), false ); - - if ( !new File( relativePath ).isAbsolute() ) - { - path = M2_REPO + "/" //$NON-NLS-1$ - + relativePath; - kind = ATTR_VAR; //$NON-NLS-1$ - } - else - { - path = relativePath; - kind = ATTR_LIB; - } - } - - if ( dep.getSourceAttachment() != null ) - { - if ( ATTR_VAR.equals( kind ) ) - { - sourcepath = - M2_REPO + - "/" //$NON-NLS-1$ - + - IdeUtils.toRelativeAndFixSeparator( localRepositoryFile, dep.getSourceAttachment(), - false ); - } - else - { - // source archive must be referenced with the full path, we can't mix a lib with a variable - sourcepath = IdeUtils.getCanonicalPath( dep.getSourceAttachment() ); - } - } - - if ( dep.getJavadocAttachment() != null ) - { - // NB eclipse (3.1) doesn't support variables in javadoc paths, so we need to add the - // full path for the maven repo - javadocpath = - StringUtils.replace( IdeUtils.getCanonicalPath( dep.getJavadocAttachment() ), "\\", "/" ); //$NON-NLS-1$ //$NON-NLS-2$ - } - - } - - } - - writer.startElement( ELT_CLASSPATHENTRY ); - writer.addAttribute( ATTR_KIND, kind ); - writer.addAttribute( ATTR_PATH, path ); - - if ( sourcepath != null ) - { - writer.addAttribute( ATTR_SOURCEPATH, sourcepath ); - } - - boolean attributeElemOpen = false; - - if ( javadocpath != null ) - { - if ( !attributeElemOpen ) - { - writer.startElement( "attributes" ); //$NON-NLS-1$ - attributeElemOpen = true; - } - - writer.startElement( "attribute" ); //$NON-NLS-1$ - writer.addAttribute( "value", "jar:" + new File( javadocpath ).toURI() + "!/" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - writer.addAttribute( "name", "javadoc_location" ); //$NON-NLS-1$ //$NON-NLS-2$ - writer.endElement(); - - } - - if ( Constants.PROJECT_PACKAGING_WAR.equals( this.config.getPackaging() ) && config.getWtpapplicationxml() && - kind.equals( ATTR_VAR ) && !dep.isTestDependency() && !dep.isProvided() && - !dep.isSystemScopedOutsideProject( this.config.getProject() ) ) - { - if ( !attributeElemOpen ) - { - writer.startElement( "attributes" ); //$NON-NLS-1$ - attributeElemOpen = true; - } - - writer.startElement( "attribute" ); //$NON-NLS-1$ - writer.addAttribute( "value", "/WEB-INF/lib" ); //$NON-NLS-1$ //$NON-NLS-2$ - writer.addAttribute( "name", "org.eclipse.jst.component.dependency" ); //$NON-NLS-1$ //$NON-NLS-2$ - writer.endElement(); - - } - - if ( attributeElemOpen ) - { - writer.endElement(); - } - writer.endElement(); - - } -} diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseCleanMojo.java b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseCleanMojo.java deleted file mode 100644 index ac770c743c..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseCleanMojo.java +++ /dev/null @@ -1,231 +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.maven.plugin.eclipse; - -import java.io.File; -import java.io.IOException; - -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.eclipse.Constants; -import org.apache.maven.plugin.eclipse.EclipseConfigFile; -import org.codehaus.plexus.util.FileUtils; - -/** - * Deletes the .project, .classpath, .wtpmodules files and .settings folder used by Eclipse. - * - * @goal clean - */ -public class EclipseCleanMojo - extends AbstractMojo -{ - - /** - * Definition file for Eclipse Web Tools project. - */ - private static final String FILE_DOT_WTPMODULES = ".wtpmodules"; //$NON-NLS-1$ - - /** - * Classpath definition file for an Eclipse Java project. - */ - private static final String FILE_DOT_CLASSPATH = ".classpath"; //$NON-NLS-1$ - - /** - * Project definition file for an Eclipse Project. - */ - private static final String FILE_DOT_PROJECT = ".project"; //$NON-NLS-1$ - - /** - * Web Project definition file for Eclipse Web Tools Project (Release 1.0x). - */ - private static final String DIR_DOT_SETTINGS = ".settings"; //$NON-NLS-1$ - - /** - * File name where the WTP component settings will be stored - WTP 1.0 name. - */ - private static final String FILE_DOT_COMPONENT = ".settings/.component"; //$NON-NLS-1$ - - /** - * File name where the WTP component settings will be stored - WTP 1.5 name. - */ - private static final String FILE_DOT_COMPONENT_15 = ".settings/org.eclipse.wst.common.component"; //$NON-NLS-1$ - - /** - * File name where Eclipse Project's Facet configuration will be stored. - */ - private static final String FILE_FACET_CORE_XML = ".settings/org.eclipse.wst.common.project.facet.core.xml"; //$NON-NLS-1$ - - /** - * General project preferences. - */ - private static final String FILE_ECLIPSE_JDT_CORE_PREFS = ".settings/org.eclipse.jdt.core.prefs"; //$NON-NLS-1$ - - /** - * Packaging for the current project. - * - * @parameter expression="${project.packaging}" - */ - private String packaging; - - /** - * The root directory of the project - * - * @parameter expression="${basedir}" - */ - private File basedir; - - /** - * Skip the operation when true. - * - * @parameter expression="${eclipse.skip}" default-value="false" - */ - private boolean skip; - - /** - * additional generic configuration files for eclipse - * - * @parameter - */ - private EclipseConfigFile[] additionalConfig; - - /** - * @see org.apache.maven.plugin.AbstractMojo#execute() - */ - public void execute() - throws MojoExecutionException - { - if ( skip ) - { - return; - } - - if ( Constants.PROJECT_PACKAGING_POM.equals( this.packaging ) ) - { - return; - } - - delete( new File( basedir, FILE_DOT_PROJECT ) ); - delete( new File( basedir, FILE_DOT_CLASSPATH ) ); - delete( new File( basedir, FILE_DOT_WTPMODULES ) ); - - delete( new File( basedir, FILE_DOT_COMPONENT ) ); - delete( new File( basedir, FILE_DOT_COMPONENT_15 ) ); - delete( new File( basedir, FILE_FACET_CORE_XML ) ); - delete( new File( basedir, FILE_ECLIPSE_JDT_CORE_PREFS ) ); - - File settingsDir = new File( basedir, DIR_DOT_SETTINGS ); - if ( settingsDir.exists() && settingsDir.isDirectory() && settingsDir.list().length == 0 ) - { - delete( settingsDir ); - } - - if ( additionalConfig != null ) - { - for ( int i = 0; i < additionalConfig.length; i++ ) - { - delete( new File( basedir, additionalConfig[i].getName() ) ); - } - } - - cleanExtras(); - } - - protected void cleanExtras() - throws MojoExecutionException - { - // extension point. - } - - /** - * Delete a file, handling log messages and exceptions - * - * @param f File to be deleted - * @throws MojoExecutionException only if a file exists and can't be deleted - */ - protected void delete( File f ) - throws MojoExecutionException - { - if ( f.isDirectory() ) - { - getLog().info( Messages.getString( "EclipseCleanMojo.deletingDirectory", f.getName() ) ); //$NON-NLS-1$ - } - else - { - getLog().info( Messages.getString( "EclipseCleanMojo.deletingFile", f.getName() ) ); //$NON-NLS-1$ - } - - if ( f.exists() ) - { - if ( !f.delete() ) - { - try - { - FileUtils.forceDelete( f ); - } - catch ( IOException e ) - { - throw new MojoExecutionException( Messages.getString( "EclipseCleanMojo.failedtodelete", //$NON-NLS-1$ - new Object[] { f.getName(), - f.getAbsolutePath() } ) ); - } - } - } - else - { - getLog().debug( Messages.getString( "EclipseCleanMojo.nofilefound", f.getName() ) ); //$NON-NLS-1$ - } - } - - /** - * Getter for <code>basedir</code>. - * - * @return Returns the basedir. - */ - public File getBasedir() - { - return this.basedir; - } - - /** - * Setter for <code>basedir</code>. - * - * @param basedir The basedir to set. - */ - public void setBasedir( File basedir ) - { - this.basedir = basedir; - } - - /** - * @return the packaging - */ - public String getPackaging() - { - return this.packaging; - } - - /** - * @param packaging the packaging to set - */ - public void setPackaging( String packaging ) - { - this.packaging = packaging; - } - -} diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipsePlugin.java b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipsePlugin.java deleted file mode 100644 index f2049c2cde..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipsePlugin.java +++ /dev/null @@ -1,1550 +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.maven.plugin.eclipse; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.ListIterator; -import java.util.Map; -import java.util.Set; -import java.util.TreeSet; - -import org.apache.maven.artifact.Artifact; -import org.apache.maven.artifact.handler.ArtifactHandler; -import org.apache.maven.model.Resource; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.eclipse.BuildCommand; -import org.apache.maven.plugin.eclipse.Constants; -import org.apache.maven.plugin.eclipse.EclipseConfigFile; -import org.apache.maven.plugin.eclipse.EclipseSourceDir; -import org.apache.maven.plugin.eclipse.WorkspaceConfiguration; -import org.apache.maven.plugin.eclipse.reader.ReadWorkspaceLocations; -import org.apache.maven.plugin.eclipse.writers.EclipseManifestWriter; -import org.apache.maven.plugin.eclipse.writers.EclipseSettingsWriter; -import org.apache.maven.plugin.eclipse.writers.EclipseWriterConfig; -import org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpApplicationXMLWriter; -import org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpComponent15Writer; -import org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpComponentWriter; -import org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpFacetsWriter; -import org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpmodulesWriter; -import org.apache.maven.plugin.ide.IdeDependency; -import org.apache.maven.plugin.ide.IdeUtils; -import org.apache.maven.plugin.ide.JeeUtils; -import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.resource.ResourceManager; -import org.codehaus.plexus.resource.loader.FileResourceLoader; -import org.codehaus.plexus.resource.loader.ResourceNotFoundException; -import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.IOUtil; -import org.codehaus.plexus.util.StringUtils; -import org.codehaus.plexus.util.xml.Xpp3Dom; - -/** - * Generates the following eclipse configuration files: - * <ul> - * <li><code>.project</code> and <code>.classpath</code> files</li> - * <li><code>.setting/org.eclipse.jdt.core.prefs</code> with project specific compiler settings</li> - * <li>various configuration files for WTP (Web Tools Project), if the parameter <code>wtpversion</code> is set to a - * valid version (WTP configuration is not generated by default)</li> - * </ul> - * If this goal is run on a multiproject root, dependencies between modules will be configured as direct project - * dependencies in Eclipse (unless <code>useProjectReferences</code> is set to <code>false</code>). - * - * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a> - * @author <a href="mailto:fgiust@apache.org">Fabrizio Giustina</a> - * @version $Id: EclipsePlugin.java 641616 2008-03-26 22:42:42Z aheritier $ - * @goal eclipse - * @phase generate-resources - */ -public class EclipsePlugin - extends AbstractIdeSupportMojo -{ - - private static final String NATURE_WST_FACET_CORE_NATURE = "org.eclipse.wst.common.project.facet.core.nature"; //$NON-NLS-1$ - - private static final String BUILDER_WST_COMPONENT_STRUCTURAL_DEPENDENCY_RESOLVER = - "org.eclipse.wst.common.modulecore.ComponentStructuralBuilderDependencyResolver"; //$NON-NLS-1$ - - protected static final String BUILDER_WST_VALIDATION = "org.eclipse.wst.validation.validationbuilder"; //$NON-NLS-1$ - - private static final String BUILDER_JDT_CORE_JAVA = "org.eclipse.jdt.core.javabuilder"; //$NON-NLS-1$ - - private static final String BUILDER_WST_COMPONENT_STRUCTURAL = - "org.eclipse.wst.common.modulecore.ComponentStructuralBuilder"; //$NON-NLS-1$ - - private static final String BUILDER_WST_FACET = "org.eclipse.wst.common.project.facet.core.builder"; //$NON-NLS-1$ - - private static final String BUILDER_PDE_MANIFEST = "org.eclipse.pde.ManifestBuilder"; //$NON-NLS-1$ - - private static final String BUILDER_PDE_SCHEMA = "org.eclipse.pde.SchemaBuilder"; //$NON-NLS-1$ - - private static final String NATURE_WST_MODULE_CORE_NATURE = "org.eclipse.wst.common.modulecore.ModuleCoreNature"; //$NON-NLS-1$ - - private static final String NATURE_JDT_CORE_JAVA = "org.eclipse.jdt.core.javanature"; //$NON-NLS-1$ - - private static final String NATURE_JEM_WORKBENCH_JAVA_EMF = "org.eclipse.jem.workbench.JavaEMFNature"; //$NON-NLS-1$ - - private static final String NATURE_PDE_PLUGIN = "org.eclipse.pde.PluginNature"; //$NON-NLS-1$ - - protected static final String COMMON_PATH_JDT_LAUNCHING_JRE_CONTAINER = "org.eclipse.jdt.launching.JRE_CONTAINER"; //$NON-NLS-1$ - - protected static final String REQUIRED_PLUGINS_CONTAINER = "org.eclipse.pde.core.requiredPlugins"; //$NON-NLS-1$ - - // warning, order is important for binary search - public static final String[] WTP_SUPPORTED_VERSIONS = new String[] { "1.0", "1.5", "2.0", "R7", "none" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - /** - * Constant for 'artifactId' element in POM.xml. - */ - private static final String POM_ELT_ARTIFACT_ID = "artifactId"; //$NON-NLS-1$ - - /** - * Constant for 'groupId' element in POM.xml. - */ - private static final String POM_ELT_GROUP_ID = "groupId"; //$NON-NLS-1$ - - /** - * List of eclipse project natures. By default the <code>org.eclipse.jdt.core.javanature</code> nature plus the - * needed WTP natures are added. Natures added using this property <strong>replace</strong> the default list. - * - * <pre> - * <projectnatures> - * <projectnature>org.eclipse.jdt.core.javanature</projectnature> - * <projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature> - * </projectnatures> - * </pre> - * - * @parameter - */ - private List projectnatures; - - /** - * List of artifact to exclude from eclipse classpath, beeing provided by some eclipse classPathContainer - * [MECLIPSE-79] - * - * @since 2.5 - * @parameter - */ - private List excludes; - - /** - * List of eclipse project natures to be added to the default ones. - * - * <pre> - * <additionalProjectnatures> - * <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> - * </additionalProjectnatures> - * </pre> - * - * @parameter - */ - private List additionalProjectnatures; - - /** - * List of eclipse project facets to be added to the default ones. - * - * <pre> - * <additionalProjectFacets> - * <jst.jsf>1.1<jst.jsf/> - * </additionalProjectFacets> - * </pre> - * - * @parameter - */ - private Map additionalProjectFacets; - - /** - * List of eclipse build commands. By default the <code>org.eclipse.jdt.core.javabuilder</code> builder plus the - * needed WTP builders are added. If you specify any configuration for this parameter, only those buildcommands - * specified will be used; the defaults won't be added. Use the <code>additionalBuildCommands</code> parameter for - * that. Configuration example: Old style: - * - * <pre> - * <buildcommands> - * <buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilder</buildcommand> - * <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand> - * <buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilderDependencyResolver</buildcommand> - * </buildcommands> - * </pre> - * - * For new style, see <code>additionalBuildCommands</code>. - * - * @parameter - */ - private List buildcommands; - - /** - * List of eclipse build commands to be added to the default ones. Old style: - * - * <pre> - * <additionalBuildcommands> - * <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand> - * </additionalBuildcommands> - * </pre> - * - * New style: - * - * <pre> - * <additionalBuildcommands> - * <buildCommand> - * <name>org.ui.externaltools.ExternalToolBuilder</name> - * <triggers>auto,full,incremental,</triggers> - * <arguments> - * <LaunchConfigHandle>&lt;project&gt;./externalToolBuilders/MavenBuilder.launch</LaunchConfighandle> - * </arguments> - * </buildCommand> - * </additionalBuildcommands> - * </pre> - * - * Note the difference between <code>build<strong>c</strong>ommand</code> and - * <code>build<strong>C</strong>ommand</code>. You can mix and match old and new-style configuration entries. - * - * @parameter - */ - private List additionalBuildcommands; - - /** - * List of container classpath entries. By default the <code>org.eclipse.jdt.launching.JRE_CONTAINER</code> - * classpath container is added. Configuration example: - * - * <pre> - * <classpathContainers> - * <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer> - * <classpathContainer>org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v5.5</classpathContainer> - * <classpathContainer>org.eclipse.jst.j2ee.internal.web.container/artifact</classpathContainer> - * </classpathContainers> - * </pre> - * - * @parameter - */ - private List classpathContainers; - - /** - * Enables/disables the downloading of source attachments. Defaults to false. DEPRECATED - use downloadSources - * - * @parameter expression="${eclipse.downloadSources}" - * @deprecated use downloadSources - */ - private boolean eclipseDownloadSources; - - /** - * Eclipse workspace directory. - * - * @parameter expression="${eclipse.projectDir}" alias="outputDir" - */ - private File eclipseProjectDir; - - /** - * When set to false, the plugin will not create sub-projects and instead reference those sub-projects using the - * installed package in the local repository - * - * @parameter expression="${eclipse.useProjectReferences}" default-value="true" - * @required - */ - private boolean useProjectReferences; - - /** - * The default output directory - * - * @parameter expression="${outputDirectory}" alias="outputDirectory" - * default-value="${project.build.outputDirectory}" - * @required - */ - private File buildOutputDirectory; - - /** - * The version of WTP for which configuration files will be generated. The default value is "none" (don't generate - * WTP configuration), supported versions are "R7", "1.0", and "1.5" - * - * @parameter expression="${wtpversion}" default-value="none" - */ - private String wtpversion; - - /** - * JEE context name of the WTP module. ( ex. WEB context name ). - * - * @parameter expression="${wtpContextName}" - */ - private String wtpContextName; - - /** - * The relative path of the manifest file - * - * @parameter expression="${eclipse.manifest}" default-value="${basedir}/META-INF/MANIFEST.MF" - */ - private File manifest; - - /** - * Allow to configure additional generic configuration files for eclipse that will be written out to disk when - * running eclipse:eclipse. FOr each file you can specify the name and the text content. - * - * <pre> - * <plugin> - * <groupId>org.apache.maven.plugins</groupId> - * <artifactId>maven-eclipse-plugin</artifactId> - * <configuration> - * <additionalConfig> - * <file> - * <name>.checkstyle</name> - * <content> - * <![CDATA[<fileset-config file-format-version="1.2.0" simple-config="true"> - * <fileset name="all" enabled="true" check-config-name="acme corporate style" local="false"> - * <file-match-pattern match-pattern="." include-pattern="true"/> - * </fileset> - * <filter name="NonSrcDirs" enabled="true"/> - * </fileset-config>]]> - * </content> - * </file> - * </additionalConfig> - * </configuration> - * </plugin> - * </pre> - * - * Instead of the content you can also define (from version 2.5) an url to download the file : - * - * <pre> - * <plugin> - * <groupId>org.apache.maven.plugins</groupId> - * <artifactId>maven-eclipse-plugin</artifactId> - * <configuration> - * <additionalConfig> - * <file> - * <name>.checkstyle</name> - * <url>http://some.place.org/path/to/file</url> - * </file> - * </additionalConfig> - * </configuration> - * </pre> - * - * or a location : - * - * <pre> - * <plugin> - * <groupId>org.apache.maven.plugins</groupId> - * <artifactId>maven-eclipse-plugin</artifactId> - * <configuration> - * <additionalConfig> - * <file> - * <name>.checkstyle</name> - * <location>/checkstyle-config.xml</location> - * </file> - * </additionalConfig> - * </configuration> - * <dependencies> - * <!-- The file defined in the location is stored in this dependency --> - * <dependency> - * <groupId>eclipsetest</groupId> - * <artifactId>checkstyle-config</artifactId> - * <version>1.0</version> - * </dependency> - * </dependencies> - * </plugin> - * </pre> - * - * @parameter - */ - private EclipseConfigFile[] additionalConfig; - - /** - * If set to <code>true</code>, the version number of the artifact is appended to the name of the generated - * Eclipse project. See projectNameTemplate for other options. - * - * @parameter expression="${eclipse.addVersionToProjectName}" default-value="false" - */ - private boolean addVersionToProjectName; - - /** - * If set to <code>true</code>, the groupId of the artifact is appended to the name of the generated Eclipse - * project. See projectNameTemplate for other options. - * - * @parameter expression="${eclipse.addGroupIdToProjectName}" default-value="false" - */ - private boolean addGroupIdToProjectName; - - /** - * Allows configuring the name of the eclipse projects. This property if set wins over addVersionToProjectName and - * addGroupIdToProjectName You can use <code>[groupId]</code>, <code>[artifactId]</code> and - * <code>[version]</code> variables. eg. <code>[groupId].[artifactId]-[version]</code> - * - * @parameter expression="${eclipse.projectNameTemplate}" - */ - private String projectNameTemplate; - - /** - * Parsed wtp version. - */ - private float wtpVersionFloat; - - /** - * Not a plugin parameter. Is this a java project? - */ - private boolean isJavaProject; - - /** - * Must the manifest files be written for java projects so that that the jee classpath for wtp is correct. - * - * @parameter expression="${eclipse.wtpmanifest}" default-value="false" - */ - private boolean wtpmanifest; - - /** - * Must the application files be written for ear projects in a separate directory. - * - * @parameter expression="${eclipse.wtpapplicationxml}" default-value="false" - */ - private boolean wtpapplicationxml; - - /** - * What WTP defined server to use for deployment informations. - * - * @parameter expression="${eclipse.wtpdefaultserver}" - */ - private String wtpdefaultserver; - - private WorkspaceConfiguration workspaceConfiguration; - - /** - * ResourceManager for getting additonalConfig files from resources - * - * @component - * @required - * @readonly - */ - private ResourceManager locator; - - /** - * This eclipse workspace is read and all artifacts detected there will be connected as eclipse projects and will - * not be linked to the jars in the local repository. Requirement is that it was created with the similar wtp - * settings as the reactor projects, but the project name template my differ. The pom's in the workspace projects - * may not contain variables in the artefactId, groupId and version tags. - * - * @since 2.5 - * @parameter expression="${eclipse.workspace}" - */ - protected String workspace; - - /** - * Limit the use of project references to the current workspace. No project references will be created to projects - * in the reactor when they are not available in the workspace. - * - * @parameter expression="${eclipse.limitProjectReferencesToWorkspace}" default-value="false" - */ - protected boolean limitProjectReferencesToWorkspace; - - protected boolean isJavaProject() - { - return isJavaProject; - } - - protected boolean isPdeProject() - { - return pde; - } - - /** - * Getter for <code>buildcommands</code>. - * - * @return Returns the buildcommands. - */ - public List getBuildcommands() - { - return buildcommands; - } - - /** - * Setter for <code>buildcommands</code>. - * - * @param buildcommands The buildcommands to set. - */ - public void setBuildcommands( List buildcommands ) - { - this.buildcommands = buildcommands; - } - - /** - * Getter for <code>buildOutputDirectory</code>. - * - * @return Returns the buildOutputDirectory. - */ - public File getBuildOutputDirectory() - { - return buildOutputDirectory; - } - - /** - * Setter for <code>buildOutputDirectory</code>. - * - * @param buildOutputDirectory The buildOutputDirectory to set. - */ - public void setBuildOutputDirectory( File buildOutputDirectory ) - { - this.buildOutputDirectory = buildOutputDirectory; - } - - /** - * Getter for <code>classpathContainers</code>. - * - * @return Returns the classpathContainers. - */ - public List getClasspathContainers() - { - return classpathContainers; - } - - /** - * Setter for <code>classpathContainers</code>. - * - * @param classpathContainers The classpathContainers to set. - */ - public void setClasspathContainers( List classpathContainers ) - { - this.classpathContainers = classpathContainers; - } - - /** - * Getter for <code>eclipseProjectDir</code>. - * - * @return Returns the eclipseProjectDir. - */ - public File getEclipseProjectDir() - { - return eclipseProjectDir; - } - - /** - * Setter for <code>eclipseProjectDir</code>. - * - * @param eclipseProjectDir The eclipseProjectDir to set. - */ - public void setEclipseProjectDir( File eclipseProjectDir ) - { - this.eclipseProjectDir = eclipseProjectDir; - } - - /** - * Getter for <code>projectnatures</code>. - * - * @return Returns the projectnatures. - */ - public List getProjectnatures() - { - return projectnatures; - } - - /** - * Setter for <code>projectnatures</code>. - * - * @param projectnatures The projectnatures to set. - */ - public void setProjectnatures( List projectnatures ) - { - this.projectnatures = projectnatures; - } - - /** - * Getter for <code>useProjectReferences</code>. - * - * @return Returns the useProjectReferences. - */ - public boolean getUseProjectReferences() - { - return useProjectReferences; - } - - /** - * Setter for <code>useProjectReferences</code>. - * - * @param useProjectReferences The useProjectReferences to set. - */ - public void setUseProjectReferences( boolean useProjectReferences ) - { - this.useProjectReferences = useProjectReferences; - } - - /** - * Getter for <code>wtpversion</code>. - * - * @return Returns the wtpversion. - */ - public String getWtpversion() - { - return wtpversion; - } - - /** - * Setter for <code>wtpversion</code>. - * - * @param wtpversion The wtpversion to set. - */ - public void setWtpversion( String wtpversion ) - { - this.wtpversion = wtpversion; - } - - /** - * Getter for <code>additionalBuildcommands</code>. - * - * @return Returns the additionalBuildcommands. - */ - public List getAdditionalBuildcommands() - { - return additionalBuildcommands; - } - - /** - * Setter for <code>additionalBuildcommands</code>. - * - * @param additionalBuildcommands The additionalBuildcommands to set. - */ - public void setAdditionalBuildcommands( List additionalBuildcommands ) - { - this.additionalBuildcommands = additionalBuildcommands; - } - - /** - * Getter for <code>additionalProjectnatures</code>. - * - * @return Returns the additionalProjectnatures. - */ - public List getAdditionalProjectnatures() - { - return additionalProjectnatures; - } - - /** - * Setter for <code>additionalProjectnatures</code>. - * - * @param additionalProjectnatures The additionalProjectnatures to set. - */ - public void setAdditionalProjectnatures( List additionalProjectnatures ) - { - this.additionalProjectnatures = additionalProjectnatures; - } - - /** - * Getter for <code>addVersionToProjectName</code>. - */ - public boolean isAddVersionToProjectName() - { - return addVersionToProjectName; - } - - /** - * Setter for <code>addVersionToProjectName</code>. - */ - public void setAddVersionToProjectName( boolean addVersionToProjectName ) - { - this.addVersionToProjectName = addVersionToProjectName; - } - - /** - * Getter for <code>addGroupIdToProjectName</code>. - */ - public boolean isAddGroupIdToProjectName() - { - return addGroupIdToProjectName; - } - - /** - * Setter for <code>addGroupIdToProjectName</code>. - */ - public void setAddGroupIdToProjectName( boolean addGroupIdToProjectName ) - { - this.addGroupIdToProjectName = addGroupIdToProjectName; - } - - public String getProjectNameTemplate() - { - return projectNameTemplate; - } - - public void setProjectNameTemplate( String projectNameTemplate ) - { - this.projectNameTemplate = projectNameTemplate; - } - - /** - * @see org.apache.maven.plugin.Mojo#execute() - */ - public boolean setup() - throws MojoExecutionException - { - boolean ready = true; - - checkDeprecations(); - - ready = validate(); - - // TODO: Why are we using project in some places, and executedProject in others?? - ArtifactHandler artifactHandler = project.getArtifact().getArtifactHandler(); - - // ear projects don't contain java sources - // pde projects are always java projects - isJavaProject = - pde || - ( Constants.LANGUAGE_JAVA.equals( artifactHandler.getLanguage() ) && !Constants.PROJECT_PACKAGING_EAR.equals( packaging ) ); - - setupExtras(); - - parseConfigurationOptions(); - - // defaults - if ( projectnatures == null ) - { - fillDefaultNatures( packaging ); - } - - if ( additionalProjectnatures != null ) - { - projectnatures.addAll( additionalProjectnatures ); - } - - if ( buildcommands == null ) - { - fillDefaultBuilders( packaging ); - } - else - { - convertBuildCommandList( buildcommands ); - } - - if ( additionalBuildcommands != null ) - { - convertBuildCommandList( additionalBuildcommands ); - buildcommands.addAll( additionalBuildcommands ); - } - - if ( classpathContainers == null ) - { - fillDefaultClasspathContainers( packaging ); - } - else - { - verifyClasspathContainerListIsComplete(); - } - locator.addSearchPath( FileResourceLoader.ID, project.getFile().getParentFile().getAbsolutePath() ); - locator.setOutputDirectory( new File( project.getBuild().getDirectory() ) ); - - // ready to start - return ready; - } - - protected void convertBuildCommandList( List commands ) - { - if ( commands != null ) - { - for ( ListIterator i = commands.listIterator(); i.hasNext(); ) - { - Object command = i.next(); - - if ( command instanceof String ) - { - command = new BuildCommand( (String) command ); - i.set( command ); - } - } - } - } - - private void parseConfigurationOptions() - { - if ( "R7".equalsIgnoreCase( wtpversion ) ) //$NON-NLS-1$ - { - wtpVersionFloat = 0.7f; - } - else if ( "1.0".equalsIgnoreCase( wtpversion ) ) //$NON-NLS-1$ - { - wtpVersionFloat = 1.0f; - } - else if ( "1.5".equalsIgnoreCase( wtpversion ) ) //$NON-NLS-1$ - { - wtpVersionFloat = 1.5f; - } - else if ( "2.0".equalsIgnoreCase( wtpversion ) ) //$NON-NLS-1$ - { - wtpVersionFloat = 2.0f; - } - if ( !"none".equalsIgnoreCase( wtpversion ) ) - { - getLog().info( Messages.getString( "EclipsePlugin.wtpversion", wtpversion ) ); - } - } - - protected void setupExtras() - throws MojoExecutionException - { - // extension point. - } - - protected void verifyClasspathContainerListIsComplete() - { - boolean containsJREContainer = false; - // Check if classpathContainer contains a JRE (default, alternate or - // Execution Environment) - for ( Iterator iter = classpathContainers.iterator(); iter.hasNext(); ) - { - Object classPathContainer = iter.next(); - if ( classPathContainer != null && - classPathContainer.toString().startsWith( COMMON_PATH_JDT_LAUNCHING_JRE_CONTAINER ) ) - { - containsJREContainer = true; - break; - } - } - if ( !containsJREContainer ) - { - getLog().warn( Messages.getString( "EclipsePlugin.missingjrecontainer" ) ); //$NON-NLS-1$ - classpathContainers.add( 0, COMMON_PATH_JDT_LAUNCHING_JRE_CONTAINER ); - } - } - - private boolean validate() - throws MojoExecutionException - { - // validate sanity of the current m2 project - if ( Arrays.binarySearch( WTP_SUPPORTED_VERSIONS, wtpversion ) < 0 ) - { - throw new MojoExecutionException( - Messages.getString( "EclipsePlugin.unsupportedwtp", new Object[] { //$NON-NLS-1$ - wtpversion, - StringUtils.join( WTP_SUPPORTED_VERSIONS, " " ) } ) ); //$NON-NLS-1$ - } - - assertNotEmpty( executedProject.getGroupId(), POM_ELT_GROUP_ID ); - assertNotEmpty( executedProject.getArtifactId(), POM_ELT_ARTIFACT_ID ); - - if ( executedProject.getFile() == null || !executedProject.getFile().exists() ) - { - throw new MojoExecutionException( Messages.getString( "EclipsePlugin.missingpom" ) ); //$NON-NLS-1$ - } - - if ( "pom".equals( packaging ) && eclipseProjectDir == null ) //$NON-NLS-1$ - { - getLog().info( Messages.getString( "EclipsePlugin.pompackaging" ) ); //$NON-NLS-1$ - return false; - } - - if ( "eclipse-plugin".equals( packaging ) ) - { - pde = true; - } - - if ( eclipseProjectDir == null ) - { - eclipseProjectDir = executedProject.getFile().getParentFile(); - } - - if ( !eclipseProjectDir.exists() && !eclipseProjectDir.mkdirs() ) - { - throw new MojoExecutionException( Messages.getString( "EclipsePlugin.cantcreatedir", eclipseProjectDir ) ); //$NON-NLS-1$ - } - - if ( !eclipseProjectDir.equals( executedProject.getFile().getParentFile() ) ) - { - if ( !eclipseProjectDir.isDirectory() ) - { - throw new MojoExecutionException( Messages.getString( "EclipsePlugin.notadir", eclipseProjectDir ) ); //$NON-NLS-1$ - } - eclipseProjectDir = new File( eclipseProjectDir, executedProject.getArtifactId() ); - if ( !eclipseProjectDir.isDirectory() && !eclipseProjectDir.mkdirs() ) - { - throw new MojoExecutionException( Messages.getString( "EclipsePlugin.cantcreatedir", eclipseProjectDir ) ); //$NON-NLS-1$ - } - } - - validateExtras(); - - return true; - } - - protected void validateExtras() - { - // provided for extension. - } - - private void checkDeprecations() - { - if ( eclipseDownloadSources ) - { - // deprecated warning - getLog().warn( Messages.getString( "EclipsePlugin.deprecatedpar", new Object[] { //$NON-NLS-1$ - "eclipse.downloadSources", //$NON-NLS-1$ - "downloadSources" } ) ); //$NON-NLS-1$ - downloadSources = true; - } - - checkExtraDeprecations(); - } - - protected void checkExtraDeprecations() - { - // provided for extension. - } - - public void writeConfiguration( IdeDependency[] deps ) - throws MojoExecutionException - { - EclipseWriterConfig config = createEclipseWriterConfig( deps ); - - if ( wtpmanifest && isJavaProject() ) - { - EclipseManifestWriter.addManifestResource( getLog(), config ); - } - // NOTE: This could change the config! - writeExtraConfiguration( config ); - - if ( wtpVersionFloat == 0.7f ) - { - new EclipseWtpmodulesWriter().init( getLog(), config ).write(); - } - - if ( wtpVersionFloat >= 1.0f ) - { - new EclipseWtpFacetsWriter().init( getLog(), config ).write(); - } - if ( wtpVersionFloat == 1.0f ) - { - new EclipseWtpComponentWriter().init( getLog(), config ).write(); - } - if ( wtpVersionFloat >= 1.5 ) - { - new EclipseWtpComponent15Writer().init( getLog(), config ).write(); - } - - new EclipseSettingsWriter().init( getLog(), config ).write(); - - if ( isJavaProject ) - { - new EclipseClasspathWriter().init( getLog(), config ).write(); - } - - if ( wtpapplicationxml ) - { - new EclipseWtpApplicationXMLWriter().init( getLog(), config ).write(); - } - - // [rfeng] - /* - if ( pde ) - { - this.getLog().info( "The Maven Eclipse plugin runs in 'pde'-mode." ); - new EclipseOSGiManifestWriter().init( getLog(), config ).write(); - } - */ - // [rfeng] - - // NOTE: This one MUST be after EclipseClasspathwriter, and possibly others, - // since currently EclipseClasspathWriter does some magic to detect nested - // output folders and modifies the configuration by adding new (Ant) builders. - // So the .project file must be written AFTER those have run! - new EclipseProjectWriter().init( getLog(), config ).write(); - - writeAdditionalConfig(); - - getLog().info( Messages.getString( "EclipsePlugin.wrote", new Object[] { //$NON-NLS-1$ - config.getEclipseProjectName(), eclipseProjectDir.getAbsolutePath() } ) ); - } - - protected void writeAdditionalConfig() - throws MojoExecutionException - { - if ( additionalConfig != null ) - { - for ( int j = 0; j < additionalConfig.length; j++ ) - { - EclipseConfigFile file = additionalConfig[j]; - File projectRelativeFile = new File( eclipseProjectDir, file.getName() ); - if ( projectRelativeFile.isDirectory() ) - { - // just ignore? - getLog().warn( Messages.getString( "EclipsePlugin.foundadir", //$NON-NLS-1$ - projectRelativeFile.getAbsolutePath() ) ); - } - - try - { - projectRelativeFile.getParentFile().mkdirs(); - if ( file.getContent() == null ) - { - InputStream inStream; - if ( file.getLocation() != null ) - { - inStream = locator.getResourceAsInputStream( file.getLocation() ); - } - else - { - inStream = file.getURL().openConnection().getInputStream(); - } - OutputStream outStream = new FileOutputStream( projectRelativeFile ); - try - { - IOUtil.copy( inStream, outStream ); - } - finally - { - inStream.close(); - outStream.close(); - } - } - else - { - FileUtils.fileWrite( projectRelativeFile.getAbsolutePath(), file.getContent() ); - } - } - catch ( IOException e ) - { - throw new MojoExecutionException( Messages.getString( "EclipsePlugin.cantwritetofile", //$NON-NLS-1$ - projectRelativeFile.getAbsolutePath() ) ); - } - catch ( ResourceNotFoundException e ) - { - throw new MojoExecutionException( Messages.getString( "EclipsePlugin.cantfindresource", //$NON-NLS-1$ - file.getLocation() ) ); - } - - } - } - } - - protected EclipseWriterConfig createEclipseWriterConfig( IdeDependency[] deps ) - throws MojoExecutionException - { - File projectBaseDir = executedProject.getFile().getParentFile(); - - // build a list of UNIQUE source dirs (both src and resources) to be - // used in classpath and wtpmodules - EclipseSourceDir[] sourceDirs = buildDirectoryList( executedProject, eclipseProjectDir, buildOutputDirectory ); - - EclipseWriterConfig config = new EclipseWriterConfig(); - - config.setWorkspaceConfiguration( getWorkspaceConfiguration() ); - - config.setProjectNameTemplate( calculateProjectNameTemplate() ); - - String projectName = IdeUtils.getProjectName( config.getProjectNameTemplate(), project ); - - config.setEclipseProjectName( projectName ); - - config.setWtpapplicationxml( wtpapplicationxml ); - - config.setWtpVersion( wtpVersionFloat ); - - Set convertedBuildCommands = new LinkedHashSet(); - - if ( buildcommands != null ) - { - for ( Iterator it = buildcommands.iterator(); it.hasNext(); ) - { - Object cmd = it.next(); - - if ( cmd instanceof BuildCommand ) - { - convertedBuildCommands.add( cmd ); - } - else - { - convertedBuildCommands.add( new BuildCommand( (String) cmd ) ); - } - } - } - - config.setBuildCommands( new LinkedList( convertedBuildCommands ) ); - - config.setBuildOutputDirectory( buildOutputDirectory ); - config.setClasspathContainers( classpathContainers ); - config.setDeps( deps ); - config.setEclipseProjectDirectory( eclipseProjectDir ); - config.setLocalRepository( localRepository ); - config.setOSGIManifestFile( manifest ); - config.setPde( pde ); - config.setProject( project ); - config.setProjectBaseDir( projectBaseDir ); - config.setProjectnatures( projectnatures ); - config.setProjectFacets( additionalProjectFacets ); - config.setSourceDirs( sourceDirs ); - config.setAddVersionToProjectName( isAddVersionToProjectName() ); - config.setPackaging( packaging ); - - collectWarContextRootsFromReactorEarConfiguration( config ); - - return config; - } - - /** - * If this is a war module peek into the reactor an search for an ear module that defines the context root of this - * module. - * - * @param config config to save the context root. - */ - private void collectWarContextRootsFromReactorEarConfiguration( EclipseWriterConfig config ) - { - if ( reactorProjects != null && wtpContextName == null && - Constants.PROJECT_PACKAGING_WAR.equals( project.getPackaging() ) ) - { - for ( Iterator iter = reactorProjects.iterator(); iter.hasNext(); ) - { - MavenProject reactorProject = (MavenProject) iter.next(); - - if ( Constants.PROJECT_PACKAGING_EAR.equals( reactorProject.getPackaging() ) ) - { - Xpp3Dom[] warDefinitions = - IdeUtils.getPluginConfigurationDom( reactorProject, JeeUtils.ARTIFACT_MAVEN_EAR_PLUGIN, - new String[] { "modules", "webModule" } ); - for ( int index = 0; index < warDefinitions.length; index++ ) - { - Xpp3Dom groupId = warDefinitions[index].getChild( "groupId" ); - Xpp3Dom artifactId = warDefinitions[index].getChild( "artifactId" ); - Xpp3Dom contextRoot = warDefinitions[index].getChild( "contextRoot" ); - if ( groupId != null && artifactId != null && contextRoot != null && - groupId.getValue() != null && artifactId.getValue() != null && - contextRoot.getValue() != null ) - { - getLog().info( - "Found context root definition for " + groupId.getValue() + ":" + - artifactId.getValue() + " " + contextRoot.getValue() ); - if ( project.getArtifactId().equals( artifactId.getValue() ) && - project.getGroupId().equals( groupId.getValue() ) ) - { - config.setContextName( contextRoot.getValue() ); - } - } - else - { - getLog().info( - "Found incomplete ear configuration in " + reactorProject.getGroupId() + - ":" + reactorProject.getGroupId() + " found " + - warDefinitions[index].toString() ); - } - } - } - } - } - if ( config.getContextName() == null && Constants.PROJECT_PACKAGING_WAR.equals( project.getPackaging() ) ) - { - if ( wtpContextName == null ) - { - config.setContextName( project.getArtifactId() ); - } - else - { - config.setContextName( wtpContextName ); - } - } - } - - /** - * Write any extra configuration information for the Eclipse project. This is an extension point, called before the - * main configurations are written. <br/> <b> NOTE: This could change the config! </b> - * - * @param config - * @throws MojoExecutionException - */ - protected void writeExtraConfiguration( EclipseWriterConfig config ) - throws MojoExecutionException - { - // extension point. - } - - private void assertNotEmpty( String string, String elementName ) - throws MojoExecutionException - { - if ( string == null ) - { - throw new MojoExecutionException( Messages.getString( "EclipsePlugin.missingelement", elementName ) ); //$NON-NLS-1$ - } - } - - protected void fillDefaultNatures( String packaging ) - { - projectnatures = new ArrayList(); - - if ( wtpVersionFloat >= 1.0f ) - { - projectnatures.add( NATURE_WST_FACET_CORE_NATURE ); // WTP 1.0 nature - } - - if ( isJavaProject ) - { - projectnatures.add( NATURE_JDT_CORE_JAVA ); - } - - if ( wtpVersionFloat >= 0.7f ) - { - projectnatures.add( NATURE_WST_MODULE_CORE_NATURE ); // WTP 0.7/1.0 nature - - if ( isJavaProject ) - { - projectnatures.add( NATURE_JEM_WORKBENCH_JAVA_EMF ); // WTP 0.7/1.0 nature - } - } - - if ( pde ) - { - projectnatures.add( NATURE_PDE_PLUGIN ); - } - - } - - protected void fillDefaultClasspathContainers( String packaging ) - { - classpathContainers = new ArrayList(); - - if ( getWorkspaceConfiguration().getDefaultClasspathContainer() != null ) - { - getLog().info( - "Adding default classpath contaigner: " + - getWorkspaceConfiguration().getDefaultClasspathContainer() ); - classpathContainers.add( getWorkspaceConfiguration().getDefaultClasspathContainer() ); - } - if ( pde ) - { - classpathContainers.add( REQUIRED_PLUGINS_CONTAINER ); - } - } - - protected void fillDefaultBuilders( String packaging ) - { - buildcommands = new ArrayList(); - - if ( wtpVersionFloat == 0.7f ) - { - buildcommands.add( new BuildCommand( BUILDER_WST_COMPONENT_STRUCTURAL ) ); // WTP 0.7 builder - } - - if ( isJavaProject ) - { - buildcommands.add( new BuildCommand( BUILDER_JDT_CORE_JAVA ) ); - } - - if ( wtpVersionFloat >= 1.5f ) - { - buildcommands.add( new BuildCommand( BUILDER_WST_FACET ) ); // WTP 1.5 builder - } - - if ( wtpVersionFloat >= 0.7f ) - { - buildcommands.add( new BuildCommand( BUILDER_WST_VALIDATION ) ); // WTP 0.7/1.0 builder - } - - if ( wtpVersionFloat == 0.7f ) - { - // WTP 0.7 builder - buildcommands.add( new BuildCommand( BUILDER_WST_COMPONENT_STRUCTURAL_DEPENDENCY_RESOLVER ) ); - } - - if ( pde ) - { - buildcommands.add( new BuildCommand( BUILDER_PDE_MANIFEST ) ); - buildcommands.add( new BuildCommand( BUILDER_PDE_SCHEMA ) ); - } - } - - public EclipseSourceDir[] buildDirectoryList( MavenProject project, File basedir, File buildOutputDirectory ) - throws MojoExecutionException - { - File projectBaseDir = project.getFile().getParentFile(); - - // avoid duplicated entries - Set directories = new TreeSet(); - - extractSourceDirs( directories, project.getCompileSourceRoots(), basedir, projectBaseDir, false, null ); - - String relativeOutput = IdeUtils.toRelativeAndFixSeparator( projectBaseDir, buildOutputDirectory, false ); - - extractResourceDirs( directories, project.getBuild().getResources(), project, basedir, projectBaseDir, false, - relativeOutput ); - - // If using the standard output location, don't mix the test output into it. - String testOutput = null; - boolean useStandardOutputDir = - buildOutputDirectory.equals( new File( project.getBuild().getOutputDirectory() ) ); - if ( useStandardOutputDir ) - { - getLog().debug( - "testOutput toRelativeAndFixSeparator " + projectBaseDir + " , " + - project.getBuild().getTestOutputDirectory() ); - testOutput = - IdeUtils.toRelativeAndFixSeparator( projectBaseDir, - new File( project.getBuild().getTestOutputDirectory() ), false ); - getLog().debug( "testOutput after toRelative : " + testOutput ); - } - - extractSourceDirs( directories, project.getTestCompileSourceRoots(), basedir, projectBaseDir, true, testOutput ); - - extractResourceDirs( directories, project.getBuild().getTestResources(), project, basedir, projectBaseDir, - true, testOutput ); - - return (EclipseSourceDir[]) directories.toArray( new EclipseSourceDir[directories.size()] ); - } - - private void extractSourceDirs( Set directories, List sourceRoots, File basedir, File projectBaseDir, boolean test, - String output ) - throws MojoExecutionException - { - for ( Iterator it = sourceRoots.iterator(); it.hasNext(); ) - { - - File sourceRootFile = new File( (String) it.next() ); - - if ( sourceRootFile.isDirectory() ) - { - String sourceRoot = - IdeUtils.toRelativeAndFixSeparator( projectBaseDir, sourceRootFile, - !projectBaseDir.equals( basedir ) ); - - directories.add( new EclipseSourceDir( sourceRoot, output, false, test, null, null, false ) ); - } - } - } - - void extractResourceDirs( Set directories, List resources, MavenProject project, File basedir, - File workspaceProjectBaseDir, boolean test, final String output ) - throws MojoExecutionException - { - for ( Iterator it = resources.iterator(); it.hasNext(); ) - { - Resource resource = (Resource) it.next(); - - getLog().debug( "Processing resource dir: " + resource.getDirectory() ); - - String includePattern = null; - String excludePattern = null; - - if ( resource.getIncludes().size() != 0 ) - { - includePattern = StringUtils.join( resource.getIncludes().iterator(), "|" ); - } - - if ( resource.getExcludes().size() != 0 ) - { - excludePattern = StringUtils.join( resource.getExcludes().iterator(), "|" ); - } - - // TODO: figure out how to merge if the same dir is specified twice - // with different in/exclude patterns. - - File resourceDirectory = new File( /* basedir, */resource.getDirectory() ); - - if ( !resourceDirectory.exists() || !resourceDirectory.isDirectory() ) - { - getLog().debug( "Resource dir: " + resourceDirectory + " either missing or not a directory." ); - continue; - } - - String resourceDir = - IdeUtils.toRelativeAndFixSeparator( workspaceProjectBaseDir, resourceDirectory, - !workspaceProjectBaseDir.equals( basedir ) ); - String thisOutput = output; - if ( thisOutput != null ) - { - // sometimes thisOutput is already an absolute path - File outputFile = new File( thisOutput ); - if ( !outputFile.isAbsolute() ) - { - outputFile = new File( workspaceProjectBaseDir, thisOutput ); - } - // create output dir if it doesn't exist - outputFile.mkdirs(); - - if ( !StringUtils.isEmpty( resource.getTargetPath() ) ) - { - outputFile = new File( outputFile, resource.getTargetPath() ); - // create output dir if it doesn't exist - outputFile.mkdirs(); - } - - getLog().debug( - "Making relative and fixing separator: { " + workspaceProjectBaseDir + ", " + - outputFile + ", false }." ); - thisOutput = IdeUtils.toRelativeAndFixSeparator( workspaceProjectBaseDir, outputFile, false ); - } - - getLog().debug( - "Adding eclipse source dir: { " + resourceDir + ", " + thisOutput + ", true, " + test + - ", " + includePattern + ", " + excludePattern + " }." ); - - directories.add( new EclipseSourceDir( resourceDir, thisOutput, true, test, includePattern, excludePattern, - resource.isFiltering() ) ); - } - } - - /** - * Calculate the project name template from the fields {@link #projectNameTemplate}, - * {@link #addVersionToProjectName} and {@link #addGroupIdToProjectName} - * - * @return the project name template that should be used after considering the plugin configuration - */ - private String calculateProjectNameTemplate() - { - if ( getProjectNameTemplate() != null ) - { - if ( isAddVersionToProjectName() || isAddGroupIdToProjectName() ) - { - getLog().warn( - "projectNameTemplate definition overrides " - + "addVersionToProjectName or addGroupIdToProjectName" ); - } - return getProjectNameTemplate(); - } - else if ( isAddVersionToProjectName() && isAddGroupIdToProjectName() ) - { - return IdeUtils.PROJECT_NAME_WITH_GROUP_AND_VERSION_TEMPLATE; - } - else if ( isAddVersionToProjectName() ) - { - return IdeUtils.PROJECT_NAME_WITH_VERSION_TEMPLATE; - } - else if ( isAddGroupIdToProjectName() ) - { - return IdeUtils.PROJECT_NAME_WITH_GROUP_TEMPLATE; - } - return IdeUtils.PROJECT_NAME_DEFAULT_TEMPLATE; - } - - /** - * {@inheritDoc} - */ - public String getProjectNameForArifact( Artifact artifact ) - { - IdeDependency[] workspaceArtefacts = getWorkspaceArtefacts(); - for ( int index = 0; workspaceArtefacts != null && index < workspaceArtefacts.length; index++ ) - { - IdeDependency workspaceArtefact = workspaceArtefacts[index]; - if ( workspaceArtefact.isAddedToClasspath() && - workspaceArtefact.getGroupId().equals( artifact.getGroupId() ) && - workspaceArtefact.getArtifactId().equals( artifact.getArtifactId() ) ) - { - if ( workspaceArtefact.getVersion().equals( artifact.getVersion() ) ) - { - return workspaceArtefact.getEclipseProjectName(); - } - } - } - return IdeUtils.getProjectName( calculateProjectNameTemplate(), artifact ); - } - - /** - * {@inheritDoc} - */ - protected IdeDependency[] getWorkspaceArtefacts() - { - return getWorkspaceConfiguration().getWorkspaceArtefacts(); - } - - public WorkspaceConfiguration getWorkspaceConfiguration() - { - if ( workspaceConfiguration == null ) - { - workspaceConfiguration = new WorkspaceConfiguration(); - if ( workspace != null ) - { - workspaceConfiguration.setWorkspaceDirectory( new File( workspace ) ); - } - new ReadWorkspaceLocations().init( getLog(), workspaceConfiguration, project, wtpdefaultserver ); - } - return workspaceConfiguration; - } - - public List getExcludes() - { - return excludes; - } - - /** - * Utility method that locates a project in the workspace for the given artifact. - * - * @param artifact the artifact a project should produce. - * @return <code>true</code> if the artifact is produced by a reactor projectart. - */ - private boolean isAvailableAsAWorkspaceProject( Artifact artifact ) - { - IdeDependency[] workspaceArtefacts = getWorkspaceArtefacts(); - for ( int index = 0; workspaceArtefacts != null && index < workspaceArtefacts.length; index++ ) - { - IdeDependency workspaceArtefact = workspaceArtefacts[index]; - if ( workspaceArtefact.getGroupId().equals( artifact.getGroupId() ) && - workspaceArtefact.getArtifactId().equals( artifact.getArtifactId() ) ) - { - if ( workspaceArtefact.getVersion().equals( artifact.getVersion() ) ) - { - workspaceArtefact.setAddedToClasspath( true ); - getLog().debug( "Using workspace project: " + workspaceArtefact.getEclipseProjectName() ); - return true; - } - else - { - getLog().info( - "Artifact " + - artifact.getId() + - " already available as a workspace project, but with different version. Expected: " + - artifact.getVersion() + ", found: " + workspaceArtefact.getVersion() ); - } - } - } - return false; - } - - /* - * (non-Javadoc) - * - * @see org.apache.maven.plugin.ide.AbstractIdeSupportMojo#doDependencyResolution() - */ - protected IdeDependency[] doDependencyResolution() - throws MojoExecutionException - { - - return super.doDependencyResolution(); - } - - /** - * Checks if jar has to be resolved for the given artifact - * - * @param art the artifact to check - * @return true if resolution should happen - */ - protected boolean hasToResolveJar( Artifact art ) - { - return !( getUseProjectReferences() && isAvailableAsAReactorProject( art ) ) || - ( limitProjectReferencesToWorkspace && !( getUseProjectReferences() && isAvailableAsAWorkspaceProject( art ) ) ); - } - - /** - * Checks if a projects reference has to be used for the given artifact - * - * @param art the artifact to check - * @return true if a project reference has to be used. - */ - protected boolean useProjectReference( Artifact art ) - { - boolean isReactorProject = getUseProjectReferences() && isAvailableAsAReactorProject( art ); - boolean isWorkspaceProject = getUseProjectReferences() && isAvailableAsAWorkspaceProject( art ); - return ( isReactorProject && !limitProjectReferencesToWorkspace ) || // default - ( limitProjectReferencesToWorkspace && isWorkspaceProject ) || // limitProjectReferencesToWorkspace - ( !isReactorProject && isWorkspaceProject ); // default + workspace projects - } -} diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseProjectWriter.java b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseProjectWriter.java deleted file mode 100644 index 070b9b3e8b..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseProjectWriter.java +++ /dev/null @@ -1,351 +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.maven.plugin.eclipse; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.io.Reader; -import java.io.Writer; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; - -import org.apache.maven.model.Resource; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.eclipse.BuildCommand; -import org.apache.maven.plugin.eclipse.writers.AbstractEclipseWriter; -import org.apache.maven.plugin.ide.IdeDependency; -import org.apache.maven.plugin.ide.IdeUtils; -import org.codehaus.plexus.util.IOUtil; -import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter; -import org.codehaus.plexus.util.xml.XMLWriter; -import org.codehaus.plexus.util.xml.Xpp3Dom; -import org.codehaus.plexus.util.xml.Xpp3DomBuilder; -import org.codehaus.plexus.util.xml.pull.XmlPullParserException; - -/** - * Writes eclipse .project file. - * - * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a> - * @author <a href="mailto:kenney@neonics.com">Kenney Westerhof</a> - * @author <a href="mailto:fgiust@apache.org">Fabrizio Giustina</a> - * @version $Id: EclipseProjectWriter.java 616816 2008-01-30 17:23:08Z aheritier $ - */ -public class EclipseProjectWriter - extends AbstractEclipseWriter -{ - private static final String ELT_NAME = "name"; //$NON-NLS-1$ - - private static final String ELT_BUILD_COMMAND = "buildCommand"; //$NON-NLS-1$ - - private static final String ELT_BUILD_SPEC = "buildSpec"; //$NON-NLS-1$ - - private static final String ELT_NATURE = "nature"; //$NON-NLS-1$ - - private static final String ELT_NATURES = "natures"; //$NON-NLS-1$ - - private static final String FILE_DOT_PROJECT = ".project"; //$NON-NLS-1$ - - /** - * Constant for links to files. - */ - private static final int LINK_TYPE_FILE = 1; - - /** - * Constant for links to directories. - */ - private static final int LINK_TYPE_DIRECTORY = 2; - - /** - * @see org.apache.tuscany.sca.maven.plugin.eclipse.writers.EclipseWriter#write() - */ - public void write() - throws MojoExecutionException - { - - Set projectnatures = new LinkedHashSet(); - Set buildCommands = new LinkedHashSet(); - - File dotProject = new File( config.getEclipseProjectDirectory(), FILE_DOT_PROJECT ); - - if ( dotProject.exists() ) - { - - log.info( Messages.getString( "EclipsePlugin.keepexisting", dotProject.getAbsolutePath() ) ); //$NON-NLS-1$ - - // parse existing file in order to keep manually-added entries - Reader reader = null; - try - { - reader = new InputStreamReader( new FileInputStream( dotProject ), "UTF-8" ); - Xpp3Dom dom = Xpp3DomBuilder.build( reader ); - - Xpp3Dom naturesElement = dom.getChild( ELT_NATURES ); - if ( naturesElement != null ) - { - Xpp3Dom[] existingNatures = naturesElement.getChildren( ELT_NATURE ); - for ( int j = 0; j < existingNatures.length; j++ ) - { - // adds all the existing natures - projectnatures.add( existingNatures[j].getValue() ); - } - } - - Xpp3Dom buildSpec = dom.getChild( ELT_BUILD_SPEC ); - if ( buildSpec != null ) - { - Xpp3Dom[] existingBuildCommands = buildSpec.getChildren( ELT_BUILD_COMMAND ); - for ( int j = 0; j < existingBuildCommands.length; j++ ) - { - Xpp3Dom buildCommandName = existingBuildCommands[j].getChild( ELT_NAME ); - if ( buildCommandName != null ) - { - buildCommands.add( new BuildCommand( existingBuildCommands[j] ) ); - } - } - } - } - catch ( XmlPullParserException e ) - { - log.warn( Messages.getString( "EclipsePlugin.cantparseexisting", dotProject.getAbsolutePath() ) ); //$NON-NLS-1$ - } - catch ( IOException e ) - { - log.warn( Messages.getString( "EclipsePlugin.cantparseexisting", dotProject.getAbsolutePath() ) ); //$NON-NLS-1$ - } - finally - { - IOUtil.close( reader ); - } - } - - // adds new entries after the existing ones - for ( Iterator iter = config.getProjectnatures().iterator(); iter.hasNext(); ) - { - projectnatures.add( iter.next() ); - } - - for ( Iterator iter = config.getBuildCommands().iterator(); iter.hasNext(); ) - { - buildCommands.add( (BuildCommand) iter.next() ); - } - - Writer w; - - try - { - w = new OutputStreamWriter( new FileOutputStream( dotProject ), "UTF-8" ); - } - catch ( IOException ex ) - { - throw new MojoExecutionException( Messages.getString( "EclipsePlugin.erroropeningfile" ), ex ); //$NON-NLS-1$ - } - - XMLWriter writer = new PrettyPrintXMLWriter( w ); - - writer.startElement( "projectDescription" ); //$NON-NLS-1$ - - writer.startElement( ELT_NAME ); - writer.writeText( config.getEclipseProjectName() ); - writer.endElement(); - - // TODO: this entire element might be dropped if the comment is null. - // but as the maven1 eclipse plugin does it, it's better to be safe than sorry - // A eclipse developer might want to look at this. - writer.startElement( "comment" ); //$NON-NLS-1$ - - if ( config.getProject().getDescription() != null ) - { - writer.writeText( config.getProject().getDescription() ); - } - - writer.endElement(); - - writer.startElement( "projects" ); //$NON-NLS-1$ - - // referenced projects should not be added for plugins - if ( !config.isPde() ) - { - for ( int j = 0; j < config.getDepsOrdered().length; j++ ) - { - IdeDependency dep = config.getDepsOrdered()[j]; - if ( dep.isReferencedProject() ) - { - writer.startElement( "project" ); //$NON-NLS-1$ - writer.writeText( dep.getEclipseProjectName() ); - writer.endElement(); - } - } - } - - writer.endElement(); // projects - - writer.startElement( ELT_BUILD_SPEC ); - - for ( Iterator it = buildCommands.iterator(); it.hasNext(); ) - { - ( (BuildCommand) it.next() ).print( writer ); - } - - writer.endElement(); // buildSpec - - writer.startElement( ELT_NATURES ); - - for ( Iterator it = projectnatures.iterator(); it.hasNext(); ) - { - writer.startElement( ELT_NATURE ); - writer.writeText( (String) it.next() ); - writer.endElement(); // name - } - - writer.endElement(); // natures - - /* - boolean addLinks = !config.getProjectBaseDir().equals( config.getEclipseProjectDirectory() ); - - if ( addLinks || ( config.isPde() && config.getDepsOrdered().length > 0 ) ) - { - writer.startElement( "linkedResources" ); //$NON-NLS-1$ - - if ( addLinks ) - { - - addFileLink( writer, config.getProjectBaseDir(), config.getEclipseProjectDirectory(), - config.getProject().getFile() ); - - addSourceLinks( writer, config.getProjectBaseDir(), config.getEclipseProjectDirectory(), - config.getProject().getCompileSourceRoots() ); - addResourceLinks( writer, config.getProjectBaseDir(), config.getEclipseProjectDirectory(), - config.getProject().getBuild().getResources() ); - - addSourceLinks( writer, config.getProjectBaseDir(), config.getEclipseProjectDirectory(), - config.getProject().getTestCompileSourceRoots() ); - addResourceLinks( writer, config.getProjectBaseDir(), config.getEclipseProjectDirectory(), - config.getProject().getBuild().getTestResources() ); - - } - - if ( config.isPde() ) - { - for ( int j = 0; j < config.getDepsOrdered().length; j++ ) - { - IdeDependency dep = config.getDepsOrdered()[j]; - - if ( dep.isAddedToClasspath() && !dep.isProvided() && !dep.isReferencedProject() && - !dep.isTestDependency() && !dep.isOsgiBundle() ) - { - String name = dep.getFile().getName(); - addLink( writer, name, StringUtils.replace( IdeUtils.getCanonicalPath( dep.getFile() ), "\\", - "/" ), LINK_TYPE_FILE ); - } - } - } - - writer.endElement(); // linkedResources - } - */ - - writer.endElement(); // projectDescription - - IOUtil.close( w ); - } - - private void addFileLink( XMLWriter writer, File projectBaseDir, File basedir, File file ) - throws MojoExecutionException - { - if ( file.isFile() ) - { - String name = IdeUtils.toRelativeAndFixSeparator( projectBaseDir, file, true ); - String location = IdeUtils.getCanonicalPath( file ).replaceAll( "\\\\", "/" ); //$NON-NLS-1$ //$NON-NLS-2$ - - addLink( writer, name, location, LINK_TYPE_FILE ); - } - else - { - log.warn( Messages.getString( "EclipseProjectWriter.notafile", file ) ); //$NON-NLS-1$ - } - } - - private void addSourceLinks( XMLWriter writer, File projectBaseDir, File basedir, List sourceRoots ) - throws MojoExecutionException - { - for ( Iterator it = sourceRoots.iterator(); it.hasNext(); ) - { - String sourceRootString = (String) it.next(); - File sourceRoot = new File( sourceRootString ); - - if ( sourceRoot.isDirectory() ) - { - String name = IdeUtils.toRelativeAndFixSeparator( projectBaseDir, sourceRoot, true ); - String location = IdeUtils.getCanonicalPath( sourceRoot ).replaceAll( "\\\\", "/" ); //$NON-NLS-1$ //$NON-NLS-2$ - - addLink( writer, name, location, LINK_TYPE_DIRECTORY ); - } - } - } - - private void addResourceLinks( XMLWriter writer, File projectBaseDir, File basedir, List sourceRoots ) - throws MojoExecutionException - { - for ( Iterator it = sourceRoots.iterator(); it.hasNext(); ) - { - String resourceDirString = ( (Resource) it.next() ).getDirectory(); - File resourceDir = new File( resourceDirString ); - - if ( resourceDir.isDirectory() ) - { - String name = IdeUtils.toRelativeAndFixSeparator( projectBaseDir, resourceDir, true ); - String location = IdeUtils.getCanonicalPath( resourceDir ).replaceAll( "\\\\", "/" ); //$NON-NLS-1$ //$NON-NLS-2$ - - addLink( writer, name, location, LINK_TYPE_DIRECTORY ); - } - } - } - - /** - * @param writer - * @param name - * @param location - */ - private void addLink( XMLWriter writer, String name, String location, int type ) - { - writer.startElement( "link" ); //$NON-NLS-1$ - - writer.startElement( ELT_NAME ); - writer.writeText( name ); - writer.endElement(); // name - - writer.startElement( "type" ); //$NON-NLS-1$ - writer.writeText( Integer.toString( type ) ); - writer.endElement(); // type - - writer.startElement( "location" ); //$NON-NLS-1$ - - writer.writeText( location ); - - writer.endElement(); // location - - writer.endElement(); // link - } -} diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/Messages.java b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/Messages.java deleted file mode 100644 index 553cae6256..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/Messages.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.maven.plugin.eclipse; - -import java.text.MessageFormat; -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -/** - * @author <a href="mailto:fgiust@users.sourceforge.net">Fabrizio Giustina</a> - * @version $Id: Messages.java 485864 2006-12-11 20:41:36Z fgiust $ - */ -public class Messages -{ - - private static final String BUNDLE_NAME = "org.apache.tuscany.sca.maven.plugin.eclipse.messages"; //$NON-NLS-1$ - - private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle( BUNDLE_NAME ); - - private Messages() - { - } - - public static String getString( String key ) - { - try - { - return RESOURCE_BUNDLE.getString( key ); - } - catch ( MissingResourceException e ) - { - return '!' + key + '!'; - } - } - - public static String getString( String key, Object[] params ) - { - try - { - return MessageFormat.format( RESOURCE_BUNDLE.getString( key ), params ); - } - catch ( MissingResourceException e ) - { - return '!' + key + '!'; - } - } - - public static String getString( String key, Object param ) - { - return getString( key, new Object[] { param } ); - } -} diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ArtifactAggregation.java b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ArtifactAggregation.java deleted file mode 100644 index 062c935ad9..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ArtifactAggregation.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.tools.bundle.plugin; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.maven.artifact.Artifact; - - -public class ArtifactAggregation { - private String symbolicName; - private String version; - private List<ArtifactMember> artifactMemebers = new ArrayList<ArtifactMember>(); - private transient List<Artifact> artifacts = new ArrayList<Artifact>(); - - public List<Artifact> getArtifacts() { - return artifacts; - } - - public String getSymbolicName() { - return symbolicName; - } - - public void setSymbolicName(String symbolicName) { - this.symbolicName = symbolicName; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public List<ArtifactMember> getArtifactMembers() { - return artifactMemebers; - } - - public void setArtifactMembers(List<ArtifactMember> artifacts) { - this.artifactMemebers = artifacts; - } - - public String toString() { - return symbolicName + ";version=\"" + version + "\"\n" + artifactMemebers; - } - - public boolean matches(Artifact artifact) { - for(ArtifactMember m: artifactMemebers) { - if(m.matches(artifact)) { - return true; - } - } - return false; - } -}
\ No newline at end of file diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ArtifactMember.java b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ArtifactMember.java deleted file mode 100644 index 19315aa19f..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ArtifactMember.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.tools.bundle.plugin; - -import org.apache.maven.artifact.Artifact; - -public class ArtifactMember { - private String groupId; - private String artifactId; - private String version; - - public String getGroupId() { - return groupId; - } - - public void setGroupId(String groupId) { - this.groupId = groupId; - } - - public String getArtifactId() { - return artifactId; - } - - public void setArtifactId(String artifactId) { - this.artifactId = artifactId; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public String toString() { - return groupId + ":" + artifactId + ":" + version; - } - - public boolean matches(Artifact artifact) { - return groupId.equals(artifact.getGroupId()) && (artifactId == null || artifactId.equals("") - || artifactId.equals("*") || artifactId.equals(artifact.getArtifactId())) - && (version == null || version.equals("") || version.equals("*") || version.equals(artifact.getVersion())); - } -} diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/BundleUtil.java b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/BundleUtil.java deleted file mode 100644 index f104225483..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/BundleUtil.java +++ /dev/null @@ -1,387 +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.tools.bundle.plugin; - -import static org.osgi.framework.Constants.BUNDLE_CLASSPATH; -import static org.osgi.framework.Constants.BUNDLE_MANIFESTVERSION; -import static org.osgi.framework.Constants.BUNDLE_NAME; -import static org.osgi.framework.Constants.BUNDLE_SYMBOLICNAME; -import static org.osgi.framework.Constants.BUNDLE_VERSION; -import static org.osgi.framework.Constants.DYNAMICIMPORT_PACKAGE; -import static org.osgi.framework.Constants.EXPORT_PACKAGE; -import static org.osgi.framework.Constants.IMPORT_PACKAGE; - -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.HashSet; -import java.util.Set; -import java.util.jar.Attributes; -import java.util.jar.JarFile; -import java.util.jar.Manifest; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; - -import org.apache.maven.artifact.versioning.ArtifactVersion; -import org.apache.maven.artifact.versioning.DefaultArtifactVersion; -import org.osgi.framework.Version; - -/** - * Common functions used by the plugin. - * - * @version $Rev$ $Date$ - */ -final class BundleUtil { - - /** - * Returns the name of a bundle, or null if the given file is not a bundle. - * - * @param file - * @return - * @throws IOException - */ - static String getBundleSymbolicName(File file) throws IOException { - if (!file.exists()) { - return null; - } - String bundleName = null; - if (file.isDirectory()) { - File mf = new File(file, "META-INF/MANIFEST.MF"); - if (mf.isFile()) { - Manifest manifest = new Manifest(new FileInputStream(mf)); - bundleName = manifest.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME); - } - } else { - JarFile jar = new JarFile(file, false); - Manifest manifest = jar.getManifest(); - bundleName = manifest.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME); - jar.close(); - } - if (bundleName == null) { - return bundleName; - } - int sc = bundleName.indexOf(';'); - if (sc != -1) { - bundleName = bundleName.substring(0, sc); - } - return bundleName; - } - - /** - * Generate a Bundle manifest for a set of JAR files. - * - * @param jarFiles - * @param name - * @param symbolicName - * @param version - * @param dir - * @return - * @throws IllegalStateException - */ - static Manifest libraryManifest(Set<File> jarFiles, String name, String symbolicName, String version, String dir) - throws IllegalStateException { - try { - - // List exported packages and bundle classpath entries - StringBuffer classpath = new StringBuffer(); - Set<String> exportedPackages = new HashSet<String>(); - for (File jarFile : jarFiles) { - addPackages(jarFile, exportedPackages, version); - if (dir != null) { - classpath.append(dir).append("/"); - } - classpath.append(jarFile.getName()); - classpath.append(","); - } - - // Generate export-package and import-package declarations - StringBuffer exports = new StringBuffer(); - StringBuffer imports = new StringBuffer(); - Set<String> importedPackages = new HashSet<String>(); - for (String export : exportedPackages) { - - // Add export declaration - exports.append(export); - exports.append(','); - - // Add corresponding import declaration - String packageName = packageName(export); - if (!importedPackages.contains(packageName)) { - importedPackages.add(packageName); - imports.append(packageName); - imports.append(','); - } - } - - // Create a manifest - Manifest manifest = new Manifest(); - Attributes attributes = manifest.getMainAttributes(); - attributes.putValue("Manifest-Version", "1.0"); - attributes.putValue(BUNDLE_MANIFESTVERSION, "2"); - attributes.putValue(BUNDLE_SYMBOLICNAME, symbolicName); - attributes.putValue(BUNDLE_NAME, name); - attributes.putValue(BUNDLE_VERSION, version); - attributes.putValue(DYNAMICIMPORT_PACKAGE, "*"); - if (exports.length() > 1) { - attributes.putValue(EXPORT_PACKAGE, exports.substring(0, exports.length() - 1)); - } - if (imports.length() > 1) { - attributes.putValue(IMPORT_PACKAGE, imports.substring(0, imports.length() - 1)); - } - if (classpath.length() > 1) { - attributes.putValue(BUNDLE_CLASSPATH, classpath.substring(0, classpath.length() - 1)); - } - - return manifest; - } catch (IOException e) { - throw new IllegalStateException(e); - } - } - - /** - * Write a bundle manifest. - * - * @param manifest - * @param out - * @throws IOException - */ - static void write(Manifest manifest, OutputStream out) throws IOException { - DataOutputStream dos = new DataOutputStream(out); - Attributes attributes = manifest.getMainAttributes(); - write(attributes, "Manifest-Version", dos); - write(attributes, BUNDLE_MANIFESTVERSION, dos); - write(attributes, BUNDLE_SYMBOLICNAME, dos); - write(attributes, BUNDLE_NAME, dos); - write(attributes, BUNDLE_VERSION, dos); - write(attributes, DYNAMICIMPORT_PACKAGE, dos); - write(attributes, BUNDLE_CLASSPATH, dos); - write(attributes, IMPORT_PACKAGE, dos); - write(attributes, EXPORT_PACKAGE, dos); - dos.flush(); - } - - /** - * Add packages to be exported out of a JAR file. - * - * @param jarFile - * @param packages - * @throws IOException - */ - private static void addPackages(File jarFile, Set<String> packages, String version) throws IOException { - if (getBundleSymbolicName(jarFile) == null) { - String ver = ";version=" + version; - addAllPackages(jarFile, packages, ver); - } else { - addExportedPackages(jarFile, packages); - } - } - - /** - * Write manifest attributes. - * - * @param attributes - * @param key - * @param dos - * @throws IOException - */ - private static void write(Attributes attributes, String key, DataOutputStream dos) throws IOException { - String value = attributes.getValue(key); - if (value == null) { - return; - } - StringBuffer line = new StringBuffer(); - line.append(key); - line.append(": "); - line.append(new String(value.getBytes("UTF8"))); - line.append("\r\n"); - int l = line.length(); - if (l > 72) { - for (int i = 70; i < l - 2;) { - line.insert(i, "\r\n "); - i += 72; - l += 3; - } - } - dos.writeBytes(line.toString()); - } - - /** - * Strip an OSGi export, only retain the package name and version. - * - * @param export - * @return - */ - private static String stripExport(String export) { - int sc = export.indexOf(';'); - if (sc == -1) { - return export; - } - String base = export.substring(0, sc); - int v = export.indexOf("version="); - if (v != -1) { - sc = export.indexOf(';', v + 1); - if (sc != -1) { - return base + ";" + export.substring(v, sc); - } else { - return base + ";" + export.substring(v); - } - } else { - return base; - } - } - - /** - * Add all the packages out of a JAR. - * - * @param jarFile - * @param packages - * @param version - * @throws IOException - */ - private static void addAllPackages(File jarFile, Set<String> packages, String version) throws IOException { - ZipInputStream is = new ZipInputStream(new FileInputStream(jarFile)); - ZipEntry entry; - while ((entry = is.getNextEntry()) != null) { - String entryName = entry.getName(); - if (!entry.isDirectory() && entryName != null - && entryName.length() > 0 - && !entryName.startsWith(".") - && entryName.endsWith(".class") // Exclude resources from Export-Package - && entryName.lastIndexOf("/") > 0 - && Character.isJavaIdentifierStart(entryName.charAt(0))) { - String pkg = entryName.substring(0, entryName.lastIndexOf("/")).replace('/', '.'); - if (!pkg.endsWith(".enum")) { - packages.add(pkg + version); - } - } - } - is.close(); - } - - /** - * Returns the name of the exported package in the given export. - * @param export - * @return - */ - private static String packageName(String export) { - int sc = export.indexOf(';'); - if (sc != -1) { - export = export.substring(0, sc); - } - return export; - } - - /** - * Add the packages exported by a bundle. - * - * @param file - * @param packages - * @return - * @throws IOException - */ - private static void addExportedPackages(File file, Set<String> packages) throws IOException { - if (!file.exists()) { - return; - } - - // Read the export-package declaration and get a list of the packages available in a JAR - Set<String> existingPackages = null; - String exports = null; - if (file.isDirectory()) { - File mf = new File(file, "META-INF/MANIFEST.MF"); - if (mf.isFile()) { - Manifest manifest = new Manifest(new FileInputStream(mf)); - exports = manifest.getMainAttributes().getValue(EXPORT_PACKAGE); - } - } else { - JarFile jar = new JarFile(file, false); - Manifest manifest = jar.getManifest(); - exports = manifest.getMainAttributes().getValue(EXPORT_PACKAGE); - jar.close(); - existingPackages = new HashSet<String>(); - addAllPackages(file, existingPackages, ""); - } - if (exports == null) { - return; - } - - // Parse the export-package declaration, and extract the individual packages - StringBuffer buffer = new StringBuffer(); - boolean q = false; - for (int i = 0, n = exports.length(); i < n; i++) { - char c = exports.charAt(i); - if (c == '\"') { - q = !q; - } - if (!q) { - if (c == ',') { - - // Add the exported package to the set, after making sure it really exists in - // the JAR - String export = buffer.toString(); - if (existingPackages == null || existingPackages.contains(packageName(export))) { - packages.add(stripExport(export)); - } - buffer = new StringBuffer(); - continue; - } - } - buffer.append(c); - } - if (buffer.length() != 0) { - - // Add the exported package to the set, after making sure it really exists in - // the JAR - String export = buffer.toString(); - if (existingPackages == null || existingPackages.contains(packageName(export))) { - packages.add(stripExport(export)); - } - } - } - - /** - * Convert the maven version into OSGi version - * @param mavenVersion - * @return - */ - static String osgiVersion(String mavenVersion) { - ArtifactVersion ver = new DefaultArtifactVersion(mavenVersion); - String qualifer = ver.getQualifier(); - if (qualifer != null) { - StringBuffer buf = new StringBuffer(qualifer); - for (int i = 0; i < buf.length(); i++) { - char c = buf.charAt(i); - if (Character.isLetterOrDigit(c) || c == '-' || c == '_') { - // Keep as-is - } else { - buf.setCharAt(i, '_'); - } - } - qualifer = buf.toString(); - } - Version osgiVersion = - new Version(ver.getMajorVersion(), ver.getMinorVersion(), ver.getIncrementalVersion(), qualifer); - String version = osgiVersion.toString(); - return version; - } - -} diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ModuleBundlesBuildMojo.java b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ModuleBundlesBuildMojo.java deleted file mode 100644 index de03d0d6d2..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ModuleBundlesBuildMojo.java +++ /dev/null @@ -1,382 +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.tools.bundle.plugin; - -import static org.apache.tuscany.sca.tools.bundle.plugin.BundleUtil.write; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintStream; -import java.util.HashSet; -import java.util.Set; -import java.util.jar.Manifest; - -import org.apache.maven.artifact.Artifact; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.logging.Log; -import org.apache.maven.project.MavenProject; - -/** - * A maven plugin that generates a modules directory containing OSGi bundles for all the project's module dependencies. - * - * @version $Rev$ $Date$ - * @goal generate-modules - * @phase generate-resources - * @requiresDependencyResolution test - * @description Generate a modules directory containing OSGi bundles for all the project's module dependencies. - */ -public class ModuleBundlesBuildMojo extends AbstractMojo { - - /** - * The project to create a distribution for. - * - * @parameter expression="${project}" - * @required - * @readonly - */ - private MavenProject project; - - /** - * Target directory. - * - * @parameter - */ - private File targetDirectory; - - /** - * Directories containing artifacts to exclude. - * - * @parameter - */ - private File[] excludeDirectories; - - /** - * Directories containing groupids to exclude. - * - * @parameter - */ - private String[] excludeGroupIds; - - /** - * Directories containing groupids to include. - * - * @parameter - */ - private String[] includeGroupIds; - - /** - * Set to true to generate a PDE target platform configuration. - * - * @parameter - */ - private boolean generateTargetPlatform; - - /** - * A list of Eclipse features to be added to the target definition - * @parameter - */ - private String[] eclipseFeatures; - - /** - * Set to true to generate a plugin.xml. - * - * @parameter - */ - private boolean generatePlugin; - - /** - * @parameter - */ - private ArtifactAggregation[] artifactAggregations; - - public void execute() throws MojoExecutionException { - Log log = getLog(); - - try { - - // Create the target directory - File root; - if (targetDirectory == null) { - root = new File(project.getBuild().getDirectory(), "plugins/"); - } else { - root = targetDirectory; - } - root.mkdirs(); - - // Build sets of exclude directories and included/excluded/groupids - Set<String> excludedFileNames = new HashSet<String>(); - if (excludeDirectories != null) { - for (File f : excludeDirectories) { - if (f.isDirectory()) { - for (String n : f.list()) { - excludedFileNames.add(n); - } - } - } - } - Set<String> includedGroupIds = new HashSet<String>(); - if (includeGroupIds != null) { - for (String g : includeGroupIds) { - includedGroupIds.add(g); - } - } - Set<String> excludedGroupIds = new HashSet<String>(); - if (excludeGroupIds != null) { - for (String g : excludeGroupIds) { - excludedGroupIds.add(g); - } - } - - // Process all the dependency artifacts - Set<String> bundleSymbolicNames = new HashSet<String>(); - for (Object o : project.getArtifacts()) { - Artifact artifact = (Artifact)o; - - // Only consider Compile and Runtime dependencies - if (!(Artifact.SCOPE_COMPILE.equals(artifact.getScope()) || Artifact.SCOPE_RUNTIME.equals(artifact - .getScope()) - || Artifact.SCOPE_PROVIDED.equals(artifact.getScope()) || (generateTargetPlatform && Artifact.SCOPE_TEST - .equals(artifact.getScope())))) { - log.info("Skipping artifact: " + artifact); - continue; - } - - // Only consider JAR and WAR files - if (!"jar".equals(artifact.getType()) && !"war".equals(artifact.getType())) { - continue; - } - - // Exclude artifact if its groupId is excluded or if it's not included - if (excludedGroupIds.contains(artifact.getGroupId())) { - log.debug("Artifact groupId is excluded: " + artifact); - continue; - } - if (!includedGroupIds.isEmpty()) { - if (!includedGroupIds.contains(artifact.getGroupId())) { - log.debug("Artifact groupId is not included: " + artifact); - continue; - } - } - - File artifactFile = artifact.getFile(); - if (!artifactFile.exists()) { - log.warn("Artifact doesn't exist: " + artifact); - continue; - } - - if (log.isDebugEnabled()) { - log.debug("Processing artifact: " + artifact); - } - - // Get the bundle name if the artifact is an OSGi bundle - String bundleName = null; - try { - bundleName = BundleUtil.getBundleSymbolicName(artifact.getFile()); - } catch (IOException e) { - throw new MojoExecutionException(e.getMessage(), e); - } - - if (bundleName != null) { - - // Exclude artifact if its file name is excluded - if (excludedFileNames.contains(artifactFile.getName())) { - log.debug("Artifact file is excluded: " + artifact); - continue; - } - - // Copy an OSGi bundle as is - log.info("Adding OSGi bundle artifact: " + artifact); - copyFile(artifactFile, root); - bundleSymbolicNames.add(bundleName); - - } else if ("war".equals(artifact.getType())) { - - // Exclude artifact if its file name is excluded - if (excludedFileNames.contains(artifactFile.getName())) { - log.debug("Artifact file is excluded: " + artifact); - continue; - } - - // Copy a WAR as is - log.info("Adding WAR artifact: " + artifact); - copyFile(artifactFile, root); - - } else { - - File dir = new File(root, artifactFile.getName().substring(0, artifactFile.getName().length() - 4)); - - // Exclude artifact if its file name is excluded - if (excludedFileNames.contains(dir.getName())) { - log.debug("Artifact file is excluded: " + artifact); - continue; - } - - if (artifactAggregations != null) { - boolean aggregated = false; - for (ArtifactAggregation group : artifactAggregations) { - if (group.matches(artifact)) { - group.getArtifacts().add(artifact); - aggregated = true; - break; - } - } - if (aggregated) { - continue; - } - } - - // Create a bundle directory for a non-OSGi JAR - log.info("Adding JAR artifact: " + artifact); - String version = BundleUtil.osgiVersion(artifact.getVersion()); - - Set<File> jarFiles = new HashSet<File>(); - jarFiles.add(artifactFile); - String symbolicName = (artifact.getGroupId() + "." + artifact.getArtifactId()); - Manifest mf = BundleUtil.libraryManifest(jarFiles, symbolicName, symbolicName, version, null); - File file = new File(dir, "META-INF"); - file.mkdirs(); - file = new File(file, "MANIFEST.MF"); - - FileOutputStream fos = new FileOutputStream(file); - write(mf, fos); - fos.close(); - copyFile(artifactFile, dir); - bundleSymbolicNames.add(symbolicName); - } - } - - if (artifactAggregations != null) { - for (ArtifactAggregation group : artifactAggregations) { - if (group.getArtifacts().isEmpty()) { - continue; - } - String symbolicName = group.getSymbolicName(); - String version = group.getVersion(); - File dir = new File(root, symbolicName + "-" + version); - dir.mkdir(); - Set<File> jarFiles = new HashSet<File>(); - for (Artifact a : group.getArtifacts()) { - log.info("Aggragating JAR artifact: " + a); - jarFiles.add(a.getFile()); - copyFile(a.getFile(), dir); - } - Manifest mf = BundleUtil.libraryManifest(jarFiles, symbolicName, symbolicName, version, null); - File file = new File(dir, "META-INF"); - file.mkdirs(); - file = new File(file, "MANIFEST.MF"); - - FileOutputStream fos = new FileOutputStream(file); - write(mf, fos); - fos.close(); - bundleSymbolicNames.add(symbolicName); - } - } - - // Generate a PDE target - if (generateTargetPlatform) { - File target = new File(project.getBuild().getDirectory(), project.getArtifactId() + ".target"); - FileOutputStream targetFile = new FileOutputStream(target); - writeTarget(new PrintStream(targetFile), bundleSymbolicNames, eclipseFeatures); - targetFile.close(); - } - - // Generate a plugin.xml referencing the PDE target - if (generatePlugin) { - File pluginxml = new File(project.getBasedir(), "plugin.xml"); - FileOutputStream pluginXMLFile = new FileOutputStream(pluginxml); - writePluginXML(new PrintStream(pluginXMLFile)); - pluginXMLFile.close(); - } - - } catch (Exception e) { - throw new MojoExecutionException(e.getMessage(), e); - } - - } - - private static void copyFile(File jar, File dir) throws FileNotFoundException, IOException { - byte[] buf = new byte[4096]; - File jarFile = new File(dir, jar.getName()); - FileInputStream in = new FileInputStream(jar); - FileOutputStream out = new FileOutputStream(jarFile); - for (;;) { - int len = in.read(buf); - if (len > 0) { - out.write(buf, 0, len); - } else { - break; - } - } - in.close(); - out.close(); - } - - private void writeTarget(PrintStream ps, Set<String> ids, String[] features) { - ps.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); - ps.println("<?pde version=\"3.2\"?>"); - - ps.println("<target name=\"Eclipse Target - " + project.getArtifactId() + "\">"); - - ps.println(" <targetJRE>"); - ps.println(" <execEnv>J2SE-1.5</execEnv>"); - ps.println(" </targetJRE>"); - - ps.println(" <location useDefault=\"true\"/>"); - - // ps.println("<content useAllPlugins=\"true\">"); - ps.println(" <content>"); - ps.println(" <plugins>"); - for (String id : ids) { - ps.println(" <plugin id=\"" + id + "\"/>"); - } - ps.println(" </plugins>"); - ps.println(" <features>"); - if (features != null) { - for (String f : features) { - ps.println(" <feature id=\"" + f + "\"/>"); - } - } - ps.println(" </features>"); - ps.println(" <extraLocations>"); - // Not sure why the extra path needs to the plugins folder - ps.println(" <location path=\"" + targetDirectory + "\"/>"); - ps.println(" </extraLocations>"); - ps.println(" </content>"); - - ps.println("</target>"); - - } - - private static void writePluginXML(PrintStream ps) { - ps.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); - ps.println("<?pde version=\"3.2\"?>"); - ps.println("<plugin>"); - ps.println("<extension point = \"org.eclipse.pde.core.targets\">"); - ps.println("<target"); - ps.println("id=\"org.apache.tuscany.sca.target\""); - ps.println("name=\"Apache Tuscany Eclipse Target\""); - ps.println("path=\"tuscany.target\"/>"); - ps.println("</extension>"); - ps.println("</plugin>"); - } -} diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ThirdPartyBundleBuildMojo.java b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ThirdPartyBundleBuildMojo.java deleted file mode 100644 index e183e7e197..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ThirdPartyBundleBuildMojo.java +++ /dev/null @@ -1,152 +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.tools.bundle.plugin; - -import static org.apache.tuscany.sca.tools.bundle.plugin.BundleUtil.write; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.HashSet; -import java.util.Set; -import java.util.jar.Manifest; - -import org.apache.maven.artifact.Artifact; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.logging.Log; -import org.apache.maven.project.MavenProject; - -/** - * A Maven plugin that builds an OSGi bundle for the project's third-party dependencies. - * - * @version $Rev$ $Date$ - * @goal assemble-thirdparty-bundle - * @phase generate-resources - * @requiresDependencyResolution test - * @description Build an OSGi bundle for the project's third party dependencies - */ -public class ThirdPartyBundleBuildMojo extends AbstractMojo { - - /** - * The project to build the bundle for. - * - * @parameter expression="${project}" - * @required - * @readonly - */ - private MavenProject project; - - /** - * The bundle symbolic name - * - * @parameter - */ - private String symbolicName; - - public void execute() throws MojoExecutionException { - Log log = getLog(); - - String projectGroupId = project.getGroupId(); - Set<File> jarFiles = new HashSet<File>(); - for (Object o : project.getArtifacts()) { - Artifact artifact = (Artifact)o; - - if (!(Artifact.SCOPE_COMPILE.equals(artifact.getScope()) || Artifact.SCOPE_RUNTIME.equals(artifact - .getScope()))) { - if (log.isDebugEnabled()) { - log.debug("Skipping artifact: " + artifact); - } - continue; - } - if (!"jar".equals(artifact.getType())) { - continue; - } - if (projectGroupId.equals(artifact.getGroupId())) { - continue; - } - - if (log.isDebugEnabled()) { - log.debug("Artifact: " + artifact); - } - String bundleName = null; - try { - bundleName = BundleUtil.getBundleSymbolicName(artifact.getFile()); - } catch (IOException e) { - throw new MojoExecutionException(e.getMessage(), e); - } - if (bundleName == null || true) { - if (artifact.getFile().exists()) { - log.info("Adding third party jar: " + artifact); - jarFiles.add(artifact.getFile()); - } else { - log.warn("Third party jar not found: " + artifact); - } - } - } - - try { - String version = BundleUtil.osgiVersion(project.getVersion()); - - Manifest mf = BundleUtil.libraryManifest(jarFiles, project.getName(), symbolicName, version, "lib"); - File file = new File(project.getBasedir(), "META-INF"); - file.mkdir(); - file = new File(file, "MANIFEST.MF"); - if (log.isDebugEnabled()) { - log.debug("Generating " + file); - } - - FileOutputStream fos = new FileOutputStream(file); - write(mf, fos); - fos.close(); - - File lib = new File(project.getBasedir(), "lib"); - if (lib.isDirectory()) { - for (File c : lib.listFiles()) { - c.delete(); - } - } - lib.mkdir(); - byte[] buf = new byte[4096]; - for (File jar : jarFiles) { - File jarFile = new File(lib, jar.getName()); - if (log.isDebugEnabled()) { - log.debug("Copying " + jar + " to " + jarFile); - } - FileInputStream in = new FileInputStream(jar); - FileOutputStream out = new FileOutputStream(jarFile); - for (;;) { - int len = in.read(buf); - if (len > 0) { - out.write(buf, 0, len); - } else { - break; - } - } - in.close(); - out.close(); - } - } catch (Exception e) { - throw new MojoExecutionException(e.getMessage(), e); - } - - } - -} diff --git a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/resources/org/apache/tuscany/sca/maven/plugin/eclipse/messages.properties b/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/resources/org/apache/tuscany/sca/maven/plugin/eclipse/messages.properties deleted file mode 100644 index 11de16d7a8..0000000000 --- a/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/resources/org/apache/tuscany/sca/maven/plugin/eclipse/messages.properties +++ /dev/null @@ -1,58 +0,0 @@ -EclipsePlugin.missingpom=There must be a POM in the current working directory for the Eclipse plugin to work. -EclipsePlugin.pompackaging=Not running eclipse plugin goal for pom project -EclipsePlugin.notadir=Not a directory: "{0}" -EclipsePlugin.cantcreatedir=Can''t create directory "{0}" -EclipsePlugin.erroropeningfile=Exception while opening file. -EclipsePlugin.cantwritetofile=Unable to write to file: {0} -EclipsePlugin.cantfindresource=Unable to resolve resource location: {0} -EclipsePlugin.cantreadfile=Unable to read file: {0} -EclipsePlugin.keepexisting=File {0} already exists.\n Additional settings will be preserved, run mvn eclipse:clean if you want old settings to be removed. -EclipsePlugin.cantparseexisting=Unable to parse existing file: {0}. Settings will not be preserved. -EclipsePlugin.cantresolvesources=Cannot resolve source artifact. Artifact id: {0} (Message: {1}) -EclipsePlugin.wrote=Wrote Eclipse project for "{0}" to {1}. -EclipsePlugin.missingelement=Missing element from the project descriptor: "{0}" -EclipsePlugin.includenotsupported=This plugin currently doesn't support include patterns for resources. Adding the entire directory. -EclipsePlugin.excludenotsupported=This plugin currently doesn't support exclude patterns for resources. Adding the entire directory. -EclipsePlugin.artifactpathisnull=The artifact path was null. Artifact id: {0} -EclipsePlugin.artifactissystemscoped=The artifact has scope ''system''. Artifact id: {0}. System path: {1} -EclipsePlugin.unsupportedwtp=Unsupported WTP version: {0}. This plugin currently supports only the following versions: {1}. -EclipsePlugin.wtpversion=Adding support for WTP version {0}. -EclipsePlugin.missingjrecontainer=You did specify a list of classpath containers without the base org.eclipse.jdt.launching.JRE_CONTAINER.\n If you specify custom classpath containers you should also add org.eclipse.jdt.launching.JRE_CONTAINER to the list -EclipsePlugin.deprecatedpar=Plugin parameter "{0}" is deprecated, please use "{1}" -EclipsePlugin.cantcopyartifact=Can''t copy artifact "{0}". -EclipsePlugin.foundadir={0} is a directory, ignoring. - -EclipseSettingsWriter.wrotesettings=Wrote settings to {0} -EclipseSettingsWriter.cannotcreatesettings=Cannot create settings file -EclipseSettingsWriter.errorwritingsettings=Error writing settings file -EclipseSettingsWriter.usingdefaults=Not writing settings - defaults suffice - -EclipseClasspathWriter.lookingforsources=Looking for source archive for artifact {0} -EclipseClasspathWriter.sourcesavailable=Sources attachment for artifact {0} set to {1} - -EclipseProjectWriter.notafile=Not adding a file link to {0}; it is not a file - -EclipseCleanMojo.failedtodelete=Failed to delete {0} file: {0} -EclipseCleanMojo.nofilefound=No {0} file found -EclipseCleanMojo.deletingFile=Deleting file: {0} -EclipseCleanMojo.deletingDirectory=Deleting directory: {0} - -EclipseOSGiManifestWriter.nomanifestfile=The references manifest file doesn''t exist, plugin dependencies will not be updated: {0} - -IdeDependency.cantreadfile=Unable to read file: {0} - -Rad6LibCopier.cantdeletefile=Failed to delete file: {0} - -MyEclipseSpringBeansWriter.springVersionNotFound=Spring must be declared in the project's dependencies to generate .springBeans file. - -AbstractIdeSupportMojo.sourcesnotavailable=\n Sources for some artifacts are not available.\n List of artifacts without a source archive: -AbstractIdeSupportMojo.sourcesnotdownloaded=\n Sources for some artifacts are not available.\n Please run the same goal with the -DdownloadSources=true parameter in order to check remote repositories for sources.\n List of artifacts without a source archive: -AbstractIdeSupportMojo.sourcesmissingitem=\n o {0} -AbstractIdeSupportMojo.javadocnotavailable=\n Javadoc for some artifacts is not available.\n List of artifacts without a javadoc archive: -AbstractIdeSupportMojo.javadocnotdownloaded=\n Javadoc for some artifacts is not available.\n Please run the same goal with the -DdownloadJavadocs=true parameter in order to check remote repositories for javadoc.\n List of artifacts without a javadoc archive: -AbstractIdeSupportMojo.javadocmissingitem=\n o {0} -AbstractIdeSupportMojo.errorresolving=Error resolving {0} artifact. Artifact id: {1} (Message: {2}) -AbstractIdeSupportMojo.artifactresolution=An error occurred during dependency resolution of the following artifact:\n {0}:{1}:{2}\nCaused by: {3} -AbstractIdeSupportMojo.artifactdownload=An error occurred during dependency resolution.\n Failed to retrieve {0}:{1}-{2}\nCaused by: {3} -AbstractIdeSupportMojo.cantcanonicalize=Can''t canonicalize system path: {0} -AbstractIdeSupportMojo.unabletoparseversion={0}: unable to parse version ''{1}'' for dependency ''{2}'': {3} diff --git a/branches/sca-equinox/tools/maven/maven-dependency-lister/LICENSE b/branches/sca-equinox/tools/maven/maven-dependency-lister/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/tools/maven/maven-dependency-lister/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/tools/maven/maven-dependency-lister/NOTICE b/branches/sca-equinox/tools/maven/maven-dependency-lister/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/tools/maven/maven-dependency-lister/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/branches/sca-equinox/tools/maven/maven-dependency-lister/README b/branches/sca-equinox/tools/maven/maven-dependency-lister/README deleted file mode 100644 index d53760029f..0000000000 --- a/branches/sca-equinox/tools/maven/maven-dependency-lister/README +++ /dev/null @@ -1,46 +0,0 @@ -Tuscany SCA Dependency Lister
-=============================
-
-Makes use of the extension Maven dependency support to list out all of the
-dependencis in the module where the plugin is used. The module is
-analysed and a report (dependency.txt) is written into the modules directory including
-each dependency and the path through the maven transitive dependencies that caused
-the original dependency to be included. For example, Here is a line which lists
-a a jar dependency, the phase in which it was found, the module being processed
-and he path that causes the dependency
-
-DEPENDENCY PHASE MODULE PATH TO DEPENDENCY
-jaxb-api-2.1.jar compile Apache Tuscany SCA Atom+RSS Feed Aggregator Sample Webapp tuscany-host-webapp-1.1-incubating-SNAPSHOT tuscany-host-embedded-1.1-incubating-SNAPSHOT tuscany-core-databinding-1.1-incubating-SNAPSHOT tuscany-databinding-jaxb-1.1-incubating-SNAPSHOT jaxb-api-2.1
-
-It is often convenient to further analyse these entries using the spreadsheet of your
-choice so the columns are tab separated to allow for easy conversion.
-
-The plugin can be included in a module using the following,
-
-<plugin>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-maven-dependency-lister</artifactId>
- <version>1.1-incubating-SNAPSHOT</version>
- <executions>
- <execution>
- <goals>
- <goal>execute</goal>
- </goals>
- </execution>
- </executions>
-</plugin>
-
-If you include this at the top level of you project and have it run for each model you
-will get a report for each model independently. For example, in the Tuscany SCA project
-the plugin is included in the pom.xml files at the sca level under the profile
-"dependecies" so to generate a dependencies report for the Tuscany SCA project:
-
-cd sca
-mvn -o -Pdependencies -Dmaven.test.skip=true
-
-Once you have dependency.txt files in your modules
-the you favourite command line tools can be used to concatenate and sort them
-to get a full picture of the dependencies in you project, for example, with linux you
-could do,
-
-find . -name dependency.txt -exec cat '{}' >> deptotal.txt \;
diff --git a/branches/sca-equinox/tools/maven/maven-dependency-lister/pom.xml b/branches/sca-equinox/tools/maven/maven-dependency-lister/pom.xml deleted file mode 100644 index b294bcfb41..0000000000 --- a/branches/sca-equinox/tools/maven/maven-dependency-lister/pom.xml +++ /dev/null @@ -1,71 +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-sca-maven-tools</artifactId>
- <version>1.4-EQUINOX-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-maven-dependency-lister</artifactId>
- <packaging>maven-plugin</packaging>
- <name>Apache Tuscany SCA Dependency Lister Maven Plugin</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <version>2.0.7</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
- <version>2.0.7</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-settings</artifactId>
- <version>2.0.7</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact</artifactId>
- <version>2.0.7</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-model</artifactId>
- <version>2.0.7</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.maven.shared</groupId>
- <artifactId>maven-dependency-tree</artifactId>
- <version>1.0</version>
- </dependency>
-
-
- </dependencies>
-</project>
diff --git a/branches/sca-equinox/tools/maven/maven-dependency-lister/src/main/java/org/apache/tuscany/tools/sca/dependency/lister/plugin/DependencyListerMojo.java b/branches/sca-equinox/tools/maven/maven-dependency-lister/src/main/java/org/apache/tuscany/tools/sca/dependency/lister/plugin/DependencyListerMojo.java deleted file mode 100644 index b904ac4804..0000000000 --- a/branches/sca-equinox/tools/maven/maven-dependency-lister/src/main/java/org/apache/tuscany/tools/sca/dependency/lister/plugin/DependencyListerMojo.java +++ /dev/null @@ -1,198 +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.tools.sca.dependency.lister.plugin;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.PrintWriter;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactCollector;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.settings.Settings;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTree;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
-
-/**
- * @version $Rev: 588816 $ $Date: 2007-10-27 01:22:38 +0100 (Sat, 27 Oct 2007) $
- * @goal execute
- * @phase generate-sources
- * @requiresDependencyResolution test
- * @description List dependencies for an SCA project
- */
-public class DependencyListerMojo extends AbstractMojo {
- /**
- * The project to create a build for.
- *
- * @parameter expression="${project}"
- * @required
- */
- private MavenProject project;
-
- /**
- * Used for resolving artifacts
- *
- * @component
- */
- private ArtifactResolver artifactResolver;
-
- /**
- * Factory for creating artifact objects
- *
- * @component
- */
- private ArtifactFactory artifactFactory;
-
- /**
- * @component
- */
- private ArtifactMetadataSource artifactMetadataSource;
-
- /**
- * @component
- */
- private DependencyTreeBuilder dependencyTreeBuilder;
-
- /**
- * @component
- */
- private ArtifactCollector collector;
-
- /**
- * @component
- */
- private MavenProjectBuilder mavenProjectBuilder;
-
- /**
- * The local repository where the artifacts are located
- *
- * @parameter expression="${localRepository}"
- * @required
- */
- private ArtifactRepository localRepository;
-
- /**
- * The remote repositories where artifacts are located
- *
- * @parameter expression="${project.remoteArtifactRepositories}"
- */
- private List remoteRepositories;
-
- /**
- * The current user system settings for use in Maven.
- *
- * @parameter expression="${settings}"
- * @required
- * @readonly
- */
- private Settings settings;
-
-
- /**
- * The build.xml file to generate.
- * @parameter expression="${basedir}/target/dependency.txt"
- */
- private String buildFile;
-
- public void execute() throws MojoExecutionException {
-
- System.out.println("Analysing " + buildFile);
-
- // Open the target build.xml file
- File targetFile = new File(buildFile);
- PrintWriter pw;
- try {
- pw = new PrintWriter(new FileOutputStream(targetFile));
- } catch (FileNotFoundException e) {
- System.out.println(e.toString());
- return;
- }
-
- DependencyTree dependencyTree;
-
- try
- {
- dependencyTree = dependencyTreeBuilder.buildDependencyTree( project, localRepository, artifactFactory,
- artifactMetadataSource, collector );
- }
- catch ( DependencyTreeBuilderException e )
- {
- throw new MojoExecutionException( "Can't build dependency tree", e );
- }
-
- // processNode(dependencyTree.getRootNode(), "--", pw);
-
- for (Artifact artifact: (List<Artifact>)project.getTestArtifacts()) {
- pw.println( artifact.getFile().getName() + "\t" +
- artifact.getScope() + "\t" +
- project.getName() + "\t" +
- findArtifactPath(dependencyTree.getRootNode(), artifact));
- }
-
- pw.close();
- }
-
- private void processNode(DependencyNode node, String indent, PrintWriter pw){
-
- pw.println(indent + node.getArtifact().getScope() + " " + node.getArtifact().toString());
-
- Iterator it = node.getChildren().iterator();
- while ( it.hasNext() )
- {
- DependencyNode child = (DependencyNode) it.next();
-
- processNode(child, indent + "--", pw);
- }
- }
-
- private String findArtifactPath(DependencyNode node, Artifact artifact){
- String path = null;
-
- Iterator it = node.getChildren().iterator();
- while ( it.hasNext() && (path == null) )
- {
- DependencyNode child = (DependencyNode) it.next();
-
- if (child.getArtifact().getArtifactId().equals(artifact.getArtifactId())) {
- path = child.getArtifact().getArtifactId() + "-" + child.getArtifact().getVersion();
- } else {
- path = findArtifactPath(child, artifact);
-
- if (path != null){
- path = child.getArtifact().getArtifactId() + "-" + child.getArtifact().getVersion() + "\t" + path;
- }
- }
- }
-
- return path;
- }
-
-}
\ No newline at end of file diff --git a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/LICENSE b/branches/sca-equinox/tools/maven/maven-eclipse-compiler/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/NOTICE b/branches/sca-equinox/tools/maven/maven-eclipse-compiler/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/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/branches/sca-equinox/tools/maven/maven-eclipse-compiler/pom.xml b/branches/sca-equinox/tools/maven/maven-eclipse-compiler/pom.xml deleted file mode 100644 index 127818afbb..0000000000 --- a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/pom.xml +++ /dev/null @@ -1,298 +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</groupId> - <artifactId>apache</artifactId> - <version>4</version> - </parent> - - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-maven-eclipse-compiler</artifactId> - <packaging>jar</packaging> - <name>Apache Tuscany SCA Eclipse Compiler Plugin</name> - <version>1.4-EQUINOX-SNAPSHOT</version> - - <dependencies> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - <version>2.0.7</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-project</artifactId> - <version>2.0.7</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-settings</artifactId> - <version>2.0.7</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-artifact</artifactId> - <version>2.0.7</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-model</artifactId> - <version>2.0.7</version> - </dependency> - - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-compiler-api</artifactId> - <version>1.5.1</version> - </dependency> - - <dependency> - <groupId>org.eclipse.jdt</groupId> - <artifactId>core</artifactId> - <version>3.3.0-v_771</version> - <exclusions> - <exclusion> - <groupId>org.eclipse.core</groupId> - <artifactId>resources</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.core</groupId> - <artifactId>runtime</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.core</groupId> - <artifactId>filesystem</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse</groupId> - <artifactId>text</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse</groupId> - <artifactId>osgi</artifactId> - <version>3.3.0-v20070530</version> - <scope>compile</scope> - </dependency> - -<!-- - <dependency> - <groupId>org.eclipse.core</groupId> - <artifactId>resources</artifactId> - <version>3.3.0-v20070604</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>org.eclipse.core</groupId> - <artifactId>expressions</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.core</groupId> - <artifactId>filesystem</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.core</groupId> - <artifactId>runtime</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.core</groupId> - <artifactId>runtime</artifactId> - <version>3.3.100-v20070530</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.core</groupId> - <artifactId>expressions</artifactId> - <version>3.3.0-v20070606-0010</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>org.eclipse.core</groupId> - <artifactId>runtime</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.core</groupId> - <artifactId>filesystem</artifactId> - <version>1.1.0-v20070606</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse</groupId> - <artifactId>text</artifactId> - <version>3.3.0-v20070606-0010</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.core</groupId> - <artifactId>commands</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.core</groupId> - <artifactId>commands</artifactId> - <version>3.3.0-I20070605-0010</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - <version>1.0.0-v20070606</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - <version>3.3.0-v20070426</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>common</artifactId> - </exclusion> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - </exclusions> - </dependency> ---> - </dependencies> - - <build> - <defaultGoal>install</defaultGoal> - - <resources> - <resource> - <directory>src/main/resources</directory> - </resource> - <resource> - <directory>${notice.dir}</directory> - <targetPath>META-INF</targetPath> - <filtering>true</filtering> - <includes> - <include>LICENSE</include> - <include>NOTICE</include> - </includes> - </resource> - </resources> - - <pluginManagement> - <plugins> - - <!-- compiler plugin configuration --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>2.0.2</version> - <configuration> - <source>1.5</source> - <target>1.5</target> - </configuration> - </plugin> - - <!-- jar plugin configuration --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>2.1</version> - <configuration> - <archive> - <manifestEntries> - <Extension-Name>${project.artifactId}</Extension-Name> - <Specification-Title>${name}</Specification-Title> - <Specification-Vendor>The Apache Software Foundation</Specification-Vendor> - <Specification-Version>${version}</Specification-Version> - <Implementation-Title>${name}</Implementation-Title> - <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id> - <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor> - <Implementation-Version>${version}</Implementation-Version> - </manifestEntries> - </archive> - </configuration> - </plugin> - - </plugins> - </pluginManagement> - </build> - -</project> diff --git a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/ClassLoaderNameEnvironment.java b/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/ClassLoaderNameEnvironment.java deleted file mode 100644 index 4b3f84edf4..0000000000 --- a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/ClassLoaderNameEnvironment.java +++ /dev/null @@ -1,195 +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.tools.maven.compiler; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader; -import org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException; -import org.eclipse.jdt.internal.compiler.env.ICompilationUnit; -import org.eclipse.jdt.internal.compiler.env.INameEnvironment; -import org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer; - -/** - * An implementation of INameEnvironment based on a ClassLoader. - * - * @version $Rev: $ $Date: $ - */ -class ClassLoaderNameEnvironment implements INameEnvironment { - private final static char fileSeparator = System.getProperty("file.separator").charAt(0); - - private ClassLoader classLoader; - private List<String> sourceLocations; - private Map<String, File> sourceFiles; - - ClassLoaderNameEnvironment(ClassLoader classLoader, List<String> sourceLocations) { - this.classLoader = classLoader; - this.sourceLocations = sourceLocations; - sourceFiles = new HashMap<String, File>(); - } - - public NameEnvironmentAnswer findType(char[][] compoundTypeName) { - StringBuffer className = new StringBuffer(); - for (char[] name: compoundTypeName) { - if (className.length() != 0) { - className.append('.'); - } - className.append(name); - } - return nameAnswer(className.toString()); - } - - public NameEnvironmentAnswer findType(char[] typeName, char[][] packageName) { - StringBuffer className = new StringBuffer(); - for (char[] name: packageName) { - if (className.length() != 0) { - className.append('.'); - } - className.append(name); - } - if (className.length() != 0) { - className.append('.'); - } - className.append(typeName); - return nameAnswer(className.toString()); - } - - public boolean isPackage(char[][] parentPackageName, char[] packageName) { - StringBuffer fullPackageName = new StringBuffer(); - if (parentPackageName != null) { - for (char[] name: parentPackageName) { - if (fullPackageName.length() != 0) { - fullPackageName.append('.'); - } - fullPackageName.append(name); - } - } - if (fullPackageName.length() != 0) { - fullPackageName.append('.'); - } - fullPackageName.append(packageName); - return isPackage(fullPackageName.toString()); - } - - public void cleanup() { - } - - /** - * Returns the source file for the given class name. - * - * @param className - * @return - */ - private File sourceFile(String className) { - File sourceFile = (File)sourceFiles.get(className); - if (sourceFile != null) { - return sourceFile; - } - String sourceName = className.replace('.', fileSeparator) + ".java"; - sourceFile = sourceFileInSourceLocations(sourceName); - sourceFiles.put(className, sourceFile); - return sourceFile; - } - - /** - * Returns the source file for the given source path relative to the source locations. - * - * @param className - * @return - */ - private File sourceFileInSourceLocations(String relativePath) { - for (String sourceLocation : sourceLocations) { - File sourceFile = new File(sourceLocation, relativePath); - if (sourceFile.exists()) { - return sourceFile; - } - } - return null; - } - - /** - * Returns true if the given name is a package name. - * - * @param name - * @return - */ - private boolean isPackage(String name) { - if (sourceFile(name) != null) { - return false; - } - String resourceName = '/' + name.replace('.', '/') + ".class"; - InputStream is = classLoader.getResourceAsStream(resourceName); - if (is == null) { - return true; - } else { - try { - is.close(); - } catch (IOException e) {} - return false; - } - } - - /** - * Find the NameAnswer for by the given class name. - * - * @param className - * @return - */ - private NameEnvironmentAnswer nameAnswer(String className) { - try { - File sourceFile = sourceFile(className); - if (sourceFile != null) { - ICompilationUnit compilationUnit = new FileCompilationUnit(sourceFile.getAbsolutePath(), className); - return new NameEnvironmentAnswer(compilationUnit, null); - } - - String resourceName = className.replace('.', '/') + ".class"; - InputStream is = classLoader.getResourceAsStream(resourceName); - if (is == null) { - return null; - } - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - byte[] b = new byte[2048]; - for (;;) { - int n = is.read(b); - if (n <= 0) { - break; - } - bos.write(b, 0, n); - } - byte[] classBytes = bos.toByteArray(); - - ClassFileReader classFileReader = new ClassFileReader(classBytes, className.toCharArray(), true); - return new NameEnvironmentAnswer(classFileReader, null); - - } catch (IOException e) { - throw new IllegalArgumentException(e); - } catch (ClassFormatException e) { - throw new IllegalArgumentException(e); - } - } - -} diff --git a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/CompilerRequestor.java b/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/CompilerRequestor.java deleted file mode 100644 index 3df4b4d602..0000000000 --- a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/CompilerRequestor.java +++ /dev/null @@ -1,114 +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.tools.maven.compiler; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.List; - -import org.codehaus.plexus.compiler.CompilerError; -import org.eclipse.jdt.core.compiler.IProblem; -import org.eclipse.jdt.internal.compiler.ClassFile; -import org.eclipse.jdt.internal.compiler.CompilationResult; -import org.eclipse.jdt.internal.compiler.ICompilerRequestor; - -class CompilerRequestor implements ICompilerRequestor { - private String outputDirectory; - private boolean showWarnings; - private List<CompilerError> compilerErrors; - - public CompilerRequestor(String outputDirectory, boolean showWarnings, List<CompilerError> compilerErrors) { - this.outputDirectory = outputDirectory; - this.showWarnings = showWarnings; - this.compilerErrors = compilerErrors; - } - - public void acceptResult(CompilationResult result) { - boolean hasErrors = false; - if (result.hasProblems()) { - - // Convert JDT IProblems into plexus CompilerErrors - for (IProblem problem: result.getProblems()) { - if (problem.isWarning()) { - if (showWarnings) { - compilerErrors.add(new CompilerError(new String(problem.getOriginatingFileName()), - false, - problem.getSourceLineNumber(), - problem.getSourceStart(), - problem.getSourceLineNumber(), - problem.getSourceEnd(), - problem.getMessage())); - } - - } else if (problem.isError()) { - hasErrors = true; - compilerErrors.add(new CompilerError(new String(problem.getOriginatingFileName()), - true, - problem.getSourceLineNumber(), - problem.getSourceStart(), - problem.getSourceLineNumber(), - problem.getSourceEnd(), - problem.getMessage())); - - } - } - } - - // Write the class files - if (!hasErrors) { - ClassFile[] classFiles = result.getClassFiles(); - for (ClassFile classFile: classFiles) { - - // Create file and parent directories - StringBuffer className = new StringBuffer(); - for (char[] name: classFile.getCompoundName()) { - if (className.length() != 0) { - className.append('.'); - } - className.append(name); - } - File file = new File(outputDirectory, className.toString().replace('.', '/') + ".class"); - if (!file.getParentFile().exists()) { - file.getParentFile().mkdirs(); - } - - // Write class file contents - FileOutputStream fos = null; - try { - fos = new FileOutputStream(file); - fos.write(classFile.getBytes()); - } catch (FileNotFoundException e) { - throw new IllegalArgumentException(e); - } catch (IOException e) { - throw new IllegalArgumentException(e); - } finally { - if (fos != null) { - try { - fos.close(); - } catch (IOException e) {} - } - } - } - } - } - -}
\ No newline at end of file diff --git a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/FileCompilationUnit.java b/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/FileCompilationUnit.java deleted file mode 100644 index 08ed7f034e..0000000000 --- a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/FileCompilationUnit.java +++ /dev/null @@ -1,88 +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.tools.maven.compiler; - -import java.io.CharArrayWriter; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.StringTokenizer; - -import org.eclipse.jdt.internal.compiler.env.ICompilationUnit; - -/** - * An implementation of ICompilationUnit that wraps a File. - * - * @version $Rev: $ $Date: $ - */ -class FileCompilationUnit implements ICompilationUnit { - private final static char fileSeparator = System.getProperty("file.separator").charAt(0); - private String className; - private String sourceFile; - - FileCompilationUnit(String sourceFile, String className) { - this.className = className; - this.sourceFile = sourceFile; - } - - public char[] getContents() { - try { - InputStreamReader reader = new InputStreamReader(new FileInputStream(sourceFile)); - CharArrayWriter writer = new CharArrayWriter(); - char[] b = new char[2048]; - for (;;) { - int n = reader.read(b); - if (n <= 0) { - break; - } - writer.write(b, 0, n); - } - return writer.toCharArray(); - - } catch (FileNotFoundException e) { - throw new IllegalArgumentException(e); - } catch (IOException e) { - throw new IllegalArgumentException(e); - } - } - - public char[] getFileName() { - return (className.replace('.', fileSeparator) + ".java").toCharArray(); - } - - public char[] getMainTypeName() { - int dot = className.lastIndexOf('.'); - if (dot > 0) { - return className.substring(dot + 1).toCharArray(); - } - return className.toCharArray(); - } - - public char[][] getPackageName() { - StringTokenizer tokens = new StringTokenizer(className, "."); - char[][] packageName = new char[tokens.countTokens() - 1][]; - for (int i = 0; i < packageName.length; i++) { - String token = tokens.nextToken(); - packageName[i] = token.toCharArray(); - } - return packageName; - } -}
\ No newline at end of file diff --git a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/JavaCompiler.java b/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/JavaCompiler.java deleted file mode 100644 index eb33804862..0000000000 --- a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/JavaCompiler.java +++ /dev/null @@ -1,205 +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.tools.maven.compiler; - -import static org.codehaus.plexus.compiler.CompilerOutputStyle.ONE_OUTPUT_FILE_PER_INPUT_FILE; -import static org.eclipse.jdt.internal.compiler.DefaultErrorHandlingPolicies.proceedWithAllProblems; -import static org.eclipse.jdt.internal.compiler.impl.CompilerOptions.GENERATE; -import static org.eclipse.jdt.internal.compiler.impl.CompilerOptions.IGNORE; -import static org.eclipse.jdt.internal.compiler.impl.CompilerOptions.OPTION_Encoding; -import static org.eclipse.jdt.internal.compiler.impl.CompilerOptions.OPTION_LineNumberAttribute; -import static org.eclipse.jdt.internal.compiler.impl.CompilerOptions.OPTION_LocalVariableAttribute; -import static org.eclipse.jdt.internal.compiler.impl.CompilerOptions.OPTION_ReportDeprecation; -import static org.eclipse.jdt.internal.compiler.impl.CompilerOptions.OPTION_Source; -import static org.eclipse.jdt.internal.compiler.impl.CompilerOptions.OPTION_SourceFileAttribute; -import static org.eclipse.jdt.internal.compiler.impl.CompilerOptions.OPTION_TargetPlatform; -import static org.eclipse.jdt.internal.compiler.impl.CompilerOptions.WARNING; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Set; - -import org.apache.tuscany.sca.tools.maven.compiler.osgi.BundleResolver; -import org.apache.tuscany.sca.tools.maven.compiler.osgi.BundleUtil; -import org.codehaus.plexus.compiler.AbstractCompiler; -import org.codehaus.plexus.compiler.CompilerConfiguration; -import org.codehaus.plexus.compiler.CompilerError; -import org.codehaus.plexus.compiler.CompilerException; -import org.eclipse.jdt.internal.compiler.Compiler; -import org.eclipse.jdt.internal.compiler.ICompilerRequestor; -import org.eclipse.jdt.internal.compiler.env.ICompilationUnit; -import org.eclipse.jdt.internal.compiler.env.INameEnvironment; -import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; -import org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory; -import org.eclipse.osgi.service.resolver.BundleDescription; -import org.osgi.framework.BundleException; - -/** - * A custom Plexus Java compiler plugin that uses the Eclipse compiler. - * - * @version $Rev: $ $Date: $ - */ -public class JavaCompiler extends AbstractCompiler { - - public JavaCompiler() { - super(ONE_OUTPUT_FILE_PER_INPUT_FILE, ".java", ".class", null); - } - - public List<CompilerError> compile(CompilerConfiguration configuration) throws CompilerException { - BundleResolver stateController = new BundleResolver(getLogger()); - - getLogger().info("Invoking Tuscany Eclipse JDT compiler"); - - List<URL> urls = new ArrayList<URL>(); - try { - for (String entry : (List<String>)configuration.getClasspathEntries()) { - urls.add(new File(entry).toURI().toURL()); - } - } catch (MalformedURLException e) { - throw new CompilerException(e.getMessage(), e); - } - - ClassLoader classLoader = new URLClassLoader(urls.toArray(new URL[urls.size()])); - - // Determine compiler configuration - Map<String, String> settings = new HashMap<String, String>(); - String sourceVersion = configuration.getSourceVersion(); - if (sourceVersion != null && sourceVersion.length() != 0) { - settings.put(OPTION_Source, sourceVersion); - } - String targetVersion = configuration.getTargetVersion(); - if (targetVersion != null && targetVersion.length() != 0) { - settings.put(OPTION_TargetPlatform, targetVersion); - } - settings.put(OPTION_LineNumberAttribute, GENERATE); - settings.put(OPTION_SourceFileAttribute, GENERATE); - if (configuration.isDebug()) { - settings.put(OPTION_LocalVariableAttribute, GENERATE); - } - if (configuration.getSourceEncoding() != null && !(configuration.getSourceEncoding().length() == 0)) { - settings.put(OPTION_Encoding, configuration.getSourceEncoding()); - } - if (configuration.isShowDeprecation()) { - settings.put(OPTION_ReportDeprecation, WARNING); - } else { - settings.put(OPTION_ReportDeprecation, IGNORE); - } - - // Create a compiler - List<CompilerError> compilerErrors = new ArrayList<CompilerError>(); - INameEnvironment nameEnvironment = - new ClassLoaderNameEnvironment(classLoader, configuration.getSourceLocations()); - ICompilerRequestor requestor = - new CompilerRequestor(configuration.getOutputLocation(), configuration.isShowWarnings(), compilerErrors); - Compiler compiler = - new Compiler(nameEnvironment, proceedWithAllProblems(), new CompilerOptions(settings), requestor, - new DefaultProblemFactory(Locale.getDefault())); - - // Create compilation units for the source files - List<FileCompilationUnit> compilationUnits = new ArrayList<FileCompilationUnit>(); - - // Go over the input source locations - List<String> sourceLocations = (List<String>)configuration.getSourceLocations(); - for (String sourceLocation : sourceLocations) { - - // Exclude nested source locations - List<String> excludeLocations = new ArrayList<String>(); - for (String nestedLocation : sourceLocations) { - if (nestedLocation != sourceLocation && nestedLocation.startsWith(sourceLocation)) { - excludeLocations.add(nestedLocation); - } - } - - // List source files in each source location - for (String sourceFile : (Set<String>)getSourceFilesForSourceRoot(configuration, sourceLocation)) { - - // Exclude files from excluded nested locations - boolean excluded = false; - for (String excludeLocation : excludeLocations) { - if (sourceFile.startsWith(excludeLocation)) { - excluded = true; - } - } - if (!excluded) { - - // Create a compilation unit for the source file - FileCompilationUnit compilationUnit = - new FileCompilationUnit(sourceFile, makeClassName(sourceFile, sourceLocation)); - compilationUnits.add(compilationUnit); - } - } - } - - // Compile all the compilation units - getLogger().info("Compiling " + compilationUnits.size() + " to " + configuration.getOutputLocation()); - compiler.compile((ICompilationUnit[])compilationUnits.toArray(new ICompilationUnit[compilationUnits.size()])); - - // getLogger().info(configuration.getCustomCompilerArguments().toString()); - boolean osgi = "true".equals(configuration.getCustomCompilerArguments().get("-osgi")); - File proj = new File(configuration.getOutputLocation()); - String symbol = null; - try { - symbol = BundleUtil.getBundleSymbolicName(proj); - } catch (IOException e1) { - symbol = null; - } - - if (osgi && symbol != null) { - getLogger().info("Resolving OSGi bundles"); - for (String entry : (List<String>)configuration.getClasspathEntries()) { - try { - File cp = new File(entry); - if (cp.exists()) { - stateController.addBundle(cp); - } - } catch (BundleException e) { - getLogger().error(e.getMessage(), e); - } - } - - stateController.resolveState(); - BundleDescription b = stateController.getBundleDescription(proj); - if (b != null) { - try { - stateController.assertResolved(b); - getLogger().info("OSGi bundle is resolved: " + b.getSymbolicName()); - } catch (BundleException e) { - getLogger().error(stateController.getAllErrors().toString()); - // FIXME: For now, only a warning is reported - // throw new CompilerException(e.getMessage(), e); - } - } - } - - return compilerErrors; - } - - public String[] createCommandLine(CompilerConfiguration config) throws CompilerException { - return null; - } -} diff --git a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/osgi/BundleResolver.java b/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/osgi/BundleResolver.java deleted file mode 100644 index b3bf4ee4cd..0000000000 --- a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/osgi/BundleResolver.java +++ /dev/null @@ -1,402 +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.tools.maven.compiler.osgi; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Dictionary; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.Set; -import java.util.jar.Attributes; -import java.util.jar.Manifest; - -import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.logging.Logger; -import org.eclipse.osgi.service.resolver.BundleDescription; -import org.eclipse.osgi.service.resolver.BundleSpecification; -import org.eclipse.osgi.service.resolver.ExportPackageDescription; -import org.eclipse.osgi.service.resolver.HostSpecification; -import org.eclipse.osgi.service.resolver.ImportPackageSpecification; -import org.eclipse.osgi.service.resolver.ResolverError; -import org.eclipse.osgi.service.resolver.State; -import org.eclipse.osgi.service.resolver.StateObjectFactory; -import org.eclipse.osgi.service.resolver.VersionConstraint; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleException; -import org.osgi.framework.Constants; - -public class BundleResolver { - private static final String PROP_MAVEN_PROJECT = "MavenProject"; - private static final String PROP_MANIFEST = "BundleManifest"; - - private StateObjectFactory factory = StateObjectFactory.defaultFactory; - private State state; - private long id = 0; - private Logger logger; - - public static BundleDescription[] getDependentBundles(BundleDescription root) { - if (root == null) - return new BundleDescription[0]; - BundleDescription[] imported = getImportedBundles(root); - BundleDescription[] required = getRequiredBundles(root); - BundleDescription[] dependents = new BundleDescription[imported.length + required.length]; - System.arraycopy(imported, 0, dependents, 0, imported.length); - System.arraycopy(required, 0, dependents, imported.length, required.length); - return dependents; - } - - public static BundleDescription[] getImportedBundles(BundleDescription root) { - if (root == null) - return new BundleDescription[0]; - ExportPackageDescription[] packages = root.getResolvedImports(); - List<BundleDescription> resolvedImports = new ArrayList<BundleDescription>(packages.length); - for (int i = 0; i < packages.length; i++) - if (!root.getLocation().equals(packages[i].getExporter().getLocation()) && !resolvedImports - .contains(packages[i].getExporter())) - resolvedImports.add(packages[i].getExporter()); - return (BundleDescription[])resolvedImports.toArray(new BundleDescription[resolvedImports.size()]); - } - - public static BundleDescription[] getRequiredBundles(BundleDescription root) { - if (root == null) - return new BundleDescription[0]; - return root.getResolvedRequires(); - } - - public BundleResolver(Logger logger) { - this.logger = logger; - this.state = factory.createState(true); - Properties props = new Properties(); - props.putAll(System.getProperties()); - BundleUtil.loadVMProfile(props); - state.setPlatformProperties(props); - URL url = Bundle.class.getProtectionDomain().getCodeSource().getLocation(); - - File osgi = toFile(url); - try { - addBundle(osgi); - } catch (BundleException e) { - throw new IllegalArgumentException(e); - } - } - - private long getNextId() { - return ++id; - } - - public BundleDescription addBundle(File bundleLocation) throws BundleException { - return addBundle(bundleLocation, false); - } - - public BundleDescription addBundle(File bundleLocation, boolean override) throws BundleException { - if (bundleLocation == null || !bundleLocation.exists()) - throw new IllegalArgumentException("bundleLocation not found: " + bundleLocation); - Dictionary manifest = loadManifestAttributes(bundleLocation); - if (manifest == null) { - // throw new BundleException("manifest not found in " + bundleLocation); - return null; - } - return addBundle(manifest, bundleLocation, override); - } - - public BundleDescription addBundle(File manifestLocation, File bundleLocation, boolean override) - throws BundleException { - if (bundleLocation == null || !bundleLocation.exists()) - throw new IllegalArgumentException("bundleLocation not found: " + bundleLocation); - Dictionary manifest = loadManifestAttributes(manifestLocation); - if (manifest == null) - throw new IllegalArgumentException("manifest not found in " + manifestLocation); - return addBundle(manifest, bundleLocation, override); - } - - private Dictionary loadManifestAttributes(File bundleLocation) { - Manifest m = loadManifest(bundleLocation); - if (m == null) { - return null; - } - - return manifestToProperties(m.getMainAttributes()); - } - - public Manifest loadManifest(File bundleLocation) { - try { - return BundleUtil.getManifest(bundleLocation); - } catch (IOException e) { - e.printStackTrace(); - return null; - } - } - - private Properties manifestToProperties(Attributes d) { - Iterator iter = d.keySet().iterator(); - Properties result = new Properties(); - while (iter.hasNext()) { - Attributes.Name key = (Attributes.Name)iter.next(); - result.put(key.toString(), d.get(key)); - } - return result; - } - - private BundleDescription addBundle(Dictionary enhancedManifest, File bundleLocation, boolean override) - throws BundleException { - - BundleDescription descriptor = - factory.createBundleDescription(state, enhancedManifest, bundleLocation.getAbsolutePath(), getNextId()); - - setUserProperty(descriptor, PROP_MANIFEST, enhancedManifest); - if (override) { - BundleDescription[] conflicts = state.getBundles(descriptor.getSymbolicName()); - if (conflicts != null) { - for (BundleDescription conflict : conflicts) { - state.removeBundle(conflict); - logger - .warn(conflict.toString() + " has been replaced by another bundle with the same symbolic name " - + descriptor.toString()); - } - } - } - - state.addBundle(descriptor); - return descriptor; - } - - public BundleDescription getResolvedBundle(String bundleId) { - BundleDescription[] description = state.getBundles(bundleId); - if (description == null) - return null; - for (int i = 0; i < description.length; i++) { - if (description[i].isResolved()) - return description[i]; - } - return null; - } - - public void resolveState() { - state.resolve(false); - - if (logger.isDebugEnabled()) { - StringBuilder sb = new StringBuilder("Resolved OSGi state\n"); - for (BundleDescription bundle : state.getBundles()) { - if (!bundle.isResolved()) { - sb.append("NOT "); - } - sb.append("RESOLVED "); - sb.append(bundle.toString()).append(" : ").append(bundle.getLocation()); - sb.append('\n'); - for (ResolverError error : state.getResolverErrors(bundle)) { - sb.append('\t').append(error.toString()).append('\n'); - } - } - logger.debug(sb.toString()); - } - } - - public State getState() { - return state; - } - - public BundleDescription[] getBundles() { - return state.getBundles(); - } - - public ResolverError[] getResolverErrors(BundleDescription bundle) { - Set<ResolverError> errors = new LinkedHashSet<ResolverError>(); - getRelevantErrors(errors, bundle); - return (ResolverError[])errors.toArray(new ResolverError[errors.size()]); - } - - private void getRelevantErrors(Set<ResolverError> errors, BundleDescription bundle) { - ResolverError[] bundleErrors = state.getResolverErrors(bundle); - for (int j = 0; j < bundleErrors.length; j++) { - ResolverError error = bundleErrors[j]; - errors.add(error); - - VersionConstraint constraint = error.getUnsatisfiedConstraint(); - if (constraint instanceof BundleSpecification || constraint instanceof HostSpecification) { - BundleDescription[] requiredBundles = state.getBundles(constraint.getName()); - for (int i = 0; i < requiredBundles.length; i++) { - getRelevantErrors(errors, requiredBundles[i]); - } - } - } - } - - public Set<ResolverError> getAllErrors() { - BundleDescription[] bundles = state.getBundles(); - Set<ResolverError> errors = new LinkedHashSet<ResolverError>(); - for (int i = 0; i < bundles.length; i++) { - BundleDescription bundle = bundles[i]; - ResolverError[] bundleErrors = state.getResolverErrors(bundle); - if (bundleErrors != null) { - errors.addAll(Arrays.asList(bundleErrors)); - } - } - return errors; - } - - public List<BundleDescription> getDependencies(BundleDescription desc) { - Set<Long> bundleIds = new LinkedHashSet<Long>(); - addBundleAndDependencies(desc, bundleIds, true); - List<BundleDescription> dependencies = new ArrayList<BundleDescription>(); - for (long bundleId : bundleIds) { - if (desc.getBundleId() != bundleId) { - BundleDescription dependency = state.getBundle(bundleId); - BundleDescription supplier = dependency.getSupplier().getSupplier(); - HostSpecification host = supplier.getHost(); - if (host == null || !desc.equals(host.getSupplier())) { - dependencies.add(dependency); - } - } - } - return dependencies; - } - - /** - * Code below is copy&paste from org.eclipse.pde.internal.core.DependencyManager - * which seems to calculate runtime dependencies. In particular, it adds - * fragments' dependencies to the host bundle (see TychoTest#testFragment unit test). - * This may or may not cause problems... - * - * RequiredPluginsClasspathContainer#computePluginEntries has the logic to - * calculate compile-time dependencies in IDE. - * - * TODO find the code used by PDE/Build - */ - private static void addBundleAndDependencies(BundleDescription desc, Set<Long> bundleIds, boolean includeOptional) { - if (desc != null && bundleIds.add(new Long(desc.getBundleId()))) { - BundleSpecification[] required = desc.getRequiredBundles(); - for (int i = 0; i < required.length; i++) { - if (includeOptional || !required[i].isOptional()) - addBundleAndDependencies((BundleDescription)required[i].getSupplier(), bundleIds, includeOptional); - } - ImportPackageSpecification[] importedPkgs = desc.getImportPackages(); - for (int i = 0; i < importedPkgs.length; i++) { - ExportPackageDescription exporter = (ExportPackageDescription)importedPkgs[i].getSupplier(); - // Continue if the Imported Package is unresolved of the package is optional and don't want optional packages - if (exporter == null || (!includeOptional && Constants.RESOLUTION_OPTIONAL.equals(importedPkgs[i] - .getDirective(Constants.RESOLUTION_DIRECTIVE)))) - continue; - addBundleAndDependencies(exporter.getExporter(), bundleIds, includeOptional); - } - BundleDescription[] fragments = desc.getFragments(); - for (int i = 0; i < fragments.length; i++) { - if (!fragments[i].isResolved()) - continue; - String id = fragments[i].getSymbolicName(); - if (!"org.eclipse.ui.workbench.compatibility".equals(id)) //$NON-NLS-1$ - addBundleAndDependencies(fragments[i], bundleIds, includeOptional); - } - HostSpecification host = desc.getHost(); - if (host != null) - addBundleAndDependencies((BundleDescription)host.getSupplier(), bundleIds, includeOptional); - } - } - - public BundleDescription getBundleDescription(MavenProject project) { - String location = project.getFile().getParentFile().getAbsolutePath(); - return state.getBundleByLocation(location); - } - - public BundleDescription getBundleDescription(File location) { - String absolutePath = location.getAbsolutePath(); - return state.getBundleByLocation(absolutePath); - } - - private static void setUserProperty(BundleDescription desc, String name, Object value) { - Object userObject = desc.getUserObject(); - - if (userObject != null && !(userObject instanceof Map)) { - throw new IllegalStateException("Unexpected user object " + desc.toString()); - } - - Map props = (Map)userObject; - if (props == null) { - props = new HashMap(); - desc.setUserObject(props); - } - - props.put(name, value); - } - - private static Object getUserProperty(BundleDescription desc, String name) { - Object userObject = desc.getUserObject(); - if (userObject instanceof Map) { - return ((Map)userObject).get(name); - } - return null; - } - - public MavenProject getMavenProject(BundleDescription desc) { - return (MavenProject)getUserProperty(desc, PROP_MAVEN_PROJECT); - } - - public void assertResolved(BundleDescription desc) throws BundleException { - if (!desc.isResolved()) { - StringBuffer msg = new StringBuffer(); - msg.append("Bundle ").append(desc.getSymbolicName()).append(" cannot be resolved\n"); - msg.append("Resolution errors:\n"); - ResolverError[] errors = getResolverErrors(desc); - for (int i = 0; i < errors.length; i++) { - ResolverError error = errors[i]; - msg.append(error).append("\n"); - } - - throw new BundleException(msg.toString()); - } - } - - public String getManifestAttribute(BundleDescription desc, String attr) { - Dictionary mf = (Dictionary)getUserProperty(desc, PROP_MANIFEST); - if (mf != null) { - return (String)mf.get(attr); - } - return null; - } - - private static File toFile(URL url) { - if (url.getProtocol().equals("file") == false) { - return null; - } else { - String filename = url.getFile().replace('/', File.separatorChar).replace("%20", " "); - return new File(filename); - } - } - - /* - public static void main(String[] args) throws Exception { - BundleResolver resolver = new BundleResolver(new ConsoleLogger(Logger.LEVEL_INFO, "tuscany")); - - String home = System.getProperty("user.home"); - File jar = - new File(new File(home), - ".m2/repository/org/apache/tuscany/sca/tuscany-sca-api/1.4-EQUINOX-SNAPSHOT/tuscany-sca-api-1.4-EQUINOX-SNAPSHOT.jar"); - BundleDescription bundle = resolver.addBundle(jar); - resolver.resolveState(); - resolver.assertResolved(bundle); - } - */ -} diff --git a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/osgi/BundleUtil.java b/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/osgi/BundleUtil.java deleted file mode 100644 index 9e99fe4790..0000000000 --- a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/osgi/BundleUtil.java +++ /dev/null @@ -1,587 +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.tools.maven.compiler.osgi; - -import static org.osgi.framework.Constants.BUNDLE_CLASSPATH; -import static org.osgi.framework.Constants.BUNDLE_MANIFESTVERSION; -import static org.osgi.framework.Constants.BUNDLE_NAME; -import static org.osgi.framework.Constants.BUNDLE_SYMBOLICNAME; -import static org.osgi.framework.Constants.BUNDLE_VERSION; -import static org.osgi.framework.Constants.DYNAMICIMPORT_PACKAGE; -import static org.osgi.framework.Constants.EXPORT_PACKAGE; -import static org.osgi.framework.Constants.IMPORT_PACKAGE; - -import java.io.BufferedInputStream; -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.HashSet; -import java.util.Properties; -import java.util.Set; -import java.util.StringTokenizer; -import java.util.jar.Attributes; -import java.util.jar.JarFile; -import java.util.jar.Manifest; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; - -import org.apache.maven.artifact.versioning.ArtifactVersion; -import org.apache.maven.artifact.versioning.DefaultArtifactVersion; -import org.eclipse.osgi.framework.internal.core.Constants; -import org.eclipse.osgi.framework.internal.core.FrameworkProperties; -import org.eclipse.osgi.util.ManifestElement; -import org.osgi.framework.Version; - -/** - * Common functions used by the plugin. - * - * @version $Rev$ $Date$ - */ -public final class BundleUtil { - - /** - * Returns the name of a bundle, or null if the given file is not a bundle. - * - * @param file - * @return - * @throws IOException - */ - public static String getBundleSymbolicName(File file) throws IOException { - if (!file.exists()) { - return null; - } - String bundleName = null; - if (file.isDirectory()) { - File mf = new File(file, JarFile.MANIFEST_NAME); - if (!mf.isFile()) { - mf = new File(file, "../../" + JarFile.MANIFEST_NAME); - } - if (mf.isFile()) { - Manifest manifest = new Manifest(new FileInputStream(mf)); - bundleName = manifest.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME); - } - } else { - JarFile jar = new JarFile(file, false); - Manifest manifest = jar.getManifest(); - bundleName = manifest.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME); - jar.close(); - } - if (bundleName == null) { - return bundleName; - } - int sc = bundleName.indexOf(';'); - if (sc != -1) { - bundleName = bundleName.substring(0, sc); - } - return bundleName; - } - - static Manifest getManifest(File file) throws IOException { - if (!file.exists()) { - return null; - } - Manifest manifest = null; - String bundleName = null; - if (file.isDirectory()) { - File mf = new File(file, JarFile.MANIFEST_NAME); - if (!mf.isFile()) { - mf = new File(file, "../../" + JarFile.MANIFEST_NAME); - } - if (mf.isFile()) { - manifest = new Manifest(new FileInputStream(mf)); - bundleName = manifest.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME); - } - } else { - JarFile jar = new JarFile(file, false); - manifest = jar.getManifest(); - bundleName = manifest.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME); - jar.close(); - } - if (bundleName != null) { - return manifest; - } - - if (file.isFile()) { - Set<File> jars = new HashSet<File>(); - jars.add(file); - String name = file.getName().substring(0, file.getName().lastIndexOf(".jar")); - manifest = libraryManifest(jars, name, name, "0.0.0", null); - } - return manifest; - } - - /** - * Generate a Bundle manifest for a set of JAR files. - * - * @param jarFiles - * @param name - * @param symbolicName - * @param version - * @param dir - * @return - * @throws IllegalStateException - */ - static Manifest libraryManifest(Set<File> jarFiles, String name, String symbolicName, String version, String dir) - throws IllegalStateException { - try { - - // List exported packages and bundle classpath entries - StringBuffer classpath = new StringBuffer(); - Set<String> exportedPackages = new HashSet<String>(); - for (File jarFile : jarFiles) { - addPackages(jarFile, exportedPackages, version); - if (dir != null) { - classpath.append(dir).append("/"); - classpath.append(jarFile.getName()); - } else { - classpath.append("\"external:"); - classpath.append(jarFile.getPath().replace(File.separatorChar, '/')); - classpath.append("\""); - } - classpath.append(","); - } - - // Generate export-package and import-package declarations - StringBuffer exports = new StringBuffer(); - StringBuffer imports = new StringBuffer(); - Set<String> importedPackages = new HashSet<String>(); - for (String export : exportedPackages) { - - // Add export declaration - exports.append(export); - exports.append(','); - - // Add corresponding import declaration - String packageName = packageName(export); - if (!importedPackages.contains(packageName)) { - importedPackages.add(packageName); - imports.append(packageName); - imports.append(','); - } - } - - // Create a manifest - Manifest manifest = new Manifest(); - Attributes attributes = manifest.getMainAttributes(); - attributes.putValue("Manifest-Version", "1.0"); - attributes.putValue(BUNDLE_MANIFESTVERSION, "2"); - attributes.putValue(BUNDLE_SYMBOLICNAME, symbolicName); - attributes.putValue(BUNDLE_NAME, name); - attributes.putValue(BUNDLE_VERSION, version); - attributes.putValue(DYNAMICIMPORT_PACKAGE, "*"); - if (exports.length() > 1) { - attributes.putValue(EXPORT_PACKAGE, exports.substring(0, exports.length() - 1)); - } - if (imports.length() > 1) { - attributes.putValue(IMPORT_PACKAGE, imports.substring(0, imports.length() - 1)); - } - if (classpath.length() > 1) { - attributes.putValue(BUNDLE_CLASSPATH, classpath.substring(0, classpath.length() - 1)); - } - - return manifest; - } catch (IOException e) { - throw new IllegalStateException(e); - } - } - - /** - * Write a bundle manifest. - * - * @param manifest - * @param out - * @throws IOException - */ - static void write(Manifest manifest, OutputStream out) throws IOException { - DataOutputStream dos = new DataOutputStream(out); - Attributes attributes = manifest.getMainAttributes(); - write(attributes, "Manifest-Version", dos); - write(attributes, BUNDLE_MANIFESTVERSION, dos); - write(attributes, BUNDLE_SYMBOLICNAME, dos); - write(attributes, BUNDLE_NAME, dos); - write(attributes, BUNDLE_VERSION, dos); - write(attributes, DYNAMICIMPORT_PACKAGE, dos); - write(attributes, BUNDLE_CLASSPATH, dos); - write(attributes, IMPORT_PACKAGE, dos); - write(attributes, EXPORT_PACKAGE, dos); - dos.flush(); - } - - /** - * Add packages to be exported out of a JAR file. - * - * @param jarFile - * @param packages - * @throws IOException - */ - private static void addPackages(File jarFile, Set<String> packages, String version) throws IOException { - if (getBundleSymbolicName(jarFile) == null) { - String ver = ";version=" + version; - addAllPackages(jarFile, packages, ver); - } else { - addExportedPackages(jarFile, packages); - } - } - - /** - * Write manifest attributes. - * - * @param attributes - * @param key - * @param dos - * @throws IOException - */ - private static void write(Attributes attributes, String key, DataOutputStream dos) throws IOException { - String value = attributes.getValue(key); - if (value == null) { - return; - } - StringBuffer line = new StringBuffer(); - line.append(key); - line.append(": "); - line.append(new String(value.getBytes("UTF8"))); - line.append("\r\n"); - int l = line.length(); - if (l > 72) { - for (int i = 70; i < l - 2;) { - line.insert(i, "\r\n "); - i += 72; - l += 3; - } - } - dos.writeBytes(line.toString()); - } - - /** - * Strip an OSGi export, only retain the package name and version. - * - * @param export - * @return - */ - private static String stripExport(String export) { - int sc = export.indexOf(';'); - if (sc == -1) { - return export; - } - String base = export.substring(0, sc); - int v = export.indexOf("version="); - if (v != -1) { - sc = export.indexOf(';', v + 1); - if (sc != -1) { - return base + ";" + export.substring(v, sc); - } else { - return base + ";" + export.substring(v); - } - } else { - return base; - } - } - - /** - * Add all the packages out of a JAR. - * - * @param jarFile - * @param packages - * @param version - * @throws IOException - */ - private static void addAllPackages(File jarFile, Set<String> packages, String version) throws IOException { - ZipInputStream is = new ZipInputStream(new FileInputStream(jarFile)); - ZipEntry entry; - while ((entry = is.getNextEntry()) != null) { - String entryName = entry.getName(); - if (!entry.isDirectory() && entryName != null - && entryName.length() > 0 - && !entryName.startsWith(".") - && entryName.endsWith(".class") // Exclude resources from Export-Package - && entryName.lastIndexOf("/") > 0 - && Character.isJavaIdentifierStart(entryName.charAt(0))) { - String pkg = entryName.substring(0, entryName.lastIndexOf("/")).replace('/', '.'); - if (!pkg.endsWith(".enum")) { - packages.add(pkg + version); - } - } - } - is.close(); - } - - /** - * Returns the name of the exported package in the given export. - * @param export - * @return - */ - private static String packageName(String export) { - int sc = export.indexOf(';'); - if (sc != -1) { - export = export.substring(0, sc); - } - return export; - } - - /** - * Add the packages exported by a bundle. - * - * @param file - * @param packages - * @return - * @throws IOException - */ - private static void addExportedPackages(File file, Set<String> packages) throws IOException { - if (!file.exists()) { - return; - } - - // Read the export-package declaration and get a list of the packages available in a JAR - Set<String> existingPackages = null; - String exports = null; - if (file.isDirectory()) { - File mf = new File(file, "META-INF/MANIFEST.MF"); - if (mf.isFile()) { - Manifest manifest = new Manifest(new FileInputStream(mf)); - exports = manifest.getMainAttributes().getValue(EXPORT_PACKAGE); - } - } else { - JarFile jar = new JarFile(file, false); - Manifest manifest = jar.getManifest(); - exports = manifest.getMainAttributes().getValue(EXPORT_PACKAGE); - jar.close(); - existingPackages = new HashSet<String>(); - addAllPackages(file, existingPackages, ""); - } - if (exports == null) { - return; - } - - // Parse the export-package declaration, and extract the individual packages - StringBuffer buffer = new StringBuffer(); - boolean q = false; - for (int i = 0, n = exports.length(); i < n; i++) { - char c = exports.charAt(i); - if (c == '\"') { - q = !q; - } - if (!q) { - if (c == ',') { - - // Add the exported package to the set, after making sure it really exists in - // the JAR - String export = buffer.toString(); - if (existingPackages == null || existingPackages.contains(packageName(export))) { - packages.add(stripExport(export)); - } - buffer = new StringBuffer(); - continue; - } - } - buffer.append(c); - } - if (buffer.length() != 0) { - - // Add the exported package to the set, after making sure it really exists in - // the JAR - String export = buffer.toString(); - if (existingPackages == null || existingPackages.contains(packageName(export))) { - packages.add(stripExport(export)); - } - } - } - - /** - * Convert the maven version into OSGi version - * @param mavenVersion - * @return - */ - static String osgiVersion(String mavenVersion) { - ArtifactVersion ver = new DefaultArtifactVersion(mavenVersion); - String qualifer = ver.getQualifier(); - if (qualifer != null) { - StringBuffer buf = new StringBuffer(qualifer); - for (int i = 0; i < buf.length(); i++) { - char c = buf.charAt(i); - if (Character.isLetterOrDigit(c) || c == '-' || c == '_') { - // Keep as-is - } else { - buf.setCharAt(i, '_'); - } - } - qualifer = buf.toString(); - } - Version osgiVersion = - new Version(ver.getMajorVersion(), ver.getMinorVersion(), ver.getIncrementalVersion(), qualifer); - String version = osgiVersion.toString(); - return version; - } - - private static String J2SE = "J2SE-"; - private static String JAVASE = "JavaSE-"; - private static String PROFILE_EXT = ".profile"; - - public static void loadVMProfile(Properties properties) { - Properties profileProps = findVMProfile(properties); - String systemExports = properties.getProperty(Constants.OSGI_FRAMEWORK_SYSTEM_PACKAGES); - // set the system exports property using the vm profile; only if the property is not already set - if (systemExports == null) { - systemExports = profileProps.getProperty(Constants.OSGI_FRAMEWORK_SYSTEM_PACKAGES); - if (systemExports != null) - properties.put(Constants.OSGI_FRAMEWORK_SYSTEM_PACKAGES, systemExports); - } - // set the org.osgi.framework.bootdelegation property according to the java profile - String type = properties.getProperty(Constants.OSGI_JAVA_PROFILE_BOOTDELEGATION); // a null value means ignore - String profileBootDelegation = profileProps.getProperty(Constants.OSGI_BOOTDELEGATION); - if (Constants.OSGI_BOOTDELEGATION_OVERRIDE.equals(type)) { - if (profileBootDelegation == null) - properties.remove(Constants.OSGI_BOOTDELEGATION); // override with a null value - else - properties.put(Constants.OSGI_BOOTDELEGATION, profileBootDelegation); // override with the profile value - } else if (Constants.OSGI_BOOTDELEGATION_NONE.equals(type)) - properties.remove(Constants.OSGI_BOOTDELEGATION); // remove the bootdelegation property in case it was set - // set the org.osgi.framework.executionenvironment property according to the java profile - if (properties.getProperty(Constants.FRAMEWORK_EXECUTIONENVIRONMENT) == null) { - // get the ee from the java profile; if no ee is defined then try the java profile name - String ee = - profileProps.getProperty(Constants.FRAMEWORK_EXECUTIONENVIRONMENT, profileProps - .getProperty(Constants.OSGI_JAVA_PROFILE_NAME)); - if (ee != null) - properties.put(Constants.FRAMEWORK_EXECUTIONENVIRONMENT, ee); - } - } - - private static Properties findVMProfile(Properties properties) { - Properties result = new Properties(); - // Find the VM profile name using J2ME properties - String j2meConfig = properties.getProperty(Constants.J2ME_MICROEDITION_CONFIGURATION); - String j2meProfiles = properties.getProperty(Constants.J2ME_MICROEDITION_PROFILES); - String vmProfile = null; - String javaEdition = null; - Version javaVersion = null; - if (j2meConfig != null && j2meConfig.length() > 0 && j2meProfiles != null && j2meProfiles.length() > 0) { - // save the vmProfile based off of the config and profile - // use the last profile; assuming that is the highest one - String[] j2meProfileList = ManifestElement.getArrayFromList(j2meProfiles, " "); - if (j2meProfileList != null && j2meProfileList.length > 0) - vmProfile = j2meConfig + '_' + j2meProfileList[j2meProfileList.length - 1]; - } else { - // No J2ME properties; use J2SE properties - // Note that the CDC spec appears not to require VM implementations to set the - // javax.microedition properties!! So we will try to fall back to the - // java.specification.name property, but this is pretty ridiculous!! - String javaSpecVersion = properties.getProperty("java.specification.version"); - // set the profile and EE based off of the java.specification.version - // TODO We assume J2ME Foundation and J2SE here. need to support other profiles J2EE ... - if (javaSpecVersion != null) { - StringTokenizer st = new StringTokenizer(javaSpecVersion, " _-"); - javaSpecVersion = st.nextToken(); - String javaSpecName = properties.getProperty("java.specification.name"); - if ("J2ME Foundation Specification".equals(javaSpecName)) - vmProfile = "CDC-" + javaSpecVersion + "_Foundation-" + javaSpecVersion; //$NON-NLS-2$ - else { - // look for JavaSE if 1.6 or greater; otherwise look for J2SE - Version v16 = new Version("1.6"); - javaEdition = J2SE; - try { - javaVersion = new Version(javaSpecVersion); - if (v16.compareTo(javaVersion) <= 0) - javaEdition = JAVASE; - } catch (IllegalArgumentException e) { - // do nothing - } - vmProfile = javaEdition + javaSpecVersion; - } - } - } - URL url = null; - // check for the java profile property for a url - String propJavaProfile = FrameworkProperties.getProperty(Constants.OSGI_JAVA_PROFILE); - if (propJavaProfile != null) - try { - // we assume a URL - url = new URL(propJavaProfile); - } catch (MalformedURLException e1) { - // try using a relative path in the system bundle - url = findInSystemBundle(propJavaProfile); - } - if (url == null && vmProfile != null) { - // look for a profile in the system bundle based on the vm profile - String javaProfile = vmProfile + PROFILE_EXT; - url = findInSystemBundle(javaProfile); - if (url == null) - url = getNextBestProfile(javaEdition, javaVersion); - } - if (url == null) - // the profile url is still null then use the osgi min profile in OSGi by default - url = findInSystemBundle("OSGi_Minimum-1.1.profile"); - if (url != null) { - InputStream in = null; - try { - in = url.openStream(); - result.load(new BufferedInputStream(in)); - } catch (IOException e) { - // TODO consider logging ... - } finally { - if (in != null) - try { - in.close(); - } catch (IOException ee) { - // do nothing - } - } - } - // set the profile name if it does not provide one - if (result.getProperty(Constants.OSGI_JAVA_PROFILE_NAME) == null) - if (vmProfile != null) - result.put(Constants.OSGI_JAVA_PROFILE_NAME, vmProfile.replace('_', '/')); - else - // last resort; default to the absolute minimum profile name for the framework - result.put(Constants.OSGI_JAVA_PROFILE_NAME, "OSGi/Minimum-1.1"); - return result; - } - - private static URL getNextBestProfile(String javaEdition, Version javaVersion) { - if (javaVersion == null || (javaEdition != J2SE && javaEdition != JAVASE)) - return null; // we cannot automatically choose the next best profile unless this is a J2SE or JavaSE vm - URL bestProfile = findNextBestProfile(javaEdition, javaVersion); - if (bestProfile == null && javaEdition == JAVASE) - // if this is a JavaSE VM then search for a lower J2SE profile - bestProfile = findNextBestProfile(J2SE, javaVersion); - return bestProfile; - } - - private static URL findNextBestProfile(String javaEdition, Version javaVersion) { - URL result = null; - int minor = javaVersion.getMinor(); - do { - result = findInSystemBundle(javaEdition + javaVersion.getMajor() + "." + minor + PROFILE_EXT); - minor = minor - 1; - } while (result == null && minor > 0); - return result; - } - - private static URL findInSystemBundle(String entry) { - ClassLoader loader = BundleUtil.class.getClassLoader(); - return loader == null ? ClassLoader.getSystemResource(entry) : loader.getResource(entry); - } - - -} diff --git a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/resources/META-INF/plexus/components.xml b/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index 4332d3f205..0000000000 --- a/branches/sca-equinox/tools/maven/maven-eclipse-compiler/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,28 +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. ---> -<component-set> - <components> - <component> - <role>org.codehaus.plexus.compiler.Compiler</role> - <role-hint>tuscany-eclipse</role-hint> - <implementation>org.apache.tuscany.sca.tools.maven.compiler.JavaCompiler</implementation> - </component> - </components> -</component-set> diff --git a/branches/sca-equinox/tools/maven/maven-incremental-build/LICENSE b/branches/sca-equinox/tools/maven/maven-incremental-build/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/maven/maven-incremental-build/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/maven/maven-incremental-build/NOTICE b/branches/sca-equinox/tools/maven/maven-incremental-build/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/maven/maven-incremental-build/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/branches/sca-equinox/tools/maven/maven-incremental-build/pom.xml b/branches/sca-equinox/tools/maven/maven-incremental-build/pom.xml deleted file mode 100644 index 1ce5e333a4..0000000000 --- a/branches/sca-equinox/tools/maven/maven-incremental-build/pom.xml +++ /dev/null @@ -1,108 +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-sca-maven-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-maven-incremental-build</artifactId> - <packaging>maven-plugin</packaging> - <name>Apache Tuscany SCA Incremental Build Generator Maven Plugin</name> - - <dependencies> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - <version>2.0.5</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-project</artifactId> - <version>2.0.5</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-settings</artifactId> - <version>2.0.5</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-artifact</artifactId> - <version>2.0.5</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-model</artifactId> - <version>2.0.5</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-core</artifactId> - <version>2.0.5</version> - </dependency> - - <dependency> - <groupId>org.apache.maven.shared</groupId> - <artifactId>maven-invoker</artifactId> - <version>2.0.7</version> - </dependency> - - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-compiler-api</artifactId> - <version>1.5.3</version> - </dependency> - - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-compiler-manager</artifactId> - <version>1.5.3</version> - </dependency> - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-compiler-javac</artifactId> - <version>1.5.3</version> - <scope>runtime</scope> - </dependency> - - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-plugin-plugin</artifactId> - <version>LATEST</version> - <configuration> - <goalPrefix>incremental</goalPrefix> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/tools/maven/maven-incremental-build/src/main/java/org/apache/tuscany/sca/tools/incremental/build/plugin/IncrementalBuildMojo.java b/branches/sca-equinox/tools/maven/maven-incremental-build/src/main/java/org/apache/tuscany/sca/tools/incremental/build/plugin/IncrementalBuildMojo.java deleted file mode 100644 index 3a6870732b..0000000000 --- a/branches/sca-equinox/tools/maven/maven-incremental-build/src/main/java/org/apache/tuscany/sca/tools/incremental/build/plugin/IncrementalBuildMojo.java +++ /dev/null @@ -1,415 +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.tools.incremental.build.plugin; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.apache.maven.artifact.Artifact; -import org.apache.maven.model.Resource; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.project.MavenProject; -import org.apache.maven.settings.Settings; -import org.apache.maven.shared.invoker.DefaultInvocationRequest; -import org.apache.maven.shared.invoker.InvocationResult; -import org.apache.maven.shared.invoker.Invoker; -import org.apache.maven.shared.invoker.MavenInvocationException; -import org.codehaus.plexus.util.DirectoryScanner; -import org.codehaus.plexus.util.cli.CommandLineException; - -/** - * @version $Rev$ $Date$ - * @goal build - * @phase validate - * @requiresDependencyResolution test - * @description Incrementally build project modules that depend on modified modules. - */ -public class IncrementalBuildMojo extends AbstractMojo { - - /** - * Keep track of modified projects. - */ - private static Set<String> modifiedProjectIDs = new HashSet<String>(); - - /** - * The current user system settings for use in Maven. - * - * @parameter expression="${settings}" - * @required - * @readonly - */ - private Settings settings; - - /** - * Used to invoke Maven builds. - * - * @component - */ - private Invoker invoker; - - /** - * The target directory of the compiler if fork is true. - * - * @parameter expression="${project.build.directory}" - * @required - * @readonly - */ - private File buildDirectory; - - /** - * The project to create a build for. - * - * @parameter expression="${project}" - * @required - * @readonly - */ - private MavenProject project; - - private File outputFile; - - public void execute() throws MojoExecutionException { - String projectID = id(project); - outputFile = getOutputFile(); - - File testMarkerFile = new File(project.getBasedir().getPath() + "/.test"); - - List<String> goals = new ArrayList<String>(); - String type = project.getArtifact().getType(); - if ("pom".equals(type)) { - - // Always install pom modules - goals.add("install"); - - } else { - - // Check if anything has changed in the project - boolean changed = false; - boolean testChanged = false; - boolean testFailed = false; - if (new File(project.getBasedir().getPath() + "/.modified").exists()) { - getLog().info("Found .modified marker file."); - changed = true; - } else { - changed = areSourcesStale() || areResourcesStale() || isPOMStale(); - } - if (changed) { - modifiedProjectIDs.add(projectID); - } else { - testChanged = areTestSourcesStale() || areTestResourcesStale(); - } - - // Check if a project has compile dependencies on the modified projects - // and will need to be recompiled, or has runtime or test dependencies - // on the modified projects and needs to be retested - if (changed) { - goals.add("clean"); - goals.add("install"); - getLog().info("Project " + projectID + " has changed and will be recompiled."); - - } else { - for (Artifact artifact : (List<Artifact>)project.getCompileArtifacts()) { - String artifactID = id(artifact); - if (modifiedProjectIDs.contains(artifactID)) { - getLog().info("Project " + projectID + " depends on modified project " + artifactID + " and will be recompiled."); - goals.add("clean"); - goals.add("install"); - break; - } - } - - if (goals.isEmpty()) { - List<Artifact> artifacts = new ArrayList<Artifact>(); - artifacts.addAll(project.getRuntimeArtifacts()); - artifacts.addAll(project.getTestArtifacts()); - for (Artifact artifact : artifacts) { - String artifactID = id(artifact); - if (modifiedProjectIDs.contains(artifactID)) { - getLog().info("Project " + projectID + " depends on modified project " + artifactID + " and will be retested."); - goals.add("test"); - break; - } - } - } - } - - if (testChanged && goals.isEmpty()) { - getLog().info("Project " + projectID + " has changed and will be retested."); - goals.add("test"); - } - - if (goals.isEmpty()) { - if (testMarkerFile.exists()) { - testFailed = true; - getLog().info("Project " + projectID + " contains failed tests and will be retested."); - goals.add("test"); - } - } - } - - // Invoke Maven with the necessary goals - if (!goals.isEmpty()) { - DefaultInvocationRequest request = new DefaultInvocationRequest(); - request.setGoals(goals); - // FIXME: The maven invoker doesn't handle the directory names with spaces - // request.setLocalRepositoryDirectory(new File(localRepository.getBasedir())); - request.setInteractive(false); - request.setShowErrors(false); - request.setRecursive(false); - // request.setDebug(true); - request.setOffline(settings.isOffline()); - request.setBaseDirectory(project.getBasedir()); - request.setPomFile(project.getFile()); - - boolean success = false; - try { - try { - InvocationResult result = invoker.execute(request); - - CommandLineException cle = result.getExecutionException(); - if (cle != null) { - throw new MojoExecutionException(cle.getMessage(), cle); - } - - int ec = result.getExitCode(); - if (ec != 0) { - throw new MojoExecutionException("Maven invocation exit code: " + ec); - } - - success = true; - - - - } catch (MavenInvocationException e) { - throw new MojoExecutionException(e.getMessage(), e); - } - } finally { - - // Create or delete a .test marker file to keep track of the latest - // test result status and trigger testing again next time the build - // is run - if (!success) { - try { - if (!testMarkerFile.exists()) { - testMarkerFile.createNewFile(); - } - } catch (IOException e) { - throw new MojoExecutionException(e.getMessage(), e); - } - } else { - if (testMarkerFile.exists()) { - testMarkerFile.delete(); - } - } - } - } else { - getLog().info("The project is up-to-date. No build is required."); - } - } - - private File getOutputFile() { - File basedir = buildDirectory; - String finalName = project.getBuild().getFinalName(); - String classifier = project.getArtifact().getClassifier(); - if (classifier == null) { - classifier = ""; - } else if (classifier.trim().length() > 0 && !classifier.startsWith("-")) { - classifier = "-" + classifier; - } - - String pkg = project.getPackaging(); - if ("maven-plugin".equals(pkg)) { - pkg = "jar"; - } - return new File(basedir, finalName + classifier + "." + pkg); - } - - /** - * Test if any of the resources are stale - * @param resources - * @param outputDirectory - * @return - * @throws MojoExecutionException - */ - private boolean areStale(List<Resource> resources, String outputDirectory) throws MojoExecutionException { - - for (Resource resource: resources) { - - File resourceDirectory = new File(resource.getDirectory()); - if (!resourceDirectory.exists()) { - continue; - } - - DirectoryScanner scanner = new DirectoryScanner(); - - scanner.setBasedir(resource.getDirectory()); - if (resource.getIncludes() != null && !resource.getIncludes().isEmpty()) { - scanner.setIncludes((String[])resource.getIncludes().toArray(new String[]{})); - } else { - scanner.setIncludes(new String[]{"**/**"}); - } - if (resource.getExcludes() != null && !resource.getExcludes().isEmpty()) { - scanner.setExcludes((String[])resource.getExcludes().toArray(new String[]{})); - } - - scanner.addDefaultExcludes(); - scanner.scan(); - - List<String> includedFiles = Arrays.asList(scanner.getIncludedFiles()); - String targetPath = resource.getTargetPath(); - for (String source: includedFiles) { - String target; - if (source.endsWith(".java")) { - target = source.substring(0, source.length() - 5) + ".class"; - } else { - target = source; - } - - String destination; - if (targetPath != null) { - destination = targetPath + "/" + target; - } else { - destination = target; - } - - File sourceFile = new File(resource.getDirectory(), source); - File destinationFile = new File(outputDirectory, destination); - - if (!destinationFile.exists()) { - getLog().info("Source file " + sourceFile + "."); - getLog().info("Target file " + destinationFile + " could not be found."); - return true; - } else { - if (sourceFile.lastModified() > destinationFile.lastModified()) { - getLog().info("Source file " + sourceFile + " has changed."); - getLog().info("Target file " + destinationFile + " is stale."); - return true; - } else if (sourceFile.lastModified() > outputFile.lastModified()) { - getLog().info("Source file " + sourceFile + " has changed."); - getLog().info("Target build output file " + outputFile + " is stale."); - return true; - } else if (outputFile.lastModified() == 0) { - getLog().info("Target build output file " + outputFile + " could not be found."); - return true; - } - } - } - } - return false; - } - - /** - * Test if the POM resource is stale. - * - * @return - */ - private boolean isPOMStale() { - File pom = project.getFile(); - if (pom.lastModified() > outputFile.lastModified()) { - getLog().info("File " + pom + " has changed."); - getLog().info("Target build output file " + pom + " is stale."); - return true; - } else if (outputFile.lastModified() == 0) { - getLog().info("Target build output file " + outputFile + " could not be found."); - return true; - } else { - return false; - } - } - - /** - * Test if the project resources are stale. - * - * @return - * @throws MojoExecutionException - */ - private boolean areResourcesStale() throws MojoExecutionException { - return areStale(project.getResources(), project.getBuild().getOutputDirectory()); - } - - /** - * Test if the project sources are stale. - * - * @return - * @throws MojoExecutionException - */ - private boolean areSourcesStale() throws MojoExecutionException { - List<Resource> resources = new ArrayList<Resource>(); - for (String root: (List<String>)project.getCompileSourceRoots()) { - if (new File(root).exists()) { - Resource resource = new Resource(); - resource.setDirectory(root); - resource.addInclude("*.java"); - resources.add(resource); - } - } - return areStale(resources, project.getBuild().getOutputDirectory()); - } - - /** - * Tests if the project test resources are stale. - * - * @return - * @throws MojoExecutionException - */ - private boolean areTestResourcesStale() throws MojoExecutionException { - return areStale(project.getTestResources(), project.getBuild().getTestOutputDirectory()); - } - - /** - * Tests if the project test sources are stale. - * - * @return - * @throws MojoExecutionException - */ - private boolean areTestSourcesStale() throws MojoExecutionException { - List<Resource> resources = new ArrayList<Resource>(); - for (String root: (List<String>)project.getTestCompileSourceRoots()) { - if (new File(root).exists()) { - Resource resource = new Resource(); - resource.setDirectory(root); - resources.add(resource); - } - } - return areStale(resources, project.getBuild().getTestOutputDirectory()); - } - - /** - * Returns the qualified id of a Maven artifact . - * @param p a Maven artifact - * @return a qualified id - */ - private static String id(Artifact a) { - return a.getGroupId() + ':' + a.getArtifactId(); - } - - /** - * Returns the qualified id of a Maven project. - * @param p a Maven project - * @return a qualified id - */ - private static String id(MavenProject p) { - return p.getGroupId() + ':' + p.getArtifactId(); - } -} diff --git a/branches/sca-equinox/tools/maven/maven-java2wsdl/LICENSE b/branches/sca-equinox/tools/maven/maven-java2wsdl/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/maven/maven-java2wsdl/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/maven/maven-java2wsdl/NOTICE b/branches/sca-equinox/tools/maven/maven-java2wsdl/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/maven/maven-java2wsdl/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/branches/sca-equinox/tools/maven/maven-java2wsdl/pom.xml b/branches/sca-equinox/tools/maven/maven-java2wsdl/pom.xml deleted file mode 100644 index 5aa51d8a5e..0000000000 --- a/branches/sca-equinox/tools/maven/maven-java2wsdl/pom.xml +++ /dev/null @@ -1,45 +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-sca-maven-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-maven-java2wsdl</artifactId> - <packaging>maven-plugin</packaging> - <name>Apache Tuscany SCA Java2WSDL Maven Plugin</name> - - <dependencies> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - <version>2.0</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-java2wsdl</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - </dependencies> -</project> diff --git a/branches/sca-equinox/tools/maven/maven-java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/plugin/Java2WSDLGeneratorMojo.java b/branches/sca-equinox/tools/maven/maven-java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/plugin/Java2WSDLGeneratorMojo.java deleted file mode 100644 index 620e32a6fd..0000000000 --- a/branches/sca-equinox/tools/maven/maven-java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/plugin/Java2WSDLGeneratorMojo.java +++ /dev/null @@ -1,153 +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.tools.java2wsdl.plugin; - -import java.util.Hashtable; -import java.util.Map; - -import org.apache.axis2.description.java2wsdl.Java2WSDLConstants; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.tuscany.tools.java2wsdl.generate.Java2WSDLGeneratorFactory; -import org.apache.ws.java2wsdl.utils.Java2WSDLCommandLineOption; - -/** - * @version $Rev$ $Date$ - * @goal generate - * @phase generate-sources - * @description Generate WSDL from a given Java class / interface - */ -public class Java2WSDLGeneratorMojo extends AbstractMojo -{ - - /** - * The name of the class for which the WSDL must be generated - * @parameter - * - */ - private String sourceClassName; - - /** - * The location where the WSDLs should be generated into - * @parameter expression="${project.build.directory}\\java2wsdl-wsdl" - */ - private String targetLocation; - - /** - * The name of the WSDL file - * @parameter - */ - private String wsdlFilename; - - - /** - * Classpaths to be included - * @parameter - * - */ - String[] classpaths; - - /** - * The name of the service - * @parameter - */ - private String serviceName; - - /** - * The binding style for the service - * @parameter - */ - private String bindingStyle; - - /** - * The binding use option - * @parameter - */ - private String bindingUse; - - /** - * The soap address - * @parameter - */ - private String soapAddress; - - public void execute() throws MojoExecutionException - { - try - { - Java2WSDLGeneratorFactory.getInstance().createGenerator().generateWSDL(createOptionsMap ()); - } - catch ( Exception e ) - { - throw new MojoExecutionException("Exception in Java2WSDL Maven Plugin ", e); - } - } - - protected Map createOptionsMap() - { - Map optionsMap = new Hashtable(); - - optionsMap.put(Java2WSDLConstants.CLASSNAME_OPTION, - new Java2WSDLCommandLineOption(Java2WSDLConstants.CLASSNAME_OPTION, new String[]{sourceClassName})); - - if ( targetLocation != null ) - { - optionsMap.put(Java2WSDLConstants.OUTPUT_LOCATION_OPTION, - new Java2WSDLCommandLineOption(Java2WSDLConstants.OUTPUT_LOCATION_OPTION, new String[]{targetLocation})); - } - - if ( wsdlFilename != null ) - { - optionsMap.put(Java2WSDLConstants.OUTPUT_FILENAME_OPTION, - new Java2WSDLCommandLineOption(Java2WSDLConstants.OUTPUT_FILENAME_OPTION, new String[]{wsdlFilename})); - } - - if ( classpaths != null && classpaths.length > 0 ) - { - optionsMap.put(Java2WSDLConstants.CLASSPATH_OPTION, - new Java2WSDLCommandLineOption(Java2WSDLConstants.CLASSPATH_OPTION, classpaths)); - } - - if ( serviceName != null ) - { - optionsMap.put(Java2WSDLConstants.SERVICE_NAME_OPTION, - new Java2WSDLCommandLineOption(Java2WSDLConstants.SERVICE_NAME_OPTION, new String[]{serviceName})); - } - - if ( bindingStyle != null ) - { - optionsMap.put(Java2WSDLConstants.STYLE_OPTION, - new Java2WSDLCommandLineOption(Java2WSDLConstants.STYLE_OPTION, new String[]{bindingStyle})); - } - - if ( bindingUse != null ) - { - optionsMap.put(Java2WSDLConstants.USE_OPTION, - new Java2WSDLCommandLineOption(Java2WSDLConstants.USE_OPTION, new String[]{bindingUse})); - } - - if ( soapAddress != null ) - { - optionsMap.put(Java2WSDLConstants.LOCATION_OPTION, - new Java2WSDLCommandLineOption(Java2WSDLConstants.LOCATION_OPTION, new String[]{soapAddress})); - } - - return optionsMap; - } -} diff --git a/branches/sca-equinox/tools/maven/maven-osgi-junit/LICENSE b/branches/sca-equinox/tools/maven/maven-osgi-junit/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/tools/maven/maven-osgi-junit/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/tools/maven/maven-osgi-junit/NOTICE b/branches/sca-equinox/tools/maven/maven-osgi-junit/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/tools/maven/maven-osgi-junit/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/branches/sca-equinox/tools/maven/maven-osgi-junit/pom.xml b/branches/sca-equinox/tools/maven/maven-osgi-junit/pom.xml deleted file mode 100644 index 3029892b54..0000000000 --- a/branches/sca-equinox/tools/maven/maven-osgi-junit/pom.xml +++ /dev/null @@ -1,60 +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-sca-maven-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-maven-osgi-junit</artifactId> - <packaging>maven-plugin</packaging> - <name>Apache Tuscany SCA OSGi JUnit Maven Plugin</name> - - <dependencies> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - <version>2.0.7</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-project</artifactId> - <version>2.0.7</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-node-launcher-osgi</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.5</version> - <scope>compile</scope> - </dependency> - - </dependencies> -</project> diff --git a/branches/sca-equinox/tools/maven/maven-osgi-junit/src/main/java/org/apache/tuscany/tools/sca/osgi/junit/plugin/OSGiJUnitMojo.java b/branches/sca-equinox/tools/maven/maven-osgi-junit/src/main/java/org/apache/tuscany/tools/sca/osgi/junit/plugin/OSGiJUnitMojo.java deleted file mode 100644 index a2251a6a2a..0000000000 --- a/branches/sca-equinox/tools/maven/maven-osgi-junit/src/main/java/org/apache/tuscany/tools/sca/osgi/junit/plugin/OSGiJUnitMojo.java +++ /dev/null @@ -1,284 +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.tools.sca.osgi.junit.plugin; - -import java.io.File; -import java.lang.reflect.Method; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; - -import junit.framework.Assert; - -import org.apache.maven.artifact.Artifact; -import org.apache.maven.artifact.resolver.ArtifactNotFoundException; -import org.apache.maven.artifact.resolver.ArtifactResolutionException; -import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; -import org.apache.maven.artifact.versioning.VersionRange; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.logging.Log; -import org.apache.maven.project.MavenProject; -import org.apache.tuscany.sca.node.osgi.launcher.FelixOSGiHost; -import org.apache.tuscany.sca.node.osgi.launcher.LauncherBundleActivator; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; - -/** - * @version $Rev$ $Date$ - * @goal test - * @phase integration-test - * @requiresDependencyResolution test - * @description Run the unit test with OSGi - */ -public class OSGiJUnitMojo extends AbstractMojo { - /** - * The project to create a build for. - * - * @parameter expression="${project}" - * @required - * @readonly - */ - private MavenProject project; - - /** - * The basedir of the project. - * - * @parameter expression="${basedir}" - * @required @readonly - */ - protected File basedir; - - /** - * Used to look up Artifacts in the remote repository. - * - * @parameter expression="${component.org.apache.maven.artifact.factory.ArtifactFactory}" - * @required - * @readonly - */ - protected org.apache.maven.artifact.factory.ArtifactFactory factory; - - /** - * Used to look up Artifacts in the remote repository. - * - * @parameter expression="${component.org.apache.maven.artifact.resolver.ArtifactResolver}" - * @required - * @readonly - */ - protected org.apache.maven.artifact.resolver.ArtifactResolver resolver; - - /** - * Location of the local repository. - * - * @parameter expression="${localRepository}" - * @readonly - * @required - */ - protected org.apache.maven.artifact.repository.ArtifactRepository local; - - /** - * List of Remote Repositories used by the resolver - * - * @parameter expression="${project.remoteArtifactRepositories}" - * @readonly - * @required - */ - protected java.util.List remoteRepos; - - /** - * @parameter - */ - protected String osgiRuntime; - - protected Artifact getArtifact(String groupId, String artifactId) throws MojoExecutionException { - Artifact artifact; - VersionRange vr; - try { - vr = VersionRange.createFromVersionSpec(project.getVersion()); - } catch (InvalidVersionSpecificationException e1) { - vr = VersionRange.createFromVersion(project.getVersion()); - } - artifact = factory.createDependencyArtifact(groupId, artifactId, vr, "jar", null, Artifact.SCOPE_TEST); - - try { - resolver.resolve(artifact, remoteRepos, local); - } catch (ArtifactResolutionException e) { - throw new MojoExecutionException("Unable to resolve artifact.", e); - } catch (ArtifactNotFoundException e) { - throw new MojoExecutionException("Unable to find artifact.", e); - } - - return artifact; - } - - public void execute() throws MojoExecutionException { - if (project.getPackaging().equals("pom")) { - return; - } - - Log log = getLog(); - List<URL> jarFiles = new ArrayList<URL>(); - for (Object o : project.getArtifacts()) { - Artifact a = (Artifact)o; - try { - if (log.isDebugEnabled()) { - log.debug("Adding: " + a); - } - jarFiles.add(a.getFile().toURI().toURL()); - } catch (MalformedURLException e) { - getLog().error(e); - } - } - - /* - * Add org.apache.tuscany.sca:tuscany-extensibility-osgi module - */ - String aid = "equinox".equals(osgiRuntime) ? "tuscany-extensibility-equinox" : "tuscany-extensibility-osgi"; - Artifact ext = getArtifact("org.apache.tuscany.sca", aid); - try { - URL url = ext.getFile().toURI().toURL(); - if (!jarFiles.contains(url)) { - if (log.isDebugEnabled()) { - log.debug("Adding: " + ext); - } - jarFiles.add(url); - } - } catch (MalformedURLException e) { - getLog().error(e); - } - - // String home = new File(basedir, "target/tuscany").toString(); - // System.setProperty("TUSCANY_HOME", home); - // getLog().info(home); - try { - FelixOSGiHost host = new FelixOSGiHost(); - host.setActivator(new LauncherBundleActivator(jarFiles)); - BundleContext context = host.start(); - - for (Bundle b : context.getBundles()) { - if (getLog().isDebugEnabled()) { - getLog().debug(LauncherBundleActivator.toString(b, false)); - } - } - - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - URL[] urls = - new URL[] {new File(project.getBuild().getOutputDirectory()).toURI().toURL(), - new File(project.getBuild().getTestOutputDirectory()).toURI().toURL()}; - - URLClassLoader cl = new URLClassLoader(urls, tccl); - Thread.currentThread().setContextClassLoader(cl); - try { - runAllTestsFromDirs(cl, project.getBuild().getTestOutputDirectory()); - } finally { - Thread.currentThread().setContextClassLoader(tccl); - } - host.stop(); - } catch (Throwable e) { - throw new MojoExecutionException(e.getMessage(), e); - } - // finally { - // System.clearProperty("TUSCANY_HOME"); - // } - - } - - public void getTestCases(File dir, String prefix, HashSet<String> testCaseSet) { - File[] files = dir.listFiles(); - for (File file : files) { - if (file.isDirectory()) { - String newPrefix = prefix == null ? file.getName() : prefix + "." + file.getName(); - getTestCases(file, newPrefix, testCaseSet); - } else if (file.getName().endsWith("TestCase.class")) { - String name = file.getName(); - name = name.substring(0, name.length() - 6); // remove .class - name = (prefix == null) ? name : prefix + "." + name; - - testCaseSet.add(name); - } - } - } - - public void runAllTestsFromDirs(ClassLoader testClassLoader, String testDir) throws Exception { - - int failures = 0; - HashSet<String> testCaseSet = new HashSet<String>(); - getTestCases(new File(testDir), null, testCaseSet); - for (String className : testCaseSet) { - Class testClass = testClassLoader.loadClass(className); - failures += runTestCase(testClassLoader, testClass); - } - - Assert.assertEquals(0, failures); - - } - - /** - * Use java reflection to call JUNIT as the JUNIT might be in the bundles - * @param testClassLoader - * @param testClass - * @return - * @throws Exception - */ - public int runTestCase(ClassLoader testClassLoader, Class testClass) throws Exception { - - if (testClass.getName().endsWith("TestCase")) { - getLog().info("Running: " + testClass.getName()); - Class coreClass = Class.forName("org.junit.runner.JUnitCore", true, testClassLoader); - Object core = coreClass.newInstance(); - Class reqClass = Class.forName("org.junit.runner.Request", true, testClassLoader); - Method aClass = reqClass.getMethod("aClass", Class.class); - Object req = aClass.invoke(null, testClass); - Method run = coreClass.getMethod("run", reqClass); - Object result = run.invoke(core, req); - Object runs = result.getClass().getMethod("getRunCount").invoke(result); - Object ignores = result.getClass().getMethod("getIgnoreCount").invoke(result); - List failureList = (List)result.getClass().getMethod("getFailures").invoke(result); - - int failures = 0, errors = 0; - Class errorClass = Class.forName("junit.framework.AssertionFailedError", true, testClassLoader); - for (Object f : failureList) { - Object ex = f.getClass().getMethod("getException").invoke(f); - if (errorClass.isInstance(ex)) { - failures++; - } else { - errors++; - } - getLog().error((Throwable)ex); - } - - getLog().info("Test Runs: " + runs - + ", Failures: " - + failures - + ", Errors: " - + errors - + ", Ignores: " - + ignores); - - return failureList.size(); - - } - return 0; - - } - -} diff --git a/branches/sca-equinox/tools/maven/maven-web-junit/LICENSE b/branches/sca-equinox/tools/maven/maven-web-junit/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/tools/maven/maven-web-junit/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/tools/maven/maven-web-junit/NOTICE b/branches/sca-equinox/tools/maven/maven-web-junit/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/tools/maven/maven-web-junit/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/branches/sca-equinox/tools/maven/maven-web-junit/pom.xml b/branches/sca-equinox/tools/maven/maven-web-junit/pom.xml deleted file mode 100644 index 996f0e8026..0000000000 --- a/branches/sca-equinox/tools/maven/maven-web-junit/pom.xml +++ /dev/null @@ -1,52 +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-sca-maven-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-maven-web-junit</artifactId> - <packaging>maven-plugin</packaging> - <name>Apache Tuscany SCA Web JUnit Maven Plugin</name> - - <dependencies> - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpclient</artifactId> - <version>4.0-alpha2</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - <version>2.0.7</version> - </dependency> - - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-project</artifactId> - <version>2.0.7</version> - </dependency> - - </dependencies> -</project> diff --git a/branches/sca-equinox/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitGeneratorMojo.java b/branches/sca-equinox/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitGeneratorMojo.java deleted file mode 100644 index d1afe2c995..0000000000 --- a/branches/sca-equinox/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitGeneratorMojo.java +++ /dev/null @@ -1,181 +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.tools.sca.web.junit.plugin; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.project.MavenProject; - -/** - * @version $Rev$ $Date$ - * @goal generate - * @phase process-resources - * @requiresDependencyResolution runtime - * @description Generate the web.xml and geronimo-web.xml - */ -public class WebJUnitGeneratorMojo extends AbstractMojo { - private final static String ASL_HEADER = - "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "\n<!--" - + "\n * Licensed to the Apache Software Foundation (ASF) under one" - + "\n * or more contributor license agreements. See the NOTICE file" - + "\n * distributed with this work for additional information" - + "\n * regarding copyright ownership. The ASF licenses this file" - + "\n * to you under the Apache License, Version 2.0 (the" - + "\n * \"License\"); you may not use this file except in compliance" - + "\n * with the License. You may obtain a copy of the License at" - + "\n * " - + "\n * http://www.apache.org/licenses/LICENSE-2.0" - + "\n * " - + "\n * Unless required by applicable law or agreed to in writing," - + "\n * software distributed under the License is distributed on an" - + "\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY" - + "\n * KIND, either express or implied. See the License for the" - + "\n * specific language governing permissions and limitations" - + "\n * under the License. " - + "\n-->"; - - private final static String GERONIMO_WEB_XML = - ASL_HEADER + "\n<web-app xmlns=\"http://geronimo.apache.org/xml/ns/j2ee/web-2.0\"" - + "\n xmlns:d=\"http://geronimo.apache.org/xml/ns/deployment-1.2\">" - // + "\n <context-root>${context.root}</context-root>" - + "\n <d:environment>" - + "\n <d:moduleId>" - + "\n <d:groupId>${groupId}</d:groupId>" - + "\n <d:artifactId>${artifactId}</d:artifactId>" - + "\n <d:version>${version}</d:version>" - + "\n <d:type>war</d:type>" - + "\n </d:moduleId>" - + "\n <d:inverse-classloading />" - + "\n </d:environment>" - + "\n</web-app>\n"; - - private final static String WEB_XML = - ASL_HEADER + "\n<!DOCTYPE web-app PUBLIC \"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN\" \"http://java.sun.com/dtd/web-app_2_3.dtd\">" - + "\n<web-app>" - + "\n <display-name>${display-name}</display-name>" - + "\n <filter>" - + "\n <filter-name>tuscany</filter-name>" - + "\n <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>" - + "\n </filter>" - + "\n <filter>" - + "\n <filter-name>junit</filter-name>" - + "\n <filter-class>org.apache.tuscany.sca.host.webapp.junit.JUnitServletFilter</filter-class>" - + "\n <init-param>" - + "\n <param-name>junit.tests.path</param-name>" - + "\n <param-value>${junit.tests.path}</param-value>" - + "\n </init-param>" - + "\n </filter>" - + "\n <filter-mapping>" - + "\n <filter-name>tuscany</filter-name>" - + "\n <url-pattern>/*</url-pattern>" - + "\n </filter-mapping>" - + "\n <filter-mapping>" - + "\n <filter-name>junit</filter-name>" - + "\n <url-pattern>/junit/*</url-pattern>" - + "\n </filter-mapping>" - + "\n</web-app>\n"; - - /** - * @parameter - */ - private String testsPath; - - /** - * @parameter - */ - private boolean geronimo; - - /** - * The project to create a build for. - * - * @parameter expression="${project}" - * @required - * @readonly - */ - private MavenProject project; - - public void execute() throws MojoExecutionException { - File base = - new File(project.getBasedir(), "target" + File.separator - + project.getBuild().getFinalName() - + File.separator - + "WEB-INF"); - base.mkdirs(); - // Create the dir to work around the complaint from maven-war-plugin on non-existent folders - new File(project.getBasedir(), "target/classes/META-INF".replace('/', File.separatorChar)).mkdirs(); - File webxml = new File(base, "web.xml"); - getLog().info("Generating " + webxml.toString()); - - String name = project.getName(); - if (name == null) { - name = project.getGroupId() + "-" + project.getArtifactId(); - } - String content = setParameter(WEB_XML, "display-name", name); - - if (testsPath == null) { - testsPath = "/WEB-INF/classes/"; - } - content = setParameter(content, "junit.tests.path", testsPath); - - try { - FileWriter writer = new FileWriter(webxml); - writer.append(content); - writer.close(); - } catch (IOException e) { - throw new MojoExecutionException(e.getMessage(), e); - } - - if (geronimo) { - File geronimoxml = new File(base, "geronimo-web.xml"); - getLog().info("Generating " + geronimoxml.toString()); - content = setParameter(GERONIMO_WEB_XML, "groupId", project.getGroupId()); - content = setParameter(content, "artifactId", project.getArtifactId()); - content = setParameter(content, "version", project.getVersion()); - // content = setParameter(content, "context.root", "/" + project.getBuild().getFinalName()); - try { - geronimoxml.getParentFile().mkdirs(); - FileWriter writer = new FileWriter(geronimoxml); - writer.append(content); - writer.close(); - } catch (IOException e) { - throw new MojoExecutionException(e.getMessage(), e); - } - } - - // Workaround: maven-war-plugin doesn't like non-existing folders - // create target/test-classes - new File(project.getBasedir(), "target" + File.separator + "test-classes").mkdirs(); - - } - - private String setParameter(String xml, String name, String value) { - String pattern = "${" + name + "}"; - int index = xml.indexOf(pattern); - if (index != -1) { - String content = xml.substring(0, index) + value + xml.substring(index + pattern.length()); - return content; - } - return xml; - } - -} diff --git a/branches/sca-equinox/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitMojo.java b/branches/sca-equinox/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitMojo.java deleted file mode 100644 index 658d65d7c3..0000000000 --- a/branches/sca-equinox/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitMojo.java +++ /dev/null @@ -1,205 +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.tools.sca.web.junit.plugin; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; - -import org.apache.commons.logging.LogFactory; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.HttpStatus; -import org.apache.http.StatusLine; -import org.apache.http.client.HttpClient; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.project.MavenProject; - -/** - * @version $Rev$ $Date$ - * @goal test - * @phase integration-test - * @requiresDependencyResolution test - * @description Run the unit test over HTTP - */ -public class WebJUnitMojo extends AbstractMojo { - /** - * The project to create a build for. - * - * @parameter expression="${project}" - * @required - * @readonly - */ - private MavenProject project; - - /** - * The test cases to run - * @parameter - */ - private String testCases[]; - - /** - * The URL for the web site - * @parameter - */ - private String url; - - /** - * Timeout for the HTTP connection - * @parameter - */ - private int timeout = 300000; // 5 minutes - - /** - * To avoid throwing exceptions because we want the stop container plugin to be executed - * @parameter - */ - private boolean ignoreErrors = true; - - public void execute() throws MojoExecutionException { - if (project.getPackaging().equals("pom")) { - return; - } - - reset(); - - if (url == null) { - url = "http://localhost:8080/" + project.getBuild().getFinalName() + "/junit?op=runAll"; - } - - if (testCases != null) { - StringBuffer buf = new StringBuffer(url); - for (int i = 0; i < testCases.length; i++) { - if (i == 0) { - buf.append('?'); - } - buf.append(testCases[i]); - if (i != testCases.length - 1) { - buf.append(','); - } - } - url = buf.toString(); - } - - getLog().info("Connecting to " + url); - - int runs = 0, errors = 0, failures = 0; - String xml = ""; - - try { - HttpClient client = new DefaultHttpClient(); - HttpGet httpget = new HttpGet(url); - httpget.getParams().setParameter("http.socket.timeout", new Integer(timeout)); - - // Execute HTTP request - HttpResponse response = client.execute(httpget); - - StatusLine status = response.getStatusLine(); - if (status.getStatusCode() != HttpStatus.SC_OK) { - if (!ignoreErrors) { - throw new MojoExecutionException(status.getStatusCode() + ": " + status.getReasonPhrase()); - } - getLog().error(status.getStatusCode() + ": " + status.getReasonPhrase()); - return; - } - Header header = response.getFirstHeader("junit.errors"); - errors = header == null ? 0 : Integer.parseInt(header.getValue()); - header = response.getFirstHeader("junit.failures"); - failures = header == null ? 0 : Integer.parseInt(header.getValue()); - header = response.getFirstHeader("junit.runs"); - runs = header == null ? 0 : Integer.parseInt(header.getValue()); - getLog().info("Runs: " + runs + ", Failures: " + failures + ", Errors: " + errors); - - // Get hold of the response entity - HttpEntity entity = response.getEntity(); - - // If the response does not enclose an entity, there is no need - // to bother about connection release - if (entity != null) { - BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent())); - try { - StringBuffer sb = new StringBuffer(); - while (true) { - String line = reader.readLine(); - if (line == null) { - break; - } - sb.append(line); - } - xml = sb.toString(); - getLog().debug(xml); - - } catch (IOException ex) { - - // In case of an IOException the connection will be released - // back to the connection manager automatically - throw ex; - - } catch (RuntimeException ex) { - - // In case of an unexpected exception you may want to abort - // the HTTP request in order to shut down the underlying - // connection and release it back to the connection manager. - httpget.abort(); - throw ex; - - } finally { - - // Closing the input stream will trigger connection release - reader.close(); - - } - - } - } catch (Exception e) { - if (!ignoreErrors) { - throw new MojoExecutionException(e.getMessage(), e); - } - getLog().error(e); - } - if (errors != 0 || failures != 0) { - if (!ignoreErrors) { - throw new MojoExecutionException(xml); - } - getLog().error(xml); - } - - } - - /** - * A workaround to avoid logging conflict with Geronimo - */ - private static void reset() { - LogFactory.releaseAll(); - - // Restore a reasonable default log impl - System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog"); - - // Make SimpleLog look more like Maven logs - System.setProperty("org.apache.commons.logging.simplelog.showShortLogname", "false"); - - // Restore default Geronimo bootstrap behavior - System.getProperties().remove("geronimo.bootstrap.logging.enabled"); - } - -} diff --git a/branches/sca-equinox/tools/maven/maven-wsdl2java/LICENSE b/branches/sca-equinox/tools/maven/maven-wsdl2java/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/maven/maven-wsdl2java/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/maven/maven-wsdl2java/NOTICE b/branches/sca-equinox/tools/maven/maven-wsdl2java/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/maven/maven-wsdl2java/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/branches/sca-equinox/tools/maven/maven-wsdl2java/pom.xml b/branches/sca-equinox/tools/maven/maven-wsdl2java/pom.xml deleted file mode 100644 index f46aed7b8e..0000000000 --- a/branches/sca-equinox/tools/maven/maven-wsdl2java/pom.xml +++ /dev/null @@ -1,45 +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-sca-maven-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-maven-wsdl2java</artifactId> - <packaging>maven-plugin</packaging> - <name>Apache Tuscany SCA WSDL2Java Maven Plugin</name> - - <dependencies> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - <version>2.0</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-wsdl2java</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - </dependencies> -</project> diff --git a/branches/sca-equinox/tools/maven/maven-wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/plugin/WSDL2JavaGeneratorMojo.java b/branches/sca-equinox/tools/maven/maven-wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/plugin/WSDL2JavaGeneratorMojo.java deleted file mode 100644 index 8021692521..0000000000 --- a/branches/sca-equinox/tools/maven/maven-wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/plugin/WSDL2JavaGeneratorMojo.java +++ /dev/null @@ -1,152 +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.tools.wsdl2java.plugin; - -import java.io.File; -import java.io.FileFilter; -import java.io.IOException; -import java.util.List; - -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.tuscany.tools.wsdl2java.generate.WSDL2JavaGenerator; - -/** - * @version $Rev$ $Date$ - * @goal generate - * @phase generate-sources - * @description Generate SDO interface classes from an XML Schema - */ -public class WSDL2JavaGeneratorMojo extends AbstractMojo { - /** - * The directory containing WSDL files; defaults to ${basedir}/src/main/wsdl - * @parameter expression="${basedir}/src/main/wsdl" - */ - private String wsdlDir; - - /** - * Name of the WSDL file; if omitted all files in the directory are processed - * @parameter - */ - private File wsdlFile; - - /** - * The Java package to generate into. By default the value is derived from the schema URI. - * - * @parameter - */ - private String javaPackage; - - /** - * The directory to generate into; defaults to ${project.build.directory}/wsdl2java-source - * - * @parameter expression="${project.build.directory}/wsdl2java-source" - */ - private String targetDirectory; - - /** - * The directory to generate into; defaults to ${project.build.directory}/wsdl2java-source - * - * @parameter - */ - private WSDLFileOption[] wsdlFiles; - - /** - * @parameter expression="${project.compileSourceRoots}" - * @readonly - */ - private List compilerSourceRoots; - - public void execute() throws MojoExecutionException { - - if(null != wsdlFiles){ - for(int i=0; i< wsdlFiles.length ; ++i ){ - System.err.println("wsdlFiles" + wsdlFiles[i].getFileName()); - WSDLFileOption wf = wsdlFiles[i]; - - if(null == wf.getTargetDirectory()) - wf.setTargetDirectory(targetDirectory); - if(null == wf.getJavaPackage()){ - wf.setJavaPackage(javaPackage); - } - if(wf.getFileName() == null || wf.getFileName().length() ==0){ - throw new MojoExecutionException("no fileName specfied for wsdl."); - } - if(!wf.getFileName().canRead() || !wf.getFileName().isFile()){ - - throw new MojoExecutionException("file can not be read:"+wf.getFileName()); - } - - } - }else{ - - - - if (wsdlFile == null) { - - File[] files = new File(wsdlDir).listFiles(FILTER); - - wsdlFiles= new WSDLFileOption[files.length]; - for(int i= files.length -1; i> -1; --i){ - - - wsdlFiles[i] = new WSDLFileOption(); - wsdlFiles[i].setFileName(files[i]); - wsdlFiles[i].setJavaPackage(javaPackage); - wsdlFiles[i].setPorts(null); - wsdlFiles[i].setTargetDirectory(targetDirectory); - - - } - - } else { - wsdlFiles= new WSDLFileOption[]{new WSDLFileOption()}; - wsdlFiles[0].setFileName(wsdlFile); - wsdlFiles[0].setJavaPackage(javaPackage); - wsdlFiles[0].setPorts(null); - wsdlFiles[0].setTargetDirectory(targetDirectory); - } - } - - int genOptions = 0; - - for (int i = 0; i < wsdlFiles.length; i++) { - File file = wsdlFiles[i].getFileName(); - File marker = new File(targetDirectory, ".gen#" + file.getName()+".wsdl2java"); - if (file.lastModified() > marker.lastModified()) { - getLog().info("Generating Java service interfaces from " + file); - WSDL2JavaGenerator.generateFromWSDL(file.toString(), wsdlFiles[i].getPorts(), wsdlFiles[i].getTargetDirectory(), wsdlFiles[i].getJavaPackage(), null, genOptions); - } - try { - marker.createNewFile(); - } catch (IOException e) { - throw new MojoExecutionException(e.getMessage(), e); - } - marker.setLastModified(System.currentTimeMillis()); - } - - compilerSourceRoots.add(targetDirectory); - } - - private static final FileFilter FILTER = new FileFilter() { - public boolean accept(File pathname) { - return (pathname.isFile() || !pathname.isHidden()); - } - }; -}
\ No newline at end of file diff --git a/branches/sca-equinox/tools/maven/maven-wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/plugin/WSDLFileOption.java b/branches/sca-equinox/tools/maven/maven-wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/plugin/WSDLFileOption.java deleted file mode 100644 index cc10c351b1..0000000000 --- a/branches/sca-equinox/tools/maven/maven-wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/plugin/WSDLFileOption.java +++ /dev/null @@ -1,92 +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.tools.wsdl2java.plugin; - -import java.io.File; - -public class WSDLFileOption { - /** - * Name of the WSDL file; if omitted all files in the directory are processed - * - */ - private File fileName; - - /** - * The Java package to generate into. By default the value is derived from the schema URI. - * - * - */ - private String javaPackage; - - /** - * The directory to generate into; defaults to ${project.build.directory}/wsdl2java-source - * - * - */ - private String targetDirectory; - - /** - * @parameter expression="${project.compileSourceRoots}" - * @readonly - */ - - private String ports[]; - - /** - * @parameter expression="${project.compileSourceRoots}" - * @readonly - */ - - - public WSDLFileOption(){} - - public String getJavaPackage() { - return javaPackage; - } - - public void setJavaPackage(String javaPackage) { - this.javaPackage = javaPackage; - } - - - public String[] getPorts() { - return ports; - } - - public void setPorts(String[] ports) { - this.ports = ports; - } - - public String getTargetDirectory() { - return targetDirectory; - } - - public void setTargetDirectory(String targetDirectory) { - this.targetDirectory = targetDirectory; - } - - public File getFileName() { - return fileName; - } - - public void setFileName(File fileName) { - this.fileName = fileName; - } - -} diff --git a/branches/sca-equinox/tools/maven/pom.xml b/branches/sca-equinox/tools/maven/pom.xml deleted file mode 100644 index e216c6e4d9..0000000000 --- a/branches/sca-equinox/tools/maven/pom.xml +++ /dev/null @@ -1,61 +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-sca-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <packaging>pom</packaging> - <artifactId>tuscany-sca-maven-tools</artifactId> - <name>Apache Tuscany SCA Maven Tools</name> - - <profiles> - <profile> - <id>default</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <modules> - <module>maven-ant-generator</module> - <module>maven-bundle-plugin</module> - <module>maven-dependency-lister</module> - <module>maven-eclipse-compiler</module> - <module>maven-incremental-build</module> - <module>maven-java2wsdl</module> - <module>maven-web-junit</module> - <module>maven-wsdl2java</module> - </modules> - </profile> - </profiles> - - <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.2</version> - <scope>test</scope> - </dependency> - </dependencies> - -</project> diff --git a/branches/sca-equinox/tools/pom.xml b/branches/sca-equinox/tools/pom.xml deleted file mode 100644 index 6dabf18525..0000000000 --- a/branches/sca-equinox/tools/pom.xml +++ /dev/null @@ -1,46 +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-sca</artifactId>
- <version>1.4-EQUINOX-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-sca-tools</artifactId>
- <packaging>pom</packaging>
- <name>Apache Tuscany SCA Tools</name>
-
- <profiles>
- <profile>
- <id>default</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>eclipse</module>
- <module>maven</module>
- <module>sdo</module>
- </modules>
- </profile>
- </profiles>
-
-</project>
diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/LICENSE b/branches/sca-equinox/tools/sdo/java2wsdl/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/NOTICE b/branches/sca-equinox/tools/sdo/java2wsdl/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/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/branches/sca-equinox/tools/sdo/java2wsdl/pom.xml b/branches/sca-equinox/tools/sdo/java2wsdl/pom.xml deleted file mode 100644 index b46f14c5fe..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/pom.xml +++ /dev/null @@ -1,186 +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-sca-sdo-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-java2wsdl</artifactId> - <name>Apache Tuscany SCA Java2WSDL Tool</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sdo</groupId> - <artifactId>tuscany-sdo-impl</artifactId> - <version>1.1.1</version> - <exclusions> - <exclusion> - <groupId>stax</groupId> - <artifactId>stax-api</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-api</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-databinding</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>javax.xml.stream</groupId> - <artifactId>stax-api</artifactId> - <version>1.0-2</version> - </dependency> - - <dependency> - <groupId>wsdl4j</groupId> - <artifactId>wsdl4j</artifactId> - <version>1.6.2</version> - </dependency> - - <dependency> - <groupId>org.apache.neethi</groupId> - <artifactId>neethi</artifactId> - <version>2.0.4</version> - <exclusions> - <exclusion> - <groupId>wsdl4j</groupId> - <artifactId>wsdl4j</artifactId> - </exclusion> - <exclusion> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.apache.axis2</groupId> - <artifactId>axis2-java2wsdl</artifactId> - <version>1.4.1</version> - <exclusions> - <exclusion> - <groupId>org.apache.ant</groupId> - <artifactId>ant</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.apache.axis2</groupId> - <artifactId>axis2-codegen</artifactId> - <version>1.4.1</version> - <exclusions> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-activation_1.1_spec</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.emf</groupId> - <artifactId>codegen</artifactId> - <version>2.2.3</version> - </dependency> - - <dependency> - <groupId>org.eclipse.emf</groupId> - <artifactId>codegen-ecore</artifactId> - <version>2.2.3</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.5</version> - <scope>test</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - <version>1.0</version> - <executions> - <execution> - <id>add-test-source</id> - <phase>generate-sources</phase> - <goals> - <goal>add-test-source</goal> - </goals> - <configuration> - <sources> - <source>target/sdo-source</source> - </sources> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.tuscany.sdo</groupId> - <artifactId>tuscany-sdo-plugin</artifactId> - <version>1.1.1</version> - <executions> - <execution> - <id>generate-sdo</id> - <phase>generate-sources</phase> - <configuration> - <schemaFile>${basedir}/src/test/resources/CreditScoreDocLit.wsdl - </schemaFile> - <javaPackage>org.example.creditscore.doclit</javaPackage> - <noNotification>true</noNotification> - <noContainer>true</noContainer> - <noUnsettable>true</noUnsettable> - </configuration> - <goals> - <goal>generate</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <repositories> - <repository> - <!-- temporarily using indiana state univ as eclipse site diesnt have 2.2.2 at the moment --> - <id>indiana</id> - <url>http://ftp.ussg.iu.edu/eclipse/modeling/emf/emf/maven2/ - </url> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - </repositories> -</project> diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/GenerationParameters.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/GenerationParameters.java deleted file mode 100644 index 60afe70534..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/GenerationParameters.java +++ /dev/null @@ -1,423 +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.tools.java2wsdl.generate; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.Hashtable; -import java.util.Map; - -import org.apache.axis2.description.java2wsdl.Java2WSDLUtils; -import org.apache.ws.java2wsdl.utils.Java2WSDLCommandLineOption; - -/** - * This class encapsulates the parameters that effect the generation of the WSDL. For example they contain all user settings such as source class, - * target location etc. - * - */ -public class GenerationParameters implements TuscanyJava2WSDLConstants { - public static final String WSDL_FILENAME_SUFFIX = ".wsdl"; - - public static final String XSD_IMPORT_DELIMITER = "[,]"; - - private Map cmdLineOptions = null; - - private File outputFile = null; - - private FileOutputStream outputFileStream = null; - - private String sourceClassName = null; - - private ArrayList extraClasses; - - private ArrayList factoryClassNames; - - private String attrFormDefault = null; - - private String elementFormDefault = null; - - private String targetNamespace = null; - - private String targetNamespacePrefix = null; - - private String schemaTargetNamespace = null; - - private String schemaTargetNamespacePrefix = null; - - private String outputFileName = null; - - private ClassLoader classLoader = null; - - private String serviceName = null; - - private String style = DOCUMENT; - - private String use = LITERAL; - - private String locationUri = DEFAULT_LOCATION_URL; - - private Map schemaLocationMap = null; - - public GenerationParameters(Map cmdLineOptions) throws Exception { - this.cmdLineOptions = cmdLineOptions; - loadParameters(); - } - - protected void loadParameters() throws Exception { - initializeSourceClassName(); - resolveFileOutputStream(); - resolveClassLoader4InputClasspath(); - loadSchemaLocationMap(); - initializeOtherParams(); - } - - private Java2WSDLCommandLineOption loadOption(String shortOption, String longOption) { - // short option gets precedence - Java2WSDLCommandLineOption option = null; - if (longOption != null) { - option = (Java2WSDLCommandLineOption) cmdLineOptions.get(longOption); - if (option != null) { - return option; - } - } - if (shortOption != null) { - option = (Java2WSDLCommandLineOption) cmdLineOptions.get(shortOption); - } - - return option; - } - - protected void initializeSourceClassName() throws Exception { - Java2WSDLCommandLineOption option = loadOption(CLASSNAME_OPTION, CLASSNAME_OPTION_LONG); - sourceClassName = option == null ? null : option.getOptionValue(); - - if (sourceClassName == null || sourceClassName.equals("")) { - throw new Exception("class name must be present!"); - } - } - - /** - * @throws Exception - */ - protected void resolveFileOutputStream() throws Exception { - File outputFolder; - Java2WSDLCommandLineOption option = loadOption(OUTPUT_LOCATION_OPTION, OUTPUT_LOCATION_OPTION_LONG); - String outputFolderName = option == null ? System.getProperty("user.dir") : option.getOptionValue(); - - outputFolder = new File(outputFolderName); - if (!outputFolder.exists()) { - outputFolder.mkdirs(); - } else if (!outputFolder.isDirectory()) { - throw new Exception("The specified location " + outputFolderName + "is not a folder"); - } - - option = loadOption(OUTPUT_FILENAME_OPTION, OUTPUT_FILENAME_OPTION_LONG); - String outputFileName = option == null ? null : option.getOptionValue(); - // derive a file name from the class name if the filename is not specified - if (outputFileName == null) { - outputFileName = Java2WSDLUtils.getSimpleClassName(sourceClassName) + WSDL_FILENAME_SUFFIX; - } - - // first create a file in the given location - File outputFile = new File(outputFolder, outputFileName); - try { - if (!outputFile.exists()) { - outputFile.createNewFile(); - } - outputFileStream = new FileOutputStream(outputFile); - } catch (IOException e) { - throw new Exception(e); - } - } - - protected void addToSchemaLocationMap(String optionValue) throws Exception { - // option value will be of the form [namespace, schemalocation] - // hence we take the two substrings starting after '[' and upto ',' and - // starting after ',' and upto ']' - getSchemaLocationMap().put(optionValue.substring(1, optionValue.indexOf(COMMA)), - optionValue.substring(optionValue.indexOf(COMMA) + 1, optionValue.length() - 1)); - } - - protected void loadSchemaLocationMap() throws Exception { - Java2WSDLCommandLineOption option = loadOption(IMPORT_XSD_OPTION, IMPORT_XSD_OPTION_LONG); - - if (option != null) { - ArrayList optionValues = option.getOptionValues(); - - for (int count = 0; count < optionValues.size(); ++count) { - addToSchemaLocationMap(((String) optionValues.get(count)).trim()); - } - } - } - - protected void resolveClassLoader4InputClasspath() throws Exception { - URL[] urls = null; - Java2WSDLCommandLineOption option = loadOption(CLASSPATH_OPTION, CLASSPATH_OPTION_LONG); - - if (option != null) { - ArrayList optionValues = option.getOptionValues(); - urls = new URL[optionValues.size()]; - String[] classPathEntries = (String[]) optionValues.toArray(new String[optionValues.size()]); - - try { - for (int i = 0; i < classPathEntries.length; i++) { - String classPathEntry = classPathEntries[i]; - // this should be a file(or a URL) - if (Java2WSDLUtils.isURL(classPathEntry)) { - urls[i] = new URL(classPathEntry); - } else { - urls[i] = new File(classPathEntry).toURL(); - } - } - } catch (MalformedURLException e) { - throw new Exception(e); - } - - } else { - //Default to pwd - urls = new URL[1]; - File pwd = new File("."); - urls[0] = pwd.toURL(); - } - - classLoader = new URLClassLoader(urls, Thread.currentThread().getContextClassLoader()); - } - - protected void initializeOtherParams() { - // set the other parameters to the builder - Java2WSDLCommandLineOption option = - loadOption(SCHEMA_TARGET_NAMESPACE_OPTION, SCHEMA_TARGET_NAMESPACE_OPTION_LONG); - schemaTargetNamespace = (option == null) ? null : option.getOptionValue(); - - option = loadOption(SCHEMA_TARGET_NAMESPACE_PREFIX_OPTION, SCHEMA_TARGET_NAMESPACE_PREFIX_OPTION_LONG); - schemaTargetNamespacePrefix = (option == null) ? null : option.getOptionValue(); - - option = loadOption(TARGET_NAMESPACE_OPTION, TARGET_NAMESPACE_OPTION_LONG); - targetNamespace = (option == null) ? null : option.getOptionValue(); - - option = loadOption(TARGET_NAMESPACE_PREFIX_OPTION, TARGET_NAMESPACE_PREFIX_OPTION_LONG); - targetNamespacePrefix = (option == null) ? null : option.getOptionValue(); - - option = loadOption(SERVICE_NAME_OPTION, SERVICE_NAME_OPTION_LONG); - serviceName = (option == null) ? Java2WSDLUtils.getSimpleClassName(sourceClassName) : option.getOptionValue(); - - option = loadOption(STYLE_OPTION, STYLE_OPTION); - style = (option == null) ? null : option.getOptionValue(); - - option = loadOption(LOCATION_OPTION, LOCATION_OPTION); - locationUri = (option == null) ? null : option.getOptionValue(); - - option = loadOption(USE_OPTION, USE_OPTION); - use = (option == null) ? null : option.getOptionValue(); - - option = loadOption(ATTR_FORM_DEFAULT_OPTION, ATTR_FORM_DEFAULT_OPTION_LONG); - attrFormDefault = (option == null) ? null : option.getOptionValue(); - - option = loadOption(ELEMENT_FORM_DEFAULT_OPTION, ELEMENT_FORM_DEFAULT_OPTION_LONG); - elementFormDefault = option == null ? null : option.getOptionValue(); - - option = loadOption(TuscanyJava2WSDLConstants.EXTRA_CLASSES_DEFAULT_OPTION, TuscanyJava2WSDLConstants.EXTRA_CLASSES_DEFAULT_OPTION_LONG); - extraClasses = option == null ? new ArrayList() : option.getOptionValues(); - - option = loadOption(TuscanyJava2WSDLConstants.FACTORY_CLASSNAMES_OPTION, TuscanyJava2WSDLConstants.FACTORY_CLASSNAMES_OPTION_LONG); - factoryClassNames = option == null ? new ArrayList() : option.getOptionValues(); - } - - public ClassLoader getClassLoader() { - return classLoader; - } - - public void setClassLoader(ClassLoader classLoader) { - this.classLoader = classLoader; - } - - public String getLocationUri() { - if (locationUri == null) { - locationUri = DEFAULT_LOCATION_URL; - } - return locationUri; - } - - public void setLocationUri(String locationUri) { - this.locationUri = locationUri; - } - - public FileOutputStream getOutputFileStream() { - return outputFileStream; - } - - public void setOutputFileStream(FileOutputStream outputFileStream) { - this.outputFileStream = outputFileStream; - } - - public String getSchemaTargetNamespace() throws Exception { - if (schemaTargetNamespace == null || schemaTargetNamespace.trim().equals("")) { - // This amounts to assuming we want the wrapper elements in the same TNS - // as the WSDL definitions. - // - // If the user neither specifies a TNS nor a SchemaTNS then both of these two - // will continue to default to the same NS calculated from the input class' package name. - // - // The wrapper elements aren't really interesting outside the context of the WSDL types - // section, so it seems reasonable to think that a user who cares to select a non-default - // TNS for the WSDL definitions might want the wrapper elements defined in that same - // NS. - // - // The user can always override this default. - - this.schemaTargetNamespace = this.getTargetNamespace(); - } - return schemaTargetNamespace; - } - - public void setSchemaTargetNamespace(String schemaTargetNamespace) { - this.schemaTargetNamespace = schemaTargetNamespace; - } - - public String getSchemaTargetNamespacePrefix() { - if (schemaTargetNamespacePrefix == null || schemaTargetNamespacePrefix.trim().equals("")) { - this.schemaTargetNamespacePrefix = SCHEMA_NAMESPACE_PRFIX; - } - - return schemaTargetNamespacePrefix; - } - - public void setSchemaTargetNamespacePrefix(String schemaTargetNamespacePrefix) { - this.schemaTargetNamespacePrefix = schemaTargetNamespacePrefix; - } - - public String getServiceName() { - if (serviceName == null) { - serviceName = Java2WSDLUtils.getSimpleClassName(getSourceClassName()); - } - return serviceName; - } - - public void setServiceName(String serviceName) { - this.serviceName = serviceName; - } - - public String getSourceClassName() { - return sourceClassName; - } - - public void setSourceClassName(String sourceClassName) { - this.sourceClassName = sourceClassName; - } - - public String getStyle() { - if (style == null) { - style = DOCUMENT; - } - return style; - } - - public void setStyle(String style) { - this.style = style; - } - - public String getTargetNamespace() throws Exception { - if (targetNamespace == null) { - targetNamespace = Java2WSDLUtils.namespaceFromClassName(this.sourceClassName, this.classLoader).toString(); - } - return targetNamespace; - } - - public void setTargetNamespace(String targetNamespace) { - this.targetNamespace = targetNamespace; - } - - public String getTargetNamespacePrefix() { - return targetNamespacePrefix; - } - - public void setTargetNamespacePrefix(String targetNamespacePrefix) { - this.targetNamespacePrefix = targetNamespacePrefix; - } - - public String getUse() { - if (use == null) { - use = LITERAL; - } - return use; - } - - public void setUse(String use) { - this.use = use; - } - - public Map getSchemaLocationMap() { - if (schemaLocationMap == null) { - schemaLocationMap = new Hashtable(); - } - return schemaLocationMap; - } - - public void setSchemaLocationMap(Map schemaLocationMap) { - this.schemaLocationMap = schemaLocationMap; - } - - public String getAttrFormDefault() { - if (attrFormDefault == null) { - attrFormDefault = FORM_DEFAULT_UNQUALIFIED; - } - return attrFormDefault; - } - - public void setAttrFormDefault(String attrFormDefault) { - this.attrFormDefault = attrFormDefault; - } - - public String getElementFormDefault() { - if (elementFormDefault == null) { - elementFormDefault = FORM_DEFAULT_QUALIFIED; - } - return elementFormDefault; - } - - public void setElementFormDefault(String elementFormDefault) { - this.elementFormDefault = elementFormDefault; - } - - public ArrayList getExtraClasses() { - return extraClasses; - } - - public void setExtraClasses(ArrayList extraClasses) { - this.extraClasses = extraClasses; - } - - public ArrayList getFactoryClassNames() { - return factoryClassNames; - } - - public void setFactoryClassNames(ArrayList factoryClassNames) { - this.factoryClassNames = factoryClassNames; - } - - // Not a command-line parameter, but will be useful for printing status message - protected File getOutputFile() { - return outputFile; - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDL.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDL.java deleted file mode 100644 index a890dd624d..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDL.java +++ /dev/null @@ -1,82 +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.tools.java2wsdl.generate; - -import org.apache.ws.java2wsdl.utils.Java2WSDLCommandLineOptionParser; - -/** - * This class provides the tooling abstraction to Tuscany Java2WSDL and can be - * invoked from command line with the following options as with Axis2 Java2WSDL - */ -public class Java2WSDL { - /** - * @param args - */ - public static void main(String[] args) { - // parse the cmd line args - Java2WSDLCommandLineOptionParser commandLineOptionParser = new Java2WSDLCommandLineOptionParser(args); - - // validate the arguments - validateCommandLineOptions(commandLineOptionParser); - - Java2WSDLGeneratorFactory.getInstance().createGenerator().generateWSDL(commandLineOptionParser.getAllOptions()); - - // Uncomment the following statement to directly run the Axis2 tool - // without - // runAxis2Tool(args); - } - - private static void runAxis2Tool(String[] args) { - org.apache.ws.java2wsdl.Java2WSDL.main(args); - } - - private static void validateCommandLineOptions(Java2WSDLCommandLineOptionParser parser) { - if (parser.getAllOptions().size() == 0) { - printUsage(); - } else if (parser.getInvalidOptions(new TuscanyJava2WSDLOptionsValidator()).size() > 0) { - printUsage(); - } - - } - - public static void printUsage() { - System.out.println("Usage java2wsdl -cn <fully qualified class name> : class file name"); - System.out.println("-o <output Location> : output file location"); - System.out.println("-cp <class path uri> : list of classpath entries - (urls)"); - System.out.println("-tn <target namespace> : target namespace"); - System.out.println("-tp <target namespace prefix> : target namespace prefix"); - System.out.println("-stn <schema target namespace> : target namespace for schema"); - System.out.println("-stp <schema target namespace prefix> : target namespace prefix for schema"); - System.out.println("-sn <service name> : service name"); - System.out.println("-of <output file name> : output file name for the WSDL"); - System.out.println("-st <binding style> : style for the WSDL"); - System.out.println("-u <binding use> : use for the WSDL"); - System.out.println("-l <soap address> : address of the port for the WSDL"); - System.out - .println("-ixsd [<schema namespace 1>,<schema loc 1>] [<schema namespace 2>,<schema loc 2>] ... [<schema namespace N>,<schema loc N>] : schemas to be imported (without a comma in between brackets)"); - System.out.println("-efd <unqualified> : Setting for elementFormDefault (defaults to qualified)"); - System.out.println("-afd <unqualified> : Setting for attributeFormDefault (defaults to qualified)"); - System.out - .println("-fcn <Generated SDO Factory classname 1> <Generated SDO Factory classname 2> ... <Generated SDO Factory classname N> (without a comma in between) "); - - System.out - .println("-xc <extra class> : Extra class for which schematype must be generated. " + "\t\tUse as : -xc class1 -xc class2 ..."); - System.exit(0); - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGenerator.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGenerator.java deleted file mode 100644 index 9c8ff9df9e..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGenerator.java +++ /dev/null @@ -1,46 +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.tools.java2wsdl.generate; - -import java.io.OutputStream; -import java.util.Map; - -/** - * This is the Java2WSDL Generator facade that will be used by Tuscany - * components for Java to WSDL conversion. - * - */ -public interface Java2WSDLGenerator { - public void generateWSDL(String[] args); - - public void generateWSDL(Map commandLineOptions); - - public void addWSDLGenListener(WSDLGenListener l); - - public void removeWSDLGenListener(WSDLGenListener l); - - public Map getCommandLineOptions(); - - public void setCommandLineOptoins(Map cmdLineOpts); - - public OutputStream getOutputStream(); - - public void setOutputStream(OutputStream outStream); - -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGeneratorFactory.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGeneratorFactory.java deleted file mode 100644 index e8f3db95b0..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGeneratorFactory.java +++ /dev/null @@ -1,89 +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.tools.java2wsdl.generate; - -import java.util.Vector; - -/** - * Factory that creates Java2WSDL Generators. Presently the there is a Default - * Generator that wraps around the AXIS2 Java2WSDL implementation. The factory - * can be extended to create generators that wrap around other implementations - * if required. - */ - -public class Java2WSDLGeneratorFactory { - /* - * singleton instance of this factory class - */ - private static Java2WSDLGeneratorFactory factory = null; - - /** - * code for the default generator - */ - public static final int DEFAULT_GENERATOR = 0; - - /** - * Default Generator class name - */ - public static final String DEFAULT_GENERATOR_CLASSNAME = "org.apache.tuscany.tools.java2wsdl.generate.Java2WSDLGeneratorImpl"; - - /** - * list of generator classnames in a position that corresponds to their - * code. For example the default generator's code is 0 and hence this - * generator's classname is stored at index '0' of the list - */ - protected Vector<String> generatorClassNames = new Vector<String>(); - - /** - * @return the singleton instance of this generator factory - */ - public static Java2WSDLGeneratorFactory getInstance() { - if (factory == null) { - factory = new Java2WSDLGeneratorFactory(); - } - return factory; - } - - private Java2WSDLGeneratorFactory() { - generatorClassNames.addElement(DEFAULT_GENERATOR_CLASSNAME); - } - - public Java2WSDLGenerator createGenerator() { - return createGenerator(DEFAULT_GENERATOR); - } - - /** - * creates an instance of a Java2WSDL Generator based on the input type - * - * @param genType - * type of the generator to be created - * @return an instance of a Java2WSDL Generator - */ - public Java2WSDLGenerator createGenerator(int genType) { - try { - return (Java2WSDLGenerator) (Class.forName(generatorClassNames - .elementAt(genType)).newInstance()); - } catch (Exception e) { - System.out - .println(" Unable to create Java2WSDL generator due to ....."); - System.out.println(e); - return null; - } - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGeneratorImpl.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGeneratorImpl.java deleted file mode 100644 index bce30a48d3..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/Java2WSDLGeneratorImpl.java +++ /dev/null @@ -1,238 +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.tools.java2wsdl.generate; - -import java.io.OutputStream; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Vector; - -import org.apache.axiom.om.OMElement; -import org.apache.ws.java2wsdl.Java2WSDL; -import org.apache.ws.java2wsdl.utils.Java2WSDLCommandLineOption; -import org.apache.ws.java2wsdl.utils.Java2WSDLCommandLineOptionParser; -import org.apache.ws.java2wsdl.utils.Java2WSDLOptionsValidator; -import org.apache.xml.serialize.OutputFormat; -import org.apache.xml.serialize.XMLSerializer; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * This is an implementation of the Java2WSDLGenerator facade. This - * implementation is a decorator around the Axis2 implementation of the - * Java2WSDL conversion. The WSDL generation is divided into phases that are - * stringed up as a template method. The phases are - User Input Validation - - * WSDL Java Model Generation - Serialization of WSDL Java Model The function of - * each phase is accomplished by delegation to the appropriate classes in Axis2. - * At the start and end of each phase an event is published to subscribers - * denoting the start and end of the phase. Such a splitting up of the Java2WSDL - * conversion into phases has been designed to enable interceptors to modify the - * model or apply transformations to the output. Typically the interceptors can - * subscribe to the start and end events of these phases and hence be able to - * intercept. Note: This class contains substantial AXIS2 Java2WSDL code - * refactored into it. These will be removed as and when the Axis2 code is - * fixed. - */ -public class Java2WSDLGeneratorImpl implements Java2WSDLGenerator, TuscanyJava2WSDLConstants { - private List<WSDLGenListener> genPhaseListeners = new Vector<WSDLGenListener>(); - private GenerationParameters genParams = null; - private Map<String, Java2WSDLCommandLineOption> commandLineOptions = null; - private TuscanyJava2WSDLBuilder java2WsdlBuilder; - private OutputStream outputStream = null; - - public Java2WSDLGeneratorImpl() { - - } - - private void multicastGenPhaseCompletionEvent(int genPhase) { - WSDLGenEvent event = new WSDLGenEvent(this, genPhase); - Iterator iterator = genPhaseListeners.iterator(); - while (iterator.hasNext()) { - ((WSDLGenListener)iterator.next()).WSDLGenPhaseCompleted(event); - } - } - - private void initJava2WSDLBuilder() throws Exception { - // Now we are done with loading the basic values - time to create the - // builder - java2WsdlBuilder = new TuscanyJava2WSDLBuilder(genParams); - } - - protected boolean validateInputArgs(String[] args) { - boolean isValid = true; - Java2WSDLCommandLineOptionParser parser = new Java2WSDLCommandLineOptionParser(args); - if (parser.getAllOptions().size() == 0) { - Java2WSDL.printUsage(); - isValid = false; - } else if (parser.getInvalidOptions(new Java2WSDLOptionsValidator()).size() > 0) { - Java2WSDL.printUsage(); - isValid = false; - } - - if (isValid) { - commandLineOptions = parser.getAllOptions(); - } - - return isValid; - } - - public boolean buildWSDLDocument() throws Exception { - boolean isComplete = true; - initJava2WSDLBuilder(); - java2WsdlBuilder.buildWSDL(); - - return isComplete; - } - - public boolean serializeWSDLDocument() throws Exception { - boolean isComplete = true; - - if (getOutputStream() == null) { - setOutputStream(genParams.getOutputFileStream()); - } - - // transform the OMElement - OMElement om = java2WsdlBuilder.getWsdlDocument(); - javax.xml.stream.XMLStreamReader stream = om.getXMLStreamReader(); - - org.apache.tuscany.sca.databinding.xml.XMLStreamReader2Node xform = - new org.apache.tuscany.sca.databinding.xml.XMLStreamReader2Node(); - - Node node = xform.transform(stream, null); - - Document doc = node.getOwnerDocument(); - - // pretty-print WSDL document - OutputFormat format = new OutputFormat(doc); - format.setLineWidth(65); - format.setIndenting(true); - format.setIndent(2); - XMLSerializer serializer = new XMLSerializer(getOutputStream(), format); - serializer.serialize(doc); - - return isComplete; - - } - - /* - * This is the template method that splits the Java2WSDL generation cycle - * into phase / steps. - * - * @see tuscany.tools.Java2WSDLGeneratorIfc#generateWSDL(java.lang.String[]) - */ - public void generateWSDL(Map commandLineOptions) { - try { - // load the user options into an easy to access abstraction - genParams = new GenerationParameters(commandLineOptions); - - // if the WSDL Model generation was successful - if (buildWSDLDocument()) { - // multicast event for generation of WSDL model - multicastGenPhaseCompletionEvent(WSDLGenListener.WSDL_MODEL_CREATION); - // if the Serialization of the generated (and fixed) model - // is successful - if (serializeWSDLDocument()) { - // multicast event for writing of the WSDL Model to - // supplied output stream - multicastGenPhaseCompletionEvent(WSDLGenListener.WSDL_MODEL_WRITING); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - public void generateWSDL(String[] args) { - // if the argument input are found to be valid - if (validateInputArgs(args)) { - // multicast event for input args validation complete - multicastGenPhaseCompletionEvent(WSDLGenListener.INPUT_ARGS_VALIDATION); - generateWSDL(commandLineOptions); - } - } - - public void addWSDLGenListener(WSDLGenListener l) { - genPhaseListeners.add(l); - - } - - public void removeWSDLGenListener(WSDLGenListener l) { - genPhaseListeners.remove(l); - } - - public Map getCommandLineOptions() { - return commandLineOptions; - } - - public void setCommandLineOptoins(Map cmdLineOpts) { - commandLineOptions = cmdLineOpts; - } - - public OutputStream getOutputStream() { - return outputStream; - } - - public void setOutputStream(OutputStream outStream) { - outputStream = outStream; - } - - public TuscanyJava2WSDLBuilder getJava2WsdlBuilder() { - return java2WsdlBuilder; - } - - public void setJava2WsdlBuilder(TuscanyJava2WSDLBuilder java2WsdlBuilder) { - this.java2WsdlBuilder = java2WsdlBuilder; - } - - // - // Works recursively with node's entire subtree - // There's no tie to fields in this object so I made this public. - // - public static void removeTextNodes(Node node) { - - if (node == null) - return; - - if (node.getNodeType() == Node.TEXT_NODE) { - node.getParentNode().removeChild(node); - } else { - int origNumNodes; - NodeList children = null; - do { - children = node.getChildNodes(); - origNumNodes = children.getLength(); - - for (int i = 0; i < origNumNodes; i++) { - removeTextNodes(children.item(i)); - } - } while (node.getChildNodes().getLength() != origNumNodes); - } - } - - protected void printGenerationMessage() { - System.out.println(""); - System.out.println("Generating " + genParams.getOutputFile() - + " from Java class " - + genParams.getSourceClassName() - + "."); - System.out.println(""); - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/SchemaBuilder.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/SchemaBuilder.java deleted file mode 100644 index 897700ffd9..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/SchemaBuilder.java +++ /dev/null @@ -1,613 +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.tools.java2wsdl.generate; - -import java.io.StringReader; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Hashtable; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Set; -import java.util.Vector; - -import javax.xml.namespace.QName; - -import org.apache.axis2.description.java2wsdl.Java2WSDLUtils; -import org.apache.ws.commons.schema.XmlSchema; -import org.apache.ws.commons.schema.XmlSchemaCollection; -import org.apache.ws.commons.schema.XmlSchemaComplexType; -import org.apache.ws.commons.schema.XmlSchemaElement; -import org.apache.ws.commons.schema.XmlSchemaForm; -import org.apache.ws.commons.schema.XmlSchemaGroupBase; -import org.apache.ws.commons.schema.XmlSchemaImport; -import org.apache.ws.commons.schema.XmlSchemaInclude; -import org.apache.ws.commons.schema.XmlSchemaSequence; -import org.apache.ws.commons.schema.XmlSchemaType; -import org.apache.ws.commons.schema.utils.NamespaceMap; -import org.codehaus.jam.JClass; -import org.codehaus.jam.JProperty; - -import commonj.sdo.DataObject; -import commonj.sdo.Type; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XSDHelper; - -public class SchemaBuilder implements TuscanyJava2WSDLConstants { - public static final String NAME_SPACE_PREFIX = "stn_"; - - private static int prefixCount = 1; - - public static final String MIXED = "mixed"; - - public static final String GROUP = "group"; - - protected String attrFormDefault = null; - - protected String elementFormDefault = null; - - protected XmlSchemaCollection xmlSchemaCollection = new XmlSchemaCollection(); - - private Hashtable schemaMap = new Hashtable(); - - protected Hashtable targetNamespacePrefixMap = new Hashtable(); - - protected TuscanyTypeTable typeTable = new TuscanyTypeTable(); - - protected Map schemaLocationMap = null; - - private ClassLoader classLoader = null; - - private ArrayList factoryClassNames = null; - - private HelperContext helperContext = null; - - private XSDHelper xsdHelper = null; - - private Set<String> registeredSDOFactories = new HashSet<String>(); - - boolean alreadyPrintedDefaultSDOFactoryFound = false; - - boolean alreadyPrintedDefaultSDOFactoryNotFound = false; - - protected SchemaBuilder(XmlSchemaCollection schemaCollection, - Hashtable schemaMap, - Hashtable nsPrefixMap, - TuscanyTypeTable typeTable, - String attrFormDef, - String eleFormDef, - Map schemaLocMap, - ClassLoader classLoader, - ArrayList factoryClassNames) { - this.schemaMap = schemaMap; - this.xmlSchemaCollection = schemaCollection; - this.targetNamespacePrefixMap = nsPrefixMap; - this.typeTable = typeTable; - this.schemaLocationMap = schemaLocMap; - this.classLoader = classLoader; - this.attrFormDefault = attrFormDef; - this.elementFormDefault = eleFormDef; - this.factoryClassNames = factoryClassNames; - - // Register the types in the generated SDO factories - this.helperContext = org.apache.tuscany.sdo.api.SDOUtil.createHelperContext(); - this.xsdHelper = helperContext.getXSDHelper(); - - Class factoryClass = null; - for (Object factoryClassName : this.factoryClassNames) { - try { - factoryClass = Class.forName((String)factoryClassName, true, classLoader); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - System.out.println(""); - System.out.println("Generated SDO Factory class with name: " + factoryClassName + " could not be loaded. Exiting."); - throw new IllegalArgumentException(e); - } - registerSDOFactory(factoryClass); - } - } - - private boolean isSDO(JClass javaType) throws Exception { - - Class sdoClass = Class.forName(javaType.getQualifiedName(), true, classLoader); - - return DataObject.class.isAssignableFrom(sdoClass); - } - - private void buildComplexTypeContents_JavaType(JClass javaType, - XmlSchemaComplexType complexType, - XmlSchema xmlSchema) throws Exception { - JProperty[] properties = javaType.getDeclaredProperties(); - - for (int i = 0; i < properties.length; i++) { - JProperty property = properties[i]; - String propertyName = property.getType().getQualifiedName(); - boolean isArryType = property.getType().isArrayType(); - if (isArryType) { - propertyName = property.getType().getArrayComponentType().getQualifiedName(); - } - - if (typeTable.isSimpleType(propertyName)) { - XmlSchemaElement elt1 = new XmlSchemaElement(); - elt1.setName(getCorrectName(property.getSimpleName())); - elt1.setSchemaTypeName(typeTable.getSimpleSchemaTypeName(propertyName)); - ((XmlSchemaGroupBase) complexType.getParticle()).getItems().add(elt1); - if (isArryType) { - elt1.setMaxOccurs(Long.MAX_VALUE); - elt1.setMinOccurs(0); - } - } else { - QName schemaTypeName = null; - if (isArryType) { - schemaTypeName = generateSchema(property.getType().getArrayComponentType()); - } else { - schemaTypeName = generateSchema(property.getType()); - } - - XmlSchemaElement elt1 = new XmlSchemaElement(); - elt1.setName(getCorrectName(property.getSimpleName())); - elt1.setSchemaTypeName(schemaTypeName); - ((XmlSchemaGroupBase) complexType.getParticle()).getItems().add(elt1); - - if (isArryType) { - elt1.setMaxOccurs(Long.MAX_VALUE); - elt1.setMinOccurs(0); - } - - addImports(xmlSchema, - schemaTypeName); - } - } - } - - protected QName buildSchema_JavaType(JClass javaType) throws Exception { - QName schemaTypeName = typeTable.getComplexSchemaTypeName(javaType, this.classLoader); - if (schemaTypeName == null) { - String simpleName = javaType.getSimpleName(); - - String packageName = javaType.getContainingPackage().getQualifiedName(); - - String targetNameSpace = - Java2WSDLUtils.schemaNamespaceFromClassName(javaType.getQualifiedName(), this.classLoader) - .toString(); - - XmlSchema xmlSchema = getXmlSchema(targetNameSpace); - String targetNamespacePrefix = (String) targetNamespacePrefixMap.get(targetNameSpace); - - schemaTypeName = new QName(targetNameSpace, simpleName, targetNamespacePrefix); - XmlSchemaComplexType complexType = new XmlSchemaComplexType(xmlSchema); - complexType.setName(simpleName); - - XmlSchemaSequence sequence = new XmlSchemaSequence(); - complexType.setParticle(sequence); - - createGlobalElement(xmlSchema, - complexType, - schemaTypeName); - xmlSchema.getItems().add(complexType); - xmlSchema.getSchemaTypes().add(schemaTypeName, - complexType); - - // adding this type to the table - // typeTable.addComplexScheam(name, complexType.getQName()); - typeTable.addComplexSchemaType(targetNameSpace, - simpleName, - schemaTypeName); - buildComplexTypeContents_JavaType(javaType, - complexType, - xmlSchema); - } - return schemaTypeName; - } - - protected QName buildSchema_SDO(Type dataType) // throws Exception - { - QName schemaTypeName = typeTable.getComplexSchemaTypeName(dataType.getURI(), - dataType.getName()); - - if (schemaTypeName == null) { - // We can't load the XSDs into an XSDHelper and match them against the static SDOs; they will - // never match. Instead let's take an all-or-nothing approach and say, if we've got this NS - // in our map then we assume we have this Type as well in the corresponding XSD file. - // - boolean inXSDForm = schemaLocationMap.get(dataType.getURI()) != null; - - if (inXSDForm) { - // if schemalocations for XSD has been specified, include them - - // External XSDs will be handled in processing the schema TNS of the wrapper elements. - // This is partly because SDO codegen needs some modification in this area - // So we won't bother including the external XSDs here at all. - // - // includeExtXSD(dataType); - } else { - List<Type> typeList = new Vector<Type>(); - typeList.add(dataType); - - // the xsdhelper returns a string that contains the schemas for this type - String schemaDefns = xsdHelper.generate(typeList, schemaLocationMap); - - // extract the schema elements and store them in the schema map - extractSchemas(schemaDefns); - } - // since the XSDHelper will not return the type name, create it and store it in typetable - schemaTypeName = new QName(dataType.getURI(), dataType.getName(), generatePrefix()); - typeTable.addComplexSchemaType(dataType.getURI(), - dataType.getName(), - schemaTypeName); - - } - return schemaTypeName; - } - - /** - * Identify the java type (pojo versus sdo) and build the schema accordingly - * - * @param javaType reference to the class - * @return - * @throws Exception - */ - public QName generateSchema(JClass javaType) throws Exception { - if (isSDO(javaType)) { - Type dataType = createDataObject(javaType).getType(); - return buildSchema_SDO(dataType); - } else { - return buildSchema_JavaType(javaType); - } - } - - private XmlSchema getXmlSchema(String targetNamespace) { - XmlSchema xmlSchema; - - if ((xmlSchema = (XmlSchema) schemaMap.get(targetNamespace)) == null) { - String targetNamespacePrefix = generatePrefix(); - - xmlSchema = new XmlSchema(targetNamespace, xmlSchemaCollection); - xmlSchema.setAttributeFormDefault(getAttrFormDefaultSetting()); - xmlSchema.setElementFormDefault(getElementFormDefaultSetting()); - - targetNamespacePrefixMap.put(targetNamespace, targetNamespacePrefix); - schemaMap.put(targetNamespace, xmlSchema); - - NamespaceMap prefixmap = new NamespaceMap(); - prefixmap.put(TuscanyTypeTable.XS_URI_PREFIX, TuscanyTypeTable.XML_SCHEMA_URI); - prefixmap.put(targetNamespacePrefix, targetNamespace); - xmlSchema.setNamespaceContext(prefixmap); - } - return xmlSchema; - } - - /** - * JAM convert first name of an attribute into UpperCase as an example if there is a instance variable called foo in a bean , then Jam give that - * as Foo so this method is to correct that error - * - * @param wrongName - * @return the right name, using English as the locale for case conversion - */ - public static String getCorrectName(String wrongName) { - if (wrongName.length() > 1) { - return wrongName.substring(0, 1).toLowerCase(Locale.ENGLISH) + wrongName.substring(1, wrongName.length()); - } else { - return wrongName.substring(0, 1).toLowerCase(Locale.ENGLISH); - } - } - - private String addImports(XmlSchema xmlSchema, QName schemaTypeName) { - String prefix = null; - String[] prefixes = xmlSchema.getNamespaceContext().getDeclaredPrefixes(); - for (int count = 0; count < prefixes.length; ++count) { - if (schemaTypeName.getNamespaceURI(). - equals(xmlSchema.getNamespaceContext().getNamespaceURI(prefixes[count])) ) { - return prefixes[count]; - } - } - - XmlSchemaImport importElement = new XmlSchemaImport(); - importElement.setNamespace(schemaTypeName.getNamespaceURI()); - xmlSchema.getItems().add(importElement); - prefix = generatePrefix(); - //it is safe to cast like this since it was this class that instantiated the - //NamespaceContext and assigned it to an instance of a NamespaceMap (see method getXmlSchema) - ((NamespaceMap)xmlSchema.getNamespaceContext()).put(prefix, - schemaTypeName.getNamespaceURI()); - - return prefix; - } - - private String formGlobalElementName(String typeName) { - String firstChar = typeName.substring(0, 1); - return typeName.replaceFirst(firstChar, firstChar.toLowerCase()); - } - - private void createGlobalElement(XmlSchema xmlSchema, XmlSchemaComplexType complexType, QName elementName) { - XmlSchemaElement globalElement = new XmlSchemaElement(); - globalElement.setSchemaTypeName(complexType.getQName()); - globalElement.setName(formGlobalElementName(complexType.getName())); - globalElement.setQName(elementName); - - xmlSchema.getItems().add(globalElement); - xmlSchema.getElements().add(elementName, globalElement); - } - - private DataObject createDataObject(JClass sdoClass) throws Exception { - Class sdoType = Class.forName(sdoClass.getQualifiedName(), true, classLoader); - - //register the factory - detectAndRegisterFactory(sdoType); - - //create data object - Constructor constructor = sdoType.getDeclaredConstructor(new Class[0]); - constructor.setAccessible(true); - Object instance = constructor.newInstance(new Object[0]); - return (DataObject) instance; - } - - private String generatePrefix() { - return NAME_SPACE_PREFIX + prefixCount++; - } - - private void includeExtXSD(Type dataType) { - // now we know there is a type for which the XSD must come from outside - // create a schema for the namespace of this type and add an include in it for - // the xsd that is defined externally - XmlSchema xmlSchema = getXmlSchema(dataType.getURI()); - - // ideally there could be more than one external schema definitions for a namespace - // and hence schemalocations will be a list of locations - // List schemaLocations = (List)schemaLocationMap.get(dataType.getURI()); - - // since as per the specs the input to XSDHelper is a map of <String, String> allowing - // only one schemalocation for a namespace. So for now this single location will be - // picked up and put into a list - List schemaLocations = new Vector(); - - if (schemaLocationMap.get(dataType.getURI()) != null) { - schemaLocations.add(schemaLocationMap.get(dataType.getURI())); - } - - if (schemaLocations.size() <= 0) { - schemaLocations.add(DEFAULT_SCHEMA_LOCATION); - } - - Iterator includesIterator = xmlSchema.getIncludes().getIterator(); - Iterator schemaLocIterator = schemaLocations.iterator(); - String aSchemaLocation = null; - boolean includeExists = false; - // include all external schema locations - while (schemaLocIterator.hasNext()) { - aSchemaLocation = (String) schemaLocIterator.next(); - while (includesIterator.hasNext()) { - if (!includeExists - && aSchemaLocation.equals(((XmlSchemaInclude) includesIterator.next()).getSchemaLocation())) { - includeExists = true; - } - } - - if (!includeExists) { - XmlSchemaInclude includeElement = new XmlSchemaInclude(); - includeElement.setSchemaLocation(aSchemaLocation); - xmlSchema.getIncludes().add(includeElement); - xmlSchema.getItems().add(includeElement); - } - } - - } - - private void extractSchemas(String schemaDefns) { - // load each schema element and add it to the schema map - - String token = getToken(schemaDefns); - int curIndex = schemaDefns.indexOf(token); - int nextIndex = schemaDefns.indexOf(token, - curIndex + token.length()); - - while (curIndex != -1) { - StringReader sr = null; - if (nextIndex != -1) - sr = new StringReader(schemaDefns.substring(curIndex, - nextIndex)); - else - sr = new StringReader(schemaDefns.substring(curIndex)); - - XmlSchemaCollection collection = new XmlSchemaCollection(); - XmlSchema aSchema = collection.read(sr, - null); - addSchemaToMap(aSchema); - - curIndex = nextIndex; - nextIndex = schemaDefns.indexOf(token, - curIndex + token.length()); - } - } - - private void addSchemaToMap(XmlSchema extractedSchema) { - // check if a Schema object already exists in schema map for targetNamespace of this schema element - // if it does then copy the contents of this schema element to the existing one, ensuring that - // duplicate elements are not created. i.e. before adding some child element like 'include' or 'import' - // check if it already exists, if it does don't add this - XmlSchema existingSchema = (XmlSchema) schemaMap.get(extractedSchema.getTargetNamespace()); - - if (existingSchema == null) { - extractedSchema.setAttributeFormDefault(getAttrFormDefaultSetting()); - extractedSchema.setElementFormDefault(getElementFormDefaultSetting()); - schemaMap.put(extractedSchema.getTargetNamespace(), extractedSchema); - - } else { - copySchemaItems(existingSchema, - extractedSchema); - } - } - - private void copySchemaItems(XmlSchema existingSchema, XmlSchema aSchema) { - // items to copy are imports, includes, elements, types ... - // each item is checked if it is a duplicate entry and copied only if it isn't - Iterator itemsIterator = aSchema.getItems().getIterator(); - Object schemaObject = null; - XmlSchemaElement schemaElement = null; - XmlSchemaType schemaType = null; - XmlSchemaInclude schemaInclude = null; - QName qName = null; - List existingIncludes = getExistingIncludes(existingSchema); - - while (itemsIterator.hasNext()) { - schemaObject = itemsIterator.next(); - if (schemaObject instanceof XmlSchemaElement) { - schemaElement = (XmlSchemaElement) schemaObject; - qName = schemaElement.getQName(); - // if the element does not exist in the existing schema - if (existingSchema.getElementByName(qName) == null) { - // add it to the existing schema - existingSchema.getElements().add(qName, schemaElement); - existingSchema.getItems().add(schemaElement); - } - } else if (schemaObject instanceof XmlSchemaType) { - schemaType = (XmlSchemaType) itemsIterator.next(); - qName = schemaType.getQName(); - // if the element does not exist in the existing schema - if (existingSchema.getElementByName(qName) == null) { - // add it to the existing schema - existingSchema.getSchemaTypes().add(qName, schemaType); - existingSchema.getItems().add(schemaType); - // add imports - addImports(existingSchema, qName); - } - } else if (schemaObject instanceof XmlSchemaInclude) { - schemaInclude = (XmlSchemaInclude) itemsIterator.next(); - if (!existingIncludes.contains(schemaInclude.getSchemaLocation())) { - existingSchema.getIncludes().add(schemaInclude); - existingSchema.getItems().add(schemaInclude); - } - } - } - } - - private List getExistingIncludes(XmlSchema xmlSchema) { - List includeSchemaLocations = new Vector(); - Iterator iterator = xmlSchema.getIncludes().getIterator(); - - while (iterator.hasNext()) { - includeSchemaLocations.add(((XmlSchemaInclude) iterator.next()).getSchemaLocation()); - } - return includeSchemaLocations; - } - - private XmlSchemaForm getAttrFormDefaultSetting() { - if (FORM_DEFAULT_UNQUALIFIED.equals(getAttrFormDefault())) { - return new XmlSchemaForm(XmlSchemaForm.UNQUALIFIED); - } else { - return new XmlSchemaForm(XmlSchemaForm.QUALIFIED); - } - } - - private XmlSchemaForm getElementFormDefaultSetting() { - if (FORM_DEFAULT_UNQUALIFIED.equals(getElementFormDefault())) { - return new XmlSchemaForm(XmlSchemaForm.UNQUALIFIED); - } else { - return new XmlSchemaForm(XmlSchemaForm.QUALIFIED); - } - } - - private String getToken(String s) { - // get the schema element name e.g. <xs:schema or <xsd:schema. We only know that 'schema' will be used - // but not sure what suffix is used. Hence this method to get the actual element name used - int i = s.indexOf(SCHEMA_ELEMENT_NAME); - int j = s.substring(0, - i).lastIndexOf("<"); - return s.substring(j, - i + SCHEMA_ELEMENT_NAME.length()); - } - - public String getAttrFormDefault() { - return attrFormDefault; - } - - public void setAttrFormDefault(String attrFormDefault) { - this.attrFormDefault = attrFormDefault; - } - - public String getElementFormDefault() { - return elementFormDefault; - } - - public void setElementFormDefault(String elementFormDefault) { - this.elementFormDefault = elementFormDefault; - } - - private static String getPackageName(Class<?> cls) { - String name = cls.getName(); - int index = name.lastIndexOf('.'); - return index == -1 ? "" : name.substring(0, index); - } - - /** - * Recognize the pattern of generated SDO type names vs. SDO factory names. - * E.g. SDO class: test.sca.w2j.gen.Company will be associated with - * SDO factory: test.sca.w2j.gen.GenFactory - */ - private void detectAndRegisterFactory(Class sdoClass) { - String pkgName = getPackageName(sdoClass); - - // Find last segment, e.g. from 'test.sca.w2j.gen' produce 'gen'. - int lastDot = pkgName.lastIndexOf('.'); - String lastSegment = pkgName.substring(lastDot+1); - - String rest = lastSegment.substring(1); - String firstChar = lastSegment.substring(0,1).toUpperCase(); - - String factoryBaseName = pkgName + "." + firstChar + rest + "Factory"; - - Class factoryClass = null; - try { - factoryClass = Class.forName(factoryBaseName, true, classLoader); - if (!alreadyPrintedDefaultSDOFactoryFound) { - System.out.println("Found default generated SDO Factory with name: " + factoryBaseName + "; Registering."); - alreadyPrintedDefaultSDOFactoryFound = true; - } - registerSDOFactory(factoryClass); - } catch (ClassNotFoundException e) { - if (!alreadyPrintedDefaultSDOFactoryNotFound) { - System.out.println("Did not find default generated SDO Factory with name: " + factoryBaseName + "; Continue." ); - alreadyPrintedDefaultSDOFactoryNotFound = true; - } - } - } - - private void registerSDOFactory(Class factoryClass) { - String factoryClassName = factoryClass.getName(); - if (!registeredSDOFactories.contains(factoryClassName)) { - try { - Field field = factoryClass.getField("INSTANCE"); - Object factoryImpl = field.get(null); - Method method = factoryImpl.getClass().getMethod("register", new Class[] {HelperContext.class}); - method.invoke(factoryImpl, new Object[] {this.helperContext}); - } catch (Exception e) { - e.printStackTrace(); - System.out.println(""); - System.out.println("Fatal error registering factoryClassName = " + factoryClassName); - throw new IllegalArgumentException(e); - } - registeredSDOFactories.add(factoryClassName); - } - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2OMBuilder.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2OMBuilder.java deleted file mode 100644 index fd10c77f8b..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2OMBuilder.java +++ /dev/null @@ -1,429 +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.tools.java2wsdl.generate; - -import java.io.ByteArrayInputStream; -import java.io.StringWriter; -import java.util.Collection; -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Iterator; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMNamespace; -import org.apache.axiom.om.OMNode; -import org.apache.axiom.om.impl.builder.StAXOMBuilder; -import org.apache.ws.commons.schema.XmlSchema; -import org.codehaus.jam.JMethod; - -public class TuscanyJava2OMBuilder implements TuscanyJava2WSDLConstants { - - private TuscanyTypeTable typeTable = null; - - private static int prefixCount = 1; - - private static final String NAMESPACE_PREFIX = "ns"; - - private JMethod method[]; - - private Collection schemaCollection; - - private GenerationParameters generationParams; - - private OMNamespace ns1; - - private OMNamespace soap; - - private OMNamespace soap12; - - private OMNamespace tns; - - private OMNamespace wsdl; - - private OMNamespace mime; - - private OMNamespace http; - - public TuscanyJava2OMBuilder(JMethod[] method, - Collection schemaCollection, - TuscanyTypeTable typeTab, - GenerationParameters genParams) { - this.method = method; - this.schemaCollection = schemaCollection; - this.typeTable = typeTab; - this.generationParams = genParams; - } - - public OMElement generateOM() throws Exception { - OMFactory fac = OMAbstractFactory.getOMFactory(); - wsdl = fac.createOMNamespace(WSDL_NAMESPACE, DEFAULT_WSDL_NAMESPACE_PREFIX); - OMElement ele = fac.createOMElement("definitions", wsdl); - - ele.addAttribute("targetNamespace", generationParams.getTargetNamespace(), null); - generateNamespaces(fac, ele); - generateTypes(fac, ele); - generateMessages(fac, ele); - generatePortType(fac, ele); - generateBinding(fac, ele); - generateService(fac, ele); - return ele; - } - - private void generateNamespaces(OMFactory fac, OMElement defintions) throws Exception { - soap = defintions.declareNamespace(URI_WSDL11_SOAP, SOAP11_PREFIX); - tns = - defintions.declareNamespace(generationParams.getTargetNamespace(), generationParams - .getTargetNamespacePrefix()); - soap12 = defintions.declareNamespace(URI_WSDL12_SOAP, SOAP12_PREFIX); - http = defintions.declareNamespace(HTTP_NAMESPACE, HTTP_PREFIX); - mime = defintions.declareNamespace(MIME_NAMESPACE, MIME_PREFIX); - } - - private void generateTypes(OMFactory fac, OMElement defintions) throws Exception { - OMElement wsdlTypes = fac.createOMElement("types", wsdl); - StringWriter writer = new StringWriter(); - - // wrap the Schema elements with this start and end tags to create a - // document root - // under which the schemas can fall into - writer.write("<xmlSchemas>"); - writeSchemas(writer); - writer.write("</xmlSchemas>"); - - XMLStreamReader xmlReader = - XMLInputFactory.newInstance().createXMLStreamReader(new ByteArrayInputStream(writer.toString().getBytes())); - - StAXOMBuilder staxOMBuilders = new StAXOMBuilder(fac, xmlReader); - OMElement documentElement = staxOMBuilders.getDocumentElement(); - - Iterator iterator = documentElement.getChildElements(); - while (iterator.hasNext()) { - wsdlTypes.addChild((OMNode)iterator.next()); - } - defintions.addChild(wsdlTypes); - } - - private void writeSchemas(StringWriter writer) { - Iterator iterator = schemaCollection.iterator(); - XmlSchema xmlSchema = null; - - while (iterator.hasNext()) { - xmlSchema = (XmlSchema)iterator.next(); - // typeIterator = xmlSchema.getSchemaTypes().getValues(); - /* - * while (typeIterator.hasNext()) { - * xmlSchema.getItems().add((XmlSchemaObject) typeIterator.next()); } - */ - xmlSchema.write(writer); - } - } - - private void generateMessages(OMFactory fac, OMElement definitions) throws Exception { - Hashtable namespaceMap = new Hashtable(); - String namespacePrefix = null; - String namespaceURI = null; - QName messagePartType = null; - for (int i = 0; i < method.length; i++) { - JMethod jmethod = method[i]; - - if (jmethod.isPublic()) { - // Request Message - OMElement requestMessge = fac.createOMElement(MESSAGE_LOCAL_NAME, wsdl); - requestMessge.addAttribute(ATTRIBUTE_NAME, jmethod.getSimpleName() + MESSAGE_SUFFIX, null); - definitions.addChild(requestMessge); - - // only if a type for the message part has already been defined - if ((messagePartType = - typeTable.getComplexSchemaTypeName(generationParams.getSchemaTargetNamespace(), jmethod - .getSimpleName())) != null) { - namespaceURI = messagePartType.getNamespaceURI(); - // avoid duplicate namespaces - if ((namespacePrefix = (String)namespaceMap.get(namespaceURI)) == null) { - namespacePrefix = generatePrefix(); - namespaceMap.put(namespaceURI, namespacePrefix); - } - - OMElement requestPart = fac.createOMElement(PART_ATTRIBUTE_NAME, wsdl); - requestMessge.addChild(requestPart); - requestPart.addAttribute(ATTRIBUTE_NAME, "part1", null); - - requestPart.addAttribute(ELEMENT_ATTRIBUTE_NAME, namespacePrefix + COLON_SEPARATOR - + jmethod.getSimpleName(), null); - } - - // only if a type for the message part has already been defined - if ((messagePartType = - typeTable.getComplexSchemaTypeName(generationParams.getSchemaTargetNamespace(), jmethod - .getSimpleName() + RESPONSE)) != null) { - namespaceURI = messagePartType.getNamespaceURI(); - if ((namespacePrefix = (String)namespaceMap.get(namespaceURI)) == null) { - namespacePrefix = generatePrefix(); - namespaceMap.put(namespaceURI, namespacePrefix); - } - // Response Message - OMElement responseMessge = fac.createOMElement(MESSAGE_LOCAL_NAME, wsdl); - responseMessge.addAttribute(ATTRIBUTE_NAME, jmethod.getSimpleName() + RESPONSE_MESSAGE, null); - definitions.addChild(responseMessge); - OMElement responsePart = fac.createOMElement(PART_ATTRIBUTE_NAME, wsdl); - responseMessge.addChild(responsePart); - responsePart.addAttribute(ATTRIBUTE_NAME, "part1", null); - - responsePart.addAttribute(ELEMENT_ATTRIBUTE_NAME, namespacePrefix + COLON_SEPARATOR - + jmethod.getSimpleName() - + RESPONSE, null); - } - } - } - - // now add these unique namespaces to the the definitions element - Enumeration enumeration = namespaceMap.keys(); - while (enumeration.hasMoreElements()) { - namespaceURI = (String)enumeration.nextElement(); - definitions.declareNamespace(namespaceURI, (String)namespaceMap.get(namespaceURI)); - } - } - - /** - * Generate the porttypes - */ - private void generatePortType(OMFactory fac, OMElement defintions) { - JMethod jmethod = null; - OMElement operation = null; - OMElement message = null; - OMElement portType = fac.createOMElement(PORT_TYPE_LOCAL_NAME, wsdl); - defintions.addChild(portType); - // changed default PortType name to match Java interface name - // instead of appending "PortType". - portType.addAttribute(ATTRIBUTE_NAME, generationParams.getServiceName(), null); - // adding message refs - for (int i = 0; i < method.length; i++) { - jmethod = method[i]; - - if (jmethod.isPublic()) { - operation = fac.createOMElement(OPERATION_LOCAL_NAME, wsdl); - portType.addChild(operation); - operation.addAttribute(ATTRIBUTE_NAME, jmethod.getSimpleName(), null); - - message = fac.createOMElement(IN_PUT_LOCAL_NAME, wsdl); - message.addAttribute(MESSAGE_LOCAL_NAME, tns.getPrefix() + COLON_SEPARATOR - + jmethod.getSimpleName() - + MESSAGE_SUFFIX, null); - operation.addChild(message); - - if (!jmethod.getReturnType().isVoidType() || - jmethod.getAnnotation("org.osoa.sca.annotations.OneWay") == null) { - message = fac.createOMElement(OUT_PUT_LOCAL_NAME, wsdl); - message.addAttribute(MESSAGE_LOCAL_NAME, tns.getPrefix() + COLON_SEPARATOR - + jmethod.getSimpleName() - + RESPONSE_MESSAGE, null); - operation.addChild(message); - } - } - } - - } - - /** - * Generate the service - */ - public void generateService(OMFactory fac, OMElement defintions) { - OMElement service = fac.createOMElement(SERVICE_LOCAL_NAME, wsdl); - defintions.addChild(service); - // Add "WebService" to the end of WSDL service name - service.addAttribute(ATTRIBUTE_NAME, generationParams.getServiceName() + WSDL_SERVICE_SUFFIX, null); - OMElement port = fac.createOMElement(PORT, wsdl); - service.addChild(port); - port.addAttribute(ATTRIBUTE_NAME, generationParams.getServiceName() + SOAP11PORT, null); - port.addAttribute(BINDING_LOCAL_NAME, tns.getPrefix() + COLON_SEPARATOR - + generationParams.getServiceName() - + BINDING_NAME_SUFFIX, null); - addExtensionElement(fac, - port, - soap, - SOAP_ADDRESS, - LOCATION, - generationParams.getLocationUri() + generationParams.getServiceName()); - - port = fac.createOMElement(PORT, wsdl); - service.addChild(port); - port.addAttribute(ATTRIBUTE_NAME, generationParams.getServiceName() + SOAP12PORT, null); - port.addAttribute(BINDING_LOCAL_NAME, tns.getPrefix() + COLON_SEPARATOR - + generationParams.getServiceName() - + SOAP12BINDING_NAME_SUFFIX, null); - addExtensionElement(fac, - port, - soap12, - SOAP_ADDRESS, - LOCATION, - generationParams.getLocationUri() + generationParams.getServiceName()); - } - - /** - * Generate the bindings - */ - private void generateBinding(OMFactory fac, OMElement defintions) throws Exception { - generateSoap11Binding(fac, defintions); - generateSoap12Binding(fac, defintions); - } - - private void generateSoap11Binding(OMFactory fac, OMElement defintions) throws Exception { - OMElement binding = fac.createOMElement(BINDING_LOCAL_NAME, wsdl); - defintions.addChild(binding); - binding.addAttribute(ATTRIBUTE_NAME, generationParams.getServiceName() + BINDING_NAME_SUFFIX, null); - // changed default PortType name to match Java interface name - // instead of appending "PortType". - binding.addAttribute("type", tns.getPrefix() + COLON_SEPARATOR + generationParams.getServiceName(), null); - - addExtensionElement(fac, binding, soap, BINDING_LOCAL_NAME, TRANSPORT, TRANSPORT_URI, STYLE, generationParams - .getStyle()); - - for (int i = 0; i < method.length; i++) { - JMethod jmethod = method[i]; - if (jmethod.isPublic()) { - OMElement operation = fac.createOMElement(OPERATION_LOCAL_NAME, wsdl); - binding.addChild(operation); - - addExtensionElement(fac, - operation, - soap, - OPERATION_LOCAL_NAME, - SOAP_ACTION, - URN_PREFIX + COLON_SEPARATOR + jmethod.getSimpleName(), - STYLE, - generationParams.getStyle()); - operation.addAttribute(ATTRIBUTE_NAME, jmethod.getSimpleName(), null); - - OMElement input = fac.createOMElement(IN_PUT_LOCAL_NAME, wsdl); - addExtensionElement(fac, - input, - soap, - SOAP_BODY, - SOAP_USE, - generationParams.getUse(), - "namespace", - generationParams.getTargetNamespace()); - operation.addChild(input); - - if (!jmethod.getReturnType().isVoidType()) { - OMElement output = fac.createOMElement(OUT_PUT_LOCAL_NAME, wsdl); - addExtensionElement(fac, - output, - soap, - SOAP_BODY, - SOAP_USE, - generationParams.getUse(), - "namespace", - generationParams.getTargetNamespace()); - operation.addChild(output); - } - } - } - } - - private void generateSoap12Binding(OMFactory fac, OMElement defintions) throws Exception { - OMElement binding = fac.createOMElement(BINDING_LOCAL_NAME, wsdl); - defintions.addChild(binding); - binding.addAttribute(ATTRIBUTE_NAME, generationParams.getServiceName() + SOAP12BINDING_NAME_SUFFIX, null); - // changed default PortType name to match Java interface name - // instead of appending "PortType". - binding.addAttribute("type", tns.getPrefix() + COLON_SEPARATOR + generationParams.getServiceName(), null); - - addExtensionElement(fac, binding, soap12, BINDING_LOCAL_NAME, TRANSPORT, TRANSPORT_URI, STYLE, generationParams - .getStyle()); - - for (int i = 0; i < method.length; i++) { - JMethod jmethod = method[i]; - - if (jmethod.isPublic()) { - OMElement operation = fac.createOMElement(OPERATION_LOCAL_NAME, wsdl); - binding.addChild(operation); - operation.declareNamespace(URI_WSDL12_SOAP, SOAP12_PREFIX); - - addExtensionElement(fac, - operation, - soap12, - OPERATION_LOCAL_NAME, - SOAP_ACTION, - URN_PREFIX + COLON_SEPARATOR + jmethod.getSimpleName(), - STYLE, - generationParams.getStyle()); - operation.addAttribute(ATTRIBUTE_NAME, jmethod.getSimpleName(), null); - - OMElement input = fac.createOMElement(IN_PUT_LOCAL_NAME, wsdl); - addExtensionElement(fac, - input, - soap12, - SOAP_BODY, - SOAP_USE, - generationParams.getUse(), - "namespace", - generationParams.getTargetNamespace()); - operation.addChild(input); - - if (!jmethod.getReturnType().isVoidType()) { - OMElement output = fac.createOMElement(OUT_PUT_LOCAL_NAME, wsdl); - addExtensionElement(fac, - output, - soap12, - SOAP_BODY, - SOAP_USE, - generationParams.getUse(), - "namespace", - generationParams.getTargetNamespace()); - operation.addChild(output); - } - } - } - } - - private void addExtensionElement(OMFactory fac, - OMElement element, - OMNamespace namespace, - String name, - String att1Name, - String att1Value, - String att2Name, - String att2Value) { - OMElement soapbinding = fac.createOMElement(name, namespace); - element.addChild(soapbinding); - soapbinding.addAttribute(att1Name, att1Value, null); - soapbinding.addAttribute(att2Name, att2Value, null); - } - - private void addExtensionElement(OMFactory fac, - OMElement element, - OMNamespace namespace, - String name, - String att1Name, - String att1Value) { - OMElement soapbinding = fac.createOMElement(name, namespace); - element.addChild(soapbinding); - soapbinding.addAttribute(att1Name, att1Value, null); - } - - private String generatePrefix() { - return NAMESPACE_PREFIX + prefixCount++; - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLBuilder.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLBuilder.java deleted file mode 100644 index 18cfafa4e3..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLBuilder.java +++ /dev/null @@ -1,81 +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.tools.java2wsdl.generate; - -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Collection; - -import org.apache.axiom.om.OMElement; -import org.apache.axis2.description.java2wsdl.Java2WSDLConstants; - -public class TuscanyJava2WSDLBuilder implements Java2WSDLConstants { - - private OutputStream out; - private String className; - private ClassLoader classLoader; - private String wsdlPrefix = "wsdl"; - - // these apply for the WSDL - private GenerationParameters generationParams; - - private OMElement wsdlDocument = null; - - public String getWsdlPrefix() { - return wsdlPrefix; - } - - public void setWsdlPrefix(String wsdlPrefix) { - this.wsdlPrefix = wsdlPrefix; - } - - public TuscanyJava2WSDLBuilder(GenerationParameters genParams) { - this.generationParams = genParams; - } - - /** - * Externally visible generator method - * - * @throws Exception - */ - public void buildWSDL() throws Exception { - ArrayList excludeOpeartion = new ArrayList(); - excludeOpeartion.add("init"); - excludeOpeartion.add("setOperationContext"); - excludeOpeartion.add("destroy"); - - TuscanyWSDLTypesGenerator typesGenerator = new TuscanyWSDLTypesGenerator(generationParams); - typesGenerator.setExcludeMethods(excludeOpeartion); - Collection schemaCollection = typesGenerator.buildWSDLTypes(); - - TuscanyJava2OMBuilder java2OMBuilder = - new TuscanyJava2OMBuilder(typesGenerator.getMethods(), schemaCollection, typesGenerator - .getTypeTable(), generationParams); - - wsdlDocument = java2OMBuilder.generateOM(); - } - - public OMElement getWsdlDocument() { - return wsdlDocument; - } - - public void setWsdlDocument(OMElement wsdlDocument) { - this.wsdlDocument = wsdlDocument; - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLConstants.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLConstants.java deleted file mode 100644 index 3750dc27f5..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLConstants.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.tools.java2wsdl.generate; - -import org.apache.axis2.description.java2wsdl.Java2WSDLConstants; - -/** - * This is a extension from the Axis2 Java2WSDLConstants to handle additions specific to Tuscany. - * This class can be done away with once Axis2 is also enhanced to support these - * additional options. - * - */ -public interface TuscanyJava2WSDLConstants extends Java2WSDLConstants -{ - public static final char OPEN_BRACKET = '['; - public static final char COMMA = ','; - public static final char CLOSE_BRACKET = ']'; - public static final String DEFAULT_SCHEMA_LOCATION = "*.xsd"; - public static final String SCHEMA_ELEMENT_NAME = "schema"; - - String FORM_DEFAULT_QUALIFIED = "qualified"; - String FORM_DEFAULT_UNQUALIFIED = "unqualified"; - - //short options - String IMPORT_XSD_OPTION = "ixsd"; //option for importing XSDs - String ATTR_FORM_DEFAULT_OPTION = "afd"; - String ELEMENT_FORM_DEFAULT_OPTION = "efd"; - String EXTRA_CLASSES_DEFAULT_OPTION = "xc"; - String FACTORY_CLASSNAMES_OPTION = "fcn"; - - //long options - String IMPORT_XSD_OPTION_LONG = "import_xsd"; //option for importing XSDs - String ATTR_FORM_DEFAULT_OPTION_LONG = "attributeFormDefault"; - String ELEMENT_FORM_DEFAULT_OPTION_LONG = "elementFormDefault"; - String EXTRA_CLASSES_DEFAULT_OPTION_LONG = "extraClasses"; - String FACTORY_CLASSNAMES_OPTION_LONG = "factoryClassNames"; - - // This is a new creation, not an override. - String WSDL_SERVICE_SUFFIX = "WebService"; -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLOptionsValidator.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLOptionsValidator.java deleted file mode 100644 index d6cd8a7f57..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLOptionsValidator.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.tools.java2wsdl.generate; - -import java.util.ArrayList; - -import org.apache.ws.java2wsdl.utils.Java2WSDLCommandLineOption; -import org.apache.ws.java2wsdl.utils.Java2WSDLOptionsValidator; - -/** - * This class is an extension from the Axis2 implementation in order to handle - * additional options specific to Tuscany. This class can be done away with once - * Axis2 is also enhanced to support these additional options. - */ -public class TuscanyJava2WSDLOptionsValidator extends Java2WSDLOptionsValidator implements TuscanyJava2WSDLConstants { - @Override - public boolean isInvalid(Java2WSDLCommandLineOption option) { - boolean invalid; - String optionType = option.getOptionType(); - - invalid = - !((IMPORT_XSD_OPTION).equalsIgnoreCase(optionType) || (IMPORT_XSD_OPTION_LONG).equalsIgnoreCase(optionType) - || (TuscanyJava2WSDLConstants.EXTRA_CLASSES_DEFAULT_OPTION_LONG).equalsIgnoreCase(optionType) - || (TuscanyJava2WSDLConstants.EXTRA_CLASSES_DEFAULT_OPTION).equalsIgnoreCase(optionType) - || (TuscanyJava2WSDLConstants.FACTORY_CLASSNAMES_OPTION_LONG).equalsIgnoreCase(optionType) - || (TuscanyJava2WSDLConstants.FACTORY_CLASSNAMES_OPTION).equalsIgnoreCase(optionType) || !super - .isInvalid(option)); - - invalid = validateImportXSDOption(invalid, option); - - return invalid; - } - - private boolean validateImportXSDOption(boolean invalid, Java2WSDLCommandLineOption option) { - String optionType = option.getOptionType(); - String schemaNSLocationPair = null; - - if (!invalid && (IMPORT_XSD_OPTION).equalsIgnoreCase(optionType) - || (IMPORT_XSD_OPTION_LONG).equalsIgnoreCase(optionType)) { - ArrayList optionValues = option.getOptionValues(); - - for (int count = 0; count < optionValues.size(); ++count) { - schemaNSLocationPair = ((String)optionValues.get(count)).trim(); - if ((schemaNSLocationPair.charAt(0) != OPEN_BRACKET) || (schemaNSLocationPair - .charAt(schemaNSLocationPair.length() - 1) != CLOSE_BRACKET) - || (schemaNSLocationPair.indexOf(COMMA) == -1)) - - { - System.out.println("Schema Namespace-Location pair option not specified properly!!"); - invalid = true; - } - } - } - - return invalid; - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanySchemaGenerator.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanySchemaGenerator.java deleted file mode 100644 index 03291428a2..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanySchemaGenerator.java +++ /dev/null @@ -1,348 +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.tools.java2wsdl.generate; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.axis2.description.java2wsdl.bytecode.MethodTable; -import org.apache.tuscany.sdo.util.DataObjectUtil; -import org.apache.ws.commons.schema.XmlSchema; -import org.apache.ws.commons.schema.XmlSchemaCollection; -import org.apache.ws.commons.schema.XmlSchemaComplexType; -import org.apache.ws.commons.schema.XmlSchemaElement; -import org.apache.ws.commons.schema.XmlSchemaForm; -import org.apache.ws.commons.schema.XmlSchemaImport; -import org.apache.ws.commons.schema.XmlSchemaInclude; -import org.apache.ws.commons.schema.XmlSchemaSequence; -import org.apache.ws.commons.schema.utils.NamespaceMap; -import org.codehaus.jam.JClass; -import org.codehaus.jam.JMethod; -import org.codehaus.jam.JParameter; -import org.codehaus.jam.JamClassIterator; -import org.codehaus.jam.JamService; -import org.codehaus.jam.JamServiceFactory; -import org.codehaus.jam.JamServiceParams; - -public class TuscanySchemaGenerator implements TuscanyJava2WSDLConstants { - public static final String NAME_SPACE_PREFIX = "stn_"; - public static final String PERIOD_SEPARATOR = "."; - private static int prefixCount = 1; - - protected String attrFormDefault = null; - protected String elementFormDefault = null; - protected Hashtable targetNamespacePrefixMap = new Hashtable(); - protected Hashtable schemaMap = new Hashtable(); - protected Hashtable sdoAnnoMap = new Hashtable(); - protected XmlSchemaCollection xmlSchemaCollection = new XmlSchemaCollection(); - private TuscanyTypeTable typeTable = new TuscanyTypeTable(); - protected SchemaBuilder schemaBuilder = null; - protected Map schemaLocationMap = null; - - private ClassLoader classLoader; - private String className; - - // to keep loaded method using JAM - private JMethod methods[]; - - // to store byte code method using Axis 1.x codes - private MethodTable methodTable; - private String schemaTargetNameSpace; - private String schema_namespace_prefix; - private Class clazz; - private ArrayList excludeMethods = new ArrayList(); - - public TuscanySchemaGenerator(ClassLoader loader, - String className, - String schematargetNamespace, - String schematargetNamespacePrefix, - Map schemaLocMap) throws Exception { - DataObjectUtil.initRuntime(); - this.classLoader = loader; - this.className = className; - clazz = Class.forName(className, true, loader); - methodTable = new MethodTable(clazz); - this.schemaTargetNameSpace = schematargetNamespace; - this.schema_namespace_prefix = schematargetNamespacePrefix; - this.schemaLocationMap = schemaLocMap; - - initializeSchemaMap(this.schemaTargetNameSpace, this.schema_namespace_prefix); - schemaBuilder = - new SchemaBuilder(xmlSchemaCollection, schemaMap, targetNamespacePrefixMap, typeTable, - getAttrFormDefault(), getElementFormDefault(), schemaLocMap, this.classLoader, null); - } - - /** - * Generates schema for all the parameters in method. First generates schema - * for all different parameter type and later refers to them. - * - * @return Returns XmlSchema. - * @throws Exception - */ - public Collection buildWSDLTypes() throws Exception { - JamServiceFactory factory = JamServiceFactory.getInstance(); - JamServiceParams jam_service_parms = factory.createServiceParams(); - // setting the classLoder - // jam_service_parms.setParentClassLoader(factory.createJamClassLoader(classLoader)); - // it can possible to add the classLoader as well - jam_service_parms.addClassLoader(classLoader); - jam_service_parms.includeClass(className); - JamService service = factory.createService(jam_service_parms); - - JamClassIterator jClassIter = service.getClasses(); - // all most all the time the ittr will have only one class in it - while (jClassIter.hasNext()) { - JClass jclass = (JClass)jClassIter.next(); - // serviceName = jclass.getSimpleName(); - // todo in the future , when we support annotation we can use this - // JAnnotation[] annotations = jclass.getAnnotations(); - - /** - * Schema generation done in two stage 1. Load all the methods and - * create type for methods parameters (if the parameters are Bean - * then it will create Complex types for those , and if the - * parameters are simple type which describe in SimpleTypeTable - * nothing will happen) 2. In the next stage for all the methods - * messages and port types will be created - */ - methods = jclass.getDeclaredMethods(); - - // since we do not support overload - HashMap uniqueMethods = new HashMap(); - XmlSchemaComplexType methodSchemaType = null; - XmlSchemaSequence sequence = null; - for (int i = 0; i < methods.length; i++) { - String methodName = methods[i].getSimpleName(); - JMethod jMethod = methods[i]; - // no need to think about this method , since that is system - // config method - if (excludeMethods.contains(jMethod.getSimpleName())) { - continue; - } - // if (jMethod.getSimpleName().equals("init") - // || "setOperationContext".equals(jMethod.getSimpleName()) - // || "destroy".equals(jMethod.getSimpleName())) - // continue; - if (uniqueMethods.get(jMethod.getSimpleName()) != null) { - throw new Exception(" Sorry we don't support methods overloading !!!! "); - } - - if (!jMethod.isPublic()) { - // no need to generate Schema for non public methods - continue; - } - - uniqueMethods.put(jMethod.getSimpleName(), jMethod); - JParameter[] paras = jMethod.getParameters(); - String parameterNames[] = null; - if (paras.length > 0) { - parameterNames = methodTable.getParameterNames(methodName); - sequence = new XmlSchemaSequence(); - - // create the schema type for the method wrapper - methodSchemaType = createSchemaTypeForMethodPart(jMethod.getSimpleName()); - methodSchemaType.setParticle(sequence); - } - - for (int j = 0; j < paras.length; j++) { - JParameter methodParameter = paras[j]; - JClass paraType = methodParameter.getType(); - generateSchemaForType(sequence, paraType, (parameterNames != null && parameterNames[j] != null) - ? parameterNames[j] : methodParameter.getSimpleName()); - } - // for its return type - JClass returnType = jMethod.getReturnType(); - if (!returnType.isVoidType()) { - methodSchemaType = createSchemaTypeForMethodPart(jMethod.getSimpleName() + RESPONSE); - sequence = new XmlSchemaSequence(); - methodSchemaType.setParticle(sequence); - generateSchemaForType(sequence, returnType, "return"); - } - } - // generateWrapperElements(methods); - } - return schemaMap.values(); - } - - private QName generateSchemaForType(XmlSchemaSequence sequence, JClass type, String partName) throws Exception { - boolean isArrayType = type.isArrayType(); - if (isArrayType) { - type = type.getArrayComponentType(); - } - - String classTypeName = type.getQualifiedName(); - - QName schemaTypeName = typeTable.getSimpleSchemaTypeName(classTypeName); - if (schemaTypeName == null) { - schemaTypeName = schemaBuilder.generateSchema(type); - addContentToMethodSchemaType(sequence, schemaTypeName, partName, type.isArrayType()); - addImportORInclude((XmlSchema)schemaMap.get(schemaTargetNameSpace), schemaTypeName); - - } else { - addContentToMethodSchemaType(sequence, schemaTypeName, partName, type.isArrayType()); - } - - return schemaTypeName; - } - - private void addContentToMethodSchemaType(XmlSchemaSequence sequence, - QName schemaTypeName, - String paraName, - boolean isArray) { - XmlSchemaElement elt1 = new XmlSchemaElement(); - elt1.setName(paraName); - elt1.setSchemaTypeName(schemaTypeName); - sequence.getItems().add(elt1); - - if (isArray) { - elt1.setMaxOccurs(Long.MAX_VALUE); - elt1.setMinOccurs(0); - } - } - - private XmlSchemaComplexType createSchemaTypeForMethodPart(String localPartName) { - XmlSchema xmlSchema = (XmlSchema)schemaMap.get(schemaTargetNameSpace); - QName elementName = new QName(this.schemaTargetNameSpace, localPartName, this.schema_namespace_prefix); - XmlSchemaComplexType complexType = new XmlSchemaComplexType(xmlSchema); - - XmlSchemaElement globalElement = new XmlSchemaElement(); - globalElement.setSchemaType(complexType); - globalElement.setName(formGlobalElementName(localPartName)); - globalElement.setQName(elementName); - - xmlSchema.getItems().add(globalElement); - xmlSchema.getElements().add(elementName, globalElement); - - typeTable.addComplexSchemaType(this.schemaTargetNameSpace, globalElement.getName(), elementName); - - return complexType; - } - - private String formGlobalElementName(String typeName) { - String firstChar = typeName.substring(0, 1); - return typeName.replaceFirst(firstChar, firstChar.toLowerCase()); - } - - public TuscanyTypeTable getTypeTable() { - return typeTable; - } - - public JMethod[] getMethods() { - return methods; - } - - private String generatePrefix() { - return NAME_SPACE_PREFIX + prefixCount++; - } - - public void setExcludeMethods(ArrayList excludeMethods) { - this.excludeMethods = excludeMethods; - } - - private void initializeSchemaMap(String targetNamespace, String targetNamespacePrefix) { - XmlSchema xmlSchema = new XmlSchema(targetNamespace, xmlSchemaCollection); - xmlSchema.setAttributeFormDefault(getAttrFormDefaultSetting()); - xmlSchema.setElementFormDefault(getElementFormDefaultSetting()); - - targetNamespacePrefixMap.put(targetNamespace, targetNamespacePrefix); - schemaMap.put(targetNamespace, xmlSchema); - - NamespaceMap prefixmap = new NamespaceMap(); - prefixmap.put(TuscanyTypeTable.XS_URI_PREFIX, TuscanyTypeTable.XML_SCHEMA_URI); - prefixmap.put(targetNamespacePrefix, targetNamespace); - xmlSchema.setNamespaceContext(prefixmap); - } - - private void setFormDefaults() { - - } - - public Hashtable getSdoAnnoMap() { - return sdoAnnoMap; - } - - public void setSdoAnnoMap(Hashtable sdoAnnoMap) { - this.sdoAnnoMap = sdoAnnoMap; - } - - private void addImportORInclude(XmlSchema xmlSchema, QName schemaTypeName) { - // decide whether there must be an import or an include - if (xmlSchema.getTargetNamespace().equals(schemaTypeName.getNamespaceURI())) { - XmlSchema containingSchema = (XmlSchema)schemaMap.get(schemaTypeName.getNamespaceURI()); - // if the type is not defined in the Schema then include - if (containingSchema.getTypeByName(schemaTypeName) == null) { - String schemaLocation = null; - if ((schemaLocation = (String)schemaLocationMap.get(schemaTypeName.getNamespaceURI())) != null) { - schemaLocation = DEFAULT_SCHEMA_LOCATION; - } - - XmlSchemaInclude includeElement = new XmlSchemaInclude(); - includeElement.setSchemaLocation(schemaLocation); - - if (!xmlSchema.getIncludes().contains(includeElement)) { - xmlSchema.getIncludes().add(includeElement); - } - } - } else { - if (!((NamespaceMap)xmlSchema.getNamespaceContext()).values().contains(schemaTypeName.getNamespaceURI())) { - XmlSchemaImport importElement = new XmlSchemaImport(); - importElement.setNamespace(schemaTypeName.getNamespaceURI()); - xmlSchema.getItems().add(importElement); - ((NamespaceMap)xmlSchema.getNamespaceContext()).put(generatePrefix(), schemaTypeName.getNamespaceURI()); - } - } - } - - private XmlSchemaForm getAttrFormDefaultSetting() { - if (FORM_DEFAULT_UNQUALIFIED.equals(getAttrFormDefault())) { - return new XmlSchemaForm(XmlSchemaForm.UNQUALIFIED); - } else { - return new XmlSchemaForm(XmlSchemaForm.QUALIFIED); - } - } - - private XmlSchemaForm getElementFormDefaultSetting() { - if (FORM_DEFAULT_UNQUALIFIED.equals(getElementFormDefault())) { - return new XmlSchemaForm(XmlSchemaForm.UNQUALIFIED); - } else { - return new XmlSchemaForm(XmlSchemaForm.QUALIFIED); - } - } - - public String getAttrFormDefault() { - return attrFormDefault; - } - - public void setAttrFormDefault(String attrFormDefault) { - this.attrFormDefault = attrFormDefault; - } - - public String getElementFormDefault() { - return elementFormDefault; - } - - public void setElementFormDefault(String elementFormDefault) { - this.elementFormDefault = elementFormDefault; - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyTypeTable.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyTypeTable.java deleted file mode 100644 index cb41c56b94..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyTypeTable.java +++ /dev/null @@ -1,220 +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.tools.java2wsdl.generate; - -import java.util.ArrayList; -import java.util.Hashtable; -import java.util.Iterator; -import java.util.List; -import java.util.Vector; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMElement; -import org.apache.axis2.description.java2wsdl.Java2WSDLUtils; -import org.codehaus.jam.JClass; - -import commonj.sdo.DataObject; - -public class TuscanyTypeTable -{ - public static final String XML_SCHEMA_URI = "http://www.w3.org/2001/XMLSchema"; - public static final String XS_URI_PREFIX = "xs"; - public static final QName XS_QNAME = new QName(XML_SCHEMA_URI, "schema", XS_URI_PREFIX); - public static final String DELIMITER = "#"; - - private Hashtable<String, QName> simpleXSDTypes; - private Hashtable<String, QName> complexXSDTypes; - - public static String asQualifiedName(String uri, String typeName) - { - return (uri + DELIMITER + typeName); - } - - - public TuscanyTypeTable() - { - simpleXSDTypes = new Hashtable<String, QName>(); - complexXSDTypes = new Hashtable<String, QName>(); - populateSimpleXSDTypes(); - populateStdSDOTypes(); - } - - private void populateStdSDOTypes() - { - simpleXSDTypes.put("Boolean", - new QName(XML_SCHEMA_URI, "boolean", XS_URI_PREFIX)); - simpleXSDTypes.put("Byte", - new QName(XML_SCHEMA_URI, "byte", XS_URI_PREFIX)); - simpleXSDTypes.put("Bytes", - new QName(XML_SCHEMA_URI, "hexBinary", XS_URI_PREFIX)); - simpleXSDTypes.put("Character", - new QName(XML_SCHEMA_URI, "string", XS_URI_PREFIX)); - simpleXSDTypes.put("DataObject", - new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX)); - simpleXSDTypes.put("Date", - new QName(XML_SCHEMA_URI, "dateTime", XS_URI_PREFIX)); - simpleXSDTypes.put("Day", - new QName(XML_SCHEMA_URI, "gDay", XS_URI_PREFIX)); - simpleXSDTypes.put("Decimal", - new QName(XML_SCHEMA_URI, "decimal", XS_URI_PREFIX)); - simpleXSDTypes.put("Double", - new QName(XML_SCHEMA_URI, "double", XS_URI_PREFIX)); - simpleXSDTypes.put("Duration", - new QName(XML_SCHEMA_URI, "duration", XS_URI_PREFIX)); - simpleXSDTypes.put("Float", - new QName(XML_SCHEMA_URI, "float", XS_URI_PREFIX)); - simpleXSDTypes.put("Int", - new QName(XML_SCHEMA_URI, "int", XS_URI_PREFIX)); - simpleXSDTypes.put("Integer", - new QName(XML_SCHEMA_URI, "integer", XS_URI_PREFIX)); - simpleXSDTypes.put("Long", - new QName(XML_SCHEMA_URI, "long", XS_URI_PREFIX)); - simpleXSDTypes.put("Month", - new QName(XML_SCHEMA_URI, "gMonth", XS_URI_PREFIX)); - simpleXSDTypes.put("monthDay", - new QName(XML_SCHEMA_URI, "gMonthDay", XS_URI_PREFIX)); - simpleXSDTypes.put("Object", - new QName(XML_SCHEMA_URI, "anySimpleType", XS_URI_PREFIX)); - simpleXSDTypes.put("Short", - new QName(XML_SCHEMA_URI, "short", XS_URI_PREFIX)); - simpleXSDTypes.put("String", - new QName(XML_SCHEMA_URI, "string", XS_URI_PREFIX)); - simpleXSDTypes.put("Strings", - new QName(XML_SCHEMA_URI, "string", XS_URI_PREFIX)); - simpleXSDTypes.put("Time", - new QName(XML_SCHEMA_URI, "time", XS_URI_PREFIX)); - simpleXSDTypes.put("Year", - new QName(XML_SCHEMA_URI, "gYear", XS_URI_PREFIX)); - simpleXSDTypes.put("YearMonth", - new QName(XML_SCHEMA_URI, "gYearMonth", XS_URI_PREFIX)); - simpleXSDTypes.put("YearMonthDay", - new QName(XML_SCHEMA_URI, "date", XS_URI_PREFIX)); - simpleXSDTypes.put("URI", - new QName(XML_SCHEMA_URI, "anyURI", XS_URI_PREFIX)); - } - - private void populateSimpleXSDTypes() { - //todo pls use the types from org.apache.ws.commons.schema.constants.Constants - simpleXSDTypes.put("int", - new QName(XML_SCHEMA_URI, "int", XS_URI_PREFIX)); - simpleXSDTypes.put("java.lang.String", - new QName(XML_SCHEMA_URI, "string", XS_URI_PREFIX)); - simpleXSDTypes.put("boolean", - new QName(XML_SCHEMA_URI, "boolean", XS_URI_PREFIX)); - simpleXSDTypes.put("float", - new QName(XML_SCHEMA_URI, "float", XS_URI_PREFIX)); - simpleXSDTypes.put("double", - new QName(XML_SCHEMA_URI, "double", XS_URI_PREFIX)); - simpleXSDTypes.put("short", - new QName(XML_SCHEMA_URI, "short", XS_URI_PREFIX)); - simpleXSDTypes.put("long", - new QName(XML_SCHEMA_URI, "long", XS_URI_PREFIX)); - simpleXSDTypes.put("byte", - new QName(XML_SCHEMA_URI, "byte", XS_URI_PREFIX)); - simpleXSDTypes.put("char", - new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX)); - simpleXSDTypes.put("java.lang.Integer", - new QName(XML_SCHEMA_URI, "int", XS_URI_PREFIX)); - simpleXSDTypes.put("java.lang.Double", - new QName(XML_SCHEMA_URI, "double", XS_URI_PREFIX)); - simpleXSDTypes.put("java.lang.Float", - new QName(XML_SCHEMA_URI, "float", XS_URI_PREFIX)); - simpleXSDTypes.put("java.lang.Long", - new QName(XML_SCHEMA_URI, "long", XS_URI_PREFIX)); - simpleXSDTypes.put("java.lang.Character", - new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX)); - simpleXSDTypes.put("java.lang.Boolean", - new QName(XML_SCHEMA_URI, "boolean", XS_URI_PREFIX)); - simpleXSDTypes.put("java.lang.Byte", - new QName(XML_SCHEMA_URI, "byte", XS_URI_PREFIX)); - simpleXSDTypes.put("java.lang.Short", - new QName(XML_SCHEMA_URI, "short", XS_URI_PREFIX)); - simpleXSDTypes.put("java.util.Date", - new QName(XML_SCHEMA_URI, "dateTime", XS_URI_PREFIX)); - simpleXSDTypes.put("java.util.Calendar", - new QName(XML_SCHEMA_URI, "dateTime", XS_URI_PREFIX)); - simpleXSDTypes.put("java.lang.Object", - new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX)); - simpleXSDTypes.put("java.math.BigDecimal", - new QName(XML_SCHEMA_URI, "decimal", XS_URI_PREFIX)); - - // Any types - simpleXSDTypes.put(OMElement.class.getName(), - new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX)); - simpleXSDTypes.put(ArrayList.class.getName(), - new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX)); - simpleXSDTypes.put(Vector.class.getName(), - new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX)); - simpleXSDTypes.put(List.class.getName(), - new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX)); - - // I'm unsure what populateStdSDOTypes is supposed to be setting up, - // given that I still have to do this to map "commonj.sdo.DataObject" - // to xsd:anyType, but I'll do it anyway. - // - simpleXSDTypes.put(DataObject.class.getName(), - new QName(XML_SCHEMA_URI, "anyType", XS_URI_PREFIX)); - } - - public QName getStdSdoType(String typename) { - return (QName) simpleXSDTypes.get(typename); - } - - public QName getComplexSchemaTypeName(String sdoURI, String sdoTypeName) { - return (QName) complexXSDTypes.get(asQualifiedName(sdoURI, sdoTypeName)); - } - - public QName getComplexSchemaTypeName(JClass javaClass, ClassLoader cl) throws Exception { - String namespace = Java2WSDLUtils.schemaNamespaceFromClassName(javaClass.getQualifiedName(), cl).toString(); - return (QName) complexXSDTypes.get(asQualifiedName(namespace, javaClass.getSimpleName())); - } - - public boolean isSimpleType(String typeName) { - Iterator keys = simpleXSDTypes.keySet().iterator(); - while (keys.hasNext()) { - String s = (String) keys.next(); - if (s.equals(typeName)) { - return true; - } - } - return false; - } - - public QName getSimpleSchemaTypeName(String typename) { - return (QName) simpleXSDTypes.get(typename); - } - - public void addSimpleSchemaType(String typeName, QName schemaType) { - simpleXSDTypes.put(typeName, schemaType); - } - - public void addComplexSchemaType(String namespaceURI, String name, QName schemaType) { - complexXSDTypes.put(asQualifiedName(namespaceURI, name), schemaType); - } - - public QName getQNamefortheType(String namespaceURI, String typeName) { - if (XML_SCHEMA_URI.equals(namespaceURI)) { - return getSimpleSchemaTypeName(typeName); - } else { - return getComplexSchemaTypeName(namespaceURI, typeName); - } - } -} - diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyWSDLTypesGenerator.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyWSDLTypesGenerator.java deleted file mode 100644 index 66c9100ef9..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyWSDLTypesGenerator.java +++ /dev/null @@ -1,370 +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.tools.java2wsdl.generate; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.axis2.description.java2wsdl.bytecode.MethodTable; -import org.apache.ws.commons.schema.XmlSchema; -import org.apache.ws.commons.schema.XmlSchemaCollection; -import org.apache.ws.commons.schema.XmlSchemaComplexType; -import org.apache.ws.commons.schema.XmlSchemaElement; -import org.apache.ws.commons.schema.XmlSchemaForm; -import org.apache.ws.commons.schema.XmlSchemaImport; -import org.apache.ws.commons.schema.XmlSchemaInclude; -import org.apache.ws.commons.schema.XmlSchemaSequence; -import org.apache.ws.commons.schema.utils.NamespaceMap; -import org.codehaus.jam.JClass; -import org.codehaus.jam.JMethod; -import org.codehaus.jam.JParameter; -import org.codehaus.jam.JamClassIterator; -import org.codehaus.jam.JamService; -import org.codehaus.jam.JamServiceFactory; -import org.codehaus.jam.JamServiceParams; - -public class TuscanyWSDLTypesGenerator implements TuscanyJava2WSDLConstants { - public static final String NAME_SPACE_PREFIX = "stn_"; - - public static final String PERIOD_SEPARATOR = "."; - - private static int prefixCount = 1; - - protected GenerationParameters generationParams; - - protected Hashtable targetNamespacePrefixMap = new Hashtable(); - - protected Hashtable schemaMap = new Hashtable(); - - protected XmlSchemaCollection xmlSchemaCollection = new XmlSchemaCollection(); - - private TuscanyTypeTable typeTable = new TuscanyTypeTable(); - - protected SchemaBuilder schemaBuilder = null; - - protected Map schemaLocationMap = null; - - // to keep loaded method using JAM - private JMethod methods[]; - - // to store byte code method using Axis 1.x codes - private MethodTable methodTable; - - private Class clazz; - - private ArrayList excludeMethods = new ArrayList(); - - boolean alreadyPrintedArrayWarningMessage = false; - - public TuscanyWSDLTypesGenerator(GenerationParameters genParams) throws Exception { - this.generationParams = genParams; - - String inputClassName = generationParams.getSourceClassName(); - - try { - clazz = Class.forName(inputClassName, true, generationParams.getClassLoader()); - } catch (ClassNotFoundException cfne) { - printInputSourceClassNotFoundMessage(inputClassName); - throw new IllegalArgumentException("Input className not found:" + inputClassName, cfne); - } - - methodTable = new MethodTable(clazz); - - initializeSchemaMap(generationParams.getSchemaTargetNamespace(), generationParams - .getSchemaTargetNamespacePrefix()); - - this.schemaLocationMap = generationParams.getSchemaLocationMap(); - schemaBuilder = - new SchemaBuilder(xmlSchemaCollection, schemaMap, targetNamespacePrefixMap, typeTable, generationParams - .getAttrFormDefault(), generationParams.getElementFormDefault(), generationParams - .getSchemaLocationMap(), generationParams.getClassLoader(), generationParams.getFactoryClassNames()); - } - - /** - * Generates schema for all the parameters in method. First generates schema - * for all different parameter type and later refers to them. - * - * @return Returns XmlSchema. - * @throws Exception - */ - public Collection buildWSDLTypes() throws Exception { - JamServiceFactory factory = JamServiceFactory.getInstance(); - JamServiceParams jam_service_parms = factory.createServiceParams(); - // setting the classLoder - // jam_service_parms.setParentClassLoader(factory.createJamClassLoader(classLoader)); - // it can possible to add the classLoader as well - jam_service_parms.addClassLoader(generationParams.getClassLoader()); - jam_service_parms.includeClass(generationParams.getSourceClassName()); - - for (int count = 0; count < generationParams.getExtraClasses().size(); ++count) { - jam_service_parms.includeClass((String)generationParams.getExtraClasses().get(count)); - } - - JamService service = factory.createService(jam_service_parms); - QName extraSchemaTypeName = null; - JamClassIterator jClassIter = service.getClasses(); - // all most all the time the ittr will have only one class in it - while (jClassIter.hasNext()) { - JClass jclass = (JClass)jClassIter.next(); - // serviceName = jclass.getSimpleName(); - // todo in the future , when we support annotation we can use this - // JAnnotation[] annotations = jclass.getAnnotations(); - - if (jclass.getQualifiedName().equals(generationParams.getSourceClassName())) { - /** - * Schema generation done in two stage 1. Load all the methods - * and create type for methods parameters (if the parameters are - * Bean then it will create Complex types for those , and if the - * parameters are simple type which describe in SimpleTypeTable - * nothing will happen) 2. In the next stage for all the methods - * messages and port types will be created - */ - methods = jclass.getDeclaredMethods(); - // short the elements in the array - Arrays.sort(methods); - - // since we do not support overload - HashMap uniqueMethods = new HashMap(); - XmlSchemaComplexType methodSchemaType; - XmlSchemaSequence sequence = null; - - for (int i = 0; i < methods.length; i++) { - JMethod jMethod = methods[i]; - - String methodName = methods[i].getSimpleName(); - // no need to think about this method , since that is system - // config method - if (excludeMethods.contains(jMethod.getSimpleName())) { - continue; - } - - if (uniqueMethods.get(jMethod.getSimpleName()) != null) { - throw new Exception(" Sorry we don't support methods overloading !!!! "); - } - - if (!jMethod.isPublic()) { - // no need to generate Schema for non public methods - continue; - } - uniqueMethods.put(jMethod.getSimpleName(), jMethod); - // create the schema type for the method wrapper - - uniqueMethods.put(jMethod.getSimpleName(), jMethod); - JParameter[] paras = jMethod.getParameters(); - String parameterNames[] = null; - // better to handle void types too - parameterNames = methodTable.getParameterNames(methodName); - sequence = new XmlSchemaSequence(); - - methodSchemaType = createSchemaTypeForMethodPart(jMethod.getSimpleName()); - methodSchemaType.setParticle(sequence); - - for (int j = 0; j < paras.length; j++) { - JParameter methodParameter = paras[j]; - JClass paraType = methodParameter.getType(); - generateSchemaForType(sequence, paraType, (parameterNames != null && parameterNames[j] != null) - ? parameterNames[j] : methodParameter.getSimpleName()); - } - // for its return type - JClass returnType = jMethod.getReturnType(); - - // better to handle void types too - methodSchemaType = createSchemaTypeForMethodPart(jMethod.getSimpleName() + RESPONSE); - sequence = new XmlSchemaSequence(); - methodSchemaType.setParticle(sequence); - generateSchemaForType(sequence, returnType, "return"); - } - } else { - // generate the schema type for extra classes - extraSchemaTypeName = typeTable.getSimpleSchemaTypeName(jclass.getQualifiedName()); - if (extraSchemaTypeName == null) { - extraSchemaTypeName = schemaBuilder.generateSchema(jclass); - } - } - } - return schemaMap.values(); - } - - private QName generateSchemaForType(XmlSchemaSequence sequence, JClass type, String partName) throws Exception { - if (type.isVoidType()) { - return null; - } - boolean isArrayType = type.isArrayType(); - if (isArrayType) { - type = type.getArrayComponentType(); - } - - String classTypeName = type.getQualifiedName(); - - QName schemaTypeName = typeTable.getSimpleSchemaTypeName(classTypeName); - if (schemaTypeName == null) { - schemaTypeName = schemaBuilder.generateSchema(type); - addContentToMethodSchemaType(sequence, schemaTypeName, partName, type.isArrayType()); - addImportORInclude((XmlSchema)schemaMap.get(generationParams.getSchemaTargetNamespace()), schemaTypeName); - - } else { - addContentToMethodSchemaType(sequence, schemaTypeName, partName, type.isArrayType()); - } - - return schemaTypeName; - } - - private void addContentToMethodSchemaType(XmlSchemaSequence sequence, - QName schemaTypeName, - String paraName, - boolean isArray) { - XmlSchemaElement elt1 = new XmlSchemaElement(); - elt1.setName(paraName); - elt1.setSchemaTypeName(schemaTypeName); - sequence.getItems().add(elt1); - - if (isArray) { - // FIXME: lresende to check this - if (!alreadyPrintedArrayWarningMessage) { - alreadyPrintedArrayWarningMessage = true; - System.out.println("Warning!: Array type detected as Java method parameter. The WSDL"); - System.out.println("will be generated anyway in spite of the fact that round-trip (WSDL2Java)"); - System.out.println("may not be handled in the expected manner. There may be runtime issues as "); - System.out.println("well as array types are not necessarily supported yet."); - System.out.println(""); - } - elt1.setMaxOccurs(Long.MAX_VALUE); - elt1.setMinOccurs(0); - } - } - - private XmlSchemaComplexType createSchemaTypeForMethodPart(String localPartName) throws Exception { - XmlSchema xmlSchema = (XmlSchema)schemaMap.get(generationParams.getSchemaTargetNamespace()); - QName elementName = - new QName(generationParams.getSchemaTargetNamespace(), localPartName, generationParams - .getSchemaTargetNamespacePrefix()); - XmlSchemaComplexType complexType = new XmlSchemaComplexType(xmlSchema); - - XmlSchemaElement globalElement = new XmlSchemaElement(); - globalElement.setSchemaType(complexType); - globalElement.setName(localPartName); - globalElement.setQName(elementName); - - xmlSchema.getItems().add(globalElement); - xmlSchema.getElements().add(elementName, globalElement); - - typeTable.addComplexSchemaType(generationParams.getSchemaTargetNamespace(), - globalElement.getName(), - elementName); - - return complexType; - } - - public TuscanyTypeTable getTypeTable() { - return typeTable; - } - - public JMethod[] getMethods() { - return methods; - } - - private String generatePrefix() { - return NAME_SPACE_PREFIX + prefixCount++; - } - - public void setExcludeMethods(ArrayList excludeMethods) { - this.excludeMethods = excludeMethods; - } - - private void initializeSchemaMap(String targetNamespace, String targetNamespacePrefix) { - XmlSchema xmlSchema = new XmlSchema(targetNamespace, xmlSchemaCollection); - xmlSchema.setAttributeFormDefault(getAttrFormDefaultSetting()); - xmlSchema.setElementFormDefault(getElementFormDefaultSetting()); - - targetNamespacePrefixMap.put(targetNamespace, targetNamespacePrefix); - schemaMap.put(targetNamespace, xmlSchema); - - NamespaceMap prefixmap = new NamespaceMap(); - prefixmap.put(TuscanyTypeTable.XS_URI_PREFIX, TuscanyTypeTable.XML_SCHEMA_URI); - prefixmap.put(targetNamespacePrefix, targetNamespace); - xmlSchema.setNamespaceContext(prefixmap); - } - - /* - * Adds to 'xmlSchema' an import or include of the XMLSchema containing - * 'schemaTypeName' - */ - private void addImportORInclude(XmlSchema xmlSchema, QName schemaTypeName) { - // decide whether there must be an import or an include - if (xmlSchema.getTargetNamespace().equals(schemaTypeName.getNamespaceURI())) { - XmlSchema containingSchema = (XmlSchema)schemaMap.get(schemaTypeName.getNamespaceURI()); - // if the type is not defined in the Schema then include - if (containingSchema.getTypeByName(schemaTypeName) == null) { - String schemaLocation = null; - // This looked backwards so I flipped it - if ((schemaLocation = (String)schemaLocationMap.get(schemaTypeName.getNamespaceURI())) != null) { - schemaLocation = DEFAULT_SCHEMA_LOCATION; - } - - XmlSchemaInclude includeElement = new XmlSchemaInclude(); - includeElement.setSchemaLocation(schemaLocation); - - if (!xmlSchema.getIncludes().contains(includeElement)) { - xmlSchema.getIncludes().add(includeElement); - // Add this so it will be serialized - xmlSchema.getItems().add(includeElement); - } - } - } else { - if (!((NamespaceMap)xmlSchema.getNamespaceContext()).values().contains(schemaTypeName.getNamespaceURI())) { - XmlSchemaImport importElement = new XmlSchemaImport(); - importElement.setNamespace(schemaTypeName.getNamespaceURI()); - - // Add schemaLocation on imports - String schemaLocation = (String)schemaLocationMap.get(schemaTypeName.getNamespaceURI()); - importElement.setSchemaLocation(schemaLocation); - xmlSchema.getItems().add(importElement); - ((NamespaceMap)xmlSchema.getNamespaceContext()).put(generatePrefix(), schemaTypeName.getNamespaceURI()); - } - } - } - - private XmlSchemaForm getAttrFormDefaultSetting() { - if (FORM_DEFAULT_UNQUALIFIED.equals(generationParams.getAttrFormDefault())) { - return new XmlSchemaForm(XmlSchemaForm.UNQUALIFIED); - } else { - return new XmlSchemaForm(XmlSchemaForm.QUALIFIED); - } - } - - private XmlSchemaForm getElementFormDefaultSetting() { - if (FORM_DEFAULT_UNQUALIFIED.equals(generationParams.getElementFormDefault())) { - return new XmlSchemaForm(XmlSchemaForm.UNQUALIFIED); - } else { - return new XmlSchemaForm(XmlSchemaForm.QUALIFIED); - } - } - - private void printInputSourceClassNotFoundMessage(String inputClassName) { - System.out.println("ERROR!!: The input class: " + inputClassName + " could not be found."); - System.out.println("Please check the value you provided for the -cp <class path uri> option."); - System.out.println(""); - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/WSDLGenEvent.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/WSDLGenEvent.java deleted file mode 100644 index e30ada3af5..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/WSDLGenEvent.java +++ /dev/null @@ -1,42 +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.tools.java2wsdl.generate; - -import java.util.EventObject; - -public class WSDLGenEvent extends EventObject { - /** - * - */ - private static final long serialVersionUID = -356100754190514245L; - private int generationPhase = WSDLGenListener.UNKNOWN; - - public WSDLGenEvent(Object source, int genPhase) { - super(source); - this.generationPhase = genPhase; - } - - public int getGenerationPhase() { - return generationPhase; - } - - public void setGenerationPhase(int generationPhase) { - this.generationPhase = generationPhase; - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/WSDLGenListener.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/WSDLGenListener.java deleted file mode 100644 index 788d162f34..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/generate/WSDLGenListener.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.tools.java2wsdl.generate; - -public interface WSDLGenListener { - public static int UNKNOWN = 0; - - public static int INPUT_ARGS_PARSING = 1; - - public static int INPUT_ARGS_VALIDATION = 2; - - public static int WSDL_MODEL_CREATION = 3; - - public static int WSDL_MODEL_WRITING = 4; - - public static String[] phaseAsString = { "Unknown", - "Input Arguments Parsing", "Input Arguments Validation", - "WSDL Model Creation", "WSDL Model Writing" }; - - public void WSDLGenPhaseStarted(WSDLGenEvent event); - - public void WSDLGenPhaseCompleted(WSDLGenEvent event); -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/util/XMLNameUtil.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/util/XMLNameUtil.java deleted file mode 100644 index b30b8cd62b..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/java/org/apache/tuscany/tools/java2wsdl/util/XMLNameUtil.java +++ /dev/null @@ -1,143 +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.tools.java2wsdl.util; - -import java.util.ArrayList; -import java.util.List; - -public class XMLNameUtil { - - /** - * Returns a valid Java name from an XML Name. - * - * @param name - * @param isUpperCase - * @return a valid Java name from an XML Name - */ - public static String getJavaNameFromXMLName(String name, boolean isUpperCase) { - List<String> parsedName = parseName(name, '_'); - StringBuilder result = new StringBuilder(64 * parsedName.size()); - for (String nameComponent: parsedName) { - if (nameComponent.length() > 0) { - if (result.length() > 0 || isUpperCase) { - result.append(Character.toUpperCase(nameComponent.charAt(0))); - result.append(nameComponent.substring(1)); - } else { - result.append(nameComponent); - } - } - } - - if (result.length() == 0) { - return "_"; - } - if (Character.isJavaIdentifierStart(result.charAt(0))) { - return isUpperCase ? result.toString() : decapitalizeName(result.toString()); - } - return "_" + result; - } - - /** - * Decapitalize a name. - * @param name - * @return a decapitalized name - */ - public static String decapitalizeName(String name) { - if (name.length() == 0) { - return name; - } else { - String lowerName = name.toLowerCase(); - int i; - for (i = 0; i < name.length(); i++) { - if (name.charAt(i) == lowerName.charAt(i)) { - break; - } - } - if (i > 1 && i < name.length()) { - --i; - } - return name.substring(0, i).toLowerCase() + name.substring(i); - } - } - - /** - * Parse the given name. - * - * @param sourceName - * @param separator - * @return some stuff parsed from the name - */ - private static List<String> parseName(String sourceName, char separator) { - List<String> result = new ArrayList<String>(); - if (sourceName != null) { - StringBuilder currentWord = new StringBuilder(64); - boolean lastIsLower = false; - int index; - int length; - for (index = 0, length = sourceName.length(); index < length; ++index) { - char curChar = sourceName.charAt(index); - if (!Character.isJavaIdentifierPart(curChar)) { - curChar = separator; - } - if (Character.isUpperCase(curChar) - || (!lastIsLower && Character.isDigit(curChar)) - || curChar == separator) { - - if (lastIsLower && currentWord.length() > 1 - || curChar == separator && currentWord.length() > 0) { - result.add(currentWord.toString()); - currentWord = new StringBuilder(64); - } - lastIsLower = false; - } else { - if (!lastIsLower) { - int currentWordLength = currentWord.length(); - if (currentWordLength > 1) { - char lastChar = currentWord.charAt(--currentWordLength); - currentWord.setLength(currentWordLength); - result.add(currentWord.toString()); - currentWord = new StringBuilder(64); - currentWord.append(lastChar); - } - } - lastIsLower = true; - } - - if (curChar != separator) { - currentWord.append(curChar); - } - } - - result.add(currentWord.toString()); - } - return result; - } - - /** - * Return an EPackage name for the given namespace. - * - * @param namespace - * @return an EPackage name for the given namespace - */ - public static String getPackageNameFromNamespace(String namespace) { - return org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.getDefaultPackageName(namespace); - } - - -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/resources/META-INF/LICENSE.txt b/branches/sca-equinox/tools/sdo/java2wsdl/src/main/resources/META-INF/LICENSE.txt deleted file mode 100644 index 0084319535..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/main/resources/META-INF/LICENSE.txt +++ /dev/null @@ -1,202 +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, serviceDefinition marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/CustomerValue.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/CustomerValue.java deleted file mode 100644 index 135b374357..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/CustomerValue.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.tools.java2wsdl.generate; - -import org.apache.tuscany.tools.java2wsdl.generate.customer.Customer; - -public class CustomerValue { - - public int getValue(String custId, String stockSymbol) { - return 0; - } - - public Customer getCustomerDetails(String custId) { - return new Customer(); - } - - public String noArgsServiceMethod() { - return new String(); - } - - private void privateServiceMethod() { - - } - -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/CustomerWithAccount.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/CustomerWithAccount.java deleted file mode 100644 index dfebd77215..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/CustomerWithAccount.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.tools.java2wsdl.generate; - -import org.apache.tuscany.tools.java2wsdl.generate.account.Account; -import org.apache.tuscany.tools.java2wsdl.generate.customer.Customer; - -public class CustomerWithAccount { - - private Customer customer = new Customer(); - - private Account[] accounts; - - public int getValue(String custId, String stockSymbol) { - return 123; - } - - public Customer getCustomerDetails(String custId) { - return customer; - } - - public Account getCustomerAccount(String custId, String accountId) { - return accounts[0]; - } - - public Account[] getAccounts() { - return accounts; - } - - public void setAccounts(Account[] accounts) { - this.accounts = accounts; - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/ExampleService.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/ExampleService.java deleted file mode 100644 index 5406025643..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/ExampleService.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.tools.java2wsdl.generate;
-
-import org.osoa.sca.annotations.OneWay;
-
-public interface ExampleService {
-
- void sayHelloTwoWay(String name);
-
- @OneWay
- void sayHelloOneWay(String name);
-
- String getGreeting();
-}
diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLTestCase.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLTestCase.java deleted file mode 100644 index c587252d23..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/TuscanyJava2WSDLTestCase.java +++ /dev/null @@ -1,114 +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.tools.java2wsdl.generate; - -import java.io.File; - -import junit.framework.TestCase; - -/** - * A JUnit test case to test the Tuscany Java 2 WSDL Generation - */ -public class TuscanyJava2WSDLTestCase extends TestCase { - - /** - * setup the pre-requisites for the test case to run - * - * @exception Exception - */ - @Override - protected void setUp() throws Exception { - super.setUp(); - } - - /** - * @exception Exception - */ - @Override - protected void tearDown() throws Exception { - super.tearDown(); - } - - /** - * Simple WSDL generation test. - */ - public void testSimpleWSDLGeneration() { - String[] arguments = - new String[] {"-cn", "org.apache.tuscany.tools.java2wsdl.generate.CustomerValue", - "-o", "target/java2wsdl-source", "-xc", - "org.apache.tuscany.tools.java2wsdl.generate.extra.GoldCustomer"}; - - Java2WSDL.main(arguments); - - File file = new File("target/java2wsdl-source/CustomerValue.wsdl"); - assertTrue(file.exists() && file.isFile()); - } - - /** - * Test WSDL generation where a parameter Object[] is involved. - */ - public void testWsdlGeneration2() { - - String[] arguments = - new String[] {"-cn", "org.apache.tuscany.tools.java2wsdl.generate.CustomerWithAccount", - "-o", "target/java2wsdl-source",}; - Java2WSDL.main(arguments); - - File file = new File("target/java2wsdl-source/CustomerWithAccount.wsdl"); - assertTrue(file.exists() && file.isFile()); - } - - public void testWsdlGeneration_SDO_Static() { - // tests for SDOs where XSD exist. Hence no XSDs must be generated - String[] arguments = - new String[] {"-cn", "org.soapinterop.CreditScoreDocLit", - "-o", "target/java2wsdl-source", - "-ixsd", "[http://www.example.org/creditscore/doclit/," + "http://www.example.org/creditscore/doclit/xsd]"}; - Java2WSDL.main(arguments); - - File file = new File("target/java2wsdl-source/CreditScoreDocLit.wsdl"); - assertTrue(file.exists() && file.isFile()); - } - - /** - * Test WSDL generation for a service interface. - */ - public void testServiceWSDLGeneration() { - String[] arguments = - new String[] {"-cn", "org.apache.tuscany.tools.java2wsdl.generate.ExampleService", - "-o", "target/java2wsdl-source"}; - - Java2WSDL.main(arguments); - - File file = new File("target/java2wsdl-source/ExampleService.wsdl"); - assertTrue(file.exists() && file.isFile()); - } - - /** - * Test WSDL generation from a java interface and then generate the java - * interface using the generated WSDL. - */ - public void _testRoundTrip() { - // TODO implement round trip - // this should re-generate java interfaces from the generated wsdl - // and compile (?) the generated java code. - // fail(); - - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/account/Account.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/account/Account.java deleted file mode 100644 index bf49d98888..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/account/Account.java +++ /dev/null @@ -1,53 +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.tools.java2wsdl.generate.account; - -import java.math.BigDecimal; - -public class Account { - int accountType; - - String accountNo; - - BigDecimal balance; - - public String getAccountNo() { - return accountNo; - } - - public void setAccountNo(String accountNo) { - this.accountNo = accountNo; - } - - public int getAccountType() { - return accountType; - } - - public void setAccountType(int accountType) { - this.accountType = accountType; - } - - public BigDecimal getBalance() { - return balance; - } - - public void setBalance(BigDecimal balance) { - this.balance = balance; - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/customer/Customer.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/customer/Customer.java deleted file mode 100644 index cf83095852..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/customer/Customer.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.tools.java2wsdl.generate.customer; - -public class Customer { - private String name = ""; - - public int custType = 0; - - public String getName() { - return name; - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/extra/GoldCustomer.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/extra/GoldCustomer.java deleted file mode 100644 index 901da8e551..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/apache/tuscany/tools/java2wsdl/generate/extra/GoldCustomer.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.tools.java2wsdl.generate.extra; - -import org.apache.tuscany.tools.java2wsdl.generate.customer.Customer; - -public class GoldCustomer extends Customer { - public String goldCustNumber = ""; - - public String getGoldCustNumber() { - return goldCustNumber; - } - - public void setGoldCustNumber(String goldCustNumber) { - this.goldCustNumber = goldCustNumber; - } -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/soapinterop/CreditScoreDocLit.java b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/soapinterop/CreditScoreDocLit.java deleted file mode 100644 index 78a64dcc64..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/java/org/soapinterop/CreditScoreDocLit.java +++ /dev/null @@ -1,24 +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.soapinterop; - -public interface CreditScoreDocLit { - public org.example.creditscore.doclit.CreditReport getCreditScore(org.example.creditscore.doclit.Customer param0) - throws java.rmi.RemoteException; -} diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/AccountService.wsdl b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/AccountService.wsdl deleted file mode 100644 index 6f2fed1e2a..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/AccountService.wsdl +++ /dev/null @@ -1,242 +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.
- -->
-<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:tns="http://www.bigbank.com/Account/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:account="http://www.bigbank.com/Account/"
- targetNamespace="http://www.bigbank.com/Account/" - name="AccountService">
-
- <wsdl:types>
- <xsd:schema targetNamespace="http://www.bigbank.com/Account/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:account="http://www.bigbank.com/Account/" - xmlns:sdojava="commonj.sdo/java" - sdojava:package="org.apache.tuscany.samples.bigbank.account">
-
- <xsd:element name="getAccountReportWrapped0">
- <xsd:complexType>
- <xsd:sequence>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="getAccountReportWrapped0Response">
- <xsd:complexType>
- <xsd:sequence>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="getAccountReportWrapped1"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="customerID" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element>
- <xsd:element name="getAccountReportWrapped1Response"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="accountReport" type="account:AccountReport"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> -
- <xsd:element name="getAccountReportWrappedN">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="customerID" type="xsd:string"/>
- <xsd:element name="customerID2" type="xsd:int"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="getAccountReportWrappedNResponse">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="accountReport" type="account:AccountReport"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="getAccountReportBare0" type="xsd:string"/>
- <xsd:element name="getAccountReportBare0Response" type="xsd:int"/>
-
- <xsd:element name="getAccountReportBare1Simple" type="xsd:string"/>
- <xsd:element name="getAccountReportBare1SimpleResponse" type="xsd:int"/>
-
- <xsd:element name="getAccountReportBare1Complex" type="account:AccountRequest"/>
- <xsd:element name="getAccountReportBare1ComplexResponse" type="account:AccountReport"/>
-
- <xsd:complexType name="AccountRequest">
- <xsd:sequence>
- <xsd:element name="customerID" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="AccountReport">
- <xsd:sequence>
- <xsd:element name="accountSummaries" type="account:AccountSummary" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="AccountSummary">
- <xsd:attribute name="accountNumber" type="xsd:string"/>
- <xsd:attribute name="accountType" type="xsd:string"/>
- <xsd:attribute name="balance" type="xsd:float"/>
- </xsd:complexType>
-
- </xsd:schema>
- </wsdl:types>
-
- <wsdl:message name="getAccountReportWrapped0Request">
- <wsdl:part element="account:getAccountReportWrapped0" name="getAccountReportWrapped0Request"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportWrapped0Response">
- <wsdl:part element="account:getAccountReportWrapped0Response" name="getAccountReportWrapped0Response"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportWrapped1Request">
- <wsdl:part element="account:getAccountReportWrapped1" name="getAccountReportWrapped1Request"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportWrapped1Response">
- <wsdl:part element="account:getAccountReportWrapped1Response" name="getAccountReportWrapped1Response"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportWrappedNRequest">
- <wsdl:part element="account:getAccountReportWrappedN" name="getAccountReportWrappedNRequest"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportWrappedNResponse">
- <wsdl:part element="account:getAccountReportWrappedNResponse" name="getAccountReportWrappedNResponse"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportBare0Request">
- </wsdl:message>
- <wsdl:message name="getAccountReportBare0Response">
- </wsdl:message>
-
- <wsdl:message name="getAccountReportBare1SimpleRequest">
- <wsdl:part element="account:getAccountReportBare1Simple" name="getAccountReportBare1SimpleRequest"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportBare1SimpleResponse">
- <wsdl:part element="account:getAccountReportBare1SimpleResponse" name="getAccountReportBare1SimpleResponse"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportBare1ComplexRequest">
- <wsdl:part element="account:getAccountReportBare1Complex" name="getAccountReportBare1ComplexRequest"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportBare1ComplexResponse">
- <wsdl:part element="account:getAccountReportBare1ComplexResponse" name="getAccountReportBare1ComplexResponse"/>
- </wsdl:message>
-
- <wsdl:portType name="Account_Service">
- <wsdl:operation name="getAccountReportWrapped0">
- <wsdl:input message="tns:getAccountReportWrapped0Request"/>
- <wsdl:output message="tns:getAccountReportWrapped0Response"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrapped1">
- <wsdl:input message="tns:getAccountReportWrapped1Request"/>
- <wsdl:output message="tns:getAccountReportWrapped1Response"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrappedN">
- <wsdl:input message="tns:getAccountReportWrappedNRequest"/>
- <wsdl:output message="tns:getAccountReportWrappedNResponse"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare0">
- <wsdl:input message="tns:getAccountReportBare0Request"/>
- <wsdl:output message="tns:getAccountReportBare0Response"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Simple">
- <wsdl:input message="tns:getAccountReportBare1SimpleRequest"/>
- <wsdl:output message="tns:getAccountReportBare1SimpleResponse"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Complex">
- <wsdl:input message="tns:getAccountReportBare1ComplexRequest"/>
- <wsdl:output message="tns:getAccountReportBare1ComplexResponse"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="AccountServiceSOAP" type="tns:Account_Service">
- <soap:binding style="document"
- transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="getAccountReportWrapped0">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportWrapped0"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrapped1">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportWrapped1"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrappedN">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportWrappedN"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare0">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportBare0"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Simple">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportBare1Simple"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Complex">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportBare1Complex"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="AccountService">
- <wsdl:port binding="tns:AccountServiceSOAP"
- name="AccountServiceSOAP">
- <soap:address location="http://localhost:8085/sample-account/services/AccountService"/>
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/CreditScoreDocLit.wsdl b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/CreditScoreDocLit.wsdl deleted file mode 100644 index 09d1a58589..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/CreditScoreDocLit.wsdl +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
-
- 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.
- -->
-<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:tns="http://www.example.org/creditscore/doclit/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CreditScore"
- targetNamespace="http://www.example.org/creditscore/doclit/">
- <wsdl:types>
- <xsd:schema
- targetNamespace="http://www.example.org/creditscore/doclit/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:element name="getCreditScoreRequest" type="tns:Customer" />
- <xsd:complexType name="Customer">
- <xsd:sequence>
- <xsd:element name="ssn" type="xsd:string" />
- <xsd:element name="firstName" type="xsd:string" />
- <xsd:element name="lastName" type="xsd:string" />
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="getCreditScoreResponse" type="tns:CreditReport"/>
- <xsd:complexType name="CreditReport">
- <xsd:sequence>
- <xsd:element name="score" type="xsd:int"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:schema>
- </wsdl:types>
- <wsdl:message name="getCreditScoreResponse">
- <wsdl:part element="tns:getCreditScoreResponse"
- name="getCreditScoreResponse" />
- </wsdl:message>
- <wsdl:message name="getCreditScoreRequest">
- <wsdl:part element="tns:getCreditScoreRequest"
- name="getCreditScoreRequest" />
- </wsdl:message>
- <wsdl:portType name="CreditScoreDocLit">
- <wsdl:operation name="getCreditScore">
- <wsdl:input message="tns:getCreditScoreRequest" />
- <wsdl:output message="tns:getCreditScoreResponse" />
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="CreditScoreDocLitSOAP" type="tns:CreditScoreDocLit">
- <soap:binding style="document"
- transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="getCreditScore">
- <soap:operation
- soapAction="http://www.example.org/creditscore/doclit/getCreditScore" />
- <wsdl:input>
- <soap:body parts="getCreditScoreRequest" use="literal" />
- </wsdl:input>
- <wsdl:output>
- <soap:body parts="getCreditScoreResponse" use="literal" />
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="CreditScore">
- <wsdl:port binding="tns:CreditScoreDocLitSOAP"
- name="CreditScoreDocLitSOAP">
- <soap:address location="http://www.example.org/" />
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/helloworld.wsdl b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/helloworld.wsdl deleted file mode 100644 index 051f604bb2..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/helloworld.wsdl +++ /dev/null @@ -1,121 +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. - --> -<wsdl:definitions targetNamespace="http://helloworldaxis.samples.tuscany.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://helloworldaxis.samples.tuscany.apache.org" xmlns:intf="http://helloworldaxis.samples.tuscany.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="stockquote"> - <!--WSDL created by Apache Axis version: 1.2.1 -Built on Jun 14, 2005 (09:15:57 EDT)--> - <wsdl:types> - <schema elementFormDefault="qualified" - xmlns:hello="http://helloworldaxis.samples.tuscany.apache.org" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://helloworldaxis.samples.tuscany.apache.org" xmlns="http://www.w3.org/2001/XMLSchema"> - <complexType name="ComplexGreetings"> - <sequence> - <element name="greet1" type="xsd:string"/> - <element name="greet2" type="xsd:double"/> - </sequence> - </complexType> - <element name="getGreetings"> - <complexType> - <sequence> - <element name="in0" type="xsd:string"/> - <element name="in1" type="xsd:double"/> - <element name="in2" type="hello:ComplexGreetings"/> - </sequence> - <xsd:attribute name="language" type="xsd:string"/> - </complexType> - </element> - <element name="getGreetingsResponse"> - <complexType> - <sequence> - <element name="getGreetingsReturn" type="xsd:string"/> - </sequence> - </complexType> - </element> - </schema> - </wsdl:types> - - <wsdl:message name="getGreetingsRequest"> - - <wsdl:part element="impl:getGreetings" name="parameters"/> - - </wsdl:message> - - <wsdl:message name="getGreetingsResponse"> - - <wsdl:part element="impl:getGreetingsResponse" name="parameters"/> - - </wsdl:message> - - <wsdl:portType name="HelloWorldServiceImpl"> - - <wsdl:operation name="getGreetings"> - - <wsdl:input message="impl:getGreetingsRequest" name="getGreetingsRequest"/> - - <wsdl:output message="impl:getGreetingsResponse" name="getGreetingsResponse"/> - - </wsdl:operation> - - </wsdl:portType> - - <wsdl:binding name="helloworldSoapBinding" type="impl:HelloWorldServiceImpl"> - - <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> - - <wsdl:operation name="getGreetings"> - - <wsdlsoap:operation soapAction=""/> - - <wsdl:input name="getGreetingsRequest"> - - <wsdlsoap:body use="literal"/> - - </wsdl:input> - - <wsdl:output name="getGreetingsResponse"> - - <wsdlsoap:body use="literal"/> - - </wsdl:output> - - </wsdl:operation> - - </wsdl:binding> - - <wsdl:service name="HelloWorldServiceImplService"> - - <wsdl:port binding="impl:helloworldSoapBinding" name="helloworld"> - - <!-- Tuscany SCA Service --> -<!-- - <wsdlsoap:address location="http://localhost:8080/tuscany-samples-helloworldws-service/services/HelloWorldService"/> ---> - <wsdlsoap:address location="http://localhost:9876/tuscany-samples-helloworldws-service/services/HelloWorldService"/> - - <!-- Axis Web Service --> - <!-- - <wsdlsoap:address location="http://localhost:8081/helloworldaxissvc-incubating-M1/services/helloworld"/> - --> - - </wsdl:port> - - </wsdl:service> - -</wsdl:definitions> diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/interopdoc.wsdl b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/interopdoc.wsdl deleted file mode 100644 index 820c26ca34..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/interopdoc.wsdl +++ /dev/null @@ -1,180 +0,0 @@ -<?xml version="1.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. - --> -<definitions name="InteropTestDoc" targetNamespace="http://soapinterop.org/" - xmlns="http://schemas.xmlsoap.org/wsdl/" - xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:tns="http://soapinterop.org/" - xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> - - <types> - - <xsd:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/" xmlns:interop="http://soapinterop.org/"> - - <xsd:element name="SingleTag"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="SingleTag" type="interop:SingleTag"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:complexType name="SingleTag"/> - <xsd:element name="SingleTagResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="SingleTag" type="interop:SingleTag"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="SimpleDocument"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="SimpleDocument" type="interop:SimpleDocument"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:complexType name="SimpleDocument"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"/> - </xsd:simpleContent> - </xsd:complexType> - <xsd:element name="SimpleDocumentResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="SimpleDocument" type="interop:SimpleDocument"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="ComplexDocument"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="ComplexDocument" type="interop:ComplexDocument"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:complexType name="ComplexDocument"> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="simpleDoc" type="interop:ArrayOfSimpleDocument"/> - <xsd:element minOccurs="0" maxOccurs="1" name="child" type="interop:ChildDocument"/> - </xsd:sequence> - <xsd:attribute name="AnAttribute" type="xsd:string"/> - </xsd:complexType> - <xsd:complexType name="ArrayOfSimpleDocument"> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="unbounded" name="SimpleDocument" nillable="true" type="interop:SimpleDocument"/> - </xsd:sequence> - </xsd:complexType> - <xsd:complexType name="ChildDocument"> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="childSimpleDoc" type="interop:ArrayOfSimpleDocument"/> - </xsd:sequence> - </xsd:complexType> - <xsd:element name="ComplexDocumentResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="ComplexDocument" type="interop:ComplexDocument"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - </xsd:schema> - - </types> - - <message name="SingleTagSoapIn"> - <part name="parameters" element="tns:SingleTag"/> - </message> - <message name="SingleTagSoapOut"> - <part name="outputDoc" element="tns:SingleTagResponse"/> - </message> - <message name="SimpleDocumentSoapIn"> - <part name="parameters" element="tns:SimpleDocument"/> - </message> - <message name="SimpleDocumentSoapOut"> - <part name="outputDoc" element="tns:SimpleDocumentResponse"/> - </message> - <message name="ComplexDocumentSoapIn"> - <part name="parameters" element="tns:ComplexDocument"/> - </message> - <message name="ComplexDocumentSoapOut"> - <part name="outputDoc" element="tns:ComplexDocumentResponse"/> - </message> - - <portType name="DocTestPortType"> - - <operation name="SingleTag"> - <input message="tns:SingleTagSoapIn"/> - <output message="tns:SingleTagSoapOut"/> - </operation> - <operation name="SimpleDocument"> - <input message="tns:SimpleDocumentSoapIn"/> - <output message="tns:SimpleDocumentSoapOut"/> - </operation> - <operation name="ComplexDocument"> - <input message="tns:ComplexDocumentSoapIn"/> - <output message="tns:ComplexDocumentSoapOut"/> - </operation> - - </portType> - - <binding name="doc_test_binding" type="tns:DocTestPortType"> - <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> - - <operation name="SingleTag"> - <soap:operation soapAction="http://soapinterop.org/SingleTag"/> - <input> - <soap:body use="literal"/> - </input> - <output> - <soap:body use="literal"/> - </output> - </operation> - - <operation name="SimpleDocument"> - <soap:operation soapAction="http://soapinterop.org/SimpleDocument"/> - <input> - <soap:body use="literal"/> - </input> - <output> - <soap:body use="literal"/> - </output> - </operation> - - <operation name="ComplexDocument"> - <soap:operation soapAction="http://soapinterop.org/ComplexDocument"/> - <input> - <soap:body use="literal"/> - </input> - <output> - <soap:body use="literal"/> - </output> - </operation> - </binding> - - <service name="interopDocSvc"> - - <port name="interopDocPort" binding="tns:doc_test_binding"> - <soap:address location="http://www.whitemesa.net/interopdoc"/> - </port> - - </service> - -</definitions> diff --git a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/sequences.xsd b/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/sequences.xsd deleted file mode 100644 index a565f3fa65..0000000000 --- a/branches/sca-equinox/tools/sdo/java2wsdl/src/test/resources/sequences.xsd +++ /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. - --> -<xsd:schema xmlns:seq="http://www.example.com/sequences" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.example.com/sequences"> - - <xsd:element name="mixedStockQuote" type="seq:MixedQuote" /> - <xsd:element name="rc" type="seq:RepeatingChoice" /> - <xsd:element name="mrc" type="seq:MixedRepeatingChoice" /> - <xsd:element name="rc2" type="seq:TwoRCs" /> - <xsd:element name="mrc2" type="seq:TwoRCsMixed" /> - - - - <xsd:complexType mixed="true" name="MixedQuote"> - <xsd:sequence> - <xsd:element name="symbol" type="xsd:string" /> - <xsd:element name="companyName" type="xsd:string" /> - <xsd:element name="price" type="xsd:decimal" /> - <xsd:element name="open1" type="xsd:decimal" /> - <xsd:element name="high" type="xsd:decimal" /> - <xsd:element name="low" type="xsd:decimal" /> - <xsd:element name="volume" type="xsd:double" /> - <xsd:element name="change1" type="xsd:double" /> - <xsd:element maxOccurs="unbounded" minOccurs="0" - name="quotes" type="seq:MixedQuote" /> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="RepeatingChoice"> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="a" type="xsd:string" /> - <xsd:element name="b" type="xsd:int" /> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType mixed="true" name="MixedRepeatingChoice"> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="a" type="xsd:string" /> - <xsd:element name="b" type="xsd:int" /> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="TwoRCs"> - <xsd:sequence> - - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="a" type="xsd:string" /> - <xsd:element name="b" type="xsd:int" /> - </xsd:choice> - - <xsd:element name="split" type="xsd:string" /> - - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="y" type="xsd:string" /> - <xsd:element name="z" type="xsd:int" /> - </xsd:choice> - - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType mixed="true" name="TwoRCsMixed"> - <xsd:sequence> - - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="a" type="xsd:string" /> - <xsd:element name="b" type="xsd:int" /> - </xsd:choice> - - <xsd:element name="split" type="xsd:string" /> - - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="y" type="xsd:string" /> - <xsd:element name="z" type="xsd:int" /> - </xsd:choice> - - </xsd:sequence> - </xsd:complexType> - -</xsd:schema> diff --git a/branches/sca-equinox/tools/sdo/pom.xml b/branches/sca-equinox/tools/sdo/pom.xml deleted file mode 100644 index e0dbd1f07b..0000000000 --- a/branches/sca-equinox/tools/sdo/pom.xml +++ /dev/null @@ -1,55 +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-sca-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <packaging>pom</packaging> - <artifactId>tuscany-sca-sdo-tools</artifactId> - <name>Apache Tuscany SCA SDO Tools</name> - - <profiles> - <profile> - <id>default</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <modules> - <module>java2wsdl</module> - <module>wsdl2java</module> - </modules> - </profile> - </profiles> - - <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.2</version> - <scope>test</scope> - </dependency> - </dependencies> - -</project> diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/LICENSE b/branches/sca-equinox/tools/sdo/wsdl2java/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/NOTICE b/branches/sca-equinox/tools/sdo/wsdl2java/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/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/branches/sca-equinox/tools/sdo/wsdl2java/pom.xml b/branches/sca-equinox/tools/sdo/wsdl2java/pom.xml deleted file mode 100644 index b4a82ef6bc..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/pom.xml +++ /dev/null @@ -1,225 +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-sca-sdo-tools</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-wsdl2java</artifactId> - <name>Apache Tuscany SCA WSDL2Java Tool</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-api</artifactId> - <version>1.4-EQUINOX-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sdo</groupId> - <artifactId>tuscany-sdo-impl</artifactId> - <version>1.1.1</version> - <exclusions> - <exclusion> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - </exclusion> - <exclusion> - <groupId>stax</groupId> - <artifactId>stax-api</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sdo</groupId> - <artifactId>tuscany-sdo-tools</artifactId> - <version>1.1.1</version> - </dependency> - - <dependency> - <groupId>com.sun.xml.bind</groupId> - <artifactId>jaxb-xjc</artifactId> - <version>2.1.7</version> - </dependency> - - <dependency> - <groupId>javax.xml.bind</groupId> - <artifactId>jaxb-api</artifactId> - <version>2.1</version> - </dependency> - - <dependency> - <groupId>com.sun.xml.bind</groupId> - <artifactId>jaxb-impl</artifactId> - <version>2.1.7</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>javax.xml.bind</groupId> - <artifactId>jsr173_api</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>javax.xml.stream</groupId> - <artifactId>stax-api</artifactId> - <version>1.0-2</version> - </dependency> - - <dependency> - <groupId>wsdl4j</groupId> - <artifactId>wsdl4j</artifactId> - <version>1.6.2</version> - </dependency> - - <dependency> - <groupId>org.apache.neethi</groupId> - <artifactId>neethi</artifactId> - <version>2.0.4</version> - <exclusions> - <exclusion> - <groupId>wsdl4j</groupId> - <artifactId>wsdl4j</artifactId> - </exclusion> - <exclusion> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.apache.axis2</groupId> - <artifactId>axis2-java2wsdl</artifactId> - <version>1.4.1</version> - <exclusions> - <exclusion> - <groupId>org.apache.ant</groupId> - <artifactId>ant</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.apache.axis2</groupId> - <artifactId>axis2-codegen</artifactId> - <version>1.4.1</version> - <exclusions> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-activation_1.1_spec</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.eclipse.emf</groupId> - <artifactId>codegen</artifactId> - <version>2.2.3</version> - </dependency> - - <dependency> - <groupId>org.eclipse.emf</groupId> - <artifactId>codegen-ecore</artifactId> - <version>2.2.3</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.5</version> - <scope>test</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - <version>1.0</version> - <executions> - <execution> - <id>add-test-source</id> - <phase>generate-sources</phase> - <goals> - <goal>add-test-source</goal> - </goals> - <configuration> - <sources> - <source>target/sdo-source</source> - </sources> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.tuscany.sdo</groupId> - <artifactId>tuscany-sdo-plugin</artifactId> - <version>1.1.1</version> - <executions> - <execution> - <id>generate-sdo</id> - <phase>generate-test-sources</phase> - <configuration> - <schemaFile>${basedir}/src/test/resources/CreditScoreDocLit.wsdl - </schemaFile> - <javaPackage>org.example.creditscore.doclit</javaPackage> - <noNotification>true</noNotification> - <noContainer>true</noContainer> - <noUnsettable>true</noUnsettable> - </configuration> - <goals> - <goal>generate</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <repositories> - <repository> - <snapshots> - <enabled>true</enabled> - </snapshots> - <id>java.net</id> - <name>java.net Maven 1.x Repository</name> - <url>http://download.java.net/maven/1</url> - <layout>legacy</layout> - </repository> - <repository> - <!-- temporarily using indiana state univ as eclipse site diesnt have 2.2.2 at the moment --> - <id>indiana</id> - <url>http://ftp.ussg.iu.edu/eclipse/modeling/emf/emf/maven2/ - </url> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - </repositories> -</project> diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceEmitter.java b/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceEmitter.java deleted file mode 100644 index 08c7131208..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceEmitter.java +++ /dev/null @@ -1,224 +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.tools.wsdl2java.generate; - -import static org.apache.tuscany.tools.wsdl2java.util.XMLNameUtil.getJavaNameFromXMLName; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.axis2.description.AxisBindingOperation; -import org.apache.axis2.description.AxisMessage; -import org.apache.axis2.description.AxisOperation; -import org.apache.axis2.util.FileWriter; -import org.apache.axis2.wsdl.WSDLConstants; -import org.apache.axis2.wsdl.codegen.CodeGenConfiguration; -import org.apache.axis2.wsdl.codegen.emitter.JavaEmitter; -import org.apache.axis2.wsdl.codegen.writer.InterfaceWriter; -import org.apache.axis2.wsdl.databinding.TypeMapper; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -/** - * Overrides the Axis2 JavaEmitter to generate unwrapped methods. - */ -public class JavaInterfaceEmitter extends JavaEmitter { - - private CodeGenConfiguration codegenConfiguration; - private TypeMapper typeMapper; - - @Override - public void setCodeGenConfiguration(CodeGenConfiguration configuration) { - super.setCodeGenConfiguration(configuration); - codegenConfiguration = configuration; - } - - @Override - public void setMapper(TypeMapper typeMapper) { - super.setMapper(typeMapper); - this.typeMapper = typeMapper; - } - - private List getParameterElementList(Document doc, AxisMessage message, boolean wrapped) { - List parameterElementList = new ArrayList(); - - if (message != null && message.getElementQName() != null) { - - SDODataBindingTypeMappingEntry typeMappingEntry = - (SDODataBindingTypeMappingEntry)this.typeMapper.getTypeMappingObject(message.getElementQName()); - List typeMappings; - if (wrapped) { - typeMappings = typeMappingEntry.getPropertyClassNames(); - if(typeMappings == null) { - typeMappings = new ArrayList(); - typeMappings.add(typeMappingEntry.getClassName()); - } - } else { - typeMappings = new ArrayList(); - typeMappings.add(typeMappingEntry.getClassName()); - } - - for (int i = 0; i < typeMappings.size(); i++) { - Element param = doc.createElement("param"); - parameterElementList.add(param); - - String typeMapping = (String)typeMappings.get(i); - - addAttribute(doc, "name", this.typeMapper.getParameterName(message.getElementQName()), param); - addAttribute(doc, "type", (typeMapping == null) ? "" : typeMapping, param); - - // add an extra attribute to say whether the type mapping is the - // default - // if (TypeMapper.DEFAULT_CLASS_NAME.equals(typeMapping)) { - if (typeMapper.getDefaultMappingName().equals(typeMapping)) { - - addAttribute(doc, "default", "yes", param); - } - - addAttribute(doc, "value", null, param); - - // add this as a body parameter - addAttribute(doc, "location", "body", param); - - } - } - - return parameterElementList; - } - - @Override - public List getParameterElementList(Document doc, List parameters, String location) { - List parameterElementList = new ArrayList(); - - if ((parameters != null) && !parameters.isEmpty()) { - int count = parameters.size(); - - for (int i = 0; i < count; i++) { - Element param = doc.createElement("param"); - QName name = (QName)parameters.get(i); - - addAttribute(doc, "name", this.typeMapper.getParameterName(name), param); - - String typeMapping = this.typeMapper.getTypeMappingName(name); - String typeMappingStr = (typeMapping == null) ? "" : typeMapping; - - addAttribute(doc, "type", typeMappingStr, param); - addAttribute(doc, "location", location, param); - parameterElementList.add(param); - } - } - - return parameterElementList; - } - - @Override - protected Element getInputElement(Document doc, AxisBindingOperation operation, List headerParameterQNameList) { - return getElement(doc, - "input", - operation.getAxisOperation().getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE), - operation.getAxisOperation().getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE).isWrapped(), - headerParameterQNameList); - } - - @Override - protected Element getOutputElement(Document doc, AxisBindingOperation operation, List headerParameterQNameList) { - return getElement(doc, - "output", - operation.getAxisOperation().getMessage(WSDLConstants.MESSAGE_LABEL_OUT_VALUE), - operation.getAxisOperation().getMessage(WSDLConstants.MESSAGE_LABEL_OUT_VALUE).isWrapped(), - headerParameterQNameList); - } - - protected Element getElement(Document doc, - String elementName, - AxisMessage message, - boolean wrapped, - List headerParameterQNameList) { - Element element = doc.createElement(elementName); - - List parameterElementList = getParameterElementList(doc, message, wrapped); - for (int i = 0; i < parameterElementList.size(); i++) { - element.appendChild((Element)parameterElementList.get(i)); - } - - List outputElementList = getParameterElementList(doc, headerParameterQNameList, "header"); - - for (int i = 0; i < outputElementList.size(); i++) { - element.appendChild((Element)outputElementList.get(i)); - } - - return element; - } - - @Override - protected void writeInterface(boolean writeDatabinders) throws Exception { - Document interfaceModel = createDOMDocumentForInterface(writeDatabinders); - if (!codegenConfiguration.getOutputLocation().exists()) { - codegenConfiguration.getOutputLocation().mkdirs(); - } - InterfaceWriter interfaceWriter = - new RemotableInterfaceWritter(this.codegenConfiguration.getOutputLocation(), this.codegenConfiguration - .getOutputLanguage()); - - String packageName = interfaceModel.getDocumentElement().getAttribute("package"); - String className = interfaceModel.getDocumentElement().getAttribute("name"); - - System.out.println(">> Generating Java class " + packageName + "." + className); - File outputFile = - FileWriter.createClassFile(this.codegenConfiguration.getOutputLocation(), packageName, className, ".java"); - if (outputFile.exists()) { - outputFile.delete(); - } - -// JIRA TUSCANY-1561 Port to Axis2 1.3 -// writeClass(interfaceModel, interfaceWriter); - - writeFile(interfaceModel, interfaceWriter); - } - - @Override - protected String makeJavaClassName(String word) { - // return XMLNameUtil.getJavaNameFromXMLName(word, true); - return getJavaNameFromXMLName(word, true); - } - - @Override - protected Element[] getFaultParamElements(Document doc, AxisOperation operation) { - ArrayList params = new ArrayList(); - ArrayList faultMessages = operation.getFaultMessages(); - - if (faultMessages != null && !faultMessages.isEmpty()) { - Element paramElement; - AxisMessage msg; - for (int i = 0; i < faultMessages.size(); i++) { - paramElement = doc.createElement("param"); - msg = (AxisMessage)faultMessages.get(i); - String msgClassName = WSDL2JavaGenerator.normalizeClassName(msg.getName()); - addAttribute(doc, "name", msgClassName, paramElement); - params.add(paramElement); - } - - return (Element[])params.toArray(new Element[params.size()]); - } else { - return new Element[] {};// return empty array - } - } -} diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceGenerator.java b/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceGenerator.java deleted file mode 100644 index 8e0c3683a3..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceGenerator.java +++ /dev/null @@ -1,327 +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.tools.wsdl2java.generate; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import javax.wsdl.Binding; -import javax.wsdl.Definition; -import javax.wsdl.Fault; -import javax.wsdl.Message; -import javax.wsdl.Operation; -import javax.wsdl.Part; -import javax.wsdl.Port; -import javax.wsdl.PortType; -import javax.wsdl.Service; -import javax.wsdl.WSDLException; -import javax.wsdl.factory.WSDLFactory; -import javax.wsdl.xml.WSDLReader; -import javax.xml.namespace.QName; -import javax.xml.parsers.ParserConfigurationException; - -import org.apache.axis2.AxisFault; -import org.apache.axis2.description.AxisService; -import org.apache.axis2.description.WSDL11ToAxisServiceBuilder; -import org.apache.axis2.util.FileWriter; -import org.apache.axis2.util.XMLUtils; -import org.apache.axis2.wsdl.codegen.CodeGenConfiguration; -import org.apache.axis2.wsdl.codegen.CodeGenerationException; -import org.apache.axis2.wsdl.codegen.extension.CodeGenExtension; -import org.apache.axis2.wsdl.codegen.extension.DefaultDatabindingExtension; -import org.apache.axis2.wsdl.codegen.extension.PackageFinder; -import org.apache.axis2.wsdl.codegen.extension.WSDLValidatorExtension; -import org.apache.axis2.wsdl.databinding.JavaTypeMapper; -import org.w3c.dom.Document; -import org.xml.sax.SAXException; - -import com.sun.tools.xjc.api.XJC; - -public class JavaInterfaceGenerator { - - private List codegenExtensions = new ArrayList(); - private List<CodeGenConfiguration> codegenConfigurations= new LinkedList<CodeGenConfiguration>(); - private String outputLocation; - - - - public JavaInterfaceGenerator(String uri, String ports[], String outputLocation, String packageName, - Map<QName, SDODataBindingTypeMappingEntry> typeMapping) throws CodeGenerationException { - this.outputLocation = outputLocation; - - Definition definition; - try { - definition = readWSDL(uri); - } catch (WSDLException e) { - throw new CodeGenerationException(e); - } - - HashSet<String> interestedPorts = ports == null ? null : new HashSet<String>(Arrays.asList(ports)); - - // Service service=(Service)definition.getServices().values().().next(); - - HashSet<QName> donePortTypes= new HashSet<QName>(); - - for (Iterator sIter = definition.getServices().values().iterator(); sIter.hasNext(); ) { - Service service = (Service) sIter.next(); - - QName serviceQname = service.getQName(); - for (Iterator pIter= service.getPorts().values().iterator(); pIter.hasNext(); ) { - Port port= (Port) pIter.next(); - if(interestedPorts != null && ! interestedPorts.contains(port.getName())) continue;//not iterested. - PortType portType= getPortType(port); - if(null == portType) continue; // not connected. - QName pQName= portType.getQName(); - if(donePortTypes.contains(pQName)) continue; //allready did it. - donePortTypes.add(pQName); - - if (packageName == null) { - //use JAXWS/JAXB NS->package default algorithm, not the SDO/EMF one - packageName = XJC.getDefaultPackageName(definition.getTargetNamespace()); - } - // - // Use WSDL4J object to generate exception classes - // - generateFaults(packageName, portType, typeMapping); - JavaTypeMapper typeMapper = new JavaTypeMapper(); - for (Map.Entry<QName, SDODataBindingTypeMappingEntry> e : typeMapping.entrySet()) { - typeMapper.addTypeMappingObject(e.getKey(), e.getValue()); - // Added for generation of exceptions from faults - typeMapper.addTypeMappingName(e.getKey(), e.getValue().getClassName()); - } - - - AxisService axisService; - WSDL11ToAxisServiceBuilder builder; - try { - // - // Added since at a newer level of Axis2, this doesn't work - // without the setCodegen(true) - // - builder = new WSDL11ToAxisServiceBuilder(definition, serviceQname, port.getName()); - builder.setCodegen(true); - axisService = builder.populateService(); - } catch (AxisFault e) { - throw new CodeGenerationException(e); - } - - axisService.setName(port.getBinding().getPortType().getQName().getLocalPart()); - CodeGenConfiguration codegenConfiguration = new CodeGenConfiguration(Collections.EMPTY_MAP); - codegenConfigurations.add(codegenConfiguration); - codegenConfiguration.setAxisService(axisService); - codegenConfiguration.setAdvancedCodeGenEnabled(false); - codegenConfiguration.setAsyncOn(false); - codegenConfiguration.setDatabindingType("sdo"); - codegenConfiguration.setGenerateAll(true); - codegenConfiguration.setGenerateDeployementDescriptor(false); - codegenConfiguration.setOutputLanguage("java"); - codegenConfiguration.setOutputLocation(new File(outputLocation)); - codegenConfiguration.setPackageName(packageName); - codegenConfiguration.setPackClasses(false); - codegenConfiguration.setPolicyMap(Collections.EMPTY_MAP); - codegenConfiguration.setPortName(port.getName()); - codegenConfiguration.setServerSide(false); - codegenConfiguration.setServiceName(service.getQName().getLocalPart()); - // This lines up with the sync/async variable from the XSL template - codegenConfiguration.setSyncOn(true); - codegenConfiguration.setTypeMapper(typeMapper); - -// JIRA TUSCANY-1561 Port to Axis2 1.3 -// codegenConfiguration.setWriteMessageReceiver(false); - codegenConfiguration.setSkipMessageReceiver(true); - - codegenConfiguration.setWriteTestCase(false); - addExtension(new WSDLValidatorExtension(), codegenConfiguration); - addExtension(new PackageFinder(), codegenConfiguration); - addExtension(new SDODataBindingCodegenExtension(typeMapper), codegenConfiguration); - addExtension(new DefaultDatabindingExtension(), codegenConfiguration); - } - } - } - - - private PortType getPortType(Port port) { - Binding binding = port.getBinding(); - if(null != binding){ - return binding.getPortType(); - } - return null; - - } - - - @SuppressWarnings("unchecked") - private void addExtension(CodeGenExtension ext, CodeGenConfiguration codegenConfiguration) { - //ext.init(codegenConfiguration); - codegenExtensions.add(new Object[]{ext, codegenConfiguration}); - } - - public void generate() throws CodeGenerationException { - try { - for (int i = 0; i < codegenExtensions.size(); i++) { - // CodeGenExtension - Object[] pair = (Object[])codegenExtensions.get(i); - - CodeGenExtension cge = (CodeGenExtension)pair[0]; - CodeGenConfiguration cgf = (CodeGenConfiguration)pair[1]; - - cge.engage(cgf); - } - - for (CodeGenConfiguration codegenConfiguration : codegenConfigurations) { - JavaInterfaceEmitter emitter = new JavaInterfaceEmitter(); - emitter.setCodeGenConfiguration(codegenConfiguration); - emitter.setMapper(codegenConfiguration.getTypeMapper()); - - emitter.writeInterface(false); - } - - } catch (Exception e) { - throw new CodeGenerationException(e); - } - } - - /** - * Read the WSDL file - * - * @param uri - * @return - * @throws WSDLException - */ - private Definition readWSDL(String uri) throws WSDLException { - - WSDLReader reader = WSDLFactory.newInstance().newWSDLReader(); - reader.setFeature("javax.wsdl.importDocuments", true); - - File file = new File(uri); - String baseURI; - - if (uri.startsWith("http://")) { - baseURI = uri; - } else { - if (file.getParentFile() == null) { - try { - baseURI = new File(".").getCanonicalFile().toURI().toString(); - } catch (IOException e) { - throw new RuntimeException(e); - } - } else { - baseURI = file.getParentFile().toURI().toString(); - } - } - - Document doc; - try { - doc = XMLUtils.newDocument(uri); - } catch (ParserConfigurationException e) { - throw new WSDLException(WSDLException.PARSER_ERROR, "Parser Configuration Error", e); - } catch (SAXException e) { - throw new WSDLException(WSDLException.PARSER_ERROR, "Parser SAX Error", e); - - } catch (IOException e) { - throw new WSDLException(WSDLException.INVALID_WSDL, "IO Error", e); - } - - return reader.readWSDL(baseURI, doc); - } - - private void generateFaults(String packageName, PortType portType, Map<QName, SDODataBindingTypeMappingEntry> typeMapping) - throws CodeGenerationException{ - - for (Object o: portType.getOperations()) { - Operation op = (Operation)o; - Map messageMap = op.getFaults(); - Iterator iter = messageMap.values().iterator(); - while (iter.hasNext()) { - Fault fault = (Fault)iter.next(); - Message faultMsg = fault.getMessage(); - Iterator iter2 = faultMsg.getParts().values().iterator(); - Part faultMsgPart = (Part)iter2.next(); - // TODO - if other parts throw exc - QName faultMsgQName = faultMsg.getQName(); - QName faultMsgPartElementQName = faultMsgPart.getElementName(); - String faultClassName = typeMapping.get(faultMsgPartElementQName).getClassName(); - writeException(packageName, faultMsgQName, faultClassName, faultMsgPartElementQName); - } - } - } - - private void writeException(String packageName, QName faultMsgQName, String faultClassName, QName faultMsgPartElementQName) - throws CodeGenerationException{ - - try { - String faultWrapperClassName = - WSDL2JavaGenerator.normalizeClassName(faultMsgQName.getLocalPart()); - - File outputDir = new File(this.outputLocation); - - if (!outputDir.exists()) { - outputDir.mkdirs(); - } - File outputFile = FileWriter.createClassFile(outputDir, - packageName, faultWrapperClassName, ".java"); - - FileOutputStream fileStream = new FileOutputStream(outputFile); - PrintStream stream = new PrintStream(fileStream); - - System.out.println(">> Generating Java exception class " + packageName + "." + faultWrapperClassName); - - stream.println(); - stream.println("package " + packageName + ";"); - stream.println(); - stream.println("import javax.xml.ws.WebFault;"); - stream.println(); - stream.println("@WebFault(name=\"" + faultMsgPartElementQName.getLocalPart() - + "\", targetNamespace=\"" - + faultMsgPartElementQName.getNamespaceURI() - + "\")"); - stream.println("public class " + faultWrapperClassName + " extends Exception {"); - stream.println(); - stream.println(" private " + faultClassName + " fault;"); - stream.println(); - stream.println(" public " + faultWrapperClassName + "(String message, " + faultClassName + " fault) {"); - stream.println(" super(message);"); - stream.println(" this.fault = fault;"); - stream.println(" }"); - stream.println(); - stream.println(" public " + faultWrapperClassName + "(String message, " + faultClassName + " fault, Throwable cause) {"); - stream.println(" super(message, cause);"); - stream.println(" this.fault = fault;"); - stream.println(" }"); - stream.println(); - stream.println(" public " + faultClassName + " getFaultInfo() {"); - stream.println(" return this.fault;"); - stream.println(" }"); - stream.println("}"); - stream.println(); - } catch (Exception e) { - throw new CodeGenerationException(e); - } - } -} diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/RemotableInterfaceWritter.java b/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/RemotableInterfaceWritter.java deleted file mode 100644 index 0c4f42633a..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/RemotableInterfaceWritter.java +++ /dev/null @@ -1,53 +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.tools.wsdl2java.generate; - -import java.io.File; - -import org.apache.axis2.wsdl.codegen.CodeGenerationException; -import org.apache.axis2.wsdl.codegen.writer.InterfaceWriter; - -/** - * - */ -public class RemotableInterfaceWritter extends InterfaceWriter { - private static final String REMOTABLE_INTERFACE_TEMPLATE="/RemotableInterfaceTemplate.xsl"; - - public RemotableInterfaceWritter(String outputFileLocation) { - super(outputFileLocation); - } - - public RemotableInterfaceWritter(File outputFileLocation, String language) { - super(outputFileLocation, language); - } - - /** - * Loads the template. - */ - @Override - public void loadTemplate() throws CodeGenerationException { - // the default behavior for the class writers is to use the property map from the language specific types - // The properties are arranged in the following order - // <lang-name>.* .template=<write-class>,<template-name> - - //override original behaviour to always load the template we specified - this.xsltStream = this.getClass().getResourceAsStream(REMOTABLE_INTERFACE_TEMPLATE); - - } -} diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/SDODataBindingCodegenExtension.java b/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/SDODataBindingCodegenExtension.java deleted file mode 100644 index 4ab152fb90..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/SDODataBindingCodegenExtension.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.tools.wsdl2java.generate; - -import org.apache.axis2.wsdl.codegen.CodeGenConfiguration; -import org.apache.axis2.wsdl.codegen.CodeGenerationException; -import org.apache.axis2.wsdl.codegen.extension.AbstractDBProcessingExtension; -import org.apache.axis2.wsdl.databinding.TypeMapper; - -/** - * SDO data binding codegen extension. - */ -public class SDODataBindingCodegenExtension extends AbstractDBProcessingExtension { - - private TypeMapper typeMapper; - - public SDODataBindingCodegenExtension(TypeMapper typeMapper) { - this.typeMapper=typeMapper; - } - - @Override - protected boolean testFallThrough(String dbFrameworkName) { - return !dbFrameworkName.equals("sdo"); - } - -// public void engage() { -// if (testFallThrough(configuration.getDatabindingType())) { -// return; -// } -// -// // Set the type mapper into the config -// configuration.setTypeMapper(typeMapper); -// -// } - - public void engage(CodeGenConfiguration configuration) throws CodeGenerationException { - if (testFallThrough(configuration.getDatabindingType())) { - return; - } - - // Set the type mapper into the config - configuration.setTypeMapper(typeMapper); - - - } - -} diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/SDODataBindingTypeMappingEntry.java b/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/SDODataBindingTypeMappingEntry.java deleted file mode 100644 index 2d81ef12bf..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/SDODataBindingTypeMappingEntry.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.tools.wsdl2java.generate; - -import java.util.List; - -/** - * This represents a type mapping entry, used by the JavaInterfaceEmitter to generate - * method signatures. - */ -public class SDODataBindingTypeMappingEntry { - - private final boolean anonymous; - private final List<String> propertyClassNames; - private final String className; - - public SDODataBindingTypeMappingEntry(String className, boolean anonymous, List<String> propertyClassNames) { - this.className = className; - this.anonymous = anonymous; - this.propertyClassNames = propertyClassNames; - } - - public boolean isAnonymous() { - return anonymous; - } - - public String getClassName() { - return className; - } - - public List<String> getPropertyClassNames() { - return propertyClassNames; - } - -} diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGenerator.java b/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGenerator.java deleted file mode 100644 index f6d1f3a64a..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGenerator.java +++ /dev/null @@ -1,529 +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.tools.wsdl2java.generate; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileReader; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.StringTokenizer; -import java.util.Vector; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sdo.generate.XSD2JavaGenerator; -import org.apache.tuscany.sdo.helper.HelperContextImpl; -import org.apache.tuscany.sdo.util.DataObjectUtil; -import org.eclipse.emf.codegen.ecore.genmodel.GenClass; -import org.eclipse.emf.codegen.ecore.genmodel.GenModel; -import org.eclipse.emf.codegen.ecore.genmodel.GenModelFactory; -import org.eclipse.emf.codegen.ecore.genmodel.GenPackage; -import org.eclipse.emf.codegen.util.CodeGenUtil; -import org.eclipse.emf.common.util.Diagnostic; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EClassifier; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EStructuralFeature; -import org.eclipse.emf.ecore.impl.EPackageRegistryImpl; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.util.BasicExtendedMetaData; -import org.eclipse.emf.ecore.util.ExtendedMetaData; - -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XSDHelper; - -public class WSDL2JavaGenerator { - //Note: Dynamic SDO is defined as 0x4000 to avoid conflict with XSD2Java genOptions - static protected final int DYNAMIC_SDO = 0x1; - static protected final int GENERATE_SDO = 0x2; - static protected final int VERBOSE_MODE = 0x4; - static protected final String NO_GEN_PARM = "-noGenerate"; - static protected final String TARGET_DIR_PARM = "-targetDirectory"; - static protected final String JAVA_PACKAGE_PARM = "-javaPackage"; - static protected final String ALL_NAMESPACES_PARM = "-schemaNamespace all"; - - /** - * Generate Java interfaces from WSDL Usage arguments: [ -targetDirectory - * <target-root-directory> ] [ -javaPackage <java-package-name> ] - * <wsdl-file> For example: generate somedir/somefile.wsdl Basic options: - * -targetDirectory Generates the Java source code in the specified - * directory. By default, the code is generated in the same directory as the - * input WSDL file. -javaPackage Overrides the Java package for the - * generated classes. By default the package name is derived from the - * targetNamespace of the WSDL definition being generated. For example, if - * the targetNamespace is "http://www.example.com/simple", the default - * package will be "com.example.simple". - */ - public static void main(String args[]) { - if (args.length == 0) { - printUsage(); - return; - } - - String portName = null; - String targetDirectory = null; - String wsdlJavaPackage = null; - String xsdJavaPackage = null; - String sdoGenArgs = null; - String sdoGenArgsString = null; - int genOptions = 0; - - int index = 0; - for (; index < args.length && args[index].startsWith("-"); ++index) { - if (args[index].equalsIgnoreCase("-port")) { - portName = args[++index]; - } else if (args[index].equalsIgnoreCase("-targetDirectory")) { - targetDirectory = args[++index]; - } else if (args[index].equalsIgnoreCase("-javaPackage")) { - wsdlJavaPackage = args[++index]; - } else if (args[index].equalsIgnoreCase("-dynamicSDO")) { - genOptions |= DYNAMIC_SDO; - } else if (args[index].equalsIgnoreCase("-generateSDO")){ - genOptions |= GENERATE_SDO; - } else if (args[index].equalsIgnoreCase("-sdoGenArgs")){ - sdoGenArgs = args[++index]; - } else if (args[index].equalsIgnoreCase("-verbose")){ - genOptions |= VERBOSE_MODE; - } - // else if (...) - else { - printUsage(); - return; - } - } - if (sdoGenArgs!=null && (GENERATE_SDO & genOptions)== 0){ - genOptions |= GENERATE_SDO; - } - - if (targetDirectory == null) { - targetDirectory = "."; - } - String wsdlFileName = args[index]; - if (wsdlFileName == null || ((DYNAMIC_SDO & genOptions)!=0 && (GENERATE_SDO & genOptions)!= 0)) { - printUsage(); - return; - } - if (sdoGenArgs !=null){ - try { - File inFile = new File(sdoGenArgs).getAbsoluteFile(); - FileReader inputFile = new FileReader(inFile); - BufferedReader bufRead = new BufferedReader(inputFile); - StringBuffer fileContents= new StringBuffer(); - String line; - while ((line = bufRead.readLine())!=null){ - fileContents.append(line + " "); - } - sdoGenArgsString = fileContents.toString(); - } catch (IOException e) { - e.printStackTrace(); - throw new IllegalArgumentException(e); - } - } else { - sdoGenArgsString = null; - } - - if ((DYNAMIC_SDO & genOptions) != 0){ - generateDynamicFromWSDL(wsdlFileName, portName!=null? new String[]{portName}:null, targetDirectory, wsdlJavaPackage, xsdJavaPackage, genOptions); - } else { - generateFromWSDL(wsdlFileName, portName!=null? new String[]{portName}:null, targetDirectory, wsdlJavaPackage, genOptions, sdoGenArgsString); - } - - } - - @SuppressWarnings("unchecked") - public static void generateFromWSDL(String wsdlFileName, String[] ports, String targetDirectory, String wsdlJavaPackage, int genOptions, String sdoGenArgsString) - { - try { - if (targetDirectory == null) { - targetDirectory = new File(wsdlFileName).getCanonicalFile().getParent(); - } else { - targetDirectory = new File(targetDirectory).getCanonicalPath(); - } - - // Populate the typeMapping table that will be given to the Axis2 WSDL2Java - Map<QName, SDODataBindingTypeMappingEntry> typeMapping = - new HashMap<QName, SDODataBindingTypeMappingEntry>(); - StringBuffer buildCommand = new StringBuffer(); - //build XSD command lines - //build generic command for simple case & dynamic SDO - buildCommand.append(ALL_NAMESPACES_PARM); - if (sdoGenArgsString == null){ - buildCommand.append(" " + TARGET_DIR_PARM + " " + targetDirectory); - if (wsdlJavaPackage != null && (genOptions & GENERATE_SDO)!=0){ - buildCommand.append(" " + JAVA_PACKAGE_PARM + " " + wsdlJavaPackage); - } - if ((genOptions & GENERATE_SDO)==0){ - buildCommand.append(" "); - buildCommand.append(NO_GEN_PARM); - } - } else { - buildCommand.append(" "); - buildCommand.append(sdoGenArgsString); - } - - //TUSCANY-1642 - We shouldn't split the wsdlFileName as it my contain a filename with spaces - Vector sdoCommand = new Vector(java.util.Arrays.asList(buildCommand.toString().split("\\s+"))); - sdoCommand.add(wsdlFileName); - - String[] sdoGenCommand = new String[sdoCommand.size()]; - sdoCommand.toArray(sdoGenCommand); - - if ((genOptions & VERBOSE_MODE)!=0){ - System.out.println("Options passed to XSD2Java: "); - for (int i=0; i<sdoGenCommand.length; i++){ System.out.println("\"" + sdoGenCommand[i] + "\"");} - } - - XSD2JavaGenerator codeGen = new XSD2JavaGenerator(); - try { - codeGen.generateFromXMLSchema( sdoGenCommand ); - } catch (IllegalArgumentException e) { - System.out.println("Specified Invalid XSD2Java Arguments.\nFollow the XSD2Java usage, omitting the wsdl/xsd file argument."); - throw new IllegalArgumentException(e); - } - - List packages = codeGen.getGeneratedPackageInfo(); - - for (Iterator iter = packages.iterator(); iter.hasNext();) - { - XSD2JavaGenerator.GeneratedPackage packageInfo = (XSD2JavaGenerator.GeneratedPackage)iter.next(); - for (Iterator iterClass = packageInfo.getClasses().iterator(); iterClass.hasNext();) - { - XSD2JavaGenerator.GeneratedPackage.PackageClassInfo classInfo = (XSD2JavaGenerator.GeneratedPackage.PackageClassInfo)iterClass.next(); - SDODataBindingTypeMappingEntry typeMappingEntry; - if ((genOptions & DYNAMIC_SDO)==0){ - - typeMappingEntry = new SDODataBindingTypeMappingEntry(classInfo.getClassName(), classInfo.getAnonymous(), classInfo.getProperties()); - } else { - // TO DO implement dynamic sdo case - typeMappingEntry = null; - System.out.println(); - } - QName qname = new QName(packageInfo.getNamespace(),classInfo.getName()); - - //FIXME Workaround for JIRA TUSCANY-1673 - // Do not overwrite a typemapping entry describing a element typed by an anonymous - // complex type with a typemapping entry describing a complex type named like the - // element - SDODataBindingTypeMappingEntry existingTypeMapping = typeMapping.get(qname); - if (existingTypeMapping == null || !existingTypeMapping.isAnonymous()) { - typeMapping.put(qname, typeMappingEntry); - } - } - } - - JavaInterfaceGenerator codeGenerator = new JavaInterfaceGenerator(wsdlFileName, - ports, - targetDirectory, - wsdlJavaPackage, - typeMapping); - codeGenerator.generate(); - } catch (Exception e) { - e.printStackTrace(); - throw new IllegalArgumentException(e); - } - } - - @SuppressWarnings("unchecked") - public static void generateFromWSDL(String wsdlFileName, String targetDirectory, - String wsdlJavaPackage, - String xsdJavaPackage, int genOptions){ - String sdoGenArgsString = null; - if (xsdJavaPackage != null){ - sdoGenArgsString = JAVA_PACKAGE_PARM + " " + xsdJavaPackage; - } - generateFromWSDL( wsdlFileName, null, targetDirectory, wsdlJavaPackage, genOptions, sdoGenArgsString); - - } - - public static void generateFromWSDL(String wsdlFileName, String[] ports, - String targetDirectory, String wsdlJavaPackage, - String xsdJavaPackage, int genOptions) { - String sdoGenArgsString = null; - if (xsdJavaPackage != null){ - sdoGenArgsString = JAVA_PACKAGE_PARM + " " + xsdJavaPackage; - } - generateFromWSDL( wsdlFileName, null, targetDirectory, wsdlJavaPackage, genOptions, sdoGenArgsString); - } - - @SuppressWarnings("unchecked") - public static void generateDynamicFromWSDL(String wsdlFileName, String[] ports, - String targetDirectory, String wsdlJavaPackage, - String xsdJavaPackage, int genOptions) - { - - // Initialize the SDO runtime - DataObjectUtil.initRuntime(); - EPackage.Registry packageRegistry = new EPackageRegistryImpl(EPackage.Registry.INSTANCE); - ExtendedMetaData extendedMetaData = new BasicExtendedMetaData(packageRegistry); - HelperContext context = new HelperContextImpl(extendedMetaData, false); - XSDHelper xsdHelper = context.getXSDHelper(); - - try { - - // Load the WSDL file - File inputFile = new File(wsdlFileName).getAbsoluteFile(); - InputStream inputStream = new FileInputStream(inputFile); - - // Define SDO metadata - xsdHelper.define(inputStream, inputFile.toURI().toString()); - - if (targetDirectory == null) { - targetDirectory = new File(wsdlFileName).getCanonicalFile().getParent(); - } else { - targetDirectory = new File(targetDirectory).getCanonicalPath(); - } - - // Populate the typeMapping table that will be given to the Axis2 WSDL2Java - Map<QName, SDODataBindingTypeMappingEntry> typeMapping = - new HashMap<QName, SDODataBindingTypeMappingEntry>(); - if (!packageRegistry.values().isEmpty()) { - ResourceSet resourceSet = DataObjectUtil.createResourceSet(); - - // Populate list of GenPackages and a map of GenClasses keyed by EClass - List<GenPackage> genPackages = new ArrayList<GenPackage>(); - Map<EClass, GenClass> genClasses = new HashMap<EClass, GenClass>(); - for (Iterator iter = packageRegistry.values().iterator(); iter.hasNext();) { - EPackage currentEPackage = (EPackage)iter.next(); - String currentBasePackage = extractBasePackageName(currentEPackage, xsdJavaPackage); - String currentPrefix = CodeGenUtil.capName(currentEPackage.getName()); - - GenPackage currentGenPackage = createGenPackage(currentEPackage, currentBasePackage, - currentPrefix, genOptions, resourceSet); - genPackages.add(currentGenPackage); - for (GenClass genClass : (List<GenClass>)currentGenPackage.getGenClasses()) { - genClasses.put(genClass.getEcoreClass(), genClass); - } - - } - - // Process all the SDO packages - // Populate the QName -> interfaceName typeMapping table - for (GenPackage currentGenPackage : genPackages) { - EPackage currentEPackage = currentGenPackage.getEcorePackage(); - - // Populate the type mappings for all the complex types - for (GenClass genClass : (List<GenClass>)currentGenPackage.getGenClasses()) { - QName qname = new QName(extendedMetaData.getNamespace(currentEPackage), - extendedMetaData.getName(genClass.getEcoreClass())); - String interfaceName = (DYNAMIC_SDO & genOptions) == DYNAMIC_SDO ? "commonj.sdo.DataObject" : currentGenPackage - .getInterfacePackageName() - + '.' + genClass.getInterfaceName(); - SDODataBindingTypeMappingEntry typeMappingEntry = - new SDODataBindingTypeMappingEntry(interfaceName, false, null); - typeMapping.put(qname, typeMappingEntry); - } - - // Process all the global XSD elements - EClass documentRoot = extendedMetaData.getDocumentRoot(currentEPackage); - if (documentRoot != null) { - for (EStructuralFeature element : (List<EStructuralFeature>)extendedMetaData - .getElements(documentRoot)) { - EClassifier elementType = element.getEType(); - - // Handle a complex type - if (elementType instanceof EClass) { - EClass eClass = (EClass)elementType; - - GenClass genClass = genClasses.get(elementType); - QName qname = new QName(extendedMetaData.getNamespace(currentEPackage), - extendedMetaData.getName(element)); - String interfaceName = (DYNAMIC_SDO & genOptions) == DYNAMIC_SDO ? "commonj.sdo.DataObject" : genClass - .getGenPackage().getInterfacePackageName() - + '.' + genClass.getInterfaceName(); - boolean anonymous = extendedMetaData.isAnonymous(eClass); - - // Build list of property class names - List<String> propertyClassNames=new ArrayList<String>(); - for (EStructuralFeature feature : (List<EStructuralFeature>)eClass.getEStructuralFeatures()) { - EClassifier propertyType = feature.getEType(); - if (propertyType instanceof EClass) { - GenClass propertyGenClass = genClasses.get(propertyType); - String propertyClassName = (DYNAMIC_SDO & genOptions) == DYNAMIC_SDO ? "commonj.sdo.DataObject" - : propertyGenClass.getGenPackage().getInterfacePackageName() + '.' - + '.' + propertyGenClass.getInterfaceName(); - propertyClassNames.add(propertyClassName); - } else if (propertyType instanceof EClassifier) { - String propertyClassName = propertyType.getInstanceClass().getName(); - propertyClassNames.add(propertyClassName); - } - } - - SDODataBindingTypeMappingEntry typeMappingEntry = - new SDODataBindingTypeMappingEntry(interfaceName, anonymous, propertyClassNames); - typeMapping.put(qname, typeMappingEntry); - - } else { - - // Handle a simple type - QName qname = new QName(extendedMetaData.getNamespace(currentEPackage), - extendedMetaData.getName(element)); - String className = elementType.getInstanceClass().getName(); - SDODataBindingTypeMappingEntry typeMappingEntry = - new SDODataBindingTypeMappingEntry(className, false, null); - typeMapping.put(qname, typeMappingEntry); - } - } - } - } - } - - try { - JavaInterfaceGenerator codeGenerator = new JavaInterfaceGenerator(wsdlFileName, - ports, - targetDirectory, - wsdlJavaPackage, - typeMapping); - codeGenerator.generate(); - } catch (Exception e) { - e.printStackTrace(); - throw new IllegalArgumentException(e); - } - - } catch (IOException e) { - e.printStackTrace(); - throw new IllegalArgumentException(e); - } - } - - @SuppressWarnings("unchecked") - public static GenPackage createGenPackage(EPackage ePackage, String basePackage, String prefix, - int genOptions, ResourceSet resourceSet) { - GenModel genModel = ecore2GenModel(ePackage, basePackage, prefix, genOptions); - - URI ecoreURI = URI.createURI("file:///" + ePackage.getName() + ".ecore"); - URI genModelURI = ecoreURI.trimFileExtension().appendFileExtension("genmodel"); - - Resource ecoreResource = resourceSet.createResource(ecoreURI); - ecoreResource.getContents().add(ePackage); - - Resource genModelResource = resourceSet.createResource(genModelURI); - genModelResource.getContents().add(genModel); - - return (GenPackage)genModel.getGenPackages().get(0); - } - - public static GenModel ecore2GenModel(EPackage ePackage, String basePackage, - String prefix, int genOptions) { - GenModel genModel = GenModelFactory.eINSTANCE.createGenModel(); - genModel.initialize(Collections.singleton(ePackage)); - - genModel.setRootExtendsInterface(""); - genModel.setRootImplementsInterface("commonj.sdo.DataObject"); - genModel.setRootExtendsClass("org.apache.tuscany.sdo.impl.DataObjectImpl"); - genModel.setFeatureMapWrapperInterface("commonj.sdo.Sequence"); - genModel.setFeatureMapWrapperInternalInterface("org.apache.tuscany.sdo.util.BasicSequence"); - genModel.setFeatureMapWrapperClass("org.apache.tuscany.sdo.util.BasicSequence"); - genModel.setSuppressEMFTypes(true); - genModel.setSuppressEMFMetaData(true); - genModel.setSuppressEMFModelTags(true); - genModel.setCanGenerate(true); - // FIXME workaround java.lang.NoClassDefFoundError: - // org/eclipse/jdt/core/jdom/IDOMNode with 02162006 build - genModel.setFacadeHelperClass("Hack"); - genModel.setForceOverwrite(true); - - GenPackage genPackage = (GenPackage)genModel.getGenPackages().get(0); - - if (basePackage != null) { - genPackage.setBasePackage(basePackage); - } - if (prefix != null) { - genPackage.setPrefix(prefix); - } - - return genModel; - } - - public static String extractBasePackageName(EPackage ePackage, String javaPackage) { - String qualifiedName = javaPackage != null ? javaPackage : ePackage.getName(); - String name = /* CodeGenUtil. */shortName(qualifiedName); - String baseName = qualifiedName.substring(0, qualifiedName.length() - name.length()); - if (javaPackage != null || !name.equals(qualifiedName)) { - ePackage.setName(name); - } - return baseName != null ? /* CodeGenUtil. */safeQualifiedName(baseName) : null; - } - - public static String shortName(String qualifiedName) { - int index = qualifiedName.lastIndexOf("."); - return index != -1 ? qualifiedName.substring(index + 1) : qualifiedName; - } - - public static String safeQualifiedName(String qualifiedName) { - StringBuffer safeQualifiedName = new StringBuffer(); - for (StringTokenizer stringTokenizer = new StringTokenizer(qualifiedName, "."); - stringTokenizer.hasMoreTokens();) { - String name = stringTokenizer.nextToken(); - safeQualifiedName.append(CodeGenUtil.safeName(name)); - if (stringTokenizer.hasMoreTokens()) { - safeQualifiedName.append('.'); - } - } - return safeQualifiedName.toString(); - } - /* - * Converts myClassName to MyClassName - */ - public static String normalizeClassName(String className) { - - StringBuffer normalizedClassName = new StringBuffer(); - - String beginPart = className.substring(0,1); - String endPart = className.substring(1); - - normalizedClassName.append(beginPart.toUpperCase()); - normalizedClassName.append(endPart); - - return normalizedClassName.toString(); - } - - protected static void printDiagnostic(Diagnostic diagnostic, String indent) { - System.out.print(indent); - System.out.println(diagnostic.getMessage()); - for (Iterator i = diagnostic.getChildren().iterator(); i.hasNext();) { - printDiagnostic((Diagnostic)i.next(), indent + " "); - } - } - - protected static void printUsage() { - System.out.println("Usage arguments:"); - System.out.println(" [ -targetDirectory <target-root-directory> ]"); - System.out.println(" [ -javaPackage <java-package-name> ]"); - System.out.println(" [ -dynamicSDO | -generateSDO [ -sdoGenArgs <command-file-name> ]]"); - System.out.println(" [ -verbose ]"); - System.out.println(" <wsdl-file>"); - System.out.println(""); - System.out.println("Where <command-file-name> is a text file containing valid XSD2Java command\narguments (w/o the wsdl/xsd file name)"); - System.out.println("For example:"); - System.out.println(""); - System.out.println(" WSDL2JavaGenerator -targetDirectory myDir somedir/somefile.wsdl"); - } - - -} diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/util/XMLNameUtil.java b/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/util/XMLNameUtil.java deleted file mode 100644 index d0b325982c..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/util/XMLNameUtil.java +++ /dev/null @@ -1,143 +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.tools.wsdl2java.util; - -import java.util.ArrayList; -import java.util.List; - -public class XMLNameUtil { - - /** - * Returns a valid Java name from an XML Name. - * - * @param name - * @param isUpperCase - * @return a valid Java name from an XML Name - */ - public static String getJavaNameFromXMLName(String name, boolean isUpperCase) { - List<String> parsedName = parseName(name, '_'); - StringBuilder result = new StringBuilder(64 * parsedName.size()); - for (String nameComponent: parsedName) { - if (nameComponent.length() > 0) { - if (result.length() > 0 || isUpperCase) { - result.append(Character.toUpperCase(nameComponent.charAt(0))); - result.append(nameComponent.substring(1)); - } else { - result.append(nameComponent); - } - } - } - - if (result.length() == 0) { - return "_"; - } - if (Character.isJavaIdentifierStart(result.charAt(0))) { - return isUpperCase ? result.toString() : decapitalizeName(result.toString()); - } - return "_" + result; - } - - /** - * Decapitalize a name. - * @param name - * @return a decapitalized name - */ - public static String decapitalizeName(String name) { - if (name.length() == 0) { - return name; - } else { - String lowerName = name.toLowerCase(); - int i; - for (i = 0; i < name.length(); i++) { - if (name.charAt(i) == lowerName.charAt(i)) { - break; - } - } - if (i > 1 && i < name.length()) { - --i; - } - return name.substring(0, i).toLowerCase() + name.substring(i); - } - } - - /** - * Parse the given name. - * - * @param sourceName - * @param separator - * @return some stuff parsed from the name - */ - private static List<String> parseName(String sourceName, char separator) { - List<String> result = new ArrayList<String>(); - if (sourceName != null) { - StringBuilder currentWord = new StringBuilder(64); - boolean lastIsLower = false; - int index; - int length; - for (index = 0, length = sourceName.length(); index < length; ++index) { - char curChar = sourceName.charAt(index); - if (!Character.isJavaIdentifierPart(curChar)) { - curChar = separator; - } - if (Character.isUpperCase(curChar) - || (!lastIsLower && Character.isDigit(curChar)) - || curChar == separator) { - - if (lastIsLower && currentWord.length() > 1 - || curChar == separator && currentWord.length() > 0) { - result.add(currentWord.toString()); - currentWord = new StringBuilder(64); - } - lastIsLower = false; - } else { - if (!lastIsLower) { - int currentWordLength = currentWord.length(); - if (currentWordLength > 1) { - char lastChar = currentWord.charAt(--currentWordLength); - currentWord.setLength(currentWordLength); - result.add(currentWord.toString()); - currentWord = new StringBuilder(64); - currentWord.append(lastChar); - } - } - lastIsLower = true; - } - - if (curChar != separator) { - currentWord.append(curChar); - } - } - - result.add(currentWord.toString()); - } - return result; - } - - /** - * Return an EPackage name for the given namespace. - * - * @param namespace - * @return an EPackage name for the given namespace - */ - public static String getPackageNameFromNamespace(String namespace) { - return org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.getDefaultPackageName(namespace); - } - - -} diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/resources/META-INF/LICENSE.txt b/branches/sca-equinox/tools/sdo/wsdl2java/src/main/resources/META-INF/LICENSE.txt deleted file mode 100644 index 0084319535..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/resources/META-INF/LICENSE.txt +++ /dev/null @@ -1,202 +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, serviceDefinition marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/resources/RemotableInterfaceTemplate.xsl b/branches/sca-equinox/tools/sdo/wsdl2java/src/main/resources/RemotableInterfaceTemplate.xsl deleted file mode 100644 index 43005bcdbc..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/main/resources/RemotableInterfaceTemplate.xsl +++ /dev/null @@ -1,130 +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. ---> -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - <xsl:output method="text"/> - - <!-- import the databinding template--> - <xsl:include href="databindsupporter"/> - <!-- import the other templates for databinding - Note - these names would be handled by a special - URI resolver during the xslt transformations - --> - <xsl:include href="externalTemplate"/> - - - <xsl:template match="/interface"> - - <xsl:variable name="isSync"><xsl:value-of select="@isSync"/></xsl:variable> - <xsl:variable name="isAsync"><xsl:value-of select="@isAsync"/></xsl:variable> - <xsl:variable name="callbackname"><xsl:value-of select="@callbackname"/></xsl:variable> - <xsl:variable name="package"><xsl:value-of select="@package"/></xsl:variable> - - /** - * <xsl:value-of select="@name"/>.java - * - * This file was auto-generated from WSDL - * by the Apache Axis2 version: #axisVersion# #today# - */ - package <xsl:value-of select="$package"/>; - - import org.osoa.sca.annotations.Remotable; - import org.osoa.sca.annotations.Service; - - /* - * <xsl:value-of select="@name"/> java interface - */ - - @Remotable - @Service - public interface <xsl:value-of select="@name"></xsl:value-of> { - <xsl:for-each select="method"> - - <!-- Code for in-out mep --> - <xsl:if test="@mep='12'"> - <xsl:variable name="outputtype"><xsl:value-of select="output/param/@type"></xsl:value-of></xsl:variable> - - <!-- start of the sync block --> - <xsl:if test="$isSync='1'"> - /** - * Auto generated method signatures - <xsl:for-each select="input/param[@type!='']">* @param <xsl:value-of select="@name"></xsl:value-of><xsl:text> </xsl:text></xsl:for-each> - <xsl:for-each select="fault/param[@name!='']">* @throws <xsl:value-of select="@name"></xsl:value-of><xsl:text> *</xsl:text></xsl:for-each> - - */ - public <xsl:choose><xsl:when test="$outputtype=''">void</xsl:when><xsl:otherwise><xsl:value-of select="$outputtype"/></xsl:otherwise></xsl:choose> - <xsl:text> </xsl:text><xsl:value-of select="@name"/>( - <xsl:for-each select="input/param[@type!='']"> - <xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@type"/><xsl:text> </xsl:text><xsl:value-of select="@name"/> - </xsl:for-each>) throws <xsl:for-each select="fault/param[@name!='']"> - <xsl:if test="position()>1">,</xsl:if><xsl:text> </xsl:text><xsl:value-of select="@name"/><xsl:if test="position()=last()">,</xsl:if> - - </xsl:for-each> java.rmi.RemoteException; - <!-- end of the sync block --> - </xsl:if> - - <!-- start of the async block --> - <xsl:if test="$isAsync='1'"> - /** - * Auto generated method signature - <xsl:for-each select="input/param[@type!='']">* @param <xsl:value-of select="@name"></xsl:value-of><xsl:text> </xsl:text></xsl:for-each> - <xsl:for-each select="fault/param[@name!='']">* @throws <xsl:value-of select="@name"></xsl:value-of><xsl:text> *</xsl:text></xsl:for-each> - - */ - - public void start<xsl:value-of select="@name"/>( - <xsl:variable name="paramCount"><xsl:value-of select="count(input/param[@type!=''])"></xsl:value-of></xsl:variable> - <xsl:for-each select="input/param"> - <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@type"/><xsl:text> </xsl:text><xsl:value-of select="@name"></xsl:value-of></xsl:if></xsl:for-each> - <xsl:if test="$paramCount>0">,</xsl:if>final <xsl:value-of select="$package"/>.<xsl:value-of select="$callbackname"/> callback) throws <xsl:for-each select="fault/param[@name!='']"> - <xsl:if test="position()>1">,</xsl:if><xsl:text> </xsl:text><xsl:value-of select="@name"/><xsl:if test="position()=last()">,</xsl:if> - </xsl:for-each> java.rmi.RemoteException; - </xsl:if> - <!-- end of async block--> - - </xsl:if> - <!-- Code for in-only mep --> - <xsl:if test="@mep='10'"> - - <!-- For in-only meps there would not be any asynchronous methods since there is no output --> - /** - * Auto generated method signature - <xsl:for-each select="input/param[@type!='']">* @param <xsl:value-of select="@name"></xsl:value-of><xsl:text> </xsl:text></xsl:for-each> - <xsl:for-each select="fault/param[@name!='']">* @throws <xsl:value-of select="@name"></xsl:value-of><xsl:text> *</xsl:text></xsl:for-each> - */ - public void - <xsl:text> </xsl:text><xsl:value-of select="@name"/>( - <xsl:for-each select="input/param"> - - <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@type"/><xsl:text> </xsl:text><xsl:value-of select="@name"/> - </xsl:if> - </xsl:for-each>) throws <xsl:for-each select="fault/param[@name!='']"> - <xsl:if test="position()>1">,</xsl:if><xsl:text> </xsl:text><xsl:value-of select="@name"/><xsl:if test="position()=last()">,</xsl:if> - </xsl:for-each> java.rmi.RemoteException; - - </xsl:if> - - </xsl:for-each> - - <!-- Apply other templates --> - //<xsl:apply-templates/> - } - - - </xsl:template> - </xsl:stylesheet>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGeneratorTestCase.java b/branches/sca-equinox/tools/sdo/wsdl2java/src/test/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGeneratorTestCase.java deleted file mode 100644 index 92581d6ac2..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGeneratorTestCase.java +++ /dev/null @@ -1,80 +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.tools.wsdl2java.generate; - -import junit.framework.TestCase; - -/** - * Test case for WSDL2Java - */ -public class WSDL2JavaGeneratorTestCase extends TestCase { - - - public void testAccountService() { - - String basedir = System.getProperty("basedir"); - if (basedir == null) - basedir = "."; - - String[] args = - new String[] {"-targetDirectory", basedir + "/target/wsdl2java-source", - "-javaPackage", "org.apache.tuscany.tools.wsdl2java.generate.account", - basedir + "/src/test/resources/AccountService.wsdl"}; - - WSDL2JavaGenerator.main(args); - - } - - /** - * Test WSDL with faults - * Sample WSDL originated from BigBank and Tuscany 978 - */ - public void testAccountServiceWithFaults() { - - String basedir = System.getProperty("basedir"); - if (basedir == null) - basedir = "."; - - String[] args = - new String[] {"-targetDirectory", basedir + "/target/wsdl2java-source", - "-javaPackage", "org.apache.tuscany.tools.wsdl2java.generate.account", - basedir + "/src/test/resources/AccountServiceWithFault.wsdl"}; - - WSDL2JavaGenerator.main(args); - - } - - /** - * Test Interopdoc WSDL - */ - public void testInteropdocWsdl() { - - String basedir = System.getProperty("basedir"); - if (basedir == null) - basedir = "."; - - String[] args = - new String[] {"-targetDirectory", basedir + "/target/wsdl2java-source", - "-javaPackage", "org.apache.tuscany.tools.wsdl2java.generate.account", - basedir + "/src/test/resources/interopdoc.wsdl"}; - - WSDL2JavaGenerator.main(args); - - } -} diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/java/org/soapinterop/CreditScoreDocLit.java b/branches/sca-equinox/tools/sdo/wsdl2java/src/test/java/org/soapinterop/CreditScoreDocLit.java deleted file mode 100644 index e9e8aa882a..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/java/org/soapinterop/CreditScoreDocLit.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.soapinterop; - -public interface CreditScoreDocLit { - public org.example.creditscore.doclit.CreditReport getCreditScore( - org.example.creditscore.doclit.Customer param0) throws java.rmi.RemoteException; - } - diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/AccountService.wsdl b/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/AccountService.wsdl deleted file mode 100644 index 6f2fed1e2a..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/AccountService.wsdl +++ /dev/null @@ -1,242 +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.
- -->
-<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:tns="http://www.bigbank.com/Account/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:account="http://www.bigbank.com/Account/"
- targetNamespace="http://www.bigbank.com/Account/" - name="AccountService">
-
- <wsdl:types>
- <xsd:schema targetNamespace="http://www.bigbank.com/Account/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:account="http://www.bigbank.com/Account/" - xmlns:sdojava="commonj.sdo/java" - sdojava:package="org.apache.tuscany.samples.bigbank.account">
-
- <xsd:element name="getAccountReportWrapped0">
- <xsd:complexType>
- <xsd:sequence>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="getAccountReportWrapped0Response">
- <xsd:complexType>
- <xsd:sequence>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="getAccountReportWrapped1"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="customerID" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element>
- <xsd:element name="getAccountReportWrapped1Response"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="accountReport" type="account:AccountReport"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> -
- <xsd:element name="getAccountReportWrappedN">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="customerID" type="xsd:string"/>
- <xsd:element name="customerID2" type="xsd:int"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="getAccountReportWrappedNResponse">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="accountReport" type="account:AccountReport"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="getAccountReportBare0" type="xsd:string"/>
- <xsd:element name="getAccountReportBare0Response" type="xsd:int"/>
-
- <xsd:element name="getAccountReportBare1Simple" type="xsd:string"/>
- <xsd:element name="getAccountReportBare1SimpleResponse" type="xsd:int"/>
-
- <xsd:element name="getAccountReportBare1Complex" type="account:AccountRequest"/>
- <xsd:element name="getAccountReportBare1ComplexResponse" type="account:AccountReport"/>
-
- <xsd:complexType name="AccountRequest">
- <xsd:sequence>
- <xsd:element name="customerID" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="AccountReport">
- <xsd:sequence>
- <xsd:element name="accountSummaries" type="account:AccountSummary" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="AccountSummary">
- <xsd:attribute name="accountNumber" type="xsd:string"/>
- <xsd:attribute name="accountType" type="xsd:string"/>
- <xsd:attribute name="balance" type="xsd:float"/>
- </xsd:complexType>
-
- </xsd:schema>
- </wsdl:types>
-
- <wsdl:message name="getAccountReportWrapped0Request">
- <wsdl:part element="account:getAccountReportWrapped0" name="getAccountReportWrapped0Request"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportWrapped0Response">
- <wsdl:part element="account:getAccountReportWrapped0Response" name="getAccountReportWrapped0Response"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportWrapped1Request">
- <wsdl:part element="account:getAccountReportWrapped1" name="getAccountReportWrapped1Request"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportWrapped1Response">
- <wsdl:part element="account:getAccountReportWrapped1Response" name="getAccountReportWrapped1Response"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportWrappedNRequest">
- <wsdl:part element="account:getAccountReportWrappedN" name="getAccountReportWrappedNRequest"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportWrappedNResponse">
- <wsdl:part element="account:getAccountReportWrappedNResponse" name="getAccountReportWrappedNResponse"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportBare0Request">
- </wsdl:message>
- <wsdl:message name="getAccountReportBare0Response">
- </wsdl:message>
-
- <wsdl:message name="getAccountReportBare1SimpleRequest">
- <wsdl:part element="account:getAccountReportBare1Simple" name="getAccountReportBare1SimpleRequest"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportBare1SimpleResponse">
- <wsdl:part element="account:getAccountReportBare1SimpleResponse" name="getAccountReportBare1SimpleResponse"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportBare1ComplexRequest">
- <wsdl:part element="account:getAccountReportBare1Complex" name="getAccountReportBare1ComplexRequest"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportBare1ComplexResponse">
- <wsdl:part element="account:getAccountReportBare1ComplexResponse" name="getAccountReportBare1ComplexResponse"/>
- </wsdl:message>
-
- <wsdl:portType name="Account_Service">
- <wsdl:operation name="getAccountReportWrapped0">
- <wsdl:input message="tns:getAccountReportWrapped0Request"/>
- <wsdl:output message="tns:getAccountReportWrapped0Response"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrapped1">
- <wsdl:input message="tns:getAccountReportWrapped1Request"/>
- <wsdl:output message="tns:getAccountReportWrapped1Response"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrappedN">
- <wsdl:input message="tns:getAccountReportWrappedNRequest"/>
- <wsdl:output message="tns:getAccountReportWrappedNResponse"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare0">
- <wsdl:input message="tns:getAccountReportBare0Request"/>
- <wsdl:output message="tns:getAccountReportBare0Response"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Simple">
- <wsdl:input message="tns:getAccountReportBare1SimpleRequest"/>
- <wsdl:output message="tns:getAccountReportBare1SimpleResponse"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Complex">
- <wsdl:input message="tns:getAccountReportBare1ComplexRequest"/>
- <wsdl:output message="tns:getAccountReportBare1ComplexResponse"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="AccountServiceSOAP" type="tns:Account_Service">
- <soap:binding style="document"
- transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="getAccountReportWrapped0">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportWrapped0"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrapped1">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportWrapped1"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrappedN">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportWrappedN"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare0">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportBare0"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Simple">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportBare1Simple"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Complex">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportBare1Complex"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="AccountService">
- <wsdl:port binding="tns:AccountServiceSOAP"
- name="AccountServiceSOAP">
- <soap:address location="http://localhost:8085/sample-account/services/AccountService"/>
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/AccountServiceWithFault.wsdl b/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/AccountServiceWithFault.wsdl deleted file mode 100644 index dda5a36085..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/AccountServiceWithFault.wsdl +++ /dev/null @@ -1,475 +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. ---> -<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" - xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:account="http://www.bigbank.com/account" - targetNamespace="http://www.bigbank.com/account" - name="AccountServiceWithFault"> - - <wsdl:types> - <xsd:schema targetNamespace="http://www.bigbank.com/account" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:account="http://www.bigbank.com/account"> - - <xsd:element name="getAccountReport"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="customerID" - type="xsd:int" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="getAccountReportResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="accountReport" - type="account:AccountReport" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:complexType name="AccountReport"> - <xsd:sequence> - <xsd:element name="accountSummaries" - type="account:AccountSummary" maxOccurs="unbounded" /> - <xsd:element name="stockSummaries" - type="account:StockSummary" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - <xsd:complexType name="AccountSummary"> - <xsd:attribute name="accountNumber" type="xsd:string" /> - <xsd:attribute name="accountType" type="xsd:string" /> - <xsd:attribute name="balance" type="xsd:float" /> - </xsd:complexType> - - <xsd:complexType name="StockSummary"> - <!-- xsd:attribute name="id" type="xsd:int" / --> - <xsd:attribute name="purchaseLotNumber" type="xsd:int" /> - <!-- unique id for this purchase --> - <xsd:attribute name="symbol" type="xsd:string" /> - <xsd:attribute name="quantity" type="xsd:int" /> - <xsd:attribute name="purchaseDate" type="xsd:dateTime" /> - <xsd:attribute name="purchasePrice" type="xsd:float" /> - <xsd:attribute name="currentPrice" type="xsd:float" /> - <xsd:attribute name="company" type="xsd:string" /> - <xsd:attribute name="highPrice" type="xsd:float" /> - <xsd:attribute name="lowPrice" type="xsd:float" /> - - </xsd:complexType> - - <!-- Profile in data base --> - <xsd:element name="getCustomerProfile"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="loginID" type="xsd:string" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:complexType name="CustomerProfileData"> - <xsd:sequence> - <xsd:element name="firstName" type="xsd:string" /> - <xsd:element name="lastName" type="xsd:string" /> - <xsd:element name="address" type="xsd:string" /> - <xsd:element name="email" type="xsd:string" /> - <xsd:element name="loginID" type="xsd:string" /> - <xsd:element name="password" type="xsd:string" /> - <xsd:element name="id" type="xsd:int" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="getCustomerProfileResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="customerProfile" - type="account:CustomerProfileData" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="withdraw"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="accountNumber" - type="xsd:string" /> - <xsd:element name="amount" type="xsd:float" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="withdrawResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="balance" type="xsd:float" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <!-- @start added fault --> - <xsd:element name="insufficientFundsFault"> - <xsd:complexType name="insufficientFundsFault"> - <xsd:sequence> - <xsd:element name="message" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <!-- @end added fault --> - - <xsd:element name="deposit"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="accountNumber" - type="xsd:string" /> - <xsd:element name="amount" type="xsd:float" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="depositResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="balance" type="xsd:float" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="purchaseStock"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="id" type="xsd:int" /> - <xsd:element name="stock" type="account:StockSummary" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="purchaseStockResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="purchaseSummary" - type="account:StockSummary" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - - - <xsd:element name="sellStock"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="purchaseLotNumber" - type="xsd:int" /><!-- unique id for this purchase --> - <xsd:element name="quantity" type="xsd:int" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="createAccount"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="customerProfile" - type="account:CustomerProfileData" /> - <xsd:element name="createSavings" - type="xsd:boolean" /> - <xsd:element name="createCheckings" - type="xsd:boolean" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="createAccountResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="customerProfile" - type="account:CustomerProfileData" /> - </xsd:sequence> - </xsd:complexType> - - </xsd:element> - - <xsd:element name="getAccountLog"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="customerID" - type="xsd:int" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="getAccountLogResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="accountLog" - type="account:AccountLog" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:complexType name="AccountLog"> - <xsd:sequence> - <xsd:element name="accountLogEntries" - type="account:AccountLogEntry" maxOccurs="unbounded" /> - <xsd:element name="stockLogEntries" - type="account:StockLogEntry" maxOccurs="unbounded" /> - - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="AccountLogEntry"> - <xsd:attribute name="logSeqNo" type="xsd:int" /> - <xsd:attribute name="id" type="xsd:int" /> - <xsd:attribute name="accountNumber" type="xsd:string" /> - <xsd:attribute name="actionType" type="xsd:string" /> - <xsd:attribute name="amount" type="xsd:float" /> - </xsd:complexType> - - <xsd:complexType name="StockLogEntry"> - <xsd:attribute name="logSeqNo" type="xsd:int" /> - <xsd:attribute name="id" type="xsd:int" /> - <xsd:attribute name="symbol" type="xsd:string" /> - <xsd:attribute name="quantity" type="xsd:int" /> - <xsd:attribute name="actionType" type="xsd:string" /> - <xsd:attribute name="purchaseLotNumber" type="xsd:int" /> - </xsd:complexType> - - </xsd:schema> - </wsdl:types> - <wsdl:message name="getAccountReportRequest"> - <wsdl:part element="account:getAccountReport" - name="getAccountReportRequest" /> - </wsdl:message> - <wsdl:message name="getAccountReportResponse"> - <wsdl:part element="account:getAccountReportResponse" - name="getAccountReportResponse" /> - </wsdl:message> - - <wsdl:message name="getCustomerProfileRequest"> - <wsdl:part element="account:getCustomerProfile" - name="getCustomerProfile" /> - </wsdl:message> - <wsdl:message name="getCustomerProfileResponse"> - <wsdl:part element="account:getCustomerProfileResponse" - name="getCustomerProfileResponse" /> - </wsdl:message> - - <wsdl:message name="withdrawRequest"> - <wsdl:part element="account:withdraw" name="withdrawRequest" /> - </wsdl:message> - - <wsdl:message name="withdrawResponse"> - <wsdl:part element="account:withdrawResponse" - name="withdrawResponse" /> - </wsdl:message> - - <!-- @start added fault --> - <wsdl:message name="insufficientFundsFault"> - <wsdl:part element="account:insufficientFundsFault" name="insufficientFundsFault" /> - </wsdl:message> - <!-- @end added fault --> - - <wsdl:message name="depositRequest"> - <wsdl:part element="account:deposit" name="depositRequest" /> - </wsdl:message> - - <wsdl:message name="depositResponse"> - <wsdl:part element="account:depositResponse" - name="depositResponse" /> - </wsdl:message> - - <wsdl:message name="purchaseStockRequest"> - <wsdl:part element="account:purchaseStock" - name="purchaseStockRequest" /> - </wsdl:message> - - <wsdl:message name="purchaseStockResponse"> - <wsdl:part element="account:purchaseStockResponse" - name="purchaseStockResponse" /> - </wsdl:message> - - <wsdl:message name="sellStockRequest"> - <wsdl:part element="account:sellStock" name="sellStockRequest" /> - </wsdl:message> - - <wsdl:message name="createAccountRequest"> - <wsdl:part element="account:createAccount" name="createAccountRequest" /> - </wsdl:message> - - <wsdl:message name="createAccountResponse"> - <wsdl:part element="account:createAccountResponse" name="createAccountResponse" /> - </wsdl:message> - - <wsdl:message name="getAccountLogRequest"> - <wsdl:part element="account:getAccountLog" - name="getAccountLogRequest" /> - </wsdl:message> - - <wsdl:message name="getAccountLogResponse"> - <wsdl:part element="account:getAccountLogResponse" - name="getAccountLogResponse" /> - </wsdl:message> - - <wsdl:portType name="AccountServiceWithFault"> - <wsdl:operation name="getAccountReport"> - <wsdl:input message="account:getAccountReportRequest" /> - <wsdl:output message="account:getAccountReportResponse" /> - </wsdl:operation> - - <wsdl:operation name="getCustomerProfile"> - <wsdl:input message="account:getCustomerProfileRequest" /> - <wsdl:output message="account:getCustomerProfileResponse" /> - </wsdl:operation> - - <wsdl:operation name="withdraw"> - <wsdl:input message="account:withdrawRequest" /> - <wsdl:output message="account:withdrawResponse" /> - <!-- @start added fault --> - <wsdl:fault message="account:insufficientFundsFault" name="insufficientFundsFault"/> - <!-- @end added fault --> - </wsdl:operation> - - <wsdl:operation name="deposit"> - <wsdl:input message="account:depositRequest" /> - <wsdl:output message="account:depositResponse" /> - </wsdl:operation> - - <wsdl:operation name="purchaseStock"> - <wsdl:input message="account:purchaseStockRequest" /> - <wsdl:output message="account:purchaseStockResponse" /> - </wsdl:operation> - - <wsdl:operation name="sellStock"> - <wsdl:input message="account:sellStockRequest" /> - <wsdl:output message="account:purchaseStockResponse" /> - </wsdl:operation> - - - <wsdl:operation name="createAccount"> - <wsdl:input message="account:createAccountRequest" /> - <wsdl:output message="account:createAccountResponse" /> - </wsdl:operation> - - <wsdl:operation name="getAccountLog"> - <wsdl:input message="account:getAccountLogRequest" /> - <wsdl:output message="account:getAccountLogResponse" /> - </wsdl:operation> - - </wsdl:portType> - - - - <wsdl:binding name="AccountServiceWithFaultSOAP" type="account:AccountServiceWithFault"> - <soap:binding style="document" - transport="http://schemas.xmlsoap.org/soap/http" /> - <wsdl:operation name="getAccountReport"> - <soap:operation - soapAction="http://www.bigbank.com/account/getAccountReport" /> - <wsdl:input> - <soap:body use="literal" /> - </wsdl:input> - <wsdl:output> - <soap:body use="literal" /> - </wsdl:output> - </wsdl:operation> - <wsdl:operation name="getCustomerProfile"> - <soap:operation - soapAction="http://www.bigbank.com/account/getCustomerProfile" /> - <wsdl:input> - <soap:body use="literal" /> - </wsdl:input> - <wsdl:output> - <soap:body use="literal" /> - </wsdl:output> - </wsdl:operation> - - <wsdl:operation name="withdraw"> - <soap:operation - soapAction="http://www.bigbank.com/account/withdraw" /> - <wsdl:input> - <soap:body use="literal" /> - </wsdl:input> - <wsdl:output> - <soap:body use="literal" /> - </wsdl:output> - <!-- @start added fault --> - <wsdl:fault name="insufficientFundsFault"> - <soap:fault name="insufficientFundsFault" use="literal"/> - </wsdl:fault> - <!-- @end added fault --> - </wsdl:operation> - - <wsdl:operation name="deposit"> - <soap:operation - soapAction="http://www.bigbank.com/account/deposit" /> - <wsdl:input> - <soap:body use="literal" /> - </wsdl:input> - <wsdl:output> - <soap:body use="literal" /> - </wsdl:output> - </wsdl:operation> - - <wsdl:operation name="purchaseStock"> - <soap:operation - soapAction="http://www.bigbank.com/account/purchaseStock" /> - <wsdl:input> - <soap:body use="literal" /> - </wsdl:input> - <wsdl:output> - <soap:body use="literal" /> - </wsdl:output> - </wsdl:operation> - - <wsdl:operation name="sellStock"> - <soap:operation - soapAction="http://www.bigbank.com/account/sellStock" /> - <wsdl:input> - <soap:body use="literal" /> - </wsdl:input> - <wsdl:output> - <soap:body use="literal" /> - </wsdl:output> - </wsdl:operation> - - <wsdl:operation name="createAccount"> - <soap:operation - soapAction="http://www.bigbank.com/account/createAccount" /> - <wsdl:input> - <soap:body use="literal" /> - </wsdl:input> - <wsdl:output> - <soap:body use="literal" /> - </wsdl:output> - </wsdl:operation> - - <wsdl:operation name="getAccountLog"> - <soap:operation - soapAction="http://www.bigbank.com/account/getAccountLog" /> - <wsdl:input> - <soap:body use="literal" /> - </wsdl:input> - <wsdl:output> - <soap:body use="literal" /> - </wsdl:output> - </wsdl:operation> - - </wsdl:binding> - <wsdl:service name="AccountServiceWithFault"> - <wsdl:port binding="account:AccountServiceWithFaultSOAP" - name="AccountServiceSOAP"> - <soap:address - location="http://localhost:8080/sample-bigbank-account/services/AccountServiceWithFault" /> - </wsdl:port> - </wsdl:service> -</wsdl:definitions> diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/CreditScoreDocLit.wsdl b/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/CreditScoreDocLit.wsdl deleted file mode 100644 index 09d1a58589..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/CreditScoreDocLit.wsdl +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
-
- 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.
- -->
-<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:tns="http://www.example.org/creditscore/doclit/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CreditScore"
- targetNamespace="http://www.example.org/creditscore/doclit/">
- <wsdl:types>
- <xsd:schema
- targetNamespace="http://www.example.org/creditscore/doclit/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:element name="getCreditScoreRequest" type="tns:Customer" />
- <xsd:complexType name="Customer">
- <xsd:sequence>
- <xsd:element name="ssn" type="xsd:string" />
- <xsd:element name="firstName" type="xsd:string" />
- <xsd:element name="lastName" type="xsd:string" />
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="getCreditScoreResponse" type="tns:CreditReport"/>
- <xsd:complexType name="CreditReport">
- <xsd:sequence>
- <xsd:element name="score" type="xsd:int"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:schema>
- </wsdl:types>
- <wsdl:message name="getCreditScoreResponse">
- <wsdl:part element="tns:getCreditScoreResponse"
- name="getCreditScoreResponse" />
- </wsdl:message>
- <wsdl:message name="getCreditScoreRequest">
- <wsdl:part element="tns:getCreditScoreRequest"
- name="getCreditScoreRequest" />
- </wsdl:message>
- <wsdl:portType name="CreditScoreDocLit">
- <wsdl:operation name="getCreditScore">
- <wsdl:input message="tns:getCreditScoreRequest" />
- <wsdl:output message="tns:getCreditScoreResponse" />
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="CreditScoreDocLitSOAP" type="tns:CreditScoreDocLit">
- <soap:binding style="document"
- transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="getCreditScore">
- <soap:operation
- soapAction="http://www.example.org/creditscore/doclit/getCreditScore" />
- <wsdl:input>
- <soap:body parts="getCreditScoreRequest" use="literal" />
- </wsdl:input>
- <wsdl:output>
- <soap:body parts="getCreditScoreResponse" use="literal" />
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="CreditScore">
- <wsdl:port binding="tns:CreditScoreDocLitSOAP"
- name="CreditScoreDocLitSOAP">
- <soap:address location="http://www.example.org/" />
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/helloworld.wsdl b/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/helloworld.wsdl deleted file mode 100644 index 051f604bb2..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/helloworld.wsdl +++ /dev/null @@ -1,121 +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. - --> -<wsdl:definitions targetNamespace="http://helloworldaxis.samples.tuscany.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://helloworldaxis.samples.tuscany.apache.org" xmlns:intf="http://helloworldaxis.samples.tuscany.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="stockquote"> - <!--WSDL created by Apache Axis version: 1.2.1 -Built on Jun 14, 2005 (09:15:57 EDT)--> - <wsdl:types> - <schema elementFormDefault="qualified" - xmlns:hello="http://helloworldaxis.samples.tuscany.apache.org" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://helloworldaxis.samples.tuscany.apache.org" xmlns="http://www.w3.org/2001/XMLSchema"> - <complexType name="ComplexGreetings"> - <sequence> - <element name="greet1" type="xsd:string"/> - <element name="greet2" type="xsd:double"/> - </sequence> - </complexType> - <element name="getGreetings"> - <complexType> - <sequence> - <element name="in0" type="xsd:string"/> - <element name="in1" type="xsd:double"/> - <element name="in2" type="hello:ComplexGreetings"/> - </sequence> - <xsd:attribute name="language" type="xsd:string"/> - </complexType> - </element> - <element name="getGreetingsResponse"> - <complexType> - <sequence> - <element name="getGreetingsReturn" type="xsd:string"/> - </sequence> - </complexType> - </element> - </schema> - </wsdl:types> - - <wsdl:message name="getGreetingsRequest"> - - <wsdl:part element="impl:getGreetings" name="parameters"/> - - </wsdl:message> - - <wsdl:message name="getGreetingsResponse"> - - <wsdl:part element="impl:getGreetingsResponse" name="parameters"/> - - </wsdl:message> - - <wsdl:portType name="HelloWorldServiceImpl"> - - <wsdl:operation name="getGreetings"> - - <wsdl:input message="impl:getGreetingsRequest" name="getGreetingsRequest"/> - - <wsdl:output message="impl:getGreetingsResponse" name="getGreetingsResponse"/> - - </wsdl:operation> - - </wsdl:portType> - - <wsdl:binding name="helloworldSoapBinding" type="impl:HelloWorldServiceImpl"> - - <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> - - <wsdl:operation name="getGreetings"> - - <wsdlsoap:operation soapAction=""/> - - <wsdl:input name="getGreetingsRequest"> - - <wsdlsoap:body use="literal"/> - - </wsdl:input> - - <wsdl:output name="getGreetingsResponse"> - - <wsdlsoap:body use="literal"/> - - </wsdl:output> - - </wsdl:operation> - - </wsdl:binding> - - <wsdl:service name="HelloWorldServiceImplService"> - - <wsdl:port binding="impl:helloworldSoapBinding" name="helloworld"> - - <!-- Tuscany SCA Service --> -<!-- - <wsdlsoap:address location="http://localhost:8080/tuscany-samples-helloworldws-service/services/HelloWorldService"/> ---> - <wsdlsoap:address location="http://localhost:9876/tuscany-samples-helloworldws-service/services/HelloWorldService"/> - - <!-- Axis Web Service --> - <!-- - <wsdlsoap:address location="http://localhost:8081/helloworldaxissvc-incubating-M1/services/helloworld"/> - --> - - </wsdl:port> - - </wsdl:service> - -</wsdl:definitions> diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/interopdoc.wsdl b/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/interopdoc.wsdl deleted file mode 100644 index 820c26ca34..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/interopdoc.wsdl +++ /dev/null @@ -1,180 +0,0 @@ -<?xml version="1.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. - --> -<definitions name="InteropTestDoc" targetNamespace="http://soapinterop.org/" - xmlns="http://schemas.xmlsoap.org/wsdl/" - xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:tns="http://soapinterop.org/" - xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> - - <types> - - <xsd:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/" xmlns:interop="http://soapinterop.org/"> - - <xsd:element name="SingleTag"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="SingleTag" type="interop:SingleTag"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:complexType name="SingleTag"/> - <xsd:element name="SingleTagResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="SingleTag" type="interop:SingleTag"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="SimpleDocument"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="SimpleDocument" type="interop:SimpleDocument"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:complexType name="SimpleDocument"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"/> - </xsd:simpleContent> - </xsd:complexType> - <xsd:element name="SimpleDocumentResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="SimpleDocument" type="interop:SimpleDocument"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="ComplexDocument"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="ComplexDocument" type="interop:ComplexDocument"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:complexType name="ComplexDocument"> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="simpleDoc" type="interop:ArrayOfSimpleDocument"/> - <xsd:element minOccurs="0" maxOccurs="1" name="child" type="interop:ChildDocument"/> - </xsd:sequence> - <xsd:attribute name="AnAttribute" type="xsd:string"/> - </xsd:complexType> - <xsd:complexType name="ArrayOfSimpleDocument"> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="unbounded" name="SimpleDocument" nillable="true" type="interop:SimpleDocument"/> - </xsd:sequence> - </xsd:complexType> - <xsd:complexType name="ChildDocument"> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="childSimpleDoc" type="interop:ArrayOfSimpleDocument"/> - </xsd:sequence> - </xsd:complexType> - <xsd:element name="ComplexDocumentResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" maxOccurs="1" name="ComplexDocument" type="interop:ComplexDocument"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - </xsd:schema> - - </types> - - <message name="SingleTagSoapIn"> - <part name="parameters" element="tns:SingleTag"/> - </message> - <message name="SingleTagSoapOut"> - <part name="outputDoc" element="tns:SingleTagResponse"/> - </message> - <message name="SimpleDocumentSoapIn"> - <part name="parameters" element="tns:SimpleDocument"/> - </message> - <message name="SimpleDocumentSoapOut"> - <part name="outputDoc" element="tns:SimpleDocumentResponse"/> - </message> - <message name="ComplexDocumentSoapIn"> - <part name="parameters" element="tns:ComplexDocument"/> - </message> - <message name="ComplexDocumentSoapOut"> - <part name="outputDoc" element="tns:ComplexDocumentResponse"/> - </message> - - <portType name="DocTestPortType"> - - <operation name="SingleTag"> - <input message="tns:SingleTagSoapIn"/> - <output message="tns:SingleTagSoapOut"/> - </operation> - <operation name="SimpleDocument"> - <input message="tns:SimpleDocumentSoapIn"/> - <output message="tns:SimpleDocumentSoapOut"/> - </operation> - <operation name="ComplexDocument"> - <input message="tns:ComplexDocumentSoapIn"/> - <output message="tns:ComplexDocumentSoapOut"/> - </operation> - - </portType> - - <binding name="doc_test_binding" type="tns:DocTestPortType"> - <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> - - <operation name="SingleTag"> - <soap:operation soapAction="http://soapinterop.org/SingleTag"/> - <input> - <soap:body use="literal"/> - </input> - <output> - <soap:body use="literal"/> - </output> - </operation> - - <operation name="SimpleDocument"> - <soap:operation soapAction="http://soapinterop.org/SimpleDocument"/> - <input> - <soap:body use="literal"/> - </input> - <output> - <soap:body use="literal"/> - </output> - </operation> - - <operation name="ComplexDocument"> - <soap:operation soapAction="http://soapinterop.org/ComplexDocument"/> - <input> - <soap:body use="literal"/> - </input> - <output> - <soap:body use="literal"/> - </output> - </operation> - </binding> - - <service name="interopDocSvc"> - - <port name="interopDocPort" binding="tns:doc_test_binding"> - <soap:address location="http://www.whitemesa.net/interopdoc"/> - </port> - - </service> - -</definitions> diff --git a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/sequences.xsd b/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/sequences.xsd deleted file mode 100644 index a565f3fa65..0000000000 --- a/branches/sca-equinox/tools/sdo/wsdl2java/src/test/resources/sequences.xsd +++ /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. - --> -<xsd:schema xmlns:seq="http://www.example.com/sequences" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.example.com/sequences"> - - <xsd:element name="mixedStockQuote" type="seq:MixedQuote" /> - <xsd:element name="rc" type="seq:RepeatingChoice" /> - <xsd:element name="mrc" type="seq:MixedRepeatingChoice" /> - <xsd:element name="rc2" type="seq:TwoRCs" /> - <xsd:element name="mrc2" type="seq:TwoRCsMixed" /> - - - - <xsd:complexType mixed="true" name="MixedQuote"> - <xsd:sequence> - <xsd:element name="symbol" type="xsd:string" /> - <xsd:element name="companyName" type="xsd:string" /> - <xsd:element name="price" type="xsd:decimal" /> - <xsd:element name="open1" type="xsd:decimal" /> - <xsd:element name="high" type="xsd:decimal" /> - <xsd:element name="low" type="xsd:decimal" /> - <xsd:element name="volume" type="xsd:double" /> - <xsd:element name="change1" type="xsd:double" /> - <xsd:element maxOccurs="unbounded" minOccurs="0" - name="quotes" type="seq:MixedQuote" /> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="RepeatingChoice"> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="a" type="xsd:string" /> - <xsd:element name="b" type="xsd:int" /> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType mixed="true" name="MixedRepeatingChoice"> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="a" type="xsd:string" /> - <xsd:element name="b" type="xsd:int" /> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="TwoRCs"> - <xsd:sequence> - - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="a" type="xsd:string" /> - <xsd:element name="b" type="xsd:int" /> - </xsd:choice> - - <xsd:element name="split" type="xsd:string" /> - - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="y" type="xsd:string" /> - <xsd:element name="z" type="xsd:int" /> - </xsd:choice> - - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType mixed="true" name="TwoRCsMixed"> - <xsd:sequence> - - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="a" type="xsd:string" /> - <xsd:element name="b" type="xsd:int" /> - </xsd:choice> - - <xsd:element name="split" type="xsd:string" /> - - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="y" type="xsd:string" /> - <xsd:element name="z" type="xsd:int" /> - </xsd:choice> - - </xsd:sequence> - </xsd:complexType> - -</xsd:schema> |