You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by se...@apache.org on 2015/11/26 16:39:04 UTC
svn commit: r1716722 -
/aries/trunk/blueprint/blueprint-noosgi/src/main/java/org/apache/aries/blueprint/container/SimpleNamespaceHandlerSet.java
Author: sergeyb
Date: Thu Nov 26 15:39:04 2015
New Revision: 1716722
URL: http://svn.apache.org/viewvc?rev=1716722&view=rev
Log:
[ARIES-1460] Getting absolute schema references resolved correctly in the offline mode, patch from Aki Yoshida applied with thanks
Modified:
aries/trunk/blueprint/blueprint-noosgi/src/main/java/org/apache/aries/blueprint/container/SimpleNamespaceHandlerSet.java
Modified: aries/trunk/blueprint/blueprint-noosgi/src/main/java/org/apache/aries/blueprint/container/SimpleNamespaceHandlerSet.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-noosgi/src/main/java/org/apache/aries/blueprint/container/SimpleNamespaceHandlerSet.java?rev=1716722&r1=1716721&r2=1716722&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-noosgi/src/main/java/org/apache/aries/blueprint/container/SimpleNamespaceHandlerSet.java (original)
+++ aries/trunk/blueprint/blueprint-noosgi/src/main/java/org/apache/aries/blueprint/container/SimpleNamespaceHandlerSet.java Thu Nov 26 15:39:04 2015
@@ -95,24 +95,25 @@ public class SimpleNamespaceHandlerSet i
public LSInput resolveResource(String type, String namespace, String publicId,
String systemId, String baseURI) {
try {
- if (systemId != null && !URI.create(systemId).isAbsolute()) {
- URL namespaceURL = namespaces.get(URI.create(namespace));
- if (namespaceURL != null) {
- URI systemIdUri = namespaceURL.toURI().resolve(systemId);
- if (!systemIdUri.isAbsolute() && "jar".equals(namespaceURL.getProtocol())) {
- String urlString = namespaceURL.toString();
- int jarFragmentIndex = urlString.lastIndexOf('!');
- if (jarFragmentIndex > 0 && jarFragmentIndex < urlString.length() - 1) {
- String jarUrlOnly = urlString.substring(0, jarFragmentIndex);
- String oldFragment = urlString.substring(jarFragmentIndex + 1);
- String newFragment = URI.create(oldFragment).resolve(systemId).toString();
- String newJarUri = jarUrlOnly + '!' + newFragment;
- systemIdUri = URI.create(newJarUri);
- }
+ URL namespaceURL = namespaces.get(URI.create(namespace));
+ if (systemId != null && namespaceURL != null) {
+ URI systemIdUri = namespaceURL.toURI();
+ if (!URI.create(systemId).isAbsolute()) {
+ systemIdUri = systemIdUri.resolve(systemId);
+ }
+ if (!systemIdUri.isAbsolute() && "jar".equals(namespaceURL.getProtocol())) {
+ String urlString = namespaceURL.toString();
+ int jarFragmentIndex = urlString.lastIndexOf('!');
+ if (jarFragmentIndex > 0 && jarFragmentIndex < urlString.length() - 1) {
+ String jarUrlOnly = urlString.substring(0, jarFragmentIndex);
+ String oldFragment = urlString.substring(jarFragmentIndex + 1);
+ String newFragment = URI.create(oldFragment).resolve(systemId).toString();
+ String newJarUri = jarUrlOnly + '!' + newFragment;
+ systemIdUri = URI.create(newJarUri);
}
- InputStream resourceStream = systemIdUri.toURL().openStream();
- return new LSInputImpl(publicId, systemId, resourceStream);
}
+ InputStream resourceStream = systemIdUri.toURL().openStream();
+ return new LSInputImpl(publicId, systemId, resourceStream);
}
} catch (Exception ex) {
// ignore