You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by rr...@apache.org on 2009/11/30 14:41:34 UTC
svn commit: r885424 - in /ode/branches/APACHE_ODE_1.X:
bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/
utils/src/main/java/org/apache/ode/utils/xsd/
Author: rr
Date: Mon Nov 30 13:41:34 2009
New Revision: 885424
URL: http://svn.apache.org/viewvc?rev=885424&view=rev
Log:
ODE-712: Resolving relative URIs as full paths - fix for schema loader imports problem
Modified:
ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/DefaultResourceFinder.java
ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/WsdlFinderXMLEntityResolver.java
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/xsd/SchemaModelImpl.java
Modified: ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/DefaultResourceFinder.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/DefaultResourceFinder.java?rev=885424&r1=885423&r2=885424&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/DefaultResourceFinder.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/DefaultResourceFinder.java Mon Nov 30 13:41:34 2009
@@ -71,6 +71,8 @@
}
public InputStream openResource(URI uri) throws MalformedURLException, IOException {
+ uri = relativize(uri);
+
InputStream r = openFileResource(uri);
if (r != null) {
return r;
@@ -130,15 +132,22 @@
return _absoluteDir.toURI();
}
+ private URI relativize(URI u) {
+ if (u.isAbsolute()) {
+ return _absoluteDir.toURI().relativize(u);
+ } else return u;
+ }
+
public URI resolve(URI parent, URI child) {
- if (parent.isAbsolute()) {
- parent = _absoluteDir.toURI().relativize(parent);
- }
+ parent = relativize(parent);
+ child = relativize(child);
URI result = parent.resolve(child);
+ URI result2 = _absoluteDir.toURI().resolve(result);
if (__log.isDebugEnabled()) {
- __log.debug("resolving URI: parent " + parent + " child " + child + " result " + result);
+ __log.debug("resolving URI: parent " + parent + " child " + child + " result " + result + " resultAbsolute:" + result2);
}
- return result;
+
+ return result2;
}
}
Modified: ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/WsdlFinderXMLEntityResolver.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/WsdlFinderXMLEntityResolver.java?rev=885424&r1=885423&r2=885424&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/WsdlFinderXMLEntityResolver.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/WsdlFinderXMLEntityResolver.java Mon Nov 30 13:41:34 2009
@@ -95,7 +95,7 @@
}
return null;
} else {
- location = _wsdlFinder.resolve(_baseURI, URI.create(resourceIdentifier.getLiteralSystemId()));
+ location = _wsdlFinder.resolve(URI.create(resourceIdentifier.getBaseSystemId()), URI.create(resourceIdentifier.getLiteralSystemId()));
}
if (__log.isDebugEnabled())
Modified: ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/xsd/SchemaModelImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/xsd/SchemaModelImpl.java?rev=885424&r1=885423&r2=885424&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/xsd/SchemaModelImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/xsd/SchemaModelImpl.java Mon Nov 30 13:41:34 2009
@@ -189,10 +189,14 @@
String location = "";
if (resourceIdentifier.getNamespace() != null && _schemas.get(resourceIdentifier.getNamespace()) != null)
location = resourceIdentifier.getNamespace();
- else if (resourceIdentifier.getLiteralSystemId() != null && _schemas.get(resourceIdentifier.getLiteralSystemId()) != null)
- location = resourceIdentifier.getLiteralSystemId();
- else if (resourceIdentifier.getBaseSystemId() != null && _schemas.get(resourceIdentifier.getBaseSystemId()) != null)
- location = resourceIdentifier.getBaseSystemId();
+ else if (resourceIdentifier.getExpandedSystemId() != null && _schemas.get(resourceIdentifier.getExpandedSystemId()) != null)
+ location = resourceIdentifier.getExpandedSystemId();
+ else {
+ if (__log.isDebugEnabled()) {
+ __log.debug("Available schemas " + _schemas.keySet());
+ }
+ throw new IllegalStateException("Schema " + resourceIdentifier + " not captured");
+ }
src.setByteStream(new ByteArrayInputStream(_schemas.get(location)));
return src;