You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by em...@apache.org on 2006/11/13 14:38:26 UTC
svn commit: r474307 - in /incubator/cxf/trunk:
common/common/src/main/java/org/apache/cxf/wsdl4jutils/
tools/common/src/main/java/org/apache/cxf/tools/common/ tools/validator/
tools/validator/src/main/java/org/apache/cxf/tools/validator/
tools/validato...
Author: ema
Date: Mon Nov 13 05:38:25 2006
New Revision: 474307
URL: http://svn.apache.org/viewvc?view=rev&rev=474307
Log:
Added resource resolver for wsdl parser and schema factory in validation tool .
Removed unpack schemas in wsdl2java and validation module
Added:
incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/wsdl4jutils/WSDLResolver.java (with props)
Modified:
incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
incubator/cxf/trunk/tools/validator/pom.xml
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/WSDLValidator.java
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/AbstractValidator.java
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/SchemaValidator.java
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDL11Validator.java
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/wsdlvalidator.xml
incubator/cxf/trunk/tools/validator/src/test/java/org/apache/cxf/tools/validator/WSDLValidationTest.java
incubator/cxf/trunk/tools/wsdl2java/pom.xml
incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessor.java
incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java
incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/common/ProcessorTestBase.java
incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessorTest.java
incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaXMLFormatTest.java
incubator/cxf/trunk/tools/wsdl2java/src/test/resources/wsdl2java_wsdl/bughanging/schemas/wsdl/bf-2.xsd
Added: incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/wsdl4jutils/WSDLResolver.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/wsdl4jutils/WSDLResolver.java?view=auto&rev=474307
==============================================================================
--- incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/wsdl4jutils/WSDLResolver.java (added)
+++ incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/wsdl4jutils/WSDLResolver.java Mon Nov 13 05:38:25 2006
@@ -0,0 +1,88 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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.cxf.wsdl4jutils;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import javax.wsdl.xml.WSDLLocator;
+
+import org.xml.sax.InputSource;
+
+import org.apache.cxf.resource.URIResolver;
+
+public class WSDLResolver implements WSDLLocator {
+ private String baseUri;
+ private String importedUri;
+ private InputSource inputSource;
+
+ public WSDLResolver(String baseURI, InputSource is) {
+ this.baseUri = baseURI;
+ inputSource = is;
+ }
+
+ public InputSource getBaseInputSource() {
+ return inputSource;
+ }
+
+ public String getBaseURI() {
+ return baseUri;
+ }
+
+ public String getLatestImportURI() {
+ return importedUri;
+ }
+
+ public InputSource getImportInputSource(String parent, String importLocation) {
+ this.baseUri = parent;
+ URL parentUrl;
+ try {
+ parentUrl = new URL(parent);
+ URL importUrl = new URL(parentUrl, importLocation);
+ if (importUrl.toURI() != null) {
+ File file = new File(importUrl.toURI());
+ if (file.exists()) {
+ URIResolver resolver = new URIResolver(parent.toString(), importLocation);
+ inputSource = new InputSource(resolver.getInputStream());
+ } else {
+ URIResolver resolver = new URIResolver(importLocation);
+ if (resolver.isResolved()) {
+ inputSource = new InputSource(resolver.getInputStream());
+ }
+ }
+ importedUri = importUrl.toURI().toString();
+ }
+ } catch (MalformedURLException e) {
+ // TODO
+ } catch (URISyntaxException e) {
+ // TODO
+ } catch (IOException e) {
+ // TODO
+ }
+ return inputSource;
+
+ }
+
+ public void close() {
+
+ }
+}
Propchange: incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/wsdl4jutils/WSDLResolver.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/wsdl4jutils/WSDLResolver.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java (original)
+++ incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java Mon Nov 13 05:38:25 2006
@@ -108,6 +108,7 @@
public static final String CFG_SCHEMA_DIR = "schemaDir";
public static final String CFG_SCHEMA_URL = "schemaURL";
public static final String CXF_SCHEMA_DIR = "cxf_schema_dir";
+ public static final String CXF_SCHEMAS_DIR_INJAR = "schemas/wsdl/";
Modified: incubator/cxf/trunk/tools/validator/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/pom.xml?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/validator/pom.xml (original)
+++ incubator/cxf/trunk/tools/validator/pom.xml Mon Nov 13 05:38:25 2006
@@ -35,35 +35,6 @@
<topDirectoryLocation>../../</topDirectoryLocation>
</properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>dependency-maven-plugin</artifactId>
- <version>${dependency.plugin.version}</version>
- <executions>
- <execution>
- <id>unpack-schemas</id>
- <phase>process-test-sources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.directory}/generated/src/test/resources</outputDirectory>
- <artifactItems>
- <artifactItem>
- <groupId>org.apache.cxf</groupId>
- <artifactId>cxf-common-schemas</artifactId>
- <version>${project.version}</version>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
@@ -120,6 +91,12 @@
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-common-utilities</artifactId>
<version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-common-schemas</artifactId>
+ <version>${project.version}</version>
</dependency>
</dependencies>
</project>
Modified: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/WSDLValidator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/WSDLValidator.java?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/WSDLValidator.java (original)
+++ incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/WSDLValidator.java Mon Nov 13 05:38:25 2006
@@ -61,12 +61,7 @@
env.put(ToolConstants.CFG_CMD_ARG, args);
- String schemaDir = (String)env.get(ToolConstants.CFG_SCHEMA_DIR);
- if (schemaDir == null) {
- throw new ToolException("Schema search directory should "
- + "be defined before validating wsdl.");
- }
-
+
WSDL11Validator wsdlValidator = new WSDL11Validator(null, env);
if (wsdlValidator.isValid()) {
System.out.println("Passed Validation : Valid WSDL ");
Modified: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/AbstractValidator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/AbstractValidator.java?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/AbstractValidator.java (original)
+++ incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/AbstractValidator.java Mon Nov 13 05:38:25 2006
@@ -32,7 +32,11 @@
protected List<String> errorMessages = new Vector<String>();
protected Definition def;
protected ToolContext env;
-
+
+ public AbstractValidator() {
+
+ }
+
public AbstractValidator(Definition definition) {
this.def = definition;
}
Modified: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/SchemaValidator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/SchemaValidator.java?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/SchemaValidator.java (original)
+++ incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/SchemaValidator.java Mon Nov 13 05:38:25 2006
@@ -41,6 +41,7 @@
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.sax.SAXSource;
+import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
@@ -59,6 +60,7 @@
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.helpers.DOMUtils;
import org.apache.cxf.resource.URIResolver;
+import org.apache.cxf.tools.common.ToolConstants;
import org.apache.cxf.tools.common.ToolException;
import org.apache.cxf.tools.util.WSDLExtensionRegister;
@@ -66,12 +68,14 @@
protected static final Logger LOG = LogUtils.getL7dLogger(SchemaValidator.class);
protected String[] defaultSchemas;
-
+
protected String schemaLocation = "./";
private String wsdlsrc;
private String[] xsds;
+
+ private List<InputSource> schemaFromJar;
private DocumentBuilder docBuilder;
@@ -90,6 +94,13 @@
wsdlsrc = wsdl;
xsds = schemas;
}
+
+ public SchemaValidator(List<InputSource> defaultSchemas, String wsdl, String[] schemas) {
+ schemaLocation = null;
+ schemaFromJar = defaultSchemas;
+ wsdlsrc = wsdl;
+ xsds = schemas;
+ }
public boolean isValid() {
return validate(wsdlsrc, xsds);
@@ -116,7 +127,37 @@
return validate(is, schemas);
}
+
+ private Schema createSchema(List<InputSource> xsdsInJar, String[] schemas)
+ throws SAXException, IOException {
+ SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+
+ SchemaResourceResolver resourceResolver = new SchemaResourceResolver();
+
+ sf.setResourceResolver(resourceResolver);
+
+ List<Source> sources = new ArrayList<Source>();
+ for (InputSource is : xsdsInJar) {
+ StreamSource stream = new StreamSource(is.getByteStream());
+ stream.setSystemId(is.getSystemId());
+ sources.add(stream);
+ }
+
+ if (schemas != null) {
+ for (int i = 0; i < schemas.length; i++) {
+ Document doc = docBuilder.parse(schemas[i]);
+ DOMSource stream = new DOMSource(doc, schemas[i]);
+ sources.add(stream);
+ }
+ }
+
+ Source[] args = new Source[sources.size()];
+ sources.toArray(args);
+ return sf.newSchema(args);
+
+ }
+
private Schema createSchema(String[] schemas) throws SAXException, IOException {
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
@@ -141,6 +182,7 @@
public boolean validate(InputSource wsdlsource, String[] schemas) throws ToolException {
boolean isValid = false;
+ Schema schema;
try {
Document document = docBuilder.parse(wsdlsource.getSystemId());
@@ -155,16 +197,19 @@
saxFactory.setFeature("http://xml.org/sax/features/namespaces", true);
saxParser = saxFactory.newSAXParser();
- schemas = addSchemas(defaultSchemas, schemas);
-
- SAXSource saxSource = new SAXSource(saxParser.getXMLReader(), wsdlsource);
+ if (defaultSchemas != null) {
+ schemas = addSchemas(defaultSchemas, schemas);
+ schema = createSchema(schemas);
+ } else {
+ schema = createSchema(schemaFromJar, schemas);
+ }
- Schema schema = createSchema(schemas);
Validator validator = schema.newValidator();
-
+
NewStackTraceErrorHandler errHandler = new NewStackTraceErrorHandler();
validator.setErrorHandler(errHandler);
+ SAXSource saxSource = new SAXSource(saxParser.getXMLReader(), wsdlsource);
validator.validate(saxSource);
if (!errHandler.isValid()) {
@@ -339,13 +384,20 @@
class SchemaResourceResolver implements LSResourceResolver {
public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId,
String baseURI) {
- String schemaLocation = baseURI.substring(0, baseURI.lastIndexOf("/") + 1);
+ String schemaLocation = null;
+ if (baseURI != null) {
+ schemaLocation = baseURI.substring(0, baseURI.lastIndexOf("/") + 1);
- if (systemId.indexOf("http://") < 0) {
- systemId = schemaLocation + systemId;
+ if (systemId.indexOf("http://") < 0) {
+ systemId = schemaLocation + systemId;
+ }
+ } else {
+ // try to get it from jar
+ systemId = ToolConstants.CXF_SCHEMAS_DIR_INJAR + systemId;
}
-
+
URIResolver resolver = null;
+
try {
resolver = new URIResolver(systemId);
} catch (IOException e1) {
Modified: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDL11Validator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDL11Validator.java?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDL11Validator.java (original)
+++ incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDL11Validator.java Mon Nov 13 05:38:25 2006
@@ -19,12 +19,21 @@
package org.apache.cxf.tools.validator.internal;
+import java.io.IOException;
+import java.net.JarURLConnection;
+import java.net.URL;
import java.util.ArrayList;
+import java.util.Enumeration;
import java.util.List;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
import javax.wsdl.Definition;
+import org.xml.sax.InputSource;
+
import org.apache.cxf.common.util.StringUtils;
+import org.apache.cxf.resource.URIResolver;
import org.apache.cxf.tools.common.ToolConstants;
import org.apache.cxf.tools.common.ToolContext;
import org.apache.cxf.tools.common.ToolException;
@@ -32,7 +41,7 @@
public class WSDL11Validator extends AbstractValidator {
-
+
private final List<AbstractValidator> validators = new ArrayList<AbstractValidator>();
public WSDL11Validator(Definition definition) {
@@ -46,24 +55,35 @@
public boolean isValid() throws ToolException {
boolean isValid = true;
String schemaDir = getSchemaDir();
+ SchemaValidator schemaValidator = null;
+ String[] schemas = (String[])env.get(ToolConstants.CFG_SCHEMA_URL);
+ //Tool will use the following sequence to find the schema files
+ //1.ToolConstants.CFG_SCHEMA_DIR from ToolContext
+ //2.ToolConstants.CXF_SCHEMA_DIR from System property
+ //3.If 1 and 2 is null , then load these schema files from jar file
+
if (!StringUtils.isEmpty(schemaDir)) {
- String[] schemas = (String[])env.get(ToolConstants.CFG_SCHEMA_URL);
-
- SchemaValidator schemaValidator = new SchemaValidator(schemaDir, (String)env
- .get(ToolConstants.CFG_WSDLURL), schemas);
-
- if (!schemaValidator.isValid()) {
- this.addErrorMessage(schemaValidator.getErrorMessage());
- isValid = false;
- throw new ToolException(this.getErrorMessage());
-
- } else {
- this.def = schemaValidator.def;
+ schemaValidator = new SchemaValidator(schemaDir, (String)env.get(ToolConstants.CFG_WSDLURL),
+ schemas);
+ } else {
+ try {
+ schemaValidator = new SchemaValidator(this.getSchemasFromJarFile(), (String)env
+ .get(ToolConstants.CFG_WSDLURL), schemas);
+ } catch (IOException e) {
+ throw new ToolException("Schemas can not be loaded before validating wsdl", e);
}
+
+ }
+ if (!schemaValidator.isValid()) {
+ this.addErrorMessage(schemaValidator.getErrorMessage());
+ isValid = false;
+ throw new ToolException(this.getErrorMessage());
+
} else {
- throw new ToolException("Schema dir should be defined before validating wsdl");
+ this.def = schemaValidator.def;
}
+
validators.add(new UniqueBodyPartsValidator(this.def));
validators.add(new WSIBPValidator(this.def));
@@ -87,7 +107,34 @@
dir = System.getProperty(ToolConstants.CXF_SCHEMA_DIR);
} else {
dir = (String)env.get(ToolConstants.CFG_SCHEMA_DIR);
- }
+ }
return dir;
}
+
+ protected List<InputSource> getSchemasFromJarFile() throws IOException {
+ List<InputSource> xsdList = new ArrayList<InputSource>();
+ ClassLoader clzLoader = Thread.currentThread().getContextClassLoader();
+ URL url = clzLoader.getResource(ToolConstants.CXF_SCHEMAS_DIR_INJAR);
+
+ JarURLConnection jarConnection = (JarURLConnection)url.openConnection();
+
+ JarFile jarFile = jarConnection.getJarFile();
+
+ Enumeration<JarEntry> entry = jarFile.entries();
+
+ while (entry.hasMoreElements()) {
+ JarEntry ele = (JarEntry)entry.nextElement();
+ if (ele.getName().endsWith(".xsd")
+ && ele.getName().indexOf(ToolConstants.CXF_SCHEMAS_DIR_INJAR) > -1) {
+ URIResolver resolver = new URIResolver(ele.getName());
+ if (resolver.isResolved()) {
+ InputSource is = new InputSource(resolver.getInputStream());
+ is.setSystemId(ele.getName());
+ xsdList.add(new InputSource(resolver.getInputStream()));
+ }
+ }
+ }
+
+ return xsdList;
+ }
}
Modified: incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/wsdlvalidator.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/wsdlvalidator.xml?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/wsdlvalidator.xml (original)
+++ incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/wsdlvalidator.xml Mon Nov 13 05:38:25 2006
@@ -33,7 +33,7 @@
<usage>
<optionGroup id="options">
- <option id="schemaDir" minOccurs="1" maxOccurs="1">
+ <!--option id="schemaDir" minOccurs="1" maxOccurs="1">
<annotation>
The Directory used to search for schemas
</annotation>
@@ -41,7 +41,7 @@
<associatedArgument placement="afterSpace">
<annotation>schema-directory</annotation>
</associatedArgument>
- </option>
+ </option-->
<option id="schemaURL" maxOccurs="unbounded">
<annotation>
Modified: incubator/cxf/trunk/tools/validator/src/test/java/org/apache/cxf/tools/validator/WSDLValidationTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/test/java/org/apache/cxf/tools/validator/WSDLValidationTest.java?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/test/java/org/apache/cxf/tools/validator/WSDLValidationTest.java (original)
+++ incubator/cxf/trunk/tools/validator/src/test/java/org/apache/cxf/tools/validator/WSDLValidationTest.java Mon Nov 13 05:38:25 2006
@@ -26,23 +26,14 @@
import org.apache.cxf.tools.common.ToolTestBase;
public class WSDLValidationTest extends ToolTestBase {
- private String schemaDir;
-
public void setUp() {
super.setUp();
- try {
- schemaDir = getLocation("/schemas/wsdl");
- } catch (IOException ex) {
- ex.printStackTrace();
- }
-
}
public void testValidateUniqueBody() {
try {
- String[] args = new String[] {"-d", schemaDir,
- "-verbose", getLocation("/validator_wsdl/doc_lit_bare.wsdl")};
+ String[] args = new String[] {"-verbose", getLocation("/validator_wsdl/doc_lit_bare.wsdl")};
WSDLValidator.main(args);
assertTrue("Non Unique Body Parts Error should be discovered: " + getStdErr(),
getStdErr().indexOf("Non unique body part") > -1);
@@ -54,7 +45,7 @@
public void testValidateMixedStyle() {
try {
- String[] args = new String[] {"-d", schemaDir, "-verbose",
+ String[] args = new String[] {"-verbose",
getLocation("/validator_wsdl/hello_world_mixed_style.wsdl")};
WSDLValidator.main(args);
assertTrue("Mixed style. Error should have been discovered: " + getStdErr(),
@@ -68,7 +59,7 @@
public void testValidateTypeElement() {
try {
- String[] args = new String[] {"-d", schemaDir, "-verbose",
+ String[] args = new String[] {"-verbose",
getLocation("/validator_wsdl/hello_world_doc_lit_type.wsdl")};
WSDLValidator.main(args);
assertTrue("Must refer to type element error should have been discovered: " + getStdErr(),
@@ -81,7 +72,7 @@
public void testValidateAttribute() {
try {
- String[] args = new String[] {"-d", schemaDir, "-verbose",
+ String[] args = new String[] {"-verbose",
getLocation("/validator_wsdl/hello_world_error_attribute.wsdl")};
WSDLValidator.main(args);
assertTrue("Attribute error should be discovered: " + getStdErr(),
@@ -96,7 +87,7 @@
try {
- String[] args = new String[] {"-d", schemaDir, "-verbose",
+ String[] args = new String[] {"-verbose",
getLocation("/validator_wsdl/hello_world_error_reference.wsdl")};
WSDLValidator.main(args);
assertTrue("Reference error should be discovered: " + getStdErr(),
@@ -110,7 +101,7 @@
public void testBug305872() throws Exception {
try {
- String[] args = new String[] {"-d", schemaDir, "-verbose",
+ String[] args = new String[] {"-verbose",
getLocation("/validator_wsdl/bug305872/http.xsd")};
WSDLValidator.main(args);
@@ -124,7 +115,7 @@
public void testImportWsdlValidation() throws Exception {
try {
- String[] args = new String[] {"-d", schemaDir, "-verbose",
+ String[] args = new String[] {"-verbose",
getLocation("/validator_wsdl/hello_world_import.wsdl")};
WSDLValidator.main(args);
@@ -138,7 +129,7 @@
public void testImportSchemaValidation() throws Exception {
try {
- String[] args = new String[] {"-d", schemaDir, "-verbose",
+ String[] args = new String[] {"-verbose",
getLocation("/validator_wsdl/hello_world_schema_import.wsdl")};
WSDLValidator.main(args);
Modified: incubator/cxf/trunk/tools/wsdl2java/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/pom.xml?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/pom.xml (original)
+++ incubator/cxf/trunk/tools/wsdl2java/pom.xml Mon Nov 13 05:38:25 2006
@@ -103,36 +103,11 @@
<artifactId>cxf-common-utilities</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-common-schemas</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
- <build>
- <plugins>
-<!--
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>dependency-maven-plugin</artifactId>
- <version>${dependency.plugin.version}</version>
- <executions>
- <execution>
- <id>unpack-schemas</id>
- <phase>process-test-sources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.directory}/generated/src/test/resources</outputDirectory>
- <artifactItems>
- <artifactItem>
- <groupId>org.apache.cxf</groupId>
- <artifactId>cxf-common-schemas</artifactId>
- <version>${project.version}</version>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
--->
- </plugins>
- </build>
</project>
Modified: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessor.java?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessor.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessor.java Mon Nov 13 05:38:25 2006
@@ -295,9 +295,6 @@
//Jaxb's bug . Jaxb ClassNameCollecotr may not be invoked when generated class is an enum.
//So we need recheck whether we add all generated source files to fileList
-
-
-
String[] arguments = new String[argList.size() + fileList.size() + 1];
arguments[0] = "javac";
Modified: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java Mon Nov 13 05:38:25 2006
@@ -40,17 +40,20 @@
import javax.wsdl.PortType;
import javax.wsdl.Service;
import javax.wsdl.Types;
-import javax.wsdl.WSDLException;
+
import javax.wsdl.extensions.schema.Schema;
import javax.wsdl.extensions.schema.SchemaImport;
import javax.wsdl.factory.WSDLFactory;
import javax.wsdl.xml.WSDLReader;
import javax.xml.namespace.QName;
+import org.xml.sax.InputSource;
+
import com.sun.tools.xjc.api.S2JJAXBModel;
import com.sun.tools.xjc.model.Model;
import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.resource.URIResolver;
import org.apache.cxf.tools.common.DataBindingGenerator;
import org.apache.cxf.tools.common.FrontEndGenerator;
import org.apache.cxf.tools.common.Processor;
@@ -64,7 +67,9 @@
import org.apache.cxf.tools.util.WSDLExtensionRegister;
import org.apache.cxf.tools.validator.internal.WSDL11Validator;
import org.apache.cxf.tools.wsdl2java.databindings.jaxb.JAXBBindingGenerator;
-import org.apache.cxf.wsdl4jutils.WSDLLocatorImpl;
+
+//import org.apache.cxf.wsdl4jutils.WSDLLocatorImpl;
+import org.apache.cxf.wsdl4jutils.WSDLResolver;
import org.apache.velocity.app.Velocity;
public class WSDLToProcessor implements Processor {
@@ -147,10 +152,15 @@
wsdlReader.setFeature("javax.wsdl.verbose", false);
WSDLExtensionRegister register = new WSDLExtensionRegister(wsdlFactory, wsdlReader);
register.registerExtensions();
- wsdlDefinition = wsdlReader.readWSDL(new WSDLLocatorImpl(wsdlURL));
+ URIResolver resolver = new URIResolver(wsdlURL);
+ InputSource insource = new InputSource(resolver.getInputStream());
+ wsdlURL = resolver.getURI().toString();
+ wsdlDefinition = wsdlReader.readWSDL(new WSDLResolver(wsdlURL, insource));
+ /*wsdlDefinition = wsdlReader.readWSDL(new WSDLLocatorImpl(wsdlURL));*/
+
parseImports(wsdlDefinition);
buildImportedMaps();
- } catch (WSDLException we) {
+ } catch (Exception we) {
org.apache.cxf.common.i18n.Message msg =
new org.apache.cxf.common.i18n.Message("FAIL_TO_CREATE_WSDL_DEFINITION",
LOG, wsdlURL);
Modified: incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/common/ProcessorTestBase.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/common/ProcessorTestBase.java?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/common/ProcessorTestBase.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/common/ProcessorTestBase.java Mon Nov 13 05:38:25 2006
@@ -139,5 +139,8 @@
}
return classPath.toString();
}
+
+
+
}
Modified: incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessorTest.java?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessorTest.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessorTest.java Mon Nov 13 05:38:25 2006
@@ -63,7 +63,6 @@
public void tearDown() {
super.tearDown();
processor = null;
-
}
public void testRPCLit() throws Exception {
Modified: incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaXMLFormatTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaXMLFormatTest.java?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaXMLFormatTest.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/test/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaXMLFormatTest.java Mon Nov 13 05:38:25 2006
@@ -19,15 +19,9 @@
package org.apache.cxf.tools.wsdl2java.processor;
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.Enumeration;
-
-import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.tools.common.ProcessorTestBase;
import org.apache.cxf.tools.common.ToolConstants;
-// import org.apache.cxf.tools.common.ToolException;
+import org.apache.cxf.tools.common.ToolException;
public class WSDLToJavaXMLFormatTest
extends ProcessorTestBase {
@@ -37,22 +31,21 @@
env.put(ToolConstants.CFG_OUTPUTDIR, output.getCanonicalPath());
}
// temporarily comment, waiting for tool's validator fix
-// public void testXMLFormatRootNodeValidationFail() throws Exception {
-// WSDLToJavaProcessor processor = new WSDLToJavaProcessor();
-// env.put(ToolConstants.CFG_OUTPUTDIR, output.getCanonicalPath());
-// env.put(ToolConstants.CFG_WSDLURL, getLocation("/wsdl2java_wsdl/xml_format_fail.wsdl"));
-// env.put(ToolConstants.CFG_VALIDATE_WSDL, ToolConstants.CFG_VALIDATE_WSDL);
-// System.setProperty(ToolConstants.CXF_SCHEMA_DIR, getSchemaLocation("/schemas/wsdl"));
-// processor.setEnvironment(env);
-// try {
-// processor.process();
-// fail("Do not catch expected tool exception for xml format binding!");
-// } catch (ToolException e) {
-// if (e.toString().indexOf("missing xml format body element") == -1) {
-// throw e;
-// }
-// }
-// }
+ public void testXMLFormatRootNodeValidationFail() throws Exception {
+ WSDLToJavaProcessor processor = new WSDLToJavaProcessor();
+ env.put(ToolConstants.CFG_OUTPUTDIR, output.getCanonicalPath());
+ env.put(ToolConstants.CFG_WSDLURL, getLocation("/wsdl2java_wsdl/xml_format_fail.wsdl"));
+ env.put(ToolConstants.CFG_VALIDATE_WSDL, ToolConstants.CFG_VALIDATE_WSDL);
+ processor.setEnvironment(env);
+ try {
+ processor.process();
+ fail("Do not catch expected tool exception for xml format binding!");
+ } catch (ToolException e) {
+ if (e.toString().indexOf("missing xml format body element") == -1) {
+ throw e;
+ }
+ }
+ }
public void testXMLFormatRootNodeValidationPass() throws Exception {
WSDLToJavaProcessor processor = new WSDLToJavaProcessor();
@@ -66,18 +59,6 @@
return WSDLToJavaXMLFormatTest.class.getResource(wsdlFile).getFile();
}
- private String getSchemaLocation(String schemaDir) throws IOException {
- Enumeration<URL> e = LogUtils.class.getClassLoader().getResources(schemaDir);
-
- while (e.hasMoreElements()) {
- URL u = e.nextElement();
- File f = new File(u.getFile());
- if (f.exists() && f.isDirectory()) {
- return f.toString();
- }
- }
-
- return LogUtils.class.getResource(schemaDir).getFile();
- }
+
}
Modified: incubator/cxf/trunk/tools/wsdl2java/src/test/resources/wsdl2java_wsdl/bughanging/schemas/wsdl/bf-2.xsd
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/test/resources/wsdl2java_wsdl/bughanging/schemas/wsdl/bf-2.xsd?view=diff&rev=474307&r1=474306&r2=474307
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/test/resources/wsdl2java_wsdl/bughanging/schemas/wsdl/bf-2.xsd (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/test/resources/wsdl2java_wsdl/bughanging/schemas/wsdl/bf-2.xsd Mon Nov 13 05:38:25 2006
@@ -22,8 +22,7 @@
elementFormDefault="qualified" attributeFormDefault="unqualified"
targetNamespace="http://docs.oasis-open.org/wsrf/bf-2">
- <xsd:import namespace="http://www.w3.org/2005/08/addressing"
- schemaLocation="/schemas/wsdl/ws-addr.xsd" />
+ <xsd:import schemaLocation="/schemas/wsdl/ws-addr.xsd" />
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="/schemas/wsdl/xml.xsd">