comparison 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
comparison
equal deleted inserted replaced
179:c9dec00f0f17 180:0d31c8be7c31
1 package de.mpiwg.itgroup.ismi.merge;
2
3 import java.io.Serializable;
4 import java.util.ArrayList;
5 import java.util.List;
6
7 import org.apache.log4j.Logger;
8 import org.mpi.openmind.repository.services.utils.RelationFilter;
9
10 import de.mpiwg.itgroup.ismi.browse.EntityRepositoryBean;
11 import de.mpiwg.itgroup.ismi.browse.FullEntityRepositoryBean;
12 import de.mpiwg.itgroup.ismi.entry.beans.AbstractISMIBean;
13
14 public class MissingRelationsBean extends AbstractISMIBean implements Serializable{
15
16 private static Logger logger = Logger.getLogger(MissingRelationsBean.class);
17
18 private static final long serialVersionUID = 1L;
19
20 private FullEntityRepositoryBean browseBean;
21
22
23 public MissingRelationsBean(){
24 //logger.info("AdvancedSearchBean");
25 this.reset();
26 }
27
28 public synchronized void reset(){
29 logger.info("MissingRelationsBean.reset()");
30 browseBean = new FullEntityRepositoryBean();
31 browseBean.setObjectClass(TEXT);
32
33 logger.info("MissingRelationsBean.reset() Done.");
34 }
35
36
37 public void actionReset() {
38 reset();
39 }
40
41
42 public void actionFindMissingAuthors() {
43 logger.debug("Start findMissingAuthors...");
44 List<RelationFilter> relFilters = new ArrayList<RelationFilter>();
45 /*
46 * find TEXT without was_created_by PERSON relation
47 */
48 browseBean.setObjectClass(TEXT);
49 RelationFilter relFilter = new RelationFilter();
50 relFilter.relObjectClass = "was_created_by";
51 relFilter.tarObjectClass = "PERSON";
52 relFilter.relationMissing = true;
53 relFilters.add(relFilter);
54 try {
55 browseBean.searchByRelations(relFilters);
56 } catch (Exception e) {
57 logger.error(e);
58 }
59 logger.debug("Done findMissingAuthors.");
60 }
61
62 public void actionFindMissingTexts() {
63 logger.debug("Start findMissingTexts...");
64 List<RelationFilter> relFilters = new ArrayList<RelationFilter>();
65 /*
66 * find WITNESS without is_exemplar_of TEXT relation
67 */
68 browseBean.setObjectClass(WITNESS);
69 RelationFilter relFilter = new RelationFilter();
70 relFilter.relObjectClass = "is_exemplar_of";
71 relFilter.tarObjectClass = "TEXT";
72 relFilter.relationMissing = true;
73 relFilters.add(relFilter);
74 try {
75 browseBean.searchByRelations(relFilters);
76 } catch (Exception e) {
77 logger.error(e);
78 }
79 logger.debug("Done findMissingTexts.");
80 }
81
82 public void actionFindMissingCodices() {
83 logger.debug("Start findMissingCodices...");
84 List<RelationFilter> relFilters = new ArrayList<RelationFilter>();
85 /*
86 * find WITNESS without is_part_of CODEX relation
87 */
88 browseBean.setObjectClass(WITNESS);
89 RelationFilter relFilter = new RelationFilter();
90 relFilter.relObjectClass = "is_part_of";
91 relFilter.tarObjectClass = "CODEX";
92 relFilter.relationMissing = true;
93 relFilters.add(relFilter);
94 try {
95 browseBean.searchByRelations(relFilters);
96 } catch (Exception e) {
97 logger.error(e);
98 }
99 logger.debug("Done findMissingCodices.");
100 }
101
102 /**
103 * @return the browseBean
104 */
105 public EntityRepositoryBean getBrowseBean() {
106 return browseBean;
107 }
108
109
110 }