annotate src/main/java/de/mpiwg/itgroup/ismi/entry/beans/ApplicationBean.java @ 157:2522985f44af

add "query builder" button to entityDetails form.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Fri, 20 Oct 2017 12:44:15 +0200
parents 62d5276ed785
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.entry.beans;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.io.Serializable;
157
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
4 import java.io.UnsupportedEncodingException;
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
5 import java.net.URLEncoder;
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
6 import java.nio.charset.StandardCharsets;
1
jurzua
parents:
diff changeset
7 import java.util.ArrayList;
jurzua
parents:
diff changeset
8 import java.util.Arrays;
jurzua
parents:
diff changeset
9 import java.util.List;
jurzua
parents:
diff changeset
10
jurzua
parents:
diff changeset
11 import javax.faces.context.FacesContext;
jurzua
parents:
diff changeset
12 import javax.faces.model.SelectItem;
jurzua
parents:
diff changeset
13 import javax.servlet.http.HttpServletRequest;
jurzua
parents:
diff changeset
14
157
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
15 import org.apache.commons.codec.binary.Base64;
1
jurzua
parents:
diff changeset
16 import org.apache.commons.lang.StringUtils;
jurzua
parents:
diff changeset
17 import org.apache.log4j.Logger;
jurzua
parents:
diff changeset
18 import org.mpi.openmind.cache.WrapperService;
jurzua
parents:
diff changeset
19 import org.mpi.openmind.configuration.ConfigurationService;
jurzua
parents:
diff changeset
20 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
21 import org.mpi.openmind.repository.services.ServiceRegistry;
jurzua
parents:
diff changeset
22 import org.mpi.openmind.search.SearchService;
jurzua
parents:
diff changeset
23 import org.mpi.openmind.security.SecurityService;
jurzua
parents:
diff changeset
24
jurzua
parents:
diff changeset
25 import de.mpiwg.itgroup.ismi.entry.dataBeans.SimpleSearchCache;
jurzua
parents:
diff changeset
26 import de.mpiwg.itgroup.ismi.publicView.PublicCodexList;
jurzua
parents:
diff changeset
27
jurzua
parents:
diff changeset
28 /**
jurzua
parents:
diff changeset
29 * <p>
jurzua
parents:
diff changeset
30 * Application scope data bean for your application. Create properties here to
jurzua
parents:
diff changeset
31 * represent cached data that should be made available to all users and pages in
jurzua
parents:
diff changeset
32 * the application.
jurzua
parents:
diff changeset
33 * </p>
jurzua
parents:
diff changeset
34 *
jurzua
parents:
diff changeset
35 * <p>
jurzua
parents:
diff changeset
36 * An instance of this class will be created for you automatically, the first
jurzua
parents:
diff changeset
37 * time your application evaluates a value binding expression or method binding
jurzua
parents:
diff changeset
38 * expression that references a managed bean using this class.
jurzua
parents:
diff changeset
39 * </p>
jurzua
parents:
diff changeset
40 *
jurzua
parents:
diff changeset
41 * @version ApplicationBean1.java
jurzua
parents:
diff changeset
42 * @version Created on 23.06.2009, 10:58:17
jurzua
parents:
diff changeset
43 * @author jurzua
jurzua
parents:
diff changeset
44 */
jurzua
parents:
diff changeset
45
jurzua
parents:
diff changeset
46 public class ApplicationBean implements Serializable{
jurzua
parents:
diff changeset
47
jurzua
parents:
diff changeset
48 private static final long serialVersionUID = 804932192506497432L;
jurzua
parents:
diff changeset
49
jurzua
parents:
diff changeset
50 private static Logger logger = Logger.getLogger(ApplicationBean.class);
jurzua
parents:
diff changeset
51
jurzua
parents:
diff changeset
52 public static String urlISMIExportServiceAuthors =
56
ce1cd2450848 change title list export service url. remove biographies menu.
casties
parents: 14
diff changeset
53 "https://ismi-dev.mpiwg-berlin.mpg.de/zope-ismi/database/export/authorsTitlesWitness";
1
jurzua
parents:
diff changeset
54
jurzua
parents:
diff changeset
55 public static String urlISMIExportServiceTitles =
56
ce1cd2450848 change title list export service url. remove biographies menu.
casties
parents: 14
diff changeset
56 "https://ismi-dev.mpiwg-berlin.mpg.de/zope-ismi/database/export/titlesWitnesses";
1
jurzua
parents:
diff changeset
57
jurzua
parents:
diff changeset
58 private BiographyBean biographyBean;
jurzua
parents:
diff changeset
59
jurzua
parents:
diff changeset
60 private PublicCodexList publicCodexList;
jurzua
parents:
diff changeset
61
jurzua
parents:
diff changeset
62 public static String generateExportURL(String urlRoot, List<Long> list, String mode){
jurzua
parents:
diff changeset
63 StringBuilder sb = new StringBuilder(urlRoot);
jurzua
parents:
diff changeset
64
jurzua
parents:
diff changeset
65 sb.append("?ids=" + generateIdList(list));
jurzua
parents:
diff changeset
66
jurzua
parents:
diff changeset
67 if(StringUtils.isNotEmpty(mode)){
jurzua
parents:
diff changeset
68 sb.append("&mode=" + mode);
jurzua
parents:
diff changeset
69 }
jurzua
parents:
diff changeset
70
jurzua
parents:
diff changeset
71 return sb.toString();
jurzua
parents:
diff changeset
72 }
jurzua
parents:
diff changeset
73
jurzua
parents:
diff changeset
74 public static String generateIdList(List<Long> list){
jurzua
parents:
diff changeset
75 StringBuilder sb = new StringBuilder();
jurzua
parents:
diff changeset
76
jurzua
parents:
diff changeset
77 int count = 0;
jurzua
parents:
diff changeset
78 for(Long id : list){
jurzua
parents:
diff changeset
79
jurzua
parents:
diff changeset
80 if(count>0){
jurzua
parents:
diff changeset
81 sb.append("%7C");
jurzua
parents:
diff changeset
82 }
jurzua
parents:
diff changeset
83 sb.append(id);
jurzua
parents:
diff changeset
84 count++;
jurzua
parents:
diff changeset
85 }
jurzua
parents:
diff changeset
86 return sb.toString();
jurzua
parents:
diff changeset
87 }
jurzua
parents:
diff changeset
88
jurzua
parents:
diff changeset
89 public static String generateExportURL(String urlRoot, String idList, String mode){
jurzua
parents:
diff changeset
90 StringBuilder sb = new StringBuilder(urlRoot);
jurzua
parents:
diff changeset
91
jurzua
parents:
diff changeset
92 sb.append("?ids=" + idList);
jurzua
parents:
diff changeset
93 if(StringUtils.isNotEmpty(mode)){
jurzua
parents:
diff changeset
94 sb.append("&mode=" + mode);
jurzua
parents:
diff changeset
95 }
jurzua
parents:
diff changeset
96
jurzua
parents:
diff changeset
97 return sb.toString();
jurzua
parents:
diff changeset
98 }
jurzua
parents:
diff changeset
99
jurzua
parents:
diff changeset
100
jurzua
parents:
diff changeset
101 public static String generateExportURL(String urlRoot, Long id, String mode){
jurzua
parents:
diff changeset
102 StringBuilder sb = new StringBuilder(urlRoot);
jurzua
parents:
diff changeset
103
jurzua
parents:
diff changeset
104 sb.append("?ids=" + id);
jurzua
parents:
diff changeset
105 if(StringUtils.isNotEmpty(mode)){
jurzua
parents:
diff changeset
106 sb.append("&mode=" + mode);
jurzua
parents:
diff changeset
107 }
jurzua
parents:
diff changeset
108
jurzua
parents:
diff changeset
109 return sb.toString();
jurzua
parents:
diff changeset
110 }
jurzua
parents:
diff changeset
111
157
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
112 /**
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
113 * Returns a URL to the configured QueryBrowser webapp with the query set to the given id.
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
114 *
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
115 * @param id
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
116 * @return
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
117 */
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
118 public String generateQueryBrowserUrlForId(Long id) {
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
119 String baseUrl = this.getConfService().getQueryBrowserUrl();
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
120 // generate id_is query for id
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
121 String query = String.format("[[\"id_is\",{\"value\":%d}]]", id);
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
122 try {
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
123 // encode URL and base64
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
124 String encquery = URLEncoder.encode(query, StandardCharsets.UTF_8.toString());
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
125 String b64query = Base64.encodeBase64String(encquery.getBytes());
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
126 String url = baseUrl + "#" + b64query;
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
127 return url;
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
128 } catch (UnsupportedEncodingException e) {
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
129 // this shouldn't happen
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
130 logger.error(e);
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
131 }
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
132 return null;
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
133 }
2522985f44af add "query builder" button to entityDetails form.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 145
diff changeset
134
1
jurzua
parents:
diff changeset
135 public static String CURRENT_WITNESS = "CurrentWitness";
jurzua
parents:
diff changeset
136 public static String CURRENT_CODEX = "CurrentCodex";
jurzua
parents:
diff changeset
137 public static String CURRENT_TEXT = "CurrentText";
jurzua
parents:
diff changeset
138 public static String CURRENT_PERSON = "CurrentPerson";
jurzua
parents:
diff changeset
139 public static String CURRENT_ALIAS = "CurrentAlias";
jurzua
parents:
diff changeset
140 public static String CURRENT_COLLECTION = "CurrentCollection";
jurzua
parents:
diff changeset
141 public static String CURRENT_REPOSITORY = "CurrentRepository";
jurzua
parents:
diff changeset
142 public static String CURRENT_CITY = "CurrentCity";
jurzua
parents:
diff changeset
143 public static String CURRENT_SUBJECT = "CurrentSubject";
jurzua
parents:
diff changeset
144 public static String CURRENT_ROLE = "CurrentRole";
jurzua
parents:
diff changeset
145 public static String CURRENT_DIGI = "CurrentDigi";
jurzua
parents:
diff changeset
146
jurzua
parents:
diff changeset
147 private transient SimpleSearchCache simpleSearchCache;
jurzua
parents:
diff changeset
148 ServiceRegistry serviceRegistry = null;
jurzua
parents:
diff changeset
149
jurzua
parents:
diff changeset
150
jurzua
parents:
diff changeset
151 private List<SelectItem> roleList = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
152 private List<Entity> entityRoleList = new ArrayList<Entity>();
jurzua
parents:
diff changeset
153 private boolean roleListDirty = true;
jurzua
parents:
diff changeset
154
jurzua
parents:
diff changeset
155 private static List<SelectItem> yes_no = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
156 private static List<SelectItem> roles = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
157
jurzua
parents:
diff changeset
158 private static List<SelectItem> suggestedStatus = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
159 private static List<SelectItem> suggestedBindings = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
160 private static List<SelectItem> writingSurfaces = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
161 private static List<SelectItem> pageLayout = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
162 private static List<SelectItem> scripts = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
163 private static List<SelectItem> sourcesOfInformation = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
164 private static List<SelectItem> suggestedLanguages = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
165 private static List<SelectItem> suggestedBoolean = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
166
jurzua
parents:
diff changeset
167
jurzua
parents:
diff changeset
168 public static String STATUS_NEED_VERIFICATION = "needs verification";
jurzua
parents:
diff changeset
169 public static String STATUS_VERIFIED_BY_CATALOGUE = "verified by catalogue";
jurzua
parents:
diff changeset
170 public static String STATUS_VERIFIED_BY_WITNESS = "verified by witness";
jurzua
parents:
diff changeset
171 public static String STATUS_NOT_CHECKED = "not checked";
jurzua
parents:
diff changeset
172
jurzua
parents:
diff changeset
173 public static String FORMATED_DATE = "formatted date";
jurzua
parents:
diff changeset
174 public static String PLAIN_DATE = "plain date";
jurzua
parents:
diff changeset
175 private static List<SelectItem> dateTypes = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
176
jurzua
parents:
diff changeset
177 private List<SelectItem> suggestedSubjects = null;
jurzua
parents:
diff changeset
178
jurzua
parents:
diff changeset
179 public void resetSuggestedSubjects(){
jurzua
parents:
diff changeset
180 this.suggestedSubjects = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
181 this.suggestedSubjects.add(new SelectItem(null, "-- choose --"));
jurzua
parents:
diff changeset
182
jurzua
parents:
diff changeset
183 List<Entity> cats = getWrapper().getEntitiesByAtt("SUBJECT", "type", "main_subject", -1, false);
jurzua
parents:
diff changeset
184
jurzua
parents:
diff changeset
185 for(Entity cat : cats){
jurzua
parents:
diff changeset
186 SelectItem item = new SelectItem(cat.getId(), cat.getOwnValue());
jurzua
parents:
diff changeset
187
jurzua
parents:
diff changeset
188 item.setStyle("font-weight: bold; padding-left: 0px; font-size: 14;");
jurzua
parents:
diff changeset
189 this.suggestedSubjects.add(item);
jurzua
parents:
diff changeset
190 List<Entity> subCats = getWrapper().getSourcesForTargetRelation(cat, "is_part_of", "SUBJECT", -1);
jurzua
parents:
diff changeset
191 for(Entity subCat : subCats){
jurzua
parents:
diff changeset
192
jurzua
parents:
diff changeset
193 item = new SelectItem(subCat.getId(), subCat.getOwnValue());
jurzua
parents:
diff changeset
194 item.setStyle("padding-left: 10px; font-size: 12;");
jurzua
parents:
diff changeset
195 this.suggestedSubjects.add(item);
jurzua
parents:
diff changeset
196
jurzua
parents:
diff changeset
197 List<Entity> subsubCats = getWrapper().getSourcesForTargetRelation(subCat, "is_part_of", "SUBJECT", -1);
jurzua
parents:
diff changeset
198 for(Entity subsubCat : subsubCats){
jurzua
parents:
diff changeset
199 if(subsubCat != null){
jurzua
parents:
diff changeset
200 item = new SelectItem(subsubCat.getId(), subsubCat.getOwnValue());
jurzua
parents:
diff changeset
201
jurzua
parents:
diff changeset
202 this.suggestedSubjects.add(item);
jurzua
parents:
diff changeset
203
jurzua
parents:
diff changeset
204 }else{
119
4aa8c425685d less System.out.println.
casties
parents: 94
diff changeset
205 logger.debug("error in resetSuggestedSubjects: main="+cat+" sub="+subCat);
4aa8c425685d less System.out.println.
casties
parents: 94
diff changeset
206 //System.out.println("####################ERROR####################");
4aa8c425685d less System.out.println.
casties
parents: 94
diff changeset
207 //System.out.println("resetSuggestedSubjects");
4aa8c425685d less System.out.println.
casties
parents: 94
diff changeset
208 //System.out.println(" main: " + cat);
4aa8c425685d less System.out.println.
casties
parents: 94
diff changeset
209 //System.out.println(" sub: " + subCat);
1
jurzua
parents:
diff changeset
210 }
jurzua
parents:
diff changeset
211 }
jurzua
parents:
diff changeset
212 }
jurzua
parents:
diff changeset
213 }
jurzua
parents:
diff changeset
214 }
jurzua
parents:
diff changeset
215
jurzua
parents:
diff changeset
216 public List<SelectItem> getSuggestedSubjects() {
jurzua
parents:
diff changeset
217 if(suggestedSubjects == null){
jurzua
parents:
diff changeset
218 this.resetSuggestedSubjects();
jurzua
parents:
diff changeset
219 }
jurzua
parents:
diff changeset
220 return suggestedSubjects;
jurzua
parents:
diff changeset
221 }
jurzua
parents:
diff changeset
222
jurzua
parents:
diff changeset
223 public void setSuggestedSubjects(List<SelectItem> suggestedSubjects) {
jurzua
parents:
diff changeset
224 this.suggestedSubjects = suggestedSubjects;
jurzua
parents:
diff changeset
225 }
jurzua
parents:
diff changeset
226
jurzua
parents:
diff changeset
227 static{
jurzua
parents:
diff changeset
228
jurzua
parents:
diff changeset
229 dateTypes.add(new SelectItem(FORMATED_DATE));
jurzua
parents:
diff changeset
230 dateTypes.add(new SelectItem(PLAIN_DATE));
jurzua
parents:
diff changeset
231
jurzua
parents:
diff changeset
232 String[] status = new String[]{"needs verification", "verified by catalogue", "verified by witness"};
jurzua
parents:
diff changeset
233 Arrays.sort(status);
jurzua
parents:
diff changeset
234
jurzua
parents:
diff changeset
235 suggestedStatus.add(new SelectItem("", STATUS_NOT_CHECKED));
jurzua
parents:
diff changeset
236 for(int i=0; i< status.length; i++){
jurzua
parents:
diff changeset
237 suggestedStatus.add(new SelectItem(status[i]));
jurzua
parents:
diff changeset
238 }
jurzua
parents:
diff changeset
239
jurzua
parents:
diff changeset
240 String[] binding = new String[]{"cardboard", "leather with flap", "leather without flap"};
jurzua
parents:
diff changeset
241 Arrays.sort(binding);
jurzua
parents:
diff changeset
242
jurzua
parents:
diff changeset
243 suggestedBindings.add(new SelectItem("", "-- choose --"));
jurzua
parents:
diff changeset
244 for(int i=0; i< binding.length; i++){
jurzua
parents:
diff changeset
245 suggestedBindings.add(new SelectItem(binding[i]));
jurzua
parents:
diff changeset
246 }
jurzua
parents:
diff changeset
247
jurzua
parents:
diff changeset
248
jurzua
parents:
diff changeset
249 String[] langs = new String[] { "Arabic", "Persian-Farsi",
jurzua
parents:
diff changeset
250 "Greek-classical", "Hebrew", "Latin", "Syriac", "Armenian",
jurzua
parents:
diff changeset
251 "Castillian", "Catalan", "Chinese", "French", "German",
jurzua
parents:
diff changeset
252 "Greek-Byzantine", "Hindi", "Italian", "Mongolian",
jurzua
parents:
diff changeset
253 "Persian-Old", "Persian-Middle", "Russian", "Sanskrit",
jurzua
parents:
diff changeset
254 "Turkish (Ottoman pre-1839)", "Turkish (Ottoman 1839-)",
jurzua
parents:
diff changeset
255 "Turkish (pre-Ottoman)", "Turkish-Republican", "Urdu", "Uighur" };
jurzua
parents:
diff changeset
256 Arrays.sort(langs);
jurzua
parents:
diff changeset
257
jurzua
parents:
diff changeset
258 suggestedLanguages.add(new SelectItem("", "-- choose --"));
jurzua
parents:
diff changeset
259 for(int i = 0; i < langs.length; i++){
jurzua
parents:
diff changeset
260 suggestedLanguages.add(new SelectItem(langs[i]));
jurzua
parents:
diff changeset
261 }
jurzua
parents:
diff changeset
262
jurzua
parents:
diff changeset
263 yes_no.add(new SelectItem("", "-- choose --"));
jurzua
parents:
diff changeset
264 yes_no.add(new SelectItem("yes"));
jurzua
parents:
diff changeset
265 yes_no.add(new SelectItem("no"));
jurzua
parents:
diff changeset
266
jurzua
parents:
diff changeset
267 suggestedBoolean.add(new SelectItem("", "-- choose --"));
jurzua
parents:
diff changeset
268 suggestedBoolean.add(new SelectItem("true"));
jurzua
parents:
diff changeset
269 suggestedBoolean.add(new SelectItem("false"));
jurzua
parents:
diff changeset
270
jurzua
parents:
diff changeset
271 roles.add(new SelectItem("", "-- choose --"));
jurzua
parents:
diff changeset
272 roles.add(new SelectItem("annotator"));
jurzua
parents:
diff changeset
273 roles.add(new SelectItem("author"));
jurzua
parents:
diff changeset
274 roles.add(new SelectItem("copyist"));
jurzua
parents:
diff changeset
275 roles.add(new SelectItem("illuminator"));
jurzua
parents:
diff changeset
276 roles.add(new SelectItem("illustrator"));
jurzua
parents:
diff changeset
277 roles.add(new SelectItem("owner"));
jurzua
parents:
diff changeset
278 roles.add(new SelectItem("patron"));
jurzua
parents:
diff changeset
279 roles.add(new SelectItem("reader"));
jurzua
parents:
diff changeset
280 roles.add(new SelectItem("student"));
jurzua
parents:
diff changeset
281 roles.add(new SelectItem("teacher"));
jurzua
parents:
diff changeset
282 roles.add(new SelectItem("translator"));
jurzua
parents:
diff changeset
283
jurzua
parents:
diff changeset
284 writingSurfaces.add(new SelectItem("", "-- choose --"));
jurzua
parents:
diff changeset
285 writingSurfaces.add(new SelectItem("HARD", "HARD"));
jurzua
parents:
diff changeset
286 writingSurfaces.add(new SelectItem("marble", "&nbsp;&nbsp;marble"));
jurzua
parents:
diff changeset
287 writingSurfaces.add(new SelectItem("metal instrument", "&nbsp;&nbsp;metal instrument"));
jurzua
parents:
diff changeset
288 writingSurfaces.add(new SelectItem("stone", "&nbsp;&nbsp;stone"));
jurzua
parents:
diff changeset
289 writingSurfaces.add(new SelectItem("SOFT", "SOFT"));
jurzua
parents:
diff changeset
290 writingSurfaces.add(new SelectItem("paper", "&nbsp;&nbsp;paper"));
jurzua
parents:
diff changeset
291 writingSurfaces.add(new SelectItem("papyrus", "&nbsp;&nbsp;papyrus"));
jurzua
parents:
diff changeset
292 writingSurfaces.add(new SelectItem("parchment", "&nbsp;&nbsp;parchment"));
jurzua
parents:
diff changeset
293
jurzua
parents:
diff changeset
294 pageLayout.add(new SelectItem("", "-- choose --"));
jurzua
parents:
diff changeset
295 pageLayout.add(new SelectItem("Frame-ruled"));
jurzua
parents:
diff changeset
296 pageLayout.add(new SelectItem("Paper"));
jurzua
parents:
diff changeset
297
jurzua
parents:
diff changeset
298 scripts.add(new SelectItem("", "-- choose --"));
jurzua
parents:
diff changeset
299 scripts.add(new SelectItem("Maghribi"));
jurzua
parents:
diff changeset
300 scripts.add(new SelectItem("Naskh"));
jurzua
parents:
diff changeset
301 scripts.add(new SelectItem("Nasta'liq"));
jurzua
parents:
diff changeset
302 scripts.add(new SelectItem("Riqa'"));
jurzua
parents:
diff changeset
303 scripts.add(new SelectItem("Ruq'ah"));
jurzua
parents:
diff changeset
304 scripts.add(new SelectItem("Shikastah"));
jurzua
parents:
diff changeset
305 scripts.add(new SelectItem("Sudani"));
jurzua
parents:
diff changeset
306 scripts.add(new SelectItem("Ta'liq"));
jurzua
parents:
diff changeset
307 scripts.add(new SelectItem("Tawqi'"));
jurzua
parents:
diff changeset
308 scripts.add(new SelectItem("Other-see Notes"));
jurzua
parents:
diff changeset
309
jurzua
parents:
diff changeset
310
jurzua
parents:
diff changeset
311 sourcesOfInformation.add(new SelectItem("", "-- choose --"));
jurzua
parents:
diff changeset
312 sourcesOfInformation.add(new SelectItem("Actual Witness"));
jurzua
parents:
diff changeset
313 sourcesOfInformation.add(new SelectItem("Microfilm"));
jurzua
parents:
diff changeset
314 sourcesOfInformation.add(new SelectItem("Digital Form (DVD/CD)"));
jurzua
parents:
diff changeset
315 sourcesOfInformation.add(new SelectItem("Catalogue (Give Full Citation In Notes)"));
jurzua
parents:
diff changeset
316 }
jurzua
parents:
diff changeset
317
jurzua
parents:
diff changeset
318 public SearchService getSS() {
jurzua
parents:
diff changeset
319 return serviceRegistry.getSearchService();
jurzua
parents:
diff changeset
320 }
jurzua
parents:
diff changeset
321
jurzua
parents:
diff changeset
322 public WrapperService getWrapper() {
jurzua
parents:
diff changeset
323 return serviceRegistry.getWrapper();
jurzua
parents:
diff changeset
324 }
jurzua
parents:
diff changeset
325
jurzua
parents:
diff changeset
326 public SecurityService getSecurityService() {
jurzua
parents:
diff changeset
327 return serviceRegistry.getSecurityService();
jurzua
parents:
diff changeset
328 }
jurzua
parents:
diff changeset
329
jurzua
parents:
diff changeset
330 public ConfigurationService getConfService(){
jurzua
parents:
diff changeset
331 return serviceRegistry.getConfigurationService();
jurzua
parents:
diff changeset
332 }
jurzua
parents:
diff changeset
333
jurzua
parents:
diff changeset
334 /**
jurzua
parents:
diff changeset
335 * <p>
jurzua
parents:
diff changeset
336 * Construct a new application data bean instance.
jurzua
parents:
diff changeset
337 * </p>
jurzua
parents:
diff changeset
338 */
jurzua
parents:
diff changeset
339 public ApplicationBean() {
jurzua
parents:
diff changeset
340 logger.info("Initialize ApplicationBean1");
jurzua
parents:
diff changeset
341 this.serviceRegistry = new ServiceRegistry();
jurzua
parents:
diff changeset
342 this.simpleSearchCache = new SimpleSearchCache(serviceRegistry);
jurzua
parents:
diff changeset
343 }
jurzua
parents:
diff changeset
344
jurzua
parents:
diff changeset
345 public List<SelectItem> getYes_no() {
jurzua
parents:
diff changeset
346 return yes_no;
jurzua
parents:
diff changeset
347 }
jurzua
parents:
diff changeset
348
jurzua
parents:
diff changeset
349 public List<SelectItem> getRoles() {
jurzua
parents:
diff changeset
350 return roles;
jurzua
parents:
diff changeset
351 }
jurzua
parents:
diff changeset
352
jurzua
parents:
diff changeset
353 public List<SelectItem> getWritingSurfaces(){
jurzua
parents:
diff changeset
354 return writingSurfaces;
jurzua
parents:
diff changeset
355 }
jurzua
parents:
diff changeset
356
jurzua
parents:
diff changeset
357 public List<SelectItem> getPageLayout(){
jurzua
parents:
diff changeset
358 return pageLayout;
jurzua
parents:
diff changeset
359 }
jurzua
parents:
diff changeset
360
jurzua
parents:
diff changeset
361 public List<SelectItem> getScripts(){
jurzua
parents:
diff changeset
362 return scripts;
jurzua
parents:
diff changeset
363 }
jurzua
parents:
diff changeset
364
jurzua
parents:
diff changeset
365 public List<SelectItem> getSuggestedStatus(){
jurzua
parents:
diff changeset
366 return suggestedStatus;
jurzua
parents:
diff changeset
367 }
jurzua
parents:
diff changeset
368
jurzua
parents:
diff changeset
369 public List<SelectItem> getSuggestedBindings(){
jurzua
parents:
diff changeset
370 return suggestedBindings;
jurzua
parents:
diff changeset
371 }
jurzua
parents:
diff changeset
372
jurzua
parents:
diff changeset
373 public List<SelectItem> getSourcesOfInformation(){
jurzua
parents:
diff changeset
374 return sourcesOfInformation;
jurzua
parents:
diff changeset
375 }
jurzua
parents:
diff changeset
376
jurzua
parents:
diff changeset
377 public List<SelectItem> getSuggestedLanguages(){
jurzua
parents:
diff changeset
378 return suggestedLanguages;
jurzua
parents:
diff changeset
379 }
jurzua
parents:
diff changeset
380
jurzua
parents:
diff changeset
381 public List<SelectItem> getSuggestedBoolean(){
jurzua
parents:
diff changeset
382 return suggestedBoolean;
jurzua
parents:
diff changeset
383 }
jurzua
parents:
diff changeset
384
jurzua
parents:
diff changeset
385 public List<SelectItem> getDateTypes(){
jurzua
parents:
diff changeset
386 return dateTypes;
jurzua
parents:
diff changeset
387 }
jurzua
parents:
diff changeset
388
jurzua
parents:
diff changeset
389 public SimpleSearchCache getSimpleSearchCache() {
jurzua
parents:
diff changeset
390 return simpleSearchCache;
jurzua
parents:
diff changeset
391 }
jurzua
parents:
diff changeset
392
jurzua
parents:
diff changeset
393 public void setSimpleSearchCache(SimpleSearchCache simpleSearchCache) {
jurzua
parents:
diff changeset
394 this.simpleSearchCache = simpleSearchCache;
jurzua
parents:
diff changeset
395 }
jurzua
parents:
diff changeset
396
jurzua
parents:
diff changeset
397 public void setRoleListAsDirty(){
jurzua
parents:
diff changeset
398 this.roleListDirty = true;
jurzua
parents:
diff changeset
399 }
jurzua
parents:
diff changeset
400
jurzua
parents:
diff changeset
401 public String getRoot(){
jurzua
parents:
diff changeset
402 return FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath();
jurzua
parents:
diff changeset
403 }
jurzua
parents:
diff changeset
404
jurzua
parents:
diff changeset
405 public List<SelectItem> getRoleList(){
jurzua
parents:
diff changeset
406 if(roleListDirty){
jurzua
parents:
diff changeset
407 this.roleList = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
408 this.entityRoleList = getWrapper().getEntitiesByDef("ROLE");
jurzua
parents:
diff changeset
409 for(Entity e : this.entityRoleList){
jurzua
parents:
diff changeset
410 this.roleList.add(new SelectItem(e.getId(), e.getOwnValue()));
jurzua
parents:
diff changeset
411 }
jurzua
parents:
diff changeset
412 this.roleListDirty = false;
jurzua
parents:
diff changeset
413 }
jurzua
parents:
diff changeset
414
jurzua
parents:
diff changeset
415 return this.roleList;
jurzua
parents:
diff changeset
416 }
jurzua
parents:
diff changeset
417
jurzua
parents:
diff changeset
418 public String getEditImage(){
jurzua
parents:
diff changeset
419 return "/resources/images/system/edit_20.png";
jurzua
parents:
diff changeset
420 }
jurzua
parents:
diff changeset
421
jurzua
parents:
diff changeset
422 public String getImgEdit16(){
jurzua
parents:
diff changeset
423 return "/resources/images/system/edit_16.png";
jurzua
parents:
diff changeset
424 }
jurzua
parents:
diff changeset
425
jurzua
parents:
diff changeset
426 public String getImgEdit32(){
jurzua
parents:
diff changeset
427 return "/resources/images/system/edit_32.png";
jurzua
parents:
diff changeset
428 }
jurzua
parents:
diff changeset
429
jurzua
parents:
diff changeset
430 public String getImgRemove16(){
jurzua
parents:
diff changeset
431 return "/resources/images/system/remove_16.png";
jurzua
parents:
diff changeset
432 }
jurzua
parents:
diff changeset
433
jurzua
parents:
diff changeset
434 public String getImgRemove32(){
jurzua
parents:
diff changeset
435 return "/resources/images/system/remove_32.png";
jurzua
parents:
diff changeset
436 }
jurzua
parents:
diff changeset
437
jurzua
parents:
diff changeset
438 public String getImgVersions16(){
jurzua
parents:
diff changeset
439 return "/resources/images/system/versions_16.png";
jurzua
parents:
diff changeset
440 }
jurzua
parents:
diff changeset
441
jurzua
parents:
diff changeset
442 public String getImgVersions32(){
jurzua
parents:
diff changeset
443 return "/resources/images/system/versions_32.png";
jurzua
parents:
diff changeset
444 }
jurzua
parents:
diff changeset
445
jurzua
parents:
diff changeset
446 public String getImgSave16(){
jurzua
parents:
diff changeset
447 return "/resources/images/system/save_16.png";
jurzua
parents:
diff changeset
448 }
jurzua
parents:
diff changeset
449
jurzua
parents:
diff changeset
450 public String getImgSave32(){
jurzua
parents:
diff changeset
451 return "/resources/images/system/save_32.png";
jurzua
parents:
diff changeset
452 }
jurzua
parents:
diff changeset
453
jurzua
parents:
diff changeset
454 public String getImgClean16(){
jurzua
parents:
diff changeset
455 return "/resources/images/system/clean_16.png";
jurzua
parents:
diff changeset
456 }
jurzua
parents:
diff changeset
457
jurzua
parents:
diff changeset
458 public String getImgClean32(){
jurzua
parents:
diff changeset
459 return "/resources/images/system/clean_32.png";
jurzua
parents:
diff changeset
460 }
jurzua
parents:
diff changeset
461
jurzua
parents:
diff changeset
462 public String getImgNew16(){
jurzua
parents:
diff changeset
463 return "/resources/images/system/new_16.png";
jurzua
parents:
diff changeset
464 }
jurzua
parents:
diff changeset
465
jurzua
parents:
diff changeset
466 public String getImgNew32(){
jurzua
parents:
diff changeset
467 return "/resources/images/system/new_32.png";
jurzua
parents:
diff changeset
468 }
jurzua
parents:
diff changeset
469
jurzua
parents:
diff changeset
470 public String getImgSeach16(){
jurzua
parents:
diff changeset
471 return "/resources/images/system/search_16.png";
jurzua
parents:
diff changeset
472 }
jurzua
parents:
diff changeset
473
jurzua
parents:
diff changeset
474 public String getImgSearch32(){
jurzua
parents:
diff changeset
475 return "/resources/images/system/search_32.png";
jurzua
parents:
diff changeset
476 }
jurzua
parents:
diff changeset
477
jurzua
parents:
diff changeset
478 public String getDisplayImage(){
jurzua
parents:
diff changeset
479 return "/resources/images/display_32.png";
jurzua
parents:
diff changeset
480 }
jurzua
parents:
diff changeset
481
jurzua
parents:
diff changeset
482 public String getWorldImage(){
jurzua
parents:
diff changeset
483 return "/resources/images/icy_earth_32.png";
jurzua
parents:
diff changeset
484 }
jurzua
parents:
diff changeset
485
jurzua
parents:
diff changeset
486 public String getBookImage(){
jurzua
parents:
diff changeset
487 return "/resources/images/book_32.png";
jurzua
parents:
diff changeset
488 }
jurzua
parents:
diff changeset
489
jurzua
parents:
diff changeset
490 public String getSearchImage(){
jurzua
parents:
diff changeset
491 return "/resources/images/search_32.png";
jurzua
parents:
diff changeset
492 }
jurzua
parents:
diff changeset
493
jurzua
parents:
diff changeset
494 public String getImgNetwork32(){
jurzua
parents:
diff changeset
495 return "/resources/images/network_32.png";
jurzua
parents:
diff changeset
496 }
jurzua
parents:
diff changeset
497
jurzua
parents:
diff changeset
498 public String getImgPerson32(){
jurzua
parents:
diff changeset
499 return "/resources/images/person_32.png";
jurzua
parents:
diff changeset
500 }
jurzua
parents:
diff changeset
501
jurzua
parents:
diff changeset
502
jurzua
parents:
diff changeset
503 public String getImgDown32(){
jurzua
parents:
diff changeset
504 return "/resources/images/down_32.png";
jurzua
parents:
diff changeset
505 }
jurzua
parents:
diff changeset
506
jurzua
parents:
diff changeset
507 public String getImgUp32(){
jurzua
parents:
diff changeset
508 return "/resources/images/up_32.png";
jurzua
parents:
diff changeset
509 }
jurzua
parents:
diff changeset
510
jurzua
parents:
diff changeset
511 ///****
jurzua
parents:
diff changeset
512 //private List<Entity> texts;
jurzua
parents:
diff changeset
513 private List<SelectItem> textsSelectItems;
jurzua
parents:
diff changeset
514 private boolean dirty = false;
jurzua
parents:
diff changeset
515
jurzua
parents:
diff changeset
516 private void updateListAllTexts(){
jurzua
parents:
diff changeset
517 textsSelectItems = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
518 for (Entity text : getWrapper().getEntitiesByDef("TEXT")){
jurzua
parents:
diff changeset
519 textsSelectItems.add(new SelectItem(text.getId(), text.getOwnValue() + " [" +text.getId()+ "]"));
jurzua
parents:
diff changeset
520 }
jurzua
parents:
diff changeset
521 }
jurzua
parents:
diff changeset
522
jurzua
parents:
diff changeset
523 public List<SelectItem> getAllTexts() {
jurzua
parents:
diff changeset
524 if(this.dirty || textsSelectItems == null){
jurzua
parents:
diff changeset
525 this.updateListAllTexts();
jurzua
parents:
diff changeset
526 this.dirty = false;
jurzua
parents:
diff changeset
527 }
jurzua
parents:
diff changeset
528 return textsSelectItems;
jurzua
parents:
diff changeset
529 }
jurzua
parents:
diff changeset
530
jurzua
parents:
diff changeset
531 public void setAllTextsAsDirty(){
jurzua
parents:
diff changeset
532 this.dirty = true;
jurzua
parents:
diff changeset
533 }
jurzua
parents:
diff changeset
534
jurzua
parents:
diff changeset
535 public String getJSConfirmationSave(){
jurzua
parents:
diff changeset
536 return "if(!confirm('Do you really want to save the changes?')){ return false; };";
jurzua
parents:
diff changeset
537 }
jurzua
parents:
diff changeset
538
jurzua
parents:
diff changeset
539 public String getJSConfirmationLogout(){
jurzua
parents:
diff changeset
540 return "if(!confirm('Do you really want to end your session?')){ return false; };";
jurzua
parents:
diff changeset
541 }
jurzua
parents:
diff changeset
542
jurzua
parents:
diff changeset
543 public String getJSConfirmationDelete(){
jurzua
parents:
diff changeset
544 return "if(!confirm('Do you really want to delete this?')){ return false; };";
jurzua
parents:
diff changeset
545 }
jurzua
parents:
diff changeset
546
jurzua
parents:
diff changeset
547 public String getJSConfirmationSaveAsNew(){
jurzua
parents:
diff changeset
548 return "if(!confirm('Do you really want to save the entity as new?')){ return false;};";
jurzua
parents:
diff changeset
549 }
jurzua
parents:
diff changeset
550
jurzua
parents:
diff changeset
551 public String getJSConfirmationMerge(){
jurzua
parents:
diff changeset
552 return "if(!confirm('Do you really want to merge these entities?')){ return false;};";
jurzua
parents:
diff changeset
553 }
jurzua
parents:
diff changeset
554
jurzua
parents:
diff changeset
555 public String getJSConfirmationCleanForm(){
jurzua
parents:
diff changeset
556 return "if(!confirm('Do you really want to clear the form?')){ return false;};";
jurzua
parents:
diff changeset
557 }
jurzua
parents:
diff changeset
558
jurzua
parents:
diff changeset
559 public String getContextRoot(){
jurzua
parents:
diff changeset
560
jurzua
parents:
diff changeset
561 HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
jurzua
parents:
diff changeset
562
jurzua
parents:
diff changeset
563
jurzua
parents:
diff changeset
564
jurzua
parents:
diff changeset
565 String port = (StringUtils.equals(request.getLocalPort() + "", "80")) ? "" : (":" + request.getLocalPort());
jurzua
parents:
diff changeset
566 String path = request.getScheme() + "://" + request.getLocalName() + port + request.getContextPath();
jurzua
parents:
diff changeset
567
jurzua
parents:
diff changeset
568 return path;
jurzua
parents:
diff changeset
569 }
jurzua
parents:
diff changeset
570
jurzua
parents:
diff changeset
571 public BiographyBean getBiographyBean(){
jurzua
parents:
diff changeset
572 if(biographyBean == null)
jurzua
parents:
diff changeset
573 this.biographyBean = new BiographyBean();
jurzua
parents:
diff changeset
574 return this.biographyBean;
jurzua
parents:
diff changeset
575 }
jurzua
parents:
diff changeset
576
jurzua
parents:
diff changeset
577 public PublicCodexList getPublicCodexList(){
jurzua
parents:
diff changeset
578 if(publicCodexList == null){
jurzua
parents:
diff changeset
579 publicCodexList = new PublicCodexList();
jurzua
parents:
diff changeset
580 }
jurzua
parents:
diff changeset
581 return publicCodexList;
jurzua
parents:
diff changeset
582 }
94
d2cee1040062 new servlet lifecycle listener to shut down Spring ApplicationBean.
casties
parents: 60
diff changeset
583
d2cee1040062 new servlet lifecycle listener to shut down Spring ApplicationBean.
casties
parents: 60
diff changeset
584 public ServiceRegistry getServiceRegistry() {
d2cee1040062 new servlet lifecycle listener to shut down Spring ApplicationBean.
casties
parents: 60
diff changeset
585 return this.serviceRegistry;
d2cee1040062 new servlet lifecycle listener to shut down Spring ApplicationBean.
casties
parents: 60
diff changeset
586 }
1
jurzua
parents:
diff changeset
587 }