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 2012/11/28 15:14:57 UTC

svn commit: r1414715 - in /myfaces/extensions/scripting/trunk: ./ extscript-core-root/ extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/adapters/ extscript-core-root/extscript-cdi/src/main/java/org/apache/myfa...

Author: werpu
Date: Wed Nov 28 14:14:54 2012
New Revision: 1414715

URL: http://svn.apache.org/viewvc?rev=1414715&view=rev
Log:
save state of affairs

Added:
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/adapters/
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/adapters/ClassLoaderServiceImpl.java
      - copied, changed from r1414709, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-mojarra/src/main/java/org/apache/myfaces/extensions/scripting/mojarra/adapters/ClassLoaderServiceImpl.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.ClassLoaderService_
    myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello.java
      - copied, changed from r1414709, myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/java/JavaHello.java
    myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello2.java
      - copied, changed from r1414709, myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/java/JavaHello.java
    myfaces/extensions/scripting/trunk/src/site/mdtext/mojarra.mdtext
    myfaces/extensions/scripting/trunk/src/site/resources/images/mojarra-support.jpg
    myfaces/extensions/scripting/trunk/src/site/xdoc/mojarra.xml
Removed:
    myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/java/JavaHello.java
Modified:
    myfaces/extensions/scripting/trunk/.gitignore
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ExtScriptScannerService.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-mojarra/src/main/java/org/apache/myfaces/extensions/scripting/mojarra/adapters/ClassLoaderServiceImpl.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/ClassLoaderServiceImpl.java
    myfaces/extensions/scripting/trunk/extscript-core-root/pom.xml
    myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/helloWorld.xhtml
    myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-extscript-helloworld/src/main/webapp/WEB-INF/web.xml
    myfaces/extensions/scripting/trunk/src/site/mdtext/installation.mdtext

Modified: myfaces/extensions/scripting/trunk/.gitignore
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/.gitignore?rev=1414715&r1=1414714&r2=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/.gitignore (original)
+++ myfaces/extensions/scripting/trunk/.gitignore Wed Nov 28 14:14:54 2012
@@ -14,6 +14,7 @@ groovy-bin/*
 .idea
 atlassian-ide-plugin.xml
 pom.xml.versionsBackup
+data
 
 
 

Copied: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/adapters/ClassLoaderServiceImpl.java (from r1414709, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-mojarra/src/main/java/org/apache/myfaces/extensions/scripting/mojarra/adapters/ClassLoaderServiceImpl.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/adapters/ClassLoaderServiceImpl.java?p2=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/adapters/ClassLoaderServiceImpl.java&p1=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-mojarra/src/main/java/org/apache/myfaces/extensions/scripting/mojarra/adapters/ClassLoaderServiceImpl.java&r1=1414709&r2=1414715&rev=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-mojarra/src/main/java/org/apache/myfaces/extensions/scripting/mojarra/adapters/ClassLoaderServiceImpl.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/adapters/ClassLoaderServiceImpl.java Wed Nov 28 14:14:54 2012
@@ -17,9 +17,11 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.mojarra.adapters;
+package org.apache.myfaces.extensions.scripting.cdi.adapters;
 
+import org.apache.myfaces.extensions.scripting.cdi.core.CDIThrowAwayClassloader;
 import org.apache.myfaces.extensions.scripting.core.api.ClassLoaderService;
+import org.apache.myfaces.extensions.scripting.core.common.util.ClassLoaderUtils;
 import org.apache.myfaces.extensions.scripting.core.engine.ThrowAwayClassloader;
 
 /**
@@ -27,21 +29,20 @@ import org.apache.myfaces.extensions.scr
  * @version $Revision$ $Date$
  */
 
-public class ClassLoaderServiceImpl
-        implements ClassLoaderService
+public class ClassLoaderServiceImpl implements ClassLoaderService
 {
-    static ClassLoader _oldClassLoader = null;
+    volatile static ClassLoader _oldClassLoader = null;
 
-
-    static void internalRegisterThrowAwayClassloader()
+    @Override
+    public void registerThrowAwayClassloader()
     {
-        //we do not have the luxury of a pluggable classloading extensions like in myfaces
+         //we do not have the luxury of a pluggable classloading extensions like in myfaces
         // instead we have to provide our own classloader which is hooked in from time to time into the running system
-        ClassLoader loader = org.apache.myfaces.extensions.scripting.core.common.util.ClassLoaderUtils.getDefaultClassLoader();
+        ClassLoader loader = ClassLoaderUtils.getDefaultClassLoader();
         boolean found = false;
         ClassLoader parent = loader;
         while(parent != null && !found) {
-            found = parent instanceof ThrowAwayClassloader;
+            found = parent instanceof CDIThrowAwayClassloader;
             if(!found) {
                 parent = parent.getParent();
             }
@@ -53,20 +54,14 @@ public class ClassLoaderServiceImpl
         if(_oldClassLoader != null && loader.equals(_oldClassLoader.getParent())) {
             Thread.currentThread().setContextClassLoader(_oldClassLoader);
         } else {
-            _oldClassLoader = new ThrowAwayClassloader(loader);
+            _oldClassLoader = new CDIThrowAwayClassloader(loader);
             Thread.currentThread().setContextClassLoader(_oldClassLoader);
         }
     }
 
     @Override
-    public void registerThrowAwayClassloader()
-    {
-        internalRegisterThrowAwayClassloader();
-    }
-
-    @Override
     public int getPriority()
     {
-        return 0;  //default implementation, lowest priority
+        return 3;
     }
 }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ExtScriptScannerService.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ExtScriptScannerService.java?rev=1414715&r1=1414714&r2=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ExtScriptScannerService.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ExtScriptScannerService.java Wed Nov 28 14:14:54 2012
@@ -78,7 +78,7 @@ public class ExtScriptScannerService ext
         }
         catch (IOException e)
         {
-            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+            e.printStackTrace();
         }
     }
 
@@ -135,7 +135,14 @@ public class ExtScriptScannerService ext
         Set<String> listURL = new HashSet<String>();
 
         // Root with beans.xml marker.
-        String[] urls = findBeansXmlBases("META-INF/beans.xml", WebBeansUtil.getCurrentClassLoader());
+        ClassLoader classLoader = WebBeansUtil.getCurrentClassLoader();
+        if(classLoader instanceof CDIThrowAwayClassloader) {
+            classLoader = classLoader.getParent();
+            //for beans.xml discovery we use our old classloader
+            //because the new one fails at disovering
+            //TODO research this.
+        }
+        String[] urls = findBeansXmlBases("META-INF/beans.xml", classLoader);
 
         if (urls != null)
         {

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java?rev=1414715&r1=1414714&r2=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java Wed Nov 28 14:14:54 2012
@@ -19,7 +19,10 @@
 
 package org.apache.myfaces.extensions.scripting.cdi.startup;
 
+//import org.apache.myfaces.extensions.scripting.cdi.core.CDIThrowAwayClassloader;
+
 import org.apache.myfaces.extensions.scripting.cdi.core.CDIThrowAwayClassloader;
+import org.apache.myfaces.extensions.scripting.core.common.util.ClassLoaderUtils;
 
 import javax.enterprise.event.Observes;
 import javax.enterprise.inject.spi.AfterBeanDiscovery;
@@ -34,7 +37,7 @@ import javax.enterprise.inject.spi.Exten
  *          An extension for cdi which does the initial lifecycle
  *          trigger from CDI instead of JSF since CDI is enabled
  *          before JSF we have to do it that way
- *
+ *          <p/>
  *          Stage 1 of our startup cycle
  */
 
@@ -48,22 +51,21 @@ public class StartupExtension implements
         //the compile runs but not with the daemon thread
         //after that we can load the classes
         //by temporarily plugging in our throw away classloader
-
-        //TODO unify the classloader setup because mojarra cannot handle
-        //changing classloaders, we have to stay on one classloader for the entire system
         _classLoaderHolder.set(Thread.currentThread().getContextClassLoader());
 
-       Thread.currentThread().setContextClassLoader(new CDIThrowAwayClassloader(Thread.currentThread().getContextClassLoader()));
+        Thread.currentThread().setContextClassLoader(new CDIThrowAwayClassloader(Thread.currentThread().getContextClassLoader()));
+        //since we have an override we now register
+        //ClassLoaderUtils.getDefaultClassLoaderService().registerThrowAwayClassloader();
     }
 
     void afterBeanDiscovery(@Observes AfterBeanDiscovery abd)
     {
-        //here we unplug our temporary classloader
-    }
 
+    }
 
     void afterDeploymentValidation(@Observes AfterDeploymentValidation abv)
-      {
-            Thread.currentThread().setContextClassLoader(_classLoaderHolder.get());
-      }
+    {
+        //here we unplug our temporary classloader
+       Thread.currentThread().setContextClassLoader(_classLoaderHolder.get());
+    }
 }

Added: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.ClassLoaderService_
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.ClassLoaderService_?rev=1414715&view=auto
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.ClassLoaderService_ (added)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.ClassLoaderService_ Wed Nov 28 14:14:54 2012
@@ -0,0 +1 @@
+org.apache.myfaces.extensions.scripting.cdi.adapters.ClassLoaderServiceImpl
\ No newline at end of file

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-mojarra/src/main/java/org/apache/myfaces/extensions/scripting/mojarra/adapters/ClassLoaderServiceImpl.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-mojarra/src/main/java/org/apache/myfaces/extensions/scripting/mojarra/adapters/ClassLoaderServiceImpl.java?rev=1414715&r1=1414714&r2=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-mojarra/src/main/java/org/apache/myfaces/extensions/scripting/mojarra/adapters/ClassLoaderServiceImpl.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-mojarra/src/main/java/org/apache/myfaces/extensions/scripting/mojarra/adapters/ClassLoaderServiceImpl.java Wed Nov 28 14:14:54 2012
@@ -20,8 +20,12 @@
 package org.apache.myfaces.extensions.scripting.mojarra.adapters;
 
 import org.apache.myfaces.extensions.scripting.core.api.ClassLoaderService;
+import org.apache.myfaces.extensions.scripting.core.common.util.ClassLoaderUtils;
 import org.apache.myfaces.extensions.scripting.core.engine.ThrowAwayClassloader;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
@@ -32,39 +36,45 @@ public class ClassLoaderServiceImpl
 {
     static ClassLoader _oldClassLoader = null;
 
-
-    static void internalRegisterThrowAwayClassloader()
+    @Override
+    public void registerThrowAwayClassloader()
     {
         //we do not have the luxury of a pluggable classloading extensions like in myfaces
         // instead we have to provide our own classloader which is hooked in from time to time into the running system
-        ClassLoader loader = org.apache.myfaces.extensions.scripting.core.common.util.ClassLoaderUtils.getDefaultClassLoader();
+        final ClassLoader loader = ClassLoaderUtils.getDefaultClassLoader();
         boolean found = false;
         ClassLoader parent = loader;
-        while(parent != null && !found) {
+        while (parent != null && !found)
+        {
             found = parent instanceof ThrowAwayClassloader;
-            if(!found) {
+            if (!found)
+            {
                 parent = parent.getParent();
             }
         }
-        if(found) {
+        if (found)
+        {
             return;
         }
         //in case of an unchanged classloader we can recycle our old throw away classloader
-        if(_oldClassLoader != null && loader.equals(_oldClassLoader.getParent())) {
+        if (_oldClassLoader != null && loader.equals(_oldClassLoader.getParent()))
+        {
             Thread.currentThread().setContextClassLoader(_oldClassLoader);
-        } else {
-            _oldClassLoader = new ThrowAwayClassloader(loader);
+        } else
+        {
+            _oldClassLoader = (ClassLoader) AccessController.doPrivileged(
+                    new PrivilegedAction()
+                    {
+                        public Object run()
+                        {
+                            return new ThrowAwayClassloader(loader);
+                        }
+                    });
             Thread.currentThread().setContextClassLoader(_oldClassLoader);
         }
     }
 
     @Override
-    public void registerThrowAwayClassloader()
-    {
-        internalRegisterThrowAwayClassloader();
-    }
-
-    @Override
     public int getPriority()
     {
         return 0;  //default implementation, lowest priority

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/ClassLoaderServiceImpl.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/ClassLoaderServiceImpl.java?rev=1414715&r1=1414714&r2=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/ClassLoaderServiceImpl.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/ClassLoaderServiceImpl.java Wed Nov 28 14:14:54 2012
@@ -24,8 +24,12 @@ package org.apache.myfaces.extensions.sc
  * @version $Revision$ $Date$
  */
 
+import org.apache.myfaces.extensions.scripting.core.common.util.ClassLoaderUtils;
 import org.apache.myfaces.extensions.scripting.core.engine.ThrowAwayClassloader;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
@@ -37,11 +41,12 @@ public class ClassLoaderServiceImpl
 {
     static ClassLoader _oldClassLoader = null;
 
-    static void internalRegisterThrowAwayClassloader()
+    @Override
+    public void registerThrowAwayClassloader()
     {
         //we do not have the luxury of a pluggable classloading extensions like in myfaces
         // instead we have to provide our own classloader which is hooked in from time to time into the running system
-        ClassLoader loader = org.apache.myfaces.extensions.scripting.core.common.util.ClassLoaderUtils.getDefaultClassLoader();
+        final ClassLoader loader = ClassLoaderUtils.getDefaultClassLoader();
         boolean found = false;
         ClassLoader parent = loader;
         while (parent != null && !found)
@@ -62,20 +67,21 @@ public class ClassLoaderServiceImpl
             Thread.currentThread().setContextClassLoader(_oldClassLoader);
         } else
         {
-            _oldClassLoader = new ThrowAwayClassloader(loader);
+            _oldClassLoader = (ClassLoader) AccessController.doPrivileged(
+                    new PrivilegedAction()
+                    {
+                        public Object run()
+                        {
+                            return new ThrowAwayClassloader(loader);
+                        }
+                    });
             Thread.currentThread().setContextClassLoader(_oldClassLoader);
         }
     }
 
     @Override
-    public void registerThrowAwayClassloader()
-    {
-        internalRegisterThrowAwayClassloader();
-    }
-
-    @Override
     public int getPriority()
     {
-        return 0;  //zero means we easily can override this one
+        return 0;  //default implementation, lowest priority
     }
 }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/pom.xml?rev=1414715&r1=1414714&r2=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/pom.xml (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/pom.xml Wed Nov 28 14:14:54 2012
@@ -45,7 +45,9 @@
         <module>extscript-cdi</module>
         <module>extscript-spring</module>
         <module>extscript-myfaces</module>
+        <!--
         <module>extscript-mojarra</module>
+        -->
         <!--
         <module>extscript-weld</module>
         -->

Copied: myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello.java (from r1414709, myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/java/JavaHello.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello.java?p2=myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello.java&p1=myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/java/JavaHello.java&r1=1414709&r2=1414715&rev=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/java/JavaHello.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello.java Wed Nov 28 14:14:54 2012
@@ -30,7 +30,7 @@ import javax.inject.Named;
 @Named
 public class JavaHello
 {
-    String helloWorld = "Hello world from Java Bean";
+    String helloWorld = "Hello world from a dynamic Java Bean";
 
     public String getHelloWorld()
     {

Copied: myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello2.java (from r1414709, myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/java/JavaHello.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello2.java?p2=myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello2.java&p1=myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/java/JavaHello.java&r1=1414709&r2=1414715&rev=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/java/JavaHello.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/WEB-INF/java/JavaHello2.java Wed Nov 28 14:14:54 2012
@@ -17,20 +17,17 @@
  * under the License.
  */
 
-
-
-import javax.inject.Named;
-
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *
- * Hello world CDI Java Bean for testing purposes
  */
-@Named
-public class JavaHello
+
+import javax.faces.bean.ManagedBean;
+
+@ManagedBean
+public class JavaHello2
 {
-    String helloWorld = "Hello world from Java Bean";
+    String helloWorld = "booga";
 
     public String getHelloWorld()
     {

Modified: myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/helloWorld.xhtml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/helloWorld.xhtml?rev=1414715&r1=1414714&r2=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/helloWorld.xhtml (original)
+++ myfaces/extensions/scripting/trunk/extscript-examples/cdi-example/src/main/webapp/helloWorld.xhtml Wed Nov 28 14:14:54 2012
@@ -28,6 +28,7 @@
 <h:body>
 
     <h:outputText value="hello: #{javaHello.helloWorld}" />
-
+    <br />
+    <h:outputText value="hello: #{javaHello2.helloWorld}" />
 </h:body>
 </html>

Modified: myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-extscript-helloworld/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-extscript-helloworld/src/main/webapp/WEB-INF/web.xml?rev=1414715&r1=1414714&r2=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-extscript-helloworld/src/main/webapp/WEB-INF/web.xml (original)
+++ myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-extscript-helloworld/src/main/webapp/WEB-INF/web.xml Wed Nov 28 14:14:54 2012
@@ -38,7 +38,7 @@
         <param-value>org.apache.myfaces.extensions.scripting.jsf.startup.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
@@ -80,7 +80,7 @@
               /Users/werpu2/development/workspace/extscript_trunk/extscript-examples/myfaces20-extscript-helloworld/target/myfaces20-extscript-helloworld-1.0.5-SNAPSHOT/WEB-INF/classes</param-value>
       </context-param>
 
-
+      -->
     <!--
     <context-param>
         <description>Additional comma separated loader paths to allow direct editing on the source

Modified: myfaces/extensions/scripting/trunk/src/site/mdtext/installation.mdtext
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/src/site/mdtext/installation.mdtext?rev=1414715&r1=1414714&r2=1414715&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/src/site/mdtext/installation.mdtext (original)
+++ myfaces/extensions/scripting/trunk/src/site/mdtext/installation.mdtext Wed Nov 28 14:14:54 2012
@@ -309,8 +309,7 @@
        This parameter points to the root of your dynamic resources, usually the same dir
                        as the root of your web application.
    </li>
-   <li><b>facelets.RESOURCE_RESOLVER</b> also needs to be set to <b>org.apache.myfaces.extensions.scripting.jsf.facelet.
-   ReroutingResourceResolver</b> if
+   <li><b>facelets.RESOURCE_RESOLVER</b> also needs to be set to <b>org.apache.myfaces.extensions.scripting.jsf.facelet.ReroutingResourceResolver</b> if
    you want dynamic Facelet reloading enabled</li>
 </ul>
     <!-- ======================================================================================

Added: myfaces/extensions/scripting/trunk/src/site/mdtext/mojarra.mdtext
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/src/site/mdtext/mojarra.mdtext?rev=1414715&view=auto
==============================================================================
--- myfaces/extensions/scripting/trunk/src/site/mdtext/mojarra.mdtext (added)
+++ myfaces/extensions/scripting/trunk/src/site/mdtext/mojarra.mdtext Wed Nov 28 14:14:54 2012
@@ -0,0 +1,126 @@
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+ 
+ 
+#General Information
+ As of Ext-Scripting 1.0.5 basic Mojarra support has been implemented.
+ For now not the entire spectrum of services Ext-Scripting provides are enabled for Mojarra
+ but basic Ext-Scripting works out of the box.
+ Following compatibility diagram shows what
+ is provided for Mojarra and what is provided for MyFaces.
+ ![](images/mojarra-support.jpg)
+ Image: Mojarra compatibility
+ 
+#Setup Steps
+ The setup is fairly straight forward.
+ 
+ Add the support jars (extscript-mojarra-bundle.jar) and setup your loader paths
+ just like you would do it for MyFaces.
+ The main difference is setting up the loader paths for Mojarra is mandatory.
+ 
+ The mandatory loader paths are needed to avoid conflicts with Mojarras internal Groovy
+ support which utilizes the same paths. (This was a design decision to keep Mojarra compatibility
+ at a time Mojarra support was not really under discussion)
+ So here is an example configuration for Mojarra:
+
+    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+             version="3.0">
+          <!-- ======================================================================================
+                Loader path for Groovy files
+             ====================================================================================== -->
+        <context-param>
+            <description>Additional comma separated loader paths to allow direct editing on the sources directory instead
+                of the deployment dir
+            </description>
+            <param-name>org.apache.myfaces.extensions.scripting.groovy.LOADER_PATHS</param-name>
+            <param-value>
+                /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy
+            </param-value>
+        </context-param>
+        <!-- ======================================================================================
+                Optional Loader Paths for Java Source Files
+             ====================================================================================== -->
+        <context-param>
+            <description>Additional comma separated loader paths to allow direct editing on the sources directory instead
+                of the deployment dir
+            </description>
+            <param-name>org.apache.myfaces.extensions.scripting.java.LOADER_PATHS</param-name>
+            <param-value>
+                /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces20-example/src/main/webapp/WEB-INF/java
+            </param-value>
+        </context-param>
+        <!-- ======================================================================================
+                Loader path for Scala files
+             ====================================================================================== -->
+        <context-param>
+            <description>Additional comma separated loader paths to allow direct editing on the sources directory instead
+                of the deployment dir
+            </description>
+            <param-name>org.apache.myfaces.extensions.scripting.scala.LOADER_PATHS</param-name>
+            <param-value>
+                /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces20-example/src/main/webapp/WEB-INF/scala
+            </param-value>
+        </context-param>
+        <!-- ======================================================================================
+                Optional Loader Paths for resource files
+             ====================================================================================== -->
+        <context-param>
+            <description>resource paths for our custom JSF2 resource resolver</description>
+            <param-name>org.apache.myfaces.extensions.scripting.resources.LOADER_PATHS</param-name>
+            <param-value>
+                /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces20-example/src/main/webapp
+            </param-value>
+        </context-param>
+        <!-- ======================================================================================
+                Optional: Tell Facelets to load the resources from your source dir
+             ====================================================================================== -->
+        <context-param>
+            <description>a redirecting Facelet resource resolver which allows to pick up templates and resources from our
+                source dir
+            </description>
+            <param-name>facelets.RESOURCE_RESOLVER</param-name>
+            <param-value>org.apache.myfaces.extensions.scripting.jsf.facelet.ReroutingResourceResolver</param-value>
+        </context-param>
+        <!-- ======================================================================================
+                Optional: Whitelist of root packages where your sources should come from
+             ====================================================================================== -->
+        <context-param>
+            <description>a comma separated whitelist of root packages which are compiled those and nothing else
+                will be compiled during all compile stages, all other files stay permanently as they are
+            </description>
+            <param-name>org.apache.myfaces.extensions.scripting.PGK_WHITELIST</param-name>
+            <param-value>org.apache.myfaces.groovyloader.blog,org.apache.myfaces.javaloader.blog</param-value>
+        </context-param>
+        <!-- ======================================================================================
+                Optional Additional Classpath
+             ====================================================================================== -->
+        <context-param>
+            <description>
+                Additional Classpaths which will be added to the compilers classpath
+            </description>
+            <param-name>org.apache.myfaces.extensions.scripting.PGK_ADDITIONAL_CLASSPATH</param-name>
+            <param-value>/usr/lib/java/myjar.jar,/usr/lib/java/myjar2.jar</param-value>
+        </context-param>
+        ... faces config entries
+    </webapp>
+                
+ 
+ 

Added: myfaces/extensions/scripting/trunk/src/site/resources/images/mojarra-support.jpg
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/src/site/resources/images/mojarra-support.jpg?rev=1414715&view=auto
==============================================================================
Files myfaces/extensions/scripting/trunk/src/site/resources/images/mojarra-support.jpg (added) and myfaces/extensions/scripting/trunk/src/site/resources/images/mojarra-support.jpg Wed Nov 28 14:14:54 2012 differ

Added: myfaces/extensions/scripting/trunk/src/site/xdoc/mojarra.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/src/site/xdoc/mojarra.xml?rev=1414715&view=auto
==============================================================================
--- myfaces/extensions/scripting/trunk/src/site/xdoc/mojarra.xml (added)
+++ myfaces/extensions/scripting/trunk/src/site/xdoc/mojarra.xml Wed Nov 28 14:14:54 2012
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<document>
+    <properties>
+        <title>Using Ext-Scripting with Mojarra</title>
+    </properties>
+
+    <body>
+        <section name="General Information">
+            As of Ext-Scripting 1.0.5 basic Mojarra support has been implemented.
+            For now not the entire spectrum of services Ext-Scripting provides are enabled for Mojarra
+            but basic Ext-Scripting works out of the box.
+            Following compatibility diagram shows what
+            is provided for Mojarra and what is provided for MyFaces.
+            <center><img src="images/mojarra-support.jpg" /></center>
+            Image: Mojarra compatibility
+        </section>
+
+
+        <section name="Setup Steps">
+            The setup is fairly straight forward.
+            <p/>
+            Add the support jars (extscript-mojarra-bundle.jar) and setup your loader paths
+            just like you would do it for MyFaces.
+            The main difference is setting up the loader paths for Mojarra is <b>mandatory</b>.
+            <p/>
+            The mandatory loader paths are needed to avoid conflicts with Mojarras internal Groovy
+            support which utilizes the same paths. (This was a design decision to keep Mojarra compatibility
+            at a time Mojarra support was not really under discussion)
+
+            So here is an example configuration for Mojarra:
+            <source><![CDATA[
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+         version="3.0">
+
+      <!-- ======================================================================================
+            Loader path for Groovy files
+         ====================================================================================== -->
+    <context-param>
+        <description>Additional comma separated loader paths to allow direct editing on the sources directory instead
+            of the deployment dir
+        </description>
+        <param-name>org.apache.myfaces.extensions.scripting.groovy.LOADER_PATHS</param-name>
+        <param-value>
+            /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy
+        </param-value>
+    </context-param>
+
+    <!-- ======================================================================================
+            Optional Loader Paths for Java Source Files
+         ====================================================================================== -->
+    <context-param>
+        <description>Additional comma separated loader paths to allow direct editing on the sources directory instead
+            of the deployment dir
+        </description>
+        <param-name>org.apache.myfaces.extensions.scripting.java.LOADER_PATHS</param-name>
+        <param-value>
+            /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces20-example/src/main/webapp/WEB-INF/java
+        </param-value>
+    </context-param>
+    <!-- ======================================================================================
+            Loader path for Scala files
+         ====================================================================================== -->
+    <context-param>
+        <description>Additional comma separated loader paths to allow direct editing on the sources directory instead
+            of the deployment dir
+        </description>
+        <param-name>org.apache.myfaces.extensions.scripting.scala.LOADER_PATHS</param-name>
+        <param-value>
+            /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces20-example/src/main/webapp/WEB-INF/scala
+        </param-value>
+    </context-param>
+
+    <!-- ======================================================================================
+            Optional Loader Paths for resource files
+         ====================================================================================== -->
+    <context-param>
+        <description>resource paths for our custom JSF2 resource resolver</description>
+        <param-name>org.apache.myfaces.extensions.scripting.resources.LOADER_PATHS</param-name>
+        <param-value>
+            /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces20-example/src/main/webapp
+        </param-value>
+    </context-param>
+
+    <!-- ======================================================================================
+            Optional: Tell Facelets to load the resources from your source dir
+         ====================================================================================== -->
+    <context-param>
+        <description>a redirecting Facelet resource resolver which allows to pick up templates and resources from our
+            source dir
+        </description>
+        <param-name>facelets.RESOURCE_RESOLVER</param-name>
+        <param-value>org.apache.myfaces.extensions.scripting.jsf.facelet.ReroutingResourceResolver</param-value>
+    </context-param>
+
+    <!-- ======================================================================================
+            Optional: Whitelist of root packages where your sources should come from
+         ====================================================================================== -->
+    <context-param>
+        <description>a comma separated whitelist of root packages which are compiled those and nothing else
+            will be compiled during all compile stages, all other files stay permanently as they are
+        </description>
+        <param-name>org.apache.myfaces.extensions.scripting.PGK_WHITELIST</param-name>
+        <param-value>org.apache.myfaces.groovyloader.blog,org.apache.myfaces.javaloader.blog</param-value>
+    </context-param>
+
+    <!-- ======================================================================================
+            Optional Additional Classpath
+         ====================================================================================== -->
+    <context-param>
+        <description>
+            Additional Classpaths which will be added to the compilers classpath
+        </description>
+        <param-name>org.apache.myfaces.extensions.scripting.PGK_ADDITIONAL_CLASSPATH</param-name>
+        <param-value>/usr/lib/java/myjar.jar,/usr/lib/java/myjar2.jar</param-value>
+    </context-param>
+
+
+    ... faces config entries
+</webapp>
+            ]]></source>
+
+
+
+        </section>
+
+    </body>
+</document>
\ No newline at end of file