Class CaldavConnectionEntity

java.lang.Object
org.exoplatform.caldav.entity.CaldavConnectionEntity

@Entity(name="CaldavConnectionEntity") public class CaldavConnectionEntity extends Object
Who one eXo user is on the CalDAV server their account is connected to: the current-user-principal the server named when the account was last discovered (EXO-90243).

The account's identity, which nothing stored before. The engine knew an account only as the parent path of a calendar's href, and that path cannot tell two eXo users on one login (EXO-90190) from a colleague's calendar listed in the user's own home (EXO-90235) — both are pairs under one home. The principal can: the same principal is the same account.

The credentials of the connection stay where they are, in the per-user settings; this row holds no secret and nothing a user typed, only what the server answered them. It is written by the discovery that every connection and every synchronisation pass already makes, removed when the account is connected again or disconnected, and read by the shared-account warning and by the owner lookup of a shared calendar.

@DynamicUpdate: several nodes may record the same user, each by a read-modify-save, and the statement should carry the columns that changed and nothing else — the norm for a row with several writers and no version.

  • Field Details

    • PRINCIPAL_MAX_LENGTH

      public static final int PRINCIPAL_MAX_LENGTH
      The longest principal the column holds. A longer one is not recorded at all rather than truncated: a truncated principal could equal another account's.
      See Also:
  • Constructor Details

    • CaldavConnectionEntity

      public CaldavConnectionEntity()