You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by gn...@apache.org on 2011/01/03 09:30:07 UTC

svn commit: r1054550 - /felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java

Author: gnodet
Date: Mon Jan  3 08:30:07 2011
New Revision: 1054550

URL: http://svn.apache.org/viewvc?rev=1054550&view=rev
Log:
[FELIX-2756] NPE when loading configurations

Modified:
    felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java

Modified: felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java
URL: http://svn.apache.org/viewvc/felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java?rev=1054550&r1=1054549&r2=1054550&view=diff
==============================================================================
--- felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java (original)
+++ felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java Mon Jan  3 08:30:07 2011
@@ -18,6 +18,18 @@
  */
 package org.apache.felix.fileinstall.internal;
 
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Properties;
+
 import org.apache.felix.cm.file.ConfigurationHandler;
 import org.apache.felix.fileinstall.ArtifactInstaller;
 import org.apache.felix.fileinstall.internal.Util.Logger;
@@ -31,18 +43,6 @@ import org.osgi.service.cm.Configuration
 import org.osgi.service.cm.ConfigurationEvent;
 import org.osgi.service.cm.ConfigurationListener;
 
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Dictionary;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Properties;
-
 /**
  * ArtifactInstaller for configurations.
  * TODO: This service lifecycle should be bound to the ConfigurationAdmin service lifecycle.
@@ -212,7 +212,8 @@ public class ConfigInstaller implements 
         String pid[] = parsePid(f.getName());
         Configuration config = getConfiguration(f.getAbsolutePath(), pid[0], pid[1]);
 
-        Hashtable old = new Hashtable(new DictionaryAsMap(config.getProperties()));
+        Dictionary props = config.getProperties();
+        Hashtable old = props != null ? new Hashtable(new DictionaryAsMap(props)) : new Hashtable();
         old.remove( DirectoryWatcher.FILENAME );
         old.remove( Constants.SERVICE_PID );
         old.remove( ConfigurationAdmin.SERVICE_FACTORYPID );