Mercurial > hg > IndexMetaContextualizer
view 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 |
line wrap: on
line source
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 Contextualization getCtx(String indexMetaId, String elementId) throws Exception{ List<Contextualization> rs = new ArrayList<Contextualization>(); for(Contextualization ctx : ps.getCtxMap().getValuesByFirstKey(indexMetaId)){ if(ctx.getElementId().equals(elementId)){ rs.add(ctx); } } if(rs.isEmpty()) return null; else if(rs.size() == 1) return rs.get(0); else throw new Exception("For indexMetaId=" + indexMetaId + " and elementId=" + elementId + " there are more than one element in DB."); } public Contextualization getCtx(Long id){ return ps.getCtxMap().getValuesByOwnKey(id); } public void saveCtx(Contextualization ctx){ ps.saveCtx(ctx); } }