EN · DE · RU · FR · ES

#137 : LicenseDao.java

plugins/org.projectforge.plugins.licensemanagement/src/main/java/org/projectforge/plugins/licensemanagement/LicenseDao.java Type : Java · Rôle : Objet d'accès aux données · Source : plugins/org.projectforge.plugins.licensemanagement/src/main/java/org/projectforge/plugins/licensemanagement/LicenseDao.java 93 lignes · 49 code · 34 commentaires · 10 vides
Objet d'accès aux données pour les entités License. Étend BaseDao pour fournir des opérations CRUD, des requêtes Hibernate Search et un accès aux données au niveau de la logique métier.

Structure du code

Paquetage : org.projectforge.plugins.licensemanagement

Classes : LicenseDao

Étend : BaseDao

Méthodes (4) : setOwners, getSortedOwners, getSortedOwnernames, newInstance

Champs (1) : usersProvider

Importations : 9 paquetages

Code source (abrégé)

package org.projectforge.plugins.licensemanagement;

import org.apache.commons.collections4.CollectionUtils;
import org.projectforge.business.user.UserDao;
import org.projectforge.common.StringHelper;
import org.projectforge.framework.persistence.api.BaseDao;
import org.projectforge.framework.persistence.user.entities.PFUserDO;
import org.projectforge.web.user.UsersProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Collection;

/**
 *
 * @author Kai Reinhard (k.reinhard@micromata.de)
 *
 */
@Service
public class LicenseDao extends BaseDao<LicenseDO>
{
  private final UsersProvider usersProvider;

  @Autowired
  UserDao userDao;

  public LicenseDao()
  {
    super(LicenseDO.class);
    userRightId = LicensemanagementPluginUserRightsId.PLUGIN_LICENSE_MANAGEMENT;
    usersProvider = new UsersProvider(userDao);
  }

  /**
   * Veuillez noter : seule la chaîne license.owners sera modifiée (mais pas sauvegardée) !
   *
   * @param license
   * @param owners Liste complète de tous les propriétaires (identifiants utilisateur) assignés à cette licence.
   * @return
   */
  public void setOwners(final LicenseDO license, final Collection<PFUserDO> owners)
  {
    license.setOwnerIds(usersProvider.getUserIds(owners));
  }

  public Collection<PFUserDO> getSortedOwners(final LicenseDO license)
  {
    return usersProvider.getSortedUsers(license.getOwnerIds());
  }

  public String getSortedOwnernames(final LicenseDO license)
  {
    final Collection<PFUserDO> sortedOwners = getSortedOwners(license);
    if (CollectionUtils.isEmpty(sortedOwners)) {
      return "";
    }
    final StringBuilder buf = new StringBuilder();
    boolean first = true;
    for (final PFUserDO owner : sortedOwners) {
      first = StringHelper.append(buf, first, owner.getFullname(), ", ");
    }
    return buf.toString();
  }

  @Override
  public LicenseDO newInstance()
  {
    return new LicenseDO();
  }
}

Historique Git

868d6abb7 2025 -> 2026
63081666f En-têtes des fichiers source : 2024 -> 2025.
a72903e36 *.java, *.kt : StringBuffer -> StringBuilder.
5bafe7941 @Repository -> @Service. @Transactional-Annotations supprimées.
b6092df09 Copyright 2023 -> 2024