1 package com.dotmarketing.portlets.campaigns.factories; 2 3 import java.util.Iterator ; 4 import java.util.List ; 5 6 import com.dotmarketing.db.DotHibernate; 7 import com.dotmarketing.factories.InodeFactory; 8 import com.dotmarketing.portlets.campaigns.model.Campaign; 9 import com.dotmarketing.portlets.campaigns.model.Click; 10 import com.dotmarketing.portlets.campaigns.model.Recipient; 11 import com.dotmarketing.util.Config; 12 import com.dotmarketing.util.Logger; 13 import com.dotmarketing.util.UtilMethods; 14 import com.liferay.portal.model.User; 15 16 17 21 public class CampaignFactory { 22 public static void unlockAllCampaigns() { 23 List campaigns = CampaignFactory.getCampaigns(); 24 java.util.Iterator i = campaigns.iterator(); 25 26 while (i.hasNext()) { 27 Campaign c = (Campaign) i.next(); 28 29 if (c.isLocked()) { 30 c.setLocked(false); 31 InodeFactory.saveInode(c); 32 DotHibernate.flush(); 33 } 34 } 35 36 } 37 38 public static java.util.List getCampaignsByUser(User u) { 39 return getCampaignsByUser(u, "",""); 40 } 41 42 public static java.util.List getCampaignsByUser(User u, String condition, String orderby) { 43 DotHibernate dh = new DotHibernate(Campaign.class); 44 45 if(!UtilMethods.isSet(orderby)){ 46 orderby = "start_date desc"; 47 } 48 49 String conditionQuery = ""; 50 if(UtilMethods.isSet(condition)){ 51 conditionQuery = " and title like '%"+condition+"%' "; 52 } 53 dh.setQuery( 54 "from inode in class com.dotmarketing.portlets.campaigns.model.Campaign where user_id = ? "+conditionQuery+" order by "+ orderby); 55 dh.setParam(u.getUserId()); 56 57 return dh.list(); 58 } 59 60 public static java.util.List getCampaigns() { 61 return getCampaigns("",""); 62 } 63 64 public static java.util.List getCampaignsForViewer(String orderby) { 65 DotHibernate dh = new DotHibernate(Campaign.class); 66 if(!UtilMethods.isSet(orderby)){ 67 orderby = "start_date desc"; 68 } 69 70 dh.setQuery("from inode in class com.dotmarketing.portlets.campaigns.model.Campaign where completed_date is not null order by "+orderby); 71 72 return dh.list(); 73 } 74 75 public static java.util.List getCampaigns(String condition, String orderby) { 76 DotHibernate dh = new DotHibernate(Campaign.class); 77 if(!UtilMethods.isSet(orderby)){ 78 orderby = "start_date desc"; 79 } 80 81 String conditionQuery = ""; 82 if(UtilMethods.isSet(condition)){ 83 conditionQuery = " where title like '%"+condition+"%' "; 84 } 85 86 dh.setQuery("from inode in class com.dotmarketing.portlets.campaigns.model.Campaign "+conditionQuery+" order by "+orderby); 87 88 return dh.list(); 89 } 90 91 public static Campaign getCampaign(String inode, String userId) { 92 return getCampaign(inode,userId, ""); 93 } 94 95 public static Campaign getCampaign(String inode, String userId, String orderby) { 96 DotHibernate dh = new DotHibernate(Campaign.class); 97 if(!UtilMethods.isSet(orderby)){ 98 orderby = "start_date"; 99 } 100 dh.setQuery( 101 "from inode in class com.dotmarketing.portlets.campaigns.model.Campaign where inode = ? and user_id = ? order by "+orderby); 102 dh.setParam(inode); 103 dh.setParam(userId); 104 105 return (Campaign) dh.load(); 106 } 107 108 public static Campaign getCampaign(String inode) { 109 DotHibernate dh = new DotHibernate(Campaign.class); 110 dh.setQuery( 111 "from inode in class com.dotmarketing.portlets.campaigns.model.Campaign where inode = ?"); 112 dh.setParam(inode); 113 114 return (Campaign) dh.load(); 115 } 116 117 public static Campaign newInstance() { 118 Campaign c = new Campaign(); 119 c.setType("campaign"); 120 c.setStartDate(new java.util.Date ()); 121 122 return c; 123 } 124 125 128 public static void deleteCampaign(Campaign c, String userId) { 129 if ((userId == null) || (c.getUserId() == null)) { 130 return; 131 } 132 133 if (c.getUserId().equalsIgnoreCase(userId)) { 134 java.util.List recipients = RecipientFactory.getAllRecipientsByCampaign(c); 135 Iterator i = recipients.iterator(); 136 137 while (i.hasNext()) { 138 Recipient r = (Recipient) i.next(); 139 java.util.List clicks = ClickFactory.getClicksByParent(r); 140 Iterator i2 = clicks.iterator(); 141 142 while (i2.hasNext()) { 143 Click click = (Click) i2.next(); 144 InodeFactory.deleteInode(click); 145 } 146 147 InodeFactory.deleteInode(r); 148 } 149 150 InodeFactory.deleteInode(c); 151 } 152 } 153 154 public static synchronized List getWaitingCampaigns() { 155 DotHibernate dh = new DotHibernate(Campaign.class); 156 dh.setQuery( 157 "from inode in class com.dotmarketing.portlets.campaigns.model.Campaign where start_date < ? and active = " + 158 com.dotmarketing.db.DbConnectionFactory.getDBTrue() + " and locked = " + com.dotmarketing.db.DbConnectionFactory.getDBFalse() + 159 " and completed_date is null order by start_date"); 160 161 dh.setParam(new java.util.Date ()); 162 163 java.util.List list = dh.list(); 164 Iterator i = list.iterator(); 165 166 while (i.hasNext()) { 167 Logger.debug(CampaignFactory.class, "gettingWaitingCampaigns"); 168 169 Campaign c = (Campaign) i.next(); 170 c.setLocked(true); 171 DotHibernate.flush(); 172 } 173 174 return list; 175 } 176 } 177 | Popular Tags |