
org.nuiton.topia.it.legacy.topiatest.GeneratedEmployeTopiaDao Maven / Gradle / Ivy
The newest version!
package org.nuiton.topia.it.legacy.topiatest;
/*-
* #%L
* ToPIA :: IT
* %%
* Copyright (C) 2004 - 2024 Code Lutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Lesser Public License for more details.
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
* .
* #L%
*/
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.nuiton.topia.it.legacy.TopiaItLegacyEntityEnum;
import org.nuiton.topia.persistence.TopiaDao;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.topia.persistence.TopiaQueryBuilderAddCriteriaOrRunQueryStep;
public abstract class GeneratedEmployeTopiaDao extends AbstractPersonneTopiaDao {
@Override
public Class getEntityClass() {
return (Class) Employe.class;
}
@Override
public TopiaItLegacyEntityEnum getTopiaEntityEnum() {
return TopiaItLegacyEntityEnum.Employe;
}
@Override
public void delete(E entity) {
if ( ! entity.isPersisted()) {
throw new IllegalArgumentException("entity " + entity + " is not persisted, you can't delete it");
}
{
DepartmentTopiaDao dao = topiaDaoSupplier
.getDao(Department.class, DepartmentTopiaDao.class);
List list = dao
.forProperties(Department.PROPERTY_LEADER, entity)
.findAll();
for (Department item : list) {
// sletellier : Set null only if target is concerned by deletion
if (entity.equals(item.getLeader())) {
item.setLeader(null);
}
}
}
super.delete(entity);
}
public TopiaQueryBuilderAddCriteriaOrRunQueryStep forSalaryIn(Collection v) {
TopiaQueryBuilderAddCriteriaOrRunQueryStep result = forIn(Employe.PROPERTY_SALARY, (Collection) v);
return result;
}
public TopiaQueryBuilderAddCriteriaOrRunQueryStep forSalaryEquals(int v) {
TopiaQueryBuilderAddCriteriaOrRunQueryStep result = forEquals(Employe.PROPERTY_SALARY, v);
return result;
}
@Deprecated
public E findBySalary(int v) {
return forSalaryEquals(v).findAnyOrNull();
}
@Deprecated
public List findAllBySalary(int v) {
return forSalaryEquals(v).findAll();
}
@Override
public List findUsages(Class type, E entity) {
List> result = new LinkedList();
List tmp;
if (type == Company.class) {
CompanyTopiaDao dao =
topiaDaoSupplier.getDao(Company.class, CompanyTopiaDao.class);
tmp = dao.forEmployeContains(entity).findAll();
result.addAll(tmp);
}
if (type == Department.class) {
DepartmentTopiaDao dao =
topiaDaoSupplier.getDao(Department.class, DepartmentTopiaDao.class);
tmp = dao.forLeaderEquals(entity).findAll();
result.addAll(tmp);
}
return (List) result;
}
@Override
public Map, List extends TopiaEntity>> findAllUsages(E entity) {
Map,List extends TopiaEntity>> result;
result = new HashMap, List extends TopiaEntity>>(2);
List extends TopiaEntity> list;
list = findUsages(Company.class, entity);
if (!list.isEmpty()) {
result.put(Company.class, list);
}
list = findUsages(Department.class, entity);
if (!list.isEmpty()) {
result.put(Department.class, list);
}
return result;
}
@Override
public List getAggregate(E entity) throws TopiaException {
List tmp = new ArrayList();
// pour tous les attributs rechecher les composites et les class d'asso
// on les ajoute dans tmp
// on refait un tour sur chaque entity de tmp pour recuperer leur
// composite
List result = new ArrayList();
for (TopiaEntity e : tmp) {
result.add(e);
TopiaDao dao = (TopiaDao) topiaDaoSupplier.getDao(e.getClass());
result.addAll(dao.getAggregate(e));
}
return result;
}
@Override
public List getComposite(E entity) throws TopiaException {
List tmp = new ArrayList();
// pour tous les attributs rechecher les composites et les class d'asso
// on les ajoute dans tmp
// on refait un tour sur chaque entity de tmp pour recuperer leur
// composite
List result = new ArrayList();
for (TopiaEntity e : tmp) {
if (e != null) {
result.add(e);
TopiaDao dao = (TopiaDao) topiaDaoSupplier.getDao(e.getClass());
result.addAll(dao.getComposite(e));
}
}
return result;
}
} //GeneratedEmployeTopiaDao
© 2015 - 2025 Weber Informatics LLC | Privacy Policy