annotate src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentCodexBean.java @ 133:5ccd6e709f95

fix attribute name in EditIntent.
author casties
date Thu, 23 Feb 2017 19:25:37 +0100
parents eee2e0ca4032
children 25bfcc9d757c
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
jurzua
parents:
diff changeset
5 import java.util.ArrayList;
jurzua
parents:
diff changeset
6 import java.util.List;
jurzua
parents:
diff changeset
7
jurzua
parents:
diff changeset
8 import javax.faces.event.ActionEvent;
jurzua
parents:
diff changeset
9 import javax.faces.model.SelectItem;
jurzua
parents:
diff changeset
10
jurzua
parents:
diff changeset
11 import org.apache.commons.lang.StringUtils;
jurzua
parents:
diff changeset
12 import org.apache.log4j.Logger;
jurzua
parents:
diff changeset
13 import org.mpi.openmind.repository.bo.Attribute;
jurzua
parents:
diff changeset
14 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
15 import org.mpi.openmind.repository.bo.Node;
jurzua
parents:
diff changeset
16 import org.mpi.openmind.repository.bo.Relation;
125
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
17 import org.mpi.openmind.repository.services.utils.EditIntent;
1
jurzua
parents:
diff changeset
18
jurzua
parents:
diff changeset
19 import de.mpiwg.itgroup.ismi.util.guiComponents.Calendar;
jurzua
parents:
diff changeset
20 import de.mpiwg.itgroup.ismi.util.guiComponents.EntityList;
jurzua
parents:
diff changeset
21
jurzua
parents:
diff changeset
22 /**
jurzua
parents:
diff changeset
23 * @author jurzua
jurzua
parents:
diff changeset
24 *
jurzua
parents:
diff changeset
25 */
jurzua
parents:
diff changeset
26 public class CurrentCodexBean extends CodexEditorTemplate implements Serializable{
jurzua
parents:
diff changeset
27 private static final long serialVersionUID = -4242977362183330958L;
jurzua
parents:
diff changeset
28
jurzua
parents:
diff changeset
29 private static Logger logger = Logger.getLogger(CurrentCodexBean.class);
jurzua
parents:
diff changeset
30
jurzua
parents:
diff changeset
31 //private Entity codex;
jurzua
parents:
diff changeset
32
jurzua
parents:
diff changeset
33 private List<Entity> witnessInCurrentCodex;
jurzua
parents:
diff changeset
34 private boolean showWitnessInCurrentCodex;
jurzua
parents:
diff changeset
35
jurzua
parents:
diff changeset
36 private EntityList ownedByPeople;
jurzua
parents:
diff changeset
37 private EntityList readByPeople;
jurzua
parents:
diff changeset
38
jurzua
parents:
diff changeset
39 private List<SelectItem> suggestedBindingList = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
40
jurzua
parents:
diff changeset
41 private CodexEditorTemplate referencedCodexTemplate;
jurzua
parents:
diff changeset
42 private Boolean isAlias;
jurzua
parents:
diff changeset
43
125
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
44 /** intent to edit all attributes and relations in the form */
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
45 public static EditIntent editCodexIntent = new EditIntent(
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
46 AbstractISMIBean.CODEX,
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
47 // attributes
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
48 new String[]{"identifier", "is_alias", "public", "url_digitized_codex", "mpiwg_id", "indexmeta_folder",
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
49 "number_of_folios", "dimensions", "binding", "distinguishing_features", "notes", "notes_old",
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
50 "notes_on_ownership"},
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
51 // source relations
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
52 new String[]{"is_part_of", "is_alias_of", "owned_by", "read_by"},
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
53 // target relations
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
54 new String[]{"is_alias_of", "is_reference_of"});
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
55
1
jurzua
parents:
diff changeset
56
jurzua
parents:
diff changeset
57 public CurrentCodexBean() {
jurzua
parents:
diff changeset
58 this.entity = new Entity(Node.TYPE_ABOX, CODEX, false);
jurzua
parents:
diff changeset
59 setDefObjectClass(CODEX);
jurzua
parents:
diff changeset
60 registerChecker(getCityLo(), "city is not valid");
jurzua
parents:
diff changeset
61 registerChecker(getCountryLo(), "country is not valid");
jurzua
parents:
diff changeset
62 registerChecker(getRepositoryLo(), "repository is not valid");
jurzua
parents:
diff changeset
63 registerChecker(getCollectionLo(), "collection is not valid");
jurzua
parents:
diff changeset
64
jurzua
parents:
diff changeset
65 this.refreshBindingList();
jurzua
parents:
diff changeset
66 }
jurzua
parents:
diff changeset
67
jurzua
parents:
diff changeset
68 @Override
jurzua
parents:
diff changeset
69 public void reset(){
jurzua
parents:
diff changeset
70 super.reset();
jurzua
parents:
diff changeset
71 this.entity = new Entity(Node.TYPE_ABOX, CODEX, false);
jurzua
parents:
diff changeset
72
jurzua
parents:
diff changeset
73 this.ownedByPeople = new EntityList(PERSON, "name_translit", true);
jurzua
parents:
diff changeset
74 this.readByPeople = new EntityList(PERSON, "name_translit", true);
jurzua
parents:
diff changeset
75
jurzua
parents:
diff changeset
76 this.witnessInCurrentCodex = new ArrayList<Entity>();
jurzua
parents:
diff changeset
77 this.showWitnessInCurrentCodex = false;
jurzua
parents:
diff changeset
78 this.isAlias = false;
jurzua
parents:
diff changeset
79 this.referencedCodexTemplate = new CodexEditorTemplate();
jurzua
parents:
diff changeset
80 this.refreshBindingList();
jurzua
parents:
diff changeset
81 }
jurzua
parents:
diff changeset
82
jurzua
parents:
diff changeset
83 public void listenerRefreshBindingList(ActionEvent event){
jurzua
parents:
diff changeset
84 this.refreshBindingList();
jurzua
parents:
diff changeset
85 }
jurzua
parents:
diff changeset
86
jurzua
parents:
diff changeset
87 public void listenerEditCalendarOwnedBy(ActionEvent event){
jurzua
parents:
diff changeset
88 Entity entity = (Entity)getRequestBean("item");
jurzua
parents:
diff changeset
89 if(entity != null){
jurzua
parents:
diff changeset
90 Calendar cal = this.ownedByPeople.getCalendar(entity.getId());
jurzua
parents:
diff changeset
91 getSessionBean().editCalendar(cal, ownedByPeople, entity.getId());
jurzua
parents:
diff changeset
92 }
jurzua
parents:
diff changeset
93 }
jurzua
parents:
diff changeset
94
jurzua
parents:
diff changeset
95 public void listenerEditCalendarReadBy(ActionEvent event){
jurzua
parents:
diff changeset
96 Entity entity = (Entity)getRequestBean("item");
jurzua
parents:
diff changeset
97 if(entity != null){
jurzua
parents:
diff changeset
98 Calendar cal = this.readByPeople.getCalendar(entity.getId());
jurzua
parents:
diff changeset
99 getSessionBean().editCalendar(cal, readByPeople, entity.getId());
jurzua
parents:
diff changeset
100 }
jurzua
parents:
diff changeset
101 }
jurzua
parents:
diff changeset
102
jurzua
parents:
diff changeset
103 private void refreshBindingList(){
jurzua
parents:
diff changeset
104 this.suggestedBindingList = new ArrayList<SelectItem>();
jurzua
parents:
diff changeset
105 suggestedBindingList.add(new SelectItem("", "--choose--"));
jurzua
parents:
diff changeset
106 Attribute binding = getWrapper().getDefAttributeByOwnValue(this.entity.getObjectClass(), "binding");
jurzua
parents:
diff changeset
107 if(binding != null){
jurzua
parents:
diff changeset
108 for(String s : binding.getPossibleValuesList()){
jurzua
parents:
diff changeset
109 this.suggestedBindingList.add(new SelectItem(s));
jurzua
parents:
diff changeset
110 }
jurzua
parents:
diff changeset
111 }
jurzua
parents:
diff changeset
112 }
jurzua
parents:
diff changeset
113
jurzua
parents:
diff changeset
114 public String createCollectionAction() {
jurzua
parents:
diff changeset
115 getSessionBean().setSelectedTab(SessionBean.COLLECTION_TAB);
jurzua
parents:
diff changeset
116 return "edit";
jurzua
parents:
diff changeset
117 }
jurzua
parents:
diff changeset
118
jurzua
parents:
diff changeset
119 @Override
jurzua
parents:
diff changeset
120 public void setEntity(Entity codex) {
jurzua
parents:
diff changeset
121 this.reset();
jurzua
parents:
diff changeset
122 this.entity = codex;
jurzua
parents:
diff changeset
123 logger.info("Set Codex " + this.entity);
jurzua
parents:
diff changeset
124 try {
jurzua
parents:
diff changeset
125 if(this.entity != null && this.entity.isPersistent()){
jurzua
parents:
diff changeset
126 if(this.entity.isLightweight()){
jurzua
parents:
diff changeset
127 this.entity = getWrapper().getEntityContent(this.entity);
jurzua
parents:
diff changeset
128 }
jurzua
parents:
diff changeset
129
jurzua
parents:
diff changeset
130 this.loadAttributes(this.entity);
jurzua
parents:
diff changeset
131
jurzua
parents:
diff changeset
132 Attribute isAliasAtt = getWrapper().getAttributeByName(this.entity.getId(), "is_alias");
jurzua
parents:
diff changeset
133 if(isAlias != null){
jurzua
parents:
diff changeset
134 try{
jurzua
parents:
diff changeset
135 this.isAlias = new Boolean(isAliasAtt.getOwnValue());
jurzua
parents:
diff changeset
136 }catch(Exception ex){
jurzua
parents:
diff changeset
137 this.isAlias = false;
jurzua
parents:
diff changeset
138 }
jurzua
parents:
diff changeset
139 }else{
jurzua
parents:
diff changeset
140 this.isAlias = false;
jurzua
parents:
diff changeset
141 }
jurzua
parents:
diff changeset
142
jurzua
parents:
diff changeset
143 for(Relation rel : getWrapper().getSourceRelations(codex, owned_by, PERSON, -1)) {
jurzua
parents:
diff changeset
144 this.ownedByPeople.add(getWrapper().getEntityById(rel.getTargetId()), rel.getAttributeByName("date"));
jurzua
parents:
diff changeset
145 }
jurzua
parents:
diff changeset
146
jurzua
parents:
diff changeset
147 for(Relation rel : getWrapper().getSourceRelations(codex, "read_by", PERSON, -1)) {
jurzua
parents:
diff changeset
148 this.readByPeople.add(getWrapper().getEntityById(rel.getTargetId()), rel.getAttributeByName("date"));
jurzua
parents:
diff changeset
149 }
jurzua
parents:
diff changeset
150
jurzua
parents:
diff changeset
151 for (Entity target : getWrapper()
jurzua
parents:
diff changeset
152 .getTargetsForSourceRelation(codex, is_part_of, COLLECTION, 1)) {
jurzua
parents:
diff changeset
153 String ct = target.getObjectClass();
jurzua
parents:
diff changeset
154
jurzua
parents:
diff changeset
155 if (ct.equals(COLLECTION)) {
jurzua
parents:
diff changeset
156 this.setCollection(target);
jurzua
parents:
diff changeset
157 }
jurzua
parents:
diff changeset
158 }
jurzua
parents:
diff changeset
159
jurzua
parents:
diff changeset
160 List<Entity> list = getWrapper().getTargetsForSourceRelation(codex, "is_alias_of", CODEX, 1);
jurzua
parents:
diff changeset
161 if(!list.isEmpty()){
jurzua
parents:
diff changeset
162 this.setReferencedCodex(list.get(0));
jurzua
parents:
diff changeset
163 //this.referencedCodexTemplate.setCodexLo(codexLo);
jurzua
parents:
diff changeset
164 //this.referencedCodexLO.setEntityAndAttribute(list.get(0), "identifier");
jurzua
parents:
diff changeset
165 }
jurzua
parents:
diff changeset
166
jurzua
parents:
diff changeset
167
jurzua
parents:
diff changeset
168 //this.loadReferences(this.entity);
jurzua
parents:
diff changeset
169 this.loadEndNoteRefs();
jurzua
parents:
diff changeset
170
jurzua
parents:
diff changeset
171 this.setCurrentId(this.entity.getId().toString());
jurzua
parents:
diff changeset
172 this.checkConsistencyFromCountryToCodex();
jurzua
parents:
diff changeset
173 }
jurzua
parents:
diff changeset
174 } catch (Exception e) {
jurzua
parents:
diff changeset
175 logger.info(e.getMessage(), e);
jurzua
parents:
diff changeset
176 printInternalError(e);
jurzua
parents:
diff changeset
177 }
jurzua
parents:
diff changeset
178 }
jurzua
parents:
diff changeset
179
jurzua
parents:
diff changeset
180 public void setReferencedCodex(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: 91
diff changeset
181 this.referencedCodexTemplate.getCodexLo().setEntityAndAttributeName(codex, "identifier");
1
jurzua
parents:
diff changeset
182
jurzua
parents:
diff changeset
183 if(this.referencedCodexTemplate.getCodexLo().entity != null &&
jurzua
parents:
diff changeset
184 this.referencedCodexTemplate.getCodexLo().entity.isPersistent()){
jurzua
parents:
diff changeset
185
jurzua
parents:
diff changeset
186 List<Entity> list = getWrapper().getTargetsForSourceRelation(codex, is_part_of, COLLECTION, 1);
jurzua
parents:
diff changeset
187 if(list.size() > 0){
jurzua
parents:
diff changeset
188 this.referencedCodexTemplate.setCollection(list.get(0));
jurzua
parents:
diff changeset
189 }
jurzua
parents:
diff changeset
190 }
jurzua
parents:
diff changeset
191 }
jurzua
parents:
diff changeset
192
jurzua
parents:
diff changeset
193 @Override
jurzua
parents:
diff changeset
194 public String save() {
jurzua
parents:
diff changeset
195 super.save();
jurzua
parents:
diff changeset
196 try {
jurzua
parents:
diff changeset
197 CheckResults cr = getCheckResults();
jurzua
parents:
diff changeset
198 if (cr.hasErrors) {
jurzua
parents:
diff changeset
199 getSessionBean().setErrorMessages(cr);
jurzua
parents:
diff changeset
200 getSessionBean().setDisplayError(true);
jurzua
parents:
diff changeset
201 this.setSelectedSaveAsNew(false);
jurzua
parents:
diff changeset
202 return PAGE_EDITOR;
jurzua
parents:
diff changeset
203 }
jurzua
parents:
diff changeset
204
jurzua
parents:
diff changeset
205 if (this.entity == null) {
jurzua
parents:
diff changeset
206 this.entity = new Entity();
jurzua
parents:
diff changeset
207 this.entity.setObjectClass("CODEX");
jurzua
parents:
diff changeset
208 }
jurzua
parents:
diff changeset
209
jurzua
parents:
diff changeset
210 this.entity = this.updateEntityAttributes(this.entity);
jurzua
parents:
diff changeset
211
jurzua
parents:
diff changeset
212 if(this.entity.getAttributeByName("is_alias") != null){
jurzua
parents:
diff changeset
213 this.entity.getAttributeByName("is_alias").setOwnValue(this.isAlias.toString());
jurzua
parents:
diff changeset
214 }else{
jurzua
parents:
diff changeset
215 this.entity.addAttribute(new Attribute("is_alias", "boolean", this.isAlias.toString()));
jurzua
parents:
diff changeset
216 }
jurzua
parents:
diff changeset
217
jurzua
parents:
diff changeset
218 if(this.isAlias){
jurzua
parents:
diff changeset
219 if(referencedCodexTemplate.getCodexLo().entity != null){
jurzua
parents:
diff changeset
220 // CODEX -> is_part_of -> CODEX
jurzua
parents:
diff changeset
221 this.entity.replaceSourceRelation(referencedCodexTemplate.getCodexLo().entity, CODEX, "is_alias_of");
jurzua
parents:
diff changeset
222 }else{
jurzua
parents:
diff changeset
223 this.entity.removeAllSourceRelations("is_alias_of", CODEX);
jurzua
parents:
diff changeset
224 }
jurzua
parents:
diff changeset
225 }
jurzua
parents:
diff changeset
226
jurzua
parents:
diff changeset
227 //checking is the identifier is unique for the selected collecion
jurzua
parents:
diff changeset
228 String identifier = (this.entity.getAttributeByName("identifier") != null) ? this.entity.getAttributeByName("identifier").getValue() : "";
jurzua
parents:
diff changeset
229 if(StringUtils.isNotEmpty(identifier)){
jurzua
parents:
diff changeset
230 if(!checkUnityCodex(identifier, (isSelectedSaveAsNew()) ? null : this.entity.getId(), this.getCollectionLo().entity)){
jurzua
parents:
diff changeset
231 this.renderUnityCheckerDialog();
jurzua
parents:
diff changeset
232 this.setSelectedSaveAsNew(false);
jurzua
parents:
diff changeset
233 return PAGE_EDITOR;
jurzua
parents:
diff changeset
234 }
jurzua
parents:
diff changeset
235 }else{
jurzua
parents:
diff changeset
236 this.addErrorMsg("This entity has not been saved, because its identifier was empty.");
jurzua
parents:
diff changeset
237 this.addErrorMsg("You must enter an identifier.");
jurzua
parents:
diff changeset
238 return PAGE_EDITOR;
jurzua
parents:
diff changeset
239 }
jurzua
parents:
diff changeset
240
jurzua
parents:
diff changeset
241 if(!isCodexConsistentBeforeSave()){
jurzua
parents:
diff changeset
242 return PAGE_EDITOR;
jurzua
parents:
diff changeset
243 }
jurzua
parents:
diff changeset
244
jurzua
parents:
diff changeset
245 this.entity.replaceSourceRelation(this.getCollectionLo().entity, COLLECTION, is_part_of);
jurzua
parents:
diff changeset
246
jurzua
parents:
diff changeset
247 // CODEX -> owner_by (manyToMany) -> PERSON
jurzua
parents:
diff changeset
248 this.entity.removeAllSourceRelationsByName(owned_by);
jurzua
parents:
diff changeset
249
jurzua
parents:
diff changeset
250 // CODEX -> read_by (manyToMany) -> PERSON
jurzua
parents:
diff changeset
251 this.entity.removeAllSourceRelationsByName("read_by");
jurzua
parents:
diff changeset
252
jurzua
parents:
diff changeset
253 //REFERENCE -> is_reference_of -> THIS
jurzua
parents:
diff changeset
254 //this.entity = this.prepareReferencesToSave(this.entity);
jurzua
parents:
diff changeset
255 this.prepareEndNoteRefs2Save();
jurzua
parents:
diff changeset
256
jurzua
parents:
diff changeset
257 if (this.isSelectedSaveAsNew()) {
125
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
258 //this.entity = getWrapper().saveEntityAsNew(this.entity,getSessionUser().getEmail());
1
jurzua
parents:
diff changeset
259 this.setSelectedSaveAsNew(false);
jurzua
parents:
diff changeset
260 } else {
125
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
261 for (Entity owner : this.ownedByPeople.getEntities()) {
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
262 if (owner.isLightweight()) {
1
jurzua
parents:
diff changeset
263 owner = getWrapper().getEntityByIdWithContent(owner.getId());
jurzua
parents:
diff changeset
264 }
jurzua
parents:
diff changeset
265 Relation ownerBy = new Relation(this.entity, owner, owned_by);
jurzua
parents:
diff changeset
266 Calendar cal = ownedByPeople.getCalendar(owner.getId());
125
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
267 if (cal != null) {
1
jurzua
parents:
diff changeset
268 ownerBy.addAttribute(new Attribute("date", "date", cal.toJSONString()));
jurzua
parents:
diff changeset
269 }
jurzua
parents:
diff changeset
270 }
125
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
271 for (Entity reader : this.readByPeople.getEntities()) {
1
jurzua
parents:
diff changeset
272 Relation readBy = new Relation(this.entity, reader, "read_by");
jurzua
parents:
diff changeset
273 Calendar cal = readByPeople.getCalendar(reader.getId());
125
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
274 if (cal != null) {
1
jurzua
parents:
diff changeset
275 readBy.addAttribute(new Attribute("date", "date", cal.toJSONString()));
jurzua
parents:
diff changeset
276 }
jurzua
parents:
diff changeset
277 }
125
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
278
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
279 this.entity = getWrapper().saveEntity(this.entity, getSessionUser().getEmail(), editCodexIntent);
1
jurzua
parents:
diff changeset
280 }
jurzua
parents:
diff changeset
281
91
d172201d24ad more comments and refactorings.
casties
parents: 1
diff changeset
282 this.updateRelatedOW(this.entity, getSessionUser().getEmail());
1
jurzua
parents:
diff changeset
283 getSessionBean().setEditFormCurrentEntId(this.entity.getId());
jurzua
parents:
diff changeset
284
jurzua
parents:
diff changeset
285 logger.info("Entity saved - Time = " + (System.currentTimeMillis() - start) + ", " + entity);
jurzua
parents:
diff changeset
286 this.printSuccessSavingEntity();
jurzua
parents:
diff changeset
287
jurzua
parents:
diff changeset
288 this.setSelectedSaveAsNew(false);
jurzua
parents:
diff changeset
289
jurzua
parents:
diff changeset
290 } catch (Exception e) {
jurzua
parents:
diff changeset
291 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
292 e.printStackTrace();
jurzua
parents:
diff changeset
293 this.printInternalError(e);
jurzua
parents:
diff changeset
294 }
jurzua
parents:
diff changeset
295
jurzua
parents:
diff changeset
296 saveEnd();
jurzua
parents:
diff changeset
297 return PAGE_EDITOR;
jurzua
parents:
diff changeset
298 }
jurzua
parents:
diff changeset
299
jurzua
parents:
diff changeset
300 public String saveAsNewEntity() {
jurzua
parents:
diff changeset
301 this.setSelectedSaveAsNew(true);
jurzua
parents:
diff changeset
302 return save();
jurzua
parents:
diff changeset
303 }
jurzua
parents:
diff changeset
304
jurzua
parents:
diff changeset
305 public void setLWCodex(Entity codex) {
jurzua
parents:
diff changeset
306 this.entity = codex;
jurzua
parents:
diff changeset
307 }
jurzua
parents:
diff changeset
308
jurzua
parents:
diff changeset
309 public void actionShowWitnessDialog(ActionEvent event){
jurzua
parents:
diff changeset
310 if(this.witnessInCurrentCodex.size() == 0 && this.entity.isPersistent()){
jurzua
parents:
diff changeset
311 this.witnessInCurrentCodex =
jurzua
parents:
diff changeset
312 getWrapper().getSourcesForTargetRelation(this.entity, "is_part_of", "WITNESS", 50);
jurzua
parents:
diff changeset
313 }
jurzua
parents:
diff changeset
314 this.setShowWitnessInCurrentCodex(true);
jurzua
parents:
diff changeset
315 }
jurzua
parents:
diff changeset
316
jurzua
parents:
diff changeset
317 public void actionCloseWitnessDialog(ActionEvent event){
jurzua
parents:
diff changeset
318 this.setShowWitnessInCurrentCodex(false);
jurzua
parents:
diff changeset
319 }
jurzua
parents:
diff changeset
320
jurzua
parents:
diff changeset
321 public void actionEditThisWitness(ActionEvent event){
jurzua
parents:
diff changeset
322 this.setShowWitnessInCurrentCodex(false);
jurzua
parents:
diff changeset
323 Entity currentWitness = (Entity)getRequestBean("witness");
jurzua
parents:
diff changeset
324 if(currentWitness != null && currentWitness.isPersistent()){
jurzua
parents:
diff changeset
325 getSessionBean().editEntity(currentWitness);
jurzua
parents:
diff changeset
326 }
jurzua
parents:
diff changeset
327 }
jurzua
parents:
diff changeset
328
jurzua
parents:
diff changeset
329 public List<Entity> getWitnessInCurrentCodex() {
jurzua
parents:
diff changeset
330 return witnessInCurrentCodex;
jurzua
parents:
diff changeset
331 }
jurzua
parents:
diff changeset
332
jurzua
parents:
diff changeset
333 public void setWitnessInCurrentCodex(List<Entity> witnessInCurrentCodex) {
jurzua
parents:
diff changeset
334 this.witnessInCurrentCodex = witnessInCurrentCodex;
jurzua
parents:
diff changeset
335 }
jurzua
parents:
diff changeset
336
jurzua
parents:
diff changeset
337 public boolean isShowWitnessInCurrentCodex() {
jurzua
parents:
diff changeset
338 if(this.entity == null || !this.entity.isPersistent()){
jurzua
parents:
diff changeset
339 return false;
jurzua
parents:
diff changeset
340 }
jurzua
parents:
diff changeset
341 return showWitnessInCurrentCodex;
jurzua
parents:
diff changeset
342 }
jurzua
parents:
diff changeset
343
jurzua
parents:
diff changeset
344 public void setShowWitnessInCurrentCodex(boolean showWitnessInCurrentCodex) {
jurzua
parents:
diff changeset
345 this.showWitnessInCurrentCodex = showWitnessInCurrentCodex;
jurzua
parents:
diff changeset
346 }
jurzua
parents:
diff changeset
347
jurzua
parents:
diff changeset
348 public void actionEditThisCollection(ActionEvent event){
jurzua
parents:
diff changeset
349 if(this.getCollectionLo().entity != null && getCollectionLo().entity.isPersistent()){
jurzua
parents:
diff changeset
350 getSessionBean().editEntity(this.getCollectionLo().entity);
jurzua
parents:
diff changeset
351 }
jurzua
parents:
diff changeset
352 }
jurzua
parents:
diff changeset
353
jurzua
parents:
diff changeset
354 public EntityList getOwnedByPeople() {
jurzua
parents:
diff changeset
355 return ownedByPeople;
jurzua
parents:
diff changeset
356 }
jurzua
parents:
diff changeset
357
jurzua
parents:
diff changeset
358 public void setOwnedByPeople(EntityList ownedByPeople) {
jurzua
parents:
diff changeset
359 this.ownedByPeople = ownedByPeople;
jurzua
parents:
diff changeset
360 }
jurzua
parents:
diff changeset
361
jurzua
parents:
diff changeset
362 public List<SelectItem> getSuggestedBindingList() {
jurzua
parents:
diff changeset
363 return suggestedBindingList;
jurzua
parents:
diff changeset
364 }
jurzua
parents:
diff changeset
365
jurzua
parents:
diff changeset
366 public void setSuggestedBindingList(List<SelectItem> suggestedBindingList) {
jurzua
parents:
diff changeset
367 this.suggestedBindingList = suggestedBindingList;
jurzua
parents:
diff changeset
368 }
jurzua
parents:
diff changeset
369
jurzua
parents:
diff changeset
370 public CodexEditorTemplate getReferencedCodexTemplate() {
jurzua
parents:
diff changeset
371 return referencedCodexTemplate;
jurzua
parents:
diff changeset
372 }
jurzua
parents:
diff changeset
373
jurzua
parents:
diff changeset
374 public void setReferencedCodexTemplate(
jurzua
parents:
diff changeset
375 CodexEditorTemplate referencedCodexTemplate) {
jurzua
parents:
diff changeset
376 this.referencedCodexTemplate = referencedCodexTemplate;
jurzua
parents:
diff changeset
377 }
jurzua
parents:
diff changeset
378
jurzua
parents:
diff changeset
379 public Boolean getIsAlias() {
jurzua
parents:
diff changeset
380 return isAlias;
jurzua
parents:
diff changeset
381 }
jurzua
parents:
diff changeset
382
jurzua
parents:
diff changeset
383 public void setIsAlias(Boolean isAlias) {
jurzua
parents:
diff changeset
384 this.isAlias = isAlias;
jurzua
parents:
diff changeset
385 }
jurzua
parents:
diff changeset
386
jurzua
parents:
diff changeset
387 public EntityList getReadByPeople() {
jurzua
parents:
diff changeset
388 return readByPeople;
jurzua
parents:
diff changeset
389 }
jurzua
parents:
diff changeset
390
jurzua
parents:
diff changeset
391 public void setReadByPeople(EntityList readByPeople) {
jurzua
parents:
diff changeset
392 this.readByPeople = readByPeople;
jurzua
parents:
diff changeset
393 }
jurzua
parents:
diff changeset
394
jurzua
parents:
diff changeset
395 }