diff options
Diffstat (limited to 'java/sca/modules/interface-wsdl')
20 files changed, 0 insertions, 2229 deletions
diff --git a/java/sca/modules/interface-wsdl/LICENSE b/java/sca/modules/interface-wsdl/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/modules/interface-wsdl/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/java/sca/modules/interface-wsdl/NOTICE b/java/sca/modules/interface-wsdl/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/java/sca/modules/interface-wsdl/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/java/sca/modules/interface-wsdl/pom.xml b/java/sca/modules/interface-wsdl/pom.xml deleted file mode 100644 index 65a1b957c5..0000000000 --- a/java/sca/modules/interface-wsdl/pom.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>2.0-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-interface-wsdl</artifactId> - <name>Apache Tuscany SCA WSDL Interface Model</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface</artifactId> - <version>2.0-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-xsd</artifactId> - <version>2.0-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>2.0-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-policy</artifactId> - <version>2.0-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.ws.commons.schema</groupId> - <artifactId>XmlSchema</artifactId> - <version>1.4.2</version> - </dependency> - - <dependency> - <groupId>wsdl4j</groupId> - <artifactId>wsdl4j</artifactId> - <version>1.6.2</version> - </dependency> - </dependencies> - - <repositories> - <!-- Apache repository for Web Services artifacts --> - <repository> - <id>apache.ws.zone</id> - <name>Apache WS Zone Repository</name> - <url>http://ws.zones.apache.org/repository2</url> - <releases> - <enabled>true</enabled> - </releases> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - </repositories> - - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.interface.wsdl</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.interfacedef.wsdl*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/DefaultWSDLFactory.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/DefaultWSDLFactory.java deleted file mode 100644 index 2a5dd07d08..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/DefaultWSDLFactory.java +++ /dev/null @@ -1,35 +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.interfacedef.wsdl; - -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLFactoryImpl; - -/** - * A factory for the WSDL model. - * - * @version $Rev$ $Date$ - */ -public class DefaultWSDLFactory extends WSDLFactoryImpl implements WSDLFactory { - - public DefaultWSDLFactory(ModelFactoryExtensionPoint modelFactories) { - super(modelFactories); - } - -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLDefinition.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLDefinition.java deleted file mode 100644 index 039e75f437..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLDefinition.java +++ /dev/null @@ -1,140 +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.interfacedef.wsdl; - -import java.net.URI; -import java.util.List; - -import javax.wsdl.Binding; -import javax.wsdl.Definition; -import javax.wsdl.WSDLElement; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Base; -import org.apache.tuscany.sca.xsd.XSDefinition; -import org.apache.ws.commons.schema.XmlSchemaElement; -import org.apache.ws.commons.schema.XmlSchemaType; - -/** - * Represents a WSDL definition. - * WSDLDefinition - * - * @version $Rev$ $Date$ - */ -public interface WSDLDefinition extends Base { - - /** - * Returns the WSDL definition model, if there are more than one WSDL definition under the - * same namespace, the definition will be a facade which imports all the physical WSDL - * definitions - * - * @return the WSDL definition model - */ - Definition getDefinition(); - - /** - * Sets the WSDL definition model - * @param definition the WSDL definition model - */ - void setDefinition(Definition definition); - - /** - * Returns the namespace of this WSDL definition. - * @return the namespace of this WSDL definition - */ - String getNamespace(); - - /** - * Sets the namespace of this WSDL definition. - * @param namespace the namespace of this WSDL definition - */ - void setNamespace(String namespace); - - /** - * Get a list of inline XML schema definitions - * @return A list of inline XML schema definitions - */ - List<XSDefinition> getXmlSchemas(); - - /** - * Get the location of the WSDL file - * @return The location of the WSDL file - */ - URI getLocation(); - - /** - * Set the location of the WSDL file - * @param url - */ - void setLocation(URI url); - - /** - * Get the contribution artifact URI of the WSDL document - * @return The URI of the WSDL document - */ - URI getURI(); - - /** - * Set the contribution artifact URI of the WSDL document - * @param uri - */ - void setURI(URI uri); - - /** - * Get the WSDL definitions imported by this definition - * @return A list of imported WSDL definitions - */ - List<WSDLDefinition> getImportedDefinitions(); - - /** - * Get an XSD element by QName - * @param name - * @return - */ - XmlSchemaElement getXmlSchemaElement(QName name); - - /** - * Get an XSD type by QName - * @param name - * @return - */ - XmlSchemaType getXmlSchemaType(QName name); - - /** - * Get the WSDL object by type and name - * @param <T> - * @param type javax.wsdl.Service/PortType/Binding/Message.class - * @param name The QName of the object - * @return WSDLObject - */ - <T extends WSDLElement> WSDLObject<T> getWSDLObject(Class<T> type, QName name); - - /** - * Get the generated binding for a WSDLDefinition - * @return the WSDL binding - */ - Binding getBinding(); - - /** - * Set the generated binding for a WSDLDefinition - * @param binding the WSDL binding - */ - void setBinding(Binding binding); -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLFactory.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLFactory.java deleted file mode 100644 index 95985dcc28..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLFactory.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.interfacedef.wsdl; - -import javax.wsdl.PortType; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; - -/** - * Factory for the WSDL model. - * - * @version $Rev$ $Date$ - */ -public interface WSDLFactory { - - /** - * Creates a new WSDL interface. - * - * @return a new WSDL interface - */ - WSDLInterface createWSDLInterface(); - - /** - * Creates a new WSDL interface from a WSDL portType. - * - * @param portType the portType to inspect - * @return a WSDLInterface corresponding to the WSDL portType - */ - WSDLInterface createWSDLInterface(PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver) throws InvalidInterfaceException; - - /** - * Creates the contents of a WSDL interface from a WSDL portType. - * - * @param portType the portType to inspect - * @return a WSDLInterface corresponding to the WSDL portType - */ - void createWSDLInterface(WSDLInterface wsdlInterface, PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver) throws InvalidInterfaceException; - - /** - * Creates a new WSDL definition. - * - * @return a new WSDL definition - */ - WSDLDefinition createWSDLDefinition(); - - /** - * Creates a new WSDL interface contract. - * - * @return - */ - WSDLInterfaceContract createWSDLInterfaceContract(); - -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLInterface.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLInterface.java deleted file mode 100644 index c0da060af2..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLInterface.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.interfacedef.wsdl; - -import javax.wsdl.PortType; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Base; -import org.apache.tuscany.sca.interfacedef.Interface; - - -/** - * Represents a WSDL interface. - * - * @version $Rev$ $Date$ - */ -public interface WSDLInterface extends Interface, Base { - - /** - * Returns the name of the WSDL interface. - * - * @return the name of the WSDL interface - */ - QName getName(); - - /** - * Sets the name of the WSDL interface. - * - * @param interfaceName the name of the WSDL interface - */ - void setName(QName interfaceName); - - /** - * Returns the WSDL interface portType. - * - * @return the WSDL interface portType - */ - PortType getPortType(); - - /** - * Sets the WSDL interface portType - * - * @param portType the WSDL interface portType - */ - void setPortType(PortType portType); - - WSDLDefinition getWsdlDefinition(); - - void setWsdlDefinition(WSDLDefinition wsdlDefinition); - -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLInterfaceContract.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLInterfaceContract.java deleted file mode 100644 index 59db17116b..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLInterfaceContract.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.interfacedef.wsdl; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; - - -/** - * Represents a WSDL interface contract. - * - * @version $Rev$ $Date$ - */ -public interface WSDLInterfaceContract extends InterfaceContract { - - /** - * Sets the WSDL location. - * @param location the WSDL location - */ - void setLocation(String location); - - /** - * Returns the WSDL location - * @return the WSDL location - */ - String getLocation(); - -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLObject.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLObject.java deleted file mode 100644 index 0b707163da..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLObject.java +++ /dev/null @@ -1,54 +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.interfacedef.wsdl; - -import java.io.Serializable; - -import javax.wsdl.Definition; - -/** - * Model for objects in a WSDL definition - * @version $Rev$ $Date$ - */ -public interface WSDLObject<T extends Serializable> { - /** - * Get the owning definition where the element is declared - * @return The owning definition - */ - Definition getDefinition(); - - /** - * Set the owning definition - * @param definition - */ - void setDefinition(Definition definition); - - /** - * Get the WSDL element such as Service, PortType, Binding or Message - * @return The WSDL element - */ - T getElement(); - - /** - * Set the WSDL element - * @param element - */ - void setElement(T element); -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLOperation.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLOperation.java deleted file mode 100644 index d73cccb714..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLOperation.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.interfacedef.wsdl; - -import org.apache.tuscany.sca.interfacedef.Operation; - -/** - * WSDL 1.1 Operation - * @version $Rev$ $Date$ - */ -public interface WSDLOperation extends Operation { - /** - * Get the underlying WSDL operation - * @return - */ - javax.wsdl.Operation getWsdlOperation(); - - /** - * Set the underlying WSDL operation - * @param operation - */ - void setWsdlOperation(javax.wsdl.Operation operation); -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/InvalidWSDLException.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/InvalidWSDLException.java deleted file mode 100644 index 1e7b4faa32..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/InvalidWSDLException.java +++ /dev/null @@ -1,35 +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.interfacedef.wsdl.impl; - -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; - -/** - * An exception to indicate the WSDL definition is invalid - * - * @version $Rev$ $Date$ - */ -public class InvalidWSDLException extends InvalidInterfaceException { - private static final long serialVersionUID = 3742887584293256519L; - - public InvalidWSDLException(String message) { - super(message); - } -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLDefinitionImpl.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLDefinitionImpl.java deleted file mode 100644 index 16e9cf43f3..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLDefinitionImpl.java +++ /dev/null @@ -1,289 +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.interfacedef.wsdl.impl; - -import static org.apache.tuscany.sca.xsd.impl.XSDefinitionImpl.getXmlSchemaObject; - -import java.net.URI; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import javax.wsdl.Binding; -import javax.wsdl.Definition; -import javax.wsdl.Import; -import javax.wsdl.Message; -import javax.wsdl.PortType; -import javax.wsdl.Service; -import javax.wsdl.WSDLElement; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLObject; -import org.apache.tuscany.sca.xsd.XSDefinition; -import org.apache.ws.commons.schema.XmlSchema; -import org.apache.ws.commons.schema.XmlSchemaCollection; -import org.apache.ws.commons.schema.XmlSchemaElement; -import org.apache.ws.commons.schema.XmlSchemaType; - -/** - * Represents a WSDL definition. - * - * @version $Rev$ $Date$ - */ -public class WSDLDefinitionImpl implements WSDLDefinition { - - private Definition definition; - private String namespace; - private URI location; - private URI uri; - private List<WSDLDefinition> imported = new ArrayList<WSDLDefinition>(); - private List<XSDefinition> schemas = new ArrayList<XSDefinition>(); - private boolean unresolved; - private Binding binding; - - protected WSDLDefinitionImpl() { - } - - public Definition getDefinition() { - return definition; - } - - public void setDefinition(Definition definition) { - this.definition = definition; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean undefined) { - this.unresolved = undefined; - } - - public String getNamespace() { - if (isUnresolved()) { - return namespace; - } else if (definition != null) { - return definition.getTargetNamespace(); - } else { - return namespace; - } - } - - public void setNamespace(String namespace) { - if (!isUnresolved()) { - throw new IllegalStateException(); - } else { - this.namespace = namespace; - } - } - - /* - @Override - public int hashCode() { - return String.valueOf(getNamespace()).hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else if (obj instanceof WSDLDefinition) { - WSDLDefinition def = (WSDLDefinition)obj; - if (getNamespace() != null) { - return getNamespace().equals(def.getNamespace()); - } else { - return def.getNamespace() == null; - } - } else { - return false; - } - } - */ - - /** - * @see org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition#getXmlSchemas() - */ - public List<XSDefinition> getXmlSchemas() { - return schemas; - } - - /** - * @see org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition#getLocation() - */ - public URI getLocation() { - return location; - } - - /** - * @see org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition#setLocation(java.net.URI) - */ - public void setLocation(URI url) { - this.location = url; - } - - /** - * @see org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition#getURI() - */ - public URI getURI() { - return uri; - } - - /** - * @see org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition#setURI(java.net.URI) - */ - public void setURI(URI uri) { - this.uri = uri; - } - - /** - * @see org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition#getImportedDefinitions() - */ - public List<WSDLDefinition> getImportedDefinitions() { - return imported; - } - - /** - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((location == null) ? 0 : location.hashCode()); - result = prime * result + ((namespace == null) ? 0 : namespace.hashCode()); - return result; - } - - /** - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (!(obj instanceof WSDLDefinitionImpl)) - return false; - final WSDLDefinitionImpl other = (WSDLDefinitionImpl)obj; - if (location == null) { - if (other.location != null) - return false; - } else if (!location.equals(other.location)) - return false; - if (namespace == null) { - if (other.namespace != null) - return false; - } else if (!namespace.equals(other.namespace)) - return false; - return true; - } - - /** - * @see org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition#getXmlSchemaElement(javax.xml.namespace.QName) - */ - public XmlSchemaElement getXmlSchemaElement(QName name) { - XmlSchemaCollection schemaCollection = null; - for (XSDefinition xsd : schemas) { - if (schemaCollection == null && xsd.getSchemaCollection() != null) { - schemaCollection = xsd.getSchemaCollection(); - } - XmlSchema schema = xsd.getSchema(); - XmlSchemaElement element = getXmlSchemaObject(schema, name, XmlSchemaElement.class); - if (element != null) { - return element; - } - } - if (schemaCollection != null) { - return schemaCollection.getElementByQName(name); - } - return null; - } - - /** - * @see org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition#getXmlSchemaType(javax.xml.namespace.QName) - */ - public XmlSchemaType getXmlSchemaType(QName name) { - XmlSchemaCollection schemaCollection = null; - for (XSDefinition xsd : schemas) { - if (xsd.getSchemaCollection() != null) { - schemaCollection = xsd.getSchemaCollection(); - } - XmlSchema schema = xsd.getSchema(); - XmlSchemaType type = getXmlSchemaObject(schema, name, XmlSchemaType.class); - if (type != null) { - return type; - } - } - if (schemaCollection != null) { - return schemaCollection.getTypeByQName(name); - } - return null; - } - - @SuppressWarnings("unchecked") - private static <T extends WSDLElement> WSDLObject<T> getWSDLObject(Definition definition, Class<T> type, QName name) { - if (definition == null) { - return null; - } - Map<QName, WSDLElement> map = null; - if (type == PortType.class) { - map = definition.getPortTypes(); - } else if (type == Service.class) { - map = definition.getServices(); - } else if (type == Binding.class) { - map = definition.getBindings(); - } else if (type == Message.class) { - map = definition.getMessages(); - } else { - throw new IllegalArgumentException("Invalid type: " + type.getName()); - } - if (map.containsKey(name)) { - return (WSDLObject<T>)new WSDLObjectImpl(definition, map.get(name)); - } else { - for (Object imports : definition.getImports().values()) { - List<Import> importList = (List<Import>)imports; - for (Import i : importList) { - definition = i.getDefinition(); - WSDLObject<T> element = getWSDLObject(definition, type, name); - if (element != null) { - return element; - } - } - } - } - return null; - } - - public <T extends WSDLElement> WSDLObject<T> getWSDLObject(Class<T> type, QName name) { - return getWSDLObject(definition, type, name); - } - - public Binding getBinding() { - return binding; - } - - public void setBinding(Binding binding) { - this.binding = binding; - } - -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLFactoryImpl.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLFactoryImpl.java deleted file mode 100644 index 1f2263e1c9..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLFactoryImpl.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.interfacedef.wsdl.impl; - -import javax.wsdl.PortType; - -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract; - -/** - * A factory for the WSDL model. - * - * @version $Rev$ $Date$ - */ -public abstract class WSDLFactoryImpl implements WSDLFactory { - - private WSDLInterfaceIntrospectorImpl introspector; - - public WSDLFactoryImpl(ModelFactoryExtensionPoint modelFactories) { - introspector = new WSDLInterfaceIntrospectorImpl(modelFactories); - } - - public WSDLInterface createWSDLInterface() { - return new WSDLInterfaceImpl(); - } - - public WSDLInterface createWSDLInterface(PortType portType, - WSDLDefinition wsdlDefinition, - ModelResolver resolver) throws InvalidInterfaceException { - WSDLInterface wsdlInterface = createWSDLInterface(); - introspector.introspectPortType(wsdlInterface, portType, wsdlDefinition, resolver); - return wsdlInterface; - } - - public void createWSDLInterface(WSDLInterface wsdlInterface, - PortType portType, - WSDLDefinition wsdlDefinition, - ModelResolver resolver) throws InvalidInterfaceException { - introspector.introspectPortType(wsdlInterface, portType, wsdlDefinition, resolver); - } - - public WSDLDefinition createWSDLDefinition() { - return new WSDLDefinitionImpl(); - } - - public WSDLInterfaceContract createWSDLInterfaceContract() { - return new WSDLInterfaceContractImpl(); - } - - public WSDLInterfaceIntrospectorImpl getWSDLInterfaceIntrospector() { - return introspector; - } - -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceContractImpl.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceContractImpl.java deleted file mode 100644 index e10bc0d178..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceContractImpl.java +++ /dev/null @@ -1,47 +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.interfacedef.wsdl.impl; - -import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractImpl; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract; - -/** - * Represents a WSDL interface contract. - * - * @version $Rev$ $Date$ - */ -public class WSDLInterfaceContractImpl extends InterfaceContractImpl implements WSDLInterfaceContract { - private String location; - - protected WSDLInterfaceContractImpl() { - } - - public String getLocation() { - return location; - } - - public void setLocation(String location) { - this.location = location; - } - - @Override - public WSDLInterfaceContractImpl clone() throws CloneNotSupportedException { - return (WSDLInterfaceContractImpl) super.clone(); - } -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceImpl.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceImpl.java deleted file mode 100644 index 3719bbd79a..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceImpl.java +++ /dev/null @@ -1,99 +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.interfacedef.wsdl.impl; - -import javax.wsdl.PortType; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.interfacedef.impl.InterfaceImpl; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; - -/** - * Represents a WSDL interface. - * - * @version $Rev$ $Date$ - */ -public class WSDLInterfaceImpl extends InterfaceImpl implements WSDLInterface { - - private QName name; - private PortType portType; - private WSDLDefinition wsdlDefinition; - - protected WSDLInterfaceImpl() { - setRemotable(true); - } - - public QName getName() { - if (isUnresolved()) { - return name; - } else { - return portType.getQName(); - } - } - - public void setName(QName interfaceName) { - if (!isUnresolved()) { - throw new IllegalStateException(); - } - this.name = interfaceName; - } - - public PortType getPortType() { - return portType; - } - - public void setPortType(PortType portType) { - this.portType = portType; - } - - @Override - public int hashCode() { - return String.valueOf(getName()).hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else if (obj instanceof WSDLInterface) { - if (getName() != null) { - return getName().equals(((WSDLInterface)obj).getName()); - } else { - return ((WSDLInterface)obj).getName() == null; - } - } else { - return false; - } - } - - public WSDLDefinition getWsdlDefinition() { - return wsdlDefinition; - } - - public void setWsdlDefinition(WSDLDefinition wsdlDefinition) { - this.wsdlDefinition = wsdlDefinition; - } - - @Override - public WSDLInterfaceImpl clone() throws CloneNotSupportedException { - return (WSDLInterfaceImpl) super.clone(); - } - -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java deleted file mode 100644 index 18fce72f90..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java +++ /dev/null @@ -1,159 +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.interfacedef.wsdl.impl; - -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; -import java.util.Vector; - -import javax.wsdl.PortType; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.interfacedef.ConversationSequence; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.xsd.XSDFactory; - -/** - * Introspector for creating WSDLInterface definitions from WSDL PortTypes. - * - * @version $Rev$ $Date$ - */ -public class WSDLInterfaceIntrospectorImpl { - private static final QName POLICY_REQUIRES = new QName("http://www.osoa.org/xmlns/sca/1.0", "requires"); - private static final QName POLICY_CONVERSATIONAL = new QName("http://www.osoa.org/xmlns/sca/1.0", "conversational"); - public static final QName POLICY_END_CONVERSATION = new QName("http://www.osoa.org/xmlns/sca/1.0", "endsConversation"); - - private XSDFactory xsdFactory; - private PolicyFactory policyFactory; - - public WSDLInterfaceIntrospectorImpl(ModelFactoryExtensionPoint modelFactories) { - this.xsdFactory = modelFactories.getFactory(XSDFactory.class);; - this.policyFactory = modelFactories.getFactory(PolicyFactory.class);; - } - - // FIXME: Do we want to deal with document-literal wrapped style based on the JAX-WS Specification? - private List<Operation> introspectOperations(PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver) throws InvalidWSDLException { - List<Operation> operations = new ArrayList<Operation>(); - for (Object o : portType.getOperations()) { - javax.wsdl.Operation wsdlOp = (javax.wsdl.Operation)o; - Operation operation = getOperation(wsdlOp, wsdlDefinition, resolver, xsdFactory); - if(isEndConversation(wsdlOp)) { - operation.setConversationSequence(ConversationSequence.CONVERSATION_END); - } - operations.add(operation); - } - return operations; - } - - public void introspectPortType(WSDLInterface wsdlInterface, PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver) throws InvalidWSDLException { - processIntents(wsdlInterface, portType); - wsdlInterface.setPortType(portType); - wsdlInterface.getOperations().addAll(introspectOperations(portType, wsdlDefinition, resolver)); - wsdlInterface.setConversational(isConversational(portType)); - } - - public static Operation getOperation(javax.wsdl.Operation wsdlOp, - WSDLDefinition wsdlDefinition, - ModelResolver resolver, - XSDFactory xsdFactory) throws InvalidWSDLException { - WSDLOperationIntrospectorImpl op = new WSDLOperationIntrospectorImpl(xsdFactory, wsdlOp, wsdlDefinition, null, resolver); - return op.getOperation(); - } - - private void processIntents(WSDLInterface wsdlInterface, PortType portType) { - Object o; - try { - o = portType.getExtensionAttribute(POLICY_REQUIRES); - } catch (NoSuchMethodError e) { - // That method does not exist on older WSDL4J levels - o = null; - } - if(o != null && o instanceof Vector) { - Vector<QName> policyAttributes = (Vector<QName>) o; - - Enumeration<QName> policyItents = policyAttributes.elements(); - while(policyItents.hasMoreElements()) { - QName intentName = policyItents.nextElement(); - - //ignores conversational, as it will have it's own - //attribute in the wsdl interface model - if(! intentName.equals(POLICY_CONVERSATIONAL)) { - //process the intent - System.out.println(">>> Intent : " + intentName); - - // Add each intent to the list - Intent intent = policyFactory.createIntent(); - intent.setName(intentName); - - wsdlInterface.getRequiredIntents().add(intent); - } - } - - } - } - - private boolean isConversational(PortType portType) { - boolean conversational = false; - - Object o; - try { - o = portType.getExtensionAttribute(POLICY_REQUIRES); - } catch (NoSuchMethodError e) { - // That method does not exist on older WSDL4J levels - o =null; - } - if(o != null && o instanceof Vector) { - Vector<QName> policyAttributes = (Vector<QName>) o; - - if(policyAttributes.contains(POLICY_CONVERSATIONAL)) { - return true; - } - - } - - return conversational; - } - - private boolean isEndConversation(javax.wsdl.Operation operation) { - boolean endConversation = false; - - Object o; - try { - o = operation.getExtensionAttribute(POLICY_END_CONVERSATION); - } catch (NoSuchMethodError e) { - // That method does not exist on older WSDL4J levels - o = null; - } - if(o != null && o instanceof String) { - endConversation = Boolean.valueOf((String)o); - } - - return endConversation; - - } - -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLObjectImpl.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLObjectImpl.java deleted file mode 100644 index f18eaef27b..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLObjectImpl.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.interfacedef.wsdl.impl; - -import java.io.Serializable; - -import javax.wsdl.Definition; - -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLObject; - -/** - * @version $Rev$ $Date$ - */ -public class WSDLObjectImpl<T extends Serializable> implements WSDLObject<T> { - private Definition definition; - private T element; - - public WSDLObjectImpl() { - super(); - } - - public WSDLObjectImpl(Definition definition, T element) { - super(); - this.definition = definition; - this.element = element; - } - - public Definition getDefinition() { - return definition; - } - - public void setDefinition(Definition definition) { - this.definition = definition; - } - - public T getElement() { - return element; - } - - public void setElement(T element) { - this.element = element; - } - -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationImpl.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationImpl.java deleted file mode 100644 index 317b9cce81..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationImpl.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.sca.interfacedef.wsdl.impl; - -import javax.wsdl.Operation; - -import org.apache.tuscany.sca.interfacedef.impl.OperationImpl; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLOperation; - -/** - * @version $Rev$ $Date$ - */ -public class WSDLOperationImpl extends OperationImpl implements WSDLOperation { - private Operation operation; - - public WSDLOperationImpl() { - super(); - } - - /** - * @see org.apache.tuscany.sca.interfacedef.wsdl.WSDLOperation#getWsdlOperation() - */ - public Operation getWsdlOperation() { - return operation; - } - - /** - * @see org.apache.tuscany.sca.interfacedef.wsdl.WSDLOperation#setWsdlOperation(javax.wsdl.Operation) - */ - public void setWsdlOperation(Operation operation) { - this.operation = operation; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = super.hashCode(); - result = prime * result + ((operation == null) ? 0 : operation.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (!super.equals(obj)) - return false; - if (getClass() != obj.getClass()) - return false; - final WSDLOperationImpl other = (WSDLOperationImpl)obj; - if (operation == null) { - if (other.operation != null) - return false; - } else if (!operation.equals(other.operation)) - return false; - return true; - } - - @Override - public String toString() { - return operation == null ? null : operation.toString(); - } - -} diff --git a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java b/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java deleted file mode 100644 index ab6467bfd7..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java +++ /dev/null @@ -1,602 +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.interfacedef.wsdl.impl; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.wsdl.Fault; -import javax.wsdl.Input; -import javax.wsdl.Message; -import javax.wsdl.Output; -import javax.wsdl.Part; -import javax.xml.XMLConstants; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.interfacedef.ConversationSequence; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.ElementInfo; -import org.apache.tuscany.sca.interfacedef.util.FaultException; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLOperation; -import org.apache.tuscany.sca.xsd.XSDefinition; -import org.apache.tuscany.sca.xsd.XSDFactory; - -import org.apache.ws.commons.schema.XmlSchemaComplexType; -import org.apache.ws.commons.schema.XmlSchemaElement; -import org.apache.ws.commons.schema.XmlSchemaObject; -import org.apache.ws.commons.schema.XmlSchemaObjectCollection; -import org.apache.ws.commons.schema.XmlSchemaParticle; -import org.apache.ws.commons.schema.XmlSchemaSequence; -import org.apache.ws.commons.schema.XmlSchemaSimpleType; -import org.apache.ws.commons.schema.XmlSchemaType; - -/** - * Metadata for a WSDL operation - * - * @version $Rev$ $Date$ - */ -public class WSDLOperationIntrospectorImpl { - private static final Logger logger = Logger.getLogger(WSDLOperationIntrospectorImpl.class.getName()); - private static final QName ANY = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "any"); - - private XSDFactory xsdFactory; - private ModelResolver resolver; - private WSDLDefinition wsdlDefinition; - private javax.wsdl.Operation operation; - private WSDLOperation operationModel; - private DataType<List<DataType>> inputType; - private DataType outputType; - private List<DataType> faultTypes; - private String dataBinding; - - /** - * @param wsdlFactory The WSDLFactory to use - * @param operation The WSDL4J operation - * @param wsdlDefinition The WSDL Definition - * @param dataBinding The default databinding - * @param resolver The ModelResolver to use - */ - public WSDLOperationIntrospectorImpl(XSDFactory xsdFactory, - javax.wsdl.Operation operation, - WSDLDefinition wsdlDefinition, - String dataBinding, - ModelResolver resolver) { - super(); - this.xsdFactory = xsdFactory; - this.operation = operation; - this.wsdlDefinition = wsdlDefinition; - this.resolver = resolver; - this.dataBinding = dataBinding; - this.wrapper = new Wrapper(); - } - - private Wrapper wrapper; - - private Boolean wrapperStyle; - - /** - * Test if the operation qualifies wrapper style as defined by the JAX-WS - * 2.0 Specification - * - * @return true if the operation qualifies wrapper style, otherwise false - */ - public boolean isWrapperStyle() throws InvalidWSDLException { - if (wrapperStyle == null) { - wrapperStyle = - (operation.getInput() == null || operation.getInput().getMessage() == null - || operation.getInput().getMessage().getParts().size() == 0 || wrapper.getInputChildElements() != null) && (operation - .getOutput() == null || operation.getOutput().getMessage() == null - || operation.getOutput().getMessage().getParts().size() == 0 || wrapper.getOutputChildElements() != null); - } - return wrapperStyle; - } - - public Wrapper getWrapper() throws InvalidWSDLException { - if (!isWrapperStyle()) { - throw new IllegalStateException("The operation is not wrapper style."); - } else { - return wrapper; - } - } - - /** - * @return - * @throws InvalidServiceContractException - */ - public DataType<List<DataType>> getInputType() throws InvalidWSDLException { - if (inputType == null) { - Input input = operation.getInput(); - Message message = (input == null) ? null : input.getMessage(); - inputType = getMessageType(message); - inputType.setDataBinding("idl:input"); - } - return inputType; - } - - /** - * @return - * @throws NotSupportedWSDLException - */ - @SuppressWarnings("unchecked") - public DataType<XMLType> getOutputType() throws InvalidWSDLException { - if (outputType == null) { - Output output = operation.getOutput(); - Message outputMsg = (output == null) ? null : output.getMessage(); - - List outputParts = (outputMsg == null) ? null : outputMsg.getOrderedParts(null); - if (outputParts != null && outputParts.size() > 0) { - if (outputParts.size() > 1) { - // We don't support output with multiple parts - if (logger.isLoggable(Level.WARNING)) { - logger.warning("Multi-part output is not supported, please use BARE parameter style."); - } - // throw new InvalidWSDLException("Multi-part output is not supported"); - } - Part part = (Part)outputParts.get(0); - outputType = new WSDLPart(part, Object.class).getDataType(); - // outputType.setMetadata(WSDLOperation.class.getName(), this); - } - } - return outputType; - } - - /** - * @return - * @throws NotSupportedWSDLException - */ - public List<DataType> getFaultTypes() throws InvalidWSDLException { - if (faultTypes == null) { - Collection faults = operation.getFaults().values(); - faultTypes = new ArrayList<DataType>(); - for (Object f : faults) { - Fault fault = (Fault)f; - Message faultMsg = fault.getMessage(); - List faultParts = faultMsg.getOrderedParts(null); - if (faultParts.size() != 1) { - throw new InvalidWSDLException("The fault message MUST have a single part"); - } - Part part = (Part)faultParts.get(0); - WSDLPart wsdlPart = new WSDLPart(part, Object.class); - faultTypes.add(new DataTypeImpl<DataType>(FaultException.class, wsdlPart.getDataType())); - } - } - return faultTypes; - } - - private DataType<List<DataType>> getMessageType(Message message) throws InvalidWSDLException { - List<DataType> partTypes = new ArrayList<DataType>(); - if (message != null) { - Collection parts = message.getOrderedParts(null); - for (Object p : parts) { - WSDLPart part = new WSDLPart((Part)p, Object.class); - DataType<XMLType> partType = part.getDataType(); - partTypes.add(partType); - } - } - return new DataTypeImpl<List<DataType>>(dataBinding, Object[].class, partTypes); - } - - /** - * @return - * @throws NotSupportedWSDLException - */ - public Operation getOperation() throws InvalidWSDLException { - if (operationModel == null) { - boolean oneway = (operation.getOutput() == null); - operationModel = new WSDLOperationImpl(); - operationModel.setWsdlOperation(operation); - operationModel.setName(operation.getName()); - operationModel.setFaultTypes(getFaultTypes()); - operationModel.setNonBlocking(oneway); - operationModel.setConversationSequence(ConversationSequence.CONVERSATION_NONE); - operationModel.setInputType(getInputType()); - operationModel.setOutputType(getOutputType()); - - operationModel.setWrapperStyle(isWrapperStyle()); - if (isWrapperStyle()) { - WrapperInfo wrapperInfo = getWrapper().getWrapperInfo(); - operationModel.setWrapper(wrapperInfo); - } - } - return operationModel; - } - - private XmlSchemaElement getElement(QName elementName) { - - XmlSchemaElement element = wsdlDefinition.getXmlSchemaElement(elementName); - if (element == null) { - XSDefinition definition = xsdFactory.createXSDefinition(); - definition.setUnresolved(true); - definition.setNamespace(elementName.getNamespaceURI()); - definition = resolver.resolveModel(XSDefinition.class, definition); - if (definition.getSchema() != null) { - element = definition.getSchema().getElementByName(elementName); - } - } - return element; - } - - private XmlSchemaType getType(QName typeName) { - XmlSchemaType type = wsdlDefinition.getXmlSchemaType(typeName); - if (type == null) { - XSDefinition definition = xsdFactory.createXSDefinition(); - definition.setUnresolved(true); - definition.setNamespace(typeName.getNamespaceURI()); - definition = resolver.resolveModel(XSDefinition.class, definition); - if (definition.getSchema() != null) { - type = definition.getSchema().getTypeByName(typeName); - } - } - return type; - } - - /** - * Metadata for a WSDL part - */ - public class WSDLPart { - private Part part; - - private XmlSchemaElement element; - - private DataType dataType; - - public WSDLPart(Part part, Class javaType) throws InvalidWSDLException { - this.part = part; - QName elementName = part.getElementName(); - if (elementName != null) { - element = WSDLOperationIntrospectorImpl.this.getElement(elementName); - if (element == null) { - throw new InvalidWSDLException("Element cannot be resolved: " + elementName.toString()); - } - } else { - // Create an faked XSD element to host the metadata - element = new XmlSchemaElement(); - element.setName(part.getName()); - element.setQName(new QName(null, part.getName())); - QName typeName = part.getTypeName(); - if (typeName != null) { - XmlSchemaType type = WSDLOperationIntrospectorImpl.this.getType(typeName); - if (type == null) { - throw new InvalidWSDLException("Type cannot be resolved: " + typeName.toString()); - } - element.setSchemaType(type); - element.setSchemaTypeName(type.getQName()); - } - } - XMLType xmlType = new XMLType(getElementInfo(element)); - xmlType.setNillable(element.isNillable()); - xmlType.setMany(element.getMaxOccurs() > 1); - dataType = new DataTypeImpl<XMLType>(dataBinding, javaType, xmlType); - } - - /** - * @return the element - */ - public XmlSchemaElement getElement() { - return element; - } - - /** - * @return the part - */ - public Part getPart() { - return part; - } - - /** - * @return the dataType - */ - public DataType<XMLType> getDataType() { - return dataType; - } - } - - /** - * The "Wrapper Style" WSDL operation is defined by The Java API for - * XML-Based Web Services (JAX-WS) 2.0 specification, section 2.3.1.2 - * Wrapper Style. <p/> A WSDL operation qualifies for wrapper style mapping - * only if the following criteria are met: - * <ul> - * <li>(i) The operation�s input and output messages (if present) each - * contain only a single part - * <li>(ii) The input message part refers to a global element declaration - * whose localname is equal to the operation name - * <li>(iii) The output message part refers to a global element declaration - * <li>(iv) The elements referred to by the input and output message parts - * (henceforth referred to as wrapper elements) are both complex types - * defined using the xsd:sequence compositor - * <li>(v) The wrapper elements only contain child elements, they must not - * contain other structures such as wildcards (element or attribute), - * xsd:choice, substitution groups (element references are not permitted) or - * attributes; furthermore, they must not be nillable. - * </ul> - */ - public class Wrapper { - private XmlSchemaElement inputWrapperElement; - - private XmlSchemaElement outputWrapperElement; - - private List<XmlSchemaElement> inputElements; - - private List<XmlSchemaElement> outputElements; - - // private DataType<List<DataType<XMLType>>> unwrappedInputType; - // - // private DataType<XMLType> unwrappedOutputType; - - private transient WrapperInfo wrapperInfo; - - private List<XmlSchemaElement> getChildElements(XmlSchemaElement element) throws InvalidWSDLException { - if (element == null) { - return null; - } - if (element.isNillable()) { - // Wrapper element cannot be nillable - return null; - } - XmlSchemaType type = element.getSchemaType(); - if (type == null) { - String qName = element.getQName().toString(); - throw new InvalidWSDLException("The XML schema element does not have a type: " + qName); - } - if (!(type instanceof XmlSchemaComplexType)) { - // Has to be a complexType - return null; - } - XmlSchemaComplexType complexType = (XmlSchemaComplexType)type; - if (complexType.getAttributes().getCount() != 0 || complexType.getAnyAttribute() != null) { - // No attributes - return null; - } - XmlSchemaParticle particle = complexType.getParticle(); - if (particle == null) { - // No particle - return Collections.emptyList(); - } - if (!(particle instanceof XmlSchemaSequence)) { - return null; - } - XmlSchemaSequence sequence = (XmlSchemaSequence)complexType.getParticle(); - XmlSchemaObjectCollection items = sequence.getItems(); - List<XmlSchemaElement> childElements = new ArrayList<XmlSchemaElement>(); - for (int i = 0; i < items.getCount(); i++) { - XmlSchemaObject schemaObject = items.getItem(i); - if (!(schemaObject instanceof XmlSchemaElement)) { - // Should contain elements only - return null; - } - XmlSchemaElement childElement = (XmlSchemaElement)schemaObject; - /* - if (childElement.getSubstitutionGroup() != null) { - return null; - } - */ - if (childElement.getName() == null || childElement.getRefName() != null) { - XmlSchemaElement ref = getElement(childElement.getRefName()); - if (ref == null) { - throw new InvalidWSDLException("XML schema element ref cannot be resolved: " + childElement); - } - childElement = ref; - } - if (ANY.equals(childElement.getQName())) { - // Wildcard is not allowed - return null; - } - // TODO: Do we support maxOccurs >1 ? - if (childElement.getMaxOccurs() > 1) { - // TODO: [rfeng] To be implemented - /* - if(logger.isLoggable(Level.WARNING)) { - logger.warning("Support for elements with maxOccurs>1 is not implemented."); - } - */ - // return null; - } - childElements.add(childElement); - } - return childElements; - } - - /** - * Return a list of child XSD elements under the wrapped request element - * - * @return a list of child XSD elements or null if if the request - * element is not wrapped - */ - public List<XmlSchemaElement> getInputChildElements() throws InvalidWSDLException { - if (inputElements != null) { - return inputElements; - } - Input input = operation.getInput(); - if (input != null) { - Message inputMsg = input.getMessage(); - Collection parts = inputMsg.getParts().values(); - if (parts.size() != 1) { - return null; - } - Part part = (Part)parts.iterator().next(); - QName elementName = part.getElementName(); - if (elementName == null) { - return null; - } - if (!operation.getName().equals(elementName.getLocalPart())) { - return null; - } - inputWrapperElement = getElement(elementName); - if (inputWrapperElement == null) { - throw new InvalidWSDLException("The element is not declared in a XML schema: " + elementName - .toString()); - } - if (inputWrapperElement.isNillable()) { - // The wrapper element cannot be nilable - return null; - } - inputElements = getChildElements(inputWrapperElement); - return inputElements; - } else { - return null; - } - } - - /** - * Return a list of child XSD elements under the wrapped response - * element - * - * @return a list of child XSD elements or null if if the response - * element is not wrapped - */ - public List<XmlSchemaElement> getOutputChildElements() throws InvalidWSDLException { - if (outputElements != null) { - return outputElements; - } - Output output = operation.getOutput(); - if (output != null) { - Message outputMsg = output.getMessage(); - Collection parts = outputMsg.getParts().values(); - if (parts.size() != 1) { - return null; - } - Part part = (Part)parts.iterator().next(); - QName elementName = part.getElementName(); - if (elementName == null) { - throw new InvalidWSDLException("The element is not declared in the XML schema: " + part.getName()); - } - outputWrapperElement = WSDLOperationIntrospectorImpl.this.getElement(elementName); - if (outputWrapperElement == null) { - return null; - } - if (outputWrapperElement.isNillable()) { - // The wrapper element cannot be nilable - return null; - } - outputElements = getChildElements(outputWrapperElement); - // FIXME: Do we support multiple child elements for the response? - return outputElements; - } else { - return null; - } - } - - /** - * @return the inputWrapperElement - */ - public XmlSchemaElement getInputWrapperElement() { - return inputWrapperElement; - } - - /** - * @return the outputWrapperElement - */ - public XmlSchemaElement getOutputWrapperElement() { - return outputWrapperElement; - } - - /* - public DataType<List<DataType<XMLType>>> getUnwrappedInputType() throws InvalidWSDLException { - if (unwrappedInputType == null) { - List<DataType<XMLType>> childTypes = new ArrayList<DataType<XMLType>>(); - for (XmlSchemaElement element : getInputChildElements()) { - DataType<XMLType> type = - new DataType<XMLType>(dataBinding, Object.class, new XMLType(getElementInfo(element))); - // type.setMetadata(ElementInfo.class.getName(), getElementInfo(element)); - childTypes.add(type); - } - unwrappedInputType = - new DataType<List<DataType<XMLType>>>("idl:unwrapped.input", Object[].class, childTypes); - } - return unwrappedInputType; - } - - public DataType<XMLType> getUnwrappedOutputType() throws InvalidServiceContractException { - if (unwrappedOutputType == null) { - List<XmlSchemaElement> elements = getOutputChildElements(); - if (elements != null && elements.size() > 0) { - if (elements.size() > 1) { - // We don't support output with multiple parts - throw new NotSupportedWSDLException("Multi-part output is not supported"); - } - XmlSchemaElement element = elements.get(0); - unwrappedOutputType = - new DataType<XMLType>(dataBinding, Object.class, new XMLType(getElementInfo(element))); - // unwrappedOutputType.setMetadata(ElementInfo.class.getName(), getElementInfo(element)); - } - } - return unwrappedOutputType; - } - */ - - public WrapperInfo getWrapperInfo() throws InvalidWSDLException { - if (wrapperInfo == null) { - ElementInfo in = getElementInfo(getInputWrapperElement()); - ElementInfo out = getElementInfo(getOutputWrapperElement()); - List<ElementInfo> inChildren = new ArrayList<ElementInfo>(); - if (in != null) { - for (XmlSchemaElement e : getInputChildElements()) { - inChildren.add(getElementInfo(e)); - } - } - List<ElementInfo> outChildren = new ArrayList<ElementInfo>(); - if (out != null) { - for (XmlSchemaElement e : getOutputChildElements()) { - outChildren.add(getElementInfo(e)); - } - } - wrapperInfo = new WrapperInfo(dataBinding, in, out, inChildren, outChildren); - } - return wrapperInfo; - } - } - - private static ElementInfo getElementInfo(XmlSchemaElement element) { - if (element == null) { - return null; - } - ElementInfo elementInfo = new ElementInfo(element.getQName(), getTypeInfo(element.getSchemaType())); - elementInfo.setMany(element.getMaxOccurs() > 1); - elementInfo.setNillable(element.isNillable()); - return elementInfo; - } - - private static TypeInfo getTypeInfo(XmlSchemaType type) { - if (type == null) { - return null; - } - XmlSchemaType baseType = (XmlSchemaType)type.getBaseSchemaType(); - QName name = type.getQName(); - boolean simple = (type instanceof XmlSchemaSimpleType); - if (baseType == null) { - return new TypeInfo(name, simple, null); - } else { - return new TypeInfo(name, simple, getTypeInfo(baseType)); - } - } - -} diff --git a/java/sca/modules/interface-wsdl/src/main/resources/META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory b/java/sca/modules/interface-wsdl/src/main/resources/META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory deleted file mode 100644 index c11d22d7b2..0000000000 --- a/java/sca/modules/interface-wsdl/src/main/resources/META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -org.apache.tuscany.sca.interfacedef.wsdl.DefaultWSDLFactory
\ No newline at end of file |