Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. /**
  2.  *
  3.  */
  4. package com.blogspot.piergiuseppe82.struts2intro.dao;
  5.  
  6. import java.util.List;
  7.  
  8. import javax.persistence.EntityManager;
  9. import javax.persistence.PersistenceContext;
  10. import javax.persistence.Query;
  11.  
  12. import org.apache.commons.logging.Log;
  13. import org.apache.commons.logging.LogFactory;
  14. import org.springframework.stereotype.Component;
  15. import org.springframework.transaction.annotation.Transactional;
  16.  
  17. import com.blogspot.piergiuseppe82.struts2intro.dto.Persona;
  18. import com.blogspot.piergiuseppe82.struts2intro.dto.Recapito;
  19.  
  20. /**
  21.  * @author placava
  22.  *
  23.  */
  24. @Component("personaDao")
  25. @Transactional
  26. public class PersonaDaoImpl implements PersonaDao {
  27.    
  28.  
  29.      private EntityManager em;
  30.  
  31.         @PersistenceContext
  32.         public void setEntityManager(EntityManager em) {
  33.             this.em = em;
  34.         }
  35.  
  36.     /* (non-Javadoc)
  37.      * @see com.blogspot.piergiuseppe82.struts2intro.dao.PersonaDao#allPersona()
  38.      */
  39.     @SuppressWarnings("unchecked")
  40.     public List<Persona> allPersona() {
  41.          Query query = em.createQuery("select p FROM Persona p");
  42.          return query.getResultList();
  43.  
  44.     }
  45.  
  46.     /* (non-Javadoc)
  47.      * @see com.blogspot.piergiuseppe82.struts2intro.dao.PersonaDao#delete(com.blogspot.piergiuseppe82.struts2intro.dto.Persona)
  48.      */
  49.     public void remove(int id) {
  50.         Persona persona = find(id);
  51.         if (persona != null) {
  52.             persona.setRecapiti(find(persona.getId()).getRecapiti());
  53.             em.remove(persona);
  54.            
  55.         }
  56.  
  57.        
  58.     }
  59.  
  60.     /* (non-Javadoc)
  61.      * @see com.blogspot.piergiuseppe82.struts2intro.dao.PersonaDao#insert(com.blogspot.piergiuseppe82.struts2intro.dto.Persona)
  62.      */
  63.     public void save(Persona persona) {
  64.             if(persona.getId() == null){
  65.                 em.persist(persona);
  66.             }else{
  67.                 persona.setRecapiti(find(persona.getId()).getRecapiti());
  68.                 em.merge(persona);
  69.             }
  70.            
  71.        
  72.     }
  73.  
  74.     /* (non-Javadoc)
  75.      * @see com.blogspot.piergiuseppe82.struts2intro.dao.PersonaDao#find(int)
  76.      */
  77.     public Persona find(int id) {
  78.         return em.find(Persona.class, id);
  79.  
  80.        
  81.     }
  82.  
  83.     /* (non-Javadoc)
  84.      * @see com.blogspot.piergiuseppe82.struts2intro.dao.PersonaDao#addRecapito(int, com.blogspot.piergiuseppe82.struts2intro.dto.Recapito)
  85.      */
  86.     public void addRecapito(int idPersona, Recapito recapito) {
  87.         if(recapito.getId() != null){
  88.             Persona persona = find(idPersona);
  89.             recapito.setPersona(persona);
  90.             em.merge(recapito);
  91.             return;
  92.         }
  93.            
  94.         Persona persona = find(idPersona);
  95.         if(persona != null){
  96.             persona.getRecapiti().add(recapito);
  97.             em.merge(persona);
  98.         }
  99.     }
  100.  
  101.     /* (non-Javadoc)
  102.      * @see com.blogspot.piergiuseppe82.struts2intro.dao.PersonaDao#getRecapito(int)
  103.      */
  104.     public Recapito getRecapito(int id) {
  105.         return em.find(Recapito.class, id);
  106.     }
  107.  
  108.     /* (non-Javadoc)
  109.      * @see com.blogspot.piergiuseppe82.struts2intro.dao.PersonaDao#removeRecapito(int)
  110.      */
  111.     public void removeRecapito(int id) {
  112.         Recapito recapito = getRecapito(id);
  113.         if(recapito != null)
  114.             em.remove(recapito);
  115.        
  116.     }
  117.  
  118.  
  119.    
  120.    
  121. }