Changeset 751

Show
Ignore:
Timestamp:
07/12/06 00:41:17
Author:
douglm
Message:

Moved useful translater class into client
Removed old caldav test class
Fixed up Domino caldav interface build

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/calendar3/build.xml

    r724 r751  
    9494          depends="bld.locale,bld.common,bld.access,bld.davdefs,bld.calfacade, 
    9595                   bld.calenv,bld.ical,bld.core, 
    96                    bld.http,bld.caldavclientapi, 
     96                   bld.http, 
    9797                   bld.calsvci,bld.mail,bld.logging, 
    9898                   bld.calsvc,bld.appcommon,bld.uportal, 
    9999                   bld.webadmin,bld.webclient,bld.synchml, 
    100                    bld.caldav,bld.caldavGoogle,bld.caldavTest, 
     100                   bld.caldav,bld.caldavclientapi, 
     101                   bld.caldavGoogle,bld.caldavDomino,bld.caldavTest, 
    101102                   bld.timers,build.tools, 
    102103                   bld.dumprestore, 
     
    403404  </target> 
    404405 
     406  <target name="bld.caldavDomino" 
     407          depends="bld.caldav" 
     408          description="Build calendar caldav Domino interface" 
     409          if="org.bedework.build.caldav.domino"> 
     410    <ant antfile="${org.bedework.caldavdomino.base}/build.xml" inheritrefs="true" 
     411           target="build" /> 
     412  </target> 
     413 
    405414  <target name="bld.caldavGoogle" 
    406415          depends="bld.caldav" 
  • trunk/calendar3/calFacade/src/org/bedework/calfacade/BwDateTime.java

    r746 r751  
    183183   * 
    184184   * @return String date 
    185    * @throws CalFacadeException 
    186    */ 
    187   public String getDate() throws CalFacadeException { 
     185   */ 
     186  public String getDate() { 
    188187    return date; 
    189188  } 
     
    496495    BwDateTime dt2 = (BwDateTime)o2; 
    497496 
    498     try { 
    499       return dt1.getDate().compareTo(dt2.getDate()); 
    500     } catch (CalFacadeException cfe) { 
    501       throw new RuntimeException(cfe); 
    502     } 
     497    return dt1.getDate().compareTo(dt2.getDate()); 
    503498  } 
    504499 
     
    563558 
    564559    return CalFacadeUtil.eqObjval(getDtval(), that.getDtval()); 
     560  } 
     561 
     562  public Object clone() { 
     563    BwDateTime ndt = new BwDateTime(); 
     564 
     565    ndt.setDateType(getDateType()); 
     566    ndt.setTzid(getTzid()); 
     567    ndt.setDtval(getDtval()); 
     568    ndt.setDate(getDate()); 
     569 
     570    return ndt; 
    565571  } 
    566572 
  • trunk/calendar3/caldavClientApi/build.xml

    r741 r751  
    5050      <pathelement location="${org.bedework.ical.jar}"/> 
    5151      <pathelement location="${org.bedework.calfacadeshared.jar}"/> 
     52      <pathelement location="${org.bedework.calsvci.jar}"/> 
     53      <pathelement location="${org.bedework.calsvc.jar}"/> 
    5254    </path> 
    5355 
  • trunk/calendar3/caldavDomino/build.xml

    r746 r751  
    4141    <path id="compile.classpath"> 
    4242      <pathelement location="${servlet.jar}"/> 
     43      <pathelement location="${httpclient.jar}"/> 
    4344      <pathelement location="${ical4j.jar}"/> 
    4445      <pathelement location="${log4j.jar}"/> 
     
    5051      <pathelement location="${org.bedework.common.jar}"/> 
    5152      <pathelement location="${org.bedework.calfacadeshared.jar}"/> 
    52       <pathelement location="${org.bedework.calsvci.jar}"/> 
    53       <pathelement location="${org.bedework.calsvc.jar}"/> 
    5453      <pathelement location="${org.bedework.caldav.jar}"/> 
     54      <pathelement location="${org.bedework.caldavClientApi.jar}"/> 
    5555      <pathelement location="${org.bedework.davdefs.jar}"/> 
    5656      <pathelement location="${org.bedework.ical.jar}"/> 
  • trunk/calendar3/caldavDomino/src/edu/rpi/cct/bedework/caldav/DominoSysIntfImpl.java

    r748 r751  
    5454package edu.rpi.cct.bedework.caldav; 
    5555 
     56import org.bedework.caldav.client.api.BwIcalTrans; 
    5657import org.bedework.caldav.client.api.CaldavClientIo; 
    5758import org.bedework.caldav.client.api.CaldavReq; 
     
    6566import org.bedework.calfacade.ifs.CalTimezones; 
    6667 
    67 import edu.rpi.cct.uwcal.caldav.IcalTrans; 
    6868import edu.rpi.cct.uwcal.caldav.SysIntf; 
    6969import edu.rpi.cct.webdav.servlet.shared.WebdavException; 
     
    7171 
    7272import net.fortuna.ical4j.model.Calendar; 
     73import net.fortuna.ical4j.model.DateTime; 
    7374import net.fortuna.ical4j.model.Period; 
    7475import net.fortuna.ical4j.model.TimeZone; 
     
    7778import org.apache.log4j.Logger; 
    7879 
     80import java.io.InputStreamReader; 
    7981import java.io.Reader; 
    8082import java.io.Serializable; 
    8183import java.net.URI; 
    82 import java.net.URL; 
    8384import java.net.URLDecoder; 
    8485import java.util.Arrays; 
     
    8788import java.util.Iterator; 
    8889import java.util.List; 
     90import java.util.TreeSet; 
    8991 
    9092import javax.servlet.http.HttpServletRequest; 
     
    163165  private transient Logger log; 
    164166 
    165   /* Prefix for our properties */ 
    166   private String envPrefix; 
    167  
    168   private String account; 
    169  
    170   private IcalTrans trans; 
     167  private BwIcalTrans trans; 
    171168 
    172169  public void init(HttpServletRequest req, 
     
    175172                   boolean debug) throws WebdavIntfException { 
    176173    try { 
    177       this.envPrefix = envPrefix; 
    178       this.account = account; 
    179174      this.debug = debug; 
    180175 
    181       trans = new IcalTrans(debug); 
     176      trans = new BwIcalTrans(envPrefix, debug); 
    182177    } catch (Throwable t) { 
    183178      throw new WebdavIntfException(t); 
     
    244239      CaldavResp resp = send(req, di); 
    245240 
    246       return null; 
     241      Collection fbs = getTrans().getFreeBusy( 
     242                          new InputStreamReader(resp.getContentStream())); 
     243 
     244      /* Domino returns free time - invert to get busy time 
     245       * First we'll order all the periods in the result. 
     246       */ 
     247 
     248      TreeSet periods = new TreeSet(); 
     249      Iterator fbit = fbs.iterator(); 
     250      while (fbit.hasNext()) { 
     251        Object o = fbit.next(); 
     252 
     253        if (o instanceof BwFreeBusy) { 
     254          BwFreeBusy fb = (BwFreeBusy)o; 
     255 
     256          Iterator fbpit = fb.iterateTimes(); 
     257          while (fbpit.hasNext()) { 
     258            BwFreeBusyComponent fbcomp = (BwFreeBusyComponent)fbpit.next(); 
     259 
     260            if (fbcomp.getType() != BwFreeBusyComponent.typeFree) { 
     261              throw WebdavIntfException.serverError(); 
     262            } 
     263 
     264            Iterator perit = fbcomp.iteratePeriods(); 
     265            while (perit.hasNext()) { 
     266              periods.add(perit.next()); 
     267            } 
     268          } 
     269        } 
     270      } 
     271 
     272      BwFreeBusy fb = new BwFreeBusy(); 
     273 
     274      fb.setStart(start); 
     275      fb.setEnd(end); 
     276 
     277      BwFreeBusyComponent fbcomp = new BwFreeBusyComponent(); 
     278 
     279      fb.addTime(fbcomp); 
     280 
     281      fbcomp.setType(BwFreeBusyComponent.typeBusy); 
     282 
     283      /* Fill in the gaps between the free periods with busy time. */ 
     284 
     285      DateTime bstart = (DateTime)start.makeDate(); 
     286 
     287      Iterator pit = periods.iterator(); 
     288      while (pit.hasNext()) { 
     289        Period p = (Period)pit.next(); 
     290 
     291        Period busyp = new Period(bstart, p.getStart()); 
     292        fbcomp.addPeriod(busyp); 
     293 
     294        bstart = p.getEnd(); 
     295      } 
     296 
     297      return fb; 
    247298    } catch (WebdavIntfException wie) { 
    248299      throw wie; 
     
    335386   * ==================================================================== */ 
    336387 
    337   private IcalTrans getTrans() throws WebdavIntfException { 
     388  private BwIcalTrans getTrans() throws WebdavIntfException { 
    338389    try { 
    339390      trans.open(); 
     
    353404      // from 20060716T120000Z make 2006-07-16T12:00:00Z 
    354405      //      0   4 6    1 3 
    355       sb.append(sb.substring(0, 4)); 
     406      sb.append(utcdt.substring(0, 4)); 
    356407      sb.append("-"); 
    357       sb.append(sb.substring(4, 6)); 
     408      sb.append(utcdt.substring(4, 6)); 
    358409      sb.append("-"); 
    359       sb.append(sb.substring(6, 11)); 
     410      sb.append(utcdt.substring(6, 11)); 
    360411      sb.append(":"); 
    361       sb.append(sb.substring(11, 13)); 
     412      sb.append(utcdt.substring(11, 13)); 
    362413      sb.append(":"); 
    363       sb.append(sb.substring(13)); 
     414      sb.append(utcdt.substring(13)); 
    364415 
    365416      return sb.toString(); 
     
    369420  } 
    370421 
     422  /* 
    371423  private net.fortuna.ical4j.model.DateTime makeIcalDateTime(String val) 
    372424          throws WebdavIntfException { 
     
    380432    } 
    381433  } 
     434  */ 
    382435 
    383436  private List splitUri(String uri, boolean decoded) throws WebdavIntfException { 
     
    433486   * @param r 
    434487   * @param di 
    435    * @param url 
    436488   * @return CaldavResp 
    437489   * @throws Throwable 
  • trunk/calendar3/caldavGoogle/build.xml

    r723 r751  
    5252      <pathelement location="${org.bedework.common.jar}"/> 
    5353      <pathelement location="${org.bedework.calfacadeshared.jar}"/> 
    54       <pathelement location="${org.bedework.calsvci.jar}"/> 
    55       <pathelement location="${org.bedework.calsvc.jar}"/> 
    5654      <pathelement location="${org.bedework.caldav.jar}"/> 
     55      <pathelement location="${org.bedework.caldavClientApi.jar}"/> 
    5756      <pathelement location="${org.bedework.davdefs.jar}"/> 
    5857      <pathelement location="${org.bedework.ical.jar}"/> 
  • trunk/calendar3/caldavGoogle/src/edu/rpi/cct/bedework/caldav/GoogleSysIntfImpl.java

    r748 r751  
    5454package edu.rpi.cct.bedework.caldav; 
    5555 
     56import org.bedework.caldav.client.api.BwIcalTrans; 
    5657import org.bedework.calfacade.BwCalendar; 
    5758import org.bedework.calfacade.BwDateTime; 
     
    6263import org.bedework.calfacade.ifs.CalTimezones; 
    6364 
    64 import edu.rpi.cct.uwcal.caldav.IcalTrans; 
    6565import edu.rpi.cct.uwcal.caldav.SysIntf; 
    6666import edu.rpi.cct.webdav.servlet.shared.WebdavException; 
     
    102102  private transient Logger log; 
    103103 
    104   /* Prefix for our properties */ 
    105   private String envPrefix; 
    106  
    107   private String account; 
    108  
    109   private IcalTrans trans; 
     104  private BwIcalTrans trans; 
    110105 
    111106  public void init(HttpServletRequest req, 
     
    114109                   boolean debug) throws WebdavIntfException { 
    115110    try { 
    116       this.envPrefix = envPrefix; 
    117       this.account = account; 
    118111      this.debug = debug; 
    119112 
    120       trans = new IcalTrans(debug); 
     113      trans = new BwIcalTrans(envPrefix, debug); 
    121114    } catch (Throwable t) { 
    122115      throw new WebdavIntfException(t); 
     
    374367   * ==================================================================== */ 
    375368 
    376   private IcalTrans getTrans() throws WebdavIntfException { 
     369  private BwIcalTrans getTrans() throws WebdavIntfException { 
    377370    try { 
    378371      trans.open();