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 } |