You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2010/06/29 09:17:00 UTC

svn commit: r958853 - in /myfaces/extensions/scripting/trunk/extscript-core-root: extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/loaders/java/ extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/monitor/ extscript...

Author: werpu
Date: Tue Jun 29 07:16:59 2010
New Revision: 958853

URL: http://svn.apache.org/viewvc?rev=958853&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-139

first part of the data watchdog data structure rework done, all tests pass the system still works, looks good

Modified:
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/loaders/java/ThrowawayClassloader.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/monitor/ClassResource.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/monitor/ResourceMonitor.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/components/TaintHistoryTest.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/refreshContext/RefreshContextTest.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategyTest.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/pom.xml

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/loaders/java/ThrowawayClassloader.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/loaders/java/ThrowawayClassloader.java?rev=958853&r1=958852&r2=958853&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/loaders/java/ThrowawayClassloader.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/loaders/java/ThrowawayClassloader.java Tue Jun 29 07:16:59 2010
@@ -182,7 +182,7 @@ public class ThrowawayClassloader extend
 
         reloadingMetaData.setFileName(fileName);
         reloadingMetaData.setSourcePath(rootDir);
-        reloadingMetaData.setTimestamp(sourceFile.lastModified());
+        reloadingMetaData.getRefreshAttribute().requestRefresh();
         reloadingMetaData.getRefreshAttribute().executedRefresh();
         reloadingMetaData.setScriptingEngine(_scriptingEngine);
 

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/monitor/ClassResource.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/monitor/ClassResource.java?rev=958853&r1=958852&r2=958853&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/monitor/ClassResource.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/monitor/ClassResource.java Tue Jun 29 07:16:59 2010
@@ -33,10 +33,14 @@ public class ClassResource extends Watch
     * volatile due to the ram concurrency behavior
     * of the instance vars jdk 5+
     */
+
+    //TODO we probably can drop the file definitions
+    //the class has all meta data internally via findResource
+    //on its corresponding classloader
+    //caching the info however probably is faster
     volatile String _fileName = "";
     volatile String _sourcePath = "";
     volatile Class _aClass = null;
-    volatile long _timestamp = 0l;
     volatile int _scriptingEngine = ScriptingConst.ENGINE_TYPE_JSF_NO_ENGINE;
 
 
@@ -53,6 +57,7 @@ public class ClassResource extends Watch
 
     @Override
     public File getFile() {
+        //todo get the resource file from the given class definition and its resource loader
         return new File(_sourcePath+File.separator+_fileName);
     }
 
@@ -72,14 +77,6 @@ public class ClassResource extends Watch
         this._aClass = aClass;
     }
 
-    public long getTimestamp() {
-        return _timestamp;
-    }
-
-    public void setTimestamp(long timestamp) {
-        this._timestamp = timestamp;
-    }
-
     public int getScriptingEngine() {
         return _scriptingEngine;
     }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/monitor/ResourceMonitor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/monitor/ResourceMonitor.java?rev=958853&r1=958852&r2=958853&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/monitor/ResourceMonitor.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/monitor/ResourceMonitor.java Tue Jun 29 07:16:59 2010
@@ -160,7 +160,7 @@ public class ResourceMonitor extends Thr
                 ClassResource meta = it.getValue();
                 meta.getRefreshAttribute().requestRefresh();
                 printInfo(it, proxyFile);
-                meta.setTimestamp(proxyFile.lastModified());
+
                 dependencyTainted(meta.getAClass().getName());
 
                 //we add our log entry for further reference
@@ -199,7 +199,7 @@ public class ResourceMonitor extends Thr
     }
 
     private final boolean isModified(Map.Entry<String, ClassResource> it, File proxyFile) {
-        return proxyFile.lastModified() != it.getValue().getTimestamp();
+        return proxyFile.lastModified() > it.getValue().getRefreshAttribute().getRequestedRefreshDate() ;
     }
 
     private void printInfo(ClassResource it) {
@@ -210,7 +210,7 @@ public class ResourceMonitor extends Thr
 
     private void printInfo(Map.Entry<String, ClassResource> it, File proxyFile) {
         if (_log.isLoggable(Level.INFO)) {
-            _log.log(Level.INFO, "[EXT-SCRIPTING] comparing {0} Dates: {1} {2} ", new String[]{it.getKey(), Long.toString(proxyFile.lastModified()), Long.toString(it.getValue().getTimestamp())});
+            _log.log(Level.INFO, "[EXT-SCRIPTING] comparing {0} Dates: {1} {2} ", new String[]{it.getKey(), Long.toString(proxyFile.lastModified()), Long.toString(it.getValue().getRefreshAttribute().getExecutedRefreshDate())});
             _log.log(Level.INFO, "[EXT-SCRIPTING] Tainting: {0}", it.getValue().getFileName());
         }
     }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/components/TaintHistoryTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/components/TaintHistoryTest.java?rev=958853&r1=958852&r2=958853&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/components/TaintHistoryTest.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/components/TaintHistoryTest.java Tue Jun 29 07:16:59 2010
@@ -93,7 +93,8 @@ public class TaintHistoryTest extends Ab
     public void testTaintHistory() throws Exception {
         ClassResource historyEntry = new ClassResource();
         historyEntry.setAClass(this.getClass());
-        historyEntry.setTimestamp(System.currentTimeMillis());
+        historyEntry.getRefreshAttribute().requestRefresh();
+        historyEntry.getRefreshAttribute().executedRefresh();
         historyEntry.setScriptingEngine(ScriptingConst.ENGINE_TYPE_JSF_JAVA);
         historyEntry.setFileName(BOOGA_JAVA);
         historyEntry.getRefreshAttribute().requestRefresh();
@@ -126,7 +127,7 @@ public class TaintHistoryTest extends Ab
         for (int cnt = 0; cnt < 100; cnt++) {
             ClassResource historyEntry = new ClassResource();
             historyEntry.setAClass(this.getClass());
-            historyEntry.setTimestamp(System.currentTimeMillis());
+            historyEntry.getRefreshAttribute().executedRefresh();
             historyEntry.setScriptingEngine(ScriptingConst.ENGINE_TYPE_JSF_JAVA);
             if(cnt < 10)
                 historyEntry.setFileName("0"+cnt + "_"+BOOGA_JAVA);

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/refreshContext/RefreshContextTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/refreshContext/RefreshContextTest.java?rev=958853&r1=958852&r2=958853&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/refreshContext/RefreshContextTest.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/refreshContext/RefreshContextTest.java Tue Jun 29 07:16:59 2010
@@ -87,7 +87,7 @@ public class RefreshContextTest {
         ClassResource data = new ClassResource();
         data.setAClass(this.getClass());
         data.getRefreshAttribute().requestRefresh();
-        data.setTimestamp(System.currentTimeMillis());
+        data.getRefreshAttribute().executedRefresh();
 
         ctx.addTaintLogEntry(data);
         ctx.addTaintLogEntry(data);
@@ -119,7 +119,7 @@ public class RefreshContextTest {
         ClassResource data = new ClassResource();
         data.setAClass(this.getClass());
         data.getRefreshAttribute().requestRefresh();
-        data.setTimestamp(System.currentTimeMillis());
+        data.getRefreshAttribute().executedRefresh();
 
         ctx.addTaintLogEntry(data);
         ctx.addTaintLogEntry(data);
@@ -139,7 +139,7 @@ public class RefreshContextTest {
         ClassResource data = new ClassResource();
         data.setAClass(this.getClass());
         data.getRefreshAttribute().requestRefresh();
-        data.setTimestamp(System.currentTimeMillis());
+        data.getRefreshAttribute().executedRefresh();
 
         ctx.addTaintLogEntry(data);
         ctx.addTaintLogEntry(data);

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategyTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategyTest.java?rev=958853&r1=958852&r2=958853&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategyTest.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/test/java/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategyTest.java Tue Jun 29 07:16:59 2010
@@ -108,7 +108,7 @@ public class SimpleReloadingStrategyTest
         resource.setFileName("compiler/TestProbe1.java");
         resource.setScriptingEngine(ScriptingConst.ENGINE_TYPE_JSF_JAVA);
         resource.getRefreshAttribute().requestRefresh();
-        resource.setTimestamp(System.currentTimeMillis());
+     
         return resource;
     }
 

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/pom.xml?rev=958853&r1=958852&r2=958853&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/pom.xml (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces2-extensions/pom.xml Tue Jun 29 07:16:59 2010
@@ -125,5 +125,6 @@
             </build>
         </profile>
     </profiles>
+    
 
 </project>