diff --git a/src/main/java/de/thm/arsnova/aop/UserSessionAspect.java b/src/main/java/de/thm/arsnova/aop/UserSessionAspect.java index f3f7ad86058bfffbfc74d0d0f02bbf6f6155d4cd..2ef9a36af402db2b5af3a214e03473b5b4a233b1 100644 --- a/src/main/java/de/thm/arsnova/aop/UserSessionAspect.java +++ b/src/main/java/de/thm/arsnova/aop/UserSessionAspect.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.aop; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.services.UserSessionService; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; diff --git a/src/main/java/de/thm/arsnova/controller/LoginController.java b/src/main/java/de/thm/arsnova/controller/LoginController.java index 10e1bd4b0062961b845274bb13eef2a24115c7f2..960958397713bd3c3a6aec851239734fd571f8c9 100644 --- a/src/main/java/de/thm/arsnova/controller/LoginController.java +++ b/src/main/java/de/thm/arsnova/controller/LoginController.java @@ -18,7 +18,7 @@ package de.thm.arsnova.controller; import de.thm.arsnova.entities.ServiceDescription; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import de.thm.arsnova.exceptions.UnauthorizedException; import de.thm.arsnova.services.UserService; diff --git a/src/main/java/de/thm/arsnova/controller/SessionController.java b/src/main/java/de/thm/arsnova/controller/SessionController.java index ac95db32f9837ed4e8b1de4d1de9f62f2534337b..98b1f6c1ac26d80d4c2474ecdb4fd6d170968a59 100644 --- a/src/main/java/de/thm/arsnova/controller/SessionController.java +++ b/src/main/java/de/thm/arsnova/controller/SessionController.java @@ -18,9 +18,9 @@ package de.thm.arsnova.controller; import de.thm.arsnova.connector.model.Course; -import de.thm.arsnova.entities.Session; -import de.thm.arsnova.entities.SessionFeature; -import de.thm.arsnova.entities.SessionInfo; +import de.thm.arsnova.entities.migration.v2.Session; +import de.thm.arsnova.entities.migration.v2.SessionFeature; +import de.thm.arsnova.entities.migration.v2.SessionInfo; import de.thm.arsnova.entities.transport.ImportExportSession; import de.thm.arsnova.entities.transport.ScoreStatistics; import de.thm.arsnova.exceptions.UnauthorizedException; diff --git a/src/main/java/de/thm/arsnova/entities/LoggedIn.java b/src/main/java/de/thm/arsnova/entities/LoggedIn.java index 275196fabf9682064f47c3eaff68b8942aad7211..aff7b46fe2f20f5311970f3036d09e10a022b6f5 100644 --- a/src/main/java/de/thm/arsnova/entities/LoggedIn.java +++ b/src/main/java/de/thm/arsnova/entities/LoggedIn.java @@ -18,6 +18,7 @@ package de.thm.arsnova.entities; import com.fasterxml.jackson.annotation.JsonView; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.serialization.View; import java.util.ArrayList; diff --git a/src/main/java/de/thm/arsnova/entities/Session.java b/src/main/java/de/thm/arsnova/entities/Session.java index ee09f44be3fc739044edc0e38341fe5a227a7c9c..40929550597d1f7bbc753e709f6f3723d1ea031b 100644 --- a/src/main/java/de/thm/arsnova/entities/Session.java +++ b/src/main/java/de/thm/arsnova/entities/Session.java @@ -1,363 +1,98 @@ -/* - * This file is part of ARSnova Backend. - * Copyright (C) 2012-2018 The ARSnova Team and Contributors - * - * ARSnova Backend is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * ARSnova Backend is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ package de.thm.arsnova.entities; -import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonView; import de.thm.arsnova.entities.serialization.View; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -/** - * Represents an ARSnova session. - */ -@ApiModel(value = "session", description = "the session entity") public class Session implements Entity { private String id; private String rev; + private String shortId; + private String ownerId; private String name; - private String shortName; - private String keyword; - private String creator; - private boolean active; - private long lastOwnerActivity; - private String courseType; - private String courseId; - private long creationTime; - private ScoreOptions learningProgressOptions = new ScoreOptions(); - private SessionFeature features = new SessionFeature(); - - private String ppAuthorName; - private String ppAuthorMail; - private String ppUniversity; - private String ppLogo; - private String ppSubject; - private String ppLicense; - private String ppDescription; - private String ppFaculty; - private String ppLevel; - private String sessionType; - private boolean feedbackLock; - private boolean flipFlashcards; + private String abbreviation; + private boolean closed; + private SessionStatistics statistics; + @Override @JsonView({View.Persistence.class, View.Public.class}) public String getId() { return id; } + @Override @JsonView({View.Persistence.class, View.Public.class}) public void setId(final String id) { this.id = id; } + @Override @JsonView({View.Persistence.class, View.Public.class}) public String getRevision() { return rev; } + @Override @JsonView({View.Persistence.class, View.Public.class}) public void setRevision(final String rev) { this.rev = rev; } - @ApiModelProperty(required = true, value = "the name") - @JsonView({View.Persistence.class, View.Public.class}) - public String getName() { - return name; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setName(final String name) { - this.name = name; - } - - @ApiModelProperty(required = true, value = "the short name") - @JsonView({View.Persistence.class, View.Public.class}) - public String getShortName() { - return shortName; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setShortName(final String shortName) { - this.shortName = shortName; - } - - @ApiModelProperty(required = true, value = "the keyword") - @JsonView({View.Persistence.class, View.Public.class}) - public String getKeyword() { - return keyword; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setKeyword(final String keyword) { - this.keyword = keyword; - } - - @ApiModelProperty(required = true, value = "the session creator") - @JsonView(View.Persistence.class) - public String getCreator() { - return creator; - } - - @JsonView(View.Persistence.class) - public void setCreator(final String creator) { - this.creator = creator; - } - - @ApiModelProperty(required = true, value = "true for active session") @JsonView({View.Persistence.class, View.Public.class}) - public boolean isActive() { - return active; + public String getShortId() { + return shortId; } @JsonView({View.Persistence.class, View.Public.class}) - public void setActive(final boolean active) { - this.active = active; + public void setShortId(final String shortId) { + this.shortId = shortId; } - @ApiModelProperty(required = true, value = "timestamp from the last activity of the owner") @JsonView(View.Persistence.class) - public long getLastOwnerActivity() { - return lastOwnerActivity; + public String getOwnerId() { + return ownerId; } @JsonView(View.Persistence.class) - public void setLastOwnerActivity(final long lastOwnerActivity) { - this.lastOwnerActivity = lastOwnerActivity; - } - - public boolean isCreator(final User user) { - return user.getUsername().equals(creator); - } - - @ApiModelProperty(required = true, value = "the source the course comes from (example: moodle)") - @JsonView({View.Persistence.class, View.Public.class}) - public String getCourseType() { - return courseType; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setCourseType(final String courseType) { - this.courseType = courseType; - } - - @ApiModelProperty(required = true, value = "the course ID") - @JsonView({View.Persistence.class, View.Public.class}) - public String getCourseId() { - return courseId; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setCourseId(final String courseId) { - this.courseId = courseId; - } - - @JsonIgnore - public boolean isCourseSession() { - return getCourseId() != null && !getCourseId().isEmpty(); - } - - @ApiModelProperty(required = true, value = "creation timestamp") - @JsonView({View.Persistence.class, View.Public.class}) - public long getCreationTime() { - return creationTime; - } - - @JsonView(View.Persistence.class) - public void setCreationTime(long creationTime) { - this.creationTime = creationTime; - } - - @ApiModelProperty(required = true, value = "the score options") - @JsonView({View.Persistence.class, View.Public.class}) - public ScoreOptions getLearningProgressOptions() { - return learningProgressOptions; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setLearningProgressOptions(ScoreOptions learningProgressOptions) { - this.learningProgressOptions = learningProgressOptions; - } - - @ApiModelProperty(required = true, value = "the enabled features (e.g. feedback, interposed, learning Progress, lecture)") - @JsonView({View.Persistence.class, View.Public.class}) - public SessionFeature getFeatures() { - return features; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setFeatures(SessionFeature features) { - this.features = features; - } - - @ApiModelProperty(required = true, value = "the public pool author name") - @JsonView({View.Persistence.class, View.Public.class}) - public String getPpAuthorName() { - return ppAuthorName; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setPpAuthorName(final String ppAuthorName) { - this.ppAuthorName = ppAuthorName; - } - - @ApiModelProperty(required = true, value = "the public pool author email") - @JsonView({View.Persistence.class, View.Public.class}) - public String getPpAuthorMail() { - return ppAuthorMail; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setPpAuthorMail(final String ppAuthorMail) { - this.ppAuthorMail = ppAuthorMail; - } - - @ApiModelProperty(required = true, value = "the public pool university") - @JsonView({View.Persistence.class, View.Public.class}) - public String getPpUniversity() { - return ppUniversity; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setPpUniversity(final String ppUniversity) { - this.ppUniversity = ppUniversity; - } - - @ApiModelProperty(required = true, value = "the public pool logo") - @JsonView({View.Persistence.class, View.Public.class}) - public String getPpLogo() { - return ppLogo; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setPpLogo(final String ppLogo) { - this.ppLogo = ppLogo; - } - - @ApiModelProperty(required = true, value = "used to display subject") - @JsonView({View.Persistence.class, View.Public.class}) - public String getPpSubject() { - return ppSubject; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setPpSubject(final String ppSubject) { - this.ppSubject = ppSubject; - } - - @ApiModelProperty(required = true, value = "the public pool license") - @JsonView({View.Persistence.class, View.Public.class}) - public String getPpLicense() { - return ppLicense; + public void setOwnerId(final String ownerId) { + this.ownerId = ownerId; } @JsonView({View.Persistence.class, View.Public.class}) - public void setPpLicense(final String ppLicense) { - this.ppLicense = ppLicense; - } - - @ApiModelProperty(required = true, value = "the public pool description") - @JsonView({View.Persistence.class, View.Public.class}) - public String getPpDescription() { - return ppDescription; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setPpDescription(final String ppDescription) { - this.ppDescription = ppDescription; - } - - @ApiModelProperty(required = true, value = "the public pool faculty") - @JsonView({View.Persistence.class, View.Public.class}) - public String getPpFaculty() { - return ppFaculty; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setPpFaculty(final String ppFaculty) { - this.ppFaculty = ppFaculty; - } - - @ApiModelProperty(required = true, value = "the public pool level") - @JsonView({View.Persistence.class, View.Public.class}) - public String getPpLevel() { - return ppLevel; - } - - @JsonView({View.Persistence.class, View.Public.class}) - public void setPpLevel(final String ppLevel) { - this.ppLevel = ppLevel; - } - - @ApiModelProperty(required = true, value = "the session type") - @JsonView({View.Persistence.class, View.Public.class}) - public String getSessionType() { - return sessionType; + public String getName() { + return name; } @JsonView({View.Persistence.class, View.Public.class}) - public void setSessionType(final String sessionType) { - this.sessionType = sessionType; + public void setName(final String name) { + this.name = name; } - @ApiModelProperty(required = true, value = "the feedback lock status") @JsonView({View.Persistence.class, View.Public.class}) - public boolean getFeedbackLock() { - return feedbackLock; + public String getAbbreviation() { + return abbreviation; } @JsonView({View.Persistence.class, View.Public.class}) - public void setFeedbackLock(Boolean lock) { - this.feedbackLock = lock; + public void setAbbreviation(final String abbreviation) { + this.abbreviation = abbreviation; } - @ApiModelProperty(required = true, value = "the flashcard flip condition") @JsonView({View.Persistence.class, View.Public.class}) - public boolean getFlipFlashcards() { - return flipFlashcards; + public boolean isClosed() { + return closed; } @JsonView({View.Persistence.class, View.Public.class}) - public void setFlipFlashcards(Boolean flip) { - this.flipFlashcards = flip; - } - - @Override - public String toString() { - return "Session [keyword=" + keyword + ", type=" + getType() + ", creator=" + creator + "]"; + public void setClosed(final boolean closed) { + this.closed = closed; } - @Override - public int hashCode() { - // See http://stackoverflow.com/a/113600 - final int theAnswer = 42; - final int theOthers = 37; - - return theOthers * theAnswer + this.keyword.hashCode(); + @JsonView(View.Public.class) + public SessionStatistics getStatistics() { + return statistics; } - @Override - public boolean equals(Object obj) { - if (obj == null || !obj.getClass().equals(this.getClass())) { - return false; - } - Session other = (Session) obj; - return this.keyword.equals(other.keyword); + public void setStatistics(final SessionStatistics statistics) { + this.statistics = statistics; } - } diff --git a/src/main/java/de/thm/arsnova/entities/SessionStatistics.java b/src/main/java/de/thm/arsnova/entities/SessionStatistics.java new file mode 100644 index 0000000000000000000000000000000000000000..890be0beaf6820aeee998a766c56fa880ee8eeda --- /dev/null +++ b/src/main/java/de/thm/arsnova/entities/SessionStatistics.java @@ -0,0 +1,61 @@ +package de.thm.arsnova.entities; + +import com.fasterxml.jackson.annotation.JsonView; +import de.thm.arsnova.entities.serialization.View; + +public class SessionStatistics { + private int contentCount = 0; + private int answerCount = 0; + private int unreadAnswerCount = 0; + private int commentCount = 0; + private int unreadCommentCount = 0; + + public SessionStatistics() { + + } + + @JsonView(View.Public.class) + public int getContentCount() { + return contentCount; + } + + public void setContentCount(int contentCount) { + this.contentCount = contentCount; + } + + @JsonView(View.Public.class) + public int getAnswerCount() { + return answerCount; + } + + public void setAnswerCount(int answerCount) { + this.answerCount = answerCount; + } + + @JsonView(View.Public.class) + public int getUnreadAnswerCount() { + return unreadAnswerCount; + } + + public void setUnreadAnswerCount(int unreadAnswerCount) { + this.unreadAnswerCount = unreadAnswerCount; + } + + @JsonView(View.Public.class) + public int getCommentCount() { + return commentCount; + } + + public void setCommentCount(int commentCount) { + this.commentCount = commentCount; + } + + @JsonView(View.Public.class) + public int getUnreadCommentCount() { + return unreadCommentCount; + } + + public void setUnreadCommentCount(int unreadCommentCount) { + this.unreadCommentCount = unreadCommentCount; + } +} diff --git a/src/main/java/de/thm/arsnova/entities/VisitedSession.java b/src/main/java/de/thm/arsnova/entities/VisitedSession.java index 26bd030bda214dd754b21869539ae19a2a6cde4c..90bbf9abfe2e50505026d9fe81cf87afccf0c81c 100644 --- a/src/main/java/de/thm/arsnova/entities/VisitedSession.java +++ b/src/main/java/de/thm/arsnova/entities/VisitedSession.java @@ -18,6 +18,7 @@ package de.thm.arsnova.entities; import com.fasterxml.jackson.annotation.JsonView; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.serialization.View; /** diff --git a/src/main/java/de/thm/arsnova/entities/migration/V2Migrator.java b/src/main/java/de/thm/arsnova/entities/migration/V2Migrator.java index 83a84eee587419c84f3b559b552cad13356f54f8..93b6aa898a716b8c0f9688576d7eca9090aefb4b 100644 --- a/src/main/java/de/thm/arsnova/entities/migration/V2Migrator.java +++ b/src/main/java/de/thm/arsnova/entities/migration/V2Migrator.java @@ -2,11 +2,13 @@ package de.thm.arsnova.entities.migration; import de.thm.arsnova.entities.ChoiceAnswer; import de.thm.arsnova.entities.ChoiceQuestionContent; +import de.thm.arsnova.entities.DbUser; import de.thm.arsnova.entities.Entity; import de.thm.arsnova.entities.TextAnswer; import de.thm.arsnova.entities.migration.v2.Answer; import de.thm.arsnova.entities.migration.v2.AnswerOption; import de.thm.arsnova.entities.migration.v2.Content; +import de.thm.arsnova.entities.migration.v2.Session; import java.util.ArrayList; import java.util.List; @@ -17,6 +19,21 @@ public class V2Migrator { to.setRevision(from.getRevision()); } + public de.thm.arsnova.entities.Session migrate(final Session from, final DbUser owner) { + if (!owner.getUsername().equals(from.getCreator())) { + throw new IllegalArgumentException("Username of owner object does not match session creator."); + } + final de.thm.arsnova.entities.Session to = new de.thm.arsnova.entities.Session(); + copyCommonProperties(from, to); + to.setShortId(from.getKeyword()); + to.setOwnerId(owner.getId()); + to.setName(from.getName()); + to.setAbbreviation(from.getShortName()); + to.setClosed(!from.isActive()); + + return to; + } + public de.thm.arsnova.entities.Content migrate(final Content from) { de.thm.arsnova.entities.Content to; switch (from.getQuestionType()) { diff --git a/src/main/java/de/thm/arsnova/entities/migration/v2/Session.java b/src/main/java/de/thm/arsnova/entities/migration/v2/Session.java new file mode 100644 index 0000000000000000000000000000000000000000..13e6191f51b1134865000522fbbc69a46599893f --- /dev/null +++ b/src/main/java/de/thm/arsnova/entities/migration/v2/Session.java @@ -0,0 +1,366 @@ +/* + * This file is part of ARSnova Backend. + * Copyright (C) 2012-2017 The ARSnova Team + * + * ARSnova Backend is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * ARSnova Backend is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package de.thm.arsnova.entities.migration.v2; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonView; +import de.thm.arsnova.entities.Entity; +import de.thm.arsnova.entities.ScoreOptions; +import de.thm.arsnova.entities.User; +import de.thm.arsnova.entities.serialization.View; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Represents an ARSnova session. + */ +@ApiModel(value = "session", description = "the session entity") +public class Session implements Entity { + private String id; + private String rev; + private String name; + private String shortName; + private String keyword; + private String creator; + private boolean active; + private long lastOwnerActivity; + private String courseType; + private String courseId; + private long creationTime; + private ScoreOptions learningProgressOptions = new ScoreOptions(); + private SessionFeature features = new SessionFeature(); + + private String ppAuthorName; + private String ppAuthorMail; + private String ppUniversity; + private String ppLogo; + private String ppSubject; + private String ppLicense; + private String ppDescription; + private String ppFaculty; + private String ppLevel; + private String sessionType; + private boolean feedbackLock; + private boolean flipFlashcards; + + @JsonView({View.Persistence.class, View.Public.class}) + public String getId() { + return id; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setId(final String id) { + this.id = id; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public String getRevision() { + return rev; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setRevision(final String rev) { + this.rev = rev; + } + + @ApiModelProperty(required = true, value = "the name") + @JsonView({View.Persistence.class, View.Public.class}) + public String getName() { + return name; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setName(final String name) { + this.name = name; + } + + @ApiModelProperty(required = true, value = "the short name") + @JsonView({View.Persistence.class, View.Public.class}) + public String getShortName() { + return shortName; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setShortName(final String shortName) { + this.shortName = shortName; + } + + @ApiModelProperty(required = true, value = "the keyword") + @JsonView({View.Persistence.class, View.Public.class}) + public String getKeyword() { + return keyword; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setKeyword(final String keyword) { + this.keyword = keyword; + } + + @ApiModelProperty(required = true, value = "the session creator") + @JsonView(View.Persistence.class) + public String getCreator() { + return creator; + } + + @JsonView(View.Persistence.class) + public void setCreator(final String creator) { + this.creator = creator; + } + + @ApiModelProperty(required = true, value = "true for active session") + @JsonView({View.Persistence.class, View.Public.class}) + public boolean isActive() { + return active; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setActive(final boolean active) { + this.active = active; + } + + @ApiModelProperty(required = true, value = "timestamp from the last activity of the owner") + @JsonView(View.Persistence.class) + public long getLastOwnerActivity() { + return lastOwnerActivity; + } + + @JsonView(View.Persistence.class) + public void setLastOwnerActivity(final long lastOwnerActivity) { + this.lastOwnerActivity = lastOwnerActivity; + } + + public boolean isCreator(final User user) { + return user.getUsername().equals(creator); + } + + @ApiModelProperty(required = true, value = "the source the course comes from (example: moodle)") + @JsonView({View.Persistence.class, View.Public.class}) + public String getCourseType() { + return courseType; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setCourseType(final String courseType) { + this.courseType = courseType; + } + + @ApiModelProperty(required = true, value = "the course ID") + @JsonView({View.Persistence.class, View.Public.class}) + public String getCourseId() { + return courseId; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setCourseId(final String courseId) { + this.courseId = courseId; + } + + @JsonIgnore + public boolean isCourseSession() { + return getCourseId() != null && !getCourseId().isEmpty(); + } + + @ApiModelProperty(required = true, value = "creation timestamp") + @JsonView({View.Persistence.class, View.Public.class}) + public long getCreationTime() { + return creationTime; + } + + @JsonView(View.Persistence.class) + public void setCreationTime(long creationTime) { + this.creationTime = creationTime; + } + + @ApiModelProperty(required = true, value = "the score options") + @JsonView({View.Persistence.class, View.Public.class}) + public ScoreOptions getLearningProgressOptions() { + return learningProgressOptions; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setLearningProgressOptions(ScoreOptions learningProgressOptions) { + this.learningProgressOptions = learningProgressOptions; + } + + @ApiModelProperty(required = true, value = "the enabled features (e.g. feedback, interposed, learning Progress, lecture)") + @JsonView({View.Persistence.class, View.Public.class}) + public SessionFeature getFeatures() { + return features; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setFeatures(SessionFeature features) { + this.features = features; + } + + @ApiModelProperty(required = true, value = "the public pool author name") + @JsonView({View.Persistence.class, View.Public.class}) + public String getPpAuthorName() { + return ppAuthorName; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setPpAuthorName(final String ppAuthorName) { + this.ppAuthorName = ppAuthorName; + } + + @ApiModelProperty(required = true, value = "the public pool author email") + @JsonView({View.Persistence.class, View.Public.class}) + public String getPpAuthorMail() { + return ppAuthorMail; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setPpAuthorMail(final String ppAuthorMail) { + this.ppAuthorMail = ppAuthorMail; + } + + @ApiModelProperty(required = true, value = "the public pool university") + @JsonView({View.Persistence.class, View.Public.class}) + public String getPpUniversity() { + return ppUniversity; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setPpUniversity(final String ppUniversity) { + this.ppUniversity = ppUniversity; + } + + @ApiModelProperty(required = true, value = "the public pool logo") + @JsonView({View.Persistence.class, View.Public.class}) + public String getPpLogo() { + return ppLogo; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setPpLogo(final String ppLogo) { + this.ppLogo = ppLogo; + } + + @ApiModelProperty(required = true, value = "used to display subject") + @JsonView({View.Persistence.class, View.Public.class}) + public String getPpSubject() { + return ppSubject; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setPpSubject(final String ppSubject) { + this.ppSubject = ppSubject; + } + + @ApiModelProperty(required = true, value = "the public pool license") + @JsonView({View.Persistence.class, View.Public.class}) + public String getPpLicense() { + return ppLicense; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setPpLicense(final String ppLicense) { + this.ppLicense = ppLicense; + } + + @ApiModelProperty(required = true, value = "the public pool description") + @JsonView({View.Persistence.class, View.Public.class}) + public String getPpDescription() { + return ppDescription; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setPpDescription(final String ppDescription) { + this.ppDescription = ppDescription; + } + + @ApiModelProperty(required = true, value = "the public pool faculty") + @JsonView({View.Persistence.class, View.Public.class}) + public String getPpFaculty() { + return ppFaculty; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setPpFaculty(final String ppFaculty) { + this.ppFaculty = ppFaculty; + } + + @ApiModelProperty(required = true, value = "the public pool level") + @JsonView({View.Persistence.class, View.Public.class}) + public String getPpLevel() { + return ppLevel; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setPpLevel(final String ppLevel) { + this.ppLevel = ppLevel; + } + + @ApiModelProperty(required = true, value = "the session type") + @JsonView({View.Persistence.class, View.Public.class}) + public String getSessionType() { + return sessionType; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setSessionType(final String sessionType) { + this.sessionType = sessionType; + } + + @ApiModelProperty(required = true, value = "the feedback lock status") + @JsonView({View.Persistence.class, View.Public.class}) + public boolean getFeedbackLock() { + return feedbackLock; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setFeedbackLock(Boolean lock) { + this.feedbackLock = lock; + } + + @ApiModelProperty(required = true, value = "the flashcard flip condition") + @JsonView({View.Persistence.class, View.Public.class}) + public boolean getFlipFlashcards() { + return flipFlashcards; + } + + @JsonView({View.Persistence.class, View.Public.class}) + public void setFlipFlashcards(Boolean flip) { + this.flipFlashcards = flip; + } + + @Override + public String toString() { + return "Session [keyword=" + keyword + ", type=" + getType() + ", creator=" + creator + "]"; + } + + @Override + public int hashCode() { + // See http://stackoverflow.com/a/113600 + final int theAnswer = 42; + final int theOthers = 37; + + return theOthers * theAnswer + this.keyword.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if (obj == null || !obj.getClass().equals(this.getClass())) { + return false; + } + Session other = (Session) obj; + return this.keyword.equals(other.keyword); + } + +} diff --git a/src/main/java/de/thm/arsnova/entities/SessionFeature.java b/src/main/java/de/thm/arsnova/entities/migration/v2/SessionFeature.java similarity index 99% rename from src/main/java/de/thm/arsnova/entities/SessionFeature.java rename to src/main/java/de/thm/arsnova/entities/migration/v2/SessionFeature.java index acecd49fab34a258d7ff9f46057b88e9ea1ba6d4..5549650001f5600db63fb555bf2eaf0922b21fd8 100644 --- a/src/main/java/de/thm/arsnova/entities/SessionFeature.java +++ b/src/main/java/de/thm/arsnova/entities/migration/v2/SessionFeature.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.entities; +package de.thm.arsnova.entities.migration.v2; import com.fasterxml.jackson.annotation.JsonView; import de.thm.arsnova.entities.serialization.View; diff --git a/src/main/java/de/thm/arsnova/entities/SessionInfo.java b/src/main/java/de/thm/arsnova/entities/migration/v2/SessionInfo.java similarity index 99% rename from src/main/java/de/thm/arsnova/entities/SessionInfo.java rename to src/main/java/de/thm/arsnova/entities/migration/v2/SessionInfo.java index 0f7c155fe029fb3981c838bd39ece4b25ae5c0bd..d280d0455758f10dabe1078f2f0e1d9eeed754d0 100644 --- a/src/main/java/de/thm/arsnova/entities/SessionInfo.java +++ b/src/main/java/de/thm/arsnova/entities/migration/v2/SessionInfo.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.thm.arsnova.entities; +package de.thm.arsnova.entities.migration.v2; import com.fasterxml.jackson.annotation.JsonView; import de.thm.arsnova.entities.serialization.View; diff --git a/src/main/java/de/thm/arsnova/entities/serialization/CouchDbTypeFieldConverter.java b/src/main/java/de/thm/arsnova/entities/serialization/CouchDbTypeFieldConverter.java index 6993b84f14cdca2c874d7d44809cf9e07b72599e..69c7ae0f6a9ab891ddeb7306d67f7b9776ad262a 100644 --- a/src/main/java/de/thm/arsnova/entities/serialization/CouchDbTypeFieldConverter.java +++ b/src/main/java/de/thm/arsnova/entities/serialization/CouchDbTypeFieldConverter.java @@ -28,7 +28,7 @@ import de.thm.arsnova.entities.LogEntry; import de.thm.arsnova.entities.Motd; import de.thm.arsnova.entities.migration.v2.Content; import de.thm.arsnova.entities.MotdList; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/de/thm/arsnova/entities/transport/AnswerQueueElement.java b/src/main/java/de/thm/arsnova/entities/transport/AnswerQueueElement.java index be1b1e6ba6ecace523ff93eb5a85a0cc48e00e6e..3d463db97b8a95f399ed335fefbb13da1dc3ffd7 100644 --- a/src/main/java/de/thm/arsnova/entities/transport/AnswerQueueElement.java +++ b/src/main/java/de/thm/arsnova/entities/transport/AnswerQueueElement.java @@ -19,7 +19,7 @@ package de.thm.arsnova.entities.transport; import de.thm.arsnova.entities.migration.v2.Answer; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; /** 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 5ebaca6e1a9bcb6e32be7dc60f26931b0969df85..3d4e8cccf704d0108ba1057848c2da5cf574892e 100644 --- a/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java +++ b/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java @@ -22,9 +22,9 @@ import de.thm.arsnova.entities.migration.v2.Answer; import de.thm.arsnova.entities.Comment; import de.thm.arsnova.entities.migration.v2.Content; import de.thm.arsnova.entities.Motd; -import de.thm.arsnova.entities.Session; -import de.thm.arsnova.entities.SessionFeature; -import de.thm.arsnova.entities.SessionInfo; +import de.thm.arsnova.entities.migration.v2.Session; +import de.thm.arsnova.entities.migration.v2.SessionFeature; +import de.thm.arsnova.entities.migration.v2.SessionInfo; import de.thm.arsnova.entities.User; import de.thm.arsnova.entities.serialization.View; import io.swagger.annotations.ApiModel; diff --git a/src/main/java/de/thm/arsnova/events/ChangeScoreEvent.java b/src/main/java/de/thm/arsnova/events/ChangeScoreEvent.java index 54b2c9fe7ea6e61254aab129a3837c52fdd3c283..4a626fe55b0a5d79b75456666de5f46f3b672d1d 100644 --- a/src/main/java/de/thm/arsnova/events/ChangeScoreEvent.java +++ b/src/main/java/de/thm/arsnova/events/ChangeScoreEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever a score related value changes. diff --git a/src/main/java/de/thm/arsnova/events/DeleteAllLectureAnswersEvent.java b/src/main/java/de/thm/arsnova/events/DeleteAllLectureAnswersEvent.java index bdd05354ed2a2d91e9f384773f46562c4f5474f9..b7f4683fde6b7d0e64d29dcc855a351cd19602b4 100644 --- a/src/main/java/de/thm/arsnova/events/DeleteAllLectureAnswersEvent.java +++ b/src/main/java/de/thm/arsnova/events/DeleteAllLectureAnswersEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever all answers of all lecture questions of a session are deleted. diff --git a/src/main/java/de/thm/arsnova/events/DeleteAllPreparationAnswersEvent.java b/src/main/java/de/thm/arsnova/events/DeleteAllPreparationAnswersEvent.java index 557be91aea880916b392416b4868c7d3898e5ced..a72e223a15d9abc247f3a059e412baeff3e881b8 100644 --- a/src/main/java/de/thm/arsnova/events/DeleteAllPreparationAnswersEvent.java +++ b/src/main/java/de/thm/arsnova/events/DeleteAllPreparationAnswersEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever all answers of all preparation questions of a session are deleted. diff --git a/src/main/java/de/thm/arsnova/events/DeleteAllQuestionsAnswersEvent.java b/src/main/java/de/thm/arsnova/events/DeleteAllQuestionsAnswersEvent.java index f716671ed96b85f39004125dbfedf7ac11ed9852..fd4cf53c3eecbb6689df86f448ffff9a02530e7e 100644 --- a/src/main/java/de/thm/arsnova/events/DeleteAllQuestionsAnswersEvent.java +++ b/src/main/java/de/thm/arsnova/events/DeleteAllQuestionsAnswersEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever all answers of all questions of a session are deleted. diff --git a/src/main/java/de/thm/arsnova/events/DeleteAllQuestionsEvent.java b/src/main/java/de/thm/arsnova/events/DeleteAllQuestionsEvent.java index 6a2872eea473049180647078a781a935290ee375..085896e149b9c7c2e638b609b9d73e058a4fb850 100644 --- a/src/main/java/de/thm/arsnova/events/DeleteAllQuestionsEvent.java +++ b/src/main/java/de/thm/arsnova/events/DeleteAllQuestionsEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever all questions of a session are deleted. Note that this implies that all answers are deleted as well, diff --git a/src/main/java/de/thm/arsnova/events/DeleteAnswerEvent.java b/src/main/java/de/thm/arsnova/events/DeleteAnswerEvent.java index bda39f5d8fec4db6df23455d8220d19a95504bc1..db355a93d774e00ff964abf8d27be77ceeebbc9e 100644 --- a/src/main/java/de/thm/arsnova/events/DeleteAnswerEvent.java +++ b/src/main/java/de/thm/arsnova/events/DeleteAnswerEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever a single answer is deleted. diff --git a/src/main/java/de/thm/arsnova/events/DeleteCommentEvent.java b/src/main/java/de/thm/arsnova/events/DeleteCommentEvent.java index ff812418e496dfc957257cdf6823f9b12d8fab22..6689ca22695ab6f316add4fda2ea9be4d86ccda7 100644 --- a/src/main/java/de/thm/arsnova/events/DeleteCommentEvent.java +++ b/src/main/java/de/thm/arsnova/events/DeleteCommentEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.Comment; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever an comment is deleted. diff --git a/src/main/java/de/thm/arsnova/events/DeleteFeedbackForSessionsEvent.java b/src/main/java/de/thm/arsnova/events/DeleteFeedbackForSessionsEvent.java index d463dd85d2291f4b44937e3cdb0a0d72670d58f0..61edead65ff191f973fbab91bf4783a5075dfd83 100644 --- a/src/main/java/de/thm/arsnova/events/DeleteFeedbackForSessionsEvent.java +++ b/src/main/java/de/thm/arsnova/events/DeleteFeedbackForSessionsEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import java.util.Set; diff --git a/src/main/java/de/thm/arsnova/events/DeleteQuestionEvent.java b/src/main/java/de/thm/arsnova/events/DeleteQuestionEvent.java index d9a7350087dc9976bc722f1f51f3aea6ec2f3c53..2dffe285f68626994f186dc417ecf19faf12025c 100644 --- a/src/main/java/de/thm/arsnova/events/DeleteQuestionEvent.java +++ b/src/main/java/de/thm/arsnova/events/DeleteQuestionEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever a content is deleted. diff --git a/src/main/java/de/thm/arsnova/events/DeleteSessionEvent.java b/src/main/java/de/thm/arsnova/events/DeleteSessionEvent.java index 9d1a60d92618fc5cdf0c3428fcfa57a144a58ce7..d99e6a4be0a43c0641227f954c0be34564d85d68 100644 --- a/src/main/java/de/thm/arsnova/events/DeleteSessionEvent.java +++ b/src/main/java/de/thm/arsnova/events/DeleteSessionEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever a session is deleted. Note that this implies that all related data such as comments, diff --git a/src/main/java/de/thm/arsnova/events/FeatureChangeEvent.java b/src/main/java/de/thm/arsnova/events/FeatureChangeEvent.java index 05068069527ec85d852edaa2b85dbf0e6cc7f16c..c117689c4d631a06f451d1e11855a5ceda08a1bf 100644 --- a/src/main/java/de/thm/arsnova/events/FeatureChangeEvent.java +++ b/src/main/java/de/thm/arsnova/events/FeatureChangeEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever a new session is created. diff --git a/src/main/java/de/thm/arsnova/events/FlipFlashcardsEvent.java b/src/main/java/de/thm/arsnova/events/FlipFlashcardsEvent.java index 0ae01bedb6208507652594e2d23bc809c68c5ecc..4681120f386283d8f19290d9eeaf7e6de9588763 100644 --- a/src/main/java/de/thm/arsnova/events/FlipFlashcardsEvent.java +++ b/src/main/java/de/thm/arsnova/events/FlipFlashcardsEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever voting on a question is disabled. diff --git a/src/main/java/de/thm/arsnova/events/LockFeedbackEvent.java b/src/main/java/de/thm/arsnova/events/LockFeedbackEvent.java index 6eea780073a71d64e0f140d105d9cf765237b573..d196ceb85007fb1059c8ba32c9eb5bbad0cf6d96 100644 --- a/src/main/java/de/thm/arsnova/events/LockFeedbackEvent.java +++ b/src/main/java/de/thm/arsnova/events/LockFeedbackEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever voting on a question is disabled. diff --git a/src/main/java/de/thm/arsnova/events/LockQuestionEvent.java b/src/main/java/de/thm/arsnova/events/LockQuestionEvent.java index 26a74e126c4f44f0cc1efd179c305637b13d05f8..97dcfdd0a4770f11123f52ecab64d72a81a197be 100644 --- a/src/main/java/de/thm/arsnova/events/LockQuestionEvent.java +++ b/src/main/java/de/thm/arsnova/events/LockQuestionEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever a content is disabled, i.e., it is hidden from students. diff --git a/src/main/java/de/thm/arsnova/events/LockQuestionsEvent.java b/src/main/java/de/thm/arsnova/events/LockQuestionsEvent.java index cfe6bf95dcd8a2b5dd2bab1ec9b9c5f92d7e1dda..58c001216fbefa8565c9b22885d9756982067dac 100644 --- a/src/main/java/de/thm/arsnova/events/LockQuestionsEvent.java +++ b/src/main/java/de/thm/arsnova/events/LockQuestionsEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import java.util.List; diff --git a/src/main/java/de/thm/arsnova/events/LockVoteEvent.java b/src/main/java/de/thm/arsnova/events/LockVoteEvent.java index f55f84de142f71ec8046222ff1231f768df4ed9e..303b647ea6eec525556b9531f705c6778948a799 100644 --- a/src/main/java/de/thm/arsnova/events/LockVoteEvent.java +++ b/src/main/java/de/thm/arsnova/events/LockVoteEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/de/thm/arsnova/events/LockVotesEvent.java b/src/main/java/de/thm/arsnova/events/LockVotesEvent.java index a4c4d5b422fcad21731c4a73fcedf6c791beafbc..7288fe96e000bb7e93ee617e5210d5cecaafec53 100644 --- a/src/main/java/de/thm/arsnova/events/LockVotesEvent.java +++ b/src/main/java/de/thm/arsnova/events/LockVotesEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import java.util.List; diff --git a/src/main/java/de/thm/arsnova/events/NewAnswerEvent.java b/src/main/java/de/thm/arsnova/events/NewAnswerEvent.java index 94ccc2488af74cdff50c5b1e9ba432f0129749df..d365616b309df89459f877dfe54d43957ac80449 100644 --- a/src/main/java/de/thm/arsnova/events/NewAnswerEvent.java +++ b/src/main/java/de/thm/arsnova/events/NewAnswerEvent.java @@ -19,7 +19,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Answer; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; /** diff --git a/src/main/java/de/thm/arsnova/events/NewCommentEvent.java b/src/main/java/de/thm/arsnova/events/NewCommentEvent.java index 7949ef50d319d2039ccfc4fca462f87ab81e41b2..5d5c57ff7fb259d97e8d6dd375ac246a69b3ae0b 100644 --- a/src/main/java/de/thm/arsnova/events/NewCommentEvent.java +++ b/src/main/java/de/thm/arsnova/events/NewCommentEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.Comment; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever a new comment is added. diff --git a/src/main/java/de/thm/arsnova/events/NewFeedbackEvent.java b/src/main/java/de/thm/arsnova/events/NewFeedbackEvent.java index 0f95625430578f239237cf0c2a4d1e6d5917fc44..9c807a7889942f6ac609167118d7a7c891b6598f 100644 --- a/src/main/java/de/thm/arsnova/events/NewFeedbackEvent.java +++ b/src/main/java/de/thm/arsnova/events/NewFeedbackEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever the feedback changes. diff --git a/src/main/java/de/thm/arsnova/events/NewQuestionEvent.java b/src/main/java/de/thm/arsnova/events/NewQuestionEvent.java index 1176a3f9bcc0a5445a2839d4ecbd9e70439229ec..7771ec1815b8ce1cf8624cffa25e659290ca7f29 100644 --- a/src/main/java/de/thm/arsnova/events/NewQuestionEvent.java +++ b/src/main/java/de/thm/arsnova/events/NewQuestionEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever a new content is added. diff --git a/src/main/java/de/thm/arsnova/events/NewSessionEvent.java b/src/main/java/de/thm/arsnova/events/NewSessionEvent.java index 34845b8b486d8e5e726d79ba93577c08f56b1b66..a61e9e0dd33427c1d7c9a6d41f17607099db208f 100644 --- a/src/main/java/de/thm/arsnova/events/NewSessionEvent.java +++ b/src/main/java/de/thm/arsnova/events/NewSessionEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever a new session is created. diff --git a/src/main/java/de/thm/arsnova/events/PiRoundCancelEvent.java b/src/main/java/de/thm/arsnova/events/PiRoundCancelEvent.java index 79abfeb0fc4f0a53e2552e06c82c10fd04d2d232..83fb938ec569e8e2e2e3d76b640fb44292754255 100644 --- a/src/main/java/de/thm/arsnova/events/PiRoundCancelEvent.java +++ b/src/main/java/de/thm/arsnova/events/PiRoundCancelEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever a peer instruction round is canceled. diff --git a/src/main/java/de/thm/arsnova/events/PiRoundDelayedStartEvent.java b/src/main/java/de/thm/arsnova/events/PiRoundDelayedStartEvent.java index ec93fff8708d278d7c5f29c2e1027a733f7c982d..fc53399d6bc0134a4b13cf42d093998bf160874c 100644 --- a/src/main/java/de/thm/arsnova/events/PiRoundDelayedStartEvent.java +++ b/src/main/java/de/thm/arsnova/events/PiRoundDelayedStartEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/de/thm/arsnova/events/PiRoundEndEvent.java b/src/main/java/de/thm/arsnova/events/PiRoundEndEvent.java index 868996e0b4a62a187eba72895f33bb5899702acb..366c92a71f9eba477d85c77f462d995710346736 100644 --- a/src/main/java/de/thm/arsnova/events/PiRoundEndEvent.java +++ b/src/main/java/de/thm/arsnova/events/PiRoundEndEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/de/thm/arsnova/events/PiRoundResetEvent.java b/src/main/java/de/thm/arsnova/events/PiRoundResetEvent.java index d869b20ec6b1bfa2eaf5aa5e8b3fbd835828a876..8a7cebfebd6e6ea494c2bf81be07361f71fab88c 100644 --- a/src/main/java/de/thm/arsnova/events/PiRoundResetEvent.java +++ b/src/main/java/de/thm/arsnova/events/PiRoundResetEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/de/thm/arsnova/events/SessionEvent.java b/src/main/java/de/thm/arsnova/events/SessionEvent.java index fc393ddfb130ae78d4db3ac6a68c782f1693e7d2..ae85d3b10a9ced24feb6f3a84be2f639c9500ee2 100644 --- a/src/main/java/de/thm/arsnova/events/SessionEvent.java +++ b/src/main/java/de/thm/arsnova/events/SessionEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Base class for all {@link ArsnovaEvent}s that are related to a session. diff --git a/src/main/java/de/thm/arsnova/events/StatusSessionEvent.java b/src/main/java/de/thm/arsnova/events/StatusSessionEvent.java index 6ee65ef98104efdceced586b0a587f26cbb5b61a..17abf8c2dc96e8ab1edeb41da6b3c041bfb1deb7 100644 --- a/src/main/java/de/thm/arsnova/events/StatusSessionEvent.java +++ b/src/main/java/de/thm/arsnova/events/StatusSessionEvent.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.events; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever the status of a session changes, i.e., it is enabled or disabled. diff --git a/src/main/java/de/thm/arsnova/events/UnlockQuestionEvent.java b/src/main/java/de/thm/arsnova/events/UnlockQuestionEvent.java index e5bc95e89b9e1a17d24475962d41525b1b89873c..7d545cd69be098fe2599ce41b1f889c58c44aba7 100644 --- a/src/main/java/de/thm/arsnova/events/UnlockQuestionEvent.java +++ b/src/main/java/de/thm/arsnova/events/UnlockQuestionEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; /** * Fires whenever a content is enabled, i.e., it becomes visible to students. diff --git a/src/main/java/de/thm/arsnova/events/UnlockQuestionsEvent.java b/src/main/java/de/thm/arsnova/events/UnlockQuestionsEvent.java index 555349b43c71ab04974392687c1eec80ddd41459..f30a992df91dff375013754728461c268a84c688 100644 --- a/src/main/java/de/thm/arsnova/events/UnlockQuestionsEvent.java +++ b/src/main/java/de/thm/arsnova/events/UnlockQuestionsEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import java.util.List; diff --git a/src/main/java/de/thm/arsnova/events/UnlockVoteEvent.java b/src/main/java/de/thm/arsnova/events/UnlockVoteEvent.java index 109555edd236423a2c955c4598e88a86f70c88cc..1a2e875fdd1fb6556a3dfb6efec1802076402ef4 100644 --- a/src/main/java/de/thm/arsnova/events/UnlockVoteEvent.java +++ b/src/main/java/de/thm/arsnova/events/UnlockVoteEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/de/thm/arsnova/events/UnlockVotesEvent.java b/src/main/java/de/thm/arsnova/events/UnlockVotesEvent.java index 83bd98bf145e589891565aff5b3b3724ba0f7d9c..c7df28fa48741f075c816aaf51609274ceeb8b16 100644 --- a/src/main/java/de/thm/arsnova/events/UnlockVotesEvent.java +++ b/src/main/java/de/thm/arsnova/events/UnlockVotesEvent.java @@ -18,7 +18,7 @@ package de.thm.arsnova.events; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import java.util.List; diff --git a/src/main/java/de/thm/arsnova/persistance/SessionRepository.java b/src/main/java/de/thm/arsnova/persistance/SessionRepository.java index 6d2b31f633dfee6564f4ad9a86632aa9de1a6ca5..1179b009a05d1c18245ad74c6cd12d53764eed4f 100644 --- a/src/main/java/de/thm/arsnova/persistance/SessionRepository.java +++ b/src/main/java/de/thm/arsnova/persistance/SessionRepository.java @@ -19,8 +19,8 @@ package de.thm.arsnova.persistance; import de.thm.arsnova.connector.model.Course; import de.thm.arsnova.entities.LoggedIn; -import de.thm.arsnova.entities.Session; -import de.thm.arsnova.entities.SessionInfo; +import de.thm.arsnova.entities.migration.v2.Session; +import de.thm.arsnova.entities.migration.v2.SessionInfo; import de.thm.arsnova.entities.User; import de.thm.arsnova.entities.transport.ImportExportSession; import org.springframework.data.repository.CrudRepository; diff --git a/src/main/java/de/thm/arsnova/persistance/SessionStatisticsRepository.java b/src/main/java/de/thm/arsnova/persistance/SessionStatisticsRepository.java index 5791280415b3c7379780d03c7799eb5c2892b6ad..4d8f729a00c2f6f444d1d517b1e2f12335ff1763 100644 --- a/src/main/java/de/thm/arsnova/persistance/SessionStatisticsRepository.java +++ b/src/main/java/de/thm/arsnova/persistance/SessionStatisticsRepository.java @@ -1,7 +1,7 @@ package de.thm.arsnova.persistance; import de.thm.arsnova.services.score.Score; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; public interface SessionStatisticsRepository { Score getLearningProgress(Session session); diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionRepository.java index c5f6d05283a35a9a5c05adf197f400594a604d2c..0d55949d10a8113ec793a56d0a0f8f94a2337f32 100644 --- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionRepository.java +++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionRepository.java @@ -20,8 +20,8 @@ package de.thm.arsnova.persistance.couchdb; import de.thm.arsnova.connector.model.Course; import de.thm.arsnova.entities.Comment; import de.thm.arsnova.entities.LoggedIn; -import de.thm.arsnova.entities.Session; -import de.thm.arsnova.entities.SessionInfo; +import de.thm.arsnova.entities.migration.v2.Session; +import de.thm.arsnova.entities.migration.v2.SessionInfo; import de.thm.arsnova.entities.User; import de.thm.arsnova.entities.VisitedSession; import de.thm.arsnova.entities.transport.ImportExportSession; diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionStatisticsRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionStatisticsRepository.java index e0c5f4927da1ad8b9ca33d3aaf6646411935698d..214c061b4a63a8f94fc2d9d8927c8520c3e4cf89 100644 --- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionStatisticsRepository.java +++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionStatisticsRepository.java @@ -2,7 +2,7 @@ package de.thm.arsnova.persistance.couchdb; import com.fasterxml.jackson.databind.JsonNode; import de.thm.arsnova.services.score.Score; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.persistance.SessionStatisticsRepository; import org.ektorp.ComplexKey; import org.ektorp.CouchDbConnector; diff --git a/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java b/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java index 965073a35ce04e89924a862277b40dee3e158793..ce58a78030318fa73c5a60f25304fc4d15f4c52b 100644 --- a/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java +++ b/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java @@ -19,7 +19,7 @@ package de.thm.arsnova.security; import de.thm.arsnova.entities.Comment; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import de.thm.arsnova.persistance.CommentRepository; import de.thm.arsnova.persistance.ContentRepository; diff --git a/src/main/java/de/thm/arsnova/services/CommentServiceImpl.java b/src/main/java/de/thm/arsnova/services/CommentServiceImpl.java index 0066191a7b9eb07812b2dc591ebe8a8525ad590d..4678aff6edafd222851d86e4e7cee1f958b45077 100644 --- a/src/main/java/de/thm/arsnova/services/CommentServiceImpl.java +++ b/src/main/java/de/thm/arsnova/services/CommentServiceImpl.java @@ -2,7 +2,7 @@ package de.thm.arsnova.services; import de.thm.arsnova.entities.Comment; import de.thm.arsnova.entities.CommentReadingCount; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import de.thm.arsnova.events.DeleteCommentEvent; import de.thm.arsnova.events.NewCommentEvent; diff --git a/src/main/java/de/thm/arsnova/services/ContentServiceImpl.java b/src/main/java/de/thm/arsnova/services/ContentServiceImpl.java index fc1d060fb60c3209391d66130b0c8eb73c3101fc..91311b0add77c237f1b554879427b6b5c5185b0b 100644 --- a/src/main/java/de/thm/arsnova/services/ContentServiceImpl.java +++ b/src/main/java/de/thm/arsnova/services/ContentServiceImpl.java @@ -22,7 +22,7 @@ import de.thm.arsnova.persistance.LogEntryRepository; import de.thm.arsnova.util.ImageUtils; import de.thm.arsnova.entities.migration.v2.Answer; import de.thm.arsnova.entities.migration.v2.Content; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import de.thm.arsnova.events.*; import de.thm.arsnova.exceptions.BadRequestException; diff --git a/src/main/java/de/thm/arsnova/services/FeedbackServiceImpl.java b/src/main/java/de/thm/arsnova/services/FeedbackServiceImpl.java index 25845d2ae9dfd30bdde805cab4f27be0daab11a2..169ca972263da04b8d361cc0e35670311a7c3561 100644 --- a/src/main/java/de/thm/arsnova/services/FeedbackServiceImpl.java +++ b/src/main/java/de/thm/arsnova/services/FeedbackServiceImpl.java @@ -18,7 +18,7 @@ package de.thm.arsnova.services; import de.thm.arsnova.entities.Feedback; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import de.thm.arsnova.events.DeleteFeedbackForSessionsEvent; import de.thm.arsnova.events.NewFeedbackEvent; diff --git a/src/main/java/de/thm/arsnova/services/FeedbackStorageService.java b/src/main/java/de/thm/arsnova/services/FeedbackStorageService.java index 279f703e778036684eb9c965594f642ca55bd506..cd58398953091977836ebe701432d5142c26428f 100644 --- a/src/main/java/de/thm/arsnova/services/FeedbackStorageService.java +++ b/src/main/java/de/thm/arsnova/services/FeedbackStorageService.java @@ -1,7 +1,7 @@ package de.thm.arsnova.services; import de.thm.arsnova.entities.Feedback; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import java.util.List; diff --git a/src/main/java/de/thm/arsnova/services/FeedbackStorageServiceImpl.java b/src/main/java/de/thm/arsnova/services/FeedbackStorageServiceImpl.java index cb72d608fb2b643d29c9c8933044cb52380a109d..88f2940c0fe9577eb8f6eac004dce7ce26019a38 100644 --- a/src/main/java/de/thm/arsnova/services/FeedbackStorageServiceImpl.java +++ b/src/main/java/de/thm/arsnova/services/FeedbackStorageServiceImpl.java @@ -18,7 +18,7 @@ package de.thm.arsnova.services; import de.thm.arsnova.entities.Feedback; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Isolation; diff --git a/src/main/java/de/thm/arsnova/services/MotdServiceImpl.java b/src/main/java/de/thm/arsnova/services/MotdServiceImpl.java index b0465a031028cddd6f3178ffe11f00bb46fde75a..0aaad4ba9039dd9e171fc92e1527f9255db5ee74 100644 --- a/src/main/java/de/thm/arsnova/services/MotdServiceImpl.java +++ b/src/main/java/de/thm/arsnova/services/MotdServiceImpl.java @@ -19,7 +19,7 @@ package de.thm.arsnova.services; import de.thm.arsnova.entities.Motd; import de.thm.arsnova.entities.MotdList; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import de.thm.arsnova.exceptions.BadRequestException; import de.thm.arsnova.persistance.MotdListRepository; diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java index 8b8f650405c0073bf9e40bead5b54199f14f4303..02bba48e839b034a79fef7f027b19184afeb252a 100644 --- a/src/main/java/de/thm/arsnova/services/SessionService.java +++ b/src/main/java/de/thm/arsnova/services/SessionService.java @@ -18,9 +18,9 @@ package de.thm.arsnova.services; import de.thm.arsnova.connector.model.Course; -import de.thm.arsnova.entities.Session; -import de.thm.arsnova.entities.SessionFeature; -import de.thm.arsnova.entities.SessionInfo; +import de.thm.arsnova.entities.migration.v2.Session; +import de.thm.arsnova.entities.migration.v2.SessionFeature; +import de.thm.arsnova.entities.migration.v2.SessionInfo; import de.thm.arsnova.entities.User; import de.thm.arsnova.entities.transport.ImportExportSession; import de.thm.arsnova.entities.transport.ScoreStatistics; diff --git a/src/main/java/de/thm/arsnova/services/SessionServiceImpl.java b/src/main/java/de/thm/arsnova/services/SessionServiceImpl.java index d2a0ee6a1280277a324a18b020b768fc1b23a2c5..9442f510fd040de9635b5a6127f640b7526e39a5 100644 --- a/src/main/java/de/thm/arsnova/services/SessionServiceImpl.java +++ b/src/main/java/de/thm/arsnova/services/SessionServiceImpl.java @@ -27,9 +27,9 @@ import de.thm.arsnova.connector.model.Course; import de.thm.arsnova.services.score.ScoreCalculatorFactory; import de.thm.arsnova.services.score.ScoreCalculator; import de.thm.arsnova.entities.ScoreOptions; -import de.thm.arsnova.entities.Session; -import de.thm.arsnova.entities.SessionFeature; -import de.thm.arsnova.entities.SessionInfo; +import de.thm.arsnova.entities.migration.v2.Session; +import de.thm.arsnova.entities.migration.v2.SessionFeature; +import de.thm.arsnova.entities.migration.v2.SessionInfo; import de.thm.arsnova.entities.User; import de.thm.arsnova.entities.transport.ImportExportSession; import de.thm.arsnova.entities.transport.ScoreStatistics; diff --git a/src/main/java/de/thm/arsnova/services/UserSessionService.java b/src/main/java/de/thm/arsnova/services/UserSessionService.java index 79ab4f84a8c7865a532153748dabd24addfcc91c..3ee83b7a67a3122aa6858c8117c0e81a61cd4489 100644 --- a/src/main/java/de/thm/arsnova/services/UserSessionService.java +++ b/src/main/java/de/thm/arsnova/services/UserSessionService.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.services; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import java.util.UUID; diff --git a/src/main/java/de/thm/arsnova/services/UserSessionServiceImpl.java b/src/main/java/de/thm/arsnova/services/UserSessionServiceImpl.java index da33beaadd8c0146a36558500471d9e91eeb2f70..8ae677d2df5d1cfa701bce88bf03caeab06662b5 100644 --- a/src/main/java/de/thm/arsnova/services/UserSessionServiceImpl.java +++ b/src/main/java/de/thm/arsnova/services/UserSessionServiceImpl.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.services; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.ScopedProxyMode; diff --git a/src/main/java/de/thm/arsnova/services/score/ScoreCalculator.java b/src/main/java/de/thm/arsnova/services/score/ScoreCalculator.java index 25f53022dada8a33fb788ba813f013458fb06f56..f4c02c8ec93f9d27c2589b949e5799ea9fd6a0f7 100644 --- a/src/main/java/de/thm/arsnova/services/score/ScoreCalculator.java +++ b/src/main/java/de/thm/arsnova/services/score/ScoreCalculator.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.services.score; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import de.thm.arsnova.entities.transport.ScoreStatistics; diff --git a/src/main/java/de/thm/arsnova/services/score/VariantScoreCalculator.java b/src/main/java/de/thm/arsnova/services/score/VariantScoreCalculator.java index f518ac6fec937f75095bb143d3e0341297a7f97c..19e45034a3ae46ffb245baac1411be071fa73357 100644 --- a/src/main/java/de/thm/arsnova/services/score/VariantScoreCalculator.java +++ b/src/main/java/de/thm/arsnova/services/score/VariantScoreCalculator.java @@ -17,7 +17,7 @@ */ package de.thm.arsnova.services.score; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.entities.User; import de.thm.arsnova.entities.transport.ScoreStatistics; import de.thm.arsnova.persistance.SessionStatisticsRepository; diff --git a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java b/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java index 9c3f88c206404a356ed6c57dfbaf4900072096ad..a343a7230316b432a797e467ace66d89393c8b1d 100644 --- a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java +++ b/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java @@ -31,6 +31,7 @@ import com.corundumstudio.socketio.protocol.PacketType; import de.thm.arsnova.entities.Comment; import de.thm.arsnova.entities.ScoreOptions; import de.thm.arsnova.entities.User; +import de.thm.arsnova.entities.migration.v2.SessionFeature; import de.thm.arsnova.events.*; import de.thm.arsnova.exceptions.NoContentException; import de.thm.arsnova.exceptions.NotFoundException; @@ -149,7 +150,7 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova return; } final String sessionKey = userService.getSessionByUsername(u.getUsername()); - final de.thm.arsnova.entities.Session session = sessionService.getInternal(sessionKey, u); + final de.thm.arsnova.entities.migration.v2.Session session = sessionService.getInternal(sessionKey, u); if (session.getFeedbackLock()) { logger.debug("Feedback save blocked: {}", u, sessionKey, data.getValue()); @@ -230,7 +231,7 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova public void onData(SocketIOClient client, ScoreOptions scoreOptions, AckRequest ack) { final User user = userService.getUser2SocketId(client.getSessionId()); final String sessionKey = userService.getSessionByUsername(user.getUsername()); - final de.thm.arsnova.entities.Session session = sessionService.getInternal(sessionKey, user); + final de.thm.arsnova.entities.migration.v2.Session session = sessionService.getInternal(sessionKey, user); if (session.isCreator(user)) { session.setLearningProgressOptions(scoreOptions); sessionService.updateInternal(session, user); @@ -334,9 +335,9 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova this.useSSL = useSSL; } - public void reportDeletedFeedback(final User user, final Set<de.thm.arsnova.entities.Session> arsSessions) { + public void reportDeletedFeedback(final User user, final Set<de.thm.arsnova.entities.migration.v2.Session> arsSessions) { final List<String> keywords = new ArrayList<>(); - for (final de.thm.arsnova.entities.Session session : arsSessions) { + for (final de.thm.arsnova.entities.migration.v2.Session session : arsSessions) { keywords.add(session.getKeyword()); } this.sendToUser(user, "feedbackReset", keywords); @@ -371,8 +372,8 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova * relevant Socket.IO data, the client needs to know after joining a session. */ public void reportSessionDataToClient(final String sessionKey, final User user, final SocketIOClient client) { - final de.thm.arsnova.entities.Session session = sessionService.getInternal(sessionKey, user); - final de.thm.arsnova.entities.SessionFeature features = sessionService.getFeatures(sessionKey); + final de.thm.arsnova.entities.migration.v2.Session session = sessionService.getInternal(sessionKey, user); + final SessionFeature features = sessionService.getFeatures(sessionKey); client.sendEvent("unansweredLecturerQuestions", contentService.getUnAnsweredLectureQuestionIds(sessionKey, user)); client.sendEvent("unansweredPreparationQuestions", contentService.getUnAnsweredPreparationQuestionIds(sessionKey, user)); @@ -397,7 +398,7 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova } } - public void reportUpdatedFeedbackForSession(final de.thm.arsnova.entities.Session session) { + public void reportUpdatedFeedbackForSession(final de.thm.arsnova.entities.migration.v2.Session session) { final de.thm.arsnova.entities.Feedback fb = feedbackService.getBySessionKey(session.getKeyword()); broadcastInSession(session.getKeyword(), "feedbackData", fb.getValues()); try { @@ -408,7 +409,7 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova } } - public void reportFeedbackForUserInSession(final de.thm.arsnova.entities.Session session, final User user) { + public void reportFeedbackForUserInSession(final de.thm.arsnova.entities.migration.v2.Session session, final User user) { final de.thm.arsnova.entities.Feedback fb = feedbackService.getBySessionKey(session.getKeyword()); Long averageFeedback; try { @@ -435,16 +436,16 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova broadcastInSession(sessionKey, "activeUserCountData", count); } - public void reportAnswersToLecturerQuestionAvailable(final de.thm.arsnova.entities.Session session, final Content content) { + public void reportAnswersToLecturerQuestionAvailable(final de.thm.arsnova.entities.migration.v2.Session session, final Content content) { broadcastInSession(session.getKeyword(), "answersToLecQuestionAvail", content.get_id()); } - public void reportAudienceQuestionAvailable(final de.thm.arsnova.entities.Session session, final Comment audienceQuestion) { + public void reportAudienceQuestionAvailable(final de.thm.arsnova.entities.migration.v2.Session session, final Comment audienceQuestion) { /* TODO role handling implementation, send this only to users with role lecturer */ broadcastInSession(session.getKeyword(), "audQuestionAvail", audienceQuestion.getId()); } - public void reportLecturerQuestionAvailable(final de.thm.arsnova.entities.Session session, final List<de.thm.arsnova.entities.migration.v2.Content> qs) { + public void reportLecturerQuestionAvailable(final de.thm.arsnova.entities.migration.v2.Session session, final List<de.thm.arsnova.entities.migration.v2.Content> qs) { List<Content> contents = new ArrayList<>(); for (de.thm.arsnova.entities.migration.v2.Content q : qs) { contents.add(new Content(q)); @@ -457,7 +458,7 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova broadcastInSession(session.getKeyword(), "lecturerQuestionAvailable", contents); } - public void reportLecturerQuestionsLocked(final de.thm.arsnova.entities.Session session, final List<de.thm.arsnova.entities.migration.v2.Content> qs) { + public void reportLecturerQuestionsLocked(final de.thm.arsnova.entities.migration.v2.Session session, final List<de.thm.arsnova.entities.migration.v2.Content> qs) { List<Content> contents = new ArrayList<>(); for (de.thm.arsnova.entities.migration.v2.Content q : qs) { contents.add(new Content(q)); @@ -607,7 +608,7 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer, Arsnova @Override public void visit(FeatureChangeEvent event) { final String sessionKey = event.getSession().getKeyword(); - final de.thm.arsnova.entities.SessionFeature features = event.getSession().getFeatures(); + final SessionFeature features = event.getSession().getFeatures(); broadcastInSession(sessionKey, "featureChange", features); if (features.isFlashcard() || features.isFlashcardFeature()) { diff --git a/src/test/java/de/thm/arsnova/services/DefaultEntityServiceImplTest.java b/src/test/java/de/thm/arsnova/services/DefaultEntityServiceImplTest.java index a7708c9eed3eb0f5cb03b89effae4b44082bb63e..7fff5e143293c248efa3ee03050db59e999946ad 100644 --- a/src/test/java/de/thm/arsnova/services/DefaultEntityServiceImplTest.java +++ b/src/test/java/de/thm/arsnova/services/DefaultEntityServiceImplTest.java @@ -5,7 +5,7 @@ import de.thm.arsnova.config.AppConfig; import de.thm.arsnova.config.TestAppConfig; import de.thm.arsnova.config.TestPersistanceConfig; import de.thm.arsnova.config.TestSecurityConfig; -import de.thm.arsnova.entities.Session; +import de.thm.arsnova.entities.migration.v2.Session; import de.thm.arsnova.persistance.SessionRepository; import org.junit.Test; import org.junit.runner.RunWith;