Mercurial > hg > ismi-richfaces
view src/main/java/de/mpiwg/itgroup/ismi/merge/MissingRelationsBean.java @ 180:0d31c8be7c31
new MissingRelations feature and UI.
including searchByRelations() with Filter in FullEntityRepositoryBean.
author | Robert Casties <casties@mpiwg-berlin.mpg.de> |
---|---|
date | Wed, 13 Jun 2018 14:57:13 +0200 |
parents | |
children | 52aa06772336 |
line wrap: on
line source
package de.mpiwg.itgroup.ismi.merge; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.mpi.openmind.repository.services.utils.RelationFilter; import de.mpiwg.itgroup.ismi.browse.EntityRepositoryBean; import de.mpiwg.itgroup.ismi.browse.FullEntityRepositoryBean; import de.mpiwg.itgroup.ismi.entry.beans.AbstractISMIBean; public class MissingRelationsBean extends AbstractISMIBean implements Serializable{ private static Logger logger = Logger.getLogger(MissingRelationsBean.class); private static final long serialVersionUID = 1L; private FullEntityRepositoryBean browseBean; public MissingRelationsBean(){ //logger.info("AdvancedSearchBean"); this.reset(); } public synchronized void reset(){ logger.info("MissingRelationsBean.reset()"); browseBean = new FullEntityRepositoryBean(); browseBean.setObjectClass(TEXT); logger.info("MissingRelationsBean.reset() Done."); } public void actionReset() { reset(); } public void actionFindMissingAuthors() { logger.debug("Start findMissingAuthors..."); List<RelationFilter> relFilters = new ArrayList<RelationFilter>(); /* * find TEXT without was_created_by PERSON relation */ browseBean.setObjectClass(TEXT); RelationFilter relFilter = new RelationFilter(); relFilter.relObjectClass = "was_created_by"; relFilter.tarObjectClass = "PERSON"; relFilter.relationMissing = true; relFilters.add(relFilter); try { browseBean.searchByRelations(relFilters); } catch (Exception e) { logger.error(e); } logger.debug("Done findMissingAuthors."); } public void actionFindMissingTexts() { logger.debug("Start findMissingTexts..."); List<RelationFilter> relFilters = new ArrayList<RelationFilter>(); /* * find WITNESS without is_exemplar_of TEXT relation */ browseBean.setObjectClass(WITNESS); RelationFilter relFilter = new RelationFilter(); relFilter.relObjectClass = "is_exemplar_of"; relFilter.tarObjectClass = "TEXT"; relFilter.relationMissing = true; relFilters.add(relFilter); try { browseBean.searchByRelations(relFilters); } catch (Exception e) { logger.error(e); } logger.debug("Done findMissingTexts."); } public void actionFindMissingCodices() { logger.debug("Start findMissingCodices..."); List<RelationFilter> relFilters = new ArrayList<RelationFilter>(); /* * find WITNESS without is_part_of CODEX relation */ browseBean.setObjectClass(WITNESS); RelationFilter relFilter = new RelationFilter(); relFilter.relObjectClass = "is_part_of"; relFilter.tarObjectClass = "CODEX"; relFilter.relationMissing = true; relFilters.add(relFilter); try { browseBean.searchByRelations(relFilters); } catch (Exception e) { logger.error(e); } logger.debug("Done findMissingCodices."); } /** * @return the browseBean */ public EntityRepositoryBean getBrowseBean() { return browseBean; } }