view src/main/java/de/mpiwg/itgroup/ismi/merge/MissingRelationsBean.java @ 181:52aa06772336

fixed missingCodex function. moved some code from SessionBean up to MissingRelationsBean and PublicByAuthorBean.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Wed, 13 Jun 2018 17:48:06 +0200
parents 0d31c8be7c31
children ef0949b8efc3
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 org.richfaces.event.ItemChangeEvent;

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;
		
	protected FullEntityRepositoryBean browseBean;

    protected String selectedTab = "aut";
	
	
	public MissingRelationsBean(){
		//logger.info("AdvancedSearchBean");
		this.reset();
	}
	
	public synchronized void reset(){
		logger.info("MissingRelationsBean.reset()");
	    browseBean = new FullEntityRepositoryBean();	    
        logger.info("MissingRelationsBean.reset() Done.");
	}
	
	
	public void actionFindMissingAuthors() {
		logger.debug("Start findMissingAuthors...");
		List<RelationFilter> relFilters = new ArrayList<RelationFilter>();
		/*
		 * find TEXT without was_created_by PERSON relation
		 */
        browseBean = new FullEntityRepositoryBean();
	    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 = new FullEntityRepositoryBean();
	    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 = new FullEntityRepositoryBean();
	    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.");
	}
	
    public EntityRepositoryBean getBrowseBean() {
        return browseBean;
    }

    public void listenerTabChange(ItemChangeEvent event) {
        reset();
    	String url = "?formIndex=" + selectedTab;
    	redirect(null, url);
    }

    public String getSelectedTab() {
    	return selectedTab;
    }

    public void setSelectedTab(String selectedMissingRelationsTab) {
    	selectedTab = selectedMissingRelationsTab;
    }


}