Not required in release
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@814814 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
276d80f826
commit
c3a6ff1523
17 changed files with 0 additions and 1222 deletions
|
@ -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.
|
||||
|
||||
|
||||
|
|
@ -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/).
|
||||
|
|
@ -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.
|
||||
-->
|
||||
<project>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.apache.tuscany.sca</groupId>
|
||||
<artifactId>tuscany-modules</artifactId>
|
||||
<version>1.5.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<artifactId>tuscany-databinding-xstream</artifactId>
|
||||
<name>Apache Tuscany SCA Data Binding for XStream</name>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.tuscany.sca</groupId>
|
||||
<artifactId>tuscany-core-spi</artifactId>
|
||||
<version>1.5.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tuscany.sca</groupId>
|
||||
<artifactId>tuscany-databinding</artifactId>
|
||||
<version>1.5.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.xml.stream</groupId>
|
||||
<artifactId>stax-api</artifactId>
|
||||
<version>1.0-2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.thoughtworks.xstream</groupId>
|
||||
<artifactId>xstream</artifactId>
|
||||
<version>1.3</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.ws.commons.axiom</groupId>
|
||||
<artifactId>axiom-api</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>xerces</groupId>
|
||||
<artifactId>xercesImpl</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
<version>1.2.7</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>xerces</groupId>
|
||||
<artifactId>xercesImpl</artifactId>
|
||||
<version>2.8.1</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.ws.commons.axiom</groupId>
|
||||
<artifactId>axiom-impl</artifactId>
|
||||
<version>1.2.7</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-logging</groupId>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
<version>1.1.1</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.codehaus.woodstox</groupId>
|
||||
<artifactId>wstx-asl</artifactId>
|
||||
<version>3.2.4</version>
|
||||
<scope>runtime</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>stax</groupId>
|
||||
<artifactId>stax-api</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
|
||||
<configuration>
|
||||
<instructions>
|
||||
<Bundle-Version>${tuscany.version}</Bundle-Version>
|
||||
<Bundle-SymbolicName>org.apache.tuscany.sca.databinding.xstream</Bundle-SymbolicName>
|
||||
<Bundle-Description>${pom.name}</Bundle-Description>
|
||||
<Export-Package>org.apache.tuscany.sca.databinding.xstream*</Export-Package>
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
|
@ -1,37 +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.databinding.xstream;
|
||||
|
||||
/**
|
||||
* Wrapper for XObject
|
||||
* @version $Rev$ $Date$
|
||||
*/
|
||||
public interface MetaObject {
|
||||
void setName(String name);
|
||||
|
||||
String getName();
|
||||
|
||||
Class<?> getType();
|
||||
|
||||
String getID();
|
||||
|
||||
XObject getInstance();
|
||||
//byte[] getByteCode();
|
||||
}
|
|
@ -1,95 +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.databinding.xstream;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Implementation of a wrapper for XObject.
|
||||
*
|
||||
* @version $Rev$ $Date$
|
||||
*/
|
||||
public class MetaObjectImpl implements MetaObject {
|
||||
private String obID;
|
||||
private String name;
|
||||
private XObject obInstance;
|
||||
|
||||
//private byte[] bytecode = null;
|
||||
|
||||
public MetaObjectImpl() {
|
||||
this.obID = Utils.uniqueID();
|
||||
}
|
||||
|
||||
public MetaObjectImpl(XObject x) {
|
||||
//this.name = path;
|
||||
this.obID = Utils.uniqueID();
|
||||
this.obInstance = x;
|
||||
|
||||
try {
|
||||
initMetaOb(this.obInstance.getClass());
|
||||
|
||||
} catch (FileNotFoundException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void initMetaOb(Class<?> class1) throws FileNotFoundException, IOException {
|
||||
/*
|
||||
File file = new File(cname);
|
||||
DataInputStream cstream = new DataInputStream(new FileInputStream(file));
|
||||
bytecode = new byte[(int)file.length()];
|
||||
cstream.readFully(bytecode);
|
||||
*/
|
||||
name = class1.getName();
|
||||
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getID() {
|
||||
return obID;
|
||||
}
|
||||
|
||||
public Class<?> getType() {
|
||||
|
||||
return this.obInstance.getClass();
|
||||
}
|
||||
|
||||
public XObject getInstance() {
|
||||
return this.obInstance;
|
||||
}
|
||||
/*
|
||||
* TODO Add bytecode with Serialization
|
||||
public byte[] getByteCode() {
|
||||
return bytecode;
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
|
@ -1,69 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.tuscany.sca.databinding.xstream;
|
||||
|
||||
import org.apache.tuscany.sca.databinding.PullTransformer;
|
||||
import org.apache.tuscany.sca.databinding.TransformationContext;
|
||||
import org.apache.tuscany.sca.databinding.TransformationException;
|
||||
import org.apache.tuscany.sca.databinding.impl.BaseTransformer;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.thoughtworks.xstream.XStream;
|
||||
import com.thoughtworks.xstream.io.xml.DomReader;
|
||||
|
||||
/**
|
||||
* DOM Node --> XStream transformer
|
||||
*
|
||||
* @version $Rev$ $Date$
|
||||
*/
|
||||
public class Node2XObject extends BaseTransformer<Node, XObject> implements PullTransformer<Node, XObject> {
|
||||
|
||||
public XObject transform(Node source, TransformationContext context) {
|
||||
try {
|
||||
DomReader in = null;
|
||||
if (source instanceof Document) {
|
||||
in = new DomReader((Document)source);
|
||||
} else if (source instanceof Element) {
|
||||
in = new DomReader((Element)source);
|
||||
}
|
||||
XStream xs = new XStream();
|
||||
return (XObject)xs.unmarshal(in);
|
||||
} catch (Exception e) {
|
||||
throw new TransformationException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<Node> getSourceType() {
|
||||
return Node.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<XObject> getTargetType() {
|
||||
return XObject.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getWeight() {
|
||||
return 10;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,76 +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.databinding.xstream;
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.axiom.om.OMElement;
|
||||
import org.apache.tuscany.sca.databinding.PullTransformer;
|
||||
import org.apache.tuscany.sca.databinding.TransformationContext;
|
||||
import org.apache.tuscany.sca.databinding.impl.BaseTransformer;
|
||||
|
||||
import com.thoughtworks.xstream.XStream;
|
||||
|
||||
/**
|
||||
* Job DataObject --> AXIOM OMElement transformer
|
||||
*
|
||||
* @version $Rev$ $Date$
|
||||
*/
|
||||
public class OMElement2XObject extends BaseTransformer<OMElement, XObject> implements
|
||||
PullTransformer<OMElement, XObject> {
|
||||
|
||||
public XObject transform(OMElement source, TransformationContext context) {
|
||||
|
||||
XStream xs = new XStream();
|
||||
xs.alias("xobject", MetaObjectImpl.class);
|
||||
MetaObjectImpl mo;
|
||||
try {
|
||||
java.io.StringWriter writer = new StringWriter();
|
||||
source.serialize(writer);
|
||||
String w = writer.toString();
|
||||
// FIXME: a better way to get eliminate param0
|
||||
w = w.replaceAll("param0", "xobject");
|
||||
w = w.replaceAll("xmlns=\"\"", "");
|
||||
mo = (MetaObjectImpl)xs.fromXML(w.trim());
|
||||
return mo.getInstance();
|
||||
} catch (XMLStreamException e) {
|
||||
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<OMElement> getSourceType() {
|
||||
return OMElement.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<XObject> getTargetType() {
|
||||
return XObject.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getWeight() {
|
||||
return 10;
|
||||
}
|
||||
|
||||
}
|
|
@ -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.databinding.xstream;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.SecureRandom;
|
||||
|
||||
/**
|
||||
* Utility methods.
|
||||
*
|
||||
* @version $Rev$ $Date$
|
||||
*/
|
||||
public class Utils {
|
||||
public static String toBase64(byte[] array) {
|
||||
String code = null;
|
||||
code = new sun.misc.BASE64Encoder().encode(array);
|
||||
return code;
|
||||
}
|
||||
|
||||
public static byte[] fromBase64(String bytecode) {
|
||||
byte[] dec = null;
|
||||
try {
|
||||
dec = new sun.misc.BASE64Decoder().decodeBuffer(bytecode);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return dec;
|
||||
}
|
||||
|
||||
public static String uniqueID() {
|
||||
try {
|
||||
//Initialize SecureRandom
|
||||
//This is a lengthy operation, to be done only upon
|
||||
//initialization of the application
|
||||
SecureRandom prng = SecureRandom.getInstance("SHA1PRNG");
|
||||
|
||||
//generate a random number
|
||||
String randomNum = Integer.toString(prng.nextInt());
|
||||
|
||||
//get its digest
|
||||
MessageDigest sha = MessageDigest.getInstance("SHA-1");
|
||||
byte[] result = sha.digest(randomNum.getBytes());
|
||||
return hexEncode(result);
|
||||
} catch (NoSuchAlgorithmException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String hexEncode(byte[] aInput) {
|
||||
StringBuffer result = new StringBuffer();
|
||||
char[] digits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
|
||||
for (int idx = 0; idx < aInput.length; ++idx) {
|
||||
byte b = aInput[idx];
|
||||
result.append(digits[(b & 0xf0) >> 4]);
|
||||
result.append(digits[b & 0x0f]);
|
||||
}
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.tuscany.sca.databinding.xstream;
|
||||
|
||||
/**
|
||||
* Marker interface for XStream Serializable objects
|
||||
*
|
||||
* @version $Rev$ $Date$
|
||||
*/
|
||||
// FIXME: Why do we require a marker interface?
|
||||
public interface XObject {
|
||||
}
|
|
@ -1,69 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.tuscany.sca.databinding.xstream;
|
||||
|
||||
import org.apache.tuscany.sca.databinding.PullTransformer;
|
||||
import org.apache.tuscany.sca.databinding.TransformationContext;
|
||||
import org.apache.tuscany.sca.databinding.TransformationException;
|
||||
import org.apache.tuscany.sca.databinding.impl.BaseTransformer;
|
||||
import org.apache.tuscany.sca.databinding.impl.DOMHelper;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.thoughtworks.xstream.XStream;
|
||||
import com.thoughtworks.xstream.io.xml.DomWriter;
|
||||
|
||||
/**
|
||||
* XObject --> DOM Node transformer
|
||||
*
|
||||
* @version $Rev$ $Date$
|
||||
*/
|
||||
public class XObject2Node extends BaseTransformer<XObject, Node> implements PullTransformer<XObject, Node> {
|
||||
|
||||
public Node transform(XObject source, TransformationContext context) {
|
||||
try {
|
||||
MetaObject mj = new MetaObjectImpl(source);
|
||||
Document root = DOMHelper.newDocument();
|
||||
DomWriter out = new DomWriter(DOMHelper.newDocument());
|
||||
XStream xs = new XStream();
|
||||
xs.alias("xobject", mj.getClass());
|
||||
xs.marshal(source, out);
|
||||
DOMHelper.adjustElementName(context, root.getDocumentElement());
|
||||
return root;
|
||||
} catch (Exception e) {
|
||||
throw new TransformationException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<XObject> getSourceType() {
|
||||
return XObject.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<Node> getTargetType() {
|
||||
return Node.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getWeight() {
|
||||
return 10;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,106 +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.databinding.xstream;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
|
||||
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.impl.builder.StAXOMBuilder;
|
||||
import org.apache.tuscany.sca.databinding.PullTransformer;
|
||||
import org.apache.tuscany.sca.databinding.TransformationContext;
|
||||
import org.apache.tuscany.sca.databinding.TransformationException;
|
||||
import org.apache.tuscany.sca.databinding.impl.BaseTransformer;
|
||||
import org.apache.tuscany.sca.interfacedef.DataType;
|
||||
import org.apache.tuscany.sca.interfacedef.util.XMLType;
|
||||
|
||||
import com.thoughtworks.xstream.XStream;
|
||||
|
||||
/**
|
||||
* XObject --> AXIOM OMElement transformer
|
||||
*
|
||||
* @version $Rev$ $Date$
|
||||
*/
|
||||
public class XObject2OMElement extends BaseTransformer<XObject, OMElement> implements
|
||||
PullTransformer<XObject, OMElement> {
|
||||
|
||||
public OMElement transform(XObject source, TransformationContext context) {
|
||||
MetaObject mj = new MetaObjectImpl(source);
|
||||
OMElement element = null;
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
XStream xs = new XStream();
|
||||
xs.alias("xobject", mj.getClass());
|
||||
xs.toXML(mj, out);
|
||||
/* TODO: Maybe a base64 conversion...? or not?
|
||||
* ie. new ByteArrayInputStream(Utils.toBase64(out.toByteArray()).getBytes())
|
||||
*/
|
||||
try {
|
||||
// what's better this one:
|
||||
StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(out.toByteArray()));
|
||||
// or this one:
|
||||
// StaAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(Utils.toBase64(out.toByteArray()).getBytes()))
|
||||
element = builder.getDocumentElement();
|
||||
adjustElementName(context, element);
|
||||
} catch (Exception e) {
|
||||
throw new TransformationException(e);
|
||||
}
|
||||
return element;
|
||||
|
||||
}
|
||||
|
||||
private static void adjustElementName(TransformationContext context, OMElement element) {
|
||||
if (context != null) {
|
||||
DataType dataType = context.getTargetDataType();
|
||||
Object logical = dataType == null ? null : dataType.getLogical();
|
||||
if (!(logical instanceof XMLType)) {
|
||||
return;
|
||||
}
|
||||
XMLType xmlType = (XMLType)logical;
|
||||
if (xmlType.isElement() && !xmlType.getElementName().equals(element.getQName())) {
|
||||
// FIXME:: Throw exception or switch to the new Element?
|
||||
OMFactory factory = OMAbstractFactory.getOMFactory();
|
||||
QName name = xmlType.getElementName();
|
||||
OMNamespace namespace = factory.createOMNamespace(name.getNamespaceURI(), name.getPrefix());
|
||||
element.setNamespace(namespace);
|
||||
element.setLocalName(name.getLocalPart());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<XObject> getSourceType() {
|
||||
return XObject.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<OMElement> getTargetType() {
|
||||
return OMElement.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getWeight() {
|
||||
return 10;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,37 +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.databinding.xstream;
|
||||
|
||||
import org.apache.tuscany.sca.databinding.impl.BaseDataBinding;
|
||||
|
||||
/**
|
||||
* DataBinding for Jobs
|
||||
*
|
||||
* @version $Rev$ $Date$
|
||||
*/
|
||||
public class XObjectDataBinding extends BaseDataBinding {
|
||||
|
||||
public static final String NAME = XObject.class.getName();
|
||||
|
||||
public XObjectDataBinding() {
|
||||
super(NAME, XObject.class);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
# implementation classes for the databindings
|
||||
org.apache.tuscany.sca.databinding.xstream.XObjectDataBinding;name=org.apache.tuscany.sca.databinding.xstream.XObject
|
||||
|
|
@ -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.databinding.xstream.XObject2OMElement;source=org.apache.tuscany.sca.databinding.xstream.XObject,target=org.apache.axiom.om.OMElement,weight=10
|
||||
org.apache.tuscany.sca.databinding.xstream.OMElement2XObject;source=org.apache.axiom.om.OMElement,target=org.apache.tuscany.sca.databinding.xstream.XObject,weight=10
|
|
@ -1,48 +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.
|
||||
-->
|
||||
<ipo:purchaseOrder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ipo="http://www.example.com/IPO"
|
||||
xsi:schemaLocation="http://www.example.com/IPO ipo.xsd" orderDate="1999-12-01">
|
||||
|
||||
<shipTo exportCode="1" xsi:type="ipo:UKAddress">
|
||||
<name>Helen Zoe</name>
|
||||
<street>47 Eden Street</street>
|
||||
<city>Cambridge</city>
|
||||
<postcode>CB1 1JR</postcode>
|
||||
</shipTo>
|
||||
|
||||
<billTo xsi:type="ipo:USAddress">
|
||||
<name>Robert Smith</name>
|
||||
<street>8 Oak Avenue</street>
|
||||
<city>Old Town</city>
|
||||
<state>PA</state>
|
||||
<zip>95819</zip>
|
||||
</billTo>
|
||||
|
||||
<items>
|
||||
<item partNum="833-AA">
|
||||
<productName>Lapis necklace</productName>
|
||||
<quantity>1</quantity>
|
||||
<USPrice>99.95</USPrice>
|
||||
<ipo:comment>Want this for the holidays</ipo:comment>
|
||||
<shipDate>1999-12-05</shipDate>
|
||||
</item>
|
||||
</items>
|
||||
</ipo:purchaseOrder>
|
||||
|
|
@ -1,132 +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.
|
||||
-->
|
||||
|
||||
<schema targetNamespace="http://www.example.com/IPO" xmlns="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:ipo="http://www.example.com/IPO">
|
||||
|
||||
<annotation>
|
||||
<documentation xml:lang="en">
|
||||
International Purchase order schema for Example.com Copyright 2000 Example.com. All rights reserved.
|
||||
</documentation>
|
||||
</annotation>
|
||||
|
||||
|
||||
<element name="purchaseOrder" type="ipo:PurchaseOrderType" />
|
||||
|
||||
<element name="comment" type="string" />
|
||||
|
||||
<complexType name="PurchaseOrderType">
|
||||
<sequence>
|
||||
<element name="shipTo" type="ipo:Address" />
|
||||
<element name="billTo" type="ipo:Address" />
|
||||
<element ref="ipo:comment" minOccurs="0" />
|
||||
<element name="items" type="ipo:Items" />
|
||||
</sequence>
|
||||
<attribute name="orderDate" type="date" />
|
||||
</complexType>
|
||||
|
||||
<complexType name="Items">
|
||||
<sequence>
|
||||
<element name="item" minOccurs="0" maxOccurs="unbounded">
|
||||
<complexType>
|
||||
<sequence>
|
||||
<element name="productName" type="string" />
|
||||
<element name="quantity">
|
||||
<simpleType>
|
||||
<restriction base="positiveInteger">
|
||||
<maxExclusive value="100" />
|
||||
</restriction>
|
||||
</simpleType>
|
||||
</element>
|
||||
<element name="USPrice" type="decimal" />
|
||||
<element ref="ipo:comment" minOccurs="0" />
|
||||
<element name="shipDate" type="date" minOccurs="0" />
|
||||
</sequence>
|
||||
<attribute name="partNum" type="ipo:SKU" use="required" />
|
||||
</complexType>
|
||||
</element>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<simpleType name="SKU">
|
||||
<restriction base="string">
|
||||
<pattern value="\d{3}-[A-Z]{2}" />
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<complexType name="Address">
|
||||
<sequence>
|
||||
<element name="name" type="string" />
|
||||
<element name="street" type="string" />
|
||||
<element name="city" type="string" />
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="USAddress">
|
||||
<complexContent>
|
||||
<extension base="ipo:Address">
|
||||
<sequence>
|
||||
<element name="state" type="ipo:USState" />
|
||||
<element name="zip" type="positiveInteger" />
|
||||
</sequence>
|
||||
</extension>
|
||||
</complexContent>
|
||||
</complexType>
|
||||
|
||||
<complexType name="UKAddress">
|
||||
<complexContent>
|
||||
<extension base="ipo:Address">
|
||||
<sequence>
|
||||
<element name="postcode" type="ipo:UKPostcode" />
|
||||
</sequence>
|
||||
<attribute name="exportCode" type="positiveInteger" fixed="1" />
|
||||
</extension>
|
||||
</complexContent>
|
||||
</complexType>
|
||||
|
||||
<!-- other Address derivations for more countries -->
|
||||
|
||||
<simpleType name="USState">
|
||||
<restriction base="string">
|
||||
<enumeration value="AK" />
|
||||
<enumeration value="AL" />
|
||||
<enumeration value="AR" />
|
||||
<enumeration value="CA" />
|
||||
<enumeration value="PA" />
|
||||
<!-- and so on ... -->
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<simpleType name="Postcode">
|
||||
<restriction base="string">
|
||||
<length value="7" fixed="true" />
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
|
||||
<simpleType name="UKPostcode">
|
||||
<restriction base="ipo:Postcode">
|
||||
<pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
|
||||
|
||||
</schema>
|
||||
|
|
@ -1,76 +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="StockQuote" targetNamespace="http://example.com/order.wsdl" xmlns:tns="http://example.com/order.wsdl"
|
||||
xmlns:xsd1="http://example.com/order.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="http://schemas.xmlsoap.org/wsdl/">
|
||||
|
||||
<types>
|
||||
<schema targetNamespace="http://example.com/order.xsd" xmlns="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:ipo="http://www.example.com/IPO">
|
||||
<import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd" />
|
||||
<element name="checkOrderStatus">
|
||||
<complexType>
|
||||
<sequence>
|
||||
<element name="customerId" type="string" />
|
||||
<element name="order" type="ipo:PurchaseOrderType" />
|
||||
<element name="flag" type="int" />
|
||||
</sequence>
|
||||
</complexType>
|
||||
</element>
|
||||
<element name="checkOrderStatusResponse">
|
||||
<complexType>
|
||||
<sequence>
|
||||
<element name="status" type="string" />
|
||||
</sequence>
|
||||
</complexType>
|
||||
</element>
|
||||
<element name="note" type="string" />
|
||||
</schema>
|
||||
</types>
|
||||
|
||||
<message name="CheckOrderStatusInput1">
|
||||
<part name="body" element="xsd1:checkOrderStatus" />
|
||||
</message>
|
||||
|
||||
<message name="CheckOrderStatusOutput1">
|
||||
<part name="body" element="xsd1:checkOrderStatusResponse" />
|
||||
</message>
|
||||
|
||||
<message name="CheckOrderStatusInput2">
|
||||
<part name="p1" element="xsd1:checkOrderStatus" />
|
||||
<part name="p2" element="xsd1:note" />
|
||||
</message>
|
||||
|
||||
<message name="CheckOrderStatusOutput2">
|
||||
<part name="p1" element="xsd1:checkOrderStatusResponse" />
|
||||
</message>
|
||||
|
||||
<portType name="OrderPortType">
|
||||
<operation name="checkOrderStatus">
|
||||
<input message="tns:CheckOrderStatusInput1" />
|
||||
<output message="tns:CheckOrderStatusOutput1" />
|
||||
</operation>
|
||||
<operation name="checkOrderStatus2">
|
||||
<input message="tns:CheckOrderStatusInput2" />
|
||||
<output message="tns:CheckOrderStatusOutput2" />
|
||||
</operation>
|
||||
</portType>
|
||||
|
||||
</definitions>
|
Loading…
Add table
Reference in a new issue