annotate src/main/java/de/mpiwg/itgroup/ismi/publicView/pages/DynamicPage.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 2e911857a759
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.publicView.pages;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.util.ArrayList;
jurzua
parents:
diff changeset
4 import java.util.Collection;
jurzua
parents:
diff changeset
5 import java.util.HashMap;
jurzua
parents:
diff changeset
6 import java.util.List;
jurzua
parents:
diff changeset
7 import java.util.Map;
jurzua
parents:
diff changeset
8
jurzua
parents:
diff changeset
9 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
10 import org.mpi.openmind.repository.bo.ViewerAttribute;
jurzua
parents:
diff changeset
11 import org.mpi.openmind.repository.bo.ViewerPage;
jurzua
parents:
diff changeset
12 import org.mpi.openmind.repository.utils.OMUtils;
jurzua
parents:
diff changeset
13
jurzua
parents:
diff changeset
14 import de.mpiwg.itgroup.ismi.entry.beans.AbstractBean;
jurzua
parents:
diff changeset
15
jurzua
parents:
diff changeset
16 public class DynamicPage extends AbstractBean{
jurzua
parents:
diff changeset
17 private static final long serialVersionUID = -3539502586578459996L;
jurzua
parents:
diff changeset
18
jurzua
parents:
diff changeset
19 private Long entId;
jurzua
parents:
diff changeset
20 private ViewerPage page;
jurzua
parents:
diff changeset
21 private Map<String, List<String>> attMap;
jurzua
parents:
diff changeset
22 private Map<String, String> attMapTextAlign;
jurzua
parents:
diff changeset
23 private List<String> labelList;
jurzua
parents:
diff changeset
24
jurzua
parents:
diff changeset
25
jurzua
parents:
diff changeset
26 public void load(String entId){
jurzua
parents:
diff changeset
27 try {
jurzua
parents:
diff changeset
28 this.load(Long.parseLong(entId));
jurzua
parents:
diff changeset
29 } catch (Exception e) {
jurzua
parents:
diff changeset
30 e.printStackTrace();
jurzua
parents:
diff changeset
31 }
jurzua
parents:
diff changeset
32 }
jurzua
parents:
diff changeset
33
jurzua
parents:
diff changeset
34 public void load(Long entId){
jurzua
parents:
diff changeset
35 Entity ent = getWrapper().getEntityById(entId);
jurzua
parents:
diff changeset
36 this.page = null;
jurzua
parents:
diff changeset
37
jurzua
parents:
diff changeset
38 this.attMap = new HashMap<String, List<String>>();
jurzua
parents:
diff changeset
39 this.attMapTextAlign = new HashMap<String, String>();
jurzua
parents:
diff changeset
40 this.labelList = new ArrayList<String>();
jurzua
parents:
diff changeset
41 if(ent != null){
jurzua
parents:
diff changeset
42
jurzua
parents:
diff changeset
43 this.page = getWrapper().getViewerPage(ent.getObjectClass());
jurzua
parents:
diff changeset
44 if(page != null){
jurzua
parents:
diff changeset
45 List<ViewerAttribute> attList = getWrapper().getViewerAttributes(page.getId());
jurzua
parents:
diff changeset
46 for(ViewerAttribute att : attList){
jurzua
parents:
diff changeset
47 try {
jurzua
parents:
diff changeset
48
jurzua
parents:
diff changeset
49 if(att.getDisplayMode() != ViewerAttribute.HIDE){
jurzua
parents:
diff changeset
50 this.attMapTextAlign.put(att.getLabel(), att.getTextAlign());
jurzua
parents:
diff changeset
51 List<String> values = OMUtils.resolveQuery(entId, att.getQuery(), getWrapper(), att.getContentType());
jurzua
parents:
diff changeset
52
jurzua
parents:
diff changeset
53 if(values.size() > 0 || att.getDisplayMode() == ViewerAttribute.SHOW_ALWAYS){
jurzua
parents:
diff changeset
54 this.attMap.put(att.getLabel(), values);
jurzua
parents:
diff changeset
55 this.labelList.add(att.getLabel());
jurzua
parents:
diff changeset
56 }
jurzua
parents:
diff changeset
57 }
jurzua
parents:
diff changeset
58
jurzua
parents:
diff changeset
59 } catch (Exception e) {
jurzua
parents:
diff changeset
60 e.printStackTrace();
jurzua
parents:
diff changeset
61 }
jurzua
parents:
diff changeset
62 }
jurzua
parents:
diff changeset
63 }
jurzua
parents:
diff changeset
64 }
jurzua
parents:
diff changeset
65 }
jurzua
parents:
diff changeset
66
jurzua
parents:
diff changeset
67 public Long getEntId() {
jurzua
parents:
diff changeset
68 return entId;
jurzua
parents:
diff changeset
69 }
jurzua
parents:
diff changeset
70
jurzua
parents:
diff changeset
71
jurzua
parents:
diff changeset
72 public void setEntId(Long entId) {
jurzua
parents:
diff changeset
73 this.entId = entId;
jurzua
parents:
diff changeset
74 }
jurzua
parents:
diff changeset
75
jurzua
parents:
diff changeset
76
jurzua
parents:
diff changeset
77 public ViewerPage getPage() {
jurzua
parents:
diff changeset
78 return page;
jurzua
parents:
diff changeset
79 }
jurzua
parents:
diff changeset
80
jurzua
parents:
diff changeset
81
jurzua
parents:
diff changeset
82 public void setPage(ViewerPage page) {
jurzua
parents:
diff changeset
83 this.page = page;
jurzua
parents:
diff changeset
84 }
jurzua
parents:
diff changeset
85
jurzua
parents:
diff changeset
86
jurzua
parents:
diff changeset
87 public Map<String, List<String>> getAttMap() {
jurzua
parents:
diff changeset
88 return attMap;
jurzua
parents:
diff changeset
89 }
jurzua
parents:
diff changeset
90
jurzua
parents:
diff changeset
91
jurzua
parents:
diff changeset
92 public void setAttMap(Map<String, List<String>> attMap) {
jurzua
parents:
diff changeset
93 this.attMap = attMap;
jurzua
parents:
diff changeset
94 }
jurzua
parents:
diff changeset
95
jurzua
parents:
diff changeset
96 public List<String> getLabels(){
jurzua
parents:
diff changeset
97 return this.labelList;
jurzua
parents:
diff changeset
98 }
jurzua
parents:
diff changeset
99
jurzua
parents:
diff changeset
100 public Map<String, String> getAttMapTextAlign() {
jurzua
parents:
diff changeset
101 return attMapTextAlign;
jurzua
parents:
diff changeset
102 }
jurzua
parents:
diff changeset
103
jurzua
parents:
diff changeset
104 }