Author: jbonofre
Date: Thu Mar 15 16:27:41 2012
New Revision: 1301070

URL: http://svn.apache.org/viewvc?rev=1301070&view=rev
Log:
[KARAF-1143] Use URL/URI manipulation for config store instead of handling 
string

Modified:
    
karaf/branches/karaf-2.2.x/management/mbeans/config/src/main/java/org/apache/karaf/management/mbeans/config/internal/ConfigMBeanImpl.java
    
karaf/branches/karaf-2.2.x/shell/config/src/main/java/org/apache/karaf/shell/config/ConfigCommandSupport.java

Modified: 
karaf/branches/karaf-2.2.x/management/mbeans/config/src/main/java/org/apache/karaf/management/mbeans/config/internal/ConfigMBeanImpl.java
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/management/mbeans/config/src/main/java/org/apache/karaf/management/mbeans/config/internal/ConfigMBeanImpl.java?rev=1301070&r1=1301069&r2=1301070&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.2.x/management/mbeans/config/src/main/java/org/apache/karaf/management/mbeans/config/internal/ConfigMBeanImpl.java
 (original)
+++ 
karaf/branches/karaf-2.2.x/management/mbeans/config/src/main/java/org/apache/karaf/management/mbeans/config/internal/ConfigMBeanImpl.java
 Thu Mar 15 16:27:41 2012
@@ -25,6 +25,9 @@ import org.slf4j.LoggerFactory;
 import javax.management.NotCompliantMBeanException;
 import javax.management.StandardMBean;
 import java.io.File;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URL;
 import java.util.*;
 
 /**
@@ -173,11 +176,18 @@ public class ConfigMBeanImpl extends Sta
             Configuration configuration = 
configurationAdmin.getConfiguration(pid, null);
             if (configuration != null && configuration.getProperties() != 
null) {
                 Object val = 
configuration.getProperties().get(FELIX_FILEINSTALL_FILENAME);
-                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);

Modified: 
karaf/branches/karaf-2.2.x/shell/config/src/main/java/org/apache/karaf/shell/config/ConfigCommandSupport.java
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/shell/config/src/main/java/org/apache/karaf/shell/config/ConfigCommandSupport.java?rev=1301070&r1=1301069&r2=1301070&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.2.x/shell/config/src/main/java/org/apache/karaf/shell/config/ConfigCommandSupport.java
 (original)
+++ 
karaf/branches/karaf-2.2.x/shell/config/src/main/java/org/apache/karaf/shell/config/ConfigCommandSupport.java
 Thu Mar 15 16:27:41 2012
@@ -18,6 +18,8 @@ package org.apache.karaf.shell.config;
 
 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;
@@ -149,11 +151,18 @@ public abstract class ConfigCommandSuppo
         Configuration cfg = admin.getConfiguration(pid, null);
         if (cfg != null && cfg.getProperties() != null) {
             Object val = cfg.getProperties().get(FILEINSTALL_FILE_NAME);
+            try {
+            if (val instanceof URL) {
+                storageFile = new File(((URL) val).toURI());
+            }
+            if (val instanceof URI) {
+                storageFile = new File((URI) val);
+            }
             if (val instanceof String) {
-                if (((String) val).startsWith("file:")) {
-                    val = ((String) val).substring("file:".length());
-                }
-                storageFile = new File((String) val);
+                storageFile = new File(new URL((String) val).toURI());
+            }
+            } catch (Exception e) {
+                throw new IOException(e);
             }
         }
         Properties p = new Properties(storageFile);


Reply via email to