Author: apetrelli
Date: Sun Sep 12 14:04:46 2010
New Revision: 996315

URL: http://svn.apache.org/viewvc?rev=996315&view=rev
Log:
TILES-515
Merge from trunk to sandbox tiles3.
Separated exception handling of URL.openConnection from the rest to achieve 
OSGi compatibility.

Modified:
    tiles/sandbox/trunk/tiles3/   (props changed)
    
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/definition/dao/BaseLocaleUrlDefinitionDAO.java
    tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/   (props changed)
    
tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/webapp/WEB-INF/tools.xml
   (props changed)

Propchange: tiles/sandbox/trunk/tiles3/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Sep 12 14:04:46 2010
@@ -1 +1 @@
-/tiles/framework/trunk:829356,836356,880940,880948,887758,900938-902966,904552,921998,931637,949559,950449,982366-982367,989864-990230
+/tiles/framework/trunk:829356,836356,880940,880948,887758,900938-902966,904552,921998,931637,949559,950449,982366-982367,989864-990230,996297

Modified: 
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/definition/dao/BaseLocaleUrlDefinitionDAO.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/definition/dao/BaseLocaleUrlDefinitionDAO.java?rev=996315&r1=996314&r2=996315&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/definition/dao/BaseLocaleUrlDefinitionDAO.java
 (original)
+++ 
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/definition/dao/BaseLocaleUrlDefinitionDAO.java
 Sun Sep 12 14:04:46 2010
@@ -23,6 +23,7 @@ package org.apache.tiles.definition.dao;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.InputStream;
 import java.net.URL;
 import java.net.URLConnection;
 import java.util.HashMap;
@@ -125,21 +126,46 @@ public abstract class BaseLocaleUrlDefin
      */
     protected Map<String, Definition> loadDefinitionsFromURL(URL url) {
         Map<String, Definition> defsMap = null;
+
+        URLConnection connection = null;
+        try {
+            connection = url.openConnection();
+        } catch (IOException e) {
+            // File not found. continue.
+            if (log.isDebugEnabled()) {
+                log.debug("I/O exception thrown when opening URL connection to 
"
+                        + url.toString() + ", continue");
+            }
+            return null;
+        }
+
+        InputStream stream = null;
         try {
-            URLConnection connection = url.openConnection();
             connection.connect();
             lastModifiedDates.put(url.toExternalForm(), connection
                     .getLastModified());
 
             // Definition must be collected, starting from the base
             // source up to the last localized file.
-            defsMap = reader.read(connection.getInputStream());
+            stream = connection.getInputStream();
+            defsMap = reader.read(stream);
         } catch (FileNotFoundException e) {
             // File not found. continue.
-            log.debug("File {} not found, continue", url);
+            if (log.isDebugEnabled()) {
+                log.debug("File " + url.toString() + " not found, continue");
+            }
         } catch (IOException e) {
             throw new DefinitionsFactoryException(
                     "I/O error processing configuration.", e);
+        } finally {
+            try {
+                if (stream != null) {
+                    stream.close();
+                }
+            } catch (IOException e) {
+                throw new DefinitionsFactoryException(
+                        "I/O error closing " + url.toString(), e);
+            }
         }
 
         return defsMap;

Propchange: tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Sep 12 14:04:46 2010
@@ -1,3 +1,3 @@
-/tiles/framework/trunk/tiles-test-pom/tiles-test:829356,836356,880940,880948,887758,900938-902966,904552,921998,931637,949559,950449,982366-982367,989864-990230
+/tiles/framework/trunk/tiles-test-pom/tiles-test:829356,836356,880940,880948,887758,900938-902966,904552,921998,931637,949559,950449,982366-982367,989864-990230,996297
 /tiles/sandbox/trunk/tiles-test:740289
 /tiles/sandbox/trunk/tiles-test-sandbox:740290-745038,747727-751891

Propchange: 
tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/webapp/WEB-INF/tools.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Sep 12 14:04:46 2010
@@ -1 +1 @@
-/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/WEB-INF/tools.xml:829356,836356,880940,880948,887758,900938-902966,904552,921998,931637,949559,950449,982366-982367,989864-990230
+/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/WEB-INF/tools.xml:829356,836356,880940,880948,887758,900938-902966,904552,921998,931637,949559,950449,982366-982367,989864-990230,996297


Reply via email to