annotate src/main/java/de/mpiwg/itgroup/ismi/search/beans/SampleSearch06.java @ 71:38dc1f0e2451

show instance name on public (publicCodex, publicWitness) pages.
author casties
date Thu, 17 Dec 2015 17:31:07 +0100
parents 2e911857a759
children 8ae989269f51
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.search.beans;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.io.Serializable;
jurzua
parents:
diff changeset
4 import java.util.ArrayList;
jurzua
parents:
diff changeset
5 import java.util.Collection;
jurzua
parents:
diff changeset
6 import java.util.Collections;
jurzua
parents:
diff changeset
7 import java.util.List;
jurzua
parents:
diff changeset
8
jurzua
parents:
diff changeset
9 import javax.faces.event.ValueChangeEvent;
jurzua
parents:
diff changeset
10 import javax.faces.model.SelectItem;
jurzua
parents:
diff changeset
11
jurzua
parents:
diff changeset
12 import org.apache.commons.lang.StringUtils;
jurzua
parents:
diff changeset
13 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
14 import org.mpi.openmind.repository.utils.NormalizerUtils;
jurzua
parents:
diff changeset
15 import org.mpi.openmind.repository.utils.TransliterationUtil;
jurzua
parents:
diff changeset
16 import org.mpi.openmind.search.utils.ResultEntry;
jurzua
parents:
diff changeset
17 import org.mpi.openmind.search.utils.SAttributeMultipleName;
jurzua
parents:
diff changeset
18 import org.mpi.openmind.search.utils.SAttributeUniqueName;
jurzua
parents:
diff changeset
19 import org.mpi.openmind.search.utils.SEntity;
jurzua
parents:
diff changeset
20 import org.mpi.openmind.search.utils.SRelLongKey;
jurzua
parents:
diff changeset
21 import org.mpi.openmind.search.utils.SRelation;
jurzua
parents:
diff changeset
22 import org.mpi.openmind.search.utils.SRelationMultipleName;
jurzua
parents:
diff changeset
23 import org.mpi.openmind.search.utils.SRelationUniqueName;
jurzua
parents:
diff changeset
24
jurzua
parents:
diff changeset
25 import de.mpiwg.itgroup.ismi.entry.beans.ApplicationBean;
jurzua
parents:
diff changeset
26
jurzua
parents:
diff changeset
27 /**
jurzua
parents:
diff changeset
28 * 7) Bring up people associated with a particular witness
jurzua
parents:
diff changeset
29 * (not just one huge list of people, but be able to distinguish owner, say, from commentator)
jurzua
parents:
diff changeset
30 * @author jurzua
jurzua
parents:
diff changeset
31 *
jurzua
parents:
diff changeset
32 */
jurzua
parents:
diff changeset
33 public class SampleSearch06 extends AbstractQuery implements Serializable{
jurzua
parents:
diff changeset
34
jurzua
parents:
diff changeset
35 private static final long serialVersionUID = 3749889381908517654L;
jurzua
parents:
diff changeset
36 private String personName;
jurzua
parents:
diff changeset
37 private String roleName = "Author";
jurzua
parents:
diff changeset
38 private static List<SelectItem> roleList;
jurzua
parents:
diff changeset
39
jurzua
parents:
diff changeset
40
jurzua
parents:
diff changeset
41 //"Author", "Annotator", "Copyist", "Corrector", "Dedicatee", "Illuminator", "Illustrator", "Owner", "Patron", "inspector"
jurzua
parents:
diff changeset
42 static{
jurzua
parents:
diff changeset
43 roleList = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
44 roleList.add(new SelectItem("Author"));
jurzua
parents:
diff changeset
45 roleList.add(new SelectItem("Annotator"));
jurzua
parents:
diff changeset
46 roleList.add(new SelectItem("Copyist"));
jurzua
parents:
diff changeset
47 roleList.add(new SelectItem("Corrector"));
jurzua
parents:
diff changeset
48 roleList.add(new SelectItem("Dedicatee"));
jurzua
parents:
diff changeset
49 roleList.add(new SelectItem("Illuminator"));
jurzua
parents:
diff changeset
50 roleList.add(new SelectItem("Illustrator"));
jurzua
parents:
diff changeset
51 roleList.add(new SelectItem("Owner"));
jurzua
parents:
diff changeset
52 roleList.add(new SelectItem("Patron"));
jurzua
parents:
diff changeset
53 roleList.add(new SelectItem("Inspector"));
jurzua
parents:
diff changeset
54 }
jurzua
parents:
diff changeset
55
jurzua
parents:
diff changeset
56
jurzua
parents:
diff changeset
57 public SampleSearch06(ApplicationBean appBean){
jurzua
parents:
diff changeset
58 super(appBean);
jurzua
parents:
diff changeset
59 this.exportUrlRoot = ApplicationBean.urlISMIExportServiceAuthors;
jurzua
parents:
diff changeset
60 }
jurzua
parents:
diff changeset
61
jurzua
parents:
diff changeset
62 @Override
jurzua
parents:
diff changeset
63 public void reset(){
jurzua
parents:
diff changeset
64 super.reset();
jurzua
parents:
diff changeset
65 this.personName = null;
jurzua
parents:
diff changeset
66 this.roleName = "Author";
jurzua
parents:
diff changeset
67 this.rs = null;
jurzua
parents:
diff changeset
68 this.personTitleKeyList = null;
jurzua
parents:
diff changeset
69 }
jurzua
parents:
diff changeset
70
jurzua
parents:
diff changeset
71 @Override
jurzua
parents:
diff changeset
72 protected void search(){
jurzua
parents:
diff changeset
73
jurzua
parents:
diff changeset
74 List<ResultEntry> rs0 = this.execute01(personName, roleName);
jurzua
parents:
diff changeset
75 List<ResultEntry> rs1 = null;
jurzua
parents:
diff changeset
76 if(StringUtils.isNotEmpty(personName)){
jurzua
parents:
diff changeset
77 rs1 = this.execute02(personName, roleName);
jurzua
parents:
diff changeset
78 }
jurzua
parents:
diff changeset
79 rs = loadResultSet(rs0, rs1);
jurzua
parents:
diff changeset
80
jurzua
parents:
diff changeset
81 List<Long> idLongList = new ArrayList<Long>();
jurzua
parents:
diff changeset
82 for(Object e : rs){
jurzua
parents:
diff changeset
83 ResultEntry06 entry = (ResultEntry06)e;
jurzua
parents:
diff changeset
84 if(!idLongList.contains(entry.getPersonId()))
jurzua
parents:
diff changeset
85 idLongList.add(entry.getPersonId());
jurzua
parents:
diff changeset
86 }
jurzua
parents:
diff changeset
87 this.idList = ApplicationBean.generateIdList(idLongList);
jurzua
parents:
diff changeset
88
jurzua
parents:
diff changeset
89 this.exportDirkUrl = ApplicationBean.generateExportURL(exportUrlRoot, idList, "xml");
jurzua
parents:
diff changeset
90 }
jurzua
parents:
diff changeset
91
jurzua
parents:
diff changeset
92 private List<ResultEntry06> loadResultSet(List<ResultEntry> rs0, List<ResultEntry> rs1){
jurzua
parents:
diff changeset
93 List<ResultEntry06> currentRs = new ArrayList<SampleSearch06.ResultEntry06>();
jurzua
parents:
diff changeset
94 personTitleKeyList = new ArrayList<SRelLongKey>();
jurzua
parents:
diff changeset
95
jurzua
parents:
diff changeset
96 for(ResultEntry re : rs0){
jurzua
parents:
diff changeset
97
jurzua
parents:
diff changeset
98 Entity person = getOm().getEntityById(re.getEntMap().get(1));
jurzua
parents:
diff changeset
99 Entity title = getOm().getEntityById(re.getEntMap().get(2));
jurzua
parents:
diff changeset
100
jurzua
parents:
diff changeset
101 String alias = null;
jurzua
parents:
diff changeset
102 String alias2Person = null;
jurzua
parents:
diff changeset
103 String role = this.roleName;
jurzua
parents:
diff changeset
104 String title2Person = re.getRel(2, 1);
jurzua
parents:
diff changeset
105 List<Entity> subjectList = getOm().getTargetsForSourceRelation(title.getId(), "has_subject", "SUBJECT", 1);
jurzua
parents:
diff changeset
106 String subject = (subjectList.size() == 0) ? null : subjectList.get(0).getOwnValue();
jurzua
parents:
diff changeset
107
jurzua
parents:
diff changeset
108 currentRs.add(new ResultEntry06(person, title, alias, alias2Person, role, title2Person, subject));
jurzua
parents:
diff changeset
109 putPersonTitleKey(person.getId(), title.getId());
jurzua
parents:
diff changeset
110 }
jurzua
parents:
diff changeset
111 if(rs1 != null){
jurzua
parents:
diff changeset
112 for(ResultEntry re : rs1){
jurzua
parents:
diff changeset
113 Entity person = getOm().getEntityById(re.getEntMap().get(1));
jurzua
parents:
diff changeset
114 Entity title = getOm().getEntityById(re.getEntMap().get(3));
jurzua
parents:
diff changeset
115 if(!containsPersonTitleKey(person.getId(), title.getId())){
jurzua
parents:
diff changeset
116
jurzua
parents:
diff changeset
117 String alias = getOm().getEntityById(re.getEntMap().get(2)).getOwnValue();
jurzua
parents:
diff changeset
118 String alias2Person = re.getRel(2, 1);
jurzua
parents:
diff changeset
119 String role = this.roleName;
jurzua
parents:
diff changeset
120 String title2Person = re.getRel(3, 1);
jurzua
parents:
diff changeset
121 List<Entity> subjectList = getOm().getTargetsForSourceRelation(title.getId(), "has_subject", "SUBJECT", 1);
jurzua
parents:
diff changeset
122 String subject = (subjectList.size() == 0) ? null : subjectList.get(0).getOwnValue();
jurzua
parents:
diff changeset
123
jurzua
parents:
diff changeset
124 currentRs.add(new ResultEntry06(person, title, alias, alias2Person, role, title2Person, subject));
jurzua
parents:
diff changeset
125 putPersonTitleKey(person.getId(), title.getId());
jurzua
parents:
diff changeset
126 }
jurzua
parents:
diff changeset
127 }
jurzua
parents:
diff changeset
128 }
jurzua
parents:
diff changeset
129
jurzua
parents:
diff changeset
130 Collections.sort(currentRs);
jurzua
parents:
diff changeset
131
jurzua
parents:
diff changeset
132 return currentRs;
jurzua
parents:
diff changeset
133 }
jurzua
parents:
diff changeset
134
jurzua
parents:
diff changeset
135 private List<SRelLongKey> personTitleKeyList;
jurzua
parents:
diff changeset
136 private boolean containsPersonTitleKey(Long personId, Long titleId){
jurzua
parents:
diff changeset
137 return personTitleKeyList.contains(new SRelLongKey(personId, titleId));
jurzua
parents:
diff changeset
138 }
jurzua
parents:
diff changeset
139 private void putPersonTitleKey(Long personId, Long titleId){
jurzua
parents:
diff changeset
140 personTitleKeyList.add(new SRelLongKey(personId, titleId));
jurzua
parents:
diff changeset
141 }
jurzua
parents:
diff changeset
142
jurzua
parents:
diff changeset
143
jurzua
parents:
diff changeset
144
jurzua
parents:
diff changeset
145 private List<ResultEntry> execute01(String personName, String roleName){
jurzua
parents:
diff changeset
146
jurzua
parents:
diff changeset
147 List<SEntity> entFilters = new ArrayList<SEntity>();
jurzua
parents:
diff changeset
148 List<SRelation> relFilters = new ArrayList<SRelation>();
jurzua
parents:
diff changeset
149
jurzua
parents:
diff changeset
150 //The user can select between:
jurzua
parents:
diff changeset
151 //"Author", "Annotator", "Copyist", "Corrector", "Dedicatee", "Illuminator", "Illustrator", "Owner", "Patron", "inspector"
jurzua
parents:
diff changeset
152 SEntity role = new SEntity(0, "ROLE");
jurzua
parents:
diff changeset
153 role.addAtt(new SAttributeUniqueName("name", roleName));
jurzua
parents:
diff changeset
154 entFilters.add(role);
jurzua
parents:
diff changeset
155
jurzua
parents:
diff changeset
156 //alias, "is_prime_alias_name_of", "PERSON"
jurzua
parents:
diff changeset
157 //alias, "is_alias_name_of", "PERSON"
jurzua
parents:
diff changeset
158 SEntity person = new SEntity(1, "PERSON");
jurzua
parents:
diff changeset
159 if(StringUtils.isNotEmpty(personName)){
jurzua
parents:
diff changeset
160 person.addAtt(new SAttributeMultipleName(personName, "name_translit", "name"));
jurzua
parents:
diff changeset
161 }
jurzua
parents:
diff changeset
162 entFilters.add(person);
jurzua
parents:
diff changeset
163
jurzua
parents:
diff changeset
164 SEntity text = new SEntity(2, "TEXT");
jurzua
parents:
diff changeset
165 entFilters.add(text);
jurzua
parents:
diff changeset
166
jurzua
parents:
diff changeset
167
jurzua
parents:
diff changeset
168 SRelationUniqueName has_role = new SRelationUniqueName(person, role, "has_role");
jurzua
parents:
diff changeset
169 SRelationMultipleName text_to_person = new SRelationMultipleName(text, person, "was_created_by", "had_patron", "was_dedicated_to");
jurzua
parents:
diff changeset
170 relFilters.add(text_to_person);
jurzua
parents:
diff changeset
171 relFilters.add(has_role);
jurzua
parents:
diff changeset
172
jurzua
parents:
diff changeset
173 return this.appBean.getSS().search(entFilters, relFilters);
jurzua
parents:
diff changeset
174 }
jurzua
parents:
diff changeset
175
jurzua
parents:
diff changeset
176 private List<ResultEntry> execute02(String personName, String roleName){
jurzua
parents:
diff changeset
177
jurzua
parents:
diff changeset
178 List<SEntity> entFilters = new ArrayList<SEntity>();
jurzua
parents:
diff changeset
179 List<SRelation> relFilters = new ArrayList<SRelation>();
jurzua
parents:
diff changeset
180
jurzua
parents:
diff changeset
181 //The user can select between:
jurzua
parents:
diff changeset
182 //"Author", "Annotator", "Copyist", "Corrector", "Dedicatee", "Illuminator", "Illustrator", "Owner", "Patron", "inspector"
jurzua
parents:
diff changeset
183 SEntity role = new SEntity(0, "ROLE");
jurzua
parents:
diff changeset
184 role.addAtt(new SAttributeUniqueName("name", roleName));
jurzua
parents:
diff changeset
185 entFilters.add(role);
jurzua
parents:
diff changeset
186
jurzua
parents:
diff changeset
187 //alias, "is_prime_alias_name_of", "PERSON"
jurzua
parents:
diff changeset
188 //alias, "is_alias_name_of", "PERSON"
jurzua
parents:
diff changeset
189 SEntity person = new SEntity(1, "PERSON");
jurzua
parents:
diff changeset
190 entFilters.add(person);
jurzua
parents:
diff changeset
191
jurzua
parents:
diff changeset
192 SEntity alias = new SEntity(2, "ALIAS");
jurzua
parents:
diff changeset
193 alias.addAtt(new SAttributeUniqueName("alias", personName));
jurzua
parents:
diff changeset
194 entFilters.add(alias);
jurzua
parents:
diff changeset
195
jurzua
parents:
diff changeset
196 SEntity text = new SEntity(3, "TEXT");
jurzua
parents:
diff changeset
197 entFilters.add(text);
jurzua
parents:
diff changeset
198
jurzua
parents:
diff changeset
199
jurzua
parents:
diff changeset
200 SRelationMultipleName is_alias = new SRelationMultipleName(alias, person, "is_alias_name_of", "is_prime_alias_name_of");
jurzua
parents:
diff changeset
201 SRelationUniqueName has_role = new SRelationUniqueName(person, role, "has_role");
jurzua
parents:
diff changeset
202 SRelationMultipleName text_to_person = new SRelationMultipleName(text, person, "was_created_by", "had_patron", "was_dedicated_to");
jurzua
parents:
diff changeset
203 relFilters.add(text_to_person);
jurzua
parents:
diff changeset
204 relFilters.add(has_role);
jurzua
parents:
diff changeset
205 relFilters.add(is_alias);
jurzua
parents:
diff changeset
206
jurzua
parents:
diff changeset
207 return this.appBean.getSS().search(entFilters, relFilters);
jurzua
parents:
diff changeset
208 }
jurzua
parents:
diff changeset
209
jurzua
parents:
diff changeset
210
jurzua
parents:
diff changeset
211 public String getPersonName() {
jurzua
parents:
diff changeset
212 return personName;
jurzua
parents:
diff changeset
213 }
jurzua
parents:
diff changeset
214
jurzua
parents:
diff changeset
215 public void setPersonName(String personName) {
jurzua
parents:
diff changeset
216 this.personName = personName;
jurzua
parents:
diff changeset
217 }
jurzua
parents:
diff changeset
218
jurzua
parents:
diff changeset
219 public String getRoleName() {
jurzua
parents:
diff changeset
220 return roleName;
jurzua
parents:
diff changeset
221 }
jurzua
parents:
diff changeset
222
jurzua
parents:
diff changeset
223 public void setRoleName(String roleName) {
jurzua
parents:
diff changeset
224 this.roleName = roleName;
jurzua
parents:
diff changeset
225 }
jurzua
parents:
diff changeset
226
jurzua
parents:
diff changeset
227 public List<SelectItem> getRoleList() {
jurzua
parents:
diff changeset
228 return roleList;
jurzua
parents:
diff changeset
229 }
jurzua
parents:
diff changeset
230
jurzua
parents:
diff changeset
231 public class ResultEntry06 implements Comparable<ResultEntry06>, Serializable{
jurzua
parents:
diff changeset
232 private static final long serialVersionUID = 3814421582310240565L;
jurzua
parents:
diff changeset
233
jurzua
parents:
diff changeset
234 private Long personId;
jurzua
parents:
diff changeset
235 private String personOv;
jurzua
parents:
diff changeset
236 private String personNOv;
jurzua
parents:
diff changeset
237 private String alias;
jurzua
parents:
diff changeset
238 private String alias2Person;
jurzua
parents:
diff changeset
239 private Long titleId;
jurzua
parents:
diff changeset
240 private String titleOv;
jurzua
parents:
diff changeset
241 private String titleNOv;
jurzua
parents:
diff changeset
242 private String role;
jurzua
parents:
diff changeset
243 private String title2Person;
jurzua
parents:
diff changeset
244 private String subject;
jurzua
parents:
diff changeset
245
jurzua
parents:
diff changeset
246 public ResultEntry06(
jurzua
parents:
diff changeset
247 Entity person,
jurzua
parents:
diff changeset
248 Entity title,
jurzua
parents:
diff changeset
249 String alias,
jurzua
parents:
diff changeset
250 String alias2Person,
jurzua
parents:
diff changeset
251 String role,
jurzua
parents:
diff changeset
252 String title2Person,
jurzua
parents:
diff changeset
253 String subject
jurzua
parents:
diff changeset
254 ){
jurzua
parents:
diff changeset
255
jurzua
parents:
diff changeset
256 set(person, title);
jurzua
parents:
diff changeset
257 this.alias = alias;
jurzua
parents:
diff changeset
258 this.alias2Person = alias2Person;
jurzua
parents:
diff changeset
259 this.role = role;
jurzua
parents:
diff changeset
260 this.title2Person = title2Person;
jurzua
parents:
diff changeset
261 this.subject = subject;
jurzua
parents:
diff changeset
262 }
jurzua
parents:
diff changeset
263
jurzua
parents:
diff changeset
264 private void set(Entity person, Entity title){
jurzua
parents:
diff changeset
265 this.personId = person.getId();
jurzua
parents:
diff changeset
266 this.personOv = person.getOwnValue();
jurzua
parents:
diff changeset
267 this.personNOv = person.getNormalizedOwnValue();
jurzua
parents:
diff changeset
268
jurzua
parents:
diff changeset
269 this.titleId = title.getId();
jurzua
parents:
diff changeset
270 this.titleOv = title.getOwnValue();
jurzua
parents:
diff changeset
271 this.titleNOv = title.getNormalizedOwnValue();
jurzua
parents:
diff changeset
272 }
jurzua
parents:
diff changeset
273
jurzua
parents:
diff changeset
274 public Long getPersonId() {
jurzua
parents:
diff changeset
275 return personId;
jurzua
parents:
diff changeset
276 }
jurzua
parents:
diff changeset
277
jurzua
parents:
diff changeset
278 public String getPersonOv() {
jurzua
parents:
diff changeset
279 return personOv;
jurzua
parents:
diff changeset
280 }
jurzua
parents:
diff changeset
281
jurzua
parents:
diff changeset
282 public String getPersonNOv() {
jurzua
parents:
diff changeset
283 return personNOv;
jurzua
parents:
diff changeset
284 }
jurzua
parents:
diff changeset
285
jurzua
parents:
diff changeset
286 public String getAlias() {
jurzua
parents:
diff changeset
287 return alias;
jurzua
parents:
diff changeset
288 }
jurzua
parents:
diff changeset
289
jurzua
parents:
diff changeset
290 public String getAlias2Person() {
jurzua
parents:
diff changeset
291 return alias2Person;
jurzua
parents:
diff changeset
292 }
jurzua
parents:
diff changeset
293
jurzua
parents:
diff changeset
294 public Long getTitleId() {
jurzua
parents:
diff changeset
295 return titleId;
jurzua
parents:
diff changeset
296 }
jurzua
parents:
diff changeset
297
jurzua
parents:
diff changeset
298 public String getTitleOv() {
jurzua
parents:
diff changeset
299 return titleOv;
jurzua
parents:
diff changeset
300 }
jurzua
parents:
diff changeset
301
jurzua
parents:
diff changeset
302 public String getTitleNOv() {
jurzua
parents:
diff changeset
303 return titleNOv;
jurzua
parents:
diff changeset
304 }
jurzua
parents:
diff changeset
305
jurzua
parents:
diff changeset
306 public String getRole() {
jurzua
parents:
diff changeset
307 return role;
jurzua
parents:
diff changeset
308 }
jurzua
parents:
diff changeset
309
jurzua
parents:
diff changeset
310 public String getTitle2Person() {
jurzua
parents:
diff changeset
311 return title2Person;
jurzua
parents:
diff changeset
312 }
jurzua
parents:
diff changeset
313
jurzua
parents:
diff changeset
314 public String getSubject() {
jurzua
parents:
diff changeset
315 return subject;
jurzua
parents:
diff changeset
316 }
jurzua
parents:
diff changeset
317
jurzua
parents:
diff changeset
318 @Override
jurzua
parents:
diff changeset
319 public int compareTo(ResultEntry06 o) {
jurzua
parents:
diff changeset
320 if(!this.personId.equals(o.personId)){
jurzua
parents:
diff changeset
321
jurzua
parents:
diff changeset
322 int comparisonPerson = NormalizerUtils.normalizedToCompare(personNOv).compareTo(
jurzua
parents:
diff changeset
323 NormalizerUtils.normalizedToCompare(o.personNOv));
jurzua
parents:
diff changeset
324 if(comparisonPerson != 0){
jurzua
parents:
diff changeset
325 return comparisonPerson;
jurzua
parents:
diff changeset
326 }else{
jurzua
parents:
diff changeset
327 if(StringUtils.isNotEmpty(role) && StringUtils.isNotEmpty(o.role)){
jurzua
parents:
diff changeset
328 int comparisonRole = this.role.compareTo(o.role);
jurzua
parents:
diff changeset
329 if(comparisonRole != 0){
jurzua
parents:
diff changeset
330 return comparisonRole;
jurzua
parents:
diff changeset
331 }
jurzua
parents:
diff changeset
332 }else{
jurzua
parents:
diff changeset
333 if(StringUtils.isNotEmpty(role)){
jurzua
parents:
diff changeset
334 return -1;
jurzua
parents:
diff changeset
335 }else if(StringUtils.isNotEmpty(o.role)){
jurzua
parents:
diff changeset
336 return 1;
jurzua
parents:
diff changeset
337 }
jurzua
parents:
diff changeset
338 }
jurzua
parents:
diff changeset
339 }
jurzua
parents:
diff changeset
340 }else{
jurzua
parents:
diff changeset
341 if(!this.titleId.equals(o.titleId)){
jurzua
parents:
diff changeset
342 //comparing subject
jurzua
parents:
diff changeset
343 if(StringUtils.isNotEmpty(subject) && StringUtils.isNotEmpty(o.subject)){
jurzua
parents:
diff changeset
344 int comparisonSubject = this.subject.compareTo(o.subject);
jurzua
parents:
diff changeset
345 if(comparisonSubject != 0){
jurzua
parents:
diff changeset
346 return comparisonSubject;
jurzua
parents:
diff changeset
347 }
jurzua
parents:
diff changeset
348 }else{
jurzua
parents:
diff changeset
349 if(StringUtils.isNotEmpty(subject)){
jurzua
parents:
diff changeset
350 return -1;
jurzua
parents:
diff changeset
351 }else if(StringUtils.isNotEmpty(o.subject)){
jurzua
parents:
diff changeset
352 return 1;
jurzua
parents:
diff changeset
353 }
jurzua
parents:
diff changeset
354 }
jurzua
parents:
diff changeset
355 //comparing title
jurzua
parents:
diff changeset
356 int comparisonTitle = NormalizerUtils.normalizedToCompare(titleNOv).compareTo(
jurzua
parents:
diff changeset
357 NormalizerUtils.normalizedToCompare(o.titleNOv));
jurzua
parents:
diff changeset
358 return comparisonTitle;
jurzua
parents:
diff changeset
359 }
jurzua
parents:
diff changeset
360 }
jurzua
parents:
diff changeset
361 return 0;
jurzua
parents:
diff changeset
362 }
jurzua
parents:
diff changeset
363 }
jurzua
parents:
diff changeset
364 }