1 package org.paneris.jammyjoes.model; 2 3 import org.melati.poem.AccessToken; 4 import org.melati.poem.Capability; 5 import org.melati.poem.PoemTask; 6 import org.melati.poem.Setting; 7 import org.paneris.jammyjoes.model.generated.JammyjoesDatabaseBase; 8 9 public class JammyjoesDatabase extends JammyjoesDatabaseBase implements JammyjoesDatabaseTables { 10 11 public static final String defaultOrderEmailTo = "orders@jammyjoes.com"; 12 public static final String defaultReminderEmailFrom = "reminder@jammyjoes.com"; 13 public static final int defaultDefaultAffiliatePercentage = 5; 14 public static final int defaultDefaultCookiedays = 45; 15 private Setting orderEmailTo, reminderEmailFrom, defaultAffiliatePercentage, defaultCookiedays; 16 private Capability _operatorCapability; 17 private Capability _affiliateCapability; 18 19 public boolean logSQL() { 20 return false; 21 } 22 23 public void connect( 24 String name, 25 String dbmsclass, 26 String url, 27 String username, 28 String password, 29 int maxConnections) { 30 super.connect(name, dbmsclass, url, username, password, maxConnections); 31 32 inSession(AccessToken.root, new PoemTask() { 33 public void run() { 34 orderEmailTo = 35 getSettingTable().ensure( 36 "OrderEmailTo", 37 defaultOrderEmailTo, 38 "Order Email `To:'", 39 "The address to send orders to"); 40 reminderEmailFrom = 41 getSettingTable().ensure( 42 "ReminderEmailFrom", 43 defaultReminderEmailFrom, 44 "Reminder Email `To:'", 45 "The address from which password reminders are sent from"); 46 defaultAffiliatePercentage = 47 getSettingTable().ensure( 48 "DefaultAffiliatePercentage", 49 defaultDefaultAffiliatePercentage, 50 "Default Affiliate Percentage", 51 "The percentage to pay Affiliates"); 52 defaultCookiedays = 53 getSettingTable().ensure( 54 "DefaultCookiedays", 55 defaultDefaultCookiedays, 56 "Default Cookie Days", 57 "The number of cookie days for Affiliates"); 58 _operatorCapability = getCapabilityTable().ensure("Phone Operator"); 59 _affiliateCapability = getCapabilityTable().ensure("Affiliate"); 60 } 61 }); 62 } 63 64 public String getOrderEmailTo() { 65 return orderEmailTo.getStringCooked(); 66 } 67 68 public String getReminderEmailFrom() { 69 return reminderEmailFrom.getStringCooked(); 70 } 71 72 public Integer getDefaultAffiliatePercentage() { 73 return (Integer) defaultAffiliatePercentage.getCooked(); 74 } 75 76 public Integer getDefaultCookiedays() { 77 return (Integer) defaultCookiedays.getCooked(); 78 } 79 80 public Capability getCanAdminister() { 81 return administerCapability(); 82 } 83 84 public Capability getOperatorCapability() { 85 return _operatorCapability; 86 } 87 88 public Capability getAffiliateCapability() { 89 return _affiliateCapability; 90 } 91 }