1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.persistence.jpa.dao;
20
21 import java.util.List;
22 import javax.persistence.TypedQuery;
23 import org.apache.syncope.core.persistence.api.dao.AttrRepoDAO;
24 import org.apache.syncope.core.persistence.api.entity.am.AttrRepo;
25 import org.apache.syncope.core.persistence.jpa.entity.am.JPAAttrRepo;
26 import org.springframework.transaction.annotation.Transactional;
27
28 public class JPAAttrRepoDAO extends AbstractDAO<AttrRepo> implements AttrRepoDAO {
29
30 @Transactional(readOnly = true)
31 @Override
32 public AttrRepo find(final String key) {
33 return entityManager().find(JPAAttrRepo.class, key);
34 }
35
36 @Transactional(readOnly = true)
37 @Override
38 public List<AttrRepo> findAll() {
39 TypedQuery<AttrRepo> query = entityManager().createQuery(
40 "SELECT e FROM " + JPAAttrRepo.class.getSimpleName() + " e", AttrRepo.class);
41 return query.getResultList();
42 }
43
44 @Override
45 public AttrRepo save(final AttrRepo attrRepo) {
46 ((JPAAttrRepo) attrRepo).list2json();
47 return entityManager().merge(attrRepo);
48 }
49
50 @Override
51 public void delete(final String key) {
52 AttrRepo attrRepo = find(key);
53 if (attrRepo == null) {
54 return;
55 }
56
57 delete(attrRepo);
58 }
59
60 @Override
61 public void delete(final AttrRepo attrRepo) {
62 entityManager().remove(attrRepo);
63 }
64 }