comparison src/main/java/edu/harvard/iq/dataverse/TemplateServiceBean.java @ 10:a50cf11e5178

Rewrite LGDataverse completely upgrading to dataverse4.0
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Tue, 08 Sep 2015 17:00:21 +0200
parents
children
comparison
equal deleted inserted replaced
9:5926d6419569 10:a50cf11e5178
1 package edu.harvard.iq.dataverse;
2
3 import java.util.List;
4 import java.util.logging.Logger;
5 import javax.ejb.EJB;
6 import javax.ejb.Stateless;
7 import javax.inject.Named;
8 import javax.persistence.EntityManager;
9 import javax.persistence.PersistenceContext;
10 import javax.persistence.Query;
11
12 /**
13 *
14 * @author skraffmiller
15 */
16 @Stateless
17 @Named
18 public class TemplateServiceBean {
19
20 private static final Logger logger = Logger.getLogger(DatasetServiceBean.class.getCanonicalName());
21 @EJB
22 IndexServiceBean indexService;
23
24 @PersistenceContext(unitName = "VDCNet-ejbPU")
25 private EntityManager em;
26
27 public Template find(Object pk) {
28 return em.find(Template.class, pk);
29 }
30
31 public Template save(Template template) {
32 if (template.getId() == null) {
33 em.persist(template);
34 return template;
35 } else {
36 return em.merge(template);
37 }
38 }
39
40 public Template findByDeafultTemplateOwnerId(Long ownerId) {
41 Query query = em.createQuery("select object(o.defaultTemplate) from Dataverse as o where o.owner.id =:ownerId order by o.name");
42 query.setParameter("ownerId", ownerId);
43 return (Template) query.getSingleResult();
44 }
45
46
47 public List<Dataverse> findDataversesByDefaultTemplateId(Long defaultTemplateId) {
48 Query query = em.createQuery("select object(o) from Dataverse as o where o.defaultTemplate.id =:defaultTemplateId order by o.name");
49 query.setParameter("defaultTemplateId", defaultTemplateId);
50 return query.getResultList();
51 }
52
53 public void incrementUsageCount(Long templateId) {
54
55 Long usageCount = (Long) em.createNativeQuery(
56 "select usageCount from Template "
57 + "WHERE id=" + templateId
58 ).getSingleResult();
59
60 usageCount++;
61
62 em.createNativeQuery(
63 "update Template SET usagecount = " + usageCount + " "
64 + "WHERE id=" + templateId
65 ).executeUpdate();
66 }
67 }