Changeset 212

Show
Ignore:
Timestamp:
02/26/06 00:15:20
Author:
douglm
Message:

Fixes to eventrefs - still not fully working. Clicking on the entry in the user calendar fails.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/calendar3/calFacade/src/org/bedework/calfacade/BwEventProxy.java

    r200 r212  
    175175   */ 
    176176  public void setOwner(BwUser val) { 
    177     throw new RuntimeException("Immutable"); 
     177    if (!CalFacadeUtil.eqObjval(ref.getOwner(), val)) { 
     178      ref.setOwner(val); 
     179      setRefChanged(true); 
     180    } 
    178181  } 
    179182 
  • trunk/calendar3/calFacade/src/org/bedework/calfacade/ifs/CalendarsI.java

    r162 r212  
    105105  public BwCalendar getCalendar(String path) throws CalFacadeException; 
    106106 
    107   /** Get the default calendar for the given user. 
     107  /** Get the default calendar for the given user. This is determined by the 
     108   * name for the default calendar assigned to the system, not by any user  
     109   * preferences. This is normally used at initialisation of a new user. 
    108110   * 
    109111   * @param  user      
  • trunk/calendar3/calsvc/src/org/bedework/calsvc/CalSvc.java

    r207 r212  
    668668  } 
    669669 
    670   public BwCalendar getDefaultCalendar() throws CalFacadeException { 
    671     return getCal().getDefaultCalendar(getUser()); 
     670  /** set the default calendar for the current user. 
     671   * 
     672   * @param  val    BwCalendar 
     673   * @throws CalFacadeException 
     674   */ 
     675  public void setPreferredCalendar(BwCalendar  val) throws CalFacadeException { 
     676    getPreferences().setDefaultCalendar(val); 
     677  } 
     678 
     679  public BwCalendar getPreferredCalendar() throws CalFacadeException { 
     680    return getPreferences().getDefaultCalendar(); 
    672681  } 
    673682 
     
    16261635    if (event instanceof BwEventProxy) { 
    16271636      BwEventProxy proxy = (BwEventProxy)event; 
    1628       BwEvent override = proxy.getTarget(); 
     1637      BwEvent override = proxy.getRef(); 
    16291638      setupSharableEntity(override); 
    16301639    } else { 
     
    16651674    event.setCreated(new Created(new DateTime(true)).getValue()); 
    16661675 
    1667     getCal().addEvent(event, overrides); 
     1676    if (event instanceof BwEventProxy) { 
     1677      BwEventProxy proxy = (BwEventProxy)event; 
     1678      BwEvent override = proxy.getRef(); 
     1679      getCal().addEvent(override, overrides); 
     1680    } else { 
     1681      getCal().addEvent(event, overrides); 
     1682    } 
    16681683 
    16691684    if (isPublicAdmin()) { 
  • trunk/calendar3/calsvci/src/org/bedework/calsvci/CalSvcI.java

    r207 r212  
    550550  public abstract BwCalendar getCalendar(String path) throws CalFacadeException; 
    551551 
     552  /** set the default calendar for the current user. 
     553   * 
     554   * @param  val    BwCalendar 
     555   * @throws CalFacadeException 
     556   */ 
     557  public abstract void setPreferredCalendar(BwCalendar  val) throws CalFacadeException; 
     558 
    552559  /** Get the default calendar for the current user. 
    553560   * 
     
    555562   * @throws CalFacadeException 
    556563   */ 
    557   public abstract BwCalendar getDefaultCalendar() throws CalFacadeException; 
     564  public abstract BwCalendar getPreferredCalendar() throws CalFacadeException; 
    558565 
    559566  /** Add a calendar object 
  • trunk/calendar3/test/src/org/bedework/tests/calsvc/CalSvcTestWrapper.java

    r207 r212  
    257257  public BwCalendar getCalendar() throws Throwable { 
    258258    if (!isPublic) { 
    259       return getDefaultCalendar(); 
     259      return getPreferredCalendar(); 
    260260    } 
    261261 
  • trunk/calendar3/webclient/src/org/bedework/webclient/BwAddEventRefAction.java

    r207 r212  
    5656 
    5757import org.bedework.appcommon.BedeworkDefs; 
     58import org.bedework.calfacade.BwCalendar; 
    5859import org.bedework.calfacade.BwEventProxy; 
    5960import org.bedework.calfacade.svc.EventInfo; 
     
    9798                                                ei.getEvent().getOwner()); 
    9899 
    99     svci.addEvent(null, proxy.getTarget(), null); 
     100    BwCalendar cal = svci.getPreferredCalendar(); 
     101    proxy.setOwner(svci.getUser()); 
     102    svci.addEvent(cal, proxy, null); 
    100103 
    101104    form.getMsg().emit("org.bedework.client.message.added.eventrefs", 1);