Beispiel #1
0
  /**
   * Update a tag.
   *
   * @param tag Tag to update
   * @param userId User ID
   * @return Updated tag
   */
  public Tag update(Tag tag, String userId) {
    EntityManager em = ThreadLocalContext.get().getEntityManager();

    // Get the tag
    Query q = em.createQuery("select t from Tag t where t.id = :id and t.deleteDate is null");
    q.setParameter("id", tag.getId());
    Tag tagFromDb = (Tag) q.getSingleResult();

    // Update the tag
    tagFromDb.setName(tag.getName());
    tagFromDb.setColor(tag.getColor());
    tagFromDb.setParentId(tag.getParentId());

    // Create audit log
    AuditLogUtil.create(tagFromDb, AuditLogType.UPDATE, userId);

    return tagFromDb;
  }