Mercurial > hg > ismi-richfaces
view src/main/java/de/mpiwg/itgroup/ismi/merge/MissingRelationsBean.java @ 208:c1f509c69e9d
fix broken find-lost-floruit action.
author | casties |
---|---|
date | Mon, 26 Aug 2019 16:44:47 +0200 |
parents | 91f177641ec7 |
children | 631864bfec2e |
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.bo.Entity; import org.mpi.openmind.repository.services.utils.AttributeFilter; 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 void actionFindMissingCollection() { logger.debug("Start findMissingCollection..."); List<RelationFilter> relFilters = new ArrayList<RelationFilter>(); /* * find CODEX without is_part_of COLLECTION relation */ browseBean = new FullEntityRepositoryBean(); browseBean.setObjectClass(CODEX); RelationFilter relFilter = new RelationFilter(); relFilter.relObjectClass = "is_part_of"; relFilter.tarObjectClass = "COLLECTION"; relFilter.relationMissing = true; relFilters.add(relFilter); try { browseBean.searchByRelations(relFilters); } catch (Exception e) { logger.error(e); } logger.debug("Done findMissingCollection."); } public void actionFindMissingRepository() { logger.debug("Start findMissingRepository..."); List<RelationFilter> relFilters = new ArrayList<RelationFilter>(); /* * find COLLECTION without is_part_of REPOSITORY relation */ browseBean = new FullEntityRepositoryBean(); browseBean.setObjectClass(COLLECTION); RelationFilter relFilter = new RelationFilter(); relFilter.relObjectClass = "is_part_of"; relFilter.tarObjectClass = "REPOSITORY"; relFilter.relationMissing = true; relFilters.add(relFilter); try { browseBean.searchByRelations(relFilters); } catch (Exception e) { logger.error(e); } logger.debug("Done findMissingRepository."); } public void actionFindMissingPlace() { logger.debug("Start findMissingPlace..."); List<RelationFilter> relFilters = new ArrayList<RelationFilter>(); /* * find REPOSITORY without is_part_of PLACE relation */ browseBean = new FullEntityRepositoryBean(); browseBean.setObjectClass(REPOSITORY); RelationFilter relFilter = new RelationFilter(); relFilter.relObjectClass = "is_in"; relFilter.tarObjectClass = "PLACE"; relFilter.relationMissing = true; relFilters.add(relFilter); try { browseBean.searchByRelations(relFilters); } catch (Exception e) { logger.error(e); } logger.debug("Done findMissingPlace."); } public void actionFindMissingWitnessCollection() { logger.debug("Start findMissingWitnessCollection..."); List<RelationFilter> relFilters = new ArrayList<RelationFilter>(); /* * find CODEX without is_part_of WITNESS and is_part_of COLLECTION relations */ browseBean = new FullEntityRepositoryBean(); browseBean.setObjectClass(CODEX); RelationFilter relFilter = new RelationFilter(); relFilter.relObjectClass = "is_part_of"; relFilter.tarObjectClass = "COLLECTION"; relFilter.relationMissing = true; relFilters.add(relFilter); RelationFilter relFilter2 = new RelationFilter(); relFilter2.relObjectClass = "is_part_of"; relFilter2.srcObjectClass = "WITNESS"; relFilter2.relationMissing = true; relFilters.add(relFilter2); try { browseBean.searchByRelations(relFilters); } catch (Exception e) { logger.error(e); } logger.debug("Done findMissingWitnessCollection."); } public void actionFindLostAlias() { logger.debug("Start findLostAlias..."); List<RelationFilter> relFilters = new ArrayList<RelationFilter>(); /* * find ALIAS without relation */ browseBean = new FullEntityRepositoryBean(); browseBean.setObjectClass(ALIAS); RelationFilter relFilter = new RelationFilter(); relFilter.relObjectClass = "*"; relFilter.tarObjectClass = "*"; relFilter.relationMissing = true; relFilters.add(relFilter); try { browseBean.searchByRelations(relFilters); } catch (Exception e) { logger.error(e); } logger.debug("Done findLostAlias."); } public void actionFindLostFloruit() { logger.debug("Start findLostFloruit..."); List<RelationFilter> relFilters = new ArrayList<RelationFilter>(); /* * find FLORUIT_DATE without relation */ browseBean = new FullEntityRepositoryBean(); browseBean.setObjectClass(FLORUIT_DATE); RelationFilter relFilter = new RelationFilter(); relFilter.relObjectClass = "*"; relFilter.srcObjectClass = "*"; relFilter.relationMissing = true; relFilters.add(relFilter); try { browseBean.searchByRelations(relFilters); } catch (Exception e) { logger.error(e); } logger.debug("Done findLostFloruit."); } public void actionFindLostReference() { logger.debug("Start findLostReference..."); List<RelationFilter> relFilters = new ArrayList<RelationFilter>(); /* * find REFERENCE without relation */ browseBean = new FullEntityRepositoryBean(); browseBean.setObjectClass(REFERENCE); RelationFilter relFilter = new RelationFilter(); relFilter.relObjectClass = "*"; relFilter.tarObjectClass = "*"; relFilter.relationMissing = true; relFilters.add(relFilter); try { browseBean.searchByRelations(relFilters); } catch (Exception e) { logger.error(e); } logger.debug("Done findLostReference."); } public void actionFindEmptyReference() { logger.debug("Start findEmptyReference..."); ArrayList<AttributeFilter> filters = new ArrayList<AttributeFilter>(); /* * find REFERENCE without endnote-id */ browseBean = new FullEntityRepositoryBean(); browseBean.setObjectClass(REFERENCE); AttributeFilter filter = new AttributeFilter(); filter.entObjectClass = REFERENCE; filter.name = "endnote-id"; filter.attributeMissing = true; filters.add(filter); try { browseBean.searchByAttributes2(filters); } catch (Exception e) { logger.error(e); } logger.debug("Done findEmptyReference."); } /** * Delete the selected Entities. * @return */ public String actionDeleteSelectedEntities() { logger.info("DELETE SELECTED ENTITIES"); List<String> textMsg = new ArrayList<String>(); try { List<Entity> entities = browseBean.getEntities(); if (entities.size() == 0) return null; for (Entity ent : entities) { // delete entity getWrapper().removeCurrentVersionEntity(ent, this.getUserName()); textMsg.add("Delete "+ent.getShortString()+"\n"); } } catch (Exception e) { printInternalError(e); logger.error(e.getMessage() + " Removing entity!", e); } for (String msg : textMsg) { this.addGeneralMsg(msg); logger.debug(msg); } addGeneralMsg(browseBean.getEntities().size() + " Entities were deleted!"); // reset EntityRepositoryBean browseBean.reset(); return null; } 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; } }