Changeset 712

Show
Ignore:
Timestamp:
07/06/06 15:28:24
Author:
douglm
Message:

Allow configuration of different caldav-system interfaces

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/calendar3/caldav/src/edu/rpi/cct/uwcal/caldav/BwSysIntfImpl.java

    r708 r712  
    8080import java.util.Collection; 
    8181 
    82 import javax.servlet.ServletContext; 
    8382import javax.servlet.http.HttpServletRequest; 
    84 import javax.servlet.http.HttpSession; 
    8583 
    8684/** Bedework implementation of SysIntf. 
     
    102100 
    103101  public void init(HttpServletRequest req, 
     102                   String envPrefix, 
    104103                   String account, 
    105104                   boolean debug) throws WebdavIntfException { 
    106105    try { 
     106      this.envPrefix = envPrefix; 
    107107      this.account = account; 
    108108      this.debug = debug; 
    109  
    110       HttpSession session = req.getSession(); 
    111       ServletContext sc = session.getServletContext(); 
    112  
    113       String appName = sc.getInitParameter("bwappname"); 
    114  
    115       if ((appName == null) || (appName.length() == 0)) { 
    116         appName = "unknown-app-name"; 
    117       } 
    118  
    119       envPrefix = "org.bedework.app." + appName + "."; 
    120  
    121       /* 
    122       namespacePrefix = WebdavUtils.getUrlPrefix(req); 
    123       namespace = namespacePrefix + "/schema"; 
    124       */ 
    125109    } catch (Throwable t) { 
    126110      throw new WebdavIntfException(t); 
  • trunk/calendar3/caldav/src/edu/rpi/cct/uwcal/caldav/CaldavBWIntf.java

    r708 r712  
    5555 
    5656import org.bedework.appcommon.AccessXmlUtil; 
     57import org.bedework.calenv.CalEnv; 
    5758import org.bedework.calfacade.BwCalendar; 
    5859import org.bedework.calfacade.BwEvent; 
     
    9495import java.util.Properties; 
    9596 
     97import javax.servlet.ServletContext; 
    9698import javax.servlet.http.HttpServletRequest; 
    9799import javax.servlet.http.HttpServletResponse; 
     100import javax.servlet.http.HttpSession; 
    98101 
    99102import org.w3c.dom.Element; 
     
    126129  private String namespace; 
    127130 
     131  /* Prefix for our properties */ 
     132  private String envPrefix; 
     133 
    128134  SysIntf sysi; 
    129135 
     
    163169 
    164170    try { 
     171 
     172      HttpSession session = req.getSession(); 
     173      ServletContext sc = session.getServletContext(); 
     174 
     175      String appName = sc.getInitParameter("bwappname"); 
     176 
     177      if ((appName == null) || (appName.length() == 0)) { 
     178        appName = "unknown-app-name"; 
     179      } 
     180 
     181      envPrefix = "org.bedework.app." + appName + "."; 
     182 
    165183      namespacePrefix = WebdavUtils.getUrlPrefix(req); 
    166184      namespace = namespacePrefix + "/schema"; 
    167185 
    168       sysi = new BwSysIntfImpl(); 
    169       sysi.init(req, account, debug); 
     186      CalEnv env = new CalEnv(envPrefix, debug); 
     187 
     188      sysi = (SysIntf)env.getAppObject("sysintfimpl", SysIntf.class); 
     189 
     190      sysi.init(req, envPrefix, account, debug); 
    170191 
    171192      emitAccess = new EmitAccess(namespacePrefix, xml); 
  • trunk/calendar3/caldav/src/edu/rpi/cct/uwcal/caldav/SysIntf.java

    r708 r712  
    8181   * 
    8282   * @param req 
     83   * @param envPrefix 
    8384   * @param account 
    8485   * @param debug 
     
    8687   */ 
    8788  public void init(HttpServletRequest req, 
     89                   String envPrefix, 
    8890                   String account, 
    8991                   boolean debug) throws WebdavIntfException; 
  • trunk/calendar3/config/configs/democal.properties

    r628 r712  
    187187org.bedework.app.Pubcaldav.run.as.user=public-user 
    188188org.bedework.app.Pubcaldav.logprefix=PubCalDav 
     189org.bedework.app.Pubcaldav.sysintfimpl=edu.rpi.cct.uwcal.caldav.BwSysIntfImpl 
    189190 
    190191# 
     
    208209org.bedework.app.Usercaldav.publicadmin=false 
    209210org.bedework.app.Usercaldav.logprefix=UserCalDav 
     211org.bedework.app.Usercaldav.sysintfimpl=edu.rpi.cct.uwcal.caldav.BwSysIntfImpl 
    210212 
    211213#