From d74ef999b8e3941a5405910f36af5cb5bf09d16e Mon Sep 17 00:00:00 2001
From: tekay <tom.kaesler@mni.thm.de>
Date: Tue, 17 May 2016 14:48:19 +0200
Subject: [PATCH] refac publicpoolsettings

---
 .../transport/ImportExportSession.java        | 46 +++++++++++--------
 .../thm/arsnova/services/SessionService.java  |  2 +-
 2 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java b/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java
index cbe769bd..b6c22898 100644
--- a/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java
+++ b/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java
@@ -129,27 +129,22 @@ public class ImportExportSession {
 		final Session s = new Session();
 		// import fields
 		s.setActive(session.isActive());
-		s.setName(session.getName());
-		s.setShortName(session.getShortName());
+		// overwrite name and shortname
+		s.setName(session.getPublicPool().getName());
+		s.setShortName(session.getPublicPool().getShortName());
+		// mark as public pool session
+		s.setSessionType(session.getSessionType());
 		s.setFeatures(session.getSessionFeature());
-		// public pool
-		if (session.getPublicPool() != null) {
-			// overwrite name and shortname
-			s.setName(session.getPublicPool().getName());
-			s.setShortName(session.getPublicPool().getShortName());
-			// set pool fields
-			s.setPpAuthorMail(session.getPublicPool().getPpAuthorMail());
-			s.setPpAuthorName(session.getPublicPool().getPpAuthorName());
-			s.setPpDescription(session.getPublicPool().getPpDescription());
-			s.setPpFaculty(session.getPublicPool().getPpFaculty());
-			s.setPpLevel(session.getPublicPool().getPpLevel());
-			s.setPpLicense(session.getPublicPool().getPpLicense());
-			s.setPpLogo(session.getPublicPool().getPpLogo());
-			s.setPpSubject(session.getPublicPool().getPpSubject());
-			s.setPpUniversity(session.getPublicPool().getPpUniversity());
-			// mark as public pool session
-			s.setSessionType("public_pool");
-		}
+		// set pool fields (which are also used as a session info)
+		s.setPpAuthorMail(session.getPublicPool().getPpAuthorMail());
+		s.setPpAuthorName(session.getPublicPool().getPpAuthorName());
+		s.setPpDescription(session.getPublicPool().getPpDescription());
+		s.setPpFaculty(session.getPublicPool().getPpFaculty());
+		s.setPpLevel(session.getPublicPool().getPpLevel());
+		s.setPpLicense(session.getPublicPool().getPpLicense());
+		s.setPpLogo(session.getPublicPool().getPpLogo());
+		s.setPpSubject(session.getPublicPool().getPpSubject());
+		s.setPpUniversity(session.getPublicPool().getPpUniversity());
 		// other fields
 		s.setType("session");
 		s.setCreator(user.getUsername());
@@ -232,6 +227,8 @@ public class ImportExportSession {
 
 		private String shortName;
 
+		private String sessionType;
+
 		private boolean active;
 
 		private PublicPool publicPool;
@@ -247,6 +244,15 @@ public class ImportExportSession {
 			this.name = name;
 		}
 
+		@ApiModelProperty(required = false, value = "used to identify public pool sessions")
+		public String getSessionType() {
+			return sessionType;
+		}
+
+		public void setSessionType(String sessionType) {
+			this.sessionType = sessionType;
+		}
+
 		@ApiModelProperty(required = true, value = "used to display short name")
 		public String getShortName() {
 			return shortName;
diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java
index 4e31e995..5c6a4026 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -414,7 +414,7 @@ public class SessionService implements ISessionService, ApplicationEventPublishe
 	@PreAuthorize("isAuthenticated() and hasPermission(#sessionkey, 'session', 'owner')")
 	public SessionInfo copySessionToPublicPool(String sessionkey, de.thm.arsnova.entities.transport.ImportExportSession.PublicPool pp) {
 		ImportExportSession temp = databaseDao.exportSession(sessionkey, false, false);
-		temp.getSession().setPublicPool(pp);
+		temp.getSession().setSessionType("public_pool");
 		final User user = userService.getCurrentUser();
 		return databaseDao.importSession(user, temp);
 	}
-- 
GitLab