annotate src/main/java/de/mpiwg/itgroup/ismi/browse/AbstractEntityRepositoryBean.java @ 81:0d5d36c83e77

added search for bibliography id attribute for REFERENCEs.
author casties
date Mon, 29 Aug 2016 20:18:04 +0200
parents 20c76ff72cf2
children 03dcbaf8b8cf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.browse;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.util.ArrayList;
jurzua
parents:
diff changeset
4 import java.util.Collections;
jurzua
parents:
diff changeset
5 import java.util.HashMap;
jurzua
parents:
diff changeset
6 import java.util.List;
jurzua
parents:
diff changeset
7 import java.util.Map;
jurzua
parents:
diff changeset
8
jurzua
parents:
diff changeset
9 import javax.faces.event.ActionEvent;
jurzua
parents:
diff changeset
10 import javax.faces.event.ValueChangeEvent;
jurzua
parents:
diff changeset
11 import javax.faces.model.SelectItem;
jurzua
parents:
diff changeset
12
jurzua
parents:
diff changeset
13 import org.apache.commons.lang.StringUtils;
jurzua
parents:
diff changeset
14 import org.apache.log4j.Logger;
jurzua
parents:
diff changeset
15 import org.mpi.openmind.repository.bo.Attribute;
jurzua
parents:
diff changeset
16 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
17 import org.mpi.openmind.repository.services.utils.AttributeFilter;
jurzua
parents:
diff changeset
18
jurzua
parents:
diff changeset
19 import de.mpiwg.itgroup.ismi.util.guiComponents.DataPaginator;
jurzua
parents:
diff changeset
20
jurzua
parents:
diff changeset
21 public class AbstractEntityRepositoryBean extends AbstractBrowse {
jurzua
parents:
diff changeset
22
jurzua
parents:
diff changeset
23 private static final long serialVersionUID = 3154642100627969159L;
jurzua
parents:
diff changeset
24
jurzua
parents:
diff changeset
25 private static Logger logger = Logger.getLogger(AbstractEntityRepositoryBean.class);
jurzua
parents:
diff changeset
26
jurzua
parents:
diff changeset
27 public static String MODE_ADVANCED = "advanced";
jurzua
parents:
diff changeset
28 public static String MODE_ALL = "all";
jurzua
parents:
diff changeset
29 public static String MODE_NONE = "none";
jurzua
parents:
diff changeset
30
jurzua
parents:
diff changeset
31
jurzua
parents:
diff changeset
32 private String objectClass = null;
jurzua
parents:
diff changeset
33 private List<Entity> entities = new ArrayList<Entity>();
jurzua
parents:
diff changeset
34 private List<Entity> currentEntities = new ArrayList<Entity>();
jurzua
parents:
diff changeset
35
jurzua
parents:
diff changeset
36 private List<SelectItem> definitions = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
37
jurzua
parents:
diff changeset
38 private transient DataPaginator advancedPaginator = new DataPaginator();
jurzua
parents:
diff changeset
39
jurzua
parents:
diff changeset
40 private String ocTerm;
jurzua
parents:
diff changeset
41 private String currentTab;
jurzua
parents:
diff changeset
42
jurzua
parents:
diff changeset
43 private String textFullTitle;
jurzua
parents:
diff changeset
44 private String textFullTitleTranslit;
jurzua
parents:
diff changeset
45 private String textShortTitle;
jurzua
parents:
diff changeset
46
jurzua
parents:
diff changeset
47 private String personName;
jurzua
parents:
diff changeset
48 private String personNameTranslit;
jurzua
parents:
diff changeset
49
jurzua
parents:
diff changeset
50 private String codexIdentifier;
jurzua
parents:
diff changeset
51
jurzua
parents:
diff changeset
52 private String collectionName;
jurzua
parents:
diff changeset
53
jurzua
parents:
diff changeset
54 private String placeName;
jurzua
parents:
diff changeset
55
jurzua
parents:
diff changeset
56 private String aliasAlias;
jurzua
parents:
diff changeset
57
jurzua
parents:
diff changeset
58 private String repositoryName;
jurzua
parents:
diff changeset
59
jurzua
parents:
diff changeset
60 private String witnessFullTitle;
jurzua
parents:
diff changeset
61 private String witnessFullTitleTranslit;
jurzua
parents:
diff changeset
62 private String witnessAhlwardtNo;
jurzua
parents:
diff changeset
63
jurzua
parents:
diff changeset
64 private boolean advancedSearch = false;
jurzua
parents:
diff changeset
65 private String resultMode = MODE_NONE;
jurzua
parents:
diff changeset
66 private String resultSummaryMsg;
jurzua
parents:
diff changeset
67
jurzua
parents:
diff changeset
68 private String subjectType;
jurzua
parents:
diff changeset
69 private List<SelectItem> suggestedSubjectTypes = new ArrayList<SelectItem>();
81
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
70
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
71 private String referenceBibIdNo;
1
jurzua
parents:
diff changeset
72
jurzua
parents:
diff changeset
73 private String page;
jurzua
parents:
diff changeset
74 private String pageMsg;
jurzua
parents:
diff changeset
75
jurzua
parents:
diff changeset
76 public static String main_subject = "main_subject";
jurzua
parents:
diff changeset
77 public static String sub_subject = "sub_subject";
jurzua
parents:
diff changeset
78
jurzua
parents:
diff changeset
79 public AbstractEntityRepositoryBean(){
jurzua
parents:
diff changeset
80 suggestedSubjectTypes.add(new SelectItem(null, "-- choose --"));
jurzua
parents:
diff changeset
81 suggestedSubjectTypes.add(new SelectItem(main_subject, main_subject));
jurzua
parents:
diff changeset
82 suggestedSubjectTypes.add(new SelectItem(sub_subject, sub_subject));
jurzua
parents:
diff changeset
83 this.updateDefinitions(getWrapper().getLWDefinitions());
jurzua
parents:
diff changeset
84 }
jurzua
parents:
diff changeset
85
jurzua
parents:
diff changeset
86 private void updateAdvancedEntities() {
jurzua
parents:
diff changeset
87 if (StringUtils.isNotEmpty(getObjectClass())) {
jurzua
parents:
diff changeset
88 this.advancedPaginator.initCount();
jurzua
parents:
diff changeset
89 int startRecord = this.advancedPaginator.getCurrentPage()
jurzua
parents:
diff changeset
90 * this.advancedPaginator.getItemsPerPage();
jurzua
parents:
diff changeset
91 if((this.advancedPaginator.getCurrentPage() + 1) == this.advancedPaginator.getNumberOfPages()){
jurzua
parents:
diff changeset
92 int mod = this.entities.size() % advancedPaginator.getItemsPerPage();
jurzua
parents:
diff changeset
93 if(mod == 0){
jurzua
parents:
diff changeset
94 this.currentEntities = entities.subList(startRecord, startRecord + this.advancedPaginator.getItemsPerPage());
jurzua
parents:
diff changeset
95 }else{
jurzua
parents:
diff changeset
96 this.currentEntities = entities.subList(startRecord, startRecord + mod);
jurzua
parents:
diff changeset
97 }
jurzua
parents:
diff changeset
98
jurzua
parents:
diff changeset
99 }else{
jurzua
parents:
diff changeset
100 this.currentEntities = entities.subList(startRecord, startRecord + this.advancedPaginator.getItemsPerPage());
jurzua
parents:
diff changeset
101 }
jurzua
parents:
diff changeset
102
jurzua
parents:
diff changeset
103 } else
jurzua
parents:
diff changeset
104 this.currentEntities = new ArrayList<Entity>();
jurzua
parents:
diff changeset
105 }
jurzua
parents:
diff changeset
106
jurzua
parents:
diff changeset
107 public String advancedFirst() {
jurzua
parents:
diff changeset
108 this.advancedPaginator.first();
jurzua
parents:
diff changeset
109 this.updateAdvancedEntities();
jurzua
parents:
diff changeset
110 return GOTO_ENTITY_REPOSITORY;
jurzua
parents:
diff changeset
111 }
jurzua
parents:
diff changeset
112
jurzua
parents:
diff changeset
113 public String advancedLast() {
jurzua
parents:
diff changeset
114 this.advancedPaginator.last();
jurzua
parents:
diff changeset
115 this.updateAdvancedEntities();
jurzua
parents:
diff changeset
116 return GOTO_ENTITY_REPOSITORY;
jurzua
parents:
diff changeset
117 }
jurzua
parents:
diff changeset
118
jurzua
parents:
diff changeset
119 public String advancedFastForward() {
jurzua
parents:
diff changeset
120 this.advancedPaginator.fastForward();
jurzua
parents:
diff changeset
121 this.updateAdvancedEntities();
jurzua
parents:
diff changeset
122 return GOTO_ENTITY_REPOSITORY;
jurzua
parents:
diff changeset
123 }
jurzua
parents:
diff changeset
124
jurzua
parents:
diff changeset
125 public String advancedFastRewind() {
jurzua
parents:
diff changeset
126 this.advancedPaginator.fastRewind();
jurzua
parents:
diff changeset
127 this.updateAdvancedEntities();
jurzua
parents:
diff changeset
128 return GOTO_ENTITY_REPOSITORY;
jurzua
parents:
diff changeset
129 }
jurzua
parents:
diff changeset
130
jurzua
parents:
diff changeset
131 public String advancedPrevious() {
jurzua
parents:
diff changeset
132 this.advancedPaginator.previous();
jurzua
parents:
diff changeset
133 this.updateAdvancedEntities();
jurzua
parents:
diff changeset
134 return GOTO_ENTITY_REPOSITORY;
jurzua
parents:
diff changeset
135 }
jurzua
parents:
diff changeset
136
jurzua
parents:
diff changeset
137 public String advancedNext() {
jurzua
parents:
diff changeset
138 this.advancedPaginator.next();
jurzua
parents:
diff changeset
139 this.updateAdvancedEntities();
jurzua
parents:
diff changeset
140 return GOTO_ENTITY_REPOSITORY;
jurzua
parents:
diff changeset
141 }
jurzua
parents:
diff changeset
142
jurzua
parents:
diff changeset
143 public void reset(){
jurzua
parents:
diff changeset
144 this.entities = new ArrayList<Entity>();
jurzua
parents:
diff changeset
145 this.currentEntities = new ArrayList<Entity>();
jurzua
parents:
diff changeset
146 this.resultSummaryMsg = new String();
jurzua
parents:
diff changeset
147 }
jurzua
parents:
diff changeset
148
jurzua
parents:
diff changeset
149 public void actionGoToPageAdvancedResult(ActionEvent event){
jurzua
parents:
diff changeset
150 this.pageMsg = "";
jurzua
parents:
diff changeset
151 try{
jurzua
parents:
diff changeset
152 Integer page = new Integer(getPage());
jurzua
parents:
diff changeset
153 this.advancedPaginator.goToPage(page - 1);
jurzua
parents:
diff changeset
154 this.updateAdvancedEntities();
jurzua
parents:
diff changeset
155 }catch(Exception e){
jurzua
parents:
diff changeset
156 this.pageMsg = "page is invalid!";
jurzua
parents:
diff changeset
157 }
jurzua
parents:
diff changeset
158 }
jurzua
parents:
diff changeset
159
jurzua
parents:
diff changeset
160 public DataPaginator getAdvancedPaginator() {
jurzua
parents:
diff changeset
161 return advancedPaginator;
jurzua
parents:
diff changeset
162 }
jurzua
parents:
diff changeset
163
jurzua
parents:
diff changeset
164 public void setAdvancedPaginator(DataPaginator advancedPaginator) {
jurzua
parents:
diff changeset
165 this.advancedPaginator = advancedPaginator;
jurzua
parents:
diff changeset
166 }
jurzua
parents:
diff changeset
167
jurzua
parents:
diff changeset
168 public void updateDefinitions(List<Entity> defs) {
jurzua
parents:
diff changeset
169 this.definitions = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
170 SelectItem option = null;
jurzua
parents:
diff changeset
171 for (Entity def : defs) {
jurzua
parents:
diff changeset
172 if (def.getOwnValue() != null) {
jurzua
parents:
diff changeset
173 option = new SelectItem(def.getOwnValue());
jurzua
parents:
diff changeset
174 this.definitions.add(option);
jurzua
parents:
diff changeset
175 }
jurzua
parents:
diff changeset
176 }
jurzua
parents:
diff changeset
177 this.setEntities(new ArrayList<Entity>());
jurzua
parents:
diff changeset
178 if (defs.size() > 0) {
jurzua
parents:
diff changeset
179 this.objectClass = defs.get(0).getOwnValue();
jurzua
parents:
diff changeset
180 }
jurzua
parents:
diff changeset
181 }
jurzua
parents:
diff changeset
182
jurzua
parents:
diff changeset
183 public void actionDisplayAdvancedSearch(ActionEvent event) {
jurzua
parents:
diff changeset
184 this.advancedSearch = true;
jurzua
parents:
diff changeset
185 }
jurzua
parents:
diff changeset
186
jurzua
parents:
diff changeset
187 public void actionHideAdvancedSearch(ActionEvent event) {
jurzua
parents:
diff changeset
188 this.advancedSearch = false;
jurzua
parents:
diff changeset
189 }
jurzua
parents:
diff changeset
190
jurzua
parents:
diff changeset
191 public void actionChangeDefinition(ValueChangeEvent event) {
jurzua
parents:
diff changeset
192 this.objectClass = (String) event.getNewValue();
jurzua
parents:
diff changeset
193 }
jurzua
parents:
diff changeset
194
jurzua
parents:
diff changeset
195 public void searchByOwnvalue(){
jurzua
parents:
diff changeset
196 this.resultMode = MODE_ADVANCED;
jurzua
parents:
diff changeset
197 this.setPage("");
jurzua
parents:
diff changeset
198 this.currentEntities = new ArrayList<Entity>();
jurzua
parents:
diff changeset
199 this.entities = getWrapper().searchEntityByOwnValue(objectClass, ocTerm);
jurzua
parents:
diff changeset
200 this.resultSummaryMsg = "";
jurzua
parents:
diff changeset
201
jurzua
parents:
diff changeset
202 if(this.entities.size() > 0){
jurzua
parents:
diff changeset
203
jurzua
parents:
diff changeset
204 this.advancedPaginator.setCurrentPage(0);
jurzua
parents:
diff changeset
205 int entitiesCount = this.entities.size();
jurzua
parents:
diff changeset
206 this.advancedPaginator.resetNumberOfPages(entitiesCount);
jurzua
parents:
diff changeset
207 this.updateAdvancedEntities();
jurzua
parents:
diff changeset
208 }else {
jurzua
parents:
diff changeset
209 this.resultSummaryMsg = "No items were found!";
jurzua
parents:
diff changeset
210 }
jurzua
parents:
diff changeset
211 }
jurzua
parents:
diff changeset
212
jurzua
parents:
diff changeset
213
81
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
214 public void searchByAttributes() throws Exception {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
215 this.resultMode = MODE_ADVANCED;
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
216 this.setPage("");
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
217 this.entities = new ArrayList<Entity>();
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
218 this.currentEntities = new ArrayList<Entity>();
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
219
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
220 List<AttributeFilter> filterList = new ArrayList<AttributeFilter>();
1
jurzua
parents:
diff changeset
221
81
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
222 this.resultSummaryMsg = "";
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
223 Map<Entity, Attribute> resultMap = new HashMap<Entity, Attribute>();
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
224
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
225 /*
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
226 * create list of filters for the selected attributes
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
227 */
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
228 if (this.objectClass.equals(TEXT)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
229 if (StringUtils.isNotEmpty(textFullTitle)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
230 filterList.add(new AttributeFilter("full_title", this.textFullTitle, TEXT));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
231 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
232 if (StringUtils.isNotEmpty(textFullTitleTranslit)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
233 filterList.add(new AttributeFilter("full_title_translit", textFullTitleTranslit, TEXT));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
234 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
235 if (StringUtils.isNotEmpty(textShortTitle)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
236 List<Entity> l = getWrapper().searchEntityByAttributeOfTarRelation(TEXT, "is_prime_alias_title_of",
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
237 ALIAS, "alias", textShortTitle, 20);
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
238 for (Entity e : l) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
239 this.entities.add(e);
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
240 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
241 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
242 } else if (this.objectClass.equals(WITNESS)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
243 // witnessAhlwardtNo
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
244 if (StringUtils.isNotEmpty(this.witnessAhlwardtNo)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
245 filterList.add(new AttributeFilter("ahlwardt_no", this.witnessAhlwardtNo, WITNESS));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
246 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
247 } else if (this.objectClass.equals(SUBJECT)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
248 if (StringUtils.isNotEmpty(this.subjectType)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
249 filterList.add(new AttributeFilter("type", this.subjectType, SUBJECT));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
250 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
251 } else if (this.objectClass.equals(ALIAS)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
252 if (StringUtils.isNotEmpty(this.aliasAlias)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
253 filterList.add(new AttributeFilter("alias", this.aliasAlias, ALIAS));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
254 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
255 } else if (this.objectClass.equals(COLLECTION)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
256 if (StringUtils.isNotEmpty(this.collectionName)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
257 filterList.add(new AttributeFilter("name", this.collectionName, COLLECTION));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
258 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
259 } else if (this.objectClass.equals(REPOSITORY)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
260 if (StringUtils.isNotEmpty(this.repositoryName)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
261 filterList.add(new AttributeFilter("name", this.repositoryName, REPOSITORY));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
262 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
263 } else if (this.objectClass.equals(PLACE)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
264 if (StringUtils.isNotEmpty(this.placeName)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
265 filterList.add(new AttributeFilter("name", this.placeName, PLACE));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
266 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
267 } else if (this.objectClass.equals(CODEX)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
268 if (StringUtils.isNotEmpty(this.codexIdentifier)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
269 filterList.add(new AttributeFilter("identifier", this.codexIdentifier, CODEX));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
270 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
271 } else if (this.objectClass.equals(REFERENCE)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
272 // search "#bibIdNo\W" as regex in endnote-id attribute
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
273 if (StringUtils.isNotEmpty(this.referenceBibIdNo)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
274 filterList.add(new AttributeFilter("endnote-id", "#" + this.referenceBibIdNo + "[[:>:]]", REFERENCE, true));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
275 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
276 } else if (this.objectClass.equals(PERSON)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
277 if (StringUtils.isNotEmpty(this.personName)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
278 filterList.add(new AttributeFilter("name", this.personName, PERSON));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
279 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
280 if (StringUtils.isNotEmpty(this.personNameTranslit)) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
281 filterList.add(new AttributeFilter("name_translit", this.personNameTranslit, PERSON));
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
282 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
283 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
284
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
285 /*
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
286 * run search and sort result (by ownvalue)
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
287 */
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
288 if (filterList.size() > 0) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
289 resultMap = getWrapper().searchEntityByAttributeFilter(filterList, 500);
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
290 // pack entities (Map keys) into List
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
291 for (Entity ent : resultMap.keySet()) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
292 this.entities.add(ent);
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
293 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
294 // sort List (by ownvalue)
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
295 Collections.sort(entities);
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
296 }
1
jurzua
parents:
diff changeset
297
81
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
298 if (resultMap.size() > 0) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
299 this.resultSummaryMsg = resultMap.size() + " items were found!";
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
300 this.advancedPaginator.setCurrentPage(0);
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
301 int entitiesCount = this.entities.size();
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
302 this.advancedPaginator.resetNumberOfPages(entitiesCount);
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
303 this.updateAdvancedEntities();
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
304 } else {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
305 this.resultSummaryMsg = "No items were found!";
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
306 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
307 }
1
jurzua
parents:
diff changeset
308
jurzua
parents:
diff changeset
309 public boolean isRenderedSearch(){
jurzua
parents:
diff changeset
310 if(StringUtils.isNotEmpty(this.objectClass) && (
jurzua
parents:
diff changeset
311 objectClass.equals(SUBJECT) ||
jurzua
parents:
diff changeset
312 objectClass.equals(REPOSITORY) ||
jurzua
parents:
diff changeset
313 objectClass.equals(ALIAS) ||
jurzua
parents:
diff changeset
314 objectClass.equals(COLLECTION) ||
jurzua
parents:
diff changeset
315 objectClass.equals(TEXT) ||
jurzua
parents:
diff changeset
316 objectClass.equals(PERSON) ||
jurzua
parents:
diff changeset
317 objectClass.equals(CODEX) ||
jurzua
parents:
diff changeset
318 objectClass.equals(WITNESS) ||
81
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
319 objectClass.equals(PLACE) ||
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
320 objectClass.equals(REFERENCE))) {
1
jurzua
parents:
diff changeset
321 return true;
jurzua
parents:
diff changeset
322 }
jurzua
parents:
diff changeset
323 return false;
jurzua
parents:
diff changeset
324 }
jurzua
parents:
diff changeset
325
jurzua
parents:
diff changeset
326 public String actionSearchByAttributes() {
jurzua
parents:
diff changeset
327 try {
jurzua
parents:
diff changeset
328 this.searchByAttributes();
jurzua
parents:
diff changeset
329 } catch (Exception e) {
jurzua
parents:
diff changeset
330 printInternalError(e);
jurzua
parents:
diff changeset
331 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
332 }
jurzua
parents:
diff changeset
333
jurzua
parents:
diff changeset
334 return GOTO_ENTITY_REPOSITORY;
jurzua
parents:
diff changeset
335 }
jurzua
parents:
diff changeset
336
jurzua
parents:
diff changeset
337 public String actionSearchByOwnvalue(){
jurzua
parents:
diff changeset
338 try {
jurzua
parents:
diff changeset
339 this.searchByOwnvalue();
jurzua
parents:
diff changeset
340 } catch (Exception e) {
jurzua
parents:
diff changeset
341 printInternalError(e);
jurzua
parents:
diff changeset
342 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
343 }
jurzua
parents:
diff changeset
344
jurzua
parents:
diff changeset
345 return GOTO_ENTITY_REPOSITORY;
jurzua
parents:
diff changeset
346 }
jurzua
parents:
diff changeset
347
jurzua
parents:
diff changeset
348 public boolean isAdvancedSearch() {
jurzua
parents:
diff changeset
349 return advancedSearch;
jurzua
parents:
diff changeset
350 }
jurzua
parents:
diff changeset
351
jurzua
parents:
diff changeset
352 public void setAdvancedSearch(boolean advancedSearch) {
jurzua
parents:
diff changeset
353 this.advancedSearch = advancedSearch;
jurzua
parents:
diff changeset
354 }
jurzua
parents:
diff changeset
355
jurzua
parents:
diff changeset
356 public String getTextFullTitle() {
jurzua
parents:
diff changeset
357 return textFullTitle;
jurzua
parents:
diff changeset
358 }
jurzua
parents:
diff changeset
359
jurzua
parents:
diff changeset
360 public void setTextFullTitle(String textFullTitle) {
jurzua
parents:
diff changeset
361 this.textFullTitle = textFullTitle;
jurzua
parents:
diff changeset
362 }
jurzua
parents:
diff changeset
363
jurzua
parents:
diff changeset
364 public String getTextFullTitleTranslit() {
jurzua
parents:
diff changeset
365 return textFullTitleTranslit;
jurzua
parents:
diff changeset
366 }
jurzua
parents:
diff changeset
367
jurzua
parents:
diff changeset
368 public void setTextFullTitleTranslit(String textFullTitleTranslit) {
jurzua
parents:
diff changeset
369 this.textFullTitleTranslit = textFullTitleTranslit;
jurzua
parents:
diff changeset
370 }
jurzua
parents:
diff changeset
371
jurzua
parents:
diff changeset
372 public String getTextShortTitle() {
jurzua
parents:
diff changeset
373 return textShortTitle;
jurzua
parents:
diff changeset
374 }
jurzua
parents:
diff changeset
375
jurzua
parents:
diff changeset
376 public void setTextShortTitle(String textShortTitle) {
jurzua
parents:
diff changeset
377 this.textShortTitle = textShortTitle;
jurzua
parents:
diff changeset
378 }
jurzua
parents:
diff changeset
379
jurzua
parents:
diff changeset
380 public String getPersonName() {
jurzua
parents:
diff changeset
381 return personName;
jurzua
parents:
diff changeset
382 }
jurzua
parents:
diff changeset
383
jurzua
parents:
diff changeset
384 public void setPersonName(String personName) {
jurzua
parents:
diff changeset
385 this.personName = personName;
jurzua
parents:
diff changeset
386 }
jurzua
parents:
diff changeset
387
jurzua
parents:
diff changeset
388 public String getPersonNameTranslit() {
jurzua
parents:
diff changeset
389 return personNameTranslit;
jurzua
parents:
diff changeset
390 }
jurzua
parents:
diff changeset
391
jurzua
parents:
diff changeset
392 public void setPersonNameTranslit(String personNameTranslit) {
jurzua
parents:
diff changeset
393 this.personNameTranslit = personNameTranslit;
jurzua
parents:
diff changeset
394 }
jurzua
parents:
diff changeset
395
jurzua
parents:
diff changeset
396 public String getObjectClass() {
jurzua
parents:
diff changeset
397 return objectClass;
jurzua
parents:
diff changeset
398 }
jurzua
parents:
diff changeset
399
jurzua
parents:
diff changeset
400 public void setObjectClass(String objectClass) {
jurzua
parents:
diff changeset
401 this.objectClass = objectClass;
jurzua
parents:
diff changeset
402 }
jurzua
parents:
diff changeset
403
jurzua
parents:
diff changeset
404 public List<Entity> getEntities() {
jurzua
parents:
diff changeset
405 return this.entities;
jurzua
parents:
diff changeset
406 }
jurzua
parents:
diff changeset
407
jurzua
parents:
diff changeset
408 public void setEntities(List<Entity> entities) {
jurzua
parents:
diff changeset
409 this.entities = entities;
jurzua
parents:
diff changeset
410 }
jurzua
parents:
diff changeset
411
jurzua
parents:
diff changeset
412 public List<SelectItem> getDefinitions() {
jurzua
parents:
diff changeset
413 return definitions;
jurzua
parents:
diff changeset
414 }
jurzua
parents:
diff changeset
415
jurzua
parents:
diff changeset
416 public void setDefinitions(List<SelectItem> definitions) {
jurzua
parents:
diff changeset
417 this.definitions = definitions;
jurzua
parents:
diff changeset
418 }
jurzua
parents:
diff changeset
419
jurzua
parents:
diff changeset
420 public String getResultMode() {
jurzua
parents:
diff changeset
421 return resultMode;
jurzua
parents:
diff changeset
422 }
jurzua
parents:
diff changeset
423
jurzua
parents:
diff changeset
424 public void setResultMode(String resultMode) {
jurzua
parents:
diff changeset
425 this.resultMode = resultMode;
jurzua
parents:
diff changeset
426 }
jurzua
parents:
diff changeset
427
jurzua
parents:
diff changeset
428 public String getResultSummaryMsg() {
jurzua
parents:
diff changeset
429 return resultSummaryMsg;
jurzua
parents:
diff changeset
430 }
jurzua
parents:
diff changeset
431
jurzua
parents:
diff changeset
432 public void setResultSummaryMsg(String resultSummaryMsg) {
jurzua
parents:
diff changeset
433 this.resultSummaryMsg = resultSummaryMsg;
jurzua
parents:
diff changeset
434 }
jurzua
parents:
diff changeset
435
jurzua
parents:
diff changeset
436 public String getPage() {
jurzua
parents:
diff changeset
437 return page;
jurzua
parents:
diff changeset
438 }
jurzua
parents:
diff changeset
439
jurzua
parents:
diff changeset
440 public void setPage(String page) {
jurzua
parents:
diff changeset
441 this.page = page;
jurzua
parents:
diff changeset
442 }
jurzua
parents:
diff changeset
443
jurzua
parents:
diff changeset
444 public String getPageMsg() {
jurzua
parents:
diff changeset
445 return pageMsg;
jurzua
parents:
diff changeset
446 }
jurzua
parents:
diff changeset
447
jurzua
parents:
diff changeset
448 public void setPageMsg(String pageMsg) {
jurzua
parents:
diff changeset
449 this.pageMsg = pageMsg;
jurzua
parents:
diff changeset
450 }
jurzua
parents:
diff changeset
451 public String getCodexIdentifier() {
jurzua
parents:
diff changeset
452 return codexIdentifier;
jurzua
parents:
diff changeset
453 }
jurzua
parents:
diff changeset
454 public void setCodexIdentifier(String codexIdentifier) {
jurzua
parents:
diff changeset
455 this.codexIdentifier = codexIdentifier;
jurzua
parents:
diff changeset
456 }
jurzua
parents:
diff changeset
457 public String getPlaceName() {
jurzua
parents:
diff changeset
458 return placeName;
jurzua
parents:
diff changeset
459 }
jurzua
parents:
diff changeset
460 public void setPlaceName(String placeName) {
jurzua
parents:
diff changeset
461 this.placeName = placeName;
jurzua
parents:
diff changeset
462 }
jurzua
parents:
diff changeset
463
jurzua
parents:
diff changeset
464 public String getCollectionName() {
jurzua
parents:
diff changeset
465 return collectionName;
jurzua
parents:
diff changeset
466 }
jurzua
parents:
diff changeset
467
jurzua
parents:
diff changeset
468 public void setCollectionName(String collectionName) {
jurzua
parents:
diff changeset
469 this.collectionName = collectionName;
jurzua
parents:
diff changeset
470 }
jurzua
parents:
diff changeset
471
jurzua
parents:
diff changeset
472 public String getAliasAlias() {
jurzua
parents:
diff changeset
473 return aliasAlias;
jurzua
parents:
diff changeset
474 }
jurzua
parents:
diff changeset
475
jurzua
parents:
diff changeset
476 public void setAliasAlias(String aliasAlias) {
jurzua
parents:
diff changeset
477 this.aliasAlias = aliasAlias;
jurzua
parents:
diff changeset
478 }
jurzua
parents:
diff changeset
479
jurzua
parents:
diff changeset
480 public String getRepositoryName() {
jurzua
parents:
diff changeset
481 return repositoryName;
jurzua
parents:
diff changeset
482 }
jurzua
parents:
diff changeset
483
jurzua
parents:
diff changeset
484 public void setRepositoryName(String repositoryName) {
jurzua
parents:
diff changeset
485 this.repositoryName = repositoryName;
jurzua
parents:
diff changeset
486 }
jurzua
parents:
diff changeset
487
jurzua
parents:
diff changeset
488 public String getSubjectType() {
jurzua
parents:
diff changeset
489 return subjectType;
jurzua
parents:
diff changeset
490 }
jurzua
parents:
diff changeset
491
jurzua
parents:
diff changeset
492 public void setSubjectType(String subjectType) {
jurzua
parents:
diff changeset
493 this.subjectType = subjectType;
jurzua
parents:
diff changeset
494 }
jurzua
parents:
diff changeset
495
jurzua
parents:
diff changeset
496 public List<SelectItem> getSuggestedSubjectTypes() {
jurzua
parents:
diff changeset
497 return suggestedSubjectTypes;
jurzua
parents:
diff changeset
498 }
jurzua
parents:
diff changeset
499
jurzua
parents:
diff changeset
500 public void setSuggestedSubjectTypes(List<SelectItem> suggestedTypes) {
jurzua
parents:
diff changeset
501 this.suggestedSubjectTypes = suggestedTypes;
jurzua
parents:
diff changeset
502 }
jurzua
parents:
diff changeset
503 public List<Entity> getCurrentEntities() {
jurzua
parents:
diff changeset
504 return currentEntities;
jurzua
parents:
diff changeset
505 }
jurzua
parents:
diff changeset
506
jurzua
parents:
diff changeset
507 public void setCurrentEntities(List<Entity> currentEntities) {
jurzua
parents:
diff changeset
508 this.currentEntities = currentEntities;
jurzua
parents:
diff changeset
509 }
jurzua
parents:
diff changeset
510
jurzua
parents:
diff changeset
511 public String getWitnessFullTitle() {
jurzua
parents:
diff changeset
512 return witnessFullTitle;
jurzua
parents:
diff changeset
513 }
jurzua
parents:
diff changeset
514
jurzua
parents:
diff changeset
515 public void setWitnessFullTitle(String witnessFullTitle) {
jurzua
parents:
diff changeset
516 this.witnessFullTitle = witnessFullTitle;
jurzua
parents:
diff changeset
517 }
jurzua
parents:
diff changeset
518
jurzua
parents:
diff changeset
519 public String getWitnessFullTitleTranslit() {
jurzua
parents:
diff changeset
520 return witnessFullTitleTranslit;
jurzua
parents:
diff changeset
521 }
jurzua
parents:
diff changeset
522
jurzua
parents:
diff changeset
523 public void setWitnessFullTitleTranslit(String witnessFullTitleTranslit) {
jurzua
parents:
diff changeset
524 this.witnessFullTitleTranslit = witnessFullTitleTranslit;
jurzua
parents:
diff changeset
525 }
jurzua
parents:
diff changeset
526
jurzua
parents:
diff changeset
527 public String getWitnessAhlwardtNo() {
jurzua
parents:
diff changeset
528 return witnessAhlwardtNo;
jurzua
parents:
diff changeset
529 }
jurzua
parents:
diff changeset
530
jurzua
parents:
diff changeset
531 public void setWitnessAhlwardtNo(String witnessAhlwardtNo) {
jurzua
parents:
diff changeset
532 this.witnessAhlwardtNo = witnessAhlwardtNo;
jurzua
parents:
diff changeset
533 }
jurzua
parents:
diff changeset
534
81
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
535 /**
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
536 * @return the referenceBibIdNo
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
537 */
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
538 public String getReferenceBibIdNo() {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
539 return referenceBibIdNo;
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
540 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
541
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
542 /**
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
543 * @param referenceBibIdNo the referenceBibIdNo to set
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
544 */
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
545 public void setReferenceBibIdNo(String referenceBibIdNo) {
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
546 this.referenceBibIdNo = referenceBibIdNo;
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
547 }
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
548
0d5d36c83e77 added search for bibliography id attribute for REFERENCEs.
casties
parents: 78
diff changeset
549 public String getOcTerm() {
1
jurzua
parents:
diff changeset
550 return ocTerm;
jurzua
parents:
diff changeset
551 }
jurzua
parents:
diff changeset
552
jurzua
parents:
diff changeset
553 public void setOcTerm(String ocTerm) {
jurzua
parents:
diff changeset
554 this.ocTerm = ocTerm;
jurzua
parents:
diff changeset
555 }
jurzua
parents:
diff changeset
556
jurzua
parents:
diff changeset
557 public String getCurrentTab() {
jurzua
parents:
diff changeset
558 return currentTab;
jurzua
parents:
diff changeset
559 }
jurzua
parents:
diff changeset
560
jurzua
parents:
diff changeset
561 public void setCurrentTab(String currentTab) {
jurzua
parents:
diff changeset
562 this.currentTab = currentTab;
jurzua
parents:
diff changeset
563 }
jurzua
parents:
diff changeset
564
jurzua
parents:
diff changeset
565
jurzua
parents:
diff changeset
566 }