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);