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 2009/12/25 15:37:27 UTC

svn commit: r893864 - in /myfaces/extensions/scripting/trunk: core/core/src/main/groovy/org/apache/myfaces/groovyloader/core/ core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ core/core/src/main/java/org/apache/myfaces/scripting...

Author: werpu
Date: Fri Dec 25 14:37:26 2009
New Revision: 893864

URL: http://svn.apache.org/viewvc?rev=893864&view=rev
Log:
dependency scanning now working refreshes again work in jsf1.2 and jsf2 annotation support working again!

Added:
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanUtils.java   (contents, props changed)
      - copied, changed from r893862, myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassLogUtils.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScannerMT.java   (with props)
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/util/ExtendedLoopCnt.java   (with props)
    myfaces/extensions/scripting/trunk/core/myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/servlet/
    myfaces/extensions/scripting/trunk/core/myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java
      - copied, changed from r893862, myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy.java   (contents, props changed)
      - copied, changed from r893862, myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy_.java
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/servlet/
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java   (contents, props changed)
      - copied, changed from r893862, myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java
Removed:
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassLogUtils.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy_.java
Modified:
    myfaces/extensions/scripting/trunk/core/core/src/main/groovy/org/apache/myfaces/groovyloader/core/GroovyWeaver.groovy
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanVisitor.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/DefaultDependencyScanner.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/MethodScanVisitor.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/groovy/GroovyDependencyScanner.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/RecompiledClassLoader.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/refresh/ReloadingMetadata.java
    myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/CustomChainLoader.java
    myfaces/extensions/scripting/trunk/core/myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BaseAnnotationScanListener.java
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/GenericAnnotationScanner.java
    myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/Blog.groovy
    myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogEntry.groovy
    myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy
    myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/Blog.java
    myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogEntry.java
    myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogService.java
    myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/JSFUtil.java
    myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java
    myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/web.xml
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogEntry.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogService.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer1.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/web.xml

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/groovy/org/apache/myfaces/groovyloader/core/GroovyWeaver.groovy
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/groovy/org/apache/myfaces/groovyloader/core/GroovyWeaver.groovy?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/groovy/org/apache/myfaces/groovyloader/core/GroovyWeaver.groovy (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/groovy/org/apache/myfaces/groovyloader/core/GroovyWeaver.groovy Fri Dec 25 14:37:26 2009
@@ -30,6 +30,7 @@
 
 import org.apache.myfaces.scripting.core.util.ClassUtils
 import org.apache.myfaces.scripting.refresh.ReloadingMetadata
+import org.apache.myfaces.scripting.loaders.groovy.GroovyDependencyScanner
 
 /**
  * Weaver  which does dynamic class reloading
@@ -48,145 +49,144 @@
  */
 public class GroovyWeaver extends BaseWeaver implements Serializable, ScriptingWeaver {
 
-    static ThreadLocal _groovyClassLoaderHolder = new ThreadLocal();
-    DynamicClassIdentifier identifier = new DynamicClassIdentifier()
-    ClassScanner _scanner = null;
+  static ThreadLocal _groovyClassLoaderHolder = new ThreadLocal();
+  DynamicClassIdentifier identifier = new DynamicClassIdentifier()
+  ClassScanner _scanner = null;
+  ClassScanner _dependencyScanner = new GroovyDependencyScanner(this)
 
 
+  public GroovyWeaver() {
+    super();
+    //super with params in java classes not superbly callable
+    //FIXME this is private in super class
+    scriptingEngine = ScriptingConst.ENGINE_TYPE_GROOVY
+    fileEnding = ".groovy"
 
-    public GroovyWeaver() {
-        super();
-        //super with params in java classes not superbly callable
-        //FIXME this is private in super class
-        scriptingEngine = ScriptingConst.ENGINE_TYPE_GROOVY
-        fileEnding = ".groovy"
+    //the super pass down between groovy and java is broken for the current
+    //version we work around that with setters
+    _reloadingStrategy = new GroovyGlobalReloadingStrategy()
+    _reloadingStrategy.setWeaver(this)
 
-        //the super pass down between groovy and java is broken for the current
-        //version we work around that with setters
-        _reloadingStrategy = new GroovyGlobalReloadingStrategy()
-        _reloadingStrategy.setWeaver(this)
-
-        //init classpath removed we can resolve that over the
-        //url classloader at the time myfaces is initialized
-        try {
-            Class scanner = ClassUtils.getContextClassLoader().loadClass("org.apache.myfaces.scripting.jsf2.annotation.GenericAnnotationScanner");
-            Class[] params = new Class[1];
-            params[0] = ScriptingWeaver.class;
-            this._scanner = scanner.getConstructor(params).newInstance(this);
-            //this._scanner = (ClassScanner) ReflectUtil.instantiate(scanner, params);
-
-        } catch (ClassNotFoundException e) {
-            //we do nothing here
-        }
+    //init classpath removed we can resolve that over the
+    //url classloader at the time myfaces is initialized
+    try {
+      Class scanner = ClassUtils.getContextClassLoader().loadClass("org.apache.myfaces.scripting.jsf2.annotation.GenericAnnotationScanner");
+      Class[] params = new Class[1];
+      params[0] = ScriptingWeaver.class;
+      this._scanner = scanner.getConstructor(params).newInstance(this);
+      //this._scanner = (ClassScanner) ReflectUtil.instantiate(scanner, params);
 
+    } catch (ClassNotFoundException e) {
+      //we do nothing here
     }
 
-    /**
-     * central point for the
-     * loading, loads a class from a given sourceroot
-     * and file
-     */
-    protected Class loadScriptingClassFromFile(String sourceRoot, String file) {
+  }
 
-        File currentClassFile = new File(sourceRoot + File.separator + file)
+  /**
+   * central point for the
+   * loading, loads a class from a given sourceroot
+   * and file
+   */
+  protected Class loadScriptingClassFromFile(String sourceRoot, String file) {
 
-        if (!currentClassFile.exists()) {
-            return null;
-        }
+    File currentClassFile = new File(sourceRoot + File.separator + file)
 
-        if (log.isInfoEnabled()) {
-            log.info("[EXT-SCRIPTING] Loading Groovy file:" + file);
-        }
-        //lazy instantiation to avoid threading problems
-        //and locking related speed bumps
-
-        //TODO replace the classloader detection with the one from the myfaces utils class
-        GroovyClassLoader gcl = _groovyClassLoaderHolder.get()
+    if (!currentClassFile.exists()) {
+      return null;
+    }
 
-        if (gcl == null) {
-            gcl = new GroovyClassLoader(Thread.currentThread().getContextClassLoader());
-            //we have to add the script path so that groovy can work out the kinks of other source files added
-            _groovyClassLoaderHolder.set(gcl)
+    if (log.isInfoEnabled()) {
+      log.info("[EXT-SCRIPTING] Loading Groovy file:" + file);
+    }
+    //lazy instantiation to avoid threading problems
+    //and locking related speed bumps
 
-            WeavingContext.getConfiguration().getSourceDirs(ScriptingConst.ENGINE_TYPE_GROOVY).each {
-                gcl.addClasspath(it)
-            }
-        }
+    //TODO replace the classloader detection with the one from the myfaces utils class
+    GroovyClassLoader gcl = _groovyClassLoaderHolder.get()
 
-        Class retVal = gcl.parseClass(new FileInputStream(currentClassFile))
+    if (gcl == null) {
+      gcl = new GroovyClassLoader(Thread.currentThread().getContextClassLoader());
+      //we have to add the script path so that groovy can work out the kinks of other source files added
+      _groovyClassLoaderHolder.set(gcl)
 
+      WeavingContext.getConfiguration().getSourceDirs(ScriptingConst.ENGINE_TYPE_GROOVY).each {
+        gcl.addClasspath(it)
+      }
+    }
 
-        weaveGroovyReloadingCode(retVal)
+    Class retVal = gcl.parseClass(new FileInputStream(currentClassFile))
 
-        if (retVal != null) {
-            refreshReloadingMetaData(sourceRoot, file, currentClassFile, retVal, ScriptingConst.ENGINE_TYPE_GROOVY);
-        }
 
-        if (_scanner != null && retVal != null) {
-            _scanner.scanClass(retVal);
-        }
+    weaveGroovyReloadingCode(retVal)
 
-        return retVal
+    if (retVal != null) {
+      refreshReloadingMetaData(sourceRoot, file, currentClassFile, retVal, ScriptingConst.ENGINE_TYPE_GROOVY);
+    }
 
+    if (_scanner != null && retVal != null) {
+      _scanner.scanClass(retVal);
     }
 
+    return retVal
 
-    private void refreshReloadingMetaData(String sourceRoot, String file, File currentClassFile, Class retVal, int engineType) {
-        if(sourceRoot.endsWith(".java")) {
-            System.out.println("Debugpoint found");
-        }
-      ReloadingMetadata reloadingMetaData = new ReloadingMetadata();
-        reloadingMetaData.setAClass(retVal);
+  }
 
-        reloadingMetaData.setFileName(file);
-        reloadingMetaData.setSourcePath(sourceRoot);
-        reloadingMetaData.setTimestamp(currentClassFile.lastModified());
-        reloadingMetaData.setTainted(false);
-        reloadingMetaData.setScriptingEngine(engineType);
-        //ReloadingMetadata oldMetadata = getClassMap().get(retVal.getName());
-        reloadingMetaData.setTaintedOnce(getClassMap().containsKey(retVal.getName()));
 
-        getClassMap().put(retVal.getName(), reloadingMetaData);
-    }
+  private void refreshReloadingMetaData(String sourceRoot, String file, File currentClassFile, Class retVal, int engineType) {
 
+    ReloadingMetadata reloadingMetaData = new ReloadingMetadata();
+    reloadingMetaData.setAClass(retVal);
 
+    reloadingMetaData.setFileName(file);
+    reloadingMetaData.setSourcePath(sourceRoot);
+    reloadingMetaData.setTimestamp(currentClassFile.lastModified());
+    reloadingMetaData.setTainted(false);
+    reloadingMetaData.setScriptingEngine(engineType);
+    //ReloadingMetadata oldMetadata = getClassMap().get(retVal.getName());
+    reloadingMetaData.setTaintedOnce(getClassMap().containsKey(retVal.getName()));
 
-    /**
-     * creates a proxy specify object reloading proxy
-     * this works very well in a groovy only specific
-     * context, unfortunately as soon as the object
-     * is pushed into java land the proxy is dropped
-     * nevertheless we add this behavior for a groovy
-     * only context, for now, in the long run we might
-     * have to drop it entirely
-     */
-    private final void weaveGroovyReloadingCode(Class aclass) {
-        //TODO this only works in a groovy 2 groovy specific
-        //surrounding lets check if this is not obsolete
+    getClassMap().put(retVal.getName(), reloadingMetaData);
+  }
 
-        def myMetaClass = new Groovy2GroovyObjectReloadingProxy(aclass)
-        def invoker = InvokerHelper.instance
-        invoker.metaRegistry.setMetaClass(aclass, myMetaClass)
-    }
+  /**
+   * creates a proxy specify object reloading proxy
+   * this works very well in a groovy only specific
+   * context, unfortunately as soon as the object
+   * is pushed into java land the proxy is dropped
+   * nevertheless we add this behavior for a groovy
+   * only context, for now, in the long run we might
+   * have to drop it entirely
+   */
+  private final void weaveGroovyReloadingCode(Class aclass) {
+    //TODO this only works in a groovy 2 groovy specific
+    //surrounding lets check if this is not obsolete
 
-    public boolean isDynamic(Class clazz) {
-        return identifier.isDynamic(clazz)
-    }
+    def myMetaClass = new Groovy2GroovyObjectReloadingProxy(aclass)
+    def invoker = InvokerHelper.instance
+    invoker.metaRegistry.setMetaClass(aclass, myMetaClass)
+  }
 
-    public void fullRecompile() {
-        // We do not have to do a full recompile here
-        //the groovy classloader takes care of the issue
-        //instead we just set the recompile recommended to false
+  public boolean isDynamic(Class clazz) {
+    return identifier.isDynamic(clazz)
+  }
 
-        WeavingContext.getRefreshContext().setRecompileRecommended(ScriptingConst.ENGINE_TYPE_GROOVY, Boolean.FALSE);
-    }
+  public void fullRecompile() {
+    // We do not have to do a full recompile here
+    //the groovy classloader takes care of the issue
+    //instead we just set the recompile recommended to false
+
+    WeavingContext.getRefreshContext().setRecompileRecommended(ScriptingConst.ENGINE_TYPE_GROOVY, Boolean.FALSE);
+  }
 
 
-    public void fullClassScan() {
-        if (_scanner == null) {
-            return;
-        }
-        _scanner.scanPaths();
+  public void fullClassScan() {
+    //does not work yet due to the groovy classloader
+    //_dependencyScanner.scanPaths()
+    if (_scanner == null) {
+      return;
     }
 
+    _scanner.scanPaths()
+  }
+
 }

Copied: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanUtils.java (from r893862, myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassLogUtils.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanUtils.java?p2=myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanUtils.java&p1=myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassLogUtils.java&r1=893862&r2=893864&rev=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassLogUtils.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanUtils.java Fri Dec 25 14:37:26 2009
@@ -24,22 +24,30 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          Utils which store the shared code
+ *
+ * Utils which store the shared code
+ * 
+ *
  */
-class ClassLogUtils {
+class ClassScanUtils {
     public static final String BINARY_PACKAGE = "\\/";
 
 
-    private static final String DOMAIN_JAVA = "java.";
-    private static final String DOMAIN_JAVAX = "javax.";
-    private static final String DOMAIN_COM_SUN = "com.sun";
-    private static final String DOMAIN_APACHE = "org.apache.";
-    private static final String DOMAIN_MYFACES = "org.apache.myfaces";
-    private static final String DOMAIN_JBOSS = "org.jboss";
-    private static final String DOMAIN_SPRING = "org.springframework";
-    private static final String DOMAIN_JUNIT = "org.junit";
-    private static final String DOMAIN_ECLIPSE = "org.eclipse";
-    private static final String DOMAIN_NETBEANS = "org.netbeans";
+    private static final String DOMAIN_JAVA         = "java.";
+    private static final String DOMAIN_JAVAX        = "javax.";
+    private static final String DOMAIN_COM_SUN      = "com.sun";
+    private static final String DOMAIN_APACHE       = "org.apache.";
+    private static final String DOMAIN_MYFACES      = "org.apache.myfaces";
+    private static final String DOMAIN_JBOSS        = "org.jboss";
+    private static final String DOMAIN_SPRING       = "org.springframework";
+    private static final String DOMAIN_JUNIT        = "org.junit";
+    private static final String DOMAIN_ECLIPSE      = "org.eclipse";
+    private static final String DOMAIN_NETBEANS     = "org.netbeans";
+    private static final String DOMAIN_GROOVY       = "groovy.";
+    private static final String DOMAIN_SCALA        = "scala.";
+    private static final String DOMAIN_JYTHON       = "jython.";
+    private static final String DOMAIN_JRUBY        = "jruby.";
+
 
 
     /**
@@ -50,7 +58,7 @@
      * @param in the page or fully qualified classname
      * @return true if it belongs to one of the standard namespaces, false if not
      */
-    public static final boolean isStandard(String in) {
+    public static final boolean isStandardNamespace(String in) {
         //We dont use a regexp here, because an test has shown that direct startsWith is 5 times as fast as applying
         //a precompiled regexp with match
 
@@ -60,11 +68,16 @@
         return in.startsWith(DOMAIN_JAVA) ||
                 in.startsWith(DOMAIN_JAVAX) ||
                 in.startsWith(DOMAIN_COM_SUN) ||
+                in.startsWith(DOMAIN_GROOVY) ||
+                in.startsWith(DOMAIN_JYTHON) ||
+                in.startsWith(DOMAIN_JRUBY) ||
+                in.startsWith(DOMAIN_SCALA) ||
                 in.startsWith(DOMAIN_JBOSS) ||
                 in.startsWith(DOMAIN_SPRING) ||
-                in.startsWith(DOMAIN_JUNIT)  ||
+                in.startsWith(DOMAIN_JUNIT) ||
                 in.startsWith(DOMAIN_ECLIPSE) ||
                 in.startsWith(DOMAIN_NETBEANS) ||
+
                 //apache domain has to be treated specially myfaces can be referenced due to our tests and demos, otherwise this one
                 //is also treated as taboo zone
                 ((in.startsWith(DOMAIN_APACHE) &&
@@ -103,7 +116,7 @@
         //we strip the meta information which is not needed
         //aka start mit ( alles strippen bis )
 
-        //([A-Za-u]{0,1})
+        //()means usually beginning of a native type
         if (parm.startsWith("(")) {
             parm = parm.substring(parm.lastIndexOf(')') + 1);
         }
@@ -137,12 +150,12 @@
      * @param dependencies the target which has to recieve the dependency in source format
      * @param parms        the list of dependencies which have to be added
      */
-    public static final void logParmList(Collection<String> dependencies,final Set<String> whiteList,final String... parms) {
+    public static final void logParmList(Collection<String> dependencies, final Set<String> whiteList, final String... parms) {
         for (String parm : parms) {
             if (parm == null) continue;
             if (parm.equals("")) continue;
             parm = internalClassDescriptorToSource(parm);
-            if (parm == null || isStandard(parm)) continue;
+            if (parm == null || isStandardNamespace(parm)) continue;
 
             String[] packages = parm.split("\\.");
 

Propchange: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanUtils.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanUtils.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanVisitor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanVisitor.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanVisitor.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/ClassScanVisitor.java Fri Dec 25 14:37:26 2009
@@ -21,8 +21,6 @@
 import org.objectweb.asm.*;
 
 import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
@@ -53,7 +51,7 @@
                       String signature, String superName, String[] interfaces) {
         //log.log(Level.INFO, "{0} extends {1} ", new String[]{name, superName});
 
-        ClassLogUtils.logParmList(dependencies, whiteList, superName);
+        ClassScanUtils.logParmList(dependencies, whiteList, superName);
     }
 
     public void visitSource(String source, String debug) {
@@ -83,7 +81,7 @@
     public FieldVisitor visitField(int access, String name, String desc,
                                    String signature, Object value) {
         //log.log(Level.INFO, "Field:{0} {1} ", new Object[]{desc, name});
-        ClassLogUtils.logParmList(dependencies, whiteList, desc);
+        ClassScanUtils.logParmList(dependencies, whiteList, desc);
 
         return null;
     }
@@ -94,7 +92,7 @@
         //String subDesc = desc.substring(desc.indexOf('(') + 1, desc.lastIndexOf(")"));
         //String[] parms = subDesc.split(";");
 
-        //ClassLogUtils.logParmList(dependencies, parms);
+        //ClassScanUtils.logParmList(dependencies, parms);
 
         //we now have to dig into the method to cover more, the parms are covered by our method scanner
         return new MethodScanVisitor(dependencies, whiteList);

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/DefaultDependencyScanner.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/DefaultDependencyScanner.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/DefaultDependencyScanner.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/DefaultDependencyScanner.java Fri Dec 25 14:37:26 2009
@@ -21,7 +21,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.tools.ant.taskdefs.Classloader;
 import org.objectweb.asm.ClassReader;
 
 import java.io.IOException;
@@ -74,7 +73,7 @@
             scanCurrentClass(loader, retVal, className, whiteList);
             Class parent = toCheck.getSuperclass();
 
-            while (parent != null && !ClassLogUtils.isStandard(parent.getName())) {
+            while (parent != null && !ClassScanUtils.isStandardNamespace(parent.getName())) {
                 scanCurrentClass(loader, retVal, parent.getName(), whiteList);
                 parent = parent.getSuperclass();
             }

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/MethodScanVisitor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/MethodScanVisitor.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/MethodScanVisitor.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/dependencyScan/MethodScanVisitor.java Fri Dec 25 14:37:26 2009
@@ -23,8 +23,6 @@
 import org.objectweb.asm.Attribute;
 import org.objectweb.asm.Label;
 
-import java.util.logging.Logger;
-import java.util.logging.Level;
 import java.util.Set;
 
 /**
@@ -81,18 +79,18 @@
     public void visitTypeInsn(int i, String castType) {
         //cast
         //log.log(Level.INFO, "TypeInsn: {0} ", new String[]{castType});
-        ClassLogUtils.logParmList(dependencies, whiteList, castType);
+        ClassScanUtils.logParmList(dependencies, whiteList, castType);
     }
 
     public void visitFieldInsn(int i, String s, String s1, String s2) {
         //log.log(Level.INFO, "visitFieldInsn {0} {1} {2}", new Object[]{s, s1, s2});
-        //ClassLogUtils.logParmList(dependencies, castType);
-        ClassLogUtils.logParmList(dependencies, whiteList, s2);
+        //ClassScanUtils.logParmList(dependencies, castType);
+        ClassScanUtils.logParmList(dependencies, whiteList, s2);
     }
 
     public void visitMethodInsn(int i, String s, String s1, String s2) {
         //log.log(Level.INFO, "visitMethodIsn {0} {1} {2}", new Object[]{s, s1, s2});
-        ClassLogUtils.logParmList(dependencies, whiteList, s2);
+        ClassScanUtils.logParmList(dependencies, whiteList, s2);
     }
 
     public void visitJumpInsn(int i, Label label) {
@@ -126,14 +124,14 @@
     public void visitTryCatchBlock(Label label, Label label1, Label label2, String catchType) {
         //try catch block type information in the last string
         //log.log(Level.INFO, "visitTryCatchBlock: {0} {1} {2} {3}", new Object[]{label.toString(), label1.toString(), label2.toString(), catchType});
-        ClassLogUtils.logParmList(dependencies, whiteList, catchType);
+        ClassScanUtils.logParmList(dependencies, whiteList, catchType);
 
     }
 
     public void visitLocalVariable(String s, String referenceType, String s2, Label label, Label label1, int i) {
         //local variable on method level
         //log.log(Level.INFO, "LocalVar: {0} {1} {2}", new String[]{s, referenceType, s2});
-        ClassLogUtils.logParmList(dependencies, whiteList, referenceType);
+        ClassScanUtils.logParmList(dependencies, whiteList, referenceType);
 
     }
 

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/core/util/WeavingContext.java Fri Dec 25 14:37:26 2009
@@ -29,6 +29,8 @@
 import org.apache.myfaces.scripting.refresh.RefreshContext;
 
 import javax.faces.context.FacesContext;
+import java.lang.ref.SoftReference;
+import java.lang.ref.WeakReference;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Proxy;
 import java.util.Map;
@@ -44,6 +46,16 @@
  */
 public class WeavingContext {
 
+    /**
+     * data we can pass for other threads
+     */
+    static class ThreadLocalData {
+        public Object _weaverHolder;
+        public Object _refreshContextHolder;
+        public Object _configurtion;
+    }
+
+    static ThreadLocalData _referenceThreadHolder = null;
 
     /**
      * <p>
@@ -208,4 +220,30 @@
         return getWeaver().isDynamic(clazz);
     }
 
+
+    /**
+     * we push the threading data into
+     * a shared queue
+     */
+    public static void pushThreadingData() {
+        ThreadLocalData data = new ThreadLocalData();
+        data._configurtion = getConfiguration();
+        data._refreshContextHolder = getRefreshContext();
+        data._weaverHolder = getWeaver();
+
+        _referenceThreadHolder = data;
+    }
+
+    public static void popThreadingData() {
+        ThreadLocalData data = _referenceThreadHolder;
+        setConfiguration((Configuration) data._configurtion);
+        setRefreshContext((RefreshContext) data._refreshContextHolder);
+        setWeaver((ScriptingWeaver) data._weaverHolder);
+    }
+
+    public static void cleanThreadingData() {
+        //we can enforce a prematurely cleanup that way
+        _referenceThreadHolder = null;
+    }
+
 }

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/groovy/GroovyDependencyScanner.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/groovy/GroovyDependencyScanner.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/groovy/GroovyDependencyScanner.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/groovy/GroovyDependencyScanner.java Fri Dec 25 14:37:26 2009
@@ -1,11 +1,30 @@
 package org.apache.myfaces.scripting.loaders.groovy;
 
+import groovy.lang.GroovyClassLoader;
+import org.apache.myfaces.scripting.api.ScriptingConst;
+import org.apache.myfaces.scripting.api.ScriptingWeaver;
+import org.apache.myfaces.scripting.core.util.WeavingContext;
+import org.apache.myfaces.scripting.loaders.java.JavaDependencyScanner;
+import org.apache.myfaces.scripting.loaders.java.RecompiledClassLoader;
+
 /**
- * Created by IntelliJ IDEA.
- * User: werpu2
- * Date: 24.12.2009
- * Time: 22:00:10
- * To change this template use File | Settings | File Templates.
+ *
  */
-public class GroovyDependencyScanner {
+public class GroovyDependencyScanner extends JavaDependencyScanner {
+
+    public GroovyDependencyScanner(ScriptingWeaver weaver) {
+        super(weaver);
+    }
+
+    @Override
+    protected ClassLoader getClassLoader() {
+        //TODO return the groovy classloader here
+        //which has to serve the groovy resources
+
+        GroovyClassLoader gcl = new GroovyClassLoader(Thread.currentThread().getContextClassLoader());
+        for (String sourceDir : WeavingContext.getConfiguration().getSourceDirs(ScriptingConst.ENGINE_TYPE_GROOVY)) {
+            gcl.addClasspath(sourceDir);
+        }
+        return gcl;
+    }
 }

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScanner.java Fri Dec 25 14:37:26 2009
@@ -27,6 +27,7 @@
 import org.apache.myfaces.scripting.core.dependencyScan.DefaultDependencyScanner;
 import org.apache.myfaces.scripting.core.dependencyScan.DependencyScanner;
 import org.apache.myfaces.scripting.core.util.WeavingContext;
+import org.apache.myfaces.scripting.loaders.java.util.ExtendedLoopCnt;
 
 import java.util.*;
 import java.util.concurrent.Semaphore;
@@ -41,12 +42,9 @@
 public class JavaDependencyScanner implements ClassScanner {
 
     List<String> _scanPaths = new LinkedList<String>();
-    static final int MAX_PARALLEL_SCANS = 1;
-    //Semaphore threadCtrl = new Semaphore(MAX_PARALLEL_SCANS);
 
-    //we stack this to get an easier handling in a multithreaded environment
-    final Stack<DependencyScanner> dependencyScanner = new Stack<DependencyScanner>();
 
+    DependencyScanner _dependecyScanner = new DefaultDependencyScanner();
 
     ScriptingWeaver _weaver;
     Log log = LogFactory.getLog(JavaDependencyScanner.class.getName());
@@ -54,73 +52,44 @@
 
     public JavaDependencyScanner(ScriptingWeaver weaver) {
         this._weaver = weaver;
-        for (int cnt = 0; cnt < MAX_PARALLEL_SCANS; cnt++) {
-            dependencyScanner.push(new DefaultDependencyScanner());
-        }
+
     }
 
-    public synchronized void scanPaths() {
 
+    public synchronized void scanPaths() {
         if (log.isInfoEnabled()) {
             log.info("[EXT-SCRITPING] starting class dependency scan");
         }
         long start = System.currentTimeMillis();
         final Set<String> possibleDynamicClasses = new HashSet<String>(_weaver.loadPossibleDynamicClasses());
-        //TODO we have to probably set the context classloader upfront
-        //otherwise the classes are not found
-        //final ClassLoader loader = new RecompiledClassLoader(Thread.currentThread().getContextClassLoader(), ScriptingConst.ENGINE_TYPE_JAVA);
-        ClassLoader loader = getClassLoader();
 
-
-        String[] dynamicClassArr = new String[3];
+        final ClassLoader loader = getClassLoader();
         for (String dynamicClass : possibleDynamicClasses) {
-            final String dynaClass = dynamicClass;
-
-            //TODO parallize this
-            //we have to shift the threadlocal data of the weaving context into
-            //every thread there is and push it into the threadlocals there
-            //I will leave this for now open for the next performance round
-
-            //prefill an array which keeps the in params
-            //try {
-            // threadCtrl.acquire();
-            //problem with the thread locals set we have to shift all the needed constats
-            //in and pass them into the thread
-
-            //  (new Thread() {
-            //      public void run()
-            //      {
-
-            DependencyScanner depScanner = dependencyScanner.pop();
-            try {
-                Set<String> referrers = depScanner.fetchDependencies(loader, dynaClass, possibleDynamicClasses);
-                //we make it in two ops because if we do the self dependency
-                //removal in the scanner itself the code  should not break
-                referrers.remove(dynaClass);
-                if (!referrers.isEmpty()) {
-                    WeavingContext.getFileChangedDaemon().getDependencyMap().addDependencies(dynaClass, referrers);
-                }
-            } finally {
-                dependencyScanner.push(depScanner);
-                //threadCtrl.release();
-            }
-
-            //    }
-            // }).start();
-            //} catch (InterruptedException e) {
-            //    e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
-            //}
-
+            runScan(possibleDynamicClasses, loader, dynamicClass);
         }
+
         long end = System.currentTimeMillis();
         if (log.isInfoEnabled()) {
             log.info("[EXT-SCRITPING] class dependency scan finished, duration: " + (end - start) + " ms");
         }
 
+    }
+
+
+    private final void runScan(final Set<String> possibleDynamicClasses, final ClassLoader loader, String dynamicClass) {
+
+        Set<String> referrers = _dependecyScanner.fetchDependencies(loader, dynamicClass, possibleDynamicClasses);
+        //we make it in two ops because if we do the self dependency
+        //removal in the scanner itself the code  should not break
+        referrers.remove(dynamicClass);
+        if (!referrers.isEmpty()) {
+            WeavingContext.getFileChangedDaemon().getDependencyMap().addDependencies(dynamicClass, referrers);
+        }
 
     }
 
-    private RecompiledClassLoader getClassLoader() {
+
+    protected ClassLoader getClassLoader() {
         return new RecompiledClassLoader(Thread.currentThread().getContextClassLoader(), ScriptingConst.ENGINE_TYPE_JAVA);
     }
 

Added: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScannerMT.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScannerMT.java?rev=893864&view=auto
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScannerMT.java (added)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScannerMT.java Fri Dec 25 14:37:26 2009
@@ -0,0 +1,162 @@
+package org.apache.myfaces.scripting.loaders.java;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.myfaces.scripting.api.ClassScanListener;
+import org.apache.myfaces.scripting.api.ClassScanner;
+import org.apache.myfaces.scripting.api.ScriptingConst;
+import org.apache.myfaces.scripting.api.ScriptingWeaver;
+import org.apache.myfaces.scripting.core.dependencyScan.DefaultDependencyScanner;
+import org.apache.myfaces.scripting.core.dependencyScan.DependencyScanner;
+import org.apache.myfaces.scripting.core.util.WeavingContext;
+import org.apache.myfaces.scripting.loaders.java.util.ExtendedLoopCnt;
+
+import java.util.*;
+import java.util.concurrent.Semaphore;
+
+/**
+ * @author Werner Punz (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ *          <p/>
+ * 
+ *          A  dependency scanner which utilizes the scan infrastructure
+ *          from the core, multithreaded version
+ */
+public class JavaDependencyScannerMT implements ClassScanner{
+    private static final int VALUE_POOL_SIZE = 3;
+    static final int MAX_PARALLEL_SCANS = VALUE_POOL_SIZE;
+    Semaphore threadCtrl = new Semaphore(MAX_PARALLEL_SCANS);
+
+
+    List<String> _scanPaths = new LinkedList<String>();
+
+    //we stack this to get an easier handling in a multithreaded environment
+    final Stack<DependencyScanner> dependencyScanner = new Stack<DependencyScanner>();
+
+
+    ScriptingWeaver _weaver;
+    Log log = LogFactory.getLog(JavaDependencyScannerMT.class.getName());
+
+
+    public JavaDependencyScannerMT(ScriptingWeaver weaver) {
+        this._weaver = weaver;
+        for (int cnt = 0; cnt < MAX_PARALLEL_SCANS; cnt++) {
+            dependencyScanner.push(new DefaultDependencyScanner());
+        }
+    }
+
+
+
+    public synchronized void scanPaths() {
+
+        if (log.isInfoEnabled()) {
+            log.info("[EXT-SCRITPING] starting class dependency scan");
+        }
+        long start = System.currentTimeMillis();
+        final Set<String> possibleDynamicClasses = new HashSet<String>(_weaver.loadPossibleDynamicClasses());
+
+        final ClassLoader loader = getClassLoader();
+
+        WeavingContext.pushThreadingData();
+        try {
+            //we have not entirely achieved the performance numbers
+            //we have for the non threaded version hence we
+            //do not do it yet, we have to do a profiling
+            //on a high number of classes to get the
+            //correct values, and then we will take the version
+            //which is faster
+
+            String[] valuesArr = new String[VALUE_POOL_SIZE];
+            int len = valuesArr.length;
+           // int totalCnt = 0;
+
+            ExtendedLoopCnt cnt = new ExtendedLoopCnt(0,0, VALUE_POOL_SIZE);
+            for (String dynamicClass : possibleDynamicClasses) {
+
+                //if (threaded)
+                valuesArr[cnt.getCnt()] = dynamicClass;
+                if (cnt.getCnt() == (VALUE_POOL_SIZE - 1) || cnt.getTotalCnt() ==  (len-1)) {
+                    runScanThreaded(possibleDynamicClasses, loader, valuesArr, cnt.getCnt() + 1);
+                }
+                cnt.incTotalCnt();
+                if (cnt.incCnt() == 0) {
+                    valuesArr = new String[VALUE_POOL_SIZE];
+                }
+            }
+            while(threadCtrl.availablePermits() != MAX_PARALLEL_SCANS) {
+                try {
+                    Thread.sleep(7);
+                } catch (InterruptedException e) {
+                    e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+                }
+            }
+            long end = System.currentTimeMillis();
+            if (log.isInfoEnabled()) {
+                log.info("[EXT-SCRITPING] class dependency scan finished, duration: " + (end - start) + " ms");
+            }
+        } finally {
+            WeavingContext.cleanThreadingData();
+        }
+    }
+
+     private final void runScanThreaded(final Set<String> possibleDynamicClasses, final ClassLoader loader, final String[] dynaClasses, final int noClasses) {
+
+        try {
+
+
+            threadCtrl.acquire();
+            //problem with the thread locals set we have to shift all the needed constats
+            //in and pass them into the thread
+
+            (new Thread() {
+                public void run() {
+
+                    WeavingContext.popThreadingData();
+
+                    DependencyScanner depScanner = dependencyScanner.pop();
+                    try {
+                        for (int cnt = 0; cnt < noClasses; cnt++) {
+                            String dynaClass = dynaClasses[cnt];
+                            Set<String> referrers = depScanner.fetchDependencies(loader, dynaClass, possibleDynamicClasses);
+                            //we make it in two ops because if we do the self dependency
+                            //removal in the scanner itself the code  should not break
+                            referrers.remove(dynaClass);
+                            if (!referrers.isEmpty()) {
+                                WeavingContext.getFileChangedDaemon().getDependencyMap().addDependencies(dynaClass, referrers);
+                            }
+                        }
+                    } finally {
+                        dependencyScanner.push(depScanner);
+                        threadCtrl.release();
+                    }
+
+                }
+            }).start();
+        } catch (InterruptedException e) {
+            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+        }
+    }
+
+
+    protected ClassLoader getClassLoader() {
+        return new RecompiledClassLoader(Thread.currentThread().getContextClassLoader(), ScriptingConst.ENGINE_TYPE_JAVA);
+    }
+
+
+    public void clearListeners() {
+    }
+
+    public void addListener(ClassScanListener listener) {
+
+    }
+
+    public void addScanPath(String scanPath) {
+        _scanPaths.add(scanPath);
+    }
+
+    public synchronized void scanClass(Class clazz) {
+        //not needed anymore since we only rely on full scans and full recompile now
+    }
+
+
+}

Propchange: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScannerMT.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaDependencyScannerMT.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java Fri Dec 25 14:37:26 2009
@@ -190,11 +190,11 @@
      */
     public void fullClassScan() {
         _dependencyScanner.scanPaths();
+
         
-        if (_annotationScanner == null) {
+        if (_annotationScanner == null || FacesContext.getCurrentInstance() == null) {
             return;
         }
-
         _annotationScanner.scanPaths();
 
     }

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/RecompiledClassLoader.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/RecompiledClassLoader.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/RecompiledClassLoader.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/RecompiledClassLoader.java Fri Dec 25 14:37:26 2009
@@ -91,9 +91,7 @@
     @Override
     public Class<?> loadClass(String className) throws ClassNotFoundException {
         //check if our class exists in the tempDir
-        if(className.contains("Blog")) {
-            System.out.println("Debugpoint found");
-        }
+       
         File target = getClassFile(className);
         if (target.exists()) {
             ReloadingMetadata data = WeavingContext.getFileChangedDaemon().getClassMap().get(className);

Added: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/util/ExtendedLoopCnt.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/util/ExtendedLoopCnt.java?rev=893864&view=auto
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/util/ExtendedLoopCnt.java (added)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/util/ExtendedLoopCnt.java Fri Dec 25 14:37:26 2009
@@ -0,0 +1,36 @@
+package org.apache.myfaces.scripting.loaders.java.util;
+
+/**
+ * helper class which allows to deal with loops which have to keep track
+ * of two running loop variables one being the total counter
+ * oune being a counter which is modulated
+ */
+public class ExtendedLoopCnt {
+    int _cnt = 0;
+    int _totalCnt = 0;
+    int _delimiter = 0;
+
+    public ExtendedLoopCnt(int cnt, int totalCnt, int cntDelimiter) {
+        _cnt = cnt;
+        _totalCnt = totalCnt;
+        _delimiter = cntDelimiter;
+    }
+
+    public final int getCnt() {
+        return _cnt;
+    }
+
+    public final int getTotalCnt() {
+        return _totalCnt;
+    }
+
+    public final int incCnt() {
+        _cnt = (_cnt + 1) % _delimiter;
+        return _cnt;
+    }
+
+    public final int incTotalCnt() {
+        _totalCnt++;
+        return _totalCnt;
+    }
+}

Propchange: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/util/ExtendedLoopCnt.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/util/ExtendedLoopCnt.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/refresh/ReloadingMetadata.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/refresh/ReloadingMetadata.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/refresh/ReloadingMetadata.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/refresh/ReloadingMetadata.java Fri Dec 25 14:37:26 2009
@@ -95,9 +95,7 @@
     }
 
     public void setSourcePath(String sourcePath) {
-        if(sourcePath.endsWith(".java")) {
-            System.out.println("Debugpoint found");
-        }
+        
         this.sourcePath = sourcePath;
     }
 

Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/CustomChainLoader.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/CustomChainLoader.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/CustomChainLoader.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/CustomChainLoader.java Fri Dec 25 14:37:26 2009
@@ -112,9 +112,7 @@
         else if (name.startsWith("org.apache") && !name.startsWith("org.apache.myfaces")) {
             return null;
         }
-        if(name.contains("Blog")) {
-            System.out.println("Debugpoint found");
-        }
+       
         return scriptingWeaver.loadScriptingClassFromName(name);
     }
 

Modified: myfaces/extensions/scripting/trunk/core/myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java Fri Dec 25 14:37:26 2009
@@ -34,10 +34,8 @@
 import javax.faces.el.*;
 import javax.faces.event.ActionListener;
 import javax.faces.validator.Validator;
-import javax.servlet.ServletRequest;
 import java.lang.reflect.Proxy;
 import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * our decorating applicstion

Copied: myfaces/extensions/scripting/trunk/core/myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java (from r893862, myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java?p2=myfaces/extensions/scripting/trunk/core/myfaces12-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java&p1=myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java&r1=893862&r2=893864&rev=893864&view=diff
==============================================================================
    (empty)

Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java Fri Dec 25 14:37:26 2009
@@ -79,8 +79,8 @@
         //we might get 2 of our proxies in the delegate stack
 
         //the same goes for the rest of the factory stuff
-        if (!(elResolver instanceof ELResolverProxy_))
-            elResolver = new ELResolverProxy_(elResolver);
+        if (!(elResolver instanceof ELResolverProxy))
+            elResolver = new ELResolverProxy(elResolver);
         _delegate.addELResolver(elResolver);
     }
 
@@ -93,8 +93,8 @@
     public ELResolver getELResolver() {
         weaveDelegate();
         ELResolver retVal = _delegate.getELResolver();
-        if (!(retVal instanceof ELResolverProxy_)) {
-            retVal = new ELResolverProxy_(retVal);
+        if (!(retVal instanceof ELResolverProxy)) {
+            retVal = new ELResolverProxy(retVal);
         }
         return retVal;
 

Copied: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy.java (from r893862, myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy_.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy.java?p2=myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy.java&p1=myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy_.java&r1=893862&r2=893864&rev=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy_.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy.java Fri Dec 25 14:37:26 2009
@@ -36,9 +36,9 @@
  *
  * @author Werner Punz
  */
-public class ELResolverProxy_ extends ELResolver implements Decorated {
+public class ELResolverProxy extends ELResolver implements Decorated {
 
-    Log log = LogFactory.getLog(ELResolverProxy_.class);
+    Log log = LogFactory.getLog(ELResolverProxy.class);
     ELResolver _delegate = null;
 
     static ThreadLocal<Boolean> _getValue = new ThreadLocal<Boolean>();
@@ -124,7 +124,7 @@
     }
 
 
-    public ELResolverProxy_(ELResolver delegate) {
+    public ELResolverProxy(ELResolver delegate) {
         _delegate = delegate;
     }
 

Propchange: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ELResolverProxy.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BaseAnnotationScanListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BaseAnnotationScanListener.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BaseAnnotationScanListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BaseAnnotationScanListener.java Fri Dec 25 14:37:26 2009
@@ -39,6 +39,10 @@
 
     protected RuntimeConfig getRuntimeConfig() {
         final FacesContext facesContext = FacesContext.getCurrentInstance();
+        //runtime config not started
+        if(facesContext == null) {
+            return null;
+        }
         return RuntimeConfig.getCurrentInstance(facesContext.getExternalContext());
     }
 

Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/GenericAnnotationScanner.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/GenericAnnotationScanner.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/GenericAnnotationScanner.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/GenericAnnotationScanner.java Fri Dec 25 14:37:26 2009
@@ -18,13 +18,18 @@
  */
 package org.apache.myfaces.scripting.jsf2.annotation;
 
+import org.apache.commons.logging.Log;
+import org.apache.myfaces.config.impl.digester.elements.FacesConfig;
+import org.apache.myfaces.groovyloader.core.GroovyWeaver;
 import org.apache.myfaces.scripting.api.AnnotationScanListener;
 import org.apache.myfaces.scripting.api.ClassScanListener;
 import org.apache.myfaces.scripting.api.ClassScanner;
 import org.apache.myfaces.scripting.api.ScriptingWeaver;
 import org.apache.myfaces.scripting.core.util.WeavingContext;
+import org.apache.myfaces.scripting.loaders.java.JavaScriptingWeaver;
 import org.apache.myfaces.scripting.refresh.ReloadingMetadata;
 
+import javax.faces.context.FacesContext;
 import java.util.*;
 
 /**
@@ -101,19 +106,37 @@
      * on the found data
      */
     public void scanPaths() {
-        //TODO move this over to a binary scan system
         //https://issues.apache.org/jira/browse/EXTSCRIPT-33
+
+        //check if the faces config is already available otherwise we cannot scan yet
+       final FacesContext facesContext = FacesContext.getCurrentInstance();
+        //runtime config not started
+        //for now we only can reache the runtime config in the referenced BaseAnnotatonScanListener
+        //if we have a facesContext reachable.
+        if(facesContext == null) {
+            //TODO decouple the scan in the BaseAnnotationScanListener from the facesConfig
+            //to get the runtime config
+            return;
+        }
+
         for (String className : _weaver.loadPossibleDynamicClasses()) {
             Class clazz = _weaver.loadScriptingClassFromName(className);
             //called already by loadScriptingClassFromName
-            /*if(clazz != null) {
+
+
+            //TODO unify this, problem is due to the initial class dependency scan
+            //we already have the classes but unlike in groovy they are not tainted
+            //hence we do not have the annotations yet scanned
+            //in groovy we have the initial scan not done hence
+            //the annotations are scanned on the fly!
+            if(clazz != null &&  !(_weaver instanceof GroovyWeaver)) {
                java.lang.annotation.Annotation[] anns = clazz.getAnnotations();
                 if (anns != null && anns.length > 0) {
                     addOrMoveAnnotations(clazz);
                 } else {
                     removeAnnotations(clazz);
                 }
-            }*/
+            }
         }
 
     }

Copied: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java (from r893862, myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java?p2=myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java&p1=myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java&r1=893862&r2=893864&rev=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java Fri Dec 25 14:37:26 2009
@@ -21,17 +21,16 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
 import org.apache.myfaces.scripting.api.Configuration;
-import org.apache.myfaces.webapp.StartupListener;
+import org.apache.myfaces.scripting.api.ScriptingConst;
+import org.apache.myfaces.scripting.api.ScriptingWeaver;
 import org.apache.myfaces.scripting.core.util.ClassUtils;
 import org.apache.myfaces.scripting.core.util.WeavingContext;
-import org.apache.myfaces.scripting.api.ScriptingWeaver;
-import org.apache.myfaces.scripting.api.ScriptingConst;
 import org.apache.myfaces.scripting.refresh.RefreshContext;
+import org.apache.myfaces.webapp.StartupListener;
 
-import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**
@@ -72,9 +71,9 @@
      * @param weaver our weaver which reveices the trigger calls
      */
     private final void initInitialCompileAndScan(ScriptingWeaver weaver) {
-        log.info("[EXT-SCRIPTING] Compiling all sources for the first time");
+        //log.info("[EXT-SCRIPTING] Compiling all sources for the first time");
         weaver.requestRefresh();
-        weaver.fullClassScan();
+        //weaver.fullClassScan();
     }
 
     /**

Propchange: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/servlet/StartupServletContextPluginChainLoader.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/Blog.groovy
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/Blog.groovy?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/Blog.groovy (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/Blog.groovy Fri Dec 25 14:37:26 2009
@@ -29,7 +29,7 @@
 
     Log log = LogFactory.getLog(Blog.class)
 
-    String title = "Hello to the myfaces dynamic blogging"
+    String title = "Hello to the myfaces dynamic blogging "
     String title1 = "You can alter the code for this small blogging application on the fly, you even can add new classes on the fly and Grooy will pick it up"
 
     String firstName = ""
@@ -41,7 +41,6 @@
     public String addEntry() {
         log.info("adding entry");
 
-
         def service = JSFUtil.resolveVariable("blogService")
 
         if (service == null) {

Modified: myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogEntry.groovy
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogEntry.groovy?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogEntry.groovy (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogEntry.groovy Fri Dec 25 14:37:26 2009
@@ -28,4 +28,5 @@
     String topic = ""
     String content = ""
 
+  
 }
\ No newline at end of file

Modified: myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy Fri Dec 25 14:37:26 2009
@@ -31,7 +31,7 @@
 
     public void addEntry(def entry) {
         Log log = LogFactory.getLog(BlogService.class)
-        log.info("Adding entry reloaded 3")
+        log.info("Adding entry")
         blogEntries << entry
     }
 

Modified: myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/Blog.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/Blog.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/Blog.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/Blog.java Fri Dec 25 14:37:26 2009
@@ -20,10 +20,8 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.myfaces.scripting.loaders.java.ScriptingClass;
 
 import static org.apache.myfaces.javaloader.blog.JSFUtil.*;
-import static org.apache.myfaces.scripting.core.util.ReflectUtil.*;
 
 /**
  * @author werpu2

Modified: myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogEntry.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogEntry.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogEntry.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogEntry.java Fri Dec 25 14:37:26 2009
@@ -26,17 +26,10 @@
  */
 public class BlogEntry {
 
-
-
-
-    
-    
-    String firstName = "";
-
-    String lastName = "";
-    String topic = "";
-
-    String content = "";
+    String firstName    =   "";
+    String lastName     =   "";
+    String topic        =   "";
+    String content      =   "";
 
     
     public String getFirstName() {

Modified: myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogService.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogService.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogService.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogService.java Fri Dec 25 14:37:26 2009
@@ -18,8 +18,6 @@
  */
 package org.apache.myfaces.javaloader.blog;
 
-import org.apache.myfaces.scripting.loaders.java.ScriptingClass;
-
 import java.util.List;
 import java.util.LinkedList;
 import java.util.Collections;

Modified: myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/JSFUtil.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/JSFUtil.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/JSFUtil.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/JSFUtil.java Fri Dec 25 14:37:26 2009
@@ -23,10 +23,7 @@
 
 
 import javax.faces.context.FacesContext;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
 
-import static org.apache.myfaces.scripting.core.util.ClassUtils.*;
 import static org.apache.myfaces.scripting.core.util.ReflectUtil.*;
 
 

Modified: myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java Fri Dec 25 14:37:26 2009
@@ -1,7 +1,5 @@
 package org.apache.myfaces.javaloader.test;
 
-import org.apache.myfaces.scripting.loaders.java.ScriptingClass;
-
 
 public class TestBean2 {
     String sayHello = "hello worldgggg";

Modified: myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/web.xml?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/web.xml (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/web.xml Fri Dec 25 14:37:26 2009
@@ -45,7 +45,7 @@
         <param-value>org.apache.myfaces.scripting.servlet.StartupServletContextPluginChainLoader</param-value>
     </context-param>
 
-
+    <!--
     <context-param>
         <description>Additional comma separated loader paths to allow direct editing on the sources directory instead
             of the deployment dir
@@ -65,7 +65,8 @@
             /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces12-example/src/main/webapp/WEB-INF/java
         </param-value>
     </context-param>
-    
+    -->
+
     <!--
     <context-param>
         <description>Additional comma separated loader paths to allow direct editing on the sources directory instead

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogEntry.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogEntry.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogEntry.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogEntry.java Fri Dec 25 14:37:26 2009
@@ -60,6 +60,7 @@
         return content;
     }
 
+    
     public void setContent(String content) {
         this.content = content;
     }

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogService.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogService.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogService.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/BlogService.java Fri Dec 25 14:37:26 2009
@@ -49,6 +49,7 @@
     public void addEntry(BlogEntry entry) {
         if (entry != null) {
             blogEntries.add(entry);
+
         }
     }
 

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer1.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer1.java?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer1.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer1.java Fri Dec 25 14:37:26 2009
@@ -42,13 +42,13 @@
  * the annotation is dynamic you can change it on the fly or move it from one
  * class to the other
  */
- @FacesRenderer(componentFamily = "javax.faces.Input", rendererType = "at.irian.JavaTestRenderer")
+@FacesRenderer(componentFamily = "javax.faces.Input", rendererType = "at.irian.JavaTestRenderer")
  
   public class JavaTestRenderer1 extends HtmlTextRendererBase {
 
     static Log log = LogFactory.getLog(JavaTestRenderer1.class);
 
-    private static final String MSG2 = " Hello world from Renderer 1   ";
+    private static final String MSG2 = "Hello world from Renderer 1   ";
 
     public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
         super.encodeBegin(context, component);

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/web.xml?rev=893864&r1=893863&r2=893864&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/web.xml (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/web.xml Fri Dec 25 14:37:26 2009
@@ -54,6 +54,7 @@
         </param-value>
     </context-param>
     -->
+
     <!--
      <context-param>
         <description>Additional comma separated loader paths to allow direct editing on the sources directory instead