annotate src/main/java/de/mpiwg/itgroup/ismi/publicView/pages/JSPDynamicPage.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 4aa8c425685d
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.HashMap;
jurzua
parents:
diff changeset
5 import java.util.List;
jurzua
parents:
diff changeset
6 import java.util.Map;
jurzua
parents:
diff changeset
7
jurzua
parents:
diff changeset
8 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
9 import org.mpi.openmind.repository.bo.ViewerAttribute;
jurzua
parents:
diff changeset
10 import org.mpi.openmind.repository.bo.ViewerPage;
jurzua
parents:
diff changeset
11 import org.mpi.openmind.repository.utils.OMUtils;
8
jurzua
parents: 1
diff changeset
12 import org.mpi.openmind.repository.utils.RomanizationLoC;
1
jurzua
parents:
diff changeset
13
jurzua
parents:
diff changeset
14 import de.mpiwg.itgroup.diva.jsp.AbsJSPWrapper;
jurzua
parents:
diff changeset
15
jurzua
parents:
diff changeset
16 public class JSPDynamicPage extends AbsJSPWrapper{
jurzua
parents:
diff changeset
17
jurzua
parents:
diff changeset
18 private Long currentEntId;
jurzua
parents:
diff changeset
19 private ViewerPage page;
jurzua
parents:
diff changeset
20 private Map<String, List<String>> attMap;
jurzua
parents:
diff changeset
21 private Map<String, String> attMapTextAlign;
jurzua
parents:
diff changeset
22 private List<String> labelList;
jurzua
parents:
diff changeset
23
jurzua
parents:
diff changeset
24 private boolean errorLoading;
jurzua
parents:
diff changeset
25
jurzua
parents:
diff changeset
26 protected Entity digi;
jurzua
parents:
diff changeset
27
jurzua
parents:
diff changeset
28
jurzua
parents:
diff changeset
29 public void load(String currentEntId){
jurzua
parents:
diff changeset
30 try {
jurzua
parents:
diff changeset
31 this.load(Long.parseLong(currentEntId));
jurzua
parents:
diff changeset
32 } catch (Exception e) {
jurzua
parents:
diff changeset
33 e.printStackTrace();
jurzua
parents:
diff changeset
34 }
jurzua
parents:
diff changeset
35 }
jurzua
parents:
diff changeset
36
jurzua
parents:
diff changeset
37 public void load(Long newEntId){
jurzua
parents:
diff changeset
38 this.currentEntId = newEntId;
jurzua
parents:
diff changeset
39 Entity ent = getWrapper().getEntityById(currentEntId);
jurzua
parents:
diff changeset
40
jurzua
parents:
diff changeset
41 this.errorLoading = (ent != null) ? true : false;
jurzua
parents:
diff changeset
42 if(ent == null){
jurzua
parents:
diff changeset
43 this.getSessionBean().addGeneralMsg("The entity " + currentEntId + " was not found.");
jurzua
parents:
diff changeset
44 }
jurzua
parents:
diff changeset
45
jurzua
parents:
diff changeset
46 this.page = null;
jurzua
parents:
diff changeset
47
jurzua
parents:
diff changeset
48 this.attMap = new HashMap<String, List<String>>();
jurzua
parents:
diff changeset
49 this.attMapTextAlign = new HashMap<String, String>();
jurzua
parents:
diff changeset
50 this.labelList = new ArrayList<String>();
jurzua
parents:
diff changeset
51 if(ent != null){
jurzua
parents:
diff changeset
52
jurzua
parents:
diff changeset
53 this.page = getWrapper().getViewerPage(ent.getObjectClass());
jurzua
parents:
diff changeset
54 if(page != null){
jurzua
parents:
diff changeset
55 List<ViewerAttribute> attList = getWrapper().getViewerAttributes(page.getId());
jurzua
parents:
diff changeset
56 for(ViewerAttribute att : attList){
jurzua
parents:
diff changeset
57 try {
jurzua
parents:
diff changeset
58
jurzua
parents:
diff changeset
59 if(att.getDisplayMode() != ViewerAttribute.HIDE){
jurzua
parents:
diff changeset
60 this.attMapTextAlign.put(att.getLabel(), att.getTextAlign());
jurzua
parents:
diff changeset
61 List<String> values = OMUtils.resolveQuery(currentEntId, att.getQuery(), getWrapper(), att.getContentType());
8
jurzua
parents: 1
diff changeset
62 values = romanizeList(values);
1
jurzua
parents:
diff changeset
63 if(values.size() > 0 || att.getDisplayMode() == ViewerAttribute.SHOW_ALWAYS){
jurzua
parents:
diff changeset
64 this.attMap.put(att.getLabel(), values);
jurzua
parents:
diff changeset
65 this.labelList.add(att.getLabel());
jurzua
parents:
diff changeset
66 }
jurzua
parents:
diff changeset
67 }
jurzua
parents:
diff changeset
68
jurzua
parents:
diff changeset
69 } catch (Exception e) {
jurzua
parents:
diff changeset
70 e.printStackTrace();
jurzua
parents:
diff changeset
71 }
jurzua
parents:
diff changeset
72 }
jurzua
parents:
diff changeset
73 }
jurzua
parents:
diff changeset
74 }
119
4aa8c425685d less System.out.println.
casties
parents: 8
diff changeset
75 //System.out.println("");
1
jurzua
parents:
diff changeset
76 }
8
jurzua
parents: 1
diff changeset
77
jurzua
parents: 1
diff changeset
78 public List<String> romanizeList(List<String> list){
jurzua
parents: 1
diff changeset
79 List<String> rs = new ArrayList<String>();
jurzua
parents: 1
diff changeset
80 for(String s : list){
jurzua
parents: 1
diff changeset
81 rs.add(RomanizationLoC.convert(s));
jurzua
parents: 1
diff changeset
82 }
jurzua
parents: 1
diff changeset
83 return rs;
jurzua
parents: 1
diff changeset
84 }
1
jurzua
parents:
diff changeset
85
jurzua
parents:
diff changeset
86 public Long getCurrentEntId() {
jurzua
parents:
diff changeset
87 return currentEntId;
jurzua
parents:
diff changeset
88 }
jurzua
parents:
diff changeset
89
jurzua
parents:
diff changeset
90 public void setCurrentEntId(Long currentEntId) {
jurzua
parents:
diff changeset
91 this.currentEntId = currentEntId;
jurzua
parents:
diff changeset
92 }
jurzua
parents:
diff changeset
93
jurzua
parents:
diff changeset
94 public ViewerPage getPage() {
jurzua
parents:
diff changeset
95 return page;
jurzua
parents:
diff changeset
96 }
jurzua
parents:
diff changeset
97
jurzua
parents:
diff changeset
98
jurzua
parents:
diff changeset
99 public void setPage(ViewerPage page) {
jurzua
parents:
diff changeset
100 this.page = page;
jurzua
parents:
diff changeset
101 }
jurzua
parents:
diff changeset
102
jurzua
parents:
diff changeset
103
jurzua
parents:
diff changeset
104 public Map<String, List<String>> getAttMap() {
jurzua
parents:
diff changeset
105 return attMap;
jurzua
parents:
diff changeset
106 }
jurzua
parents:
diff changeset
107
jurzua
parents:
diff changeset
108
jurzua
parents:
diff changeset
109 public void setAttMap(Map<String, List<String>> attMap) {
jurzua
parents:
diff changeset
110 this.attMap = attMap;
jurzua
parents:
diff changeset
111 }
jurzua
parents:
diff changeset
112
jurzua
parents:
diff changeset
113 public List<String> getLabels(){
jurzua
parents:
diff changeset
114 return this.labelList;
jurzua
parents:
diff changeset
115 }
jurzua
parents:
diff changeset
116
jurzua
parents:
diff changeset
117 public String getDigiLabel(){
jurzua
parents:
diff changeset
118 return (digi == null) ? null : digi.getOwnValue();
jurzua
parents:
diff changeset
119 }
jurzua
parents:
diff changeset
120
jurzua
parents:
diff changeset
121 public Long getDigiId(){
jurzua
parents:
diff changeset
122 return (digi == null) ? null : digi.getId();
jurzua
parents:
diff changeset
123 }
jurzua
parents:
diff changeset
124
jurzua
parents:
diff changeset
125 public Entity getDigi() {
jurzua
parents:
diff changeset
126 return digi;
jurzua
parents:
diff changeset
127 }
jurzua
parents:
diff changeset
128
jurzua
parents:
diff changeset
129 public void setDigi(Entity digi) {
jurzua
parents:
diff changeset
130 this.digi = digi;
jurzua
parents:
diff changeset
131 }
jurzua
parents:
diff changeset
132
jurzua
parents:
diff changeset
133 public Map<String, String> getAttMapTextAlign() {
jurzua
parents:
diff changeset
134 return attMapTextAlign;
jurzua
parents:
diff changeset
135 }
jurzua
parents:
diff changeset
136
jurzua
parents:
diff changeset
137 public boolean isErrorLoading(){
jurzua
parents:
diff changeset
138 return this.errorLoading;
jurzua
parents:
diff changeset
139 }
jurzua
parents:
diff changeset
140 }