diff src/main/java/de/mpiwg/indexmeta/services/DataProvider.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 9ce7979fd037
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/mpiwg/indexmeta/services/DataProvider.java	Fri Apr 12 17:48:42 2013 +0200
@@ -0,0 +1,54 @@
+package de.mpiwg.indexmeta.services;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+
+import de.mpiwg.indexmeta.bo.Contextualization;
+
+public class DataProvider {
+
+	protected static Logger logger = Logger.getLogger(DataProvider.class);
+	
+	public DataProvider(){
+		logger.info("Starting DataProvider *********");
+	}
+	
+	private PersistentService ps = new PersistentService();
+	
+	public List<Contextualization> getCtxByIndexMetaId(String indexMetaId){
+		//QuadKey(indexMetaId, type, remoteId, id)
+		return ps.getCtxMap().getValuesByFirstKey(indexMetaId);
+	}
+	
+	public List<Contextualization> getCtxByType(String type){
+		//QuadKey(indexMetaId, type, remoteId, id)
+		return ps.getCtxMap().getValuesBySecondKey(type);
+	}
+	
+	public List<Contextualization> getCtxByRemoteId(String remoteId){
+		//QuadKey(indexMetaId, type, remoteId, id)
+		return ps.getCtxMap().getValuesByThirdKey(remoteId);
+	}
+	
+	public List<Contextualization> getCtx(String indexMetaId, String elementId){
+		List<Contextualization> rs = new ArrayList<Contextualization>();
+		
+		for(Contextualization ctx : ps.getCtxMap().getValuesByFirstKey(indexMetaId)){
+			if(ctx.getElementId().equals(elementId)){
+				rs.add(ctx);
+			}
+		}
+		return rs;
+	}
+	
+	public Contextualization getCtx(Long id){
+		return ps.getCtxMap().getValuesByOwnKey(id);
+	}
+	
+	public void saveCtx(Contextualization ctx){
+		ps.saveCtx(ctx);
+	}
+	
+}