• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openmrs / openmrs-core / 8602317784

08 Apr 2024 03:00PM CUT coverage: 64.693% (+0.002%) from 64.691%
8602317784

push

github

web-flow
Restrict permissions on token for stale PR job

22763 of 35186 relevant lines covered (64.69%)

0.65 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/api/src/main/java/org/openmrs/api/db/hibernate/HibernateOpenmrsMetadataDAO.java
1
/**
2
 * This Source Code Form is subject to the terms of the Mozilla Public License,
3
 * v. 2.0. If a copy of the MPL was not distributed with this file, You can
4
 * obtain one at http://mozilla.org/MPL/2.0/. OpenMRS is also distributed under
5
 * the terms of the Healthcare Disclaimer located at http://openmrs.org/license.
6
 *
7
 * Copyright (C) OpenMRS Inc. OpenMRS is a registered trademark and the OpenMRS
8
 * graphic logo is a trademark of OpenMRS Inc.
9
 */
10
package org.openmrs.api.db.hibernate;
11

12
import java.util.List;
13

14
import javax.persistence.Query;
15
import javax.persistence.TypedQuery;
16
import javax.persistence.criteria.CriteriaBuilder;
17
import javax.persistence.criteria.CriteriaQuery;
18
import javax.persistence.criteria.Root;
19

20
import org.hibernate.Session;
21
import org.openmrs.BaseOpenmrsMetadata;
22
import org.openmrs.api.db.OpenmrsMetadataDAO;
23

24
/**
25
 * Abstract class implementing basic data access methods for BaseOpenmrsMetadata persistents
26
 *
27
 * @since 1.10
28
 *
29
 * @param <T>
30
 */
31
public class HibernateOpenmrsMetadataDAO<T extends BaseOpenmrsMetadata> extends HibernateOpenmrsObjectDAO<T> implements OpenmrsMetadataDAO<T> {
32
        
33
        public HibernateOpenmrsMetadataDAO(Class<T> mappedClass) {
34
                super();
×
35
                this.mappedClass = mappedClass;
×
36
        }
×
37
        
38
        /**
39
         * @see org.openmrs.api.db.OpenmrsMetadataDAO#getAll(boolean)
40
         */
41
        @Override
42
        public List<T> getAll(boolean includeRetired) {
43
                Session session = sessionFactory.getCurrentSession();
×
44
                CriteriaBuilder cb = session.getCriteriaBuilder();
×
45
                CriteriaQuery<T> cq = cb.createQuery(mappedClass);
×
46
                Root<T> root = cq.from(mappedClass);
×
47

48
                if (!includeRetired) {
×
49
                        cq.where(cb.isFalse(root.get("retired")));
×
50
                }
51

52
                return session.createQuery(cq).getResultList();
×
53
        }
54

55
        /**
56
         * @see org.openmrs.api.db.OpenmrsMetadataDAO#getAll(boolean, java.lang.Integer, java.lang.Integer)
57
         */
58
        @Override
59
        public List<T> getAll(boolean includeRetired, Integer firstResult, Integer maxResults) {
60
                Session session = sessionFactory.getCurrentSession();
×
61
                CriteriaBuilder cb = session.getCriteriaBuilder();
×
62
                CriteriaQuery<T> cq = cb.createQuery(mappedClass);
×
63
                Root<T> root = cq.from(mappedClass);
×
64

65
                if (!includeRetired) {
×
66
                        cq.where(cb.isFalse(root.get("retired")));
×
67
                }
68

69
                TypedQuery<T> query = session.createQuery(cq);
×
70
                if (firstResult != null) {
×
71
                        query.setFirstResult(firstResult);
×
72
                }
73
                if (maxResults != null) {
×
74
                        query.setMaxResults(maxResults);
×
75
                }
76
                
77
                return query.getResultList();
×
78
        }
79

80

81
        /**
82
         * @see org.openmrs.api.db.OpenmrsMetadataDAO#getAllCount(boolean)
83
         */
84
        @Override
85
        public int getAllCount(boolean includeRetired) {
86
                
87
                String hql = "select count(*)" + " from " + mappedClass;
×
88
                
89
                if (!includeRetired) {
×
90
                        hql += " where retired = false";
×
91
                }
92
                Query query = sessionFactory.getCurrentSession().createQuery(hql);
×
93
                
94
                Number count = JpaUtils.getSingleResultOrNull(query);
×
95
                
96
                return count == null ? 0 : count.intValue();
×
97
        }
98
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc