Mercurial > hg > IndexMetaContextualizer
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 |
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 } |