[jboss-cvs] JBossBlog SVN: r184 - in trunk: resources and 10 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Feb 4 08:54:52 EST 2008


Author: adamw
Date: 2008-02-04 08:54:52 -0500 (Mon, 04 Feb 2008)
New Revision: 184

Added:
   trunk/src/action/org/jboss/blog/session/group/GroupsServiceImpl.java
   trunk/src/services/org/jboss/blog/service/GroupsService.java
   trunk/view/manage/proposition/
   trunk/view/manage/proposition/proposition_accept.xhtml
   trunk/view/manage/proposition/proposition_list.xhtml
Modified:
   trunk/blog.iml
   trunk/resources/WEB-INF/components.xml
   trunk/resources/WEB-INF/pages.xml
   trunk/resources/messages_en.properties
   trunk/src/action/org/jboss/blog/session/feed/mod/FeedModBean.java
   trunk/src/model/org/jboss/blog/model/feed/RestrictedFeed.java
   trunk/src/test/org/jboss/blog/session/feed/posts/AggregatedFeedPostsTest.java
   trunk/src/test/org/jboss/blog/session/merge/test/MergeServiceTest.java
   trunk/view/home.xhtml
   trunk/view/manage/index.xhtml
Log:


Modified: trunk/blog.iml
===================================================================
--- trunk/blog.iml	2008-01-29 21:25:25 UTC (rev 183)
+++ trunk/blog.iml	2008-02-04 13:54:52 UTC (rev 184)
@@ -5,7 +5,7 @@
       <configuration>
         <setting name="validation-enabled" value="true" />
         <datasource-mapping>
-          <factory-entry name="blog" value="Datasource3" />
+          <factory-entry name="blog" value="Datasource" />
         </datasource-mapping>
         <deploymentDescriptor name="persistence.xml" url="file://$MODULE_DIR$/resources/META-INF/persistence-dev.xml" optional="false" version="1.0" />
       </configuration>
@@ -158,6 +158,16 @@
       </library>
     </orderEntry>
     <orderEntry type="library" name="jbosscache" level="project" />
+    <orderEntry type="library" name="jboss" level="project" />
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../jboss/lib/mysql.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
     <orderEntryProperties />
   </component>
 </module>

Modified: trunk/resources/WEB-INF/components.xml
===================================================================
--- trunk/resources/WEB-INF/components.xml	2008-01-29 21:25:25 UTC (rev 183)
+++ trunk/resources/WEB-INF/components.xml	2008-02-04 13:54:52 UTC (rev 184)
@@ -53,6 +53,10 @@
         <action execute="#{redirect.returnToCapturedView}"/>
     </event>
 
+    <event type="org.jboss.blog.feed.accept">
+        <action execute="#{feedMod.acceptFeed}"/>
+    </event>
+
     <mail:mail-session host="localhost" port="2525" username="test" password="test" />
 
     <async:quartz-dispatcher />

Modified: trunk/resources/WEB-INF/pages.xml
===================================================================
--- trunk/resources/WEB-INF/pages.xml	2008-01-29 21:25:25 UTC (rev 183)
+++ trunk/resources/WEB-INF/pages.xml	2008-02-04 13:54:52 UTC (rev 184)
@@ -73,6 +73,18 @@
         </navigation>
     </page>
 
+    <!-- Manage propositions -->
+    
+    <page view-id="/manage/proposition/proposition_accept.xhtml">
+        <begin-conversation flush-mode="manual" join="true" />
+        <param name="name" converterId="feedConverter" value="#{feedMod.feed}" />
+        <navigation from-action="#{feedMod.saveExisting}">
+            <raise-event type="org.jboss.blog.feed.accept" />
+            <end-conversation />
+            <redirect view-id="/manage/proposition/proposition_list.xhtml" />
+        </navigation>
+    </page>
+
     <!-- Manage remote feeds -->
 
     <page view-id="/manage/remote/remote_add.xhtml">

Modified: trunk/resources/messages_en.properties
===================================================================
--- trunk/resources/messages_en.properties	2008-01-29 21:25:25 UTC (rev 183)
+++ trunk/resources/messages_en.properties	2008-02-04 13:54:52 UTC (rev 184)
@@ -91,6 +91,7 @@
 blog.feed.deleted=Feed {0} deleted.
 blog.feed.updated=Feed {0} updated.
 blog.feed.added=Feed {0} added.
+blog.feed.accepted=Feed {0} accepted.
 
 blog.template.deleted=Template {0} of type {1} deleted.
 blog.template.updated=Template {0} of type {1} updated.

Modified: trunk/src/action/org/jboss/blog/session/feed/mod/FeedModBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/mod/FeedModBean.java	2008-01-29 21:25:25 UTC (rev 183)
+++ trunk/src/action/org/jboss/blog/session/feed/mod/FeedModBean.java	2008-02-04 13:54:52 UTC (rev 184)
@@ -58,6 +58,14 @@
         return new XmlType[] { XmlType.ATOM };
     }
 
+    public void acceptFeed() {
+        feed.setAccepted(true);
+
+        entityManager.flush();
+
+        facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_INFO, "blog.feed.accepted", getFeed().getName());
+    }
+
     public void saveNew() {
         entityManager.persist(feed);
 

Added: trunk/src/action/org/jboss/blog/session/group/GroupsServiceImpl.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/group/GroupsServiceImpl.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/group/GroupsServiceImpl.java	2008-02-04 13:54:52 UTC (rev 184)
@@ -0,0 +1,41 @@
+package org.jboss.blog.session.group;
+
+import org.jboss.blog.service.GroupsService;
+import org.jboss.blog.model.Group;
+import org.jboss.blog.model.feed.Feed;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.annotations.In;
+
+import javax.persistence.EntityManager;
+import javax.ejb.Stateless;
+import javax.ejb.Remove;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Stateless
+ at Name("groupsService")
+ at AutoCreate
+public class GroupsServiceImpl implements GroupsService {
+    @In
+    private EntityManager entityManager;
+
+    public List<Feed> acceptedFeeds(Group group) {
+        //noinspection unchecked
+        return entityManager
+                .createQuery("select feed from Feed feed where feed.group = ?1 and feed.accepted = true")
+                .setParameter(1, group).getResultList();
+    }
+
+    public List<Feed> unacceptedFeeds(Group group) {
+        //noinspection unchecked
+        return entityManager
+                .createQuery("select feed from Feed feed where feed.group = ?1 and not (feed.accepted = true)")
+                .setParameter(1, group).getResultList();
+    }
+
+    @Remove
+    public void remove() { }
+}

Modified: trunk/src/model/org/jboss/blog/model/feed/RestrictedFeed.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/feed/RestrictedFeed.java	2008-01-29 21:25:25 UTC (rev 183)
+++ trunk/src/model/org/jboss/blog/model/feed/RestrictedFeed.java	2008-02-04 13:54:52 UTC (rev 184)
@@ -1,10 +1,4 @@
 package org.jboss.blog.model.feed;
-
-import org.jboss.blog.model.*;
-
-import java.util.List;
-import java.util.Map;
-
 /**
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */

Added: trunk/src/services/org/jboss/blog/service/GroupsService.java
===================================================================
--- trunk/src/services/org/jboss/blog/service/GroupsService.java	                        (rev 0)
+++ trunk/src/services/org/jboss/blog/service/GroupsService.java	2008-02-04 13:54:52 UTC (rev 184)
@@ -0,0 +1,19 @@
+package org.jboss.blog.service;
+
+import org.jboss.blog.model.feed.Feed;
+import org.jboss.blog.model.Group;
+
+import javax.ejb.Local;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Local
+public interface GroupsService {
+    List<Feed> acceptedFeeds(Group group);
+
+    List<Feed> unacceptedFeeds(Group group);
+
+    void remove();
+}

Modified: trunk/src/test/org/jboss/blog/session/feed/posts/AggregatedFeedPostsTest.java
===================================================================
--- trunk/src/test/org/jboss/blog/session/feed/posts/AggregatedFeedPostsTest.java	2008-01-29 21:25:25 UTC (rev 183)
+++ trunk/src/test/org/jboss/blog/session/feed/posts/AggregatedFeedPostsTest.java	2008-02-04 13:54:52 UTC (rev 184)
@@ -7,6 +7,7 @@
 import org.jboss.blog.model.feed.AggregatedFeed;
 import org.jboss.blog.model.feed.Feed;
 import org.jboss.blog.model.Post;
+import org.jboss.blog.model.RestrictedPost;
 import org.jboss.blog.model.post.PostFilter;
 import org.jboss.blog.service.FeedsService;
 import org.jboss.blog.tools.TestTools;
@@ -76,7 +77,7 @@
         aggFeed2.setFeeds(feedsFilters1);
         aggFeed2.setGlobalFilter(new PostFilter() {
             private static final long serialVersionUID = 8320081945645277412L;
-            public boolean filter(Post post) {
+            public boolean filter(RestrictedPost post) {
                 return false;
             }
         });
@@ -93,15 +94,15 @@
     @Test
     public void testGetLessThanAvailable() {
         // Setup
-        expect(mockFeedsService.getPosts(feed_0_posts, 0, 2)).andReturn(new ArrayList<Post>(list_0_posts));
-        expect(mockFeedsService.getPosts(feed_1_posts, 0, 2)).andReturn(new ArrayList<Post>(list_1_posts));
-        expect(mockFeedsService.getPosts(feed_2_posts, 0, 2)).andReturn(new ArrayList<Post>(list_2_posts));
-        expect(mockFeedsService.getPosts(feed_3_posts, 0, 2)).andReturn(new ArrayList<Post>(list_2_posts));
-        expect(mockFeedsService.getPosts(feed_4_posts, 0, 2)).andReturn(new ArrayList<Post>(list_2_posts));
+        expect(mockFeedsService.getPosts(feed_0_posts, 0, 2)).andReturn(new ArrayList(list_0_posts));
+        expect(mockFeedsService.getPosts(feed_1_posts, 0, 2)).andReturn(new ArrayList(list_1_posts));
+        expect(mockFeedsService.getPosts(feed_2_posts, 0, 2)).andReturn(new ArrayList(list_2_posts));
+        expect(mockFeedsService.getPosts(feed_3_posts, 0, 2)).andReturn(new ArrayList(list_2_posts));
+        expect(mockFeedsService.getPosts(feed_4_posts, 0, 2)).andReturn(new ArrayList(list_2_posts));
 
         // Test
         replay(mockFeedsService);
-        List<Post> posts = aggFeedPosts.getPosts(aggFeed1, 0, 2);
+        List<? extends RestrictedPost> posts = aggFeedPosts.getPosts(aggFeed1, 0, 2);
 
         // Check
         verify(mockFeedsService);
@@ -111,15 +112,18 @@
     @Test
     public void testGetExactlyAvailable() {
         // Setup
-        expect(mockFeedsService.getPosts(feed_0_posts, 0, 10)).andReturn(new ArrayList<Post>(list_0_posts));
-        expect(mockFeedsService.getPosts(feed_1_posts, 0, 10)).andReturn(new ArrayList<Post>(list_1_posts));
-        expect(mockFeedsService.getPosts(feed_2_posts, 0, 10)).andReturn(new ArrayList<Post>(list_2_posts));
-        expect(mockFeedsService.getPosts(feed_3_posts, 0, 10)).andReturn(new ArrayList<Post>(list_3_posts));
-        expect(mockFeedsService.getPosts(feed_4_posts, 0, 10)).andReturn(new ArrayList<Post>(list_4_posts));
+        expect(mockFeedsService.getPosts(feed_0_posts, 0, 10)).andReturn(new ArrayList(list_0_posts));
+        expect(mockFeedsService.getPosts(feed_1_posts, 0, 10)).andReturn(new ArrayList(list_1_posts));
+        expect(mockFeedsService.getPosts(feed_2_posts, 0, 10)).andReturn(new ArrayList(list_2_posts));
+        expect(mockFeedsService.getPosts(feed_3_posts, 0, 10)).andReturn(new ArrayList(list_3_posts));
 
+        // TODO: why not ArrayList<Post>?
+
+        expect(mockFeedsService.getPosts(feed_4_posts, 0, 10)).andReturn(new ArrayList(list_4_posts));
+
         // Test
         replay(mockFeedsService);
-        List<Post> posts = aggFeedPosts.getPosts(aggFeed1, 0, 10);
+        List<? extends RestrictedPost> posts = aggFeedPosts.getPosts(aggFeed1, 0, 10);
 
         // Check
         verify(mockFeedsService);
@@ -129,21 +133,21 @@
     @Test
     public void testGetMoreThanAvailable() {
         // Setup
-        expect(mockFeedsService.getPosts(feed_0_posts, 0, 2)).andReturn(new ArrayList<Post>(list_0_posts));
-        expect(mockFeedsService.getPosts(feed_1_posts, 0, 2)).andReturn(new ArrayList<Post>(list_1_posts));
-        expect(mockFeedsService.getPosts(feed_2_posts, 0, 2)).andReturn(new ArrayList<Post>(list_2_posts));
-        expect(mockFeedsService.getPosts(feed_3_posts, 0, 2)).andReturn(new ArrayList<Post>(list_2_posts));
-        expect(mockFeedsService.getPosts(feed_4_posts, 0, 2)).andReturn(new ArrayList<Post>(list_2_posts));
+        expect(mockFeedsService.getPosts(feed_0_posts, 0, 2)).andReturn(new ArrayList(list_0_posts));
+        expect(mockFeedsService.getPosts(feed_1_posts, 0, 2)).andReturn(new ArrayList(list_1_posts));
+        expect(mockFeedsService.getPosts(feed_2_posts, 0, 2)).andReturn(new ArrayList(list_2_posts));
+        expect(mockFeedsService.getPosts(feed_3_posts, 0, 2)).andReturn(new ArrayList(list_2_posts));
+        expect(mockFeedsService.getPosts(feed_4_posts, 0, 2)).andReturn(new ArrayList(list_2_posts));
 
-        expect(mockFeedsService.getPosts(feed_2_posts, 2, 4)).andReturn(new ArrayList<Post>(list_0_posts));
-        expect(mockFeedsService.getPosts(feed_3_posts, 2, 4)).andReturn(new ArrayList<Post>(list_1_posts));
-        expect(mockFeedsService.getPosts(feed_4_posts, 2, 4)).andReturn(new ArrayList<Post>(list_2_posts));
+        expect(mockFeedsService.getPosts(feed_2_posts, 2, 4)).andReturn(new ArrayList(list_0_posts));
+        expect(mockFeedsService.getPosts(feed_3_posts, 2, 4)).andReturn(new ArrayList(list_1_posts));
+        expect(mockFeedsService.getPosts(feed_4_posts, 2, 4)).andReturn(new ArrayList(list_2_posts));
 
-        expect(mockFeedsService.getPosts(feed_4_posts, 4, 6)).andReturn(new ArrayList<Post>(list_0_posts));
+        expect(mockFeedsService.getPosts(feed_4_posts, 4, 6)).andReturn(new ArrayList(list_0_posts));
 
         // Test
         replay(mockFeedsService);
-        List<Post> posts = aggFeedPosts.getPosts(aggFeed2, 0, 2);
+        List<? extends RestrictedPost> posts = aggFeedPosts.getPosts(aggFeed2, 0, 2);
 
         // Check
         verify(mockFeedsService);

Modified: trunk/src/test/org/jboss/blog/session/merge/test/MergeServiceTest.java
===================================================================
--- trunk/src/test/org/jboss/blog/session/merge/test/MergeServiceTest.java	2008-01-29 21:25:25 UTC (rev 183)
+++ trunk/src/test/org/jboss/blog/session/merge/test/MergeServiceTest.java	2008-02-04 13:54:52 UTC (rev 184)
@@ -3,6 +3,7 @@
 import static org.easymock.EasyMock.*;
 import org.jboss.blog.model.feed.Feed;
 import org.jboss.blog.model.Post;
+import org.jboss.blog.model.RestrictedPost;
 import org.jboss.blog.service.FeedsService;
 import org.jboss.blog.session.merge.MergeServiceBean;
 import org.jboss.blog.tools.TestTools;
@@ -82,7 +83,7 @@
                 post_2007_11_01_t1_c1_l1);
         
         // Behaviour of mocks
-        expect(mockFeedsService.getPosts((Feed) null, 0, 3)).andReturn(posts);
+        expect(mockFeedsService.getPosts((Feed) null, 0, 3)).andReturn((List) posts);
         mockEntityManager.flush();
 
         // Test
@@ -102,7 +103,7 @@
                 post_2007_11_01_t1_c1_l1);
 
         // Behaviour of mocks
-        expect(mockFeedsService.getPosts((Feed) null, 0, 3)).andReturn(mergeTo);
+        expect(mockFeedsService.getPosts((Feed) null, 0, 3)).andReturn((List) mergeTo);
         mockEntityManager.persist(post_2007_11_02_t3_c3_l3);
         mockEntityManager.persist(post_2007_11_01_t1_c1_l1);
         mockEntityManager.flush();
@@ -124,7 +125,7 @@
         List<Post> mergeFrom = new ArrayList<Post>();
 
         // Behaviour of mocks
-        expect(mockFeedsService.getPosts((Feed) null, 0, 1)).andReturn(mergeTo);
+        expect(mockFeedsService.getPosts((Feed) null, 0, 1)).andReturn((List) mergeTo);
         mockEntityManager.flush();
 
         // Test
@@ -145,7 +146,7 @@
                 post_2007_11_02_t1_c1_l4);
 
         // Behaviour of mocks
-        expect(mockFeedsService.getPosts((Feed) null, 0, 3)).andReturn(mergeTo);
+        expect(mockFeedsService.getPosts((Feed) null, 0, 3)).andReturn((List) mergeTo);
         mockEntityManager.persist(post_2007_11_04_t6_c6_l7);
         mockEntityManager.persist(post_2007_11_02_t1_c1_l4);
         mockEntityManager.flush();
@@ -169,9 +170,9 @@
                 post_2007_11_03_t5_c5_l6, post_2007_11_01_t2_c2_l2);
 
         // Behaviour of mocks
-        expect(mockFeedsService.getPosts((Feed) null, 0, 4)).andReturn(mergeTo);
+        expect(mockFeedsService.getPosts((Feed) null, 0, 4)).andReturn((List) mergeTo);
         mockEntityManager.persist(post_2007_11_03_t5_c5_l6);
-        expect(mockFeedsService.getPosts((Feed) null, 4, 8)).andReturn(new ArrayList<Post>());
+        expect(mockFeedsService.getPosts((Feed) null, 4, 8)).andReturn(new ArrayList());
         mockEntityManager.persist(post_2007_11_01_t2_c2_l2);
         mockEntityManager.flush();
 
@@ -195,7 +196,7 @@
                 post_2007_11_03_t4_c4_l5, post_2007_11_02_t3_c3_l3);
 
         // Behaviour of mocks
-        expect(mockFeedsService.getPosts((Feed) null, 0, 6)).andReturn(mergeTo);
+        expect(mockFeedsService.getPosts((Feed) null, 0, 6)).andReturn((List) mergeTo);
         mockEntityManager.flush();
 
         // Test
@@ -218,9 +219,9 @@
         List<Post> mergeFrom = Arrays.asList(post_2007_11_02_t1_c1_l4);
 
         // Behaviour of mocks
-        expect(mockFeedsService.getPosts((Feed) null, 0, 2)).andReturn(mergeTo1);
-        expect(mockFeedsService.getPosts((Feed) null, 2, 4)).andReturn(mergeTo2);
-        expect(mockFeedsService.getPosts((Feed) null, 4, 6)).andReturn(mergeTo3);
+        expect(mockFeedsService.getPosts((Feed) null, 0, 2)).andReturn((List) mergeTo1);
+        expect(mockFeedsService.getPosts((Feed) null, 2, 4)).andReturn((List) mergeTo2);
+        expect(mockFeedsService.getPosts((Feed) null, 4, 6)).andReturn((List) mergeTo3);
         mockEntityManager.persist(post_2007_11_02_t1_c1_l4);
         mockEntityManager.flush();
 

Modified: trunk/view/home.xhtml
===================================================================
--- trunk/view/home.xhtml	2008-01-29 21:25:25 UTC (rev 183)
+++ trunk/view/home.xhtml	2008-02-04 13:54:52 UTC (rev 184)
@@ -21,12 +21,12 @@
         <h3>Select a feed to view:</h3>
 
         <ui:repeat var="group" value="#{feedsService.allGroups}">
-            <s:fragment rendered="#{group.feeds.size() > 1}">
+            <s:fragment rendered="#{groupsService.acceptedFeeds(group).size() > 1}">
                 <p>#{group.displayName}</p>
             </s:fragment>
 
-            <ui:repeat var="feed" value="#{group.feeds}">
-                <s:fragment rendered="#{feed.accepted}">
+            <ui:repeat var="feed" value="#{groupsService.acceptedFeeds(group)}">
+                <s:fragment>
                     <p>
                         <s:link view="/view/feed.xhtml" value="#{feed.title}" propagation="none">
                             <f:param name="name" value="#{feed.name}"/>

Modified: trunk/view/manage/index.xhtml
===================================================================
--- trunk/view/manage/index.xhtml	2008-01-29 21:25:25 UTC (rev 183)
+++ trunk/view/manage/index.xhtml	2008-02-04 13:54:52 UTC (rev 184)
@@ -14,6 +14,8 @@
 
         <s:link value="Manage groups" view="/manage/group/group_list.xhtml" /> <br /> <br />
 
+        <s:link value="Manage propositions" view="/manage/proposition/proposition_list.xhtml" /> <br /> <br />
+
         <s:link value="Add new feed" view="/manage/add.xhtml" /> <br /> <br />
 
         <s:link value="Re-index posts (for search)" action="#{postSearch.reindex}" /> <br /> <br />
@@ -23,11 +25,11 @@
         <h3>Current feeds:</h3>
 
         <ui:repeat var="group" value="#{feedsService.allGroups}">
-            <s:fragment rendered="#{group.feeds.size() > 1}">
+            <s:fragment rendered="#{groupsService.acceptedFeeds(group).size() > 1}">
                 <p>#{group.displayName}</p>
             </s:fragment>
 
-            <ui:repeat var="feed" value="#{group.feeds}">
+            <ui:repeat var="feed" value="#{groupsService.acceptedFeeds(group)}">
                 <p>
                     #{feed.title} (#{feed.name}, #{feedTypes.getFeedType(feed).name()}) <br />
                     <s:link view="/manage/feed_edit.xhtml" value="Edit common">

Added: trunk/view/manage/proposition/proposition_accept.xhtml
===================================================================
--- trunk/view/manage/proposition/proposition_accept.xhtml	                        (rev 0)
+++ trunk/view/manage/proposition/proposition_accept.xhtml	2008-02-04 13:54:52 UTC (rev 184)
@@ -0,0 +1,18 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:s="http://jboss.com/products/seam/taglib"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:f="http://java.sun.com/jsf/core"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:rich="http://richfaces.org/rich"
+                xmlns:a="http://richfaces.org/a4j"
+                template="../../layout/template.xhtml">
+    <ui:define name="body">
+        <h1>Accept feed: #{feedMod.feed.name}</h1>
+
+        <ui:include src="../feed_mod.xhtml">
+            <ui:param name="new" value="false" />
+        </ui:include>
+    </ui:define>
+</ui:composition>

Added: trunk/view/manage/proposition/proposition_list.xhtml
===================================================================
--- trunk/view/manage/proposition/proposition_list.xhtml	                        (rev 0)
+++ trunk/view/manage/proposition/proposition_list.xhtml	2008-02-04 13:54:52 UTC (rev 184)
@@ -0,0 +1,28 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:s="http://jboss.com/products/seam/taglib"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:f="http://java.sun.com/jsf/core"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:rich="http://richfaces.org/rich"
+                template="../../layout/template.xhtml">
+    <ui:define name="body">
+        <h1>Manage feed propositions</h1>
+
+        <ui:repeat var="group" value="#{feedsService.allGroups}">
+            <s:fragment rendered="#{groupsService.unacceptedFeeds(group).size() > 1}">
+                <p>#{group.displayName}</p>
+            </s:fragment>
+
+            <ui:repeat var="feed" value="#{groupsService.unacceptedFeeds(group)}">
+                #{feed.title} (#{feed.name}) <br />
+                Feed address: <h:outputLink value="#{feed.remoteLink}">#{feed.remoteLink}</h:outputLink> <br />
+
+                <s:link view="/manage/proposition/proposition_accept.xhtml" value="Accept">
+                    <f:param name="name" value="#{feed.name}" />
+                </s:link>
+            </ui:repeat>
+        </ui:repeat>
+    </ui:define>
+</ui:composition>




More information about the jboss-cvs-commits mailing list