Project

General

Profile

Download (3.86 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * Copyright (C) 2009 EDIT
3
 * European Distributed Institute of Taxonomy
4
 * http://www.e-taxonomy.eu
5
 *
6
 * The contents of this file are subject to the Mozilla Public License Version 1.1
7
 * See LICENSE.TXT at the top of this package for the full license terms.
8
 */
9
package eu.etaxonomy.cdm.persistence.dao.hibernate.validation;
10

    
11
import java.util.List;
12

    
13
import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;
14
import org.hibernate.query.Query;
15
import org.springframework.beans.factory.annotation.Qualifier;
16
import org.springframework.stereotype.Repository;
17

    
18
import eu.etaxonomy.cdm.model.validation.EntityConstraintViolation;
19
import eu.etaxonomy.cdm.model.validation.Severity;
20
import eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase;
21
import eu.etaxonomy.cdm.persistence.dao.validation.IEntityConstraintViolationDao;
22

    
23
/**
24
 * @author ayco_holleman
25
 * @since 15 jan. 2015
26
 */
27
@Repository
28
@Qualifier("entityConstraintViolationHibernateImpl")
29
public class EntityConstraintViolationHibernateImpl extends CdmEntityDaoBase<EntityConstraintViolation> implements
30
        IEntityConstraintViolationDao {
31

    
32
    @SuppressWarnings("unused")
33
    private static final Logger logger = LogManager.getLogger(EntityConstraintViolationHibernateImpl.class);
34

    
35
    public EntityConstraintViolationHibernateImpl() {
36
        super(EntityConstraintViolation.class);
37
    }
38

    
39
    @Override
40
    public List<EntityConstraintViolation> getConstraintViolations() {
41
        Query<EntityConstraintViolation> query = getSession().createQuery(
42
                "FROM EntityConstraintViolation cv " + "JOIN FETCH cv.entityValidation ev "
43
                        + "ORDER BY ev.validatedEntityClass, ev.validatedEntityId",
44
                        EntityConstraintViolation.class);
45
        List<EntityConstraintViolation> result = query.list();
46
        return result;
47
    }
48

    
49
    @Override
50
    public List<EntityConstraintViolation> getConstraintViolations(String validatedEntityClass) {
51
        Query<EntityConstraintViolation> query = getSession().createQuery(
52
                "FROM EntityConstraintViolation cv " + "JOIN FETCH cv.entityValidation ev "
53
                        + "WHERE ev.validatedEntityClass = :cls "
54
                        + "ORDER BY ev.validatedEntityClass, ev.validatedEntityId",
55
                        EntityConstraintViolation.class);
56
        query.setParameter("cls", validatedEntityClass);
57
        List<EntityConstraintViolation> result = query.list();
58
        return result;
59
    }
60

    
61
    @Override
62
    public List<EntityConstraintViolation> getConstraintViolations(String validatedEntityClass, Severity severity) {
63
        Query<EntityConstraintViolation> query = getSession().createQuery(
64
                "FROM EntityConstraintViolation cv " + "JOIN FETCH cv.entityValidation ev "
65
                        + "WHERE ev.validatedEntityClass = :cls " + "AND cv.severity = :severity "
66
                        + "ORDER BY ev.validatedEntityClass, ev.validatedEntityId",
67
                        EntityConstraintViolation.class);
68
        query.setParameter("cls", validatedEntityClass);
69
        query.setParameter("severity", severity.toString());
70
        List<EntityConstraintViolation> result = query.list();
71
        return result;
72
    }
73

    
74
    @Override
75
    public List<EntityConstraintViolation> getConstraintViolations(Severity severity) {
76
        Query<EntityConstraintViolation> query = getSession().createQuery(
77
                "FROM EntityConstraintViolation cv " + "JOIN FETCH cv.entityValidation ev "
78
                        + "WHERE cv.severity = :severity " + "ORDER BY ev.validatedEntityClass, ev.validatedEntityId",
79
                        EntityConstraintViolation.class);
80
        query.setParameter("severity", severity.toString());
81
        List<EntityConstraintViolation> result = query.list();
82
        return result;
83
    }
84
}
(1-1/2)