/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package edu.harvard.iq.dataverse; import java.util.List; import javax.ejb.Stateless; import javax.inject.Named; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; /** * * @author skraffmiller */ @Stateless @Named public class GuestbookServiceBean implements java.io.Serializable { @PersistenceContext(unitName = "VDCNet-ejbPU") private EntityManager em; public Long findCountUsages(Long guestbookId, Long dataverseId) { String queryString = ""; if (guestbookId != null && dataverseId != null) { queryString = "select count(o.id) from Dataset o, DvObject obj where o.id = obj.id and o.guestbook_id = " + guestbookId + " and obj.owner_id = " + dataverseId + ";"; Query query = em.createNativeQuery(queryString); return (Long) query.getSingleResult(); } else if (guestbookId != null && dataverseId == null) { queryString = "select count(o.id) from Dataset o where o.guestbook_id = " + guestbookId + " "; Query query = em.createNativeQuery(queryString); return (Long) query.getSingleResult(); } else { return new Long(0); } } public Guestbook find(Object pk) { return em.find(Guestbook.class, pk); } public Guestbook save(Guestbook guestbook) { if (guestbook.getId() == null) { em.persist(guestbook); return guestbook; } else { return em.merge(guestbook); } } }