annotate src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentWitnessBean.java @ 124:28a0c2726466

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