Author: indika
Date: Thu Jan 17 07:44:48 2008
New Revision: 612848

URL: http://svn.apache.org/viewvc?rev=612848&view=rev
Log:
if the path begin with / and hasn't protocol , then it relove as a file
(file:+"path")

Modified:
    
webservices/synapse/branches/1.1.1/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java

Modified: 
webservices/synapse/branches/1.1.1/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/branches/1.1.1/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java?rev=612848&r1=612847&r2=612848&view=diff
==============================================================================
--- 
webservices/synapse/branches/1.1.1/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
 (original)
+++ 
webservices/synapse/branches/1.1.1/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
 Thu Jan 17 07:44:48 2008
@@ -115,13 +115,13 @@
                     String path = url.getPath();
                     if (log.isDebugEnabled()) {
                         log.debug("Can not open a connection to the URL with a 
path :" +
-                                  path);
+                            path);
                     }
                     String synapseHome = 
System.getProperty(SynapseConstants.SYNAPSE_HOME);
                     if (synapseHome != null) {
                         if (log.isDebugEnabled()) {
                             log.debug("Trying  to resolve an absolute path of 
the " +
-                                      " URL using the synapse.home : " + 
synapseHome);
+                                " URL using the synapse.home : " + 
synapseHome);
                         }
                         if (synapseHome.endsWith("/")) {
                             synapseHome = synapseHome.substring(0, 
synapseHome.lastIndexOf("/"));
@@ -132,7 +132,7 @@
                         } catch (IOException e) {
                             if (log.isDebugEnabled()) {
                                 log.debug("Faild to resolve an absolute path 
of the " +
-                                          " URL using the synapse.home : " + 
synapseHome);
+                                    " URL using the synapse.home : " + 
synapseHome);
                             }
                             log.warn("IO Error reading from URL " + 
url.getPath() + e);
                         }
@@ -144,11 +144,11 @@
             }
             URLConnection urlc = url.openConnection();
             XMLToObjectMapper xmlToObject =
-                    getXmlToObjectMapper(urlc.getContentType());
+                getXmlToObjectMapper(urlc.getContentType());
 
             try {
                 XMLStreamReader parser = XMLInputFactory.newInstance().
-                        createXMLStreamReader(urlc.getInputStream());
+                    createXMLStreamReader(urlc.getInputStream());
                 StAXOMBuilder builder = new StAXOMBuilder(parser);
                 OMElement omElem = builder.getDocumentElement();
 
@@ -199,7 +199,7 @@
                 return doc;
             } catch (Exception e) {
                 handleException("Error parsing resource at URL : " + url +
-                                " as XML", e);
+                    " as XML", e);
             } finally {
                 try {
                     urlInStream.close();
@@ -283,7 +283,7 @@
                 } catch (IOException ignored) {
                     if (log.isDebugEnabled()) {
                         log.debug("Can not open a connection to the URL with a 
path :" +
-                                  path);
+                            path);
                     }
                     String synapseHome = 
System.getProperty(SynapseConstants.SYNAPSE_HOME);
                     if (synapseHome != null) {
@@ -292,24 +292,24 @@
                         }
                         if (log.isDebugEnabled()) {
                             log.debug("Trying  to resolve an absolute path of 
the " +
-                                      " URL using the synapse.home : " + 
synapseHome);
+                                " URL using the synapse.home : " + 
synapseHome);
                         }
                         try {
                             url = new URL(url.getProtocol() + ":" + 
synapseHome + "/" +
-                                          url.getPath());
+                                url.getPath());
                             url.openStream();
                         } catch (MalformedURLException e) {
                             handleException("Invalid URL reference " + 
url.getPath() + e);
                         } catch (IOException e) {
                             if (log.isDebugEnabled()) {
                                 log.debug("Faild to resolve an absolute path 
of the " +
-                                          " URL using the synapse.home : " + 
synapseHome);
+                                    " URL using the synapse.home : " + 
synapseHome);
                             }
                             log.warn("IO Error reading from URL : " + 
url.getPath() + e);
                         }
                     }
                 }
-            }             
+            }
         } catch (MalformedURLException e) {
             handleException("Invalid URL reference :  " + path, e);
         } catch (IOException e) {
@@ -335,7 +335,7 @@
                 return getInputSourceFormURI(importUri);
             }
         } catch (URISyntaxException e) {
-            handleException("Invalid Import URI", e);
+            handleException("Invalid URI", e);
         }
 
         if (parentLocation == null) {
@@ -343,7 +343,14 @@
         } else {
             // if the importuri is absolute
             if (relativeLocation.startsWith("/") || 
relativeLocation.startsWith("\\")) {
-                return getInputSourceFormURI(importUri);
+                if (importUri != null && !importUri.isAbsolute()) {
+                    try {
+                        importUri = new URI("file:" + relativeLocation);
+                        return getInputSourceFormURI(importUri);
+                    } catch (URISyntaxException e) {
+                        handleException("Invalid URI ' " + importUri.getPath() 
+ " '", e);
+                    }
+                }
             } else {
                 int index = parentLocation.lastIndexOf("/");
                 if (index == -1) {
@@ -359,7 +366,7 @@
                         }
                         return getInputSourceFormURI(resolvedUri);
                     } catch (URISyntaxException e) {
-                        handleException("Invalid URI ' " + resolvedPath + " 
'");
+                        handleException("Invalid URI ' " + resolvedPath + " 
'", e);
                     }
                 } else {
                     return getInputSourceFormURI(importUri);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to