You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2011/12/22 18:20:14 UTC

svn commit: r1222359 - /karaf/branches/karaf-2.2.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java

Author: jbonofre
Date: Thu Dec 22 17:20:14 2011
New Revision: 1222359

URL: http://svn.apache.org/viewvc?rev=1222359&view=rev
Log:
[KARAF-1122] Feature <configfile/> doesn't create the final file if the URL stream is fine

Modified:
    karaf/branches/karaf-2.2.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java

Modified: karaf/branches/karaf-2.2.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java?rev=1222359&r1=1222358&r2=1222359&view=diff
==============================================================================
--- karaf/branches/karaf-2.2.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java (original)
+++ karaf/branches/karaf-2.2.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java Thu Dec 22 17:20:14 2011
@@ -731,17 +731,21 @@ public class FeaturesServiceImpl impleme
     		LOGGER.info("configFile already exist, don't override it");
     		return;
     	}
-    	if (!file.exists()) {
-    		File parentFile = file.getParentFile();
-    		if (parentFile != null)
-    			parentFile.mkdirs();
-    		file.createNewFile();
-    	}
-    	
-    	FileOutputStream fop = new FileOutputStream(file);
+
         InputStream is = null;
+        FileOutputStream fop = null;
         try {
             is = new BufferedInputStream(new URL(fileLocation).openStream());
+            
+            if (!file.exists()) {
+                File parentFile = file.getParentFile();
+                if (parentFile != null) {
+                    parentFile.mkdirs();
+                }
+                file.createNewFile();
+            }
+
+            fop = new FileOutputStream(file);
         
             int bytesRead = 0;
             byte[] buffer = new byte[1024];
@@ -758,8 +762,10 @@ public class FeaturesServiceImpl impleme
 		} finally {
 			if (is != null)
 				is.close();
-			fop.flush();
-			fop.close();
+            if (fop != null) {
+			    fop.flush();
+			    fop.close();
+            }
 		}
             
     }