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 2018/08/28 13:15:18 UTC

[karaf-cave] branch master updated: KARAF-5879 - Close input and output streams in CaveFeatureGateway/Test. (#11)

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/karaf-cave.git


The following commit(s) were added to refs/heads/master by this push:
     new 924384e  KARAF-5879 - Close input and output streams in CaveFeatureGateway/Test. (#11)
924384e is described below

commit 924384e7e824edfc2a2097395207f4c6b02f137d
Author: Bob Paulin <bo...@bobpaulin.com>
AuthorDate: Tue Aug 28 08:15:10 2018 -0500

    KARAF-5879 - Close input and output streams in CaveFeatureGateway/Test. (#11)
    
    [KARAF-5879]  Close input and output streams in CaveFeatureGateway/Test.
---
 .../karaf/cave/server/storage/CaveFeatureGatewayImpl.java  | 14 ++++++++++++--
 .../cave/server/storage/CaveFeatureGatewayImplTest.java    |  1 +
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveFeatureGatewayImpl.java b/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveFeatureGatewayImpl.java
index 0d2bd76..3a39166 100644
--- a/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveFeatureGatewayImpl.java
+++ b/server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveFeatureGatewayImpl.java
@@ -21,6 +21,7 @@ import org.apache.karaf.features.internal.model.Features;
 import org.apache.karaf.features.internal.model.JaxbUtil;
 
 import java.io.File;
+import java.io.OutputStream;
 import java.io.FileOutputStream;
 import java.util.ArrayList;
 import java.util.List;
@@ -43,7 +44,8 @@ public class CaveFeatureGatewayImpl implements CaveFeatureGateway {
             throw new IllegalArgumentException("Features repository " + url + " already registered in the gateway");
         }
         features.getRepository().add(url);
-        JaxbUtil.marshal(features, new FileOutputStream(storage));
+        
+        marshalStorageFile(storage, features);
     }
 
     @Override
@@ -59,7 +61,8 @@ public class CaveFeatureGatewayImpl implements CaveFeatureGateway {
             throw new IllegalArgumentException("Features repository " + url + " is not registered in the gateway");
         }
         features.getRepository().remove(url);
-        JaxbUtil.marshal(features, new FileOutputStream(storage));
+        
+        marshalStorageFile(storage, features);
     }
 
     @Override
@@ -83,4 +86,11 @@ public class CaveFeatureGatewayImpl implements CaveFeatureGateway {
         }
         return false;
     }
+    
+    private void marshalStorageFile(File storage, Features features)
+			throws Exception {
+        OutputStream storageFileOs = new FileOutputStream(storage);
+        JaxbUtil.marshal(features, storageFileOs);
+        storageFileOs.close();
+	}
 }
diff --git a/server/storage/src/test/java/org/apache/karaf/cave/server/storage/CaveFeatureGatewayImplTest.java b/server/storage/src/test/java/org/apache/karaf/cave/server/storage/CaveFeatureGatewayImplTest.java
index b6d8c7f..d1eea29 100644
--- a/server/storage/src/test/java/org/apache/karaf/cave/server/storage/CaveFeatureGatewayImplTest.java
+++ b/server/storage/src/test/java/org/apache/karaf/cave/server/storage/CaveFeatureGatewayImplTest.java
@@ -73,6 +73,7 @@ public class CaveFeatureGatewayImplTest {
         while ((line = reader.readLine()) != null) {
             builder.append(line);
         }
+        reader.close();
         return builder.toString();
     }