Coverage Report - org.paneris.rimauresq.model.RimauresqDatabase
 
Classes in this File Line Coverage Branch Coverage Complexity
RimauresqDatabase
14%
6/43
0%
0/2
1.083
RimauresqDatabase$1
100%
36/36
50%
2/4
1.083
 
 1  
 package org.paneris.rimauresq.model;
 2  
 
 3  
 import org.melati.poem.AccessToken;
 4  
 import org.melati.poem.Capability;
 5  
 import org.melati.poem.PoemTask;
 6  
 import org.melati.util.StringUtils;
 7  
 import org.paneris.melati.site.model.Div;
 8  
 import org.paneris.melati.site.model.Page;
 9  
 import org.paneris.melati.site.model.Template;
 10  
 import org.paneris.melati.site.model.UploadedFileType;
 11  
 import org.paneris.melati.site.model.UploadedImage;
 12  
 import org.paneris.rimauresq.model.generated.RimauresqDatabaseBase;
 13  
 
 14  
 /**
 15  
  * Melati POEM generated, programmer modifiable stub.
 16  
  */
 17  152
 public class RimauresqDatabase extends RimauresqDatabaseBase implements
 18  
     RimauresqDatabaseTables {
 19  
       // programmer's domain-specific code here
 20  
 
 21  
   private Page homePage, thanksPage;
 22  
   private UploadedImage otherDbImage;
 23  
   private Setting otherDbHomePageUrl;
 24  
   private Setting thisDbName, otherDbName;
 25  
   private Setting newsAdminName, newsAdminEmail;
 26  
   private Setting salesAdminName, salesAdminEmail;
 27  
   private Setting websiteFromName, websiteFromEmail;
 28  
   private Setting quantity, edit, confirm;
 29  
   private Setting description;
 30  
   private Setting keywords;
 31  
   private UploadedFileType pdf, wm, html, jpg, gif;
 32  
   private Div colophon;
 33  
   private Div comment;
 34  
   private Template thanksTemplate;
 35  
   private Div illogical;
 36  
   private Div orderThanks;
 37  
   private Div newsThanks;
 38  
   private Div sent;
 39  
   private Div duplicateLogin;
 40  
   /**
 41  
    * @return Returns the salesAdminEmail.
 42  
    */
 43  
   public Setting getSalesAdminEmail() {
 44  0
     return salesAdminEmail;
 45  
   }
 46  
 
 47  
   /**
 48  
    * @return Returns the salesAdminName.
 49  
    */
 50  
   public Setting getSalesAdminName() {
 51  0
     return salesAdminName;
 52  
   }
 53  
 
 54  
   /**
 55  
    * @return Returns the websiteFromEmail.
 56  
    */
 57  
   public Setting getWebsiteFromEmail() {
 58  0
     return websiteFromEmail;
 59  
   }
 60  
 
 61  
   /**
 62  
    * @return Returns the websiteFromName.
 63  
    */
 64  
   public Setting getWebsiteFromName() {
 65  0
     return websiteFromName;
 66  
   }
 67  
 
 68  
   public void connect(
 69  
       String name,
 70  
       String dbmsclass,
 71  
       String url,
 72  
       String username,
 73  
       String password,
 74  
       int maxConnections) {
 75  4
       super.connect(name, dbmsclass, url, username, password, maxConnections);
 76  
 
 77  4
       inSession(AccessToken.root, new PoemTask() {
 78  4
         public void run() {
 79  4
           homePage = (Page)getPageTable().firstSelection("id=0");
 80  4
           if (homePage == null) 
 81  4
             homePage = getPageTable().ensure("Home");
 82  4
           thanksTemplate = getTemplateTable().ensure("Thanks","thanks.wm");
 83  4
           thanksPage = (Page)getPageTable().getTemplateColumn().
 84  
                             firstWhereEq(thanksTemplate.troid());
 85  4
           if (thanksPage == null) 
 86  4
             thanksPage = getPageTable().ensure("Thanks", thanksTemplate);
 87  4
           pdf = getUploadedFileTypeTable().ensure("pdf");
 88  4
           wm = getUploadedFileTypeTable().ensure("wm");
 89  4
           html = getUploadedFileTypeTable().ensure("html");
 90  4
           jpg = getUploadedFileTypeTable().ensure("jpg");
 91  4
           gif = getUploadedFileTypeTable().ensure("gif");
 92  4
           otherDbImage = getUploadedImageTable().
 93  
                              ensure("other","Francais","images/french_flag.gif",gif, 
 94  
                                  new Integer(25), new Integer(25));
 95  4
           thisDbName =
 96  
             (Setting)getSettingTable().ensure(
 97  
                 "ThisDbName",
 98  
                 "en",
 99  
                 "English",
 100  
                 "Name of this database");
 101  4
           otherDbName =
 102  
             (Setting)getSettingTable().ensure(
 103  
                 "OtherDbName",
 104  
                 "fr",
 105  
                 "Francais",
 106  
                 "Name of other database");
 107  4
           otherDbHomePageUrl =
 108  
             (Setting)getSettingTable().ensure(
 109  
                 "OtherDbHomePageUrl",
 110  
                 "page/Home.html",
 111  
                 "Other DB Home Page",
 112  
                 "Home Page of other database");
 113  4
           newsAdminName =
 114  
             (Setting)getSettingTable().ensure(
 115  
                 "NewsAdminName",
 116  
                 "News Admin Name",
 117  
                 "News Admin Name",
 118  
                 "Name of person who deals with administration of the newsletter");
 119  4
           newsAdminEmail =
 120  
             (Setting)getSettingTable().ensure(
 121  
                 "NewsAdminEmail",
 122  
                 "rimauresq.NewsAdminEmail@context-computing.co.uk",
 123  
                 "News Admin Email",
 124  
                 "Email address of person responsible for newsletter administration");
 125  4
           salesAdminName =
 126  
             (Setting)getSettingTable().ensure(
 127  
                 "SalesAdminName",
 128  
                 "Sales Admin Name",
 129  
                 "Sales Admin Name",
 130  
                 "Name of person who deals with administration of sales");
 131  4
           salesAdminEmail =
 132  
             (Setting)getSettingTable().ensure(
 133  
                 "SalesAdminEmail",
 134  
                 "rimauresq.SalesAdminEmail@context-computing.co.uk",
 135  
                 "Sales Admin Email",
 136  
                 "Email address of person responsible for sales administration");
 137  4
           websiteFromName =
 138  
             (Setting)getSettingTable().ensure(
 139  
                 "WebsiteFromName",
 140  
                 "Website From Name",
 141  
                 "Website From Name",
 142  
                 "Name of person used to send emails from the website");
 143  4
           websiteFromEmail =
 144  
             (Setting)getSettingTable().ensure(
 145  
                 "WebsiteFromEmail",
 146  
                 "rimauresq.WebsiteEmail@context-computing.co.uk",
 147  
                 "Website From Email",
 148  
                 "Name of person used to send emails from the website");
 149  4
           quantity =
 150  
             (Setting)getSettingTable().ensure(
 151  
                 "QuantityText",
 152  
                 "Quantity",
 153  
                 "Quantity Text",
 154  
                 "Text to appear where Quantity is in the English site.");
 155  4
           edit =
 156  
             (Setting)getSettingTable().ensure(
 157  
                 "EditText",
 158  
                 "Edit",
 159  
                 "Edit Text",
 160  
                 "Text to appear where Edit is in the English site.");
 161  4
           confirm =
 162  
             (Setting)getSettingTable().ensure(
 163  
                 "confirm",
 164  
                 "Confirm",
 165  
                 "Confirm Text",
 166  
                 "Text to appear where Confirm is in the English site.");
 167  
 
 168  4
           description =
 169  
             (Setting)getSettingTable().ensure(
 170  
                 "description",
 171  
                 "A premium range of wines from Provence.",
 172  
                 "Site description",
 173  
                 "Descriptive text used in meta tags");
 174  4
           keywords =
 175  
             (Setting)getSettingTable().ensure(
 176  
                 "keywords",
 177  
                 "French, wines, Provence, Rimauresq",
 178  
                 "Site keywords",
 179  
                 "Comma separated values for use in keywords meta tag");
 180  
                     
 181  
           
 182  4
           colophon = getDivTable().ensure(null, "colophon", "Colophon", 
 183  
                 "By Paneris using Melati");
 184  4
           comment = getDivTable().ensure(null, "comment", "Comment", 
 185  
           "Any additional comments or instructions");
 186  
 
 187  4
           illogical = getDivTable().ensure(null, "illogical", "illogical", 
 188  
               "<p>You appear not to have ordered anything nor to have " +
 189  
               "subscribed to the newsletter.</p>" + 
 190  
               "<p>Please <a href=\"javascript:history.go(-1);\">" + 
 191  
               "try again</a></p>");
 192  4
           orderThanks = getDivTable().ensure(null, "orderThanks", 
 193  
               "Order Thanks", 
 194  
               "<p>Thank you for your order. " + 
 195  
               "We will be in touch shortly about payment and delivery.</p>");
 196  4
           newsThanks = getDivTable().ensure(null, "newsThanks", 
 197  
               "Registration Thanks", 
 198  
               "<p>Thank you for registering for Rimauresq News. " + 
 199  
               "We will keep you informed of the latest news and "+ 
 200  
               "special offers.</p>");
 201  4
           sent = getDivTable().ensure(null, "sent", "Sent", 
 202  
           "<p>The following message has been sent to our offices.</p>");
 203  4
           duplicateLogin = getDivTable().ensure(null, "duplicateLogin", 
 204  
               "Duplicate User Name", 
 205  
               "<p>Your login name has already been used.</p>" + 
 206  
               "<p>Please choose another.</p>");
 207  
         
 208  4
         }
 209  
       });
 210  
       
 211  4
       setDisplayName("Rimauresq");
 212  4
   }
 213  
 
 214  
   public boolean logSQL() {
 215  2202
     return false;
 216  
   }
 217  
 
 218  
   public Capability getCanAdminister() {
 219  0
     return administerCapability();
 220  
   }
 221  
 
 222  
   /**
 223  
    * @return Returns the homePage.
 224  
    */
 225  
   public Page getHomePage() {
 226  0
     return homePage;
 227  
   }
 228  
   /**
 229  
    * @return Returns the thans page.
 230  
    */
 231  
   public Page getThanksPage() {
 232  0
     return thanksPage;
 233  
   }
 234  
   /**
 235  
    * @return Returns the newsAdminEmail.
 236  
    */
 237  
   public String getNewsAdminEmail() {
 238  0
     return newsAdminEmail.getValue();
 239  
   }
 240  
   /**
 241  
    * @return Returns the newsAdminName.
 242  
    */
 243  
   public String getNewsAdminName() {
 244  0
     return newsAdminName.getValue();
 245  
   }
 246  
 
 247  
   /**
 248  
    * @return the image of the other db
 249  
    */
 250  
   public UploadedImage getOtherDbImage() {
 251  0
     return otherDbImage;
 252  
   }
 253  
 
 254  
   /**
 255  
    * @return the name of the other db
 256  
    */
 257  
   public String getOtherDbName() {
 258  0
     return otherDbName.getValue();
 259  
   }
 260  
 
 261  
   /**
 262  
    * @return the name of this db
 263  
    */
 264  
   public String getThisDbName() {
 265  0
     return thisDbName.getValue();
 266  
   }
 267  
 
 268  
   /**
 269  
    * @return home page url of other db
 270  
    */
 271  
   public String getOtherDbHomePageUrl() {
 272  0
     return otherDbHomePageUrl.getValue();
 273  
   }
 274  
 
 275  
   /**
 276  
    * @return the quantity setting
 277  
    */
 278  
   public String getQuantityText() {
 279  0
     return quantity.getValue();
 280  
   }
 281  
   /**
 282  
    * @return the word for 'edit' in this language
 283  
    */
 284  
   public String getEditText() {
 285  0
     return edit.getValue();
 286  
   }
 287  
   
 288  
   /**
 289  
    * Find a db specific template if it exists, otherwise the common one.
 290  
    * Does not check if common one exists - you will find out soon enough.
 291  
    * 
 292  
    * @param key fileName of template
 293  
    * @return resource name 
 294  
    */
 295  
   public String templateName(String key) {
 296  0
     String templateResourceName = "/org/paneris/rimauresq/view/" + getThisDbName() + "/" + key + ".wm";
 297  0
     if (this.getClass().getResource(templateResourceName) == null) {
 298  0
       templateResourceName = "/org/paneris/rimauresq/view/" + key + ".wm";
 299  
     }
 300  
 
 301  0
     return templateResourceName;
 302  
   }
 303  
 
 304  
   /**
 305  
    * @return the colophon div
 306  
    */
 307  
   public Div getColophon() {
 308  0
     return colophon;
 309  
   }
 310  
 
 311  
   /**
 312  
    * @return the comment div
 313  
    */
 314  
   public Div getComment() {
 315  0
     return comment;
 316  
   }
 317  
   
 318  
   /**
 319  
    * Return a string from the settings table. 
 320  
    * 
 321  
    * @param settingName key into setting table
 322  
    * @return ensured setting value, same as key if not previously set
 323  
    */
 324  
   public String getText(String settingName) {
 325  0
     Setting s = (Setting)getSettingTable().ensure(
 326  
         settingName,
 327  
         settingName,
 328  
         settingName,
 329  
         settingName);
 330  0
     return s.getValue();
 331  
   }
 332  
 
 333  
   /**
 334  
    * @return the thanks template
 335  
    */
 336  
   public Template getThanksTemplate() {
 337  0
     return thanksTemplate;
 338  
   }
 339  
 
 340  
   /**
 341  
    * @return the div to say that a choice makes no sense
 342  
    */
 343  
   public Div getIllogical() {
 344  0
     return illogical;
 345  
   }
 346  
 
 347  
   /**
 348  
    * @return the order thanks div
 349  
    */
 350  
   public Div getOrderThanks() {
 351  0
     return orderThanks;
 352  
   }
 353  
 
 354  
   /**
 355  
    * @return the news subscription thanks div 
 356  
    */
 357  
   public Div getNewsThanks() {
 358  0
     return newsThanks;
 359  
   }
 360  
 
 361  
   /**
 362  
    * @return the div of what email has been sent
 363  
    */
 364  
   public Div getSent() {
 365  0
     return sent;
 366  
   }
 367  
 
 368  
   /**
 369  
    * @return the confirm setting
 370  
    */
 371  
   public Setting getConfirm() {
 372  0
     return confirm;
 373  
   }
 374  
 
 375  
   /**
 376  
    * @return the html type
 377  
    */
 378  
   public UploadedFileType getHtml() {
 379  0
     return html;
 380  
   }
 381  
 
 382  
   /**
 383  
    * @return the jpg type
 384  
    */
 385  
   public UploadedFileType getJpg() {
 386  0
     return jpg;
 387  
   }
 388  
 
 389  
   /**
 390  
    * @return the wm type
 391  
    */
 392  
   public UploadedFileType getWm() {
 393  0
     return wm;
 394  
   }
 395  
   /**
 396  
    * @return the pdf type
 397  
    */
 398  
   public UploadedFileType getPdf() {
 399  0
     return pdf;
 400  
   }
 401  
 
 402  
   /**
 403  
    * @return the duplicate login div
 404  
    */
 405  
   public Div getDuplicateLogin() {
 406  0
     return duplicateLogin;
 407  
   }
 408  
   /**
 409  
    * @return the description 
 410  
    */
 411  
   public String getDescription() {
 412  0
     return description.getValue();
 413  
   }
 414  
   /**
 415  
    * @return the keywords
 416  
    */
 417  
   public String getKeywords() {
 418  0
     return keywords.getValue();
 419  
   }
 420  
 
 421  
   public String getJavaName() { 
 422  0
     return StringUtils.capitalised(getName());    
 423  
   }
 424  
 }