Example #1
0
  /**
   * Adds one or more object properties.
   *
   * @param user User ID
   * @param anchor Unique ID of Anchor
   * @param property Property name
   * @param range InstanceData[] specifying data about objects added by user
   * @param type Session type (edit, query, browse)
   * @param key browsing session id (null if session type is EDIT)
   * @return AnchorInfo[] with serialisable version of feedback text, empty if the user's session is
   *     expired or null if an error occurred
   */
  public AnchorInfo[] updateObjectProperty(
      String user, String anchor, String property, InstanceData[] range, int type, String key) {
    if (!userMap.containsKey(user)) return new AnchorInfo[0];

    LiberSession session = userMap.get(user);
    synchronized (session) {
      session.setLastUpdated();
      return session.updateObjectProperty(anchor, property, range, type, key);
    }
  }