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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }