annotate src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentWitnessBean.java @ 111:22a18bfc66b0

new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
author casties
date Fri, 09 Dec 2016 21:18:27 +0100
parents 2e911857a759
children 59f26a5ef2b3
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;
jurzua
parents:
diff changeset
4 import java.util.ArrayList;
jurzua
parents:
diff changeset
5 import java.util.List;
jurzua
parents:
diff changeset
6
jurzua
parents:
diff changeset
7 import javax.faces.component.UIComponent;
jurzua
parents:
diff changeset
8 import javax.faces.event.ActionEvent;
jurzua
parents:
diff changeset
9 import javax.faces.event.ValueChangeEvent;
jurzua
parents:
diff changeset
10 import javax.faces.model.SelectItem;
jurzua
parents:
diff changeset
11
jurzua
parents:
diff changeset
12 import org.apache.commons.lang.StringUtils;
jurzua
parents:
diff changeset
13 import org.apache.log4j.Logger;
jurzua
parents:
diff changeset
14 import org.mpi.openmind.repository.bo.Attribute;
jurzua
parents:
diff changeset
15 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
16 import org.mpi.openmind.repository.bo.Node;
jurzua
parents:
diff changeset
17 import org.mpi.openmind.repository.bo.Relation;
jurzua
parents:
diff changeset
18 import org.mpi.openmind.security.bo.User;
jurzua
parents:
diff changeset
19
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
20 import de.mpiwg.itgroup.ismi.auxObjects.AliasListenerObject;
1
jurzua
parents:
diff changeset
21 import de.mpiwg.itgroup.ismi.auxObjects.ListenerObject;
jurzua
parents:
diff changeset
22 import de.mpiwg.itgroup.ismi.auxObjects.lo.WitnessAuthorLO;
jurzua
parents:
diff changeset
23 import de.mpiwg.itgroup.ismi.auxObjects.lo.WitnessTextLO;
jurzua
parents:
diff changeset
24 import de.mpiwg.itgroup.ismi.util.guiComponents.Calendar;
jurzua
parents:
diff changeset
25 import de.mpiwg.itgroup.ismi.util.guiComponents.EntityList;
jurzua
parents:
diff changeset
26 import de.mpiwg.itgroup.ismi.util.guiComponents.StatusImage;
jurzua
parents:
diff changeset
27
jurzua
parents:
diff changeset
28 public class CurrentWitnessBean extends CodexEditorTemplate implements Serializable{
jurzua
parents:
diff changeset
29
jurzua
parents:
diff changeset
30 private static final long serialVersionUID = -7645136722251494419L;
jurzua
parents:
diff changeset
31
jurzua
parents:
diff changeset
32 private static Logger logger = Logger.getLogger(CurrentWitnessBean.class);
jurzua
parents:
diff changeset
33
jurzua
parents:
diff changeset
34 private Boolean codicesOverviewRendered = false;
jurzua
parents:
diff changeset
35 private List <CodexForList> codicesAll = new ArrayList<CodexForList>();
jurzua
parents:
diff changeset
36
jurzua
parents:
diff changeset
37 private List<SelectItem> titles_list = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
38 private Long selectedTitleId;
jurzua
parents:
diff changeset
39 private Boolean selectTitleRendered = false;
jurzua
parents:
diff changeset
40 private String selectPersonType;
jurzua
parents:
diff changeset
41
jurzua
parents:
diff changeset
42 private List<SelectItem> persons_list = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
43 private Long selectedPersonId;
jurzua
parents:
diff changeset
44 private Boolean selectPersonRendered = false;
jurzua
parents:
diff changeset
45 private Boolean restrictedByRole = true;
jurzua
parents:
diff changeset
46
jurzua
parents:
diff changeset
47 //private Entity witness;
jurzua
parents:
diff changeset
48
jurzua
parents:
diff changeset
49 private ListenerObject titleLo = new WitnessTextLO(TEXT, full_title_translit, this);
jurzua
parents:
diff changeset
50
jurzua
parents:
diff changeset
51 private String valueTitle = "";
jurzua
parents:
diff changeset
52
jurzua
parents:
diff changeset
53 // WITNESS -> has_title_written_as -> ALIAS
jurzua
parents:
diff changeset
54 private String valueTextWritten = "";
jurzua
parents:
diff changeset
55 private List<SelectItem> suggestedTitlesWritten = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
56 private Long valueTitleSelectedId;
jurzua
parents:
diff changeset
57
jurzua
parents:
diff changeset
58 // WITNESS -> has_authorWritten_as -> ALIAS
jurzua
parents:
diff changeset
59 private String valueAuthorWritten = "";
jurzua
parents:
diff changeset
60 private List<SelectItem> suggestedAuthorsWritten = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
61 private Long valueAuthorSelectedId;
jurzua
parents:
diff changeset
62
jurzua
parents:
diff changeset
63 // WITNESS -> is_exemplar_of -> TEXT -> was_created_by -> PERSON
jurzua
parents:
diff changeset
64 private ListenerObject authorLo = new WitnessAuthorLO(PERSON, name_translit, this);
jurzua
parents:
diff changeset
65 private String valueAuthor = "";
jurzua
parents:
diff changeset
66
jurzua
parents:
diff changeset
67 private boolean textUnknown = false;
jurzua
parents:
diff changeset
68 private static String UNKNOWN = "UNKNOWN";
jurzua
parents:
diff changeset
69
jurzua
parents:
diff changeset
70
jurzua
parents:
diff changeset
71 // WITENSS -> was_copied_by -> PERSON
jurzua
parents:
diff changeset
72 private ListenerObject copyistLo = new ListenerObject(PERSON, name_translit);
jurzua
parents:
diff changeset
73
jurzua
parents:
diff changeset
74 // WITENSS -> was_copied_at -> PLACE
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
75 private ListenerObject copyPlaceLo = new AliasListenerObject(PLACE, name, "is_alias_name_of");
1
jurzua
parents:
diff changeset
76
jurzua
parents:
diff changeset
77 // WITNESS -> xx -> PERSON
jurzua
parents:
diff changeset
78 private ListenerObject patronageLo = new ListenerObject(PERSON, name_translit);
jurzua
parents:
diff changeset
79
jurzua
parents:
diff changeset
80 //private List<SelectItem> citiesWithRepositories;
jurzua
parents:
diff changeset
81 private boolean foundCodex;
jurzua
parents:
diff changeset
82
jurzua
parents:
diff changeset
83 private boolean lockValueAuthor = false;
jurzua
parents:
diff changeset
84 private boolean lockValueTitle = false;
jurzua
parents:
diff changeset
85
jurzua
parents:
diff changeset
86 private boolean createCodexRendered = false;
jurzua
parents:
diff changeset
87 private boolean renderShowAllCodexCandidates = false;
jurzua
parents:
diff changeset
88 //private Entity witness_old;
jurzua
parents:
diff changeset
89
jurzua
parents:
diff changeset
90 private String newIdentifier;
jurzua
parents:
diff changeset
91
jurzua
parents:
diff changeset
92 //private IslamicCalendar islamicCalCopyDate;
jurzua
parents:
diff changeset
93 private transient Calendar copyDate;
jurzua
parents:
diff changeset
94
jurzua
parents:
diff changeset
95 private EntityList studiedByList;
jurzua
parents:
diff changeset
96 private EntityList possibleExamplerOfList;
jurzua
parents:
diff changeset
97
jurzua
parents:
diff changeset
98 public CurrentWitnessBean() {
jurzua
parents:
diff changeset
99 super();
jurzua
parents:
diff changeset
100 this.entity = new Entity(Node.TYPE_ABOX, WITNESS, false);
jurzua
parents:
diff changeset
101 setDefObjectClass(WITNESS);
jurzua
parents:
diff changeset
102
jurzua
parents:
diff changeset
103 registerChecker(copyistLo.statusImage, "Copyist not valid");
jurzua
parents:
diff changeset
104 registerChecker(copyPlaceLo.statusImage, "Copyist not valid");
jurzua
parents:
diff changeset
105 registerChecker(patronageLo.statusImage,"Patron not valid");
jurzua
parents:
diff changeset
106
jurzua
parents:
diff changeset
107 }
jurzua
parents:
diff changeset
108
jurzua
parents:
diff changeset
109 @Override
jurzua
parents:
diff changeset
110 public void reset(){
jurzua
parents:
diff changeset
111 super.reset();
jurzua
parents:
diff changeset
112 this.entity = new Entity(Node.TYPE_ABOX, WITNESS, false);
jurzua
parents:
diff changeset
113 this.studiedByList = new EntityList(PERSON, "name_translit", "Studied by");
jurzua
parents:
diff changeset
114 this.possibleExamplerOfList = new EntityList(TEXT, "full_title_translit", "Possible titles");
jurzua
parents:
diff changeset
115
jurzua
parents:
diff changeset
116 this.codicesOverviewRendered = false;
jurzua
parents:
diff changeset
117 this.codicesAll = new ArrayList<CodexForList>();
jurzua
parents:
diff changeset
118
jurzua
parents:
diff changeset
119 this.titles_list = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
120 this.selectedTitleId = null;
jurzua
parents:
diff changeset
121 this.selectTitleRendered = false;
jurzua
parents:
diff changeset
122 this.selectPersonType = "";
jurzua
parents:
diff changeset
123
jurzua
parents:
diff changeset
124 this.persons_list = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
125 this.selectedPersonId = null;
jurzua
parents:
diff changeset
126 this.selectPersonRendered = false;
jurzua
parents:
diff changeset
127 this.restrictedByRole = true;
jurzua
parents:
diff changeset
128
jurzua
parents:
diff changeset
129 if(titleLo != null)
jurzua
parents:
diff changeset
130 this.titleLo.reset();
jurzua
parents:
diff changeset
131
jurzua
parents:
diff changeset
132 this.valueTitle = "";
jurzua
parents:
diff changeset
133
jurzua
parents:
diff changeset
134 // WITNESS -> has_title_written_as -> ALIAS
jurzua
parents:
diff changeset
135 this.valueTextWritten = "";
jurzua
parents:
diff changeset
136 this.suggestedTitlesWritten = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
137 this.valueTitleSelectedId = null;
jurzua
parents:
diff changeset
138
jurzua
parents:
diff changeset
139 // WITNESS -> has_author_written_as -> ALIAS
jurzua
parents:
diff changeset
140 this.valueAuthorWritten = "";
jurzua
parents:
diff changeset
141 this.suggestedAuthorsWritten = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
142 this.valueAuthorSelectedId = null;
jurzua
parents:
diff changeset
143
jurzua
parents:
diff changeset
144 // WITNESS -> is_exemplar_of -> TEXT -> was_created_by -> PERSON
jurzua
parents:
diff changeset
145 if(this.authorLo != null)
jurzua
parents:
diff changeset
146 this.authorLo.reset();
jurzua
parents:
diff changeset
147 this.valueAuthor = "";
jurzua
parents:
diff changeset
148
jurzua
parents:
diff changeset
149 // WITENSS -> was_copied_by -> PERSON
jurzua
parents:
diff changeset
150 if(copyistLo != null)
jurzua
parents:
diff changeset
151 this.copyistLo.reset();
jurzua
parents:
diff changeset
152
jurzua
parents:
diff changeset
153 // WITENSS -> was_copied_in -> PLACE
jurzua
parents:
diff changeset
154 if(this.copyPlaceLo != null)
jurzua
parents:
diff changeset
155 this.copyPlaceLo.reset();
jurzua
parents:
diff changeset
156
jurzua
parents:
diff changeset
157 // WITNESS -> xx -> PERSON
jurzua
parents:
diff changeset
158 if(patronageLo != null)
jurzua
parents:
diff changeset
159 this.patronageLo.reset();
jurzua
parents:
diff changeset
160
jurzua
parents:
diff changeset
161 //this.citiesWithRepositories = null;
jurzua
parents:
diff changeset
162 this.foundCodex = false;
jurzua
parents:
diff changeset
163
jurzua
parents:
diff changeset
164 this.lockValueAuthor = true;
jurzua
parents:
diff changeset
165 this.lockValueTitle = true;
jurzua
parents:
diff changeset
166
jurzua
parents:
diff changeset
167 this.createCodexRendered = false;
jurzua
parents:
diff changeset
168 this.renderShowAllCodexCandidates = false;
jurzua
parents:
diff changeset
169
jurzua
parents:
diff changeset
170 this.newIdentifier = "";
jurzua
parents:
diff changeset
171
jurzua
parents:
diff changeset
172 //this.islamicCalCopyDate = new IslamicCalendar();
jurzua
parents:
diff changeset
173 this.copyDate = new Calendar();
jurzua
parents:
diff changeset
174 }
jurzua
parents:
diff changeset
175
jurzua
parents:
diff changeset
176 @Override
jurzua
parents:
diff changeset
177 public String save() {
jurzua
parents:
diff changeset
178 super.save();
jurzua
parents:
diff changeset
179 try {
jurzua
parents:
diff changeset
180
jurzua
parents:
diff changeset
181 User user = getSessionUser();
jurzua
parents:
diff changeset
182
jurzua
parents:
diff changeset
183 if(!isCodexIdentifierSet(user.getEmail())){
jurzua
parents:
diff changeset
184 return "SAVE_ERROR";
jurzua
parents:
diff changeset
185 }
jurzua
parents:
diff changeset
186
jurzua
parents:
diff changeset
187 if(!isWitnessConsistentBeforeSave()){
jurzua
parents:
diff changeset
188 return "SAVE_ERROR";
jurzua
parents:
diff changeset
189 }
jurzua
parents:
diff changeset
190
jurzua
parents:
diff changeset
191 //checking if some LO is not OK.
jurzua
parents:
diff changeset
192 CheckResults cr = getCheckResults();
jurzua
parents:
diff changeset
193 if (cr.hasErrors){
jurzua
parents:
diff changeset
194 getSessionBean().setErrorMessages(cr);
jurzua
parents:
diff changeset
195 getSessionBean().setDisplayError(true);
jurzua
parents:
diff changeset
196 this.setSelectedSaveAsNew(false);
jurzua
parents:
diff changeset
197 return "SAVE_ERROR";
jurzua
parents:
diff changeset
198 }
jurzua
parents:
diff changeset
199
jurzua
parents:
diff changeset
200 getAttributes().put("creation_date", this.copyDate.toJSONString());
jurzua
parents:
diff changeset
201
jurzua
parents:
diff changeset
202 this.entity = this.updateEntityAttributes(this.entity);
jurzua
parents:
diff changeset
203
jurzua
parents:
diff changeset
204 // WITNESS -> is_part_of -> CODEX
jurzua
parents:
diff changeset
205 this.entity.replaceSourceRelation(getCodexLo().entity, CODEX, is_part_of);
jurzua
parents:
diff changeset
206
jurzua
parents:
diff changeset
207 // WITNESS -> is_exemplar_of -> TEXT -> was_created_by -> PERSON
jurzua
parents:
diff changeset
208 //replaceSourceRelation(this.entity, this.author, PERSON, was_created_by);
jurzua
parents:
diff changeset
209
jurzua
parents:
diff changeset
210 // WITENSS -> was_copied_by -> PERSON
jurzua
parents:
diff changeset
211 this.entity.replaceSourceRelation(this.copyistLo.entity, PERSON, rel_was_copied_by);
jurzua
parents:
diff changeset
212
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
213 // WITNESS -> was_copied_in -> PLACE
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
214 Entity copyPlace = this.copyPlaceLo.entity;
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
215 if (copyPlace != null && copyPlace.getObjectClass().equals(PLACE)) {
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
216 // regular PLACE
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
217 this.entity.replaceSourceRelation(copyPlace, PLACE, "was_copied_in");
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
218 } else if (copyPlace != null && copyPlace.getObjectClass().equals("ALIAS")) {
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
219 // WITNESS -> was_copied_in_as -> ALIAS
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
220 this.entity.replaceSourceRelation(copyPlace, "ALIAS", "was_copied_in_as");
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
221 // ALIAS -> is_alias_name_of -> PLACE
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
222 List<Entity> places = getWrapper().getTargetsForSourceRelation(copyPlace, "is_alias_name_of", "PLACE", 1);
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
223 if (! places.isEmpty()) {
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
224 // WITNESS -> was_copied_in -> PLACE
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
225 this.entity.replaceSourceRelation(places.get(0), PLACE, "was_copied_in");
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
226 }
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
227 }
1
jurzua
parents:
diff changeset
228
jurzua
parents:
diff changeset
229 //REFERENCE -> is_reference_of -> WITNESS
jurzua
parents:
diff changeset
230 //this.entity = this.prepareReferencesToSave(this.entity);
jurzua
parents:
diff changeset
231 this.prepareEndNoteRefs2Save();
jurzua
parents:
diff changeset
232
jurzua
parents:
diff changeset
233 //WITNESS -> was studied by manyToMany -> PERSON
jurzua
parents:
diff changeset
234 this.entity.removeAllSourceRelationsByName(rel_was_studied_by);
jurzua
parents:
diff changeset
235 for(Entity target : this.studiedByList.getEntities()){
jurzua
parents:
diff changeset
236 Entity target0 = getWrapper().getEntityByIdWithContent(target.getId());
jurzua
parents:
diff changeset
237 Relation wasStudiedBy = new Relation(this.entity, target0, rel_was_studied_by);
jurzua
parents:
diff changeset
238 }
jurzua
parents:
diff changeset
239
jurzua
parents:
diff changeset
240 // WITNESS -> had_patron -> PERSON
jurzua
parents:
diff changeset
241 this.entity.replaceSourceRelation(this.patronageLo.entity, PERSON, rel_had_patron);
jurzua
parents:
diff changeset
242
jurzua
parents:
diff changeset
243
jurzua
parents:
diff changeset
244 // WITNESS -> is_exemplar_of -> TEXT
jurzua
parents:
diff changeset
245 this.entity.replaceSourceRelation(this.titleLo.entity, TEXT, is_exemplar_of);
jurzua
parents:
diff changeset
246
jurzua
parents:
diff changeset
247 this.entity.removeAllSourceRelationsByName(is_possible_exemplar_of);
jurzua
parents:
diff changeset
248 this.entity.removeAllSourceRelations(rel_has_title_written_as, ALIAS);
jurzua
parents:
diff changeset
249 this.entity.removeAllSourceRelations(rel_has_author_written_as, ALIAS);
jurzua
parents:
diff changeset
250
jurzua
parents:
diff changeset
251 if(textUnknown){
jurzua
parents:
diff changeset
252 for(Entity target : this.possibleExamplerOfList.getEntities()){
jurzua
parents:
diff changeset
253 Entity target0 = getWrapper().getEntityByIdWithContent(target.getId());
jurzua
parents:
diff changeset
254 Relation tmp = new Relation(this.entity, target0, is_possible_exemplar_of);
jurzua
parents:
diff changeset
255 }
jurzua
parents:
diff changeset
256 }else{
jurzua
parents:
diff changeset
257 this.saveIndirectedAliases();
jurzua
parents:
diff changeset
258 }
jurzua
parents:
diff changeset
259
jurzua
parents:
diff changeset
260 // WITNESS -> is_part_of_codex
jurzua
parents:
diff changeset
261 if(this.isSelectedSaveAsNew()){
jurzua
parents:
diff changeset
262 this.entity = getWrapper().saveEntityAsNew(this.entity, user.getEmail());
jurzua
parents:
diff changeset
263 }else{
jurzua
parents:
diff changeset
264 this.entity = getWrapper().saveEntity(this.entity, user.getEmail());
jurzua
parents:
diff changeset
265 }
jurzua
parents:
diff changeset
266 this.setEntity(this.entity);
jurzua
parents:
diff changeset
267
jurzua
parents:
diff changeset
268 logger.info("Entity saved - Time = " + (System.currentTimeMillis() - start) + ", " + entity);
jurzua
parents:
diff changeset
269 this.printSuccessSavingEntity();
jurzua
parents:
diff changeset
270
jurzua
parents:
diff changeset
271 this.setSelectedSaveAsNew(false);
jurzua
parents:
diff changeset
272 } catch (Exception e) {
jurzua
parents:
diff changeset
273 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
274 e.printStackTrace();
jurzua
parents:
diff changeset
275 this.printInternalError(e);
jurzua
parents:
diff changeset
276 }
jurzua
parents:
diff changeset
277
jurzua
parents:
diff changeset
278 saveEnd();
jurzua
parents:
diff changeset
279 return PAGE_EDITOR;
jurzua
parents:
diff changeset
280 }
jurzua
parents:
diff changeset
281
jurzua
parents:
diff changeset
282 private void saveIndirectedAliases() throws Exception{
jurzua
parents:
diff changeset
283
jurzua
parents:
diff changeset
284 User user = getSessionUser();
jurzua
parents:
diff changeset
285
jurzua
parents:
diff changeset
286 //WITNESS -> has_title_written_as -> ALIAS
jurzua
parents:
diff changeset
287 if(StringUtils.isNotEmpty(valueTextWritten)){
jurzua
parents:
diff changeset
288 Entity alias = null;
jurzua
parents:
diff changeset
289 if(this.suggestedTitlesWritten != null){
jurzua
parents:
diff changeset
290 for(SelectItem item : this.suggestedTitlesWritten){
jurzua
parents:
diff changeset
291 Long id = (Long)item.getValue();
jurzua
parents:
diff changeset
292 if(id != null){
jurzua
parents:
diff changeset
293 Entity candidate = getWrapper().getEntityById(id);
jurzua
parents:
diff changeset
294 if(candidate != null && valueTextWritten.equals(candidate.getOwnValue())){
jurzua
parents:
diff changeset
295 alias = candidate;
jurzua
parents:
diff changeset
296 break;
jurzua
parents:
diff changeset
297 }
jurzua
parents:
diff changeset
298 }
jurzua
parents:
diff changeset
299 }
jurzua
parents:
diff changeset
300 }
jurzua
parents:
diff changeset
301
jurzua
parents:
diff changeset
302 if(alias == null){
jurzua
parents:
diff changeset
303 alias = new Entity(Node.TYPE_ABOX, ALIAS, false);
jurzua
parents:
diff changeset
304 alias.addAttribute(new Attribute(ALIAS, "text", valueTextWritten));
jurzua
parents:
diff changeset
305 alias = getWrapper().saveEntity(alias, user.getEmail());
jurzua
parents:
diff changeset
306 Relation rel = new Relation(alias, this.titleLo.getEntity(), "is_alias_title_of");
jurzua
parents:
diff changeset
307 alias = getWrapper().saveEntity(alias, user.getEmail());
jurzua
parents:
diff changeset
308 }
jurzua
parents:
diff changeset
309 if(alias.isLightweight()){
jurzua
parents:
diff changeset
310 alias = getWrapper().getEntityByIdWithContent(alias.getId());
jurzua
parents:
diff changeset
311 }
jurzua
parents:
diff changeset
312 this.entity.replaceSourceRelation(alias, ALIAS, rel_has_title_written_as);
jurzua
parents:
diff changeset
313 }
jurzua
parents:
diff changeset
314
jurzua
parents:
diff changeset
315
jurzua
parents:
diff changeset
316 if(StringUtils.isNotEmpty(this.valueAuthorWritten)){
jurzua
parents:
diff changeset
317 Entity alias = null;
jurzua
parents:
diff changeset
318 if(suggestedAuthorsWritten != null){
jurzua
parents:
diff changeset
319 for(SelectItem item : this.suggestedAuthorsWritten){
jurzua
parents:
diff changeset
320 Long id = (Long)item.getValue();
jurzua
parents:
diff changeset
321 if(id != null){
jurzua
parents:
diff changeset
322 Entity candidate = getWrapper().getEntityById(id);
jurzua
parents:
diff changeset
323 if(candidate != null && valueAuthorWritten.equals(candidate.getOwnValue())){
jurzua
parents:
diff changeset
324 alias = candidate;
jurzua
parents:
diff changeset
325 break;
jurzua
parents:
diff changeset
326 }
jurzua
parents:
diff changeset
327 }
jurzua
parents:
diff changeset
328 }
jurzua
parents:
diff changeset
329 }
jurzua
parents:
diff changeset
330
jurzua
parents:
diff changeset
331 if(alias == null){
jurzua
parents:
diff changeset
332 alias = new Entity(Node.TYPE_ABOX, ALIAS, false);
jurzua
parents:
diff changeset
333 alias.addAttribute(new Attribute(ALIAS, "text", valueAuthorWritten));
jurzua
parents:
diff changeset
334 alias = getWrapper().saveEntity(alias, user.getEmail());
jurzua
parents:
diff changeset
335 Relation rel = new Relation(alias, this.authorLo.getEntity(), "is_alias_name_of");
jurzua
parents:
diff changeset
336 alias = getWrapper().saveEntity(alias, user.getEmail());
jurzua
parents:
diff changeset
337 }
jurzua
parents:
diff changeset
338 if(alias.isLightweight()){
jurzua
parents:
diff changeset
339 alias = getWrapper().getEntityByIdWithContent(alias.getId());
jurzua
parents:
diff changeset
340 }
jurzua
parents:
diff changeset
341 this.entity.replaceSourceRelation(alias, ALIAS, rel_has_author_written_as);
jurzua
parents:
diff changeset
342 }
jurzua
parents:
diff changeset
343 }
jurzua
parents:
diff changeset
344
jurzua
parents:
diff changeset
345 public String saveAsNewEntity() {
jurzua
parents:
diff changeset
346 this.setSelectedSaveAsNew(true);
jurzua
parents:
diff changeset
347 return save();
jurzua
parents:
diff changeset
348 }
jurzua
parents:
diff changeset
349
jurzua
parents:
diff changeset
350 /* rich
jurzua
parents:
diff changeset
351 public void patronageChangeListener(ValueChangeEvent event) {
jurzua
parents:
diff changeset
352 //patronageLo = changeListener(event, patronageLo, PERSON, "name");
jurzua
parents:
diff changeset
353 patronageLo = changeValuePersonByRole(event, patronageLo, "Patron");
jurzua
parents:
diff changeset
354
jurzua
parents:
diff changeset
355 }
jurzua
parents:
diff changeset
356
jurzua
parents:
diff changeset
357 public void copyistChangeListener(ValueChangeEvent event) {
jurzua
parents:
diff changeset
358 copyistLo = changeValuePersonByRole(event, copyistLo, "Copyist");
jurzua
parents:
diff changeset
359 }
jurzua
parents:
diff changeset
360
jurzua
parents:
diff changeset
361 public void copyPlacesChangeListener(ValueChangeEvent event) {
jurzua
parents:
diff changeset
362 copyPlaceLo = changeListener(event, copyPlaceLo,"PLACE", "name");
jurzua
parents:
diff changeset
363 }*/
jurzua
parents:
diff changeset
364
jurzua
parents:
diff changeset
365 public void updateTitle(){
jurzua
parents:
diff changeset
366
jurzua
parents:
diff changeset
367 if(titleLo.entity != null && titleLo.entity.isPersistent()){
jurzua
parents:
diff changeset
368
jurzua
parents:
diff changeset
369 this.textUnknown = UNKNOWN.equals(titleLo.entity.getOwnValue());
jurzua
parents:
diff changeset
370
jurzua
parents:
diff changeset
371 List<Entity> targets = getWrapper().getTargetsForSourceRelation(titleLo.getEntity(), rel_was_created_by, PERSON, 1);
jurzua
parents:
diff changeset
372 if(targets.size() > 0){
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
373 this.authorLo.setEntityAndAttribute(targets.get(0));
1
jurzua
parents:
diff changeset
374
jurzua
parents:
diff changeset
375 }else{
jurzua
parents:
diff changeset
376 this.authorLo.reset();
jurzua
parents:
diff changeset
377 /* rich
jurzua
parents:
diff changeset
378 this.authorLo.setEntityAndAttribute(null, name_translit);
jurzua
parents:
diff changeset
379 this.authorLo.statusImage.setStatus(StatusImage.STATUS_UNSET);
jurzua
parents:
diff changeset
380 */
jurzua
parents:
diff changeset
381
jurzua
parents:
diff changeset
382 }
jurzua
parents:
diff changeset
383 this.suggestedAuthorsWritten = getAuthorAliases(authorLo.entity);
jurzua
parents:
diff changeset
384 this.suggestedTitlesWritten = getTitleAliases(titleLo.entity);
jurzua
parents:
diff changeset
385 }
jurzua
parents:
diff changeset
386 }
jurzua
parents:
diff changeset
387
jurzua
parents:
diff changeset
388 public void updateAuthor(){
jurzua
parents:
diff changeset
389
jurzua
parents:
diff changeset
390 if(authorLo.getEntity() != null && authorLo.getEntity().isPersistent()){
jurzua
parents:
diff changeset
391
jurzua
parents:
diff changeset
392 this.titleLo.reset();
jurzua
parents:
diff changeset
393
jurzua
parents:
diff changeset
394 List <Entity> sources = getWrapper().getSourcesForTargetRelation(authorLo.getEntity(), rel_was_created_by, TEXT, -1);
jurzua
parents:
diff changeset
395
jurzua
parents:
diff changeset
396 ArrayList<SelectItem> options = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
397 for (Entity title : sources){
jurzua
parents:
diff changeset
398 options.add(new SelectItem(title.getId(), title.getOwnValue() + " [" + title.getId() + "]"));
jurzua
parents:
diff changeset
399 }
jurzua
parents:
diff changeset
400
jurzua
parents:
diff changeset
401 titles_list = options;
jurzua
parents:
diff changeset
402 this.suggestedAuthorsWritten = getAuthorAliases(authorLo.entity);
jurzua
parents:
diff changeset
403 this.suggestedTitlesWritten = getTitleAliases(null);
jurzua
parents:
diff changeset
404 }
jurzua
parents:
diff changeset
405 }
jurzua
parents:
diff changeset
406
jurzua
parents:
diff changeset
407
jurzua
parents:
diff changeset
408 private List<SelectItem> getTitleAliases(Entity title) {
jurzua
parents:
diff changeset
409 List<SelectItem> items = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
410 this.valueTextWritten = null;
jurzua
parents:
diff changeset
411 if(title != null && title.isPersistent()){
jurzua
parents:
diff changeset
412 items.add(new SelectItem(new Long(-1), "-- choose --"));
jurzua
parents:
diff changeset
413 List<Entity> aliasTitleList = getWrapper().getSourcesForTargetRelation(title, is_alias_title_of, ALIAS, -1);
jurzua
parents:
diff changeset
414 for(Entity alias : aliasTitleList){
jurzua
parents:
diff changeset
415 items.add(new SelectItem(alias.getId(), alias.getOwnValue()));
jurzua
parents:
diff changeset
416 }
jurzua
parents:
diff changeset
417
jurzua
parents:
diff changeset
418 List<Entity> primeAliasTitleList = getWrapper().getSourcesForTargetRelation(title, is_prime_alias_title_of, ALIAS, -1);
jurzua
parents:
diff changeset
419 for(Entity alias : primeAliasTitleList){
jurzua
parents:
diff changeset
420 items.add(new SelectItem(alias.getId(), alias.getOwnValue()));
jurzua
parents:
diff changeset
421 }
jurzua
parents:
diff changeset
422 }
jurzua
parents:
diff changeset
423
jurzua
parents:
diff changeset
424 return items;
jurzua
parents:
diff changeset
425 }
jurzua
parents:
diff changeset
426 private List<SelectItem> getAuthorAliases(Entity author) {
jurzua
parents:
diff changeset
427 List<SelectItem> items = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
428 this.valueAuthorWritten = null;
jurzua
parents:
diff changeset
429 if(author != null && author.isPersistent()){
jurzua
parents:
diff changeset
430 //items.add(new SelectItem(null, "-- choose --"));
jurzua
parents:
diff changeset
431 List<Entity> aliasAuthorList = getWrapper().getSourcesForTargetRelation(author, is_alias_name_of, ALIAS, -1);
jurzua
parents:
diff changeset
432 for(Entity alias : aliasAuthorList){
jurzua
parents:
diff changeset
433 items.add(new SelectItem(alias.getId(), alias.getOwnValue()));
jurzua
parents:
diff changeset
434 }
jurzua
parents:
diff changeset
435
jurzua
parents:
diff changeset
436 List<Entity> primeAliasAuthorList = getWrapper().getSourcesForTargetRelation(author, is_prime_alias_name_of, ALIAS, -1);
jurzua
parents:
diff changeset
437 for(Entity alias : primeAliasAuthorList){
jurzua
parents:
diff changeset
438 items.add(new SelectItem(alias.getId(), alias.getOwnValue()));
jurzua
parents:
diff changeset
439 }
jurzua
parents:
diff changeset
440 }
jurzua
parents:
diff changeset
441 return items;
jurzua
parents:
diff changeset
442
jurzua
parents:
diff changeset
443 }
jurzua
parents:
diff changeset
444
jurzua
parents:
diff changeset
445 @Override
jurzua
parents:
diff changeset
446 public void setEntity(Entity witness) {
jurzua
parents:
diff changeset
447 this.reset();
jurzua
parents:
diff changeset
448 this.entity = witness;
jurzua
parents:
diff changeset
449
jurzua
parents:
diff changeset
450 if(this.entity.isPersistent()){
jurzua
parents:
diff changeset
451 if (witness.isLightweight()) {
jurzua
parents:
diff changeset
452 witness = getWrapper().getEntityContent(witness);
jurzua
parents:
diff changeset
453 }
jurzua
parents:
diff changeset
454
jurzua
parents:
diff changeset
455 Attribute attCreationDate = this.entity.getAttributeByName("creation_date");
jurzua
parents:
diff changeset
456 if(attCreationDate != null && StringUtils.isNotEmpty(attCreationDate.getOwnValue())){
jurzua
parents:
diff changeset
457 this.copyDate = new Calendar(attCreationDate.getOwnValue());
jurzua
parents:
diff changeset
458 }else{
jurzua
parents:
diff changeset
459 this.copyDate = new Calendar();
jurzua
parents:
diff changeset
460 }
jurzua
parents:
diff changeset
461
jurzua
parents:
diff changeset
462 // Loading attributes
jurzua
parents:
diff changeset
463 this.loadAttributes(this.entity);
jurzua
parents:
diff changeset
464
jurzua
parents:
diff changeset
465 // Loading the relations
jurzua
parents:
diff changeset
466 // TODO loading target's relations
jurzua
parents:
diff changeset
467 for (Relation rel : witness.getSourceRelations()) {
jurzua
parents:
diff changeset
468 Entity target = null;
jurzua
parents:
diff changeset
469 if (rel.getOwnValue().equals(is_exemplar_of)) {
jurzua
parents:
diff changeset
470 // WITNESS -> is_exemplar_of -> TEXT
jurzua
parents:
diff changeset
471 target = getTargetRelation(rel);
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
472 titleLo.setEntityAndAttribute(target);
1
jurzua
parents:
diff changeset
473 this.updateTitle();
jurzua
parents:
diff changeset
474 } else if (rel.getOwnValue().equals(is_possible_exemplar_of)) {
jurzua
parents:
diff changeset
475 // WITNESS -> is_possible_exemplar_of -> TEXT
jurzua
parents:
diff changeset
476 target = getTargetRelation(rel);
jurzua
parents:
diff changeset
477 possibleExamplerOfList.add(target);
jurzua
parents:
diff changeset
478 } else if (rel.getOwnValue().equals(rel_was_studied_by)) {
jurzua
parents:
diff changeset
479 target = getTargetRelation(rel);
jurzua
parents:
diff changeset
480 studiedByList.add(target);
jurzua
parents:
diff changeset
481 } else if (rel.getOwnValue().equals(rel_was_copied_by)) {
jurzua
parents:
diff changeset
482 // WITENSS -> was_copied_by -> PERSON
jurzua
parents:
diff changeset
483 target = getTargetRelation(rel);
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
484 copyistLo.setEntityAndAttribute(target);
1
jurzua
parents:
diff changeset
485 } else if (rel.getOwnValue().equals("was_copied_in")) {
jurzua
parents:
diff changeset
486 // WITENSS -> was_copied_in -> PLACE
jurzua
parents:
diff changeset
487 target = getTargetRelation(rel);
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
488 // don't use place if there is an alias
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
489 if (copyPlaceLo.getEntity().getObjectClass() == null) {
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
490 copyPlaceLo.setEntityAndAttribute(target);
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
491 }
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
492 } else if (rel.getOwnValue().equals("was_copied_in_as")) {
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
493 // WITENSS -> was_copied_in_as -> ALIAS
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
494 target = getTargetRelation(rel);
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
495 copyPlaceLo.setEntityAndAttribute(target);
1
jurzua
parents:
diff changeset
496 } else if (rel.getOwnValue().equals(rel_had_patron)) {
jurzua
parents:
diff changeset
497 // WITNESS -> had_patron -> PERSON
jurzua
parents:
diff changeset
498 target = getTargetRelation(rel);
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
499 patronageLo.setEntityAndAttributeName(target, name_translit);
1
jurzua
parents:
diff changeset
500 } else if (rel.getOwnValue().equals(is_part_of)) {
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
501 // WITNESS -> is_part_of -> CODEX
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
502 if (rel.getTargetObjectClass().equals(CODEX)) {
1
jurzua
parents:
diff changeset
503 target = getTargetRelation(rel);
jurzua
parents:
diff changeset
504 this.setCodex(target);
jurzua
parents:
diff changeset
505 }
jurzua
parents:
diff changeset
506 } else if (rel.getOwnValue().equals(rel_has_author_written_as)) {
jurzua
parents:
diff changeset
507 //TODO this relation is no in the definitions
jurzua
parents:
diff changeset
508 Entity target2 = getTargetRelation(rel);
jurzua
parents:
diff changeset
509 Attribute alias = getTargetAttribute(target2, "alias");
jurzua
parents:
diff changeset
510 this.valueAuthorWritten = (alias != null) ? alias.getValue() : null;
jurzua
parents:
diff changeset
511
jurzua
parents:
diff changeset
512 } else if (rel.getOwnValue().equals(rel_has_title_written_as)) {
jurzua
parents:
diff changeset
513 //TODO this relation is no in the definitions
jurzua
parents:
diff changeset
514 target = getTargetRelation(rel);
jurzua
parents:
diff changeset
515 //this.textWritten = target;
jurzua
parents:
diff changeset
516 Attribute alias = getTargetAttribute(target, "alias");
jurzua
parents:
diff changeset
517 this.valueTextWritten = (alias != null) ? alias.getValue() : null;
jurzua
parents:
diff changeset
518 }
jurzua
parents:
diff changeset
519 }
jurzua
parents:
diff changeset
520
jurzua
parents:
diff changeset
521 //this.loadReferences(this.entity);
jurzua
parents:
diff changeset
522 this.loadEndNoteRefs();
jurzua
parents:
diff changeset
523
jurzua
parents:
diff changeset
524 this.setCurrentId(this.entity.getId().toString());
jurzua
parents:
diff changeset
525 this.checkConsistencyFromCountryToCodex();
jurzua
parents:
diff changeset
526
jurzua
parents:
diff changeset
527 this.displayUrl = generateDisplayUrl(authorLo.entity, titleLo.entity, witness, getAppBean().getRoot());
jurzua
parents:
diff changeset
528 }
jurzua
parents:
diff changeset
529 }
jurzua
parents:
diff changeset
530
jurzua
parents:
diff changeset
531 /**
jurzua
parents:
diff changeset
532 * Loads the given codex without reset of the variables, which could cause problem in CurrentWitness Class
jurzua
parents:
diff changeset
533 * @param codex
jurzua
parents:
diff changeset
534 */
jurzua
parents:
diff changeset
535 public void setCodex(Entity codex){
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
536 this.getCodexLo().setEntityAndAttributeName(codex, "identifier");
1
jurzua
parents:
diff changeset
537
jurzua
parents:
diff changeset
538 if(this.getCodexLo().entity != null && this.getCodexLo().entity.isPersistent()){
jurzua
parents:
diff changeset
539
jurzua
parents:
diff changeset
540 List<Entity> list = getWrapper().getTargetsForSourceRelation(codex, is_part_of, COLLECTION, 1);
jurzua
parents:
diff changeset
541 if(list.size() > 0){
jurzua
parents:
diff changeset
542 this.setCollection(list.get(0));
jurzua
parents:
diff changeset
543 }
jurzua
parents:
diff changeset
544 }
jurzua
parents:
diff changeset
545 }
jurzua
parents:
diff changeset
546
jurzua
parents:
diff changeset
547 public String getValueAuthor() {
jurzua
parents:
diff changeset
548 return valueAuthor;
jurzua
parents:
diff changeset
549 }
jurzua
parents:
diff changeset
550
jurzua
parents:
diff changeset
551 public void setValueAuthor(String valueAuthor) {
jurzua
parents:
diff changeset
552 if(!lockValueAuthor)
jurzua
parents:
diff changeset
553 this.valueAuthor = valueAuthor;
jurzua
parents:
diff changeset
554 this.lockValueAuthor = false;
jurzua
parents:
diff changeset
555 }
jurzua
parents:
diff changeset
556
jurzua
parents:
diff changeset
557 public void setValueTitle(String valueTitle) {
jurzua
parents:
diff changeset
558 if(!lockValueTitle)
jurzua
parents:
diff changeset
559 this.valueTitle = valueTitle;
jurzua
parents:
diff changeset
560 this.lockValueTitle = false;
jurzua
parents:
diff changeset
561 }
jurzua
parents:
diff changeset
562
jurzua
parents:
diff changeset
563 public String getValueTitle() {
jurzua
parents:
diff changeset
564 return valueTitle;
jurzua
parents:
diff changeset
565 }
jurzua
parents:
diff changeset
566
jurzua
parents:
diff changeset
567 public List<SelectItem> getTitles_list() {
jurzua
parents:
diff changeset
568 return titles_list;
jurzua
parents:
diff changeset
569 }
jurzua
parents:
diff changeset
570
jurzua
parents:
diff changeset
571 public void setTitles_list(List<SelectItem> titlesList) {
jurzua
parents:
diff changeset
572 titles_list = titlesList;
jurzua
parents:
diff changeset
573 }
jurzua
parents:
diff changeset
574
jurzua
parents:
diff changeset
575 public void setFoundCodex(boolean foundCodex) {
jurzua
parents:
diff changeset
576 this.foundCodex = foundCodex;
jurzua
parents:
diff changeset
577 }
jurzua
parents:
diff changeset
578
jurzua
parents:
diff changeset
579 public boolean isFoundCodex() {
jurzua
parents:
diff changeset
580 return foundCodex;
jurzua
parents:
diff changeset
581 }
jurzua
parents:
diff changeset
582
jurzua
parents:
diff changeset
583 public void listenerCreateTitleAlias(ValueChangeEvent event) {
jurzua
parents:
diff changeset
584 this.valueTextWritten = (String)event.getNewValue();
jurzua
parents:
diff changeset
585 }
jurzua
parents:
diff changeset
586
jurzua
parents:
diff changeset
587 public void listenerChooseTitleAlias(ValueChangeEvent event) {
jurzua
parents:
diff changeset
588 if (event.getNewValue() != null) {
jurzua
parents:
diff changeset
589 Long aliasId = (Long) event.getNewValue();
jurzua
parents:
diff changeset
590 if(aliasId != null){
jurzua
parents:
diff changeset
591 if(aliasId.equals(-1)){
jurzua
parents:
diff changeset
592 this.valueTextWritten = null;
jurzua
parents:
diff changeset
593 }else{
jurzua
parents:
diff changeset
594 Entity alias = getWrapper().getEntityByIdWithContent(aliasId);
jurzua
parents:
diff changeset
595 if(alias != null){
jurzua
parents:
diff changeset
596 this.valueTextWritten = alias.getOwnValue();
jurzua
parents:
diff changeset
597 }
jurzua
parents:
diff changeset
598 }
jurzua
parents:
diff changeset
599 }
jurzua
parents:
diff changeset
600 }
jurzua
parents:
diff changeset
601 }
jurzua
parents:
diff changeset
602
jurzua
parents:
diff changeset
603 public void listenerCreateAuthorAlias(ValueChangeEvent event) {
jurzua
parents:
diff changeset
604 this.valueAuthorWritten = (String)event.getNewValue();
jurzua
parents:
diff changeset
605 }
jurzua
parents:
diff changeset
606
jurzua
parents:
diff changeset
607 public void listenerChooseAuthorAlias(ValueChangeEvent event) {
jurzua
parents:
diff changeset
608 if (event.getNewValue() != null) {
jurzua
parents:
diff changeset
609 Long aliasId = (Long) event.getNewValue();
jurzua
parents:
diff changeset
610 if(aliasId != null){
jurzua
parents:
diff changeset
611 if(aliasId.equals(-1)){
jurzua
parents:
diff changeset
612 this.valueAuthorWritten = null;
jurzua
parents:
diff changeset
613 }else{
jurzua
parents:
diff changeset
614 Entity alias = getWrapper().getEntityByIdWithContent(aliasId);
jurzua
parents:
diff changeset
615 if(alias != null){
jurzua
parents:
diff changeset
616 this.valueAuthorWritten = alias.getOwnValue();
jurzua
parents:
diff changeset
617 }
jurzua
parents:
diff changeset
618 }
jurzua
parents:
diff changeset
619 }
jurzua
parents:
diff changeset
620 }
jurzua
parents:
diff changeset
621 }
jurzua
parents:
diff changeset
622
jurzua
parents:
diff changeset
623 @Override
jurzua
parents:
diff changeset
624 public void identifierChangedListener(ValueChangeEvent event) {
jurzua
parents:
diff changeset
625 super.identifierChangedListener(event);
jurzua
parents:
diff changeset
626
jurzua
parents:
diff changeset
627 if (StringUtils.isEmpty(getCodexLo().attribute.getValue())){
jurzua
parents:
diff changeset
628 renderShowAllCodexCandidates = false;
jurzua
parents:
diff changeset
629 this.checkConsistencyFromCountryToCodex();
jurzua
parents:
diff changeset
630 return;
jurzua
parents:
diff changeset
631 }
jurzua
parents:
diff changeset
632
jurzua
parents:
diff changeset
633 List<Entity> entities = getWrapper().getEntitiesByAtt(CODEX, getCodexLo().getAttName(), getCodexLo().attribute.getValue(), 10000, false);
jurzua
parents:
diff changeset
634
jurzua
parents:
diff changeset
635 if (entities.size()>1){
jurzua
parents:
diff changeset
636 if ((getCollectionLo().attribute==null || getCollectionLo().getAttribute().getValue().equals("")) &&
jurzua
parents:
diff changeset
637 (getRepositoryLo().getAttribute()==null || getRepositoryLo().getAttribute().getValue().equals(""))){
jurzua
parents:
diff changeset
638 showAllCodexCandidates(entities);
jurzua
parents:
diff changeset
639 renderShowAllCodexCandidates = true;
jurzua
parents:
diff changeset
640 }
jurzua
parents:
diff changeset
641 else
jurzua
parents:
diff changeset
642 //renderShowAllCodexCandidates = false;
jurzua
parents:
diff changeset
643 renderShowAllCodexCandidates = true; // i want to keep the selection field now
jurzua
parents:
diff changeset
644 }
jurzua
parents:
diff changeset
645 else
jurzua
parents:
diff changeset
646 //renderShowAllCodexCandidates = false;
jurzua
parents:
diff changeset
647 renderShowAllCodexCandidates = true; //i want to keep the selection field now
jurzua
parents:
diff changeset
648 }
jurzua
parents:
diff changeset
649
jurzua
parents:
diff changeset
650 public void searchInCurrentRepository(ActionEvent event) {
jurzua
parents:
diff changeset
651
jurzua
parents:
diff changeset
652 ValueChangeEvent ne = new ValueChangeEvent((UIComponent) event
jurzua
parents:
diff changeset
653 .getComponent(), "", getCollectionLo().getAttribute().getOwnValue());
jurzua
parents:
diff changeset
654 identifierChangedListener(ne);
jurzua
parents:
diff changeset
655
jurzua
parents:
diff changeset
656 }
jurzua
parents:
diff changeset
657
jurzua
parents:
diff changeset
658 /* rich
jurzua
parents:
diff changeset
659 public String insertAuthorAction() {
jurzua
parents:
diff changeset
660 return "insert";
jurzua
parents:
diff changeset
661
jurzua
parents:
diff changeset
662 }*/
jurzua
parents:
diff changeset
663
jurzua
parents:
diff changeset
664 public String showOtherTextsByAuthorAction() {
jurzua
parents:
diff changeset
665 if (authorLo.entity == null || !authorLo.entity.isPersistent())
jurzua
parents:
diff changeset
666 return "";
jurzua
parents:
diff changeset
667
jurzua
parents:
diff changeset
668 List<SelectItem> options = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
669 List<Entity> titles = getWrapper().getSourcesForTargetRelation(authorLo.entity, "was_created_by", TEXT, -1);
jurzua
parents:
diff changeset
670 for (Entity title: titles){
jurzua
parents:
diff changeset
671 options.add(
jurzua
parents:
diff changeset
672 new SelectItem(title.getId(), title.getOwnValue() + " [" + title.getId() + "]"));
jurzua
parents:
diff changeset
673 }
jurzua
parents:
diff changeset
674 titles_list = options;
jurzua
parents:
diff changeset
675 setSelectTitleRendered(true);
jurzua
parents:
diff changeset
676 return "";
jurzua
parents:
diff changeset
677 }
jurzua
parents:
diff changeset
678
jurzua
parents:
diff changeset
679 /**
jurzua
parents:
diff changeset
680 * Gebe moegliche andere Codices aus. Das ist notwendig, weil nach dem jetzigen Stand der Daten ein Codex
jurzua
parents:
diff changeset
681 * mehrfach im Datensatz auftachen kann.
jurzua
parents:
diff changeset
682 * @return
jurzua
parents:
diff changeset
683 */
jurzua
parents:
diff changeset
684 public String showAllCodexCandidates(List<Entity> entities){
jurzua
parents:
diff changeset
685 if (entities != null) {
jurzua
parents:
diff changeset
686 for (Entity entity : entities) {
jurzua
parents:
diff changeset
687 CodexForList entForList = getCodexData(entity);
jurzua
parents:
diff changeset
688 codicesAll.add(entForList);
jurzua
parents:
diff changeset
689 }
jurzua
parents:
diff changeset
690 }
jurzua
parents:
diff changeset
691 setCodicesOverviewRendered(true);
jurzua
parents:
diff changeset
692 return "";
jurzua
parents:
diff changeset
693 }
jurzua
parents:
diff changeset
694
jurzua
parents:
diff changeset
695 public String showAllTextsAction() {
jurzua
parents:
diff changeset
696 titles_list = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
697 titles_list = getAppBean().getAllTexts();
jurzua
parents:
diff changeset
698 this.selectTitleRendered = true;
jurzua
parents:
diff changeset
699 return "";
jurzua
parents:
diff changeset
700 }
jurzua
parents:
diff changeset
701
jurzua
parents:
diff changeset
702 public void listenerSelectTitle(ActionEvent event){
jurzua
parents:
diff changeset
703 if(this.selectedTitleId != null){
jurzua
parents:
diff changeset
704 Entity title = getWrapper().getEntityById(this.selectedTitleId);
jurzua
parents:
diff changeset
705 if(title != null){
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
706 this.titleLo.setEntityAndAttribute(title);
1
jurzua
parents:
diff changeset
707 this.updateTitle();
jurzua
parents:
diff changeset
708 setSelectTitleRendered(false);
jurzua
parents:
diff changeset
709 }
jurzua
parents:
diff changeset
710 }
jurzua
parents:
diff changeset
711 }
jurzua
parents:
diff changeset
712
jurzua
parents:
diff changeset
713 public void listenerCancelPpSelectTitle(ActionEvent event){
jurzua
parents:
diff changeset
714 System.out.println("listenerCancelPpSelectTitle");
jurzua
parents:
diff changeset
715 this.selectTitleRendered = false;
jurzua
parents:
diff changeset
716 }
jurzua
parents:
diff changeset
717
jurzua
parents:
diff changeset
718 public void setSelectTitleRendered(Boolean selectTitleRendered) {
jurzua
parents:
diff changeset
719 this.selectTitleRendered = selectTitleRendered;
jurzua
parents:
diff changeset
720 }
jurzua
parents:
diff changeset
721
jurzua
parents:
diff changeset
722 public Boolean getSelectTitleRendered() {
jurzua
parents:
diff changeset
723 return selectTitleRendered;
jurzua
parents:
diff changeset
724 }
jurzua
parents:
diff changeset
725
jurzua
parents:
diff changeset
726 public List<SelectItem> getPersons_list() {
jurzua
parents:
diff changeset
727 return persons_list;
jurzua
parents:
diff changeset
728 }
jurzua
parents:
diff changeset
729
jurzua
parents:
diff changeset
730 public void setPersons_list(List<SelectItem> personsList) {
jurzua
parents:
diff changeset
731 persons_list = personsList;
jurzua
parents:
diff changeset
732 }
jurzua
parents:
diff changeset
733
jurzua
parents:
diff changeset
734 public Boolean getSelectPersonRendered() {
jurzua
parents:
diff changeset
735 return selectPersonRendered;
jurzua
parents:
diff changeset
736 }
jurzua
parents:
diff changeset
737
jurzua
parents:
diff changeset
738 public void setSelectPersonRendered(Boolean selectPersonRendered) {
jurzua
parents:
diff changeset
739 this.selectPersonRendered = selectPersonRendered;
jurzua
parents:
diff changeset
740 }
jurzua
parents:
diff changeset
741
jurzua
parents:
diff changeset
742 public Boolean getRestrictedByRole() {
jurzua
parents:
diff changeset
743 return restrictedByRole;
jurzua
parents:
diff changeset
744 }
jurzua
parents:
diff changeset
745
jurzua
parents:
diff changeset
746 public void setRestrictedByRole(Boolean restrictedByRole) {
jurzua
parents:
diff changeset
747 this.restrictedByRole = restrictedByRole;
jurzua
parents:
diff changeset
748 }
jurzua
parents:
diff changeset
749
jurzua
parents:
diff changeset
750 private void updatePersonList(){
jurzua
parents:
diff changeset
751 if (!this.restrictedByRole)
jurzua
parents:
diff changeset
752 //persons_list = ((AllPersonsBean) this.getBean("AllPersons"))
jurzua
parents:
diff changeset
753 // .getPersonsSelectItems();
jurzua
parents:
diff changeset
754 persons_list = getCache().getAllPersons();
jurzua
parents:
diff changeset
755 else {
jurzua
parents:
diff changeset
756 //persons_list = ((AllPersonsBean) this.getBean("AllPersons"))
jurzua
parents:
diff changeset
757 // .getPersonsSelectItemsByRole(this.selectPersonType);
jurzua
parents:
diff changeset
758 persons_list = getCache().getPersonsByRole(selectPersonType);
jurzua
parents:
diff changeset
759 }
jurzua
parents:
diff changeset
760 }
jurzua
parents:
diff changeset
761
jurzua
parents:
diff changeset
762 public String showAllCopyistsAction() {
jurzua
parents:
diff changeset
763 this.setSelectPersonType("Copyist");
jurzua
parents:
diff changeset
764 this.updatePersonList();
jurzua
parents:
diff changeset
765 this.selectPersonRendered = true;
jurzua
parents:
diff changeset
766 return "";
jurzua
parents:
diff changeset
767 }
jurzua
parents:
diff changeset
768
jurzua
parents:
diff changeset
769 public String showAllPatronsAction() {
jurzua
parents:
diff changeset
770 this.setSelectPersonType("Patron");
jurzua
parents:
diff changeset
771 this.updatePersonList();
jurzua
parents:
diff changeset
772 this.selectPersonRendered = true;
jurzua
parents:
diff changeset
773 return "";
jurzua
parents:
diff changeset
774 }
jurzua
parents:
diff changeset
775
jurzua
parents:
diff changeset
776 public String showAllAuthorsAction() {
jurzua
parents:
diff changeset
777 this.setSelectPersonType("Author");
jurzua
parents:
diff changeset
778 this.updatePersonList();
jurzua
parents:
diff changeset
779 this.selectPersonRendered = true;
jurzua
parents:
diff changeset
780 return "";
jurzua
parents:
diff changeset
781 }
jurzua
parents:
diff changeset
782
jurzua
parents:
diff changeset
783 public void listenerCancelPpSelectAuthor(ActionEvent event){
jurzua
parents:
diff changeset
784 this.selectPersonRendered = false;
jurzua
parents:
diff changeset
785 }
jurzua
parents:
diff changeset
786
jurzua
parents:
diff changeset
787 public void listenerSelectPerson(ActionEvent event){
jurzua
parents:
diff changeset
788 String role = getSelectPersonType();
jurzua
parents:
diff changeset
789 if(this.selectedPersonId != null){
jurzua
parents:
diff changeset
790 Entity selectedPerson = getWrapper().getEntityByIdWithContent(selectedPersonId);
jurzua
parents:
diff changeset
791 if(selectedPerson != null){
jurzua
parents:
diff changeset
792 if (role.equals("Copyist")) {
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
793 copyistLo.setEntityAndAttribute(selectedPerson);
1
jurzua
parents:
diff changeset
794 } else if (role.equals("Patron")) {
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
795 patronageLo.setEntityAndAttribute(selectedPerson);
1
jurzua
parents:
diff changeset
796 } else if (role.equals("Author")) {
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
797 authorLo.setEntityAndAttribute(selectedPerson);
1
jurzua
parents:
diff changeset
798 this.updateAuthor();
jurzua
parents:
diff changeset
799 }
jurzua
parents:
diff changeset
800 setSelectPersonRendered(false);
jurzua
parents:
diff changeset
801 }
jurzua
parents:
diff changeset
802 }
jurzua
parents:
diff changeset
803 }
jurzua
parents:
diff changeset
804
jurzua
parents:
diff changeset
805 public void setSelectPersonType(String selectPersonType) {
jurzua
parents:
diff changeset
806 this.selectPersonType = selectPersonType;
jurzua
parents:
diff changeset
807 }
jurzua
parents:
diff changeset
808
jurzua
parents:
diff changeset
809 public String getSelectPersonType() {
jurzua
parents:
diff changeset
810 return selectPersonType;
jurzua
parents:
diff changeset
811 }
jurzua
parents:
diff changeset
812
jurzua
parents:
diff changeset
813 public void restrictedByRoleChange(ValueChangeEvent event) {
jurzua
parents:
diff changeset
814 if (event.getNewValue().equals(event.getOldValue()))
jurzua
parents:
diff changeset
815 return;
jurzua
parents:
diff changeset
816 try{
jurzua
parents:
diff changeset
817 Boolean val = (Boolean) event.getNewValue();
jurzua
parents:
diff changeset
818 this.setRestrictedByRole(val);
jurzua
parents:
diff changeset
819 this.updatePersonList();
jurzua
parents:
diff changeset
820 }catch(Exception ex){
jurzua
parents:
diff changeset
821 ex.printStackTrace();
jurzua
parents:
diff changeset
822 }
jurzua
parents:
diff changeset
823 }
jurzua
parents:
diff changeset
824
jurzua
parents:
diff changeset
825 public void listenerConvertCreationDate(ActionEvent event) {
jurzua
parents:
diff changeset
826 /*
jurzua
parents:
diff changeset
827 try{
jurzua
parents:
diff changeset
828
jurzua
parents:
diff changeset
829 String newDate = this.islamicCalCopyDate.islamic2Gregorian();
jurzua
parents:
diff changeset
830 String newJulianDate = this.islamicCalCopyDate.islamic2Julian();
jurzua
parents:
diff changeset
831
jurzua
parents:
diff changeset
832 getAttributes().put("creation_date_ce", newDate);
jurzua
parents:
diff changeset
833 getAttributes().put("creation_date_julian", newJulianDate);
jurzua
parents:
diff changeset
834
jurzua
parents:
diff changeset
835 }catch(Exception e){
jurzua
parents:
diff changeset
836 e.printStackTrace();
jurzua
parents:
diff changeset
837 addGeneralMsg("Error converting date!");
jurzua
parents:
diff changeset
838 addGeneralMsg("The islamic calendar begins on Friday, July 16th, 622 C.E. in the Julian calendar.");
jurzua
parents:
diff changeset
839 addGeneralMsg("The date must be equals or bigger than yawm al-jum'a, 1.Muharram.1 (5.1.1.1)");
jurzua
parents:
diff changeset
840 }
jurzua
parents:
diff changeset
841 */
jurzua
parents:
diff changeset
842 }
jurzua
parents:
diff changeset
843
jurzua
parents:
diff changeset
844
jurzua
parents:
diff changeset
845 public void selectCodexFromOverviewAction(ActionEvent ae){
jurzua
parents:
diff changeset
846 /* rich
jurzua
parents:
diff changeset
847
jurzua
parents:
diff changeset
848 HtmlCommandButton cp = (HtmlCommandButton)ae.getComponent();
jurzua
parents:
diff changeset
849 Long id = (Long) cp.getValue();
jurzua
parents:
diff changeset
850 //juc Entity ent = getOntology().getEntityById(id);
jurzua
parents:
diff changeset
851 Entity ent = getWrapper().getEntityById(id);
jurzua
parents:
diff changeset
852 this.getCodexLo().setEntityAndAttribute(ent, "identifier");
jurzua
parents:
diff changeset
853 //changeValueAttCodex(this.getCodexLo().getAttribute().getOwnValue());
jurzua
parents:
diff changeset
854 setCodicesOverviewRendered(false);
jurzua
parents:
diff changeset
855
jurzua
parents:
diff changeset
856 */
jurzua
parents:
diff changeset
857
jurzua
parents:
diff changeset
858
jurzua
parents:
diff changeset
859 }
jurzua
parents:
diff changeset
860
jurzua
parents:
diff changeset
861 public String closeCodicesOverview(){
jurzua
parents:
diff changeset
862 setCodicesOverviewRendered(false);
jurzua
parents:
diff changeset
863 return "CLOSE";
jurzua
parents:
diff changeset
864
jurzua
parents:
diff changeset
865 }
jurzua
parents:
diff changeset
866
jurzua
parents:
diff changeset
867
jurzua
parents:
diff changeset
868 private boolean isCodexIdentifierSet(String user){
jurzua
parents:
diff changeset
869 try {
jurzua
parents:
diff changeset
870
jurzua
parents:
diff changeset
871 if(StatusImage.STATUS_OK.equals(getCodexLo().getStatus())){
jurzua
parents:
diff changeset
872 return true;
jurzua
parents:
diff changeset
873 }
jurzua
parents:
diff changeset
874
jurzua
parents:
diff changeset
875 String identifier = getNewIdentifier();
jurzua
parents:
diff changeset
876
jurzua
parents:
diff changeset
877 if(!StatusImage.STATUS_OK.equals(getCollectionLo().getStatus()) ||
jurzua
parents:
diff changeset
878 StringUtils.isEmpty(identifier)){
jurzua
parents:
diff changeset
879 //we can not save the witness
jurzua
parents:
diff changeset
880 if(!StatusImage.STATUS_OK.equals(getCollectionLo().getStatus())){
jurzua
parents:
diff changeset
881 addErrorMsg("The Collection is not valid.");
jurzua
parents:
diff changeset
882 }
jurzua
parents:
diff changeset
883 if(StringUtils.isEmpty(identifier)){
jurzua
parents:
diff changeset
884 addErrorMsg("The Codex does not have an valid identifier.");
jurzua
parents:
diff changeset
885 }
jurzua
parents:
diff changeset
886 addErrorMsg("The Witness could not be saved.");
jurzua
parents:
diff changeset
887 return false;
jurzua
parents:
diff changeset
888 }else {
jurzua
parents:
diff changeset
889 //two possibilities:
jurzua
parents:
diff changeset
890 //1. there exist a codex with the same id
jurzua
parents:
diff changeset
891 //2. there is no a codex with this id, it should be saved.
jurzua
parents:
diff changeset
892
jurzua
parents:
diff changeset
893 if(StringUtils.isNotEmpty(identifier)){
jurzua
parents:
diff changeset
894 List<Entity> codexListOfCollection =
jurzua
parents:
diff changeset
895 getWrapper().getSourcesForTargetRelation(getCollectionLo().getEntity(),
jurzua
parents:
diff changeset
896 is_part_of, CODEX, -1);
jurzua
parents:
diff changeset
897 for(Entity possibleCodex : codexListOfCollection){
jurzua
parents:
diff changeset
898 //juc Attribute att = getWrapper().getAttributeByName(possibleCodex, "identifier");
jurzua
parents:
diff changeset
899 Attribute att = getWrapper().getAttributeByName(possibleCodex.getId(), "identifier");
jurzua
parents:
diff changeset
900 if(att != null && identifier.equals(att.getValue())){
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
901 getCodexLo().setEntityAndAttributeName(possibleCodex, "identifier");
1
jurzua
parents:
diff changeset
902 return true;
jurzua
parents:
diff changeset
903 }
jurzua
parents:
diff changeset
904 }
jurzua
parents:
diff changeset
905 }
jurzua
parents:
diff changeset
906 }
jurzua
parents:
diff changeset
907
jurzua
parents:
diff changeset
908 //if the Collection Status == OK && the Codex.identifier != null
jurzua
parents:
diff changeset
909 Entity newCodex = new Entity(Node.TYPE_ABOX, CODEX, false);
jurzua
parents:
diff changeset
910 newCodex.addAttribute(new Attribute("identifier", TEXT, identifier));
jurzua
parents:
diff changeset
911 getWrapper().saveEntity(newCodex, user);
jurzua
parents:
diff changeset
912 Relation isPartOf = new Relation(newCodex, getCollectionLo().getEntity(), is_part_of);
jurzua
parents:
diff changeset
913 getWrapper().saveRelationAsNode(isPartOf, user);
111
22a18bfc66b0 new completion that uses ALIASes: AbstractListenerObject. was_copied_in in WITNESS form can use PLACE aliases now. some cleanup.
casties
parents: 1
diff changeset
914 getCodexLo().setEntityAndAttributeName(newCodex, "identifier");
1
jurzua
parents:
diff changeset
915
jurzua
parents:
diff changeset
916 } catch (Exception e) {
jurzua
parents:
diff changeset
917 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
918 return false;
jurzua
parents:
diff changeset
919 }
jurzua
parents:
diff changeset
920 return true;
jurzua
parents:
diff changeset
921 }
jurzua
parents:
diff changeset
922
jurzua
parents:
diff changeset
923 public boolean isCreateCodexRendered() {
jurzua
parents:
diff changeset
924 return createCodexRendered;
jurzua
parents:
diff changeset
925 }
jurzua
parents:
diff changeset
926
jurzua
parents:
diff changeset
927 public void setCreateCodexRendered(boolean createCodexRendered) {
jurzua
parents:
diff changeset
928 this.createCodexRendered = createCodexRendered;
jurzua
parents:
diff changeset
929 }
jurzua
parents:
diff changeset
930
jurzua
parents:
diff changeset
931 @Override
jurzua
parents:
diff changeset
932 public String loadCloneEntity(){
jurzua
parents:
diff changeset
933 this.setCodex(getCloneEntity());
jurzua
parents:
diff changeset
934 this.setRenderUnityCheckerDialog(false);
jurzua
parents:
diff changeset
935 this.checkConsistencyFromCountryToCodex();
jurzua
parents:
diff changeset
936 return PAGE_EDITOR;
jurzua
parents:
diff changeset
937 }
jurzua
parents:
diff changeset
938
jurzua
parents:
diff changeset
939 public List<CodexForList> getCodicesAll() {
jurzua
parents:
diff changeset
940 return codicesAll;
jurzua
parents:
diff changeset
941 }
jurzua
parents:
diff changeset
942
jurzua
parents:
diff changeset
943 public void setCodicesAll(List<CodexForList> codicesAll) {
jurzua
parents:
diff changeset
944 this.codicesAll = codicesAll;
jurzua
parents:
diff changeset
945 }
jurzua
parents:
diff changeset
946
jurzua
parents:
diff changeset
947 public void setCodicesOverviewRendered(Boolean codicesOverviewRendered) {
jurzua
parents:
diff changeset
948 this.codicesOverviewRendered = codicesOverviewRendered;
jurzua
parents:
diff changeset
949 }
jurzua
parents:
diff changeset
950
jurzua
parents:
diff changeset
951 public Boolean getCodicesOverviewRendered() {
jurzua
parents:
diff changeset
952 return codicesOverviewRendered;
jurzua
parents:
diff changeset
953 }
jurzua
parents:
diff changeset
954
jurzua
parents:
diff changeset
955 /**
jurzua
parents:
diff changeset
956 * Teste ob es Codices mit gleichem identifier gibt!
jurzua
parents:
diff changeset
957 * @return
jurzua
parents:
diff changeset
958 */
jurzua
parents:
diff changeset
959 public Boolean getRenderShowAllCodexCandidates(){
jurzua
parents:
diff changeset
960 return renderShowAllCodexCandidates;
jurzua
parents:
diff changeset
961 }
jurzua
parents:
diff changeset
962
jurzua
parents:
diff changeset
963
jurzua
parents:
diff changeset
964
jurzua
parents:
diff changeset
965 public List<SelectItem> getSuggestedTitlesWritten() {
jurzua
parents:
diff changeset
966 return suggestedTitlesWritten;
jurzua
parents:
diff changeset
967 }
jurzua
parents:
diff changeset
968
jurzua
parents:
diff changeset
969 public void setSuggestedTitlesWritten(List<SelectItem> suggestedTitlesWritten) {
jurzua
parents:
diff changeset
970 this.suggestedTitlesWritten = suggestedTitlesWritten;
jurzua
parents:
diff changeset
971 }
jurzua
parents:
diff changeset
972
jurzua
parents:
diff changeset
973 public List<SelectItem> getSuggestedAuthorsWritten() {
jurzua
parents:
diff changeset
974 return suggestedAuthorsWritten;
jurzua
parents:
diff changeset
975 }
jurzua
parents:
diff changeset
976
jurzua
parents:
diff changeset
977 public void setSuggestedAuthorsWritten(List<SelectItem> suggestedAuthorsWritten) {
jurzua
parents:
diff changeset
978 this.suggestedAuthorsWritten = suggestedAuthorsWritten;
jurzua
parents:
diff changeset
979 }
jurzua
parents:
diff changeset
980
jurzua
parents:
diff changeset
981 public void codexCodexChangeListener(ValueChangeEvent event) {
jurzua
parents:
diff changeset
982 if (event.getNewValue() == null) {
jurzua
parents:
diff changeset
983 return;
jurzua
parents:
diff changeset
984 }
jurzua
parents:
diff changeset
985 if (event.getNewValue().equals(event.getOldValue())) {
jurzua
parents:
diff changeset
986 return;
jurzua
parents:
diff changeset
987 }
jurzua
parents:
diff changeset
988 this.getCodexLo().statusImage.setStatus(StatusImage.STATUS_UNSET);
jurzua
parents:
diff changeset
989 this.getCodexLo().attribute.setValue(event.getNewValue().toString());
jurzua
parents:
diff changeset
990 }
jurzua
parents:
diff changeset
991 public Long getValueTitleSelectedId() {
jurzua
parents:
diff changeset
992 return valueTitleSelectedId;
jurzua
parents:
diff changeset
993 }
jurzua
parents:
diff changeset
994
jurzua
parents:
diff changeset
995 public void setValueTitleSelectedId(Long valueTitleSelectedId) {
jurzua
parents:
diff changeset
996 this.valueTitleSelectedId = valueTitleSelectedId;
jurzua
parents:
diff changeset
997 }
jurzua
parents:
diff changeset
998
jurzua
parents:
diff changeset
999 public ListenerObject getCopyistLo() {
jurzua
parents:
diff changeset
1000 return copyistLo;
jurzua
parents:
diff changeset
1001 }
jurzua
parents:
diff changeset
1002
jurzua
parents:
diff changeset
1003 public void setCopyistLo(ListenerObject copyistLo) {
jurzua
parents:
diff changeset
1004 this.copyistLo = copyistLo;
jurzua
parents:
diff changeset
1005 }
jurzua
parents:
diff changeset
1006
jurzua
parents:
diff changeset
1007 public ListenerObject getCopyPlaceLo() {
jurzua
parents:
diff changeset
1008 return copyPlaceLo;
jurzua
parents:
diff changeset
1009 }
jurzua
parents:
diff changeset
1010
jurzua
parents:
diff changeset
1011 public void setCopyPlaceLo(ListenerObject copyPlaceLo) {
jurzua
parents:
diff changeset
1012 this.copyPlaceLo = copyPlaceLo;
jurzua
parents:
diff changeset
1013 }
jurzua
parents:
diff changeset
1014
jurzua
parents:
diff changeset
1015 public ListenerObject getPatronageLo() {
jurzua
parents:
diff changeset
1016 return patronageLo;
jurzua
parents:
diff changeset
1017 }
jurzua
parents:
diff changeset
1018
jurzua
parents:
diff changeset
1019 public void setPatronageLo(ListenerObject patronageLo) {
jurzua
parents:
diff changeset
1020 this.patronageLo = patronageLo;
jurzua
parents:
diff changeset
1021 }
jurzua
parents:
diff changeset
1022
jurzua
parents:
diff changeset
1023 public ListenerObject getTitleLo() {
jurzua
parents:
diff changeset
1024 return titleLo;
jurzua
parents:
diff changeset
1025 }
jurzua
parents:
diff changeset
1026
jurzua
parents:
diff changeset
1027 public void setTitleLo(ListenerObject titleLo) {
jurzua
parents:
diff changeset
1028 this.titleLo = titleLo;
jurzua
parents:
diff changeset
1029 }
jurzua
parents:
diff changeset
1030
jurzua
parents:
diff changeset
1031 public ListenerObject getAuthorLo() {
jurzua
parents:
diff changeset
1032 return authorLo;
jurzua
parents:
diff changeset
1033 }
jurzua
parents:
diff changeset
1034
jurzua
parents:
diff changeset
1035 public String getNewIdentifier() {
jurzua
parents:
diff changeset
1036 return newIdentifier;
jurzua
parents:
diff changeset
1037 }
jurzua
parents:
diff changeset
1038
jurzua
parents:
diff changeset
1039 public void setNewIdentifier(String newIdentifier) {
jurzua
parents:
diff changeset
1040 this.newIdentifier = newIdentifier;
jurzua
parents:
diff changeset
1041 }
jurzua
parents:
diff changeset
1042
jurzua
parents:
diff changeset
1043 public EntityList getStudiedByList() {
jurzua
parents:
diff changeset
1044 return studiedByList;
jurzua
parents:
diff changeset
1045 }
jurzua
parents:
diff changeset
1046
jurzua
parents:
diff changeset
1047 public Calendar getCopyDate() {
jurzua
parents:
diff changeset
1048 return copyDate;
jurzua
parents:
diff changeset
1049 }
jurzua
parents:
diff changeset
1050
jurzua
parents:
diff changeset
1051 public void setCopyDate(Calendar copyDate) {
jurzua
parents:
diff changeset
1052 this.copyDate = copyDate;
jurzua
parents:
diff changeset
1053 }
jurzua
parents:
diff changeset
1054
jurzua
parents:
diff changeset
1055 public void setStudiedByList(EntityList studiedByList) {
jurzua
parents:
diff changeset
1056 this.studiedByList = studiedByList;
jurzua
parents:
diff changeset
1057 }
jurzua
parents:
diff changeset
1058 public Long getValueAuthorSelectedId() {
jurzua
parents:
diff changeset
1059 return valueAuthorSelectedId;
jurzua
parents:
diff changeset
1060 }
jurzua
parents:
diff changeset
1061
jurzua
parents:
diff changeset
1062 public void setValueAuthorSelectedId(Long valueAuthorSelectedId) {
jurzua
parents:
diff changeset
1063 this.valueAuthorSelectedId = valueAuthorSelectedId;
jurzua
parents:
diff changeset
1064 }
jurzua
parents:
diff changeset
1065
jurzua
parents:
diff changeset
1066 public String getValueTextWritten() {
jurzua
parents:
diff changeset
1067 return valueTextWritten;
jurzua
parents:
diff changeset
1068 }
jurzua
parents:
diff changeset
1069
jurzua
parents:
diff changeset
1070 public void setValueTextWritten(String valueTextWritten) {
jurzua
parents:
diff changeset
1071 //this.valueTextWritten = valueTextWritten;
jurzua
parents:
diff changeset
1072 }
jurzua
parents:
diff changeset
1073
jurzua
parents:
diff changeset
1074 public String getValueAuthorWritten() {
jurzua
parents:
diff changeset
1075 return valueAuthorWritten;
jurzua
parents:
diff changeset
1076 }
jurzua
parents:
diff changeset
1077
jurzua
parents:
diff changeset
1078 public void setValueAuthorWritten(String valueAuthorWritten) {
jurzua
parents:
diff changeset
1079 //this.valueAuthorWritten = valueAuthorWritten;
jurzua
parents:
diff changeset
1080 }
jurzua
parents:
diff changeset
1081
jurzua
parents:
diff changeset
1082 public void setAuthorLo(ListenerObject authorLo) {
jurzua
parents:
diff changeset
1083 this.authorLo = authorLo;
jurzua
parents:
diff changeset
1084 }
jurzua
parents:
diff changeset
1085
jurzua
parents:
diff changeset
1086 public Long getSelectedTitleId() {
jurzua
parents:
diff changeset
1087 return selectedTitleId;
jurzua
parents:
diff changeset
1088 }
jurzua
parents:
diff changeset
1089
jurzua
parents:
diff changeset
1090 public void setSelectedTitleId(Long selectedTitleId) {
jurzua
parents:
diff changeset
1091 this.selectedTitleId = selectedTitleId;
jurzua
parents:
diff changeset
1092 }
jurzua
parents:
diff changeset
1093 public Long getSelectedPersonId() {
jurzua
parents:
diff changeset
1094 return selectedPersonId;
jurzua
parents:
diff changeset
1095 }
jurzua
parents:
diff changeset
1096
jurzua
parents:
diff changeset
1097 public void setSelectedPersonId(Long selectedPersonId) {
jurzua
parents:
diff changeset
1098 this.selectedPersonId = selectedPersonId;
jurzua
parents:
diff changeset
1099 }
jurzua
parents:
diff changeset
1100
jurzua
parents:
diff changeset
1101 public boolean isTextUnknown() {
jurzua
parents:
diff changeset
1102 return textUnknown;
jurzua
parents:
diff changeset
1103 }
jurzua
parents:
diff changeset
1104
jurzua
parents:
diff changeset
1105 public void setTextUnknown(boolean textUnknown) {
jurzua
parents:
diff changeset
1106 this.textUnknown = textUnknown;
jurzua
parents:
diff changeset
1107 }
jurzua
parents:
diff changeset
1108
jurzua
parents:
diff changeset
1109 public EntityList getPossibleExamplerOfList() {
jurzua
parents:
diff changeset
1110 return possibleExamplerOfList;
jurzua
parents:
diff changeset
1111 }
jurzua
parents:
diff changeset
1112
jurzua
parents:
diff changeset
1113 public void setPossibleExamplerOfList(EntityList possibleExamplerOfList) {
jurzua
parents:
diff changeset
1114 this.possibleExamplerOfList = possibleExamplerOfList;
jurzua
parents:
diff changeset
1115 }
jurzua
parents:
diff changeset
1116
jurzua
parents:
diff changeset
1117 }
jurzua
parents:
diff changeset
1118