diff --git a/src/main/java/de/thm/arsnova/FeedbackStorage.java b/src/main/java/de/thm/arsnova/FeedbackStorage.java index bb72be0d5e6bc89122922919464c18aff19ef98f..ee9abd74deb271ab80623730e454fed289efda85 100644 --- a/src/main/java/de/thm/arsnova/FeedbackStorage.java +++ b/src/main/java/de/thm/arsnova/FeedbackStorage.java @@ -118,7 +118,7 @@ public class FeedbackStorage { public Map<Session, List<User>> cleanFeedbackVotes(final int cleanupFeedbackDelay) { final Map<Session, List<User>> removedFeedbackOfUsersInSession = new HashMap<>(); for (final Session session : data.keySet()) { - if (!session.getFeatures().isLiveClicker()) { + if (session.getFeatures() == null || !session.getFeatures().isLiveClicker()) { List<User> affectedUsers = cleanFeedbackVotesInSession(session, cleanupFeedbackDelay); if (!affectedUsers.isEmpty()) { removedFeedbackOfUsersInSession.put(session, affectedUsers); diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index d0f5656a66034d974401adb34d1268ef3cf26d83..f4044fd9552e38507894660173e2d5bff02bf7f3 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -2447,17 +2447,19 @@ public class CouchDBDao implements IDatabaseDao, ApplicationEventPublisherAware q.put("creator", ""); interposedQuestions.add(q); } - for (Motd m : importSession.getMotds()) { - final Document d = new Document(); - d.put("type", "motd"); - d.put("motdkey", m.getMotdkey()); - d.put("title", m.getTitle()); - d.put("text", m.getText()); - d.put("audience", m.getAudience()); - d.put("sessionkey", session.getKeyword()); - d.put("startdate", String.valueOf(m.getStartdate().getTime())); - d.put("enddate", String.valueOf(m.getEnddate().getTime())); - motds.add(d); + if (importSession.getMotds() != null) { + for (Motd m : importSession.getMotds()) { + final Document d = new Document(); + d.put("type", "motd"); + d.put("motdkey", m.getMotdkey()); + d.put("title", m.getTitle()); + d.put("text", m.getText()); + d.put("audience", m.getAudience()); + d.put("sessionkey", session.getKeyword()); + d.put("startdate", String.valueOf(m.getStartdate().getTime())); + d.put("enddate", String.valueOf(m.getEnddate().getTime())); + motds.add(d); + } } List<Document> documents = new ArrayList<>(answers); database.bulkSaveDocuments(interposedQuestions.toArray(new Document[interposedQuestions.size()])); 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 02a01e975c8818aa1cbdac2b65a06c85ac535c55..7cbfce0522bc2ff5e3d2418673f80fb808ef69b2 100644 --- a/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java +++ b/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java @@ -129,21 +129,23 @@ public class ImportExportSession { // import fields s.setActive(session.isActive()); // overwrite name and shortname - s.setName(session.getPublicPool().getName()); - s.setShortName(session.getPublicPool().getShortName()); + s.setName(session.getName()); + s.setShortName(session.getShortName()); // mark as public pool session s.setSessionType(session.getSessionType()); s.setFeatures(session.getSessionFeature()); - // 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()); + if (session.getPublicPool() != null) { + // 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());