1 package com.dotmarketing.viewtools; 2 3 import java.util.ArrayList ; 4 import java.util.Date ; 5 import java.util.GregorianCalendar ; 6 import java.util.HashMap ; 7 import java.util.Iterator ; 8 import java.util.List ; 9 import java.util.StringTokenizer ; 10 11 import org.apache.velocity.tools.view.tools.ViewTool; 12 13 import com.dotmarketing.beans.Identifier; 14 import com.dotmarketing.factories.IdentifierFactory; 15 import com.dotmarketing.factories.InodeFactory; 16 import com.dotmarketing.portlets.categories.model.Category; 17 import com.dotmarketing.portlets.entities.factories.EntityFactory; 18 import com.dotmarketing.portlets.entities.model.Entity; 19 import com.dotmarketing.portlets.events.factories.EventFactory; 20 import com.dotmarketing.portlets.events.model.Event; 21 import com.dotmarketing.portlets.events.model.Recurance; 22 import com.dotmarketing.portlets.files.model.File; 23 import com.dotmarketing.util.UtilHTML; 24 import com.dotmarketing.util.UtilMethods; 25 26 public class EventsWebAPI implements ViewTool { 27 28 29 public void init(Object obj) { 30 31 } 32 33 public Event getEvent(long eventInode) { 35 36 Event ret = (Event) InodeFactory.getInode(eventInode, Event.class); 37 return ret; 38 } 39 40 public Event getEvent(String eventInode) { 41 42 Event ret = (Event) InodeFactory.getInode(eventInode, Event.class); 43 return ret; 44 } 45 46 public List getEventAttachments(Event event) { 47 48 java.util.List _files = InodeFactory.getChildrenClass(event, Identifier.class); 49 ArrayList ret = new ArrayList (); 50 Iterator it = _files.iterator(); 51 while (it.hasNext()) { 52 Identifier identifier = (Identifier) it.next(); 53 File file = (File) IdentifierFactory.getWorkingChildOfClass(identifier, File.class); 54 ret.add(file); 55 } 56 return ret; 57 } 58 59 public Recurance getEventRecurance(Event ev) { 60 if (ev != null) 61 return (Recurance) InodeFactory.getChildOfClass(ev, Recurance.class); 62 else 63 return null; 64 } 65 66 public String recuranceToString(Recurance r) { 67 return com.dotmarketing.util.UtilHTML.recuranceToString(r); 68 } 69 70 public File getEventImage(String eventInode) { 71 72 Event event = (Event) InodeFactory.getInode(eventInode, Event.class); 73 return getEventImage(event); 74 75 } 76 77 public File getEventImage(Event event) { 78 File file = null; 79 80 if (event.getInode() > 0) { 81 List identifiers = InodeFactory.getChildrenClass(event, Identifier.class); 82 Iterator it = identifiers.iterator(); 83 while (it.hasNext()) { 84 Identifier identifier = (Identifier) it.next(); 85 file = (File) IdentifierFactory.getWorkingChildOfClass(identifier, File.class); 86 if (UtilMethods.isImage(file.getFileName())) 87 return file; 88 } 89 } 90 91 file = new File(); 92 93 return file; 94 } 95 96 public HashMap getEventCategories(Event ev) { 97 98 HashMap ret = new HashMap (); 99 100 Entity entity = EntityFactory.getEntity("Event"); 101 List categories = EntityFactory.getEntityCategories(entity); 102 Iterator catsIter = categories.iterator(); 103 104 while (catsIter.hasNext()) { 105 106 Category cat = (Category) catsIter.next(); 107 List cats = InodeFactory.getChildrenClass(cat, Category.class); 108 List eventCats = InodeFactory.getParentsOfClass(ev, Category.class); 109 ArrayList list = new ArrayList (); 110 Iterator it = eventCats.iterator(); 111 while (it.hasNext()) { 112 Category catTemp = (Category) it.next(); 113 if (cats.contains(catTemp)) { 114 list.add(catTemp); 115 } 116 } 117 ret.put(cat.getCategoryName(), list); 118 } 119 return ret; 120 } 121 122 123 public List getEventsList(Date from, Date to, String keywords, String [] categories, int maxEvents) { 125 126 java.util.Calendar fromCal = new GregorianCalendar (); 127 fromCal.setTime(from); 128 java.util.Calendar toCal = new GregorianCalendar (); 129 toCal.setTime(to); 130 fromCal.set(java.util.Calendar.HOUR_OF_DAY, 0); 131 fromCal.set(java.util.Calendar.MINUTE, 0); 132 fromCal.set(java.util.Calendar.SECOND, 0); 133 toCal.set(java.util.Calendar.HOUR_OF_DAY, 23); 134 toCal.set(java.util.Calendar.MINUTE, 59); 135 toCal.set(java.util.Calendar.SECOND, 59); 136 137 return EventFactory.getPublicEvents(fromCal.getTime(), toCal.getTime(), keywords, categories, maxEvents); 138 139 } 140 141 public Date getTodayDate() { 143 return new Date (); 144 } 145 146 public String getTodayDateString() { 147 return UtilMethods.dateToHTMLDate(new Date ()); 148 } 149 150 public java.util.Calendar getCalendar() { 151 return new GregorianCalendar (); 152 } 153 154 160 public java.util.Calendar addCalendarDate(java.util.Calendar cal, int days) { 161 cal.add(GregorianCalendar.DATE, days); 162 return cal; 163 } 164 165 public List getEventsCategories() { 166 ArrayList retList = new ArrayList (); 167 168 Entity entity = EntityFactory.getEntity("Event"); 169 List categories = EntityFactory.getEntityCategories(entity); 170 Iterator catsIter = categories.iterator(); 171 172 while (catsIter.hasNext()) { 173 Category cat = (Category) catsIter.next(); 174 List cats = InodeFactory.getChildrenClass(cat, Category.class); 175 retList.add(cats); 176 } 177 return retList; 178 179 } 180 181 public String getEventsCategoriesList(String inode) { 182 String retList = ""; 183 Entity entity = EntityFactory.getEntity("Event"); 184 List categories = EntityFactory.getEntityCategories(entity); 185 Iterator catsIter = categories.iterator(); 186 187 while (catsIter.hasNext()) { 188 Category cat = (Category) catsIter.next(); 189 retList = retList + UtilHTML.getSelectCategories(cat, 0, inode + ","); 190 191 } 192 return retList; 193 } 194 195 196 197 public List getEvents(Date startDate, int daysDuration, String cats) { 199 200 201 List parents = new ArrayList (); 202 if(cats != null){ 203 StringTokenizer st = new StringTokenizer (cats, ","); 204 while (st.hasMoreTokens()) { 205 try { 206 Category cat = new Category(); 207 cat.setInode(st.nextToken()); 208 parents.add(cat); 209 } catch (Exception e) { 210 } 211 } 212 } 213 214 return parents; 215 } 216 217 218 219 220 } | Popular Tags |