Coverage Report - org.paneris.bibliomania.AuthorWebSiteTable
 
Classes in this File Line Coverage Branch Coverage Complexity
AuthorWebSiteTable
72%
18/25
50%
3/6
2.333
 
 1  
 package org.paneris.bibliomania;
 2  
 
 3  
 import java.util.Enumeration;
 4  
 
 5  
 import org.paneris.bibliomania.generated.AuthorWebSiteTableBase;
 6  
 import org.melati.poem.DefinitionSource;
 7  
 import org.melati.poem.Database;
 8  
 import org.melati.poem.Persistent;
 9  
 import org.melati.poem.PoemException;
 10  
 
 11  
 /**
 12  
  * Melati POEM generated, programmer modifiable stub 
 13  
  * for a <code>AuthorWebSiteTable</code> object.
 14  
  * <p>
 15  
  * Description: 
 16  
  *   A web site devoted to an author. 
 17  
  * </p>
 18  
  *
 19  
  * 
 20  
  * <table> 
 21  
  * <tr><th colspan='3'>
 22  
  * Field summary for SQL table <code>AuthorWebSite</code>
 23  
  * </th></tr>
 24  
  * <tr><th>Name</th><th>Type</th><th>Description</th></tr>
 25  
  * <tr><td> id </td><td> Integer </td><td> &nbsp; </td></tr> 
 26  
  * <tr><td> author </td><td> Author </td><td> The author to whom the site is 
 27  
  * dedicated </td></tr> 
 28  
  * <tr><td> url </td><td> String </td><td> The full URL for the site's front 
 29  
  * page </td></tr> 
 30  
  * <tr><td> displayname </td><td> String </td><td> The site's name </td></tr> 
 31  
  * <tr><td> displayorder </td><td> Integer </td><td> &nbsp; </td></tr> 
 32  
  * <tr><td> description </td><td> String </td><td> &nbsp; </td></tr> 
 33  
  * </table> 
 34  
  * 
 35  
  * @see  org.melati.poem.prepro.TableDef#generateTableJava 
 36  
  */
 37  
 public class AuthorWebSiteTable<T extends AuthorWebSite> extends AuthorWebSiteTableBase<AuthorWebSite> {
 38  
 
 39  
  /**
 40  
   * Constructor.
 41  
   * 
 42  
   * @see org.melati.poem.prepro.TableDef#generateTableJava 
 43  
   * @param database          the POEM database we are using
 44  
   * @param name              the name of this <code>Table</code>
 45  
   * @param definitionSource  which definition is being used
 46  
   * @throws PoemException    if anything goes wrong
 47  
   */
 48  
   public AuthorWebSiteTable(
 49  
       Database database, String name,
 50  
       DefinitionSource definitionSource) throws PoemException {
 51  2
     super(database, name, definitionSource);
 52  2
   }
 53  
 
 54  
   // programmer's domain-specific code here
 55  
   
 56  
   public AuthorWebSite ensure(Author a, String url, String name, String description) {
 57  1
     System.err.println("Entering Ensure for " + name);
 58  
     
 59  1
     AuthorWebSite criteria = (AuthorWebSite)newPersistent();
 60  1
     criteria.setAuthor(a);
 61  1
     Enumeration<AuthorWebSite> existing = selection(criteria, "displayorder");
 62  1
     System.err.println("Got existing");
 63  1
     int order = 1;
 64  19
     while (existing.hasMoreElements()) { 
 65  18
       System.err.println("Order:" + order);
 66  18
       existing.nextElement();
 67  18
       order++;
 68  
     }
 69  1
     criteria.setUrl(url);
 70  1
     criteria.setDisplayname(name);
 71  1
     criteria.setDescription(description);
 72  
     
 73  1
     Enumeration<AuthorWebSite> some = selection(criteria);
 74  1
     if (some.hasMoreElements()) { 
 75  1
       return some.nextElement();
 76  
     } else { 
 77  0
       criteria.setDisplayorder(order);
 78  0
       create(criteria);
 79  0
       return criteria;
 80  
     }
 81  
   }
 82  
   
 83  
   public void ensureStillValid() {
 84  0
     Enumeration them = selection();
 85  0
     while(them.hasMoreElements()) { 
 86  0
      ((AuthorWebSite)them.nextElement()).isStillLive(); 
 87  
     }
 88  0
   }
 89  
 }
 90