don't list META-INF, .ro and mimetype as resources

Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/commit/509ae917
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/509ae917
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/509ae917

Branch: refs/heads/ucfpackage-robundle
Commit: 509ae917aa8930e892566b4c8e907b270a7d4f1e
Parents: 8f9dfdf
Author: Stian Soiland-Reyes <[email protected]>
Authored: Wed Dec 11 16:57:52 2013 +0000
Committer: Stian Soiland-Reyes <[email protected]>
Committed: Thu Jul 2 15:06:27 2015 +0100

----------------------------------------------------------------------
 .../apache/taverna/scufl2/ucfpackage/UCFPackage.java   | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/509ae917/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/UCFPackage.java
----------------------------------------------------------------------
diff --git 
a/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/UCFPackage.java
 
b/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/UCFPackage.java
index 6a89cb2..997856e 100644
--- 
a/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/UCFPackage.java
+++ 
b/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/UCFPackage.java
@@ -36,6 +36,7 @@ import java.nio.file.DirectoryStream;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -332,6 +333,9 @@ public class UCFPackage implements Cloneable {
 
        public InputStream getResourceAsInputStream(String path) throws 
IOException {
            Path bundlePath = bundle.getRoot().resolve(path);
+           if (! Files.isReadable(bundlePath)) { 
+               return null;
+           }
            return Files.newInputStream(bundlePath);
        }
 
@@ -346,10 +350,17 @@ public class UCFPackage implements Cloneable {
        protected Map<String, ResourceEntry> listResources(String folderPath,
                        boolean recursive) {
            Path bundlePath = bundle.getRoot().resolve(folderPath);
-
+           List<Path> reserved = 
Arrays.asList(bundle.getRoot().resolve("META-INF"), 
+                   bundle.getRoot().resolve(".ro"),
+                   bundle.getRoot().resolve("mimetype")
+                   );
+           
            HashMap<String, ResourceEntry> content = new HashMap<String, 
ResourceEntry>();
            try (DirectoryStream<Path> ds = 
Files.newDirectoryStream(bundlePath)) {
                for (Path path : ds) {
+                   if (reserved.contains(path)) { 
+                       continue;                     
+                   }
                    content.put(path.toString(), new ResourceEntry(path));
                }
            } catch (IOException e) {

Reply via email to