Mercurial > hg > IndexMetaContextualizer
annotate src/main/java/de/mpiwg/indexmeta/services/DataProvider.java @ 8:9ce7979fd037
Implementation Data Provider
| author | Jorge Urzua <jurzua@mpiwg-berlin.mpg.de> |
|---|---|
| date | Wed, 24 Apr 2013 10:34:23 +0200 |
| parents | bc57f2660b0f |
| 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.ArrayList; |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4 import java.util.List; |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5 |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6 import org.apache.log4j.Logger; |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7 |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8 import de.mpiwg.indexmeta.bo.Contextualization; |
|
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 DataProvider { |
|
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 protected static Logger logger = Logger.getLogger(DataProvider.class); |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13 |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14 public DataProvider(){ |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15 logger.info("Starting DataProvider *********"); |
|
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 private PersistentService ps = new PersistentService(); |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19 |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20 public List<Contextualization> getCtxByIndexMetaId(String indexMetaId){ |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21 //QuadKey(indexMetaId, type, remoteId, id) |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22 return ps.getCtxMap().getValuesByFirstKey(indexMetaId); |
|
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 List<Contextualization> getCtxByType(String type){ |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26 //QuadKey(indexMetaId, type, remoteId, id) |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
27 return ps.getCtxMap().getValuesBySecondKey(type); |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
28 } |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
29 |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
30 public List<Contextualization> getCtxByRemoteId(String remoteId){ |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
31 //QuadKey(indexMetaId, type, remoteId, id) |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
32 return ps.getCtxMap().getValuesByThirdKey(remoteId); |
|
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 |
|
8
9ce7979fd037
Implementation Data Provider
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
7
diff
changeset
|
35 public Contextualization getCtx(String indexMetaId, String elementId) throws Exception{ |
|
7
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
36 List<Contextualization> rs = new ArrayList<Contextualization>(); |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
37 |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
38 for(Contextualization ctx : ps.getCtxMap().getValuesByFirstKey(indexMetaId)){ |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
39 if(ctx.getElementId().equals(elementId)){ |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
40 rs.add(ctx); |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
41 } |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
42 } |
|
8
9ce7979fd037
Implementation Data Provider
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
7
diff
changeset
|
43 if(rs.isEmpty()) |
|
9ce7979fd037
Implementation Data Provider
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
7
diff
changeset
|
44 return null; |
|
9ce7979fd037
Implementation Data Provider
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
7
diff
changeset
|
45 else if(rs.size() == 1) |
|
9ce7979fd037
Implementation Data Provider
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
7
diff
changeset
|
46 return rs.get(0); |
|
9ce7979fd037
Implementation Data Provider
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
7
diff
changeset
|
47 else |
|
9ce7979fd037
Implementation Data Provider
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
7
diff
changeset
|
48 throw new Exception("For indexMetaId=" + indexMetaId + " and elementId=" + elementId + " there are more than one element in DB."); |
|
7
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 |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
51 public Contextualization getCtx(Long id){ |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
52 return ps.getCtxMap().getValuesByOwnKey(id); |
|
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 |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
55 public void saveCtx(Contextualization ctx){ |
|
bc57f2660b0f
implementation of web service
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
56 ps.saveCtx(ctx); |
|
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 } |
