Mercurial > hg > ismi-richfaces
annotate src/main/java/de/mpiwg/itgroup/ismi/merge/PublicByAuthorBean.java @ 171:50b8103ec85c public_by_author
still more work on publicByAuthor feature.
author | Robert Casties <casties@mpiwg-berlin.mpg.de> |
---|---|
date | Fri, 01 Jun 2018 16:04:38 +0200 |
parents | 8604b368ec19 |
children | aa564b1b5e1f |
rev | line source |
---|---|
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1 package de.mpiwg.itgroup.ismi.merge; |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3 import java.io.Serializable; |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
4 import java.util.ArrayList; |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
5 import java.util.HashMap; |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
6 import java.util.List; |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
7 import java.util.Map; |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9 import javax.faces.event.ActionEvent; |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11 import org.apache.log4j.Logger; |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
12 import org.mpi.openmind.repository.bo.Entity; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
13 import org.mpi.openmind.repository.bo.Relation; |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14 |
168
e9ab943ec528
new start for publicByAuthor using EntityRepositoryBean.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
165
diff
changeset
|
15 import de.mpiwg.itgroup.ismi.browse.EntityRepositoryBean; |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
16 import de.mpiwg.itgroup.ismi.browse.FullEntityRepositoryBean; |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17 import de.mpiwg.itgroup.ismi.entry.beans.AbstractISMIBean; |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19 public class PublicByAuthorBean extends AbstractISMIBean implements Serializable{ |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21 private static Logger logger = Logger.getLogger(PublicByAuthorBean.class); |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23 private static final long serialVersionUID = 1L; |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24 |
165
85fdcca37a0d
working on public by author feature...
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
153
diff
changeset
|
25 private String findAuthorName = ""; |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
26 protected Long selectedPersonId = 0l; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
27 |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
28 protected Entity selectedPerson; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
29 protected List<Entity> selectedPersonTexts; |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
30 protected List<String> selectedPersonSubjects; |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
31 protected Map<String,List<Entity>> selectedPersonSubjectMap; |
171
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
32 |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
33 protected Map<String,List<String>> subjectParents; |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
34 |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
35 |
168
e9ab943ec528
new start for publicByAuthor using EntityRepositoryBean.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
165
diff
changeset
|
36 private EntityRepositoryBean browseBean; |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
37 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
38 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
39 public PublicByAuthorBean(){ |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
40 //logger.info("AdvancedSearchBean"); |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
41 this.reset(); |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
42 } |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
43 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
44 public void reset(){ |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
45 //logger.info("AdvancedSearchBean.reset()"); |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
46 browseBean = new FullEntityRepositoryBean(); |
171
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
47 browseBean.setObjectClass(PERSON); |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
48 |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
49 selectedPersonTexts = new ArrayList<Entity>(); |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
50 selectedPersonSubjectMap = new HashMap<String,List<Entity>>(); |
171
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
51 makeSubjectTree(); |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
52 } |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
53 |
171
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
54 protected void makeSubjectTree() { |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
55 subjectParents = new HashMap<String,List<String>>(); |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
56 List<Entity> subjects = getWrapper().getEntitiesByDef(SUBJECT); |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
57 for (Entity subject : subjects) { |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
58 if (subject.isLightweight()) { |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
59 subject = getWrapper().getEntityContent(subject); |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
60 } |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
61 ArrayList<String> parents = new ArrayList<String>(); |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
62 Entity parent = subject; |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
63 int cnt = 0; |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
64 do { |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
65 if (parent.isLightweight()) { |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
66 parent = getWrapper().getEntityContent(parent); |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
67 } |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
68 List<Relation> parRels = parent.getSourceRelations(is_part_of, SUBJECT); |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
69 if (!parRels.isEmpty()) { |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
70 Long parentId = parRels.get(0).getTargetId(); |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
71 parent = getWrapper().getEntityById(parentId); |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
72 parents.add(parent.getOwnValue()); |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
73 } else { |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
74 break; |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
75 } |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
76 } while (++cnt < 5); |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
77 subjectParents.put(subject.getOwnValue(), parents); |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
78 } |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
79 } |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
80 |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
81 |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
82 /** |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
83 * @return the subjectParents |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
84 */ |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
85 public Map<String, List<String>> getSubjectParents() { |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
86 return subjectParents; |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
87 } |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
88 |
50b8103ec85c
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
170
diff
changeset
|
89 public void listenerAuthorIdSearch(ActionEvent event) { |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
90 setSelectedPersonById(); |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
91 } |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
92 |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
93 protected void setSelectedPersonById() { |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
94 Entity ent = getWrapper().getEntityById(selectedPersonId); |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
95 if (ent != null) { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
96 ent = getWrapper().getEntityContent(ent); |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
97 selectedPerson = ent; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
98 updateSelectedPerson(); |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
99 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
100 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
101 |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
102 |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
103 |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
104 public void updateSelectedPerson() { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
105 // load all texts by this author |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
106 selectedPersonTexts = new ArrayList<Entity>(); |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
107 selectedPersonSubjectMap = new HashMap<String,List<Entity>>(); |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
108 List<Relation> textRels = selectedPerson.getTargetRelations("was_created_by", "TEXT"); |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
109 for (Relation rel : textRels) { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
110 Long textID = rel.getSourceId(); |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
111 // get text |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
112 Entity text = getWrapper().getEntityByIdWithContent(textID); |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
113 selectedPersonTexts.add(text); |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
114 // get subject |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
115 List<Relation> subjectRels = text.getSourceRelations("has_subject", "SUBJECT"); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
116 if (subjectRels.isEmpty()) { |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
117 String subject = "NO SUBJECT"; |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
118 List<Entity> texts = selectedPersonSubjectMap.get(subject); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
119 if (texts == null) { |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
120 texts = new ArrayList<Entity>(); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
121 } |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
122 // add text to list |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
123 texts.add(text); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
124 // add list to subject map |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
125 selectedPersonSubjectMap.put(subject, texts); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
126 |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
127 } else { |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
128 for (Relation subjectRel : subjectRels) { |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
129 Long subjectId = subjectRel.getTargetId(); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
130 Entity subject = getWrapper().getEntityByIdWithContent(subjectId); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
131 List<Entity> texts = selectedPersonSubjectMap.get(subject.getOwnValue()); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
132 if (texts == null) { |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
133 texts = new ArrayList<Entity>(); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
134 } |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
135 // add text to list |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
136 texts.add(text); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
137 // add list to subject map |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
138 selectedPersonSubjectMap.put(subject.getOwnValue(), texts); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
139 } |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
140 } |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
141 } |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
142 // update list of subjects |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
143 selectedPersonSubjects = new ArrayList<String>(); |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
144 for (String sub : selectedPersonSubjectMap.keySet()) { |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
145 selectedPersonSubjects.add(sub); |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
146 } |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
147 } |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
148 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
149 |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
150 public String actionSelectPerson() { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
151 Entity entity = (Entity) getRequestBean("entity"); |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
152 selectedPersonId = entity.getId(); |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
153 setSelectedPersonById(); |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
154 // switch tab |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
155 getSessionBean().setSelectedPublicByAuthorTab("02"); |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
156 return null; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
157 } |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
158 |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
159 public String actionSearch(){ |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
160 this.search(); |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
161 return null; |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
162 } |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
163 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
164 public void search(){ |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
165 long start = System.currentTimeMillis(); |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
166 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
167 long end = System.currentTimeMillis(); |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
168 logger.info("execution time [ms] = " + (end - start)); |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
169 } |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
170 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
171 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
172 /** |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
173 * @return the findAuthorName |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
174 */ |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
175 public String getFindAuthorName() { |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
176 return findAuthorName; |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
177 } |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
178 |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
179 /** |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
180 * @param findAuthorName the findAuthorName to set |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
181 */ |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
182 public void setFindAuthorName(String findAuthorName) { |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
183 this.findAuthorName = findAuthorName; |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
184 } |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
185 |
165
85fdcca37a0d
working on public by author feature...
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
153
diff
changeset
|
186 /** |
168
e9ab943ec528
new start for publicByAuthor using EntityRepositoryBean.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
165
diff
changeset
|
187 * @return the browseBean |
165
85fdcca37a0d
working on public by author feature...
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
153
diff
changeset
|
188 */ |
168
e9ab943ec528
new start for publicByAuthor using EntityRepositoryBean.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
165
diff
changeset
|
189 public EntityRepositoryBean getBrowseBean() { |
e9ab943ec528
new start for publicByAuthor using EntityRepositoryBean.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
165
diff
changeset
|
190 return browseBean; |
165
85fdcca37a0d
working on public by author feature...
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
153
diff
changeset
|
191 } |
85fdcca37a0d
working on public by author feature...
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
153
diff
changeset
|
192 |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
193 /** |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
194 * @return the selectedPersonId |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
195 */ |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
196 public long getSelectedPersonId() { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
197 return selectedPersonId; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
198 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
199 |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
200 /** |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
201 * @param selectedPersonId the selectedPersonId to set |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
202 */ |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
203 public void setSelectedPersonId(long selectedPersonId) { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
204 this.selectedPersonId = selectedPersonId; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
205 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
206 /** |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
207 * @return the selectedPerson |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
208 */ |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
209 public Entity getSelectedPerson() { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
210 return selectedPerson; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
211 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
212 |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
213 /** |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
214 * @return the selectedPersonTexts |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
215 */ |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
216 public List<Entity> getSelectedPersonTexts() { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
217 return selectedPersonTexts; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
218 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
219 |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
220 /** |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
221 * @return the selectedPersonSubjects |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
222 */ |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
223 public Map<String, List<Entity>> getSelectedPersonSubjectMap() { |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
224 return selectedPersonSubjectMap; |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
225 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
226 |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
227 /** |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
228 * @param selectedPersonId the selectedPersonId to set |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
229 */ |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
230 public void setSelectedPersonId(Long selectedPersonId) { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
231 this.selectedPersonId = selectedPersonId; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
232 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
233 |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
234 /** |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
235 * @return the selectedPersonSubjects |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
236 */ |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
237 public List<String> getSelectedPersonSubjects() { |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
238 return selectedPersonSubjects; |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
239 } |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
240 |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
241 } |