Author: painter
Date: Mon Jan 29 19:04:04 2018
New Revision: 1822556

URL: http://svn.apache.org/viewvc?rev=1822556&view=rev
Log:
Per tv's note, ensure FileInputStream is closed properly under all 
circumstances. Remove additional test of xmlFile.canRead() as that is already 
performed in code above this block

Modified:
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/IntakeServiceImpl.java

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/IntakeServiceImpl.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/IntakeServiceImpl.java?rev=1822556&r1=1822555&r2=1822556&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/IntakeServiceImpl.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/IntakeServiceImpl.java
 Mon Jan 29 19:04:04 2018
@@ -776,25 +776,32 @@ public class IntakeServiceImpl extends A
             um.setSchema(schemaFactory.newSchema(schemaURL));
             appDataElements = new HashMap<AppData, File>();
 
-            for (File xmlFile : xmlFiles)
-            {
-               if ( xmlFile.canRead() )
-               {
-                       getLogger().debug("Now parsing: " + xmlFile);
-                       
-                       // fix for parallel deployment, passing file directly 
results in file not found exception
-                       FileInputStream fis = new FileInputStream(xmlFile);
-                       AppData appData = (AppData)um.unmarshal(fis);
-                       fis.close();
-       
-                       if ( appData != null ) {
-                               appDataElements.put(appData, xmlFile);
-                               getLogger().debug("Saving appData for " + 
xmlFile);
-                       }
-               } else {
-                       throw new Exception("Could not read Intake XML File: " 
+ xmlFile.getPath());
-               }
-            }
+                       for (File xmlFile : xmlFiles) {
+                               getLogger().debug("Now parsing: " + xmlFile);
+                               FileInputStream fis = null;
+                               try {
+                                       // fix for parallel deployment, passing 
file directly results in file not found
+                                       // exception
+                                       fis = new FileInputStream(xmlFile);
+                                       AppData appData = (AppData) 
um.unmarshal(fis);
+
+                                       if ( fis != null )
+                                               fis.close();
+
+                                       appDataElements.put(appData, xmlFile);
+                                       getLogger().debug("Saving appData for " 
+ xmlFile);
+                               } catch (Exception e) {
+                                       getLogger().debug("Error parsing Intake 
xml file: " + e.getMessage());
+                               } finally {
+                                       if (fis != null) {
+                                               try {
+                                                       fis.close();
+                                               } catch (IOException e) {
+                                                       
getLogger().debug("Intake xml file could not be opened");
+                                               }
+                                       }
+                               }
+                       }
 
             getLogger().debug("Parsing took " + (System.currentTimeMillis() - 
timer));
 


Reply via email to