File Source: categoryindexlistener.java

         /* 
    P/P   *  Method: net.sourceforge.pebble.index.CategoryIndexListener__static_init
          */
     1  package net.sourceforge.pebble.index;
     2  
     3  import net.sourceforge.pebble.domain.BlogEntry;
     4  import net.sourceforge.pebble.api.event.blogentry.BlogEntryEvent;
     5  import net.sourceforge.pebble.api.event.blogentry.BlogEntryListener;
     6  
     7  import java.beans.PropertyChangeEvent;
     8  import java.util.Iterator;
     9  import java.util.List;
    10  
         /* 
    P/P   *  Method: void net.sourceforge.pebble.index.CategoryIndexListener()
          */
    11  public class CategoryIndexListener implements BlogEntryListener {
    12  
    13    /**
    14     * Called when a blog entry has been added.
    15     *
    16     * @param event a BlogEntryEvent instance
    17     */
    18    public void blogEntryAdded(BlogEntryEvent event) {
             /* 
    P/P       *  Method: void blogEntryAdded(BlogEntryEvent)
              * 
              *  Preconditions:
              *    event != null
              *    (soft) net.sourceforge.pebble.domain.State__static_init.new State(State__static_init#5).name != null
              * 
              *  Presumptions:
              *    blogEntry.blog@20 != null
              *    blogEntry.state@19 != null
              *    blogEntry.state@20 != null
              *    net.sourceforge.pebble.api.event.blogentry.BlogEntryEvent:getSource(...)@91 != null
              *    getBlog(...).categoryIndex@20 != null
              *    ...
              * 
              *  Postconditions:
              *    init'ed(new ArrayList(Category#1) num objects)
              *    init'ed(new ArrayList(Category#2) num objects)
              *    init'ed(new ArrayList(Category#3) num objects)
              *    init'ed(new Category(getCategory#2) num objects)
              *    possibly_updated(new Category(getCategory#2).blog)
              *    init'ed(new Category(getCategory#2).blogEntries)
              *    possibly_updated(new Category(getCategory#2).id)
              *    init'ed(new Category(getCategory#2).name)
              *    possibly_updated(new Category(getCategory#2).parent)
              *    init'ed(new Category(getCategory#2).subCategories)
              *    ...
              */
    19      BlogEntry blogEntry = event.getBlogEntry();
    20      if (blogEntry.isPublished()) {
    21        blogEntry.getBlog().getCategoryIndex().index(blogEntry);
    22      }
    23    }
    24  
    25    /**
    26     * Called when a blog entry has been removed.
    27     *
    28     * @param event a BlogEntryEvent instance
    29     */
    30    public void blogEntryRemoved(BlogEntryEvent event) {
             /* 
    P/P       *  Method: void blogEntryRemoved(BlogEntryEvent)
              * 
              *  Preconditions:
              *    event != null
              *    (soft) net.sourceforge.pebble.domain.State__static_init.new State(State__static_init#5).name != null
              * 
              *  Presumptions:
              *    blogEntry.blog@32 != null
              *    blogEntry.state@31 != null
              *    net.sourceforge.pebble.api.event.blogentry.BlogEntryEvent:getSource(...)@91 != null
              *    getBlog(...).categoryIndex@32 != null
              *    getCategoryIndex(...).blog@32 != null
              * 
              *  Postconditions:
              *    init'ed(new ArrayList(Category#1) num objects)
              *    init'ed(new ArrayList(Category#2) num objects)
              *    init'ed(new ArrayList(Category#3) num objects)
              *    init'ed(new Category(getCategory#2) num objects)
              *    possibly_updated(new Category(getCategory#2).blog)
              *    init'ed(new Category(getCategory#2).blogEntries)
              *    possibly_updated(new Category(getCategory#2).id)
              *    init'ed(new Category(getCategory#2).name)
              *    possibly_updated(new Category(getCategory#2).parent)
              *    possibly_updated(new Category(getCategory#2).subCategories)
              *    ...
              */
    31      BlogEntry blogEntry = event.getBlogEntry();
    32      if (blogEntry.isPublished()) {
    33        blogEntry.getBlog().getCategoryIndex().unindex(blogEntry);
    34      }
    35    }
    36  
    37    /**
    38     * Called when a blog entry has been changed.
    39     *
    40     * @param event a BlogEntryEvent instance
    41     */
    42    public void blogEntryChanged(BlogEntryEvent event) {
             /* 
    P/P       *  Method: void blogEntryChanged(BlogEntryEvent)
              * 
              *  Preconditions:
              *    event != null
              *    (soft) event.propertyChangeEvents != null
              *    (soft) net.sourceforge.pebble.domain.State__static_init.new State(State__static_init#5).name != null
              * 
              *  Presumptions:
              *    blogEntry.blog@45 != null
              *    blogEntry.blog@54 != null
              *    blogEntry.state@43 != null
              *    blogEntry.state@54 != null
              *    java.beans.PropertyChangeEvent:getPropertyName(...)@50 != null
              *    ...
              * 
              *  Test Vectors:
              *    java.lang.String:equals(...)@53: {0}, {1}
              *    java.util.Iterator:hasNext(...)@48: {1}, {0}
              * 
              *  Presumptions:
              *    getBlog(...).categoryIndex@45 != null
              *    getBlog(...).categoryIndex@54 != null
              *    getCategoryIndex(...).blog@45 != null
              *    getCategoryIndex(...).blog@54 != null
              * 
              *  Postconditions:
              *    init'ed(new ArrayList(Category#1) num objects)
              *    init'ed(new ArrayList(Category#2) num objects)
              *    init'ed(new ArrayList(Category#3) num objects)
              *    init'ed(new Category(getCategory#2) num objects)
              *    init'ed(new Category(getCategory#2).blog)
              *    init'ed(new Category(getCategory#2).blogEntries)
              *    init'ed(new Category(getCategory#2).id)
              *    init'ed(new Category(getCategory#2).name)
              *    init'ed(new Category(getCategory#2).parent)
              *    init'ed(new Category(getCategory#2).subCategories)
              *    ...
              */
    43      BlogEntry blogEntry = event.getBlogEntry();
    44  
    45      if (blogEntry.isPublished()) {
    46        List propertyChangeEvents = event.getPropertyChangeEvents();
    47        Iterator it = propertyChangeEvents.iterator();
    48        while (it.hasNext()) {
    49          PropertyChangeEvent pce = (PropertyChangeEvent)it.next();
    50          String property = pce.getPropertyName();
    51  
    52          // only if the tags or categories change do we need to reindex the tags
    53          if (property.equals(BlogEntry.CATEGORIES_PROPERTY)) {
    54            blogEntry.getBlog().getCategoryIndex().unindex(blogEntry);
    55            blogEntry.getBlog().getCategoryIndex().index(blogEntry);
    56          }
    57        }
    58      }
    59    }
    60  
    61    /**
    62     * Called when a blog entry has been published.
    63     *
    64     * @param event a BlogEntryEvent instance
    65     */
    66    public void blogEntryPublished(BlogEntryEvent event) {
             /* 
    P/P       *  Method: void blogEntryPublished(BlogEntryEvent)
              * 
              *  Preconditions:
              *    event != null
              *    (soft) net.sourceforge.pebble.domain.State__static_init.new State(State__static_init#5).name != null
              * 
              *  Presumptions:
              *    blogEntry.blog@67 != null
              *    blogEntry.state@67 != null
              *    net.sourceforge.pebble.api.event.blogentry.BlogEntryEvent:getSource(...)@91 != null
              *    getBlog(...).categoryIndex@67 != null
              *    getCategoryIndex(...).blog@67 != null
              * 
              *  Postconditions:
              *    init'ed(new ArrayList(Category#1) num objects)
              *    init'ed(new ArrayList(Category#2) num objects)
              *    init'ed(new ArrayList(Category#3) num objects)
              *    init'ed(new Category(getCategory#2) num objects)
              *    possibly_updated(new Category(getCategory#2).blog)
              *    init'ed(new Category(getCategory#2).blogEntries)
              *    possibly_updated(new Category(getCategory#2).id)
              *    init'ed(new Category(getCategory#2).name)
              *    possibly_updated(new Category(getCategory#2).parent)
              *    init'ed(new Category(getCategory#2).subCategories)
              *    ...
              */
    67      BlogEntry blogEntry = event.getBlogEntry();
    68      blogEntry.getBlog().getCategoryIndex().index(blogEntry);
    69    }
    70  
    71    /**
    72     * Called when a blog entry has been unpublished.
    73     *
    74     * @param event a BlogEntryEvent instance
    75     */
    76    public void blogEntryUnpublished(BlogEntryEvent event) {
             /* 
    P/P       *  Method: void blogEntryUnpublished(BlogEntryEvent)
              * 
              *  Preconditions:
              *    event != null
              * 
              *  Presumptions:
              *    blogEntry.blog@77 != null
              *    net.sourceforge.pebble.api.event.blogentry.BlogEntryEvent:getSource(...)@91 != null
              *    getBlog(...).categoryIndex@77 != null
              *    getCategoryIndex(...).blog@77 != null
              * 
              *  Postconditions:
              *    init'ed(new ArrayList(Category#1) num objects)
              *    init'ed(new ArrayList(Category#2) num objects)
              *    init'ed(new ArrayList(Category#3) num objects)
              *    init'ed(new Category(getCategory#2) num objects)
              *    possibly_updated(new Category(getCategory#2).blog)
              *    init'ed(new Category(getCategory#2).blogEntries)
              *    possibly_updated(new Category(getCategory#2).id)
              *    init'ed(new Category(getCategory#2).name)
              *    possibly_updated(new Category(getCategory#2).parent)
              *    possibly_updated(new Category(getCategory#2).subCategories)
              *    ...
              */
    77      BlogEntry blogEntry = event.getBlogEntry();
    78      blogEntry.getBlog().getCategoryIndex().unindex(blogEntry);
    79    }
    80  
    81  }








SofCheck Inspector Build Version : 2.22510
categoryindexlistener.java 2010-Jun-25 19:40:32
categoryindexlistener.class 2010-Jul-19 20:23:38