Changeset 420
- Timestamp:
- 04/28/06 11:57:22
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/calendar3/caldav/src/edu/rpi/cct/uwcal/caldav/calquery/FreeBusyQuery.java
r369 r420 60 60 import org.bedework.davdefs.CaldavTags; 61 61 62 63 62 import edu.rpi.cct.uwcal.caldav.CalDavParseUtil; 64 63 import edu.rpi.cct.uwcal.caldav.CaldavBWIntf; … … 69 68 import edu.rpi.cct.webdav.servlet.shared.WebdavNsIntf; 70 69 71 70 import java.util.ArrayList; 72 71 import java.util.Collection; 73 72 import java.util.Iterator; 74 import java.util.Vector;75 73 import javax.servlet.http.HttpServletResponse; 76 74 … … 110 108 try { 111 109 if (timeRanges == null) { 112 timeRanges = new Vector();110 timeRanges = new ArrayList(); 113 111 } 114 112 … … 140 138 public Collection getFreeBusy(CalSvcI svci, String user) throws WebdavException { 141 139 Iterator it = timeRanges.iterator(); 142 Collection fbs = new Vector();140 Collection fbs = new ArrayList(); 143 141 144 142 while (it.hasNext()) { trunk/calendar3/calsvc/src/org/bedework/calsvc/CalSvc.java
r415 r420 1147 1147 } 1148 1148 1149 /* For the moment just build a single BwFreeBusyComponent1150 */1151 BwFreeBusyComponent fbc = new BwFreeBusyComponent();1152 1153 1149 Iterator it = events.iterator(); 1154 1150 … … 1181 1177 } 1182 1178 1183 eventPeriods.add(new EventPeriod(new DateTime(dstart), 1184 new DateTime(dend))); 1179 DateTime psdt = new DateTime(dstart); 1180 DateTime pedt = new DateTime(dend); 1181 1182 psdt.setUtc(true); 1183 pedt.setUtc(true); 1184 1185 eventPeriods.add(new EventPeriod(psdt, pedt)); 1185 1186 } 1186 1187 … … 1189 1190 1190 1191 Period p = null; 1192 1193 /* For the moment just build a single BwFreeBusyComponent 1194 */ 1195 BwFreeBusyComponent fbc = null; 1191 1196 1192 1197 it = eventPeriods.iterator(); … … 1198 1203 } else if (ep.start.after(p.getEnd())) { 1199 1204 // Non adjacent periods 1205 if (fbc == null) { 1206 fbc = new BwFreeBusyComponent(); 1207 } 1200 1208 fbc.addPeriod(p); 1201 1209 p = new Period(ep.start, ep.end); … … 1207 1215 1208 1216 if (p != null) { 1217 if (fbc == null) { 1218 fbc = new BwFreeBusyComponent(); 1219 } 1209 1220 fbc.addPeriod(p); 1210 1221 } 1211 1222 1212 fb.addTime(fbc); 1223 if (fbc != null) { 1224 fb.addTime(fbc); 1225 } 1213 1226 } catch (Throwable t) { 1214 1227 throw new CalFacadeException(t); trunk/calendar3/test/src/org/bedework/tests/caldav/Req.java
r2 r420 55 55 package org.bedework.tests.caldav; 56 56 57 import org.bedework.calfacade.CalFacadeUtil; 58 57 59 import java.io.ByteArrayOutputStream; 58 60 import java.io.File; … … 60 62 import java.io.FileReader; 61 63 import java.io.LineNumberReader; 62 import java.util.Vector; 64 import java.util.ArrayList; 65 import java.util.Calendar; 66 import java.util.Collection; 67 import java.util.Date; 63 68 64 69 import org.apache.commons.httpclient.Header; … … 102 107 LineNumberReader lnr = new LineNumberReader(frdr); 103 108 104 Vectorheaders = null;105 Vectorcont = null;109 Collection headers = null; 110 Collection cont = null; 106 111 107 112 do { … … 151 156 */ 152 157 if (headers == null) { 153 headers = new Vector();158 headers = new ArrayList(); 154 159 } 155 160 … … 185 190 */ 186 191 if (cont == null) { 187 cont = new Vector();192 cont = new ArrayList(); 188 193 } 189 194 } else { … … 311 316 sb.append("\n"); 312 317 } 313 contentBytes = sb.toString().getBytes(); 318 contentBytes = detokenizeContent(sb); 319 314 320 return contentBytes; 315 321 } … … 332 338 } while (true); 333 339 334 contentBytes = baos.toByteArray();340 contentBytes = detokenizeContent(new StringBuffer(baos.toString())); 335 341 336 342 return contentBytes; 337 343 } 344 345 /* Replace any of our tokens with values. Pretty primitive at the moment. 346 * 347 */ 348 private byte[] detokenizeContent(StringBuffer val) { 349 replaceToken(val, "@NOW@"); 350 351 replaceToken(val, "@TOMORROW@"); 352 353 replaceToken(val, "@NEXTWEEK@"); 354 355 return val.toString().getBytes(); 356 } 357 358 private void replaceToken(StringBuffer sb, String token) { 359 int len = token.length(); 360 int pos = 0; 361 String val = null; 362 363 while (true) { 364 pos = sb.indexOf(token, pos); 365 if (pos < 0) { 366 return; 367 } 368 369 if (val == null) { 370 val = getTokenValue(token); 371 } 372 373 sb.replace(pos, pos + len, val); 374 } 375 } 376 377 private String getTokenValue(String token) { 378 if (token.equals("@NOW@")) { 379 return CalFacadeUtil.isoDateTimeUTC(new Date()); 380 } 381 382 if (token.equals("@TOMORROW@")) { 383 Calendar cal = Calendar.getInstance(); 384 cal.add(Calendar.DATE, 1); 385 return CalFacadeUtil.isoDateTimeUTC(cal.getTime()); 386 } 387 388 if (token.equals("@NEXTWEEK@")) { 389 Calendar cal = Calendar.getInstance(); 390 cal.add(Calendar.WEEK_OF_YEAR, 1); 391 return CalFacadeUtil.isoDateTimeUTC(cal.getTime()); 392 } 393 394 return null; 395 } 338 396 } 339 397
