Mercurial > hg > ismi-richfaces
annotate src/main/java/de/mpiwg/itgroup/ismi/merge/PublicByAuthorBean.java @ 173:aa564b1b5e1f public_by_author
publicByAuthor feature ui for selecting texts ready.
actual changing of public state not yet implemented.
author | Robert Casties <casties@mpiwg-berlin.mpg.de> |
---|---|
date | Wed, 06 Jun 2018 21:01:05 +0200 |
parents | 50b8103ec85c |
children | 3d8b31508128 |
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 |
173
aa564b1b5e1f
publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
171
diff
changeset
|
36 private FullEntityRepositoryBean 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 |
173
aa564b1b5e1f
publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
171
diff
changeset
|
155 getSessionBean().setSelectedPublicByAuthorTab("sub"); |
169
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 |
173
aa564b1b5e1f
publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
171
diff
changeset
|
159 public void actionAllAuthors() { |
aa564b1b5e1f
publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
171
diff
changeset
|
160 browseBean.setObjectClass(PERSON); |
aa564b1b5e1f
publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
171
diff
changeset
|
161 browseBean.setSortAttributeName("mams_number"); |
aa564b1b5e1f
publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
171
diff
changeset
|
162 browseBean.setSortAttributeNumerically(true); |
aa564b1b5e1f
publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
171
diff
changeset
|
163 try { |
aa564b1b5e1f
publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
171
diff
changeset
|
164 browseBean.sortByAttributes(); |
aa564b1b5e1f
publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
171
diff
changeset
|
165 } catch (Exception e) { |
aa564b1b5e1f
publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
171
diff
changeset
|
166 logger.error(e); |
aa564b1b5e1f
publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
171
diff
changeset
|
167 } |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
168 } |
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 * @return the findAuthorName |
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 public String getFindAuthorName() { |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
174 return findAuthorName; |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
175 } |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
176 |
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 * @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
|
179 */ |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
180 public void setFindAuthorName(String findAuthorName) { |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
181 this.findAuthorName = findAuthorName; |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
182 } |
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
183 |
165
85fdcca37a0d
working on public by author feature...
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
153
diff
changeset
|
184 /** |
168
e9ab943ec528
new start for publicByAuthor using EntityRepositoryBean.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
165
diff
changeset
|
185 * @return the browseBean |
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 public EntityRepositoryBean getBrowseBean() { |
e9ab943ec528
new start for publicByAuthor using EntityRepositoryBean.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
165
diff
changeset
|
188 return browseBean; |
165
85fdcca37a0d
working on public by author feature...
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
153
diff
changeset
|
189 } |
85fdcca37a0d
working on public by author feature...
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
153
diff
changeset
|
190 |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
191 /** |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
192 * @return the selectedPersonId |
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 public long getSelectedPersonId() { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
195 return selectedPersonId; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
196 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
197 |
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 * @param selectedPersonId the selectedPersonId to set |
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 public void setSelectedPersonId(long selectedPersonId) { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
202 this.selectedPersonId = selectedPersonId; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
203 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
204 /** |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
205 * @return the selectedPerson |
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 public Entity getSelectedPerson() { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
208 return selectedPerson; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
209 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
210 |
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 * @return the selectedPersonTexts |
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 public List<Entity> getSelectedPersonTexts() { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
215 return selectedPersonTexts; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
216 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
217 |
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 * @return the selectedPersonSubjects |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
220 */ |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
221 public Map<String, List<Entity>> getSelectedPersonSubjectMap() { |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
222 return selectedPersonSubjectMap; |
169
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
223 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
224 |
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 * @param selectedPersonId the selectedPersonId to set |
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 public void setSelectedPersonId(Long selectedPersonId) { |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
229 this.selectedPersonId = selectedPersonId; |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
230 } |
0b5d02012299
more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
168
diff
changeset
|
231 |
170
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
232 /** |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
233 * @return the selectedPersonSubjects |
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 public List<String> getSelectedPersonSubjects() { |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
236 return selectedPersonSubjects; |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
237 } |
8604b368ec19
still more work on publicByAuthor feature.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
169
diff
changeset
|
238 |
153
3c83f42a8a39
first stab at new public-by-author interface.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
239 } |