use of org.bedework.calsvci.SynchI in project bw-calendar-engine by Bedework.
the class Calendars method add.
@Override
public BwCalendar add(BwCalendar val, final String parentPath) throws CalFacadeException {
if (getPrincipalInfo().getSubscriptionsOnly()) {
// Only allow the creation of an alias
if (val.getCalType() != BwCalendar.calTypeAlias) {
throw new CalFacadeForbidden("User has read only access");
}
}
updateOK(val);
setupSharableEntity(val, getPrincipal().getPrincipalRef());
if (val.getPwNeedsEncrypt() || (val.getExternalSub() && val.getRemotePw() != null)) {
encryptPw(val);
}
val = getCal().add(val, parentPath);
((Preferences) getSvc().getPrefsHandler()).updateAdminPrefs(false, val, null, null, null);
final SynchI synch = getSvc().getSynch();
if (val.getExternalSub()) {
if (!synch.subscribe(val)) {
throw new CalFacadeException(CalFacadeException.subscriptionFailed);
}
}
return val;
}
Aggregations