[jboss-cvs] JBossBlog SVN: r141 - in trunk: lib and 7 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Nov 28 07:50:56 EST 2007


Author: adamw
Date: 2007-11-28 07:50:56 -0500 (Wed, 28 Nov 2007)
New Revision: 141

Added:
   trunk/lib/jdom.jar
   trunk/lib/rome-0.9.jar
   trunk/src/action/org/jboss/blog/session/feed/FeedUpdate.java
   trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedUpdateBean.java
   trunk/src/action/org/jboss/blog/session/update/
   trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java
   trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java
   trunk/src/action/org/jboss/blog/session/update/UpdateManager.java
Modified:
   trunk/blog.iml
   trunk/resources/WEB-INF/components.xml
   trunk/src/action/org/jboss/blog/session/feed/FeedModBean.java
   trunk/src/action/org/jboss/blog/session/feed/FeedPosts.java
   trunk/src/action/org/jboss/blog/session/feed/FeedType.java
   trunk/src/action/org/jboss/blog/session/feed/FeedTypesBean.java
   trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java
   trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedPostsBean.java
   trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedTypeRegisterBean.java
   trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedTypeRegisterBean.java
   trunk/view/view/feed.xhtml
Log:


Modified: trunk/blog.iml
===================================================================
--- trunk/blog.iml	2007-11-27 10:01:42 UTC (rev 140)
+++ trunk/blog.iml	2007-11-28 12:50:56 UTC (rev 141)
@@ -10,6 +10,12 @@
         <deploymentDescriptor name="persistence.xml" url="file://$MODULE_DIR$/resources/META-INF/persistence-dev.xml" optional="false" version="1.0" />
       </configuration>
     </facet>
+    <facet type="hibernate" name="Hibernate">
+      <configuration>
+        <setting name="validation-enabled" value="true" />
+        <datasource-map />
+      </configuration>
+    </facet>
   </component>
   <component name="NewModuleRootManager" inherit-compiler-output="true">
     <exclude-output />
@@ -82,6 +88,15 @@
         <SOURCES />
       </library>
     </orderEntry>
+    <orderEntry type="module-library">
+      <library name="shotoku-cache">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/lib/shotoku-cache.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
     <orderEntryProperties />
   </component>
 </module>

Added: trunk/lib/jdom.jar
===================================================================
(Binary files differ)


Property changes on: trunk/lib/jdom.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/lib/rome-0.9.jar
===================================================================
(Binary files differ)


Property changes on: trunk/lib/rome-0.9.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/resources/WEB-INF/components.xml
===================================================================
--- trunk/resources/WEB-INF/components.xml	2007-11-27 10:01:42 UTC (rev 140)
+++ trunk/resources/WEB-INF/components.xml	2007-11-28 12:50:56 UTC (rev 141)
@@ -2,13 +2,15 @@
 <components xmlns="http://jboss.com/products/seam/components"
             xmlns:core="http://jboss.com/products/seam/core"
             xmlns:persistence="http://jboss.com/products/seam/persistence"
+            xmlns:async="http://jboss.com/products/seam/async"
             xmlns:drools="http://jboss.com/products/seam/drools"
             xmlns:bpm="http://jboss.com/products/seam/bpm"
             xmlns:security="http://jboss.com/products/seam/security"
             xmlns:mail="http://jboss.com/products/seam/mail"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation=
-                "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd 
+                    "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd
+                 http://jboss.com/products/seam/async http://jboss.com/products/seam/async-2.0.xsd
                  http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.0.xsd 
                  http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.0.xsd
                  http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.0.xsd
@@ -16,40 +18,42 @@
                  http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.0.xsd
                  http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.0.xsd">
 
-   <core:init debug="@debug@" jndi-pattern="@jndiPattern@"/>
-     
-   <core:manager concurrent-request-timeout="500" 
-                 conversation-timeout="120000" 
-                 conversation-id-parameter="cid"/>
-    
-   <persistence:managed-persistence-context name="entityManager"
-                                     auto-create="true"
-                      persistence-unit-jndi-name="java:/blogEntityManagerFactory"/>
+    <core:init debug="@debug@" jndi-pattern="@jndiPattern@"/>
 
-   <drools:rule-base name="securityRules">
-       <drools:rule-files>
-           <value>/security.drl</value>
-       </drools:rule-files>
-   </drools:rule-base>
+    <core:manager concurrent-request-timeout="500"
+                  conversation-timeout="120000"
+                  conversation-id-parameter="cid"/>
 
-   <security:identity authenticate-method="#{authenticator.authenticate}"
-                           security-rules="#{securityRules}"/>
-   
-   <event type="org.jboss.seam.notLoggedIn">
-       <action execute="#{redirect.captureCurrentView}"/>
-   </event>
-   <event type="org.jboss.seam.postAuthenticate">
-       <action execute="#{redirect.returnToCapturedView}"/>
-   </event>
-   
-   <mail:mail-session host="localhost" port="2525" username="test" password="test" />
-        
-   <!-- For use with jBPM pageflow or process management -->
-   <!--  
-   <bpm:jbpm>
-      <bpm:process-definitions></bpm:process-definitions>
-      <bpm:pageflow-definitions></bpm:pageflow-definitions>
-   </bpm:jbpm>
-   -->
-      
+    <persistence:managed-persistence-context name="entityManager"
+                                             auto-create="true"
+                                             persistence-unit-jndi-name="java:/blogEntityManagerFactory"/>
+
+    <drools:rule-base name="securityRules">
+        <drools:rule-files>
+            <value>/security.drl</value>
+        </drools:rule-files>
+    </drools:rule-base>
+
+    <security:identity authenticate-method="#{authenticator.authenticate}"
+                       security-rules="#{securityRules}"/>
+
+    <event type="org.jboss.seam.notLoggedIn">
+        <action execute="#{redirect.captureCurrentView}"/>
+    </event>
+    <event type="org.jboss.seam.postAuthenticate">
+        <action execute="#{redirect.returnToCapturedView}"/>
+    </event>
+
+    <mail:mail-session host="localhost" port="2525" username="test" password="test" />
+
+    <async:quartz-dispatcher />
+
+    <!-- For use with jBPM pageflow or process management -->
+    <!--
+    <bpm:jbpm>
+       <bpm:process-definitions></bpm:process-definitions>
+       <bpm:pageflow-definitions></bpm:pageflow-definitions>
+    </bpm:jbpm>
+    -->
+
 </components>

Modified: trunk/src/action/org/jboss/blog/session/feed/FeedModBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/FeedModBean.java	2007-11-27 10:01:42 UTC (rev 140)
+++ trunk/src/action/org/jboss/blog/session/feed/FeedModBean.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -7,6 +7,7 @@
 import org.jboss.seam.annotations.In;
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.core.Events;
 
 import javax.persistence.EntityManager;
 
@@ -45,6 +46,8 @@
         }
 
         entityManager.flush();
+
+        Events.instance().raiseEvent("org.jboss.blog.feed.new");
     }
 
     public void saveExisting() {
@@ -53,5 +56,7 @@
 
     public void delete() {
         entityManager.remove(getFeed());
+
+        Events.instance().raiseEvent("org.jboss.blog.feed.deleted");
     }
 }

Modified: trunk/src/action/org/jboss/blog/session/feed/FeedPosts.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/FeedPosts.java	2007-11-27 10:01:42 UTC (rev 140)
+++ trunk/src/action/org/jboss/blog/session/feed/FeedPosts.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -3,12 +3,11 @@
 import org.jboss.blog.model.Feed;
 import org.jboss.blog.model.Post;
 
-import javax.persistence.EntityManager;
 import java.util.List;
 
 /**
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 public interface FeedPosts {
-    public List<Post> getPosts(EntityManager entityManager, Feed feed, int from, int to);
+    public List<Post> getPosts(Feed feed, int from, int to);
 }

Modified: trunk/src/action/org/jboss/blog/session/feed/FeedType.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/FeedType.java	2007-11-27 10:01:42 UTC (rev 140)
+++ trunk/src/action/org/jboss/blog/session/feed/FeedType.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -7,8 +7,10 @@
  */
 public interface FeedType {
     public String getName();
-    public Class getModelClass();
+    public Class<? extends Feed> getModelClass();
     public String getAddPage();
     public String getEditPage();
-    public FeedPosts getFeedPosts();
+    
+    public String getFeedPostsComponentName();
+    public String getFeedUpdateComponentName();
 }

Modified: trunk/src/action/org/jboss/blog/session/feed/FeedTypesBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/FeedTypesBean.java	2007-11-27 10:01:42 UTC (rev 140)
+++ trunk/src/action/org/jboss/blog/session/feed/FeedTypesBean.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -16,10 +16,10 @@
 @Scope(ScopeType.APPLICATION)
 @AutoCreate
 public class FeedTypesBean {
-    private Map<Class<?>, FeedType> feedTypes;
+    private Map<Class<? extends Feed>, FeedType> feedTypes;
 
     public FeedTypesBean() {
-        feedTypes = new ConcurrentHashMap<Class<?>, FeedType>();
+        feedTypes = new ConcurrentHashMap<Class<? extends Feed>, FeedType>();
     }
 
     public void registerType(FeedType feedType) {
@@ -30,7 +30,7 @@
         return feedTypes.values().toArray(new FeedType[feedTypes.size()]);
     }
 
-    public FeedType getFeedType(Class<?> c) throws InvalidFeedTypeException {
+    public FeedType getFeedType(Class<? extends Feed> c) throws InvalidFeedTypeException {
         FeedType entry = feedTypes.get(c);
         if (entry == null) {
             throw new InvalidFeedTypeException();

Added: trunk/src/action/org/jboss/blog/session/feed/FeedUpdate.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/FeedUpdate.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/feed/FeedUpdate.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -0,0 +1,10 @@
+package org.jboss.blog.session.feed;
+
+import org.jboss.blog.model.Feed;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+public interface FeedUpdate {
+    public void update(Feed feed);
+}

Modified: trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java	2007-11-27 10:01:42 UTC (rev 140)
+++ trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -4,6 +4,7 @@
 import org.jboss.blog.model.Post;
 import org.jboss.blog.service.FeedNotFoundException;
 import org.jboss.blog.service.FeedsService;
+import org.jboss.seam.Component;
 import org.jboss.seam.annotations.AutoCreate;
 import org.jboss.seam.annotations.In;
 import org.jboss.seam.annotations.Name;
@@ -43,9 +44,9 @@
 
     @SuppressWarnings("unchecked")
     public List<Post> getPosts(Feed feed, int from, int to) {
-        FeedPosts feedPosts = feedTypes.getFeedType(feed.getClass()).getFeedPosts();
-        if (feedPosts != null) {
-            return feedPosts.getPosts(entityManager, feed, from, to);
+        String feedPostsComponentName = feedTypes.getFeedType(feed.getClass()).getFeedPostsComponentName();
+        if (feedPostsComponentName != null) {
+            return ((FeedPosts) Component.getInstance(feedPostsComponentName)).getPosts(feed, from, to);
         } else {
             return (List<Post>) entityManager.createQuery(
                     "select post from Post post where post.feed = ?1 order by post.published desc")

Modified: trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedPostsBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedPostsBean.java	2007-11-27 10:01:42 UTC (rev 140)
+++ trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedPostsBean.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -1,9 +1,12 @@
 package org.jboss.blog.session.feed.aggregated;
 
-import org.jboss.blog.model.AggregatedFeed;
 import org.jboss.blog.model.Feed;
 import org.jboss.blog.model.Post;
 import org.jboss.blog.session.feed.FeedPosts;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
 
 import javax.persistence.EntityManager;
 import java.util.List;
@@ -11,12 +14,19 @@
 /**
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
+ at Name("aggregatedFeedPosts")
+ at Scope(ScopeType.STATELESS)
 public class AggregatedFeedPostsBean implements FeedPosts {
+    @In
+    private EntityManager entityManager;
+
     @SuppressWarnings("unchecked")
-    public List<Post> getPosts(EntityManager entityManager, Feed feed, int from, int to) {
+    public List<Post> getPosts(Feed feed, int from, int to) {
         return entityManager.createQuery(
-                "select post from Post post, AggregatedFeed af, in (af.feeds) as ff where af = ?1 " +
-                        "and post.feed = ff order by post.published desc")
+                "select post from Post post " +
+                        "where post.feed in " +
+                        "(select feed from AggregatedFeed af, Feed feed where af = ?1 and feed in elements(af.feeds)) " +
+                        "order by post.published desc")
                 .setParameter(1, feed).setMaxResults(to-from).setFirstResult(from).getResultList();
     }
 }

Modified: trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedTypeRegisterBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedTypeRegisterBean.java	2007-11-27 10:01:42 UTC (rev 140)
+++ trunk/src/action/org/jboss/blog/session/feed/aggregated/AggregatedFeedTypeRegisterBean.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -1,10 +1,9 @@
 package org.jboss.blog.session.feed.aggregated;
 
 import org.jboss.blog.model.AggregatedFeed;
-import org.jboss.blog.session.feed.FeedPosts;
+import org.jboss.blog.model.Feed;
 import org.jboss.blog.session.feed.FeedType;
 import org.jboss.blog.session.feed.FeedTypesBean;
-import org.jboss.seam.annotations.Create;
 import org.jboss.seam.annotations.In;
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.Observer;
@@ -18,7 +17,7 @@
         return "aggregated";
     }
 
-    public Class<AggregatedFeed> getModelClass() {
+    public Class<? extends Feed> getModelClass() {
         return AggregatedFeed.class;
     }
 
@@ -30,15 +29,12 @@
         return "/manage/aggregated/aggregated_edit.xhtml";
     }
 
-    public FeedPosts getFeedPosts() {
-        return feedPosts;
+    public String getFeedPostsComponentName() {
+        return "aggregatedFeedPosts";
     }
 
-    private FeedPosts feedPosts;
-
-    @Create
-    public void initFeedPosts() {
-        feedPosts = new AggregatedFeedPostsBean();
+    public String getFeedUpdateComponentName() {
+        return null;
     }
 
     @In

Modified: trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedTypeRegisterBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedTypeRegisterBean.java	2007-11-27 10:01:42 UTC (rev 140)
+++ trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedTypeRegisterBean.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -1,9 +1,9 @@
 package org.jboss.blog.session.feed.remote;
 
 import org.jboss.blog.model.RemoteFeed;
+import org.jboss.blog.model.Feed;
 import org.jboss.blog.session.feed.FeedType;
 import org.jboss.blog.session.feed.FeedTypesBean;
-import org.jboss.blog.session.feed.FeedPosts;
 import org.jboss.seam.annotations.In;
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.Observer;
@@ -17,7 +17,7 @@
         return "remote";
     }
 
-    public Class<?> getModelClass() {
+    public Class<? extends Feed> getModelClass() {
         return RemoteFeed.class;
     }
 
@@ -29,10 +29,14 @@
         return "/manage/remote/remote_edit.xhtml";
     }
 
-    public FeedPosts getFeedPosts() {
+    public String getFeedPostsComponentName() {
         return null;
     }
 
+    public String getFeedUpdateComponentName() {
+        return "remoteFeedUpdate";
+    }
+
     @In
     private FeedTypesBean feedTypes;
 

Added: trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedUpdateBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedUpdateBean.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/feed/remote/RemoteFeedUpdateBean.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -0,0 +1,18 @@
+package org.jboss.blog.session.feed.remote;
+
+import org.jboss.blog.session.feed.FeedUpdate;
+import org.jboss.blog.model.Feed;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Name("remoteFeedUpdate")
+ at Scope(ScopeType.STATELESS)
+public class RemoteFeedUpdateBean implements FeedUpdate {
+    public void update(Feed feed) {
+        System.out.println("Updating " + feed.getName());
+    }
+}

Added: trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/update/UpdateHandler.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -0,0 +1,19 @@
+package org.jboss.blog.session.update;
+
+import org.jboss.seam.annotations.async.Asynchronous;
+import org.jboss.seam.annotations.async.Expiration;
+import org.jboss.seam.annotations.async.IntervalDuration;
+
+import javax.ejb.Local;
+import java.util.Date;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Local
+public interface UpdateHandler {
+    @Asynchronous
+    void update(@Expiration Date expiration, @IntervalDuration long interval);
+
+    void remove();
+}

Added: trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/update/UpdateHandlerImpl.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -0,0 +1,40 @@
+package org.jboss.blog.session.update;
+
+import org.jboss.blog.model.Feed;
+import org.jboss.blog.service.FeedsService;
+import org.jboss.blog.session.feed.FeedTypesBean;
+import org.jboss.blog.session.feed.FeedUpdate;
+import org.jboss.seam.Component;
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateless;
+import java.util.Date;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Name("updateHandler")
+ at Stateless
+ at AutoCreate
+public class UpdateHandlerImpl implements UpdateHandler {
+    @In
+    private FeedsService feedsService;
+
+    @In
+    private FeedTypesBean feedTypes;
+
+    public void update(Date expiration, long interval) {
+        for (Feed feed : feedsService.getAllFeeds()) {
+            String feedUpdateComponentName = feedTypes.getFeedType(feed.getClass()).getFeedUpdateComponentName();
+            if (feedUpdateComponentName != null) {
+                ((FeedUpdate) Component.getInstance(feedUpdateComponentName)).update(feed);
+            }
+        }
+    }
+
+    @Remove
+    public void remove() { }
+}

Added: trunk/src/action/org/jboss/blog/session/update/UpdateManager.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/update/UpdateManager.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/update/UpdateManager.java	2007-11-28 12:50:56 UTC (rev 141)
@@ -0,0 +1,24 @@
+package org.jboss.blog.session.update;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Observer;
+import org.jboss.seam.annotations.Scope;
+
+import java.util.Date;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Name("updateManager")
+ at Scope(ScopeType.APPLICATION)
+public class UpdateManager {
+    @In 
+    private UpdateHandler updateHandler;
+
+    @Observer("org.jboss.seam.postInitialization")
+    public void register() {
+        updateHandler.update(new Date(), 60000);
+    }
+}

Modified: trunk/view/view/feed.xhtml
===================================================================
--- trunk/view/view/feed.xhtml	2007-11-27 10:01:42 UTC (rev 140)
+++ trunk/view/view/feed.xhtml	2007-11-28 12:50:56 UTC (rev 141)
@@ -28,7 +28,7 @@
         <a:repeat var="post" value="#{feedView.posts}" rows="#{feedView.feed.maxPostsOnPage}">
             <rich:panel>
                 <f:facet name="header">
-                    #{post.title}
+                    #{post.title}, published on #{post.published}
                 </f:facet>
                 <s:link value="View on separate page &#187;" view="/view/post.xhtml" propagation="none">
                     <f:param name="post" value="#{post.titleAsId}" />




More information about the jboss-cvs-commits mailing list