annotate src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentDigitalizationBean.java @ 121:6f0e9a333c15

misidentification of witness mostly works now.
author casties
date Mon, 09 Jan 2017 20:37:29 +0100
parents 22a18bfc66b0
children 28a0c2726466
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.List;
jurzua
parents:
diff changeset
5
84
e2f6ccc4d322 add "remove codex" button to digitalization form.
casties
parents: 1
diff changeset
6 import javax.faces.event.ActionEvent;
e2f6ccc4d322 add "remove codex" button to digitalization form.
casties
parents: 1
diff changeset
7
1
jurzua
parents:
diff changeset
8 import org.apache.log4j.Logger;
jurzua
parents:
diff changeset
9 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
10 import org.mpi.openmind.repository.bo.Node;
jurzua
parents:
diff changeset
11 import org.mpi.openmind.security.bo.User;
jurzua
parents:
diff changeset
12
84
e2f6ccc4d322 add "remove codex" button to digitalization form.
casties
parents: 1
diff changeset
13 import de.mpiwg.itgroup.ismi.auxObjects.ListenerObject;
e2f6ccc4d322 add "remove codex" button to digitalization form.
casties
parents: 1
diff changeset
14
1
jurzua
parents:
diff changeset
15 public class CurrentDigitalizationBean extends CodexEditorTemplate implements Serializable{
jurzua
parents:
diff changeset
16
jurzua
parents:
diff changeset
17 private static final long serialVersionUID = 4910425502556948216L;
jurzua
parents:
diff changeset
18
jurzua
parents:
diff changeset
19 private static Logger logger = Logger.getLogger(CurrentDigitalizationBean.class);
jurzua
parents:
diff changeset
20
jurzua
parents:
diff changeset
21
jurzua
parents:
diff changeset
22 public CurrentDigitalizationBean(){
jurzua
parents:
diff changeset
23 super();
jurzua
parents:
diff changeset
24 this.entity = new Entity(Node.TYPE_ABOX, DIGITALIZATION, false);
jurzua
parents:
diff changeset
25 setDefObjectClass(DIGITALIZATION);
jurzua
parents:
diff changeset
26 }
jurzua
parents:
diff changeset
27
jurzua
parents:
diff changeset
28 @Override
jurzua
parents:
diff changeset
29 public void reset(){
jurzua
parents:
diff changeset
30 super.reset();
jurzua
parents:
diff changeset
31 this.entity = new Entity(Node.TYPE_ABOX, DIGITALIZATION, false);
jurzua
parents:
diff changeset
32 }
jurzua
parents:
diff changeset
33
jurzua
parents:
diff changeset
34 @Override
jurzua
parents:
diff changeset
35 public void setEntity(Entity digi){
jurzua
parents:
diff changeset
36 this.reset();
jurzua
parents:
diff changeset
37 this.entity = digi;
jurzua
parents:
diff changeset
38
jurzua
parents:
diff changeset
39 if(this.entity.isPersistent()){
jurzua
parents:
diff changeset
40 if (entity.isLightweight()) {
jurzua
parents:
diff changeset
41 entity = getWrapper().getEntityContent(digi);
jurzua
parents:
diff changeset
42 }
jurzua
parents:
diff changeset
43 }
jurzua
parents:
diff changeset
44
jurzua
parents:
diff changeset
45 this.loadAttributes(this.entity);
jurzua
parents:
diff changeset
46
jurzua
parents:
diff changeset
47 List<Entity> list = getWrapper().getTargetsForSourceRelation(entity, is_digitalization_of, CODEX, -1);
jurzua
parents:
diff changeset
48 if(list.size() > 0){
jurzua
parents:
diff changeset
49 this.setCodex(list.get(0));
jurzua
parents:
diff changeset
50 }
jurzua
parents:
diff changeset
51 }
jurzua
parents:
diff changeset
52
jurzua
parents:
diff changeset
53
jurzua
parents:
diff changeset
54 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: 84
diff changeset
55 this.getCodexLo().setEntityAndAttributeName(codex, "identifier");
1
jurzua
parents:
diff changeset
56
jurzua
parents:
diff changeset
57 if(this.getCodexLo().entity != null && this.getCodexLo().entity.isPersistent()){
jurzua
parents:
diff changeset
58
jurzua
parents:
diff changeset
59 List<Entity> list = getWrapper().getTargetsForSourceRelation(codex, is_part_of, COLLECTION, 1);
jurzua
parents:
diff changeset
60 if(list.size() > 0){
jurzua
parents:
diff changeset
61 this.setCollection(list.get(0));
jurzua
parents:
diff changeset
62 }
jurzua
parents:
diff changeset
63 }
jurzua
parents:
diff changeset
64 }
jurzua
parents:
diff changeset
65
84
e2f6ccc4d322 add "remove codex" button to digitalization form.
casties
parents: 1
diff changeset
66 public void unsetCodex(ActionEvent event){
e2f6ccc4d322 add "remove codex" button to digitalization form.
casties
parents: 1
diff changeset
67 this.setCodexLo(new ListenerObject());
e2f6ccc4d322 add "remove codex" button to digitalization form.
casties
parents: 1
diff changeset
68 //this.getCodexLo().setEntityAndAttribute(null, null);
e2f6ccc4d322 add "remove codex" button to digitalization form.
casties
parents: 1
diff changeset
69 }
e2f6ccc4d322 add "remove codex" button to digitalization form.
casties
parents: 1
diff changeset
70
1
jurzua
parents:
diff changeset
71 @Override
jurzua
parents:
diff changeset
72 public String save() {
jurzua
parents:
diff changeset
73 super.save();
jurzua
parents:
diff changeset
74 try {
jurzua
parents:
diff changeset
75 User user = getSessionUser();
jurzua
parents:
diff changeset
76
jurzua
parents:
diff changeset
77 this.entity = this.updateEntityAttributes(this.entity);
jurzua
parents:
diff changeset
78
jurzua
parents:
diff changeset
79 // DIGITALIZATION -> is_digitalization_of -> CODEX
jurzua
parents:
diff changeset
80 this.entity.replaceSourceRelation(getCodexLo().entity, CODEX, is_digitalization_of);
jurzua
parents:
diff changeset
81
jurzua
parents:
diff changeset
82 this.entity = getWrapper().saveEntity(this.entity, user.getEmail());
jurzua
parents:
diff changeset
83
jurzua
parents:
diff changeset
84 this.setEntity(this.entity);
jurzua
parents:
diff changeset
85
jurzua
parents:
diff changeset
86 logger.info("Entity saved - Time = " + (System.currentTimeMillis() - start) + ", " + entity);
jurzua
parents:
diff changeset
87
jurzua
parents:
diff changeset
88 this.printSuccessSavingEntity();
jurzua
parents:
diff changeset
89
jurzua
parents:
diff changeset
90 } catch (Exception e) {
jurzua
parents:
diff changeset
91 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
92 e.printStackTrace();
jurzua
parents:
diff changeset
93 this.printInternalError(e);
jurzua
parents:
diff changeset
94 }
jurzua
parents:
diff changeset
95 saveEnd();
jurzua
parents:
diff changeset
96 return PAGE_EDITOR;
jurzua
parents:
diff changeset
97 }
jurzua
parents:
diff changeset
98
jurzua
parents:
diff changeset
99
jurzua
parents:
diff changeset
100 }