[jboss-cvs] JBossBlog SVN: r138 - in trunk: resources/WEB-INF and 7 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Nov 26 08:31:36 EST 2007


Author: adamw
Date: 2007-11-26 08:31:35 -0500 (Mon, 26 Nov 2007)
New Revision: 138

Added:
   trunk/src/action/org/jboss/blog/session/manage/aggregated/
   trunk/src/action/org/jboss/blog/session/manage/aggregated/AggregatedFeedModBean.java
   trunk/src/action/org/jboss/blog/session/manage/aggregated/AggregatedFeedTypeRegisterBean.java
   trunk/view/manage/aggregated/
   trunk/view/manage/aggregated/aggregated_add.xhtml
   trunk/view/manage/aggregated/aggregated_edit.xhtml
   trunk/view/manage/aggregated/aggregated_mod.xhtml
   trunk/view/manage/remote/remote_edit.xhtml
   trunk/view/manage/remote/remote_mod.xhtml
Removed:
   trunk/src/action/org/jboss/blog/session/manage/RemoteFeedModBean.java
   trunk/view/manage/remote_add.xhtml
Modified:
   trunk/blog.iml
   trunk/resources/WEB-INF/pages.xml
   trunk/src/action/org/jboss/blog/session/manage/remote/RemoteFeedModBean.java
   trunk/src/model/org/jboss/blog/model/Blog.java
   trunk/src/model/org/jboss/blog/model/Feed.java
   trunk/src/model/org/jboss/blog/model/Post.java
   trunk/view/manage/feed_mod.xhtml
   trunk/view/manage/index.xhtml
   trunk/view/manage/remote/remote_add.xhtml
Log:


Modified: trunk/blog.iml
===================================================================
--- trunk/blog.iml	2007-11-24 18:42:07 UTC (rev 137)
+++ trunk/blog.iml	2007-11-26 13:31:35 UTC (rev 138)
@@ -67,6 +67,7 @@
       <library name="rome">
         <CLASSES>
           <root url="jar://$MODULE_DIR$/lib/rome-0.9.jar!/" />
+          <root url="jar://$MODULE_DIR$/lib/jdom.jar!/" />
         </CLASSES>
         <JAVADOC />
         <SOURCES />

Modified: trunk/resources/WEB-INF/pages.xml
===================================================================
--- trunk/resources/WEB-INF/pages.xml	2007-11-24 18:42:07 UTC (rev 137)
+++ trunk/resources/WEB-INF/pages.xml	2007-11-26 13:31:35 UTC (rev 138)
@@ -27,11 +27,10 @@
 
     <!-- Manage feeds -->
 
-    <page view-id="/manage/add.xhtml" conversation-required="true">
+    <page view-id="/manage/add.xhtml" />
+
+    <page view-id="/manage/feed_add.xhtml" conversation-required="true">
         <begin-conversation flush-mode="manual" join="true" />
-    </page>
-
-    <page view-id="/manage/feed_add.xhtml">
         <navigation from-action="#{feedMod.saveNew}">
             <end-conversation />
             <redirect view-id="/manage/index.xhtml" />
@@ -39,6 +38,7 @@
     </page>
 
     <page view-id="/manage/feed_edit.xhtml">
+        <begin-conversation flush-mode="manual" join="true" />
         <param name="name" converterId="feedConverter" value="#{feedMod.feed}" />
         <navigation from-action="#{feedMod.saveExisting}">
             <end-conversation />
@@ -46,8 +46,43 @@
         </navigation>
     </page>
 
-    <page view-id="/manage/add*" conversation-required="true" />
+    <!-- Manage remote feeds -->
 
+    <page view-id="/manage/remote/remote_add.xhtml" conversation-required="true">
+        <begin-conversation flush-mode="manual" join="true" />
+        <navigation from-action="#{remoteFeedMod.saveNew}">
+            <redirect view-id="/manage/feed_add.xhtml" />
+        </navigation>
+    </page>
+
+    <page view-id="/manage/remote/remote_edit.xhtml">
+        <begin-conversation flush-mode="manual" join="true" />
+        <param name="name" converterId="feedConverter" value="#{feedMod.feed}" />
+        <navigation from-action="#{remoteFeedMod.saveExisting}">
+            <end-conversation />
+            <redirect view-id="/manage/index.xhtml" />
+        </navigation>
+    </page>
+
+    <!-- Manage aggregated feeds -->
+
+    <page view-id="/manage/aggregated/aggregated_add.xhtml" conversation-required="true">
+        <navigation from-action="#{aggregatedFeedMod.saveNew}">
+            <redirect view-id="/manage/feed_add.xhtml" />
+        </navigation>
+    </page>
+
+    <page view-id="/manage/aggregated/aggregated_edit.xhtml">
+        <begin-conversation flush-mode="manual" join="true" />
+        <param name="name" converterId="feedConverter" value="#{feedMod.feed}" />
+        <navigation from-action="#{aggregatedFeedMod.saveExisting}">
+            <end-conversation />
+            <redirect view-id="/manage/index.xhtml" />
+        </navigation>
+    </page>
+
+    <!-- Exceptions -->
+
     <exception class="org.jboss.seam.framework.EntityNotFoundException">
         <redirect view-id="/error.xhtml">
             <message>Not found</message>

Deleted: trunk/src/action/org/jboss/blog/session/manage/RemoteFeedModBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/manage/RemoteFeedModBean.java	2007-11-24 18:42:07 UTC (rev 137)
+++ trunk/src/action/org/jboss/blog/session/manage/RemoteFeedModBean.java	2007-11-26 13:31:35 UTC (rev 138)
@@ -1,93 +0,0 @@
-package org.jboss.blog.session.manage;
-
-import org.hibernate.validator.NotEmpty;
-import org.jboss.blog.model.Blog;
-import org.jboss.blog.model.Feed;
-import org.jboss.blog.model.RemoteFeed;
-import org.jboss.blog.session.parser.ParserException;
-import org.jboss.blog.session.parser.ParserService;
-import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Out;
-import org.jboss.seam.annotations.Scope;
-
-/**
- * @author <a href="mailto:adam at warski.org">Adam Warski</a>
- */
- at Scope(ScopeType.CONVERSATION)
- at Name("remoteFeedMod")
-public class RemoteFeedModBean {
-    @In
-    private ParserService parserService;
-
-    @In(required = false)
-    @Out(required = false)
-    private Feed feed;
-
-    @NotEmpty
-    private String link;
-
-    private boolean parseOk;
-    private Exception parseException;
-
-    public String getLink() {
-        return link;
-    }
-
-    public void setLink(String link) {
-        this.link = link;
-    }
-
-    public boolean isParseOk() {
-        return parseOk;
-    }
-
-    public void setParseOk(boolean parseOk) {
-        this.parseOk = parseOk;
-    }
-
-    public Exception getParseException() {
-        return parseException;
-    }
-
-    public void setParseException(Exception parseException) {
-        this.parseException = parseException;
-    }
-
-    public Feed getFeed() {
-        return feed;
-    }
-
-    public void setFeed(Feed feed) {
-        this.feed = feed;
-    }
-
-    public void parseFeed() {
-        try {
-            Blog blog = parserService.parse(getLink());
-
-            if (feed == null) {
-                RemoteFeed newRemoteFeed = new RemoteFeed();
-                newRemoteFeed.setLink(getLink());
-                newRemoteFeed.setBlog(blog);
-                newRemoteFeed.setMaxPostsInFeed(10);
-                newRemoteFeed.setMaxPostsOnPage(10);
-
-                feed = newRemoteFeed;
-            } else {
-                if (feed instanceof RemoteFeed) {
-                    RemoteFeed remoteFeed = (RemoteFeed) feed;
-                    remoteFeed.setLink(getLink());
-                } else {
-                    throw new InvalidFeedTypeException();
-                }
-            }
-
-            setParseOk(true);
-        } catch (ParserException e) {
-            setParseException(e);
-            setParseOk(false);
-        }
-    }
-}

Added: trunk/src/action/org/jboss/blog/session/manage/aggregated/AggregatedFeedModBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/manage/aggregated/AggregatedFeedModBean.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/manage/aggregated/AggregatedFeedModBean.java	2007-11-26 13:31:35 UTC (rev 138)
@@ -0,0 +1,97 @@
+package org.jboss.blog.session.manage.aggregated;
+
+import org.jboss.blog.model.AggregatedFeed;
+import org.jboss.blog.model.Blog;
+import org.jboss.blog.model.Feed;
+import org.jboss.blog.model.Post;
+import org.jboss.blog.service.FeedsService;
+import org.jboss.blog.session.manage.FeedModBean;
+import org.jboss.blog.session.manage.InvalidFeedTypeException;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Create;
+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.ArrayList;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Scope(ScopeType.CONVERSATION)
+ at Name("aggregatedFeedMod")
+public class AggregatedFeedModBean {
+    @In
+    private FeedModBean feedMod;
+
+    @In
+    private EntityManager entityManager;
+
+    @In
+    private FeedsService feedsService;
+
+    private AggregatedFeed aggregatedFeed;
+
+    private List<Feed> availableFeeds;
+    private List<Feed> selectedFeeds;
+
+    public AggregatedFeed getAggregatedFeed() {
+        if (aggregatedFeed == null) {
+            if (feedMod.getFeed() == null) {
+                aggregatedFeed = new AggregatedFeed();
+                aggregatedFeed.setFeeds(new ArrayList<Feed>());
+
+                Blog newBlog = new Blog();
+                newBlog.setPosts(new ArrayList<Post>());
+                aggregatedFeed.setBlog(newBlog);
+
+                feedMod.initNewFeed(aggregatedFeed);
+            } else {
+                if (feedMod.getFeed() instanceof AggregatedFeed) {
+                    aggregatedFeed = (AggregatedFeed) feedMod.getFeed();
+                } else {
+                    throw new InvalidFeedTypeException();
+                }
+            }
+        }
+
+        return aggregatedFeed;
+    }
+
+    @Create
+    public void populateLists() {
+        availableFeeds = feedsService.getAllFeeds(); 
+        availableFeeds.remove(getAggregatedFeed());
+
+        selectedFeeds = getAggregatedFeed().getFeeds();
+    }
+
+    public List<Feed> getAvailableFeeds() {
+        return availableFeeds;
+    }
+
+    public List<Feed> getSelectedFeeds() {
+        return selectedFeeds;
+    }
+
+    public void setSelectedFeeds(List<Feed> selectedFeeds) {
+        this.selectedFeeds = selectedFeeds;
+    }
+
+    private void save() {
+        List<Feed> currentAggregatedFeeds = getAggregatedFeed().getFeeds();
+        currentAggregatedFeeds.clear();
+        currentAggregatedFeeds.addAll(getSelectedFeeds());
+    }
+
+    public void saveNew() {
+        save();
+    }
+
+    public void saveExisting() {
+        save();
+        entityManager.flush();
+    }
+}

Added: trunk/src/action/org/jboss/blog/session/manage/aggregated/AggregatedFeedTypeRegisterBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/manage/aggregated/AggregatedFeedTypeRegisterBean.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/manage/aggregated/AggregatedFeedTypeRegisterBean.java	2007-11-26 13:31:35 UTC (rev 138)
@@ -0,0 +1,38 @@
+package org.jboss.blog.session.manage.aggregated;
+
+import org.jboss.blog.model.AggregatedFeed;
+import org.jboss.blog.session.manage.FeedType;
+import org.jboss.blog.session.manage.FeedTypesBean;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Observer;
+
+/**
+ * @author <a href="mailto:adam at warski.org">Adam Warski</a>
+ */
+ at Name("aggregatedFeedTypeRegister")
+public class AggregatedFeedTypeRegisterBean implements FeedType {
+    public String getName() {
+        return "aggregated";
+    }
+
+    public Class<?> getModelClass() {
+        return AggregatedFeed.class;
+    }
+
+    public String getAddPage() {
+        return "/manage/aggregated/aggregated_add.xhtml";
+    }
+
+    public String getEditPage() {
+        return "/manage/aggregated/aggregated_edit.xhtml";
+    }
+
+    @In
+    private FeedTypesBean feedTypes;
+
+    @Observer("org.jboss.seam.postInitialization")
+    public void register() {
+        feedTypes.registerType(getName(), this);
+    }
+}

Modified: trunk/src/action/org/jboss/blog/session/manage/remote/RemoteFeedModBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/manage/remote/RemoteFeedModBean.java	2007-11-24 18:42:07 UTC (rev 137)
+++ trunk/src/action/org/jboss/blog/session/manage/remote/RemoteFeedModBean.java	2007-11-26 13:31:35 UTC (rev 138)
@@ -1,8 +1,6 @@
 package org.jboss.blog.session.manage.remote;
 
-import org.hibernate.validator.NotEmpty;
 import org.jboss.blog.model.Blog;
-import org.jboss.blog.model.Feed;
 import org.jboss.blog.model.RemoteFeed;
 import org.jboss.blog.session.manage.FeedModBean;
 import org.jboss.blog.session.manage.InvalidFeedTypeException;
@@ -13,6 +11,8 @@
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.Scope;
 
+import javax.persistence.EntityManager;
+
 /**
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
@@ -25,18 +25,31 @@
     @In
     private FeedModBean feedMod;
 
-    @NotEmpty
-    private String link;
+    @In
+    private EntityManager entityManager;
 
+    private RemoteFeed remoteFeed;
+
+    private Blog blog;
+
     private boolean parseOk;
     private Exception parseException;
 
-    public String getLink() {
-        return link;
-    }
+    public RemoteFeed getRemoteFeed() {
+        if (remoteFeed == null) {
+            if (feedMod.getFeed() == null) {
+                remoteFeed = new RemoteFeed();
+                feedMod.initNewFeed(remoteFeed);
+            } else {
+                if (feedMod.getFeed() instanceof RemoteFeed) {
+                    remoteFeed = (RemoteFeed) feedMod.getFeed();
+                } else {
+                    throw new InvalidFeedTypeException();
+                }
+            }
+        }
 
-    public void setLink(String link) {
-        this.link = link;
+        return remoteFeed;
     }
 
     public boolean isParseOk() {
@@ -57,27 +70,19 @@
 
     public void parseFeed() {
         try {
-            Blog blog = parserService.parse(getLink());
-
-            if (feedMod.getFeed() == null) {
-                RemoteFeed newRemoteFeed = new RemoteFeed();
-                feedMod.initNewFeed(newRemoteFeed);
-
-                newRemoteFeed.setLink(getLink());
-                newRemoteFeed.setBlog(blog);
-            } else {
-                if (feedMod.getFeed() instanceof RemoteFeed) {
-                    RemoteFeed remoteFeed = (RemoteFeed) feedMod.getFeed();
-                    remoteFeed.setLink(getLink());
-                } else {
-                    throw new InvalidFeedTypeException();
-                }
-            }
-
+            blog = parserService.parse(getRemoteFeed().getLink());
             setParseOk(true);
         } catch (ParserException e) {
             setParseException(e);
             setParseOk(false);
         }
     }
+
+    public void saveNew() {
+        getRemoteFeed().setBlog(blog);
+    }
+
+    public void saveExisting() {
+        entityManager.flush();
+    }
 }

Modified: trunk/src/model/org/jboss/blog/model/Blog.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/Blog.java	2007-11-24 18:42:07 UTC (rev 137)
+++ trunk/src/model/org/jboss/blog/model/Blog.java	2007-11-26 13:31:35 UTC (rev 138)
@@ -90,5 +90,24 @@
     public void setFeed(Feed feed) {
         this.feed = feed;
     }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (!(o instanceof Blog)) return false;
+
+        Blog blog = (Blog) o;
+
+        if (id != null ? !id.equals(blog.id) : blog.id != null) return false;
+        if (link != null ? !link.equals(blog.link) : blog.link != null) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        int result;
+        result = (id != null ? id.hashCode() : 0);
+        result = 31 * result + (link != null ? link.hashCode() : 0);
+        return result;
+    }
 }
 

Modified: trunk/src/model/org/jboss/blog/model/Feed.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/Feed.java	2007-11-24 18:42:07 UTC (rev 137)
+++ trunk/src/model/org/jboss/blog/model/Feed.java	2007-11-26 13:31:35 UTC (rev 138)
@@ -112,4 +112,23 @@
     public void setUseBlogAuthorInPosts(boolean useBlogAuthorInPosts) {
         this.useBlogAuthorInPosts = useBlogAuthorInPosts;
     }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (!(o instanceof Feed)) return false;
+
+        Feed feed = (Feed) o;
+
+        if (id != null ? !id.equals(feed.id) : feed.id != null) return false;
+        if (name != null ? !name.equals(feed.name) : feed.name != null) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        int result;
+        result = (id != null ? id.hashCode() : 0);
+        result = 31 * result + (name != null ? name.hashCode() : 0);
+        return result;
+    }
 }

Modified: trunk/src/model/org/jboss/blog/model/Post.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/Post.java	2007-11-24 18:42:07 UTC (rev 137)
+++ trunk/src/model/org/jboss/blog/model/Post.java	2007-11-26 13:31:35 UTC (rev 138)
@@ -149,4 +149,25 @@
     public void setBlog(Blog blog) {
         this.blog = blog;
     }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (!(o instanceof Post)) return false;
+
+        Post post = (Post) o;
+
+        if (id != null ? !id.equals(post.id) : post.id != null) return false;
+        if (title != null ? !title.equals(post.title) : post.title != null) return false;
+        if (titleAsId != null ? !titleAsId.equals(post.titleAsId) : post.titleAsId != null) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        int result;
+        result = (id != null ? id.hashCode() : 0);
+        result = 31 * result + (title != null ? title.hashCode() : 0);
+        result = 31 * result + (titleAsId != null ? titleAsId.hashCode() : 0);
+        return result;
+    }
 }

Added: trunk/view/manage/aggregated/aggregated_add.xhtml
===================================================================
--- trunk/view/manage/aggregated/aggregated_add.xhtml	                        (rev 0)
+++ trunk/view/manage/aggregated/aggregated_add.xhtml	2007-11-26 13:31:35 UTC (rev 138)
@@ -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>Add aggregated feed</h1>
+
+        <ui:include src="aggregated_mod.xhtml">
+            <ui:param name="new" value="true" />
+        </ui:include>
+    </ui:define>
+</ui:composition>

Added: trunk/view/manage/aggregated/aggregated_edit.xhtml
===================================================================
--- trunk/view/manage/aggregated/aggregated_edit.xhtml	                        (rev 0)
+++ trunk/view/manage/aggregated/aggregated_edit.xhtml	2007-11-26 13:31:35 UTC (rev 138)
@@ -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>Edit aggregated feed: #{feedMod.feed.name}</h1>
+
+        <ui:include src="aggregated_mod.xhtml">
+            <ui:param name="new" value="false" />
+        </ui:include>
+    </ui:define>
+</ui:composition>

Added: trunk/view/manage/aggregated/aggregated_mod.xhtml
===================================================================
--- trunk/view/manage/aggregated/aggregated_mod.xhtml	                        (rev 0)
+++ trunk/view/manage/aggregated/aggregated_mod.xhtml	2007-11-26 13:31:35 UTC (rev 138)
@@ -0,0 +1,31 @@
+<!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">
+    <h:form>
+        <h:panelGrid columns="1">
+            <h:outputLabel>Please select feeds to include:</h:outputLabel>
+
+            <h:panelGroup>
+                <h:selectManyCheckbox value="#{aggregatedFeedMod.selectedFeeds}" layout="pageDirection">
+                    <s:selectItems var="feed" value="#{aggregatedFeedMod.availableFeeds}"
+                                   label="#{feed.displayName}" />
+                    <s:convertEntity />
+                </h:selectManyCheckbox>
+            </h:panelGroup>
+
+            <h:panelGroup id="proceed">
+                <h:commandButton rendered="#{new}" value="Next &#187;"
+                          action="#{aggregatedFeedMod.saveNew}" />
+                <h:commandButton rendered="#{!new}" value="Save"
+                          action="#{aggregatedFeedMod.saveExisting}" />
+                <s:button value="Cancel" view="/manage/index.xhtml" />
+            </h:panelGroup>
+        </h:panelGrid>
+    </h:form>
+</ui:composition>

Modified: trunk/view/manage/feed_mod.xhtml
===================================================================
--- trunk/view/manage/feed_mod.xhtml	2007-11-24 18:42:07 UTC (rev 137)
+++ trunk/view/manage/feed_mod.xhtml	2007-11-26 13:31:35 UTC (rev 138)
@@ -61,8 +61,7 @@
 
             <h:outputLabel for="description">Description:</h:outputLabel>
             <h:panelGroup>
-                <h:inputTextarea id="description" value="#{feedMod.feed.blog.description}" required="true" rows="4"
-                                 cols="32">
+                <h:inputTextarea id="description" value="#{feedMod.feed.blog.description}" rows="4" cols="32">
                     <a:support event="onblur" reRender="descriptionMessage" ajaxSingle="true" bypassUpdates="true"/>
                     <s:validate />
                 </h:inputTextarea>

Modified: trunk/view/manage/index.xhtml
===================================================================
--- trunk/view/manage/index.xhtml	2007-11-24 18:42:07 UTC (rev 137)
+++ trunk/view/manage/index.xhtml	2007-11-26 13:31:35 UTC (rev 138)
@@ -21,7 +21,9 @@
                     <f:param name="name" value="#{feed.name}" />
                 </s:link>
                 <br />
-                <s:link view="#{feedTypes.getFeedType(feed.type).editPage}" value="Edit specific" />
+                <s:link view="#{feedTypes.getFeedType(feed.type).editPage}" value="Edit specific">
+                    <f:param name="name" value="#{feed.name}" />
+                </s:link>
             </p>
         </ui:repeat>
     </ui:define>

Modified: trunk/view/manage/remote/remote_add.xhtml
===================================================================
--- trunk/view/manage/remote/remote_add.xhtml	2007-11-24 18:42:07 UTC (rev 137)
+++ trunk/view/manage/remote/remote_add.xhtml	2007-11-26 13:31:35 UTC (rev 138)
@@ -9,44 +9,10 @@
                 xmlns:a="http://richfaces.org/a4j"
                 template="../../layout/template.xhtml">
     <ui:define name="body">
-        <h1>Add a new remote feed</h1>
+        <h1>Add remote feed</h1>
 
-        <h:form>
-            <h:panelGrid columns="2">
-                <h:outputLabel><span class="required">*</span> Remote feed address:</h:outputLabel> <br />
-                <h:panelGroup>
-                    <h:inputText id="link" value="#{remoteFeedMod.link}" required="true" size="64">
-                        <s:validate />
-                    </h:inputText>
-                    <a:outputPanel id="linkMessage">
-                        <h:message for="link" styleClass="error" />
-                    </a:outputPanel>
-                </h:panelGroup>
-
-                <h:panelGroup />
-                <h:panelGroup>
-                    <a:commandButton action="#{remoteFeedMod.parseFeed}" value="Read and parse the feed"
-                                     reRender="parseStatus,proceed,linkMessage,link" />
-                    <a:status stopText="" startText="Wait ..." />
-                </h:panelGroup>
-
-                <h:panelGroup />
-                <h:panelGroup id="parseStatus">
-                    <h:panelGroup rendered="#{remoteFeedMod.parseOk}">
-                        Parsing the feed was successfull! You can proceed.
-                    </h:panelGroup>
-                    <h:panelGroup rendered="#{!remoteFeedMod.parseOk and remoteFeedMod.parseException != null}">
-                        Parsing the feed failed, because of the following exception:
-                        #{newRemoteFeed.parseException.message}
-                    </h:panelGroup>
-                </h:panelGroup>
-
-                <h:panelGroup />
-                <h:panelGroup id="proceed">
-                    <s:button rendered="#{remoteFeedMod.parseOk}" value="Next &#187;"
-                              view="/manage/feed_add.xhtml" />
-                </h:panelGroup>
-            </h:panelGrid>
-        </h:form>
+        <ui:include src="remote_mod.xhtml">
+            <ui:param name="new" value="true" />
+        </ui:include>
     </ui:define>
 </ui:composition>

Added: trunk/view/manage/remote/remote_edit.xhtml
===================================================================
--- trunk/view/manage/remote/remote_edit.xhtml	                        (rev 0)
+++ trunk/view/manage/remote/remote_edit.xhtml	2007-11-26 13:31:35 UTC (rev 138)
@@ -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>Edit remote feed: #{feedMod.feed.name}</h1>
+
+        <ui:include src="remote_mod.xhtml">
+            <ui:param name="new" value="false" />
+        </ui:include>
+    </ui:define>
+</ui:composition>

Added: trunk/view/manage/remote/remote_mod.xhtml
===================================================================
--- trunk/view/manage/remote/remote_mod.xhtml	                        (rev 0)
+++ trunk/view/manage/remote/remote_mod.xhtml	2007-11-26 13:31:35 UTC (rev 138)
@@ -0,0 +1,49 @@
+<!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">
+    <h:form>
+        <h:panelGrid columns="2">
+            <h:outputLabel><span class="required">*</span> Remote feed address:</h:outputLabel>
+            <h:panelGroup>
+                <h:inputText id="link" value="#{remoteFeedMod.remoteFeed.link}" required="true" size="64">
+                    <s:validate />
+                </h:inputText>
+                <a:outputPanel id="linkMessage">
+                    <h:message for="link" styleClass="error" />
+                </a:outputPanel>
+            </h:panelGroup>
+
+            <h:panelGroup />
+            <h:panelGroup>
+                <a:commandButton action="#{remoteFeedMod.parseFeed}" value="Read and parse the feed"
+                                 reRender="parseStatus,proceed,linkMessage,link" />
+                <a:status stopText="" startText="Wait ..." />
+            </h:panelGroup>
+
+            <h:panelGroup />
+            <h:panelGroup id="parseStatus">
+                <h:panelGroup rendered="#{remoteFeedMod.parseOk}">
+                    Parsing the feed was successfull! You can proceed.
+                </h:panelGroup>
+                <h:panelGroup rendered="#{!remoteFeedMod.parseOk and remoteFeedMod.parseException != null}">
+                    Parsing the feed failed, because of the following exception:
+                    #{newRemoteFeed.parseException.message}
+                </h:panelGroup>
+            </h:panelGroup>
+
+            <h:panelGroup />
+            <h:panelGroup id="proceed">
+                <h:commandButton rendered="#{remoteFeedMod.parseOk and new}" value="Next &#187;"
+                          action="#{remoteFeedMod.saveNew}" />
+                <h:commandButton rendered="#{remoteFeedMod.parseOk and !new}" value="Save"
+                          action="#{remoteFeedMod.saveExisting}" />
+            </h:panelGroup>
+        </h:panelGrid>
+    </h:form>
+</ui:composition>

Deleted: trunk/view/manage/remote_add.xhtml
===================================================================
--- trunk/view/manage/remote_add.xhtml	2007-11-24 18:42:07 UTC (rev 137)
+++ trunk/view/manage/remote_add.xhtml	2007-11-26 13:31:35 UTC (rev 138)
@@ -1,52 +0,0 @@
-<!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>Add a new remote feed</h1>
-
-        <h:form>
-            <h:panelGrid columns="2">
-                <h:outputLabel><span class="required">*</span> Remote feed address:</h:outputLabel> <br />
-                <h:panelGroup>
-                    <h:inputText id="link" value="#{remoteFeedMod.link}" required="true" size="64">
-                        <s:validate />
-                    </h:inputText>
-                    <a:outputPanel id="linkMessage">
-                        <h:message for="link" styleClass="error" />
-                    </a:outputPanel>
-                </h:panelGroup>
-
-                <h:panelGroup />
-                <h:panelGroup>
-                    <a:commandButton action="#{remoteFeedMod.parseFeed}" value="Read and parse the feed"
-                                     reRender="parseStatus,proceed,linkMessage,link" />
-                    <a:status stopText="" startText="Wait ..." />
-                </h:panelGroup>
-
-                <h:panelGroup />
-                <h:panelGroup id="parseStatus">
-                    <h:panelGroup rendered="#{remoteFeedMod.parseOk}">
-                        Parsing the feed was successfull! You can proceed.
-                    </h:panelGroup>
-                    <h:panelGroup rendered="#{!remoteFeedMod.parseOk and remoteFeedMod.parseException != null}">
-                        Parsing the feed failed, because of the following exception:
-                        #{newRemoteFeed.parseException.message}
-                    </h:panelGroup>
-                </h:panelGroup>
-
-                <h:panelGroup />
-                <h:panelGroup id="proceed">
-                    <s:button rendered="#{remoteFeedMod.parseOk}" value="Next &#187;"
-                              view="/manage/feed_add.xhtml" />
-                </h:panelGroup>
-            </h:panelGrid>
-        </h:form>
-    </ui:define>
-</ui:composition>




More information about the jboss-cvs-commits mailing list