annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
1 package de.mpiwg.indexmeta.services;
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
2
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
3 import java.util.List;
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
4
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
5 import javax.persistence.Query;
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
6
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
7 import de.mpiwg.indexmeta.bo.Contextualization;
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
8 import de.mpiwg.indexmeta.utils.QuadMap;
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
9
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
10 public class PersistentService {
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
11
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
12 private QuadMap<Contextualization> ctxMap = null;
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
13 private javax.persistence.EntityManagerFactory emf;
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
14 private javax.persistence.EntityManager em;
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
15 private String PERSISTENCE_UNIT_NAME = "uno";
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
16
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
17
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
18 public QuadMap<Contextualization> getCtxMap() {
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
19 if(ctxMap == null){
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
20 this.loadCtxMap();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
21 }
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
22 return ctxMap;
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
23 }
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
24
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 public void saveCtx(Contextualization ctx){
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
26 System.out.println("Saving= " + ctx.toString());
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
27
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
28 initEntityManager();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
29 em.getTransaction().begin();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
30
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 em.persist(ctx);
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
32 ctxMap.put(ctx.getKey(), ctx);
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
33
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
34 em.getTransaction().commit();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
35 closeEntityManager();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
36
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
37 System.out.println("Saved= " + ctx.toString());
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
38 }
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
39
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
40
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
41 private void loadCtxMap(){
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
42 ctxMap = new QuadMap<Contextualization>();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
43
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
44 initEntityManager();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
45 em.getTransaction().begin();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
46
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
47 Query q = em.createQuery("from Contextualization");
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
48 List<Contextualization> list = q.getResultList();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
49
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
50 for(Contextualization ctx : list){
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
51 ctxMap.put(ctx.getKey(), ctx);
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
52 }
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
53
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
54 em.getTransaction().commit();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
55 closeEntityManager();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
56 }
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
57
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
58
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
59 private void initEntityManager() {
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
60 emf = javax.persistence.Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
61 em = emf.createEntityManager();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
62 }
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
63
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
64 private void closeEntityManager() {
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
65 em.close();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
66 emf.close();
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
67 }
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
68
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
69
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
70
bc57f2660b0f implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
71 }