annotate src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentWitnessBean.java @ 209:c9347929be25

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