diff src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentSubjectBean.java @ 125:eee2e0ca4032

updated entry beans to use EditIntents.
author casties
date Tue, 31 Jan 2017 18:09:54 +0100
parents 28a0c2726466
children 25bfcc9d757c
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentSubjectBean.java	Mon Jan 30 20:35:36 2017 +0100
+++ b/src/main/java/de/mpiwg/itgroup/ismi/entry/beans/CurrentSubjectBean.java	Tue Jan 31 18:09:54 2017 +0100
@@ -9,6 +9,7 @@
 import org.mpi.openmind.repository.bo.Entity;
 import org.mpi.openmind.repository.bo.Node;
 import org.mpi.openmind.repository.bo.Relation;
+import org.mpi.openmind.repository.services.utils.EditIntent;
 import org.mpi.openmind.security.bo.User;
 
 
@@ -31,6 +32,16 @@
 	private List<SelectItem> suggestedCategories = new ArrayList<SelectItem>();
 	private List<SelectItem> suggestedTypes = new ArrayList<SelectItem>();
 
+	/** intent to edit all attributes and relations in the form */
+	public static EditIntent editSubjectIntent = new EditIntent(
+			AbstractISMIBean.SUBJECT,
+			// attributes
+			new String[]{"name", "type"},
+			// source relations
+			new String[]{"is_part_of"},
+			// target relations
+			new String[]{"is_part_of"});
+
 	public CurrentSubjectBean(){
 		suggestedTypes.add(new SelectItem(null, "-- choose --"));
 		suggestedTypes.add(new SelectItem(main_subject, main_subject));
@@ -105,10 +116,13 @@
 			if(getIdMainSubject() != null){
 				Entity mainCategory = getWrapper().getEntityById(getIdMainSubject());
 				//replaceSourceRelation(this.entity, mainCategory, SUBJECT, is_part_of);
+				if (mainCategory.isLightweight()) {
+					mainCategory = getWrapper().getEntityContent(mainCategory);
+				}
 				this.entity.replaceSourceRelation(mainCategory, SUBJECT, is_part_of);
 			}
 			
-			this.entity = getWrapper().saveEntity(this.entity, user.getEmail(), null);
+			this.entity = getWrapper().saveEntity(this.entity, user.getEmail(), editSubjectIntent);
 			getSessionBean().setEditFormCurrentEntId(this.entity.getId());
 			
 			logger.info("Entity saved - Time = " + (System.currentTimeMillis() - start) + ", " + entity);
@@ -117,7 +131,6 @@
 			getAppBean().resetSuggestedSubjects();			
 		} catch (Exception e) {
 			logger.error(e.getMessage(), e);
-			e.printStackTrace();
 			this.printInternalError(e);
 		}