EN · DE · RU · FR · ES

#137: LicenseDao.java

plugins/org.projectforge.plugins.licensemanagement/src/main/java/org/projectforge/plugins/licensemanagement/LicenseDao.java Tipo: Java · Rol: Objeto de acceso a datos · Fuente: plugins/org.projectforge.plugins.licensemanagement/src/main/java/org/projectforge/plugins/licensemanagement/LicenseDao.java 93 líneas · 49 código · 34 comentarios · 10 en blanco
Objeto de acceso a datos para entidades License. Extiende BaseDao para proporcionar operaciones CRUD, consultas de Hibernate Search y acceso a datos a nivel de lógica de negocio.

Estructura del código

Paquete: org.projectforge.plugins.licensemanagement

Clases: LicenseDao

Extiende: BaseDao

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

Campos (1): usersProvider

Importaciones: 9 paquetes

Código fuente (resumido)

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);
  }

  /**
   * Tenga en cuenta: solo se modificará la cadena license.owners (¡pero no se guardará)!
   *
   * @param license
   * @param owners Lista completa de todos los propietarios (ids de usuario) que están asignados a esta licencia.
   * @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();
  }
}

Historial de Git

868d6abb7 2025 -> 2026
63081666f Encabezados de archivos fuente: 2024 -> 2025.
a72903e36 *.java, *.kt: StringBuffer -> StringBuilder.
5bafe7941 @Repository -> @Service. Anotaciones @Transactional eliminadas.
b6092df09 Copyright 2023 -> 2024