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.NoResultException;
23 import javax.persistence.TypedQuery;
24 import org.apache.syncope.core.persistence.api.dao.OIDCC4UIProviderDAO;
25 import org.apache.syncope.core.persistence.api.entity.OIDCC4UIProvider;
26 import org.apache.syncope.core.persistence.jpa.entity.JPAOIDCC4UIProvider;
27 import org.springframework.transaction.annotation.Transactional;
28
29 public class JPAOIDCC4UIProviderDAO extends AbstractDAO<OIDCC4UIProvider> implements OIDCC4UIProviderDAO {
30
31 @Transactional(readOnly = true)
32 @Override
33 public OIDCC4UIProvider find(final String key) {
34 return entityManager().find(JPAOIDCC4UIProvider.class, key);
35 }
36
37 @Transactional(readOnly = true)
38 @Override
39 public OIDCC4UIProvider findByName(final String name) {
40 TypedQuery<OIDCC4UIProvider> query = entityManager().createQuery(
41 "SELECT e FROM " + JPAOIDCC4UIProvider.class.getSimpleName()
42 + " e WHERE e.name = :name", OIDCC4UIProvider.class);
43 query.setParameter("name", name);
44
45 OIDCC4UIProvider result = null;
46 try {
47 result = query.getSingleResult();
48 } catch (NoResultException e) {
49 LOG.debug("No OIDC Provider found with name {}", name, e);
50 }
51
52 return result;
53 }
54
55 @Transactional(readOnly = true)
56 @Override
57 public List<OIDCC4UIProvider> findAll() {
58 TypedQuery<OIDCC4UIProvider> query = entityManager().createQuery(
59 "SELECT e FROM " + JPAOIDCC4UIProvider.class.getSimpleName() + " e", OIDCC4UIProvider.class);
60 return query.getResultList();
61 }
62
63 @Override
64 public OIDCC4UIProvider save(final OIDCC4UIProvider op) {
65 ((JPAOIDCC4UIProvider) op).list2json();
66 return entityManager().merge(op);
67 }
68
69 @Override
70 public void delete(final String key) {
71 OIDCC4UIProvider op = find(key);
72 if (op != null) {
73 entityManager().remove(op);
74 }
75 }
76 }