Author: jbonofre
Date: Thu Mar 15 17:58:32 2012
New Revision: 1301121

URL: http://svn.apache.org/viewvc?rev=1301121&view=rev
Log:
[KARAF-1143] Use URI/URL to manipulate cfg file instead of string path

Modified:
    
karaf/trunk/config/core/src/main/java/org/apache/karaf/config/core/impl/ConfigRepositoryImpl.java

Modified: 
karaf/trunk/config/core/src/main/java/org/apache/karaf/config/core/impl/ConfigRepositoryImpl.java
URL: 
http://svn.apache.org/viewvc/karaf/trunk/config/core/src/main/java/org/apache/karaf/config/core/impl/ConfigRepositoryImpl.java?rev=1301121&r1=1301120&r2=1301121&view=diff
==============================================================================
--- 
karaf/trunk/config/core/src/main/java/org/apache/karaf/config/core/impl/ConfigRepositoryImpl.java
 (original)
+++ 
karaf/trunk/config/core/src/main/java/org/apache/karaf/config/core/impl/ConfigRepositoryImpl.java
 Thu Mar 15 17:58:32 2012
@@ -18,6 +18,8 @@ package org.apache.karaf.config.core.imp
 
 import java.io.File;
 import java.io.IOException;
+import java.net.URI;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.Dictionary;
 import java.util.Enumeration;
@@ -106,7 +108,6 @@ public class ConfigRepositoryImpl implem
 
     /**
      * Persists configuration to storage.
-     * @param admin
      * @param pid
      * @param props
      * @throws IOException
@@ -117,11 +118,18 @@ public class ConfigRepositoryImpl implem
         Configuration cfg = this.configAdmin.getConfiguration(pid, null);
         if (cfg != null && cfg.getProperties() != null) {
             Object val = cfg.getProperties().get(FILEINSTALL_FILE_NAME);
-            if (val instanceof String) {
-                if (((String) val).startsWith("file:")) {
-                    val = ((String) val).substring("file:".length());
+            try {
+                if (val instanceof URL) {
+                    storageFile = new File(((URL) val).toURI());
                 }
-                storageFile = new File((String) val);
+                if (val instanceof URI) {
+                    storageFile = new File((URI) val);
+                }
+                if (val instanceof String) {
+                    storageFile = new File(new URL((String) val).toURI());
+                }
+            } catch (Exception e) {
+                throw new IOException(e);
             }
         }
         Properties p = new Properties(storageFile);


Reply via email to