annotate src/main/java/de/mpiwg/itgroup/ismi/search/beans/DisplayBean.java @ 77:985dcecba904

"show scans" link and indicator for all witnesses with digitalization (no check for public).
author casties
date Tue, 28 Jun 2016 16:18:49 -0400
parents 70207f24937e
children e07e9f5afaa3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.search.beans;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.util.ArrayList;
jurzua
parents:
diff changeset
4 import java.util.List;
jurzua
parents:
diff changeset
5
jurzua
parents:
diff changeset
6 import javax.faces.event.ActionEvent;
jurzua
parents:
diff changeset
7 import javax.faces.model.SelectItem;
jurzua
parents:
diff changeset
8
jurzua
parents:
diff changeset
9 import org.apache.log4j.Logger;
jurzua
parents:
diff changeset
10 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
11
jurzua
parents:
diff changeset
12 import de.mpiwg.itgroup.ismi.auxObjects.SelectItem0;
jurzua
parents:
diff changeset
13 import de.mpiwg.itgroup.ismi.entry.beans.AbstractISMIBean;
jurzua
parents:
diff changeset
14 import de.mpiwg.itgroup.ismi.entry.utils.PrivacityUtils;
jurzua
parents:
diff changeset
15 import de.mpiwg.itgroup.ismi.utils.templates.TitleTemplate;
jurzua
parents:
diff changeset
16 import de.mpiwg.itgroup.ismi.utils.templates.WitnessTemplate;
jurzua
parents:
diff changeset
17
jurzua
parents:
diff changeset
18 public class DisplayBean extends AbstractISMIBean {
jurzua
parents:
diff changeset
19
jurzua
parents:
diff changeset
20 /**
jurzua
parents:
diff changeset
21 *
jurzua
parents:
diff changeset
22 */
jurzua
parents:
diff changeset
23 private static final long serialVersionUID = 1296816397468908012L;
jurzua
parents:
diff changeset
24
jurzua
parents:
diff changeset
25 private static Logger logger = Logger.getLogger(DisplayBean.class);
jurzua
parents:
diff changeset
26
jurzua
parents:
diff changeset
27 protected TitleTemplate title;
jurzua
parents:
diff changeset
28 protected WitnessTemplate witness;
jurzua
parents:
diff changeset
29
jurzua
parents:
diff changeset
30 //Witness elements
jurzua
parents:
diff changeset
31 protected List<SelectItem0> witnessItems = new ArrayList<SelectItem0>();
jurzua
parents:
diff changeset
32 protected Long selectedWitnessId;
72
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
33 protected boolean showWitnessesWithScans = false;
1
jurzua
parents:
diff changeset
34
jurzua
parents:
diff changeset
35 //Title elements
jurzua
parents:
diff changeset
36 protected Long selectedTitleId;
jurzua
parents:
diff changeset
37 protected List<SelectItem0> titleItems = new ArrayList<SelectItem0>();
jurzua
parents:
diff changeset
38
jurzua
parents:
diff changeset
39 protected void resetDisplay(){
jurzua
parents:
diff changeset
40 this.witness = null;
jurzua
parents:
diff changeset
41 this.selectedWitnessId = null;
jurzua
parents:
diff changeset
42 this.title = null;
jurzua
parents:
diff changeset
43 this.selectedTitleId = null;
jurzua
parents:
diff changeset
44 this.witnessItems = new ArrayList<SelectItem0>();
jurzua
parents:
diff changeset
45 }
jurzua
parents:
diff changeset
46
jurzua
parents:
diff changeset
47 public void showTitle(Long textId){
jurzua
parents:
diff changeset
48 this.selectedTitleId = textId;
jurzua
parents:
diff changeset
49
jurzua
parents:
diff changeset
50 this.witness = null;
jurzua
parents:
diff changeset
51 this.witnessItems = new ArrayList<SelectItem0>();
jurzua
parents:
diff changeset
52 this.selectedWitnessId = null;
jurzua
parents:
diff changeset
53
jurzua
parents:
diff changeset
54 long start = System.currentTimeMillis();
jurzua
parents:
diff changeset
55
jurzua
parents:
diff changeset
56 Entity entTitle = getWrapper().getEntityById(this.selectedTitleId);
jurzua
parents:
diff changeset
57
jurzua
parents:
diff changeset
58 if(this.selectedTitleId != null){
jurzua
parents:
diff changeset
59
jurzua
parents:
diff changeset
60 this.titleItems = SelectItem0.valueChange(titleItems, textId);
jurzua
parents:
diff changeset
61 this.title = new TitleTemplate(entTitle, getWrapper(), false);
jurzua
parents:
diff changeset
62
jurzua
parents:
diff changeset
63 //****** getting witnesses **********************
jurzua
parents:
diff changeset
64 long startWitness = System.currentTimeMillis();
72
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
65 List<Entity> list = new ArrayList<Entity>();
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
66 List<Entity> allwits = getWrapper().getSourcesForTargetRelation(selectedTitleId, is_exemplar_of, WITNESS, -1);
77
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
67 boolean hasScans = false;
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
68 for (Entity witness : allwits) {
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
69 // get CODEX for WITNESS
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
70 List<Entity> codices = getWrapper().getTargetsForSourceRelation(witness.getId(), is_part_of, CODEX, 1);
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
71 Entity codex = codices.get(0);
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
72 // Attribute pub = getWrapper().getAttributeByName(codex.getId(), "public");
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
73 // if (pub == null || ! pub.getValue().equals("true")) {
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
74 // look at DIGITALIZATION
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
75 List<Entity> digis = getWrapper().getSourcesForTargetRelation(codex.getId(), is_digitalization_of, DIGITALIZATION, 1);
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
76 hasScans = !digis.isEmpty();
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
77 if (this.showWitnessesWithScans && !hasScans) {
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
78 continue;
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
79 }
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
80 String witlabel = witness.getOwnValue() + " [" + witness.getId() + "]" + (hasScans ? "+S" : "");
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
81 SelectItem0 item = new SelectItem0(witness.getId(), witlabel, true);
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
82 this.witnessItems.add(item);
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
83 list.add(witness);
985dcecba904 "show scans" link and indicator for all witnesses with digitalization (no check for public).
casties
parents: 72
diff changeset
84 }
1
jurzua
parents:
diff changeset
85
jurzua
parents:
diff changeset
86 if(list.size() > 0){
jurzua
parents:
diff changeset
87 this.showWitness(list.get(0).getId());
jurzua
parents:
diff changeset
88 }
jurzua
parents:
diff changeset
89
jurzua
parents:
diff changeset
90 long diff = System.currentTimeMillis() - startWitness;
jurzua
parents:
diff changeset
91 if(diff > 1000){
jurzua
parents:
diff changeset
92 logger.info("Time - listenerShowTitle().getSourcesForTargetRelation(title, 'X', WITNESS, -1) = " + diff + " [ms], Text id= " + this.selectedTitleId);
jurzua
parents:
diff changeset
93
jurzua
parents:
diff changeset
94 }
jurzua
parents:
diff changeset
95 //************************************************
jurzua
parents:
diff changeset
96 }
jurzua
parents:
diff changeset
97 long diff = System.currentTimeMillis() - start;
jurzua
parents:
diff changeset
98
jurzua
parents:
diff changeset
99 if(diff > 1000){
jurzua
parents:
diff changeset
100 logger.info("Time - listenerShowTitle() " + diff + " [ms], Text id= " + this.selectedTitleId);
jurzua
parents:
diff changeset
101 }
jurzua
parents:
diff changeset
102 }
jurzua
parents:
diff changeset
103
jurzua
parents:
diff changeset
104
jurzua
parents:
diff changeset
105 public void listenerShowWitness0(ActionEvent event){
jurzua
parents:
diff changeset
106 SelectItem0 item = (SelectItem0)getRequestBean("witnessItem");
jurzua
parents:
diff changeset
107 if (item != null) {
jurzua
parents:
diff changeset
108 this.redirect(null, "?textId=" + selectedTitleId + "&witnessId=" + item.getValue() + "#witnesses");
jurzua
parents:
diff changeset
109 }
jurzua
parents:
diff changeset
110 }
jurzua
parents:
diff changeset
111
jurzua
parents:
diff changeset
112
jurzua
parents:
diff changeset
113 public void showWitness(Long selectedWitnessId) {
jurzua
parents:
diff changeset
114
jurzua
parents:
diff changeset
115 this.selectedWitnessId = selectedWitnessId;
jurzua
parents:
diff changeset
116
jurzua
parents:
diff changeset
117 if (this.selectedWitnessId != null) {
jurzua
parents:
diff changeset
118 this.witnessItems = SelectItem0.valueChange(witnessItems, selectedWitnessId);
jurzua
parents:
diff changeset
119 Entity entWitness = getWrapper().getEntityById(selectedWitnessId);
jurzua
parents:
diff changeset
120
jurzua
parents:
diff changeset
121 if (entWitness != null) {
jurzua
parents:
diff changeset
122 this.witness = new WitnessTemplate(entWitness, getWrapper(), true);
jurzua
parents:
diff changeset
123 }
jurzua
parents:
diff changeset
124 }
jurzua
parents:
diff changeset
125 }
jurzua
parents:
diff changeset
126
jurzua
parents:
diff changeset
127 /**
jurzua
parents:
diff changeset
128 * This method is called from the result of the simple search. It will set the title(text) into the currentText to be edited.
jurzua
parents:
diff changeset
129 * @return
jurzua
parents:
diff changeset
130 */
jurzua
parents:
diff changeset
131 public String actionEditTitle() {
jurzua
parents:
diff changeset
132 if(this.selectedTitleId != null){
jurzua
parents:
diff changeset
133 getSessionBean().editEntity(getWrapper().getEntityById(selectedTitleId));
jurzua
parents:
diff changeset
134 return "entry_edit_entity";
jurzua
parents:
diff changeset
135 }
jurzua
parents:
diff changeset
136 return "";
jurzua
parents:
diff changeset
137 }
jurzua
parents:
diff changeset
138
jurzua
parents:
diff changeset
139 /**
jurzua
parents:
diff changeset
140 * This method is called from the result of the simple search. It will set
jurzua
parents:
diff changeset
141 * the witness into the currentWitness to be edited.
jurzua
parents:
diff changeset
142 *
jurzua
parents:
diff changeset
143 * @return
jurzua
parents:
diff changeset
144 */
jurzua
parents:
diff changeset
145 public String actionEditWitness() {
jurzua
parents:
diff changeset
146 if (this.selectedWitnessId != null) {
jurzua
parents:
diff changeset
147 getSessionBean().editEntity(getWrapper().getEntityById(selectedWitnessId));
jurzua
parents:
diff changeset
148 return "entry_edit_entity";
jurzua
parents:
diff changeset
149 }
jurzua
parents:
diff changeset
150 return "";
jurzua
parents:
diff changeset
151 }
jurzua
parents:
diff changeset
152
jurzua
parents:
diff changeset
153 //Privacity titles
jurzua
parents:
diff changeset
154 public void changePrivacity4Title(ActionEvent event){
jurzua
parents:
diff changeset
155 try {
jurzua
parents:
diff changeset
156 if(selectedTitleId != null){
jurzua
parents:
diff changeset
157 List<Entity> saveList = PrivacityUtils.changePrivacity4Title(getWrapper().getEntityById(selectedTitleId), null, getWrapper());
jurzua
parents:
diff changeset
158 getWrapper().saveEntityListAsNodeWithoutContent(saveList, getUserName());
jurzua
parents:
diff changeset
159 this.showTitle(selectedTitleId);
jurzua
parents:
diff changeset
160 }
jurzua
parents:
diff changeset
161 } catch (Exception e) {
jurzua
parents:
diff changeset
162 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
163 printInternalError(e);
jurzua
parents:
diff changeset
164 }
jurzua
parents:
diff changeset
165 }
jurzua
parents:
diff changeset
166
jurzua
parents:
diff changeset
167 //Privacity witnesses
jurzua
parents:
diff changeset
168 public void changePrivacity4Witness(ActionEvent event){
jurzua
parents:
diff changeset
169 try {
jurzua
parents:
diff changeset
170 if(selectedWitnessId != null){
jurzua
parents:
diff changeset
171 List<Entity> saveList = PrivacityUtils.changePrivacity4Witness(getWrapper().getEntityById(selectedWitnessId), null, getWrapper());
jurzua
parents:
diff changeset
172 getWrapper().saveEntityListAsNodeWithoutContent(saveList, getUserName());
jurzua
parents:
diff changeset
173 this.showWitness(selectedWitnessId);
jurzua
parents:
diff changeset
174 }
jurzua
parents:
diff changeset
175 } catch (Exception e) {
jurzua
parents:
diff changeset
176 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
177 printInternalError(e);
jurzua
parents:
diff changeset
178 }
jurzua
parents:
diff changeset
179
jurzua
parents:
diff changeset
180 }
jurzua
parents:
diff changeset
181
jurzua
parents:
diff changeset
182 private void changeAllWitnesses(boolean privacity) throws Exception{
jurzua
parents:
diff changeset
183 List<Entity> saveList = new ArrayList<Entity>();
jurzua
parents:
diff changeset
184 for(SelectItem item : witnessItems){
jurzua
parents:
diff changeset
185 Long id = (Long)item.getValue();
jurzua
parents:
diff changeset
186 Entity witness = getWrapper().getEntityById(id);
jurzua
parents:
diff changeset
187 saveList.addAll(PrivacityUtils.changePrivacity4Witness(witness, privacity, getWrapper()));
jurzua
parents:
diff changeset
188 }
jurzua
parents:
diff changeset
189 getWrapper().saveEntityListAsNodeWithoutContent(saveList, getUserName());
jurzua
parents:
diff changeset
190 this.showWitness(selectedWitnessId);
jurzua
parents:
diff changeset
191 }
jurzua
parents:
diff changeset
192
jurzua
parents:
diff changeset
193 public void listenerMakeAllWitnessesPublic(ActionEvent event){
jurzua
parents:
diff changeset
194 try {
jurzua
parents:
diff changeset
195 this.changeAllWitnesses(true);
jurzua
parents:
diff changeset
196 } catch (Exception e) {
jurzua
parents:
diff changeset
197 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
198 printInternalError(e);
jurzua
parents:
diff changeset
199 }
jurzua
parents:
diff changeset
200 }
jurzua
parents:
diff changeset
201
jurzua
parents:
diff changeset
202 public void listenerMakeAllWitnessesPrivate(ActionEvent event){
jurzua
parents:
diff changeset
203 try {
jurzua
parents:
diff changeset
204 this.changeAllWitnesses(false);
jurzua
parents:
diff changeset
205 } catch (Exception e) {
jurzua
parents:
diff changeset
206 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
207 printInternalError(e);
jurzua
parents:
diff changeset
208 }
jurzua
parents:
diff changeset
209
jurzua
parents:
diff changeset
210 }
jurzua
parents:
diff changeset
211
72
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
212
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
213 public void changeShowWitnessesWithScans() {
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
214 if (this.selectedTitleId != null) {
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
215 showTitle(this.selectedTitleId);
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
216 }
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
217 }
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
218
1
jurzua
parents:
diff changeset
219 public int getWitnessItemsSize() {
jurzua
parents:
diff changeset
220 if(witnessItems != null)
jurzua
parents:
diff changeset
221 return witnessItems.size();
jurzua
parents:
diff changeset
222 return 0;
jurzua
parents:
diff changeset
223 }
jurzua
parents:
diff changeset
224
jurzua
parents:
diff changeset
225 public TitleTemplate getTitle() {
jurzua
parents:
diff changeset
226 return title;
jurzua
parents:
diff changeset
227 }
jurzua
parents:
diff changeset
228
jurzua
parents:
diff changeset
229 public WitnessTemplate getWitness() {
jurzua
parents:
diff changeset
230 return witness;
jurzua
parents:
diff changeset
231 }
jurzua
parents:
diff changeset
232
jurzua
parents:
diff changeset
233 public List<SelectItem0> getWitnessItems() {
jurzua
parents:
diff changeset
234 return witnessItems;
jurzua
parents:
diff changeset
235 }
jurzua
parents:
diff changeset
236
jurzua
parents:
diff changeset
237 public Long getSelectedWitnessId() {
jurzua
parents:
diff changeset
238 return selectedWitnessId;
jurzua
parents:
diff changeset
239 }
jurzua
parents:
diff changeset
240
jurzua
parents:
diff changeset
241 public Long getSelectedTitleId() {
jurzua
parents:
diff changeset
242 return selectedTitleId;
jurzua
parents:
diff changeset
243 }
jurzua
parents:
diff changeset
244
jurzua
parents:
diff changeset
245 public void setSelectedWitnessId(Long selectedWitnessId) {
jurzua
parents:
diff changeset
246 this.selectedWitnessId = selectedWitnessId;
jurzua
parents:
diff changeset
247 }
jurzua
parents:
diff changeset
248
jurzua
parents:
diff changeset
249 public void setSelectedTitleId(Long selectedTitleId) {
jurzua
parents:
diff changeset
250 this.selectedTitleId = selectedTitleId;
jurzua
parents:
diff changeset
251 }
72
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
252
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
253 public boolean isShowWitnessesWithScans() {
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
254 return showWitnessesWithScans;
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
255 }
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
256
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
257 public void setShowWitnessesWithScans(boolean showWitnessesWithScans) {
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
258 this.showWitnessesWithScans = showWitnessesWithScans;
70207f24937e cleaned displayAuthor. added filter for witnesses with scans.
casties
parents: 60
diff changeset
259 }
1
jurzua
parents:
diff changeset
260 }