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

michi at wyona.com michi at wyona.com
Mon Nov 24 12:29:04 CET 2008


Author: michi
Date: 2008-11-24 12:29:03 +0100 (Mon, 24 Nov 2008)
New Revision: 40104

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

Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/source/RTYanelHtdocsResolver.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/source/RTYanelHtdocsResolver.java	2008-11-24 11:28:53 UTC (rev 40103)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/source/RTYanelHtdocsResolver.java	2008-11-24 11:29:03 UTC (rev 40104)
@@ -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;
@@ -54,18 +56,25 @@
             if (log.isDebugEnabled()) {
                 log.debug("Package: " + packageName);
             }
-            java.net.URL url = resource.getClass().getClassLoader().getResource(packageName.replace('.','/') + "/yanel-htdocs" + path);
+            URL url = resource.getClass().getClassLoader().getResource(packageName.replace('.','/') + "/yanel-htdocs" + path);
             if (url == null) {
                 log.info("Path " + path + " does not seem to be contained within package " + packageName + " of resource " + resource.getResourceTypeUniversalName());
             }
-            return new StreamSource(url.openStream());
+            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) {
             File resourceConfigDir = resource.getRTD().getConfigFile().getParentFile();
             log.info("Fallback to resource config location: " + resourceConfigDir);
             try {
                 File resourceFile = new File(resourceConfigDir.getAbsolutePath() + "/yanel-htdocs" + path.replace('/', File.separatorChar));
                 InputStream in = new java.io.FileInputStream(resourceFile);
-                return new StreamSource(in);
+                YanelStreamSource source = new YanelStreamSource(in);
+                source.setLastModified(resourceFile.lastModified());
+                return source;
             } catch (Exception ex) {
                 String errorMsg = "Could not resolve URI: " + path + " (" + e.toString() + ", " + resourceConfigDir + ")";
                 log.error(errorMsg, e);



More information about the Yanel-commits mailing list