EXTSCRIPT-154: Code Rewrite/Refactoring, cleaning up resource compile workflow for the components. 


git-svn-id: https://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk@1300179 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java
index c0572d7..5c876c7 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java
@@ -275,7 +275,11 @@
             if (!engine.needsRecompile()) continue;
             compile = true;
             log.info("[EXT-SCRIPTING] compiling " + engine.getEngineTypeAsStr() + " files");
-            engine.compile();
+            CompilationResult result = engine.compile();
+            if(result != null) {
+                WeavingContext.getInstance().setCompilationResult(engine.getEngineType(), result);
+            }
+            
             log.info("[EXT-SCRIPTING] compiling " + engine.getEngineTypeAsStr() + " files done");
         }
         return compile;
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/BaseEngine.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/BaseEngine.java
index c4ab95d..6a12cc7 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/BaseEngine.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/BaseEngine.java
@@ -95,7 +95,8 @@
             {
                 ClassResource classToProcess = new ClassResource();
                 classToProcess.setFile(sourceFile);
-                classToProcess.setLastLoaded(-1);
+
+
                 classToProcess.setScriptingEngine(getEngineType());
                 if (!_watchedResources.containsKey(classToProcess.getIdentifier()))
                 {
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/EngineGroovy.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/EngineGroovy.java
index 35fdeb8..5d74d00 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/EngineGroovy.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/EngineGroovy.java
@@ -22,6 +22,7 @@
 import rewrite.org.apache.myfaces.extensions.scripting.core.api.Configuration;
 import rewrite.org.apache.myfaces.extensions.scripting.core.api.WeavingContext;
 import rewrite.org.apache.myfaces.extensions.scripting.core.common.util.ClassUtils;
+import rewrite.org.apache.myfaces.extensions.scripting.core.engine.api.CompilationResult;
 import rewrite.org.apache.myfaces.extensions.scripting.core.engine.api.ScriptingEngine;
 import rewrite.org.apache.myfaces.extensions.scripting.core.engine.compiler.GroovyCompiler;
 
@@ -65,17 +66,19 @@
 
     @Override
     //full compile
-    public void compile()
+    public CompilationResult compile()
     {
         WeavingContext context = WeavingContext.getInstance();
         Configuration configuration = context.getConfiguration();
         GroovyCompiler compiler = new GroovyCompiler();
         File targetDir = configuration.getCompileTarget();
         Collection<String> sourceDirs = configuration.getSourceDirs(ENGINE_TYPE_JSF_GROOVY);
+        CompilationResult res = null;
         for (String sourceRoot : sourceDirs)
         {
-            compiler.compile(new File(sourceRoot), targetDir, ClassUtils.getContextClassLoader());
+            res = compiler.compile(new File(sourceRoot), targetDir, ClassUtils.getContextClassLoader());
         }
+        return res;
     }
 
     public void scanDependencies()
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/EngineJava.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/EngineJava.java
index e329ff7..b8a94db 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/EngineJava.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/EngineJava.java
@@ -54,22 +54,23 @@
      * full compile will be called cyclicly
      * from the startup and daemon thread
      */
-    public void compile()
+    public CompilationResult compile()
     {
         WeavingContext context = WeavingContext.getInstance();
         Configuration configuration = context.getConfiguration();
         JSR199Compiler compiler = new JSR199Compiler();
         File targetDir = configuration.getCompileTarget();
         Collection<String> sourceDirs = configuration.getSourceDirs(getEngineType());
+        CompilationResult res = null;
         for (String sourceRoot : sourceDirs)
         {
-            CompilationResult res =  compiler.compile(new File(sourceRoot), targetDir,
+            res =  compiler.compile(new File(sourceRoot), targetDir,
                 ClassUtils.getContextClassLoader());
             if(res.hasErrors()) {
                 log.severe(res.getCompilerOutput());
             }
-
         }
+        return res;
     }
 
     public void scanDependencies()
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/api/ScriptingEngine.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/api/ScriptingEngine.java
index 8cb18d4..09d23bb 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/api/ScriptingEngine.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/api/ScriptingEngine.java
@@ -63,7 +63,7 @@
     /**
      * runs the compile cycle for this engine
      */
-    public void compile();
+    public CompilationResult compile();
 
     /**
      * checks if the current engine has tainted classes
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/compiler/GroovyCompiler.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/compiler/GroovyCompiler.java
index 0ce2f82..8271b4a 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/compiler/GroovyCompiler.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/compiler/GroovyCompiler.java
@@ -96,9 +96,6 @@
             result.registerWarning(convertMessage(collector.getWarning(i)));
         }
 
-        if(result != null) {
-             WeavingContext.getInstance().setCompilationResult(ScriptingConst.ENGINE_TYPE_JSF_GROOVY, result);
-        }
 
         return result;
     }
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java
index 68a0e56..efe0039 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java
@@ -102,7 +102,7 @@
 
             CompilationResult result =  handleDiagnostics(diagnosticCollector);
 
-            WeavingContext.getInstance().setCompilationResult(ScriptingConst.ENGINE_TYPE_JSF_JAVA, result);
+
             return result;
 
     }
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/monitor/WatchedResource.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/monitor/WatchedResource.java
index ae9abe5..f93edbb 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/monitor/WatchedResource.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/monitor/WatchedResource.java
@@ -36,7 +36,7 @@
      */
     volatile boolean tainted = false;
 
-    volatile long  _lastLoaded = -1L;
+    //volatile long  _lastLoaded = -1L;
 
     /**
      * Unique identifier on the resource
@@ -50,13 +50,6 @@
      */
     public abstract File getFile();
 
-    /**
-     * @return  additional refresh attribute metadata
-     */
-    //public RefreshAttribute getRefreshAttribute() {
-    //    return _refreshAttribute;
-    //}
-
     public WatchedResource getClone()  {
         try {
             return (WatchedResource) super.clone();
@@ -65,16 +58,6 @@
         }
     }
 
-    public long getLastLoaded()
-    {
-        return _lastLoaded;
-    }
-
-    public void setLastLoaded(long lastLoaded)
-    {
-        _lastLoaded = lastLoaded;
-    }
-
     public boolean isTainted()
     {
         return tainted;