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

fix attribute name in EditIntent.
author casties
date Thu, 23 Feb 2017 19:25:37 +0100
parents eee2e0ca4032
children
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 org.apache.commons.lang.StringUtils;
jurzua
parents:
diff changeset
4 import org.apache.log4j.Logger;
jurzua
parents:
diff changeset
5 import org.mpi.openmind.repository.bo.Entity;
jurzua
parents:
diff changeset
6 import org.mpi.openmind.repository.bo.Node;
125
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
7 import org.mpi.openmind.repository.services.utils.EditIntent;
1
jurzua
parents:
diff changeset
8
jurzua
parents:
diff changeset
9 public class CurrentRoleBean extends AbstractISMIBean{
jurzua
parents:
diff changeset
10
jurzua
parents:
diff changeset
11 /**
jurzua
parents:
diff changeset
12 *
jurzua
parents:
diff changeset
13 */
jurzua
parents:
diff changeset
14 private static final long serialVersionUID = -4934098828218979428L;
jurzua
parents:
diff changeset
15 private static Logger logger = Logger.getLogger(CurrentRoleBean.class);
jurzua
parents:
diff changeset
16
125
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
17 /** intent to edit all attributes and relations in the form */
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
18 public static EditIntent editRoleIntent = new EditIntent(
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
19 AbstractISMIBean.ROLE,
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
20 // attributes
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
21 new String[]{"name"},
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
22 // source relations
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
23 new String[]{},
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
24 // target relations
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
25 new String[]{});
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
26
1
jurzua
parents:
diff changeset
27 public CurrentRoleBean(){
jurzua
parents:
diff changeset
28 this.entity = new Entity(Node.TYPE_ABOX, ROLE, false);
jurzua
parents:
diff changeset
29 this.setDefObjectClass(ROLE);
jurzua
parents:
diff changeset
30 }
jurzua
parents:
diff changeset
31
jurzua
parents:
diff changeset
32 @Override
jurzua
parents:
diff changeset
33 public void reset(){
jurzua
parents:
diff changeset
34 super.reset();
jurzua
parents:
diff changeset
35 this.entity = new Entity(Node.TYPE_ABOX, ROLE, false);
jurzua
parents:
diff changeset
36 }
jurzua
parents:
diff changeset
37
jurzua
parents:
diff changeset
38 @Override
jurzua
parents:
diff changeset
39 public void setEntity(Entity role) {
jurzua
parents:
diff changeset
40 this.reset();
jurzua
parents:
diff changeset
41 this.entity = role;
jurzua
parents:
diff changeset
42
jurzua
parents:
diff changeset
43 if(this.entity != null && this.entity.isPersistent()){
jurzua
parents:
diff changeset
44 if (this.entity.isLightweight()) {
jurzua
parents:
diff changeset
45 this.entity = getWrapper().getEntityContent(role);
jurzua
parents:
diff changeset
46 }
jurzua
parents:
diff changeset
47 this.loadAttributes(this.entity);//, getDefinition(this.entity));
jurzua
parents:
diff changeset
48 }
jurzua
parents:
diff changeset
49 }
jurzua
parents:
diff changeset
50
jurzua
parents:
diff changeset
51 @Override
jurzua
parents:
diff changeset
52 public String save(){
jurzua
parents:
diff changeset
53 super.save();
jurzua
parents:
diff changeset
54 try {
jurzua
parents:
diff changeset
55
jurzua
parents:
diff changeset
56 if(isConsistent()){
jurzua
parents:
diff changeset
57 this.entity = updateEntityAttributes(this.entity);
125
eee2e0ca4032 updated entry beans to use EditIntents.
casties
parents: 124
diff changeset
58 this.entity = getWrapper().saveEntity(this.entity, getUserName(), editRoleIntent);
1
jurzua
parents:
diff changeset
59 getAppBean().setRoleListAsDirty();
jurzua
parents:
diff changeset
60
jurzua
parents:
diff changeset
61 logger.info("Entity saved - Time = " + (System.currentTimeMillis() - start) + ", " + entity);
jurzua
parents:
diff changeset
62 this.printSuccessSavingEntity();
jurzua
parents:
diff changeset
63 }
jurzua
parents:
diff changeset
64
jurzua
parents:
diff changeset
65 } catch (Exception e) {
jurzua
parents:
diff changeset
66 logger.error(e.getMessage(), e);
jurzua
parents:
diff changeset
67 this.printInternalError(e);
jurzua
parents:
diff changeset
68 }
jurzua
parents:
diff changeset
69
jurzua
parents:
diff changeset
70 saveEnd();
jurzua
parents:
diff changeset
71 return PAGE_EDITOR;
jurzua
parents:
diff changeset
72 }
jurzua
parents:
diff changeset
73
jurzua
parents:
diff changeset
74 private boolean isConsistent(){
jurzua
parents:
diff changeset
75
jurzua
parents:
diff changeset
76 if(getAttributes().containsKey("name") &&
jurzua
parents:
diff changeset
77 StringUtils.isNotEmpty(getAttributes().get("name"))){
jurzua
parents:
diff changeset
78 return true;
jurzua
parents:
diff changeset
79
jurzua
parents:
diff changeset
80 }else{
jurzua
parents:
diff changeset
81 addErrorMsg("The role has not be saved, because its name can not be empty!");
jurzua
parents:
diff changeset
82 return false;
jurzua
parents:
diff changeset
83 }
jurzua
parents:
diff changeset
84
jurzua
parents:
diff changeset
85
jurzua
parents:
diff changeset
86 }
jurzua
parents:
diff changeset
87 }