[jboss-cvs] jboss-seam/examples/blog/src/actions ...

Gavin King gavin.king at jboss.com
Sat Sep 30 15:59:34 EDT 2006


  User: gavin   
  Date: 06/09/30 15:59:34

  Modified:    examples/blog/src/actions     EntryAction.java
                        PostAction.java SearchService.java
  Added:       examples/blog/src/actions     BlogEntryService.java
  Log:
  refreshed blog example to use page parameters
  
  Revision  Changes    Path
  1.11      +1 -1      jboss-seam/examples/blog/src/actions/EntryAction.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: EntryAction.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/blog/src/actions/EntryAction.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -b -r1.10 -r1.11
  --- EntryAction.java	29 Sep 2006 23:15:01 -0000	1.10
  +++ EntryAction.java	30 Sep 2006 19:59:34 -0000	1.11
  @@ -26,7 +26,7 @@
      @Out
      private BlogEntry blogEntry;
      
  -   public void getBlogEntry(String id) throws EntryNotFoundException
  +   public void loadBlogEntry(String id) throws EntryNotFoundException
      {
         blogEntry = blog.getBlogEntry(id);
         if (blogEntry==null) throw new EntryNotFoundException(id);
  
  
  
  1.7       +4 -13     jboss-seam/examples/blog/src/actions/PostAction.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PostAction.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/blog/src/actions/PostAction.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -b -r1.6 -r1.7
  --- PostAction.java	4 Jul 2006 05:45:24 -0000	1.6
  +++ PostAction.java	30 Sep 2006 19:59:34 -0000	1.7
  @@ -6,10 +6,8 @@
   import javax.persistence.EntityManager;
   
   import org.jboss.seam.ScopeType;
  -import org.jboss.seam.annotations.Factory;
   import org.jboss.seam.annotations.In;
   import org.jboss.seam.annotations.Name;
  -import org.jboss.seam.annotations.Out;
   import org.jboss.seam.annotations.Scope;
   
   import domain.Blog;
  @@ -28,20 +26,13 @@
      @In(create=true) private EntityManager entityManager;
      
      @In(required=false) 
  -   @Out(scope=ScopeType.EVENT)
  -   private BlogEntry newBlogEntry;
  -   
  -   @Factory("newBlogEntry")
  -   public void createBlogEntry()
  -   {
  -      newBlogEntry = new BlogEntry(blog);
  -   }
  +   private BlogEntry blogEntry;
      
      public String post() throws IOException
      {
  -      newBlogEntry.setDate( new Date() );
  -      blog.getBlogEntries().add(newBlogEntry);
  -      entityManager.persist(newBlogEntry);
  +      blogEntry.setDate( new Date() );
  +      blog.getBlogEntries().add(blogEntry);
  +      entityManager.persist(blogEntry);
         return "/index.xhtml";
      }
      
  
  
  
  1.3       +22 -16    jboss-seam/examples/blog/src/actions/SearchService.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: SearchService.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/blog/src/actions/SearchService.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- SearchService.java	27 Mar 2006 07:04:53 -0000	1.2
  +++ SearchService.java	30 Sep 2006 19:59:34 -0000	1.3
  @@ -4,11 +4,9 @@
   
   import javax.persistence.EntityManager;
   
  -import org.jboss.seam.annotations.Create;
  +import org.jboss.seam.annotations.Factory;
   import org.jboss.seam.annotations.In;
   import org.jboss.seam.annotations.Name;
  -import org.jboss.seam.annotations.RequestParameter;
  -import org.jboss.seam.annotations.Unwrap;
   
   import domain.BlogEntry;
   
  @@ -17,36 +15,44 @@
    *
    * @author Gavin King
    */
  - at Name("searchResults")
  + at Name("searchService")
   public class SearchService 
   {
      
      @In(create=true)
      private EntityManager entityManager;
      
  -   @RequestParameter
      private String searchPattern;
      
  -   private List<BlogEntry> searchResults;
  -   
  -   @Create
  -   public void initSearchResults()
  +   @Factory("searchResults")
  +   public List<BlogEntry> getSearchResults()
  +   {
  +      if (searchPattern==null)
  +      {
  +         return null;
  +      }
  +      else
      {
  -      searchResults = entityManager.createQuery("from BlogEntry be where lower(be.title) like :searchPattern or lower(be.body) like :searchPattern order by be.date desc")
  +         return entityManager.createQuery("from BlogEntry be where lower(be.title) like :searchPattern or lower(be.body) like :searchPattern order by be.date desc")
               .setParameter( "searchPattern", getSqlSearchPattern() )
               .setMaxResults(100)
               .getResultList();
      }
  +   }
   
      private String getSqlSearchPattern()
      {
         return searchPattern==null ? "" : '%' + searchPattern.toLowerCase().replace('*', '%').replace('?', '_') + '%';
      }
   
  -   @Unwrap
  -   public List<BlogEntry> getSearchResults()
  +   public String getSearchPattern()
  +   {
  +      return searchPattern;
  +   }
  +
  +   public void setSearchPattern(String searchPattern)
      {
  -      return searchResults;
  +      this.searchPattern = searchPattern;
      }
   
   }
  
  
  
  1.1      date: 2006/09/30 19:59:34;  author: gavin;  state: Exp;jboss-seam/examples/blog/src/actions/BlogEntryService.java
  
  Index: BlogEntryService.java
  ===================================================================
  package actions;
  
  import org.jboss.seam.ScopeType;
  import org.jboss.seam.annotations.Factory;
  import org.jboss.seam.annotations.In;
  import org.jboss.seam.annotations.Name;
  import org.jboss.seam.annotations.Scope;
  
  import domain.Blog;
  import domain.BlogEntry;
  
  @Name("blogEntryService")
  @Scope(ScopeType.STATELESS)
  public class BlogEntryService
  {
     
     @In(create=true) Blog blog;
     
     @Factory("blogEntry")
     public BlogEntry createBlogEntry()
     {
        return new BlogEntry(blog);
     }
  
  }
  
  
  



More information about the jboss-cvs-commits mailing list