Mercurial > hg > IndexMetaContextualizer
view src/main/java/de/mpiwg/indexmeta/services/PersistentService.java @ 7:bc57f2660b0f
implementation of web service
author | Jorge Urzua <jurzua@mpiwg-berlin.mpg.de> |
---|---|
date | Fri, 12 Apr 2013 17:48:42 +0200 |
parents | |
children |
line wrap: on
line source
package de.mpiwg.indexmeta.services; import java.util.List; import javax.persistence.Query; import de.mpiwg.indexmeta.bo.Contextualization; import de.mpiwg.indexmeta.utils.QuadMap; public class PersistentService { private QuadMap<Contextualization> ctxMap = null; private javax.persistence.EntityManagerFactory emf; private javax.persistence.EntityManager em; private String PERSISTENCE_UNIT_NAME = "uno"; public QuadMap<Contextualization> getCtxMap() { if(ctxMap == null){ this.loadCtxMap(); } return ctxMap; } public void saveCtx(Contextualization ctx){ System.out.println("Saving= " + ctx.toString()); initEntityManager(); em.getTransaction().begin(); em.persist(ctx); ctxMap.put(ctx.getKey(), ctx); em.getTransaction().commit(); closeEntityManager(); System.out.println("Saved= " + ctx.toString()); } private void loadCtxMap(){ ctxMap = new QuadMap<Contextualization>(); initEntityManager(); em.getTransaction().begin(); Query q = em.createQuery("from Contextualization"); List<Contextualization> list = q.getResultList(); for(Contextualization ctx : list){ ctxMap.put(ctx.getKey(), ctx); } em.getTransaction().commit(); closeEntityManager(); } private void initEntityManager() { emf = javax.persistence.Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME); em = emf.createEntityManager(); } private void closeEntityManager() { em.close(); emf.close(); } }