org.nuiton.topia.it.mapping.test11.GeneratedB11CTopiaDao Maven / Gradle / Ivy
package org.nuiton.topia.it.mapping.test11;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import javax.annotation.Generated;
import org.hibernate.Session;
import org.nuiton.topia.it.mapping.AbstractTopiaItMappingTopiaDao;
import org.nuiton.topia.it.mapping.TopiaItMappingEntityEnum;
import org.nuiton.topia.persistence.TopiaDao;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.topia.persistence.TopiaQueryBuilderAddCriteriaOrRunQueryStep;
import org.nuiton.topia.persistence.internal.support.HibernateTopiaJpaSupport;
import org.nuiton.topia.persistence.support.TopiaHibernateSupport;
@Generated(value = "org.nuiton.topia.templates.EntityDaoTransformer", date = "Thu Oct 13 17:59:14 CEST 2016")
public abstract class GeneratedB11CTopiaDao extends AbstractTopiaItMappingTopiaDao {
@Override
public Class getEntityClass() {
return (Class) B11C.class;
}
@Override
public TopiaItMappingEntityEnum getTopiaEntityEnum() {
return TopiaItMappingEntityEnum.B11C;
}
@Override
public void delete(E entity) {
if ( ! entity.isPersisted()) {
throw new IllegalArgumentException("entity " + entity + " is not persisted, you can't delete it");
}
TopiaHibernateSupport hibernateSupport = ((HibernateTopiaJpaSupport) topiaJpaSupport).getHibernateSupport();
Session hibernateSession = hibernateSupport.getHibernateSession();
{
String sql = "SELECT main.* " +
" FROM a11C main, a11c_b11c secondary " +
" WHERE main.topiaId=secondary.a11C " +
" AND secondary.b11C='" + entity.getTopiaId() + "'";
List list = hibernateSession
.createSQLQuery(sql)
.addEntity("main", TopiaItMappingEntityEnum.A11C.getImplementation())
.list();
for (A11C item : list) {
item.removeB11C(entity);
}
}
super.delete(entity);
}
@Override
public List findUsages(Class type, E entity) {
List> result = new LinkedList();
List tmp;
if (type == A11C.class) {
A11CTopiaDao dao =
topiaDaoSupplier.getDao(A11C.class, A11CTopiaDao.class);
tmp = dao.forB11CContains(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>>(1);
List extends TopiaEntity> list;
list = findUsages(A11C.class, entity);
if (!list.isEmpty()) {
result.put(A11C.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;
}
} //GeneratedB11CTopiaDao
© 2015 - 2024 Weber Informatics LLC | Privacy Policy