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/16 17:21:04 UTC

svn commit: r891288 - in /myfaces/extensions/scripting/trunk: core/core/src/main/groovy/org/apache/myfaces/groovyloader/core/ core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/ core/myfaces2-extensions/src/main/java/org/apache/myfaces/s...

Author: werpu
Date: Wed Dec 16 16:21:03 2009
New Revision: 891288

URL: http://svn.apache.org/viewvc?rev=891288&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-30
annotations on the groovy side should work now are not fully tested yet
but first examples work

Added:
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/GenericAnnotationScanner.java   (contents, props changed)
      - copied, changed from r891262, myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/JavaAnnotationScanner.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService2.groovy
      - copied, changed from r891262, myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy
Removed:
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/JavaAnnotationScanner.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/loaders/java/JavaScriptingWeaver.java
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/faces-config.xml
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/Blog.groovy
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogEntry.groovy
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy
    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/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer2.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/blog.xhtml
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/javablog.xhtml

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=891288&r1=891287&r2=891288&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 Wed Dec 16 16:21:03 2009
@@ -28,6 +28,10 @@
 import org.apache.myfaces.scripting.refresh.FileChangedDaemon
 import org.apache.myfaces.scripting.core.util.WeavingContext
 import org.apache.myfaces.groovyloader.core.GroovyGlobalReloadingStrategy
+import org.apache.myfaces.scripting.api.AnnotationScanner
+import org.apache.myfaces.scripting.core.util.Cast
+import org.apache.myfaces.scripting.core.util.ReflectUtil
+import org.apache.myfaces.scripting.core.util.ClassUtils
 
 /**
  * Weaver  which does dynamic class reloading
@@ -48,6 +52,8 @@
 
     static ThreadLocal _groovyClassLoaderHolder = new ThreadLocal();
     DynamicClassIdentifier identifier = new DynamicClassIdentifier()
+    AnnotationScanner _scanner = null;
+
 
 
     public GroovyWeaver() {
@@ -61,6 +67,20 @@
         //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 = (AnnotationScanner) ReflectUtil.instantiate(scanner, params);
+
+        } catch (ClassNotFoundException e) {
+            //we do nothing here
+        }
+
     }
 
     /**
@@ -108,6 +128,9 @@
             refreshReloadingMetaData(sourceRoot, file, currentClassFile, retVal, ScriptingConst.ENGINE_TYPE_GROOVY);
         }
 
+        if (_scanner != null && retVal != null) {
+            _scanner.scanClass(retVal);
+        }
 
         return retVal
 
@@ -138,12 +161,19 @@
     }
 
     public void fullRecompile() {
-        //TODO probably not needed because the groovy classloader takes care of everything itself
-        //the tainting does the rest but we have to check it for the annotations
+        // 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 fullAnnotationScan() {
+        if (_scanner == null) {
+            return;
+        }
+        _scanner.scanPaths();
+    }
 
 }

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=891288&r1=891287&r2=891288&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 Wed Dec 16 16:21:03 2009
@@ -76,7 +76,7 @@
         //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.JavaAnnotationScanner");
+            Class scanner = ClassUtils.getContextClassLoader().loadClass("org.apache.myfaces.scripting.jsf2.annotation.GenericAnnotationScanner");
             this._scanner = (AnnotationScanner) ReflectUtil.instantiate(scanner, new Cast(ScriptingWeaver.class, this));
 
         } catch (ClassNotFoundException e) {

Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java?rev=891288&r1=891287&r2=891288&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java Wed Dec 16 16:21:03 2009
@@ -59,7 +59,12 @@
         String annotationName = ann.getClass().getName();
 
         RuntimeConfig config = getRuntimeConfig();
-        String beanName = (String) ReflectUtil.executeMethod(ann.annotationType(), "getName");
+
+        javax.faces.bean.ManagedBean annCasted = (javax.faces.bean.ManagedBean) ann;
+
+        String beanName = annCasted.name();
+
+        
         beanName = beanName.replaceAll("\"", "");
         if (!hasToReregister(beanName, clazz)) {
             return;

Copied: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/GenericAnnotationScanner.java (from r891262, myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/JavaAnnotationScanner.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?p2=myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/GenericAnnotationScanner.java&p1=myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/JavaAnnotationScanner.java&r1=891262&r2=891288&rev=891288&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/JavaAnnotationScanner.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/GenericAnnotationScanner.java Wed Dec 16 16:21:03 2009
@@ -40,7 +40,7 @@
  *          wherever possible
  */
 
-public class JavaAnnotationScanner extends BaseAnnotationScanListener implements AnnotationScanner {
+public class GenericAnnotationScanner extends BaseAnnotationScanListener implements AnnotationScanner {
 
     List<AnnotationScanListener> _listeners = new LinkedList<AnnotationScanListener>();
 
@@ -51,20 +51,11 @@
     ScriptingWeaver _weaver = null;
 
 
-    public JavaAnnotationScanner() {
+    public GenericAnnotationScanner() {
         initDefaultListeners();
     }
 
-    public JavaAnnotationScanner(String... sourcePaths) {
-
-        for (String source : sourcePaths) {
-            _sourcePaths.addFirst(source);
-        }
-        initDefaultListeners();
-    }
-
-
-    public JavaAnnotationScanner(ScriptingWeaver weaver) {
+    public GenericAnnotationScanner(ScriptingWeaver weaver) {
         _weaver = weaver;
          initDefaultListeners();
     }
@@ -128,23 +119,7 @@
             }*/
         }
 
-
-        /*
-        initSourcePaths();
-        JavaSource[] sources = _builder.getSources();
-        for (JavaSource source : sources) {
-            JavaClass[] classes = source.getClasses();
-            for (JavaClass clazz : classes) {
-                Annotation[] anns = clazz.getAnnotations();
-                if (anns != null && anns.length > 0) {
-                    addOrMoveAnnotations(clazz, anns);
-                } else {
-                    removeAnnotations(clazz);
-                }
-            }
-
-        }*/
-    }
+   }
 
 
     /**

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

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

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/faces-config.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/faces-config.xml?rev=891288&r1=891287&r2=891288&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/faces-config.xml (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/faces-config.xml Wed Dec 16 16:21:03 2009
@@ -43,17 +43,7 @@
         <managed-bean-scope>request</managed-bean-scope>
     </managed-bean>
 -->    
-    <managed-bean>
-        <managed-bean-name>blogView</managed-bean-name>
-        <managed-bean-class>org.apache.myfaces.groovyloader.blog.Blog</managed-bean-class>
-        <managed-bean-scope>request</managed-bean-scope>
-    </managed-bean>
 
-    <managed-bean>
-        <managed-bean-name>blogService</managed-bean-name>
-        <managed-bean-class>org.apache.myfaces.groovyloader.blog.BlogService</managed-bean-class>
-        <managed-bean-scope>application</managed-bean-scope>
-    </managed-bean>
 
     <managed-bean>
         <managed-bean-name>javaBlogView</managed-bean-name>

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-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/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/Blog.groovy?rev=891288&r1=891287&r2=891288&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/Blog.groovy (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/Blog.groovy Wed Dec 16 16:21:03 2009
@@ -21,9 +21,15 @@
 import org.apache.commons.logging.Log
 import org.apache.commons.logging.LogFactory
 import org.apache.myfaces.groovyloader.blog.JSFUtil;
-import org.apache.myfaces.groovyloader.blog.BlogService;
+import org.apache.myfaces.groovyloader.blog.BlogService
+import javax.faces.bean.ManagedBean
+import javax.faces.bean.SessionScoped
+import javax.faces.bean.RequestScoped;
 
 
+@ManagedBean(name = "blogView")
+@RequestScoped
+
 public class Blog {
     //bug application and session scoped beans  are not refreshed structurally yet
 
@@ -51,7 +57,7 @@
 
         }
 
-        def entry = new BlogEntry()
+        BlogEntry entry = new BlogEntry()
         //we now map it in the verbose way, the lean way would be to do direct introspection attribute mapping
 
         entry.firstName = firstName
@@ -60,6 +66,7 @@
         entry.content = content
 
 
+        
         service.addEntry(entry)
 
         //we stay on the same page

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-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/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogEntry.groovy?rev=891288&r1=891287&r2=891288&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogEntry.groovy (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogEntry.groovy Wed Dec 16 16:21:03 2009
@@ -28,4 +28,9 @@
     String topic = ""
     String content = ""
 
+    public String getTopic() {
+        return topic;
+    }
+
+
 }
\ No newline at end of file

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-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/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy?rev=891288&r1=891287&r2=891288&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy Wed Dec 16 16:21:03 2009
@@ -21,18 +21,26 @@
 import org.apache.myfaces.groovyloader.blog.BlogEntry;
 import java.util.List
 import org.apache.commons.logging.Log
-import org.apache.commons.logging.LogFactory;
-
-
+import org.apache.commons.logging.LogFactory
+import javax.faces.bean.ManagedBean
+import javax.faces.bean.ApplicationScoped;
 
 
+@ManagedBean(name = "blogService")
+@ApplicationScoped
 public class BlogService {
     List blogEntries = new ArrayList()
 
-    public void addEntry(def entry) {
+    public java.util.List getBlogEntries() {
+        return blogEntries
+    }
+
+    public void addEntry(BlogEntry entry) {
         Log log = LogFactory.getLog(BlogService.class)
-        log.info("Adding entry reloaded 3")
-        blogEntries << entry
+        log.info("Adding entry, topic: " + entry.topic)
+        blogEntries.add (entry)
+
+        log.info("blogentries size"+blogEntries.size())
     }
 
 }
\ No newline at end of file

Copied: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService2.groovy (from r891262, myfaces/extensions/scripting/trunk/examples/myfaces20-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/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService2.groovy?p2=myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService2.groovy&p1=myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy&r1=891262&r2=891288&rev=891288&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService.groovy (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy/org/apache/myfaces/groovyloader/blog/BlogService2.groovy Wed Dec 16 16:21:03 2009
@@ -21,18 +21,28 @@
 import org.apache.myfaces.groovyloader.blog.BlogEntry;
 import java.util.List
 import org.apache.commons.logging.Log
-import org.apache.commons.logging.LogFactory;
+import org.apache.commons.logging.LogFactory
+import javax.faces.bean.ManagedBean
+import javax.faces.bean.ApplicationScoped;
 
 
 
 
-public class BlogService {
+public class BlogService2 {
     List blogEntries = new ArrayList()
 
+    public java.util.List getBlogEntries() {
+        return blogEntries
+    }
+
     public void addEntry(def entry) {
         Log log = LogFactory.getLog(BlogService.class)
-        log.info("Adding entry reloaded 3")
-        blogEntries << entry
+        log.info("Adding entry, topic xxx: " + entry.topic)
+        blogEntries.add (entry)
+
+        log.info("blogentries size"+blogEntries.size())
     }
 
+
+    
 }
\ No newline at end of file

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=891288&r1=891287&r2=891288&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 Wed Dec 16 16:21:03 2009
@@ -42,7 +42,6 @@
  * 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")
  
   public class JavaTestRenderer1 extends HtmlTextRendererBase {
 

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer2.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/JavaTestRenderer2.java?rev=891288&r1=891287&r2=891288&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer2.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer2.java Wed Dec 16 16:21:03 2009
@@ -32,6 +32,9 @@
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
+
+ @FacesRenderer(componentFamily = "javax.faces.Input", rendererType = "at.irian.JavaTestRenderer")
+ 
 public class JavaTestRenderer2 extends HtmlTextareaRendererBase {
 
     private static final String MSG = "Hello world from Renderer 2  ";

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/blog.xhtml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/blog.xhtml?rev=891288&r1=891287&r2=891288&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/blog.xhtml (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/blog.xhtml Wed Dec 16 16:21:03 2009
@@ -30,11 +30,11 @@
             </h:panelGrid>
             <h:panelGrid columns = "1">
                 <h:outputText value = "Blog Entries" />
-                <t:dataList value = "#{blogService.blogEntries}" var = "item">
-
+                <ui:repeat value = "#{blogService.blogEntries}" var = "item">
+                    
                     <h:outputText value = "#{item.topic}" />
                     <h:outputText value = "#{item.content}" /><br />
-                </t:dataList>
+                </ui:repeat>
             </h:panelGrid>
 
         </h:form>

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/javablog.xhtml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/javablog.xhtml?rev=891288&r1=891287&r2=891288&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/javablog.xhtml (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/javablog.xhtml Wed Dec 16 16:21:03 2009
@@ -37,7 +37,7 @@
             <h:panelGrid columns = "1">
                 <h:outputText value = "Blog Entries" />
                 <ui:repeat value = "#{javaBlogService.blogEntries}" var = "item">
-
+                    xxx
                     <h:outputText value = "#{item.topic}" />
                     <h:outputText value = "#{item.content}" /><br />
                 </ui:repeat>