[Yanel-commits] rev 40103 - public/yanel/trunk/src/core/java/org/wyona/yanel/core/source

michi at wyona.com michi at wyona.com
Mon Nov 24 12:28:53 CET 2008


Author: michi
Date: 2008-11-24 12:28:53 +0100 (Mon, 24 Nov 2008)
New Revision: 40103

Modified:
   public/yanel/trunk/src/core/java/org/wyona/yanel/core/source/RTHtdocsResolver.java
Log:
return YanelStreamSource whereas last modified has been set

Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/source/RTHtdocsResolver.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/source/RTHtdocsResolver.java	2008-11-24 11:20:08 UTC (rev 40102)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/source/RTHtdocsResolver.java	2008-11-24 11:28:53 UTC (rev 40103)
@@ -2,6 +2,8 @@
 
 import java.io.File;
 import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
 
 import javax.xml.transform.Source;
 import javax.xml.transform.URIResolver;
@@ -51,13 +53,22 @@
             if (log.isDebugEnabled()) {
                 log.debug("Package: " + packageName);
             }
-            InputStream in = resource.getClass().getClassLoader().getResource(packageName.replace('.','/') + "/htdocs" + path).openStream();
-            return new StreamSource(in);
+            
+            URL url = resource.getClass().getClassLoader().getResource(packageName.replace('.','/') + "/htdocs" + path);
+            InputStream in = url.openStream();
+            YanelStreamSource source = new YanelStreamSource(in);
+            URLConnection uc = url.openConnection();
+            long resourceLastModifier = uc.getLastModified();
+            source.setLastModified(resourceLastModifier);
+            return source;
         } catch (Exception e) {
             try {
                 File resourceFile = new File(resource.getRTD().getConfigFile().getParentFile().getAbsolutePath() + "/htdocs" + path.replace('/', File.separatorChar));
                 InputStream in = new java.io.FileInputStream(resourceFile);
-                return new StreamSource(in);
+                YanelStreamSource source = new YanelStreamSource(in);
+                long resourceLastModifier = resourceFile.lastModified();
+                source.setLastModified(resourceLastModifier);
+                return source;
             } catch (Exception ex) {
                 String errorMsg = "Could not resolve URI: " + path + ": " + e.toString();
                 log.error(errorMsg, e);



More information about the Yanel-commits mailing list