annotate src/main/java/de/mpiwg/itgroup/ismi/browse/EntityDetailsBean.java @ 175:3d8b31508128

PublicByAuthor feature works now.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Thu, 07 Jun 2018 18:47:18 +0200
parents b40a84944716
children 8aff920ec7c0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.browse;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.util.ArrayList;
jurzua
parents:
diff changeset
4 import java.util.HashMap;
jurzua
parents:
diff changeset
5 import java.util.List;
jurzua
parents:
diff changeset
6 import java.util.Map;
jurzua
parents:
diff changeset
7
jurzua
parents:
diff changeset
8 import javax.faces.event.ActionEvent;
jurzua
parents:
diff changeset
9
jurzua
parents:
diff changeset
10 import org.apache.log4j.Logger;
jurzua
parents:
diff changeset
11 import org.mpi.openmind.repository.bo.Attribute;
jurzua
parents:
diff changeset
12 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
13 import org.mpi.openmind.repository.bo.Node;
jurzua
parents:
diff changeset
14 import org.mpi.openmind.repository.bo.Relation;
jurzua
parents:
diff changeset
15
jurzua
parents:
diff changeset
16 import de.mpiwg.itgroup.ismi.entry.beans.SessionBean;
148
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
17 import de.mpiwg.itgroup.ismi.entry.utils.PrivacityUtils;
1
jurzua
parents:
diff changeset
18 import de.mpiwg.itgroup.ismi.event.beans.CopyEvent;
jurzua
parents:
diff changeset
19 import de.mpiwg.itgroup.ismi.event.beans.StudyEvent;
jurzua
parents:
diff changeset
20 import de.mpiwg.itgroup.ismi.event.beans.TransferEvent;
jurzua
parents:
diff changeset
21
99
d0fb989bf53a better logging of entity deletion.
casties
parents: 1
diff changeset
22 public class EntityDetailsBean extends AbstractBrowse {
1
jurzua
parents:
diff changeset
23
jurzua
parents:
diff changeset
24 private static final long serialVersionUID = 1374652791403248103L;
jurzua
parents:
diff changeset
25
jurzua
parents:
diff changeset
26 private static Logger logger = Logger.getLogger(EntityDetailsBean.class);
jurzua
parents:
diff changeset
27
jurzua
parents:
diff changeset
28 private Entity entity;
jurzua
parents:
diff changeset
29 private String currentEntityId;
jurzua
parents:
diff changeset
30
jurzua
parents:
diff changeset
31 private List<Attribute> attributeList = new ArrayList<Attribute>();
jurzua
parents:
diff changeset
32 private List<String> sourceRelationNames = new ArrayList<String>();
jurzua
parents:
diff changeset
33 private List<String> targetRelationNames = new ArrayList<String>();
jurzua
parents:
diff changeset
34
jurzua
parents:
diff changeset
35 private Map<String, Long> sourceRelationCount = new HashMap<String, Long>();
jurzua
parents:
diff changeset
36 private Map<String, Long> targetRelationCount = new HashMap<String, Long>();
jurzua
parents:
diff changeset
37
jurzua
parents:
diff changeset
38 private Map<String, List<Relation>> sourceRelations = new HashMap<String, List<Relation>>();
jurzua
parents:
diff changeset
39 private Map<String, List<Relation>> targetRelations = new HashMap<String, List<Relation>>();
jurzua
parents:
diff changeset
40
jurzua
parents:
diff changeset
41 private List<Entity> previousVersionsList = new ArrayList<Entity>();
jurzua
parents:
diff changeset
42 private Entity selectedPreviousVersion = null;
jurzua
parents:
diff changeset
43 private boolean previousVersionDetailsVisible = false;
jurzua
parents:
diff changeset
44
jurzua
parents:
diff changeset
45
jurzua
parents:
diff changeset
46 public EntityDetailsBean() {
jurzua
parents:
diff changeset
47 }
jurzua
parents:
diff changeset
48
jurzua
parents:
diff changeset
49 public void listenerHideDetailsPopup(ActionEvent event){
jurzua
parents:
diff changeset
50 setPreviousVersionDetailsVisible(false);
jurzua
parents:
diff changeset
51 }
jurzua
parents:
diff changeset
52
jurzua
parents:
diff changeset
53 public void listenerHidePreviousVersions(ActionEvent event){
jurzua
parents:
diff changeset
54 setPreviousVersionsList(new ArrayList<Entity>());
jurzua
parents:
diff changeset
55 setSelectedPreviousVersion(null);
jurzua
parents:
diff changeset
56 }
jurzua
parents:
diff changeset
57
jurzua
parents:
diff changeset
58 public void listenerUndoUntilThisVersion(ActionEvent event) throws Exception{
jurzua
parents:
diff changeset
59 this.selectedPreviousVersion = (Entity)getRequestBean("previousVersion");
jurzua
parents:
diff changeset
60 if(this.selectedPreviousVersion != null){
jurzua
parents:
diff changeset
61
jurzua
parents:
diff changeset
62 //checking whether the relation reference to existing entities,
jurzua
parents:
diff changeset
63 //If the entity referenced does not exist more, the relation will not be considered.
jurzua
parents:
diff changeset
64
jurzua
parents:
diff changeset
65 //Checking source's relation
jurzua
parents:
diff changeset
66 List<Relation> relToDelete = new ArrayList<Relation>();
jurzua
parents:
diff changeset
67 for(Relation rel : selectedPreviousVersion.getSourceRelations()){
jurzua
parents:
diff changeset
68 if(getWrapper().getEntityById(rel.getTargetId()) == null){
jurzua
parents:
diff changeset
69 relToDelete.add(rel);
jurzua
parents:
diff changeset
70 }
jurzua
parents:
diff changeset
71 }
jurzua
parents:
diff changeset
72 for(Relation rel : relToDelete){
jurzua
parents:
diff changeset
73 selectedPreviousVersion.getSourceRelations().remove(rel);
jurzua
parents:
diff changeset
74 }
jurzua
parents:
diff changeset
75
jurzua
parents:
diff changeset
76 //Checking target's relations
jurzua
parents:
diff changeset
77 relToDelete = new ArrayList<Relation>();
jurzua
parents:
diff changeset
78 for(Relation rel : selectedPreviousVersion.getTargetRelations()){
jurzua
parents:
diff changeset
79 if(getWrapper().getEntityById(rel.getSourceId()) == null){
jurzua
parents:
diff changeset
80 relToDelete.add(rel);
jurzua
parents:
diff changeset
81 }
jurzua
parents:
diff changeset
82 }
jurzua
parents:
diff changeset
83 for(Relation rel : relToDelete){
jurzua
parents:
diff changeset
84 selectedPreviousVersion.getTargetRelations().remove(rel);
jurzua
parents:
diff changeset
85 }
jurzua
parents:
diff changeset
86
jurzua
parents:
diff changeset
87 selectedPreviousVersion.setVersion(this.entity.getVersion());
jurzua
parents:
diff changeset
88 selectedPreviousVersion.setSystemStatus(Node.SYS_STATUS_CURRENT_VERSION);
jurzua
parents:
diff changeset
89
124
28a0c2726466 changed saveEntity() to use new EditIntent. Set up EditIntent for TEXT, PERSON, REFERENCE.
casties
parents: 119
diff changeset
90 getWrapper().saveEntity(selectedPreviousVersion, getUserName(), null);
1
jurzua
parents:
diff changeset
91
jurzua
parents:
diff changeset
92 }
jurzua
parents:
diff changeset
93 }
jurzua
parents:
diff changeset
94
jurzua
parents:
diff changeset
95
jurzua
parents:
diff changeset
96
jurzua
parents:
diff changeset
97 public void listenerGetPreviousVersions(ActionEvent event){
jurzua
parents:
diff changeset
98 this.previousVersionsList = getWrapper().getPreviousEntitiesById(getEntity().getId());
jurzua
parents:
diff changeset
99 if(previousVersionsList.size() == 0){
jurzua
parents:
diff changeset
100 addGeneralMsg("It had not been found previous versions for this entity.");
jurzua
parents:
diff changeset
101 }
jurzua
parents:
diff changeset
102 }
jurzua
parents:
diff changeset
103
jurzua
parents:
diff changeset
104 public void listenerShowPreviousVersionDetails(ActionEvent event){
jurzua
parents:
diff changeset
105 this.selectedPreviousVersion = (Entity)getRequestBean("previousVersion");
jurzua
parents:
diff changeset
106 setPreviousVersionDetailsVisible(true);
119
4aa8c425685d less System.out.println.
casties
parents: 102
diff changeset
107 //System.out.println(this.selectedPreviousVersion);
1
jurzua
parents:
diff changeset
108 }
jurzua
parents:
diff changeset
109
jurzua
parents:
diff changeset
110
jurzua
parents:
diff changeset
111
jurzua
parents:
diff changeset
112 public void listenerShowEntity(ActionEvent event) {
jurzua
parents:
diff changeset
113 try {
jurzua
parents:
diff changeset
114 Long.parseLong(currentEntityId);
jurzua
parents:
diff changeset
115 redirect("/browse/entityDetails.xhtml", "?eid=" + currentEntityId);
jurzua
parents:
diff changeset
116
jurzua
parents:
diff changeset
117 } catch (Exception e) {
jurzua
parents:
diff changeset
118 addErrorMsg("ID is not valid: " + this.currentEntityId);
jurzua
parents:
diff changeset
119 }
jurzua
parents:
diff changeset
120 }
jurzua
parents:
diff changeset
121
jurzua
parents:
diff changeset
122 public void setEntity(Entity entity) {
jurzua
parents:
diff changeset
123 this.entity = entity;
jurzua
parents:
diff changeset
124 if(entity != null){
jurzua
parents:
diff changeset
125
jurzua
parents:
diff changeset
126 this.currentEntityId = entity.getId().toString();
jurzua
parents:
diff changeset
127
jurzua
parents:
diff changeset
128 this.selectedPreviousVersion = null;
jurzua
parents:
diff changeset
129 this.previousVersionsList = new ArrayList<Entity>();
jurzua
parents:
diff changeset
130 //this.definition = getWrapper().getDefinition(entity.getObjectClass());
jurzua
parents:
diff changeset
131 this.attributeList = getWrapper().getAttributeByEntId(entity.getId());
jurzua
parents:
diff changeset
132 this.sourceRelations = new HashMap<String, List<Relation>>();
jurzua
parents:
diff changeset
133 this.targetRelations = new HashMap<String, List<Relation>>();
jurzua
parents:
diff changeset
134 this.sourceRelationNames = new ArrayList<String>();
jurzua
parents:
diff changeset
135 this.targetRelationNames = new ArrayList<String>();
jurzua
parents:
diff changeset
136 this.sourceRelationCount = new HashMap<String, Long>();
jurzua
parents:
diff changeset
137 this.targetRelationCount = new HashMap<String, Long>();
jurzua
parents:
diff changeset
138
jurzua
parents:
diff changeset
139
119
4aa8c425685d less System.out.println.
casties
parents: 102
diff changeset
140 //System.out.println("****************");
1
jurzua
parents:
diff changeset
141 List<Relation> srcRels = getWrapper().getDefSourceRelations(this.entity.getObjectClass());
jurzua
parents:
diff changeset
142 for(Relation rel : srcRels){
jurzua
parents:
diff changeset
143 if(rel.getOwnValue().equals("has_autor_misattribution")){
119
4aa8c425685d less System.out.println.
casties
parents: 102
diff changeset
144 logger.debug("misattribution: src - " + rel.getOwnValue());
1
jurzua
parents:
diff changeset
145 }
jurzua
parents:
diff changeset
146 if(!this.sourceRelationNames.contains(rel.getOwnValue())){
jurzua
parents:
diff changeset
147 this.sourceRelationNames.add(rel.getOwnValue());
jurzua
parents:
diff changeset
148 this.sourceRelationCount.put(rel.getOwnValue(), getWrapper().getSourceRelationsCount(entity, rel.getOwnValue(), null));
jurzua
parents:
diff changeset
149 }
jurzua
parents:
diff changeset
150 }
jurzua
parents:
diff changeset
151 List<Relation> tarRels = getWrapper().getDefTargetRelations(this.entity.getObjectClass());
jurzua
parents:
diff changeset
152 for(Relation rel : tarRels){
jurzua
parents:
diff changeset
153 if(!this.targetRelationNames.contains(rel.getOwnValue())){
jurzua
parents:
diff changeset
154 this.targetRelationNames.add(rel.getOwnValue());
jurzua
parents:
diff changeset
155 this.targetRelationCount.put(rel.getOwnValue(), getWrapper().getTargetRelationsCount(entity, rel.getOwnValue(), null));
jurzua
parents:
diff changeset
156 }
jurzua
parents:
diff changeset
157
jurzua
parents:
diff changeset
158 }
jurzua
parents:
diff changeset
159 }
jurzua
parents:
diff changeset
160 }
jurzua
parents:
diff changeset
161
jurzua
parents:
diff changeset
162 public void listenerShowTargetRelations(ActionEvent event){
jurzua
parents:
diff changeset
163 String tarName = (String) getRequestBean("tarName");
jurzua
parents:
diff changeset
164 this.targetRelations.put(tarName, getWrapper().getTargetRelations(this.entity, tarName, null, -1));
jurzua
parents:
diff changeset
165 }
jurzua
parents:
diff changeset
166
102
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
167 /**
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
168 * Handler that deletes the current Entity.
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
169 * @return
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
170 */
1
jurzua
parents:
diff changeset
171 public String listenerDeleteEntity(){
jurzua
parents:
diff changeset
172 try {
102
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
173 // get user name from SessionBean
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
174 SessionBean session = (SessionBean) getSessionBean("Session");
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
175 String user = "";
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
176 if (session != null) {
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
177 user = session.getUsername();
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
178 }
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
179
99
d0fb989bf53a better logging of entity deletion.
casties
parents: 1
diff changeset
180 // delete entity
d0fb989bf53a better logging of entity deletion.
casties
parents: 1
diff changeset
181 getWrapper().removeCurrentVersionEntity(this.entity, user);
102
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
182
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
183 // reset EntityRepositoryBean
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
184 EntityRepositoryBean bean = (EntityRepositoryBean) getSessionBean("EntityRepository");
1
jurzua
parents:
diff changeset
185 if(bean != null){
jurzua
parents:
diff changeset
186 bean.reset();
jurzua
parents:
diff changeset
187 }
jurzua
parents:
diff changeset
188 addGeneralMsg("The entity has been removed.");
102
db3e1bbfde03 fix error when EntityRepositoryBean is not available when deleting an entity.
casties
parents: 99
diff changeset
189
1
jurzua
parents:
diff changeset
190 } catch (Exception e) {
jurzua
parents:
diff changeset
191 printInternalError(e);
jurzua
parents:
diff changeset
192 logger.error(e.getMessage() + " Removing" + entity, e);
jurzua
parents:
diff changeset
193 }
jurzua
parents:
diff changeset
194
jurzua
parents:
diff changeset
195 return GOTO_ENTITY_REPOSITORY;
jurzua
parents:
diff changeset
196 }
jurzua
parents:
diff changeset
197
jurzua
parents:
diff changeset
198 public void listenerShowSourceRelations(ActionEvent event){
jurzua
parents:
diff changeset
199 try {
jurzua
parents:
diff changeset
200 String srcName = (String) getRequestBean("srcName");
jurzua
parents:
diff changeset
201 this.sourceRelations.put(srcName, getWrapper().getSourceRelations(this.entity, srcName, null, -1));
jurzua
parents:
diff changeset
202 } catch (Exception e) {
jurzua
parents:
diff changeset
203 printInternalError(e);
jurzua
parents:
diff changeset
204 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
205 }
jurzua
parents:
diff changeset
206 }
jurzua
parents:
diff changeset
207 public Entity getEntity() {
jurzua
parents:
diff changeset
208 return entity;
jurzua
parents:
diff changeset
209 }
jurzua
parents:
diff changeset
210
jurzua
parents:
diff changeset
211
jurzua
parents:
diff changeset
212
jurzua
parents:
diff changeset
213 /**
jurzua
parents:
diff changeset
214 * This method calls the SessionBean and put in it the current entity to be
jurzua
parents:
diff changeset
215 * modified.
jurzua
parents:
diff changeset
216 *
jurzua
parents:
diff changeset
217 * @return
jurzua
parents:
diff changeset
218 */
jurzua
parents:
diff changeset
219 public String actionEdit() {
jurzua
parents:
diff changeset
220 try {
jurzua
parents:
diff changeset
221 // getting de.mpiwg.itgroup.ismi.entry.beans.SessionBean
jurzua
parents:
diff changeset
222 getSessionBean().editEntity(this.entity);
jurzua
parents:
diff changeset
223
jurzua
parents:
diff changeset
224 } catch (Exception e) {
148
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
225 logger.error(e);
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
226 }
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
227
1
jurzua
parents:
diff changeset
228 if(entity.getObjectClass().equals(StudyEvent.OC) ||
jurzua
parents:
diff changeset
229 entity.getObjectClass().equals(CopyEvent.OC) ||
jurzua
parents:
diff changeset
230 entity.getObjectClass().equals(TransferEvent.OC)){
jurzua
parents:
diff changeset
231 return SessionBean.PAGE_EVENT_FORM;
jurzua
parents:
diff changeset
232 }else{
jurzua
parents:
diff changeset
233 return SessionBean.PAGE_ENTRY;
jurzua
parents:
diff changeset
234 }
jurzua
parents:
diff changeset
235 }
jurzua
parents:
diff changeset
236
148
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
237
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
238 /**
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
239 * Toggle this entity's public state.
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
240 * @return
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
241 */
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
242 public String actionChangeEntityPrivacity() {
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
243 // toggle publication state
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
244 PrivacityUtils.changeEntityPrivacity(this.entity, null, getWrapper());
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
245 ArrayList<Entity> saveList = new ArrayList<Entity>();
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
246 saveList.add(entity);
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
247 try {
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
248 getWrapper().saveEntityListAsNodeWithoutContent(saveList, getUserName());
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
249 } catch (Exception e) {
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
250 printInternalError(e);
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
251 logger.error(e);
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
252 }
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
253 return GOTO_ENTITY_DETAILS;
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
254 }
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
255
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
256 /**
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
257 * Change all related entities' public state to match this entity.
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
258 *
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
259 * @return
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
260 */
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
261 public String actionChangeRelatedEntitiesPrivacity() {
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
262 // set publication state
175
3d8b31508128 PublicByAuthor feature works now.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 148
diff changeset
263 List<Entity> saveList = PrivacityUtils.setRelatedEntitiesPrivacity(this.entity, null, getWrapper(), null);
148
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
264 // hide related entities from display
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
265 sourceRelations = new HashMap<String, List<Relation>>();
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
266 targetRelations = new HashMap<String, List<Relation>>();
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
267 // save entities
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
268 try {
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
269 getWrapper().saveEntityListAsNodeWithoutContent(saveList, getUserName());
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
270 } catch (Exception e) {
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
271 printInternalError(e);
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
272 logger.error(e);
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
273 }
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
274 return GOTO_ENTITY_DETAILS;
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
275 }
b40a84944716 add public/private editing to Entity Details.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 124
diff changeset
276
1
jurzua
parents:
diff changeset
277 /**
jurzua
parents:
diff changeset
278 * <p>
jurzua
parents:
diff changeset
279 * Show the details page for the current entity.
jurzua
parents:
diff changeset
280 * </p>
jurzua
parents:
diff changeset
281 */
jurzua
parents:
diff changeset
282 public String showTarget() {
jurzua
parents:
diff changeset
283 Relation relation = (Relation) getRequestBean("srcRelation");
jurzua
parents:
diff changeset
284 setEntity(relation.getTarget());
jurzua
parents:
diff changeset
285 return GOTO_ENTITY_DETAILS;
jurzua
parents:
diff changeset
286 }
jurzua
parents:
diff changeset
287
jurzua
parents:
diff changeset
288 public String showSource() {
jurzua
parents:
diff changeset
289 Relation relation = (Relation) getRequestBean("tarRelation");
jurzua
parents:
diff changeset
290 setEntity(relation.getSource());
jurzua
parents:
diff changeset
291 return GOTO_ENTITY_DETAILS;
jurzua
parents:
diff changeset
292 }
jurzua
parents:
diff changeset
293
jurzua
parents:
diff changeset
294 public Entity getEntityById(Long id) {
jurzua
parents:
diff changeset
295 //juc return getOntology().getEntityById(id);
jurzua
parents:
diff changeset
296 return getWrapper().getEntityById(id);
jurzua
parents:
diff changeset
297 }
jurzua
parents:
diff changeset
298
jurzua
parents:
diff changeset
299 public String getCurrentEntityId() {
jurzua
parents:
diff changeset
300 return currentEntityId;
jurzua
parents:
diff changeset
301 }
jurzua
parents:
diff changeset
302
jurzua
parents:
diff changeset
303 public void setCurrentEntityId(String cid) {
jurzua
parents:
diff changeset
304 this.currentEntityId = cid;
jurzua
parents:
diff changeset
305 }
jurzua
parents:
diff changeset
306
jurzua
parents:
diff changeset
307 public List<Attribute> getAttributeList() {
jurzua
parents:
diff changeset
308 return attributeList;
jurzua
parents:
diff changeset
309 }
jurzua
parents:
diff changeset
310
jurzua
parents:
diff changeset
311 public void setAttributeList(List<Attribute> attributeList) {
jurzua
parents:
diff changeset
312 this.attributeList = attributeList;
jurzua
parents:
diff changeset
313 }
jurzua
parents:
diff changeset
314 public List<String> getSourceRelationNames() {
jurzua
parents:
diff changeset
315 return sourceRelationNames;
jurzua
parents:
diff changeset
316 }
jurzua
parents:
diff changeset
317
jurzua
parents:
diff changeset
318 public void setSourceRelationNames(List<String> sourceRelationNames) {
jurzua
parents:
diff changeset
319 this.sourceRelationNames = sourceRelationNames;
jurzua
parents:
diff changeset
320 }
jurzua
parents:
diff changeset
321
jurzua
parents:
diff changeset
322 public List<String> getTargetRelationNames() {
jurzua
parents:
diff changeset
323 return targetRelationNames;
jurzua
parents:
diff changeset
324 }
jurzua
parents:
diff changeset
325
jurzua
parents:
diff changeset
326 public void setTargetRelationNames(List<String> targetRelationNames) {
jurzua
parents:
diff changeset
327 this.targetRelationNames = targetRelationNames;
jurzua
parents:
diff changeset
328 }
jurzua
parents:
diff changeset
329
jurzua
parents:
diff changeset
330 public Map<String, Long> getSourceRelationCount() {
jurzua
parents:
diff changeset
331 return sourceRelationCount;
jurzua
parents:
diff changeset
332 }
jurzua
parents:
diff changeset
333
jurzua
parents:
diff changeset
334 public void setSourceRelationCount(Map<String, Long> sourceRelationCount) {
jurzua
parents:
diff changeset
335 this.sourceRelationCount = sourceRelationCount;
jurzua
parents:
diff changeset
336 }
jurzua
parents:
diff changeset
337
jurzua
parents:
diff changeset
338 public Map<String, Long> getTargetRelationCount() {
jurzua
parents:
diff changeset
339 return targetRelationCount;
jurzua
parents:
diff changeset
340 }
jurzua
parents:
diff changeset
341
jurzua
parents:
diff changeset
342 public void setTargetRelationCount(Map<String, Long> targetRelationCount) {
jurzua
parents:
diff changeset
343 this.targetRelationCount = targetRelationCount;
jurzua
parents:
diff changeset
344 }
jurzua
parents:
diff changeset
345
jurzua
parents:
diff changeset
346 public Map<String, List<Relation>> getSourceRelations() {
jurzua
parents:
diff changeset
347 return sourceRelations;
jurzua
parents:
diff changeset
348 }
jurzua
parents:
diff changeset
349
jurzua
parents:
diff changeset
350 public void setSourceRelations(Map<String, List<Relation>> sourceRelations) {
jurzua
parents:
diff changeset
351 this.sourceRelations = sourceRelations;
jurzua
parents:
diff changeset
352 }
jurzua
parents:
diff changeset
353
jurzua
parents:
diff changeset
354 public Map<String, List<Relation>> getTargetRelations() {
jurzua
parents:
diff changeset
355 return targetRelations;
jurzua
parents:
diff changeset
356 }
jurzua
parents:
diff changeset
357
jurzua
parents:
diff changeset
358 public void setTargetRelations(Map<String, List<Relation>> targetRelations) {
jurzua
parents:
diff changeset
359 this.targetRelations = targetRelations;
jurzua
parents:
diff changeset
360 }
jurzua
parents:
diff changeset
361
jurzua
parents:
diff changeset
362 public List<Entity> getPreviousVersionsList() {
jurzua
parents:
diff changeset
363 return previousVersionsList;
jurzua
parents:
diff changeset
364 }
jurzua
parents:
diff changeset
365
jurzua
parents:
diff changeset
366 public void setPreviousVersionsList(List<Entity> previousVersionsList) {
jurzua
parents:
diff changeset
367 this.previousVersionsList = previousVersionsList;
jurzua
parents:
diff changeset
368 }
jurzua
parents:
diff changeset
369
jurzua
parents:
diff changeset
370 public Entity getSelectedPreviousVersion() {
jurzua
parents:
diff changeset
371 return selectedPreviousVersion;
jurzua
parents:
diff changeset
372 }
jurzua
parents:
diff changeset
373
jurzua
parents:
diff changeset
374 public void setSelectedPreviousVersion(Entity selectedPreviousVersion) {
jurzua
parents:
diff changeset
375 this.selectedPreviousVersion = selectedPreviousVersion;
jurzua
parents:
diff changeset
376 }
jurzua
parents:
diff changeset
377 public boolean isPreviousVersionDetailsVisible() {
jurzua
parents:
diff changeset
378 return previousVersionDetailsVisible;
jurzua
parents:
diff changeset
379 }
jurzua
parents:
diff changeset
380
jurzua
parents:
diff changeset
381 public void setPreviousVersionDetailsVisible(
jurzua
parents:
diff changeset
382 boolean previousVersionDetailsVisible) {
jurzua
parents:
diff changeset
383 this.previousVersionDetailsVisible = previousVersionDetailsVisible;
jurzua
parents:
diff changeset
384 }
jurzua
parents:
diff changeset
385 }