changeset 102:db3e1bbfde03

fix error when EntityRepositoryBean is not available when deleting an entity.
author casties
date Tue, 01 Nov 2016 19:45:16 +0100
parents 16cbff5deb09
children 03dcbaf8b8cf
files src/main/java/de/mpiwg/itgroup/ismi/browse/EntityDetailsBean.java
diffstat 1 files changed, 15 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/itgroup/ismi/browse/EntityDetailsBean.java	Tue Nov 01 19:44:01 2016 +0100
+++ b/src/main/java/de/mpiwg/itgroup/ismi/browse/EntityDetailsBean.java	Tue Nov 01 19:45:16 2016 +0100
@@ -163,20 +163,32 @@
 		this.targetRelations.put(tarName, getWrapper().getTargetRelations(this.entity, tarName, null, -1));
 	}
 	
+	/**
+	 * Handler that deletes the current Entity.
+	 * @return
+	 */
 	public String listenerDeleteEntity(){
 		try {
-			EntityRepositoryBean bean = (EntityRepositoryBean)getSessionBean("EntityRepository");
-			String user = bean.getUserName();
+		    // get user name from SessionBean
+		    SessionBean session = (SessionBean) getSessionBean("Session");
+			String user = "";
+			if (session != null) {
+			    user = session.getUsername();
+			}
+
 			// delete entity
             getWrapper().removeCurrentVersionEntity(this.entity, user);
+            
+            // reset EntityRepositoryBean
+            EntityRepositoryBean bean = (EntityRepositoryBean) getSessionBean("EntityRepository");
 			if(bean != null){
 				bean.reset();	
 			}
 			addGeneralMsg("The entity has been removed.");
+			
 		} catch (Exception e) {
 			printInternalError(e);
 			logger.error(e.getMessage() + " Removing" + entity, e);
-			e.printStackTrace();
 		}
 		
 		return GOTO_ENTITY_REPOSITORY;