Class WebDavItemUserPropertiesEntity

java.lang.Object
org.exoplatform.documents.storage.jcr.webdav.cache.elasticsearch.entity.WebDavItemUserPropertiesEntity

public class WebDavItemUserPropertiesEntity extends Object
The properties of one cached WebDAV item that depend on who asked, held per user inside the item's single cache row.

A row is keyed by the drive-relative WebDAV path alone, so it is shared by every user who has read that path; the properties computed from the reading user's own JCR session must therefore not live in the row's shared property list, where the last reader would impose them on everyone else (EXO-90128). They are carried here instead, and overlaid on the shared list at read time by CachedJcrWebDavService#resolveUserProperties.

Modelled as a list of (username, properties) pairs rather than a map keyed by username on purpose: an Elasticsearch document with usernames as field names would add a mapping field per user and eventually hit the index field limit.

  • Constructor Details

    • WebDavItemUserPropertiesEntity

      public WebDavItemUserPropertiesEntity()