diff --git a/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java b/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java index 1e50661e772406c8e986bb7540e7a1ceb700483d..d1b45532b128fa826a997bf216f8556b7a993b0d 100644 --- a/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java +++ b/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java @@ -627,54 +627,4 @@ public class LecturerQuestionController extends PaginationController { return questionService.getTotalAnswerCount(sessionkey); } } - - @RequestMapping(value = "/subjectsort", method = RequestMethod.POST) - public void setSubjectSortOrder( - @RequestParam(required = true) final String sessionkey, - @RequestParam(required = true) final String sorttype, - @RequestParam(required = true) final String ispreparation, - @RequestBody String[] sortOrder - ) { - try { - questionService.setSort(sessionkey, "", sorttype, ispreparation, sortOrder); - } catch (final Exception e) { - throw new BadRequestException(); - } - } - - @RequestMapping(value = "/subjectsort", method = RequestMethod.GET) - public String getSubjectSortType( - @RequestParam(required = true) final String sessionkey, - @RequestParam(required = true) final String ispreparation - ) { - return questionService.getSubjectSortType(sessionkey, ispreparation); - } - - @RequestMapping(value = "/questionsort", method = RequestMethod.POST) - public void setQuestionSortOrder( - @RequestParam(required = true) final String sessionkey, - @RequestParam(required = true) final String subject, - @RequestParam(required = true) final String sorttype, - @RequestParam(required = true) final String ispreparation, - @RequestBody String[] sortOrder - ) { - try { - questionService.setSort(sessionkey, subject, sorttype, ispreparation, sortOrder); - } catch (final Exception e) { - throw new BadRequestException(); - } - } - - @RequestMapping(value = "/questionsort", method = RequestMethod.GET) - public String getQuestionSortType( - @RequestParam(required = true) final String sessionkey, - @RequestParam(required = true) final String subject, - @RequestParam(required = true, defaultValue = "false") final boolean ispreparation - ) { - String sortType = questionService.getQuestionSortType(sessionkey, ispreparation, subject); - if (sortType == null) { - throw new NoContentException(); - } - return sortType; - } } diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index 713731b8a4c8bd2f2949ac2ee28ba1c352a7d213..875b999c37a97d50ad1ec54f6769be7f6bc85a16 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -36,7 +36,6 @@ import de.thm.arsnova.entities.PossibleAnswer; import de.thm.arsnova.entities.Question; import de.thm.arsnova.entities.Session; import de.thm.arsnova.entities.SessionInfo; -import de.thm.arsnova.entities.SortOrder; import de.thm.arsnova.entities.Statistics; import de.thm.arsnova.entities.User; import de.thm.arsnova.entities.VisitedSession; @@ -2418,91 +2417,6 @@ public class CouchDBDao implements IDatabaseDao, ApplicationEventPublisherAware return qids; } - @Cacheable(value = "sortorder", key = "#p0.concat('-').concat(#p1).concat('-').concat(#p2)") - @Override - public SortOrder getSortOrder(String sessionId, String questionVariant, String subject) { - String viewString = ""; - if ("preparation".equals(questionVariant)) { - viewString = "sort_order/preparation_question_sort_order_by_sessionid_and_subject"; - } else if ("lecture".equals(questionVariant)) { - viewString = "sort_order/lecture_question_sort_order_by_sessionid_and_subject"; - } else if ("flashcard".equals(questionVariant)) { - return null; - } - - NovaView view = new NovaView(viewString); - view.setKey(sessionId, subject); - - ViewResults results = this.getDatabase().view(view); - - if (isEmptyResults(results)) { - return null; - } - - SortOrder sortOrder = new SortOrder(); - - for (final Document d : results.getResults()) { - sortOrder.set_id(d.getJSONObject("value").getString("_id")); - sortOrder.set_rev(d.getJSONObject("value").getString("_rev")); - sortOrder.setSessionId(d.getJSONObject("value").getString("sessionId")); - sortOrder.setSubject(d.getJSONObject("value").getString("subject")); - sortOrder.setSortType(d.getJSONObject("value").getString("sortType")); - sortOrder.setQuestionVariant(d.getJSONObject("value").getString("questionVariant")); - List<String> sort = new ArrayList<String>(); - JSONArray json = d.getJSONObject("value").getJSONArray("sortOrder"); - int len = json.size(); - for (int i = 0; i < len; i++) { - sort.add(json.getString(i)); - } - sortOrder.setSortOrder(sort); - } - - return sortOrder; - } - - @CachePut(value = "sortorder", key = "#sortOrder.sessionId.concat('-').concat(#sortOrder.questionVariant).concat('-').concat(#sortOrder.subject)") - @Override - public SortOrder createOrUpdateSortOrder(SortOrder sortOrder) { - try { - SortOrder oldSortOrder = getDatabaseDao().getSortOrder(sortOrder.getSessionId(), sortOrder.getQuestionVariant(), sortOrder.getSubject()); - Document d = new Document(); - - String id = ""; - String rev = ""; - if (oldSortOrder != null) { - id = oldSortOrder.get_id(); - rev = oldSortOrder.get_rev(); - d = database.getDocument(id, rev); - } - - d.put("type", "sort_order"); - d.put("sessionId", sortOrder.getSessionId()); - d.put("sortType", sortOrder.getSortType()); - d.put("questionVariant", sortOrder.getQuestionVariant()); - d.put("subject", sortOrder.getSubject()); - d.put("sortOrder", sortOrder.getSortOrder()); - - database.saveDocument(d, id); - sortOrder.set_id(d.getId()); - sortOrder.set_rev(d.getRev()); - - return sortOrder; - } catch (IOException e) { - LOGGER.error("Could not save sort {}", sortOrder); - } - return null; - } - - @CacheEvict(value = "sortorder", key = "#sortOrder.sessionId.concat('-').concat(#sortOrder.questionVariant).concat('-').concat(#sortOrder.subject)") - @Override - public void deleteSortOrder(SortOrder sortOrder) { - try { - this.deleteDocument(sortOrder.get_id()); - } catch (IOException e) { - LOGGER.error("Could not delete SortOrder {}", sortOrder.get_id()); - } - } - @Override public List<Question> getQuestionsByIds(List<String> ids, final Session session) { NovaView view = new NovaView("_all_docs"); diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java index 378d6ae62393fcea679eee68da4879f51c591ae1..f5d2d2fb6af9bc0041e163a0586213cceb06a4d4 100644 --- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java +++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java @@ -29,7 +29,6 @@ import de.thm.arsnova.entities.MotdList; import de.thm.arsnova.entities.Question; import de.thm.arsnova.entities.Session; import de.thm.arsnova.entities.SessionInfo; -import de.thm.arsnova.entities.SortOrder; import de.thm.arsnova.entities.Statistics; import de.thm.arsnova.entities.User; import de.thm.arsnova.entities.transport.ImportExportSession; @@ -221,12 +220,6 @@ public interface IDatabaseDao { List<String> getQuestionIdsBySubject(Session session, String questionVariant, String subject); - SortOrder createOrUpdateSortOrder(SortOrder sortOrder); - - SortOrder getSortOrder(String sessionId, String questionVariant, String subject); - - void deleteSortOrder(SortOrder sortOrder); - List<Question> getQuestionsByIds(List<String> ids, Session session); void resetQuestionsRoundState(Session session, List<Question> questions); diff --git a/src/main/java/de/thm/arsnova/entities/SortOrder.java b/src/main/java/de/thm/arsnova/entities/SortOrder.java deleted file mode 100644 index ce386b0da8a938b93df1b97337407a254695d5ab..0000000000000000000000000000000000000000 --- a/src/main/java/de/thm/arsnova/entities/SortOrder.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * This file is part of ARSnova Backend. - * Copyright (C) 2012-2016 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; - -import java.util.List; - -/** - * Defines how a question list should be sorted. - */ -public class SortOrder { - - private String sessionId; - private String sortType; - private String questionVariant; - private String subject; - private List<String> sortOrder; - - private String _id; - private String _rev; - - public void setSessionId(final String sessionId) { - this.sessionId = sessionId; - } - - public String getSessionId() { - return this.sessionId; - } - - public void setSortType(final String sortType) { - this.sortType = sortType; - } - - public String getSortType() { - return this.sortType; - } - - public void setQuestionVariant(final String questionVariant) { - this.questionVariant = questionVariant; - } - - public String getQuestionVariant() { - return this.questionVariant; - } - - public void setSubject(final String subject) { - this.subject = subject; - } - - public String getSubject() { - return this.subject; - } - - public void setSortOrder(final List<String> sortOrder) { - this.sortOrder = sortOrder; - } - - public List<String> getSortOrder() { - return this.sortOrder; - } - - public void set_id(final String id) { - _id = id; - } - - public String get_id() { - return _id; - } - - public void set_rev(final String rev) { - _rev = rev; - } - - public String get_rev() { - return _rev; - } - - @Override - public int hashCode() { - // auto-generated! - final int prime = 31; - int result = 1; - result = prime * result + ((questionVariant == null) ? 0 : questionVariant.hashCode()); - result = prime * result + ((sessionId == null) ? 0 : sessionId.hashCode()); - result = prime * result + ((subject == null) ? 0 : subject.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - // auto-generated! - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - SortOrder other = (SortOrder) obj; - if (questionVariant == null) { - if (other.questionVariant != null) { - return false; - } - } else if (!questionVariant.equals(other.questionVariant)) { - return false; - } - if (sessionId == null) { - if (other.sessionId != null) { - return false; - } - } else if (!sessionId.equals(other.sessionId)) { - return false; - } - if (subject == null) { - if (other.subject != null) { - return false; - } - } else if (!subject.equals(other.subject)) { - return false; - } - return true; - } -} diff --git a/src/main/java/de/thm/arsnova/services/IQuestionService.java b/src/main/java/de/thm/arsnova/services/IQuestionService.java index f0864314749967c9b0c15066a57aad42a5fc38f4..3567a2357b50bc930724a95594fd00a276cffe61 100644 --- a/src/main/java/de/thm/arsnova/services/IQuestionService.java +++ b/src/main/java/de/thm/arsnova/services/IQuestionService.java @@ -21,7 +21,6 @@ import de.thm.arsnova.entities.Answer; import de.thm.arsnova.entities.InterposedQuestion; import de.thm.arsnova.entities.InterposedReadingCount; import de.thm.arsnova.entities.Question; -import de.thm.arsnova.entities.SortOrder; import de.thm.arsnova.entities.User; import java.util.List; @@ -157,12 +156,6 @@ public interface IQuestionService { String getImage(String questionId, String answerId); - String getSubjectSortType(String sessionkey, String isPreparation); - - SortOrder setSort(String sessionkey, String subject, String sortType, String isPreparation, String[] sortOrder); - - String getQuestionSortType(String sessionkey, boolean isPreparation, String subject); - void setVotingAdmission(String questionId, boolean disableVoting); void setVotingAdmissions(String sessionkey, boolean disableVoting, List<Question> questions); diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java index b00252ea59528e6345e776acb71411ee20d1938d..b0a310a07331cb2dccfc7e10cfcc6a872b3b50ea 100644 --- a/src/main/java/de/thm/arsnova/services/QuestionService.java +++ b/src/main/java/de/thm/arsnova/services/QuestionService.java @@ -24,7 +24,6 @@ import de.thm.arsnova.entities.InterposedQuestion; import de.thm.arsnova.entities.InterposedReadingCount; import de.thm.arsnova.entities.Question; import de.thm.arsnova.entities.Session; -import de.thm.arsnova.entities.SortOrder; import de.thm.arsnova.entities.User; import de.thm.arsnova.events.*; import de.thm.arsnova.exceptions.BadRequestException; @@ -123,27 +122,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis final Question result = databaseDao.saveQuestion(session, question); - SortOrder subjectSortOrder = databaseDao.getSortOrder(session.get_id(), question.getQuestionVariant(), ""); - if (subjectSortOrder != null) { - SortOrder questionSortOrder = databaseDao.getSortOrder(session.get_id(), question.getQuestionVariant(), question.getSubject()); - if (questionSortOrder == null) { - List<String> s = new ArrayList<String>(); - s.add(question.get_id()); - SortOrder newQSortOrder = new SortOrder(); - newQSortOrder.setSessionId(question.getSessionId()); - newQSortOrder.setSubject(question.getSubject()); - newQSortOrder.setSortType(subjectSortOrder.getSortType()); - newQSortOrder.setQuestionVariant(subjectSortOrder.getQuestionVariant()); - newQSortOrder.setSortOrder(s); - databaseDao.createOrUpdateSortOrder(newQSortOrder); - addToSortOrder(subjectSortOrder, question.getSubject()); - } else { - addToSortOrder(questionSortOrder, question.get_id()); - } - } else { - createSortOrder(session, question.getQuestionVariant(), ""); - } - final NewQuestionEvent event = new NewQuestionEvent(this, session, result); this.publisher.publishEvent(event); @@ -191,7 +169,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis if (session == null) { throw new UnauthorizedException(); } - deleteQuestionFromSortOrder(question); databaseDao.deleteQuestionWithAnswers(question); final DeleteQuestionEvent event = new DeleteQuestionEvent(this, session, question); @@ -692,31 +669,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis final LockQuestionEvent event = new LockQuestionEvent(this, session, result); this.publisher.publishEvent(event); } - - if (!oldQuestion.getSubject().equals(result.getSubject())) { - // Subject changed, question moved to another sort order document - deleteQuestionFromSortOrder(oldQuestion); - } - SortOrder subjectSortOrder = databaseDao.getSortOrder(session.get_id(), result.getQuestionVariant(), ""); - if (subjectSortOrder != null) { - SortOrder questionSortOrder = databaseDao.getSortOrder(session.get_id(), result.getQuestionVariant(), result.getSubject()); - if (questionSortOrder == null) { - List<String> order = new ArrayList<String>(); - order.add(result.get_id()); - SortOrder newQSortOrder = new SortOrder(); - newQSortOrder.setSessionId(result.getSessionId()); - newQSortOrder.setSubject(result.getSubject()); - newQSortOrder.setSortType(subjectSortOrder.getSortType()); - newQSortOrder.setQuestionVariant(subjectSortOrder.getQuestionVariant()); - newQSortOrder.setSortOrder(order); - databaseDao.createOrUpdateSortOrder(newQSortOrder); - addToSortOrder(subjectSortOrder, result.getSubject()); - } else { - addToSortOrder(questionSortOrder, result.get_id()); - } - } else { - createSortOrder(session, result.getQuestionVariant(), ""); - } return result; } @@ -788,13 +740,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis @PreAuthorize("isAuthenticated()") public List<Question> getLectureQuestions(final String sessionkey) { final Session session = getSession(sessionkey); - SortOrder subjectSortOrder = databaseDao.getSortOrder(session.get_id(), "lecture", ""); - if (subjectSortOrder == null) { - subjectSortOrder = createSortOrder(session, "lecture", ""); - } - if (subjectSortOrder == null) { - return null; - } final User user = userService.getCurrentUser(); if (session.isCreator(user)) { return databaseDao.getLectureQuestionsForTeachers(session); @@ -819,13 +764,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis @PreAuthorize("isAuthenticated()") public List<Question> getPreparationQuestions(final String sessionkey) { final Session session = getSession(sessionkey); - SortOrder subjectSortOrder = databaseDao.getSortOrder(session.get_id(), "preparation", ""); - if (subjectSortOrder == null) { - subjectSortOrder = createSortOrder(session, "preparation", ""); - } - if (subjectSortOrder == null) { - return null; - } final User user = userService.getCurrentUser(); if (session.isCreator(user)) { return databaseDao.getPreparationQuestionsForTeachers(session); @@ -931,7 +869,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis @PreAuthorize("isAuthenticated()") public void deleteLectureQuestions(final String sessionkey) { final Session session = getSessionWithAuthCheck(sessionkey); - this.deleteSortOrder(session, "lecture", ""); databaseDao.deleteAllLectureQuestionsWithAnswers(session); } @@ -946,7 +883,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis @PreAuthorize("isAuthenticated()") public void deletePreparationQuestions(final String sessionkey) { final Session session = getSessionWithAuthCheck(sessionkey); - this.deleteSortOrder(session, "preparation", ""); databaseDao.deleteAllPreparationQuestionsWithAnswers(session); } @@ -1090,183 +1026,4 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis return imageData; } - - @Override - public String getSubjectSortType(String sessionkey, String isPreparation) { - Session session = databaseDao.getSessionFromKeyword(sessionkey); - String questionVariant = "lecture"; - if ("true".equals(isPreparation)) { - questionVariant = "preparation"; - } - SortOrder sortOrder = databaseDao.getSortOrder(session.get_id(), questionVariant, ""); - return sortOrder.getSortType(); - } - - @Override - public SortOrder setSort(String sessionkey, String subject, String sortType, String isPreparation, String[] sortOrderList) { - Session session = databaseDao.getSessionFromKeyword(sessionkey); - String questionVariant = "preparation"; - if ("false".equals(isPreparation)) { - questionVariant = "lecture"; - } - SortOrder existing = databaseDao.getSortOrder(session.get_id(), questionVariant, subject); - SortOrder sortOrder = new SortOrder(); - if (existing != null) { - sortOrder.set_id(existing.get_id()); - sortOrder.set_rev(existing.get_rev()); - } - sortOrder.setSessionId(session.get_id()); - sortOrder.setSubject(subject); - sortOrder.setSortType(sortType); - sortOrder.setQuestionVariant(questionVariant); - sortOrder.setSortOrder(Arrays.asList(sortOrderList)); - return databaseDao.createOrUpdateSortOrder(sortOrder); - } - - @Override - public String getQuestionSortType(String sessionkey, boolean isPreparation, String subject) { - Session session = databaseDao.getSessionFromKeyword(sessionkey); - String questionVariant = "lecture"; - if (isPreparation) { - questionVariant = "preparation"; - } - SortOrder sortOrder = databaseDao.getSortOrder(session.get_id(), questionVariant, subject); - if (sortOrder == null) { - return null; - } - return sortOrder.getSortType(); - } - - public SortOrder addToSortOrder(SortOrder sortOrder, String toBeAdded) { - List<String> tmpList = sortOrder.getSortOrder(); - tmpList.add(toBeAdded); - sortOrder.setSortOrder(tmpList); - if ("alphabet".equals(sortOrder.getSortType())) { - sortOrder = alphabeticalSort(sortOrder); - } - return databaseDao.createOrUpdateSortOrder(sortOrder); - } - - public void deleteQuestionFromSortOrder(Question question) { - SortOrder sortOrder = databaseDao.getSortOrder(question.getSessionId(), question.getQuestionVariant(), question.getSubject()); - if (sortOrder != null) { - List<String> tempSortOrder = sortOrder.getSortOrder(); - tempSortOrder.remove(question.get_id()); - sortOrder.setSortOrder(tempSortOrder); - if (sortOrder.getSortOrder().isEmpty()) { - databaseDao.deleteSortOrder(sortOrder); - SortOrder subjectSortOrder = databaseDao.getSortOrder(sortOrder.getSessionId(), sortOrder.getQuestionVariant(), ""); - List<String> tempSubSort = subjectSortOrder.getSortOrder(); - tempSubSort.remove(question.getSubject()); - subjectSortOrder.setSortOrder(tempSubSort); - if (subjectSortOrder.getSortOrder().isEmpty()) { - databaseDao.deleteSortOrder(subjectSortOrder); - } else { - databaseDao.createOrUpdateSortOrder(subjectSortOrder); - } - } else { - databaseDao.createOrUpdateSortOrder(sortOrder); - } - } - } - - public void deleteSortOrder(Session session, String questionVariant, String subject) { - SortOrder sortOrder = databaseDao.getSortOrder(session.get_id(), questionVariant, subject); - if (sortOrder == null) { - return; - } - if ("".equals(subject)) { - List<String> subs = sortOrder.getSortOrder(); - for (String sub : subs) { - deleteSortOrder(session, questionVariant, sub); - } - } - databaseDao.deleteSortOrder(sortOrder); - } - - private List<Question> getQuestionsBySortOrder(SortOrder subjectSortOrder, final Session session, final User user) { - if (subjectSortOrder.getSortOrder().isEmpty()) { - return null; - } - List<String> questionIds = new ArrayList<String>(); - List<String> subjects = subjectSortOrder.getSortOrder(); - for (String sub : subjects) { - SortOrder questionSortOrder = databaseDao.getSortOrder(subjectSortOrder.getSessionId(), subjectSortOrder.getQuestionVariant(), sub); - if (questionSortOrder == null) { - continue; - } - questionIds.addAll(questionSortOrder.getSortOrder()); - } - List<Question> questions = databaseDao.getQuestionsByIds(questionIds, session); - - if (!session.isCreator(user)) { - List<Question> tempquestions = new ArrayList<Question>(); - for (Question q : questions) { - if (q.isActive()) { - tempquestions.add(q); - } - } - return tempquestions; - } - - return questions; - } - - public SortOrder createSortOrder(Session session, String questionVariant, String subject) { - if ("".equals(subject)) { - SortOrder subjectSortOrder = new SortOrder(); - subjectSortOrder.setSortOrder(databaseDao.getSubjects(session, questionVariant)); - if (subjectSortOrder.getSortOrder() == null) { - return null; - } - subjectSortOrder.setSubject(""); - subjectSortOrder.setSortType("alphabet"); - subjectSortOrder.setQuestionVariant(questionVariant); - subjectSortOrder.setSessionId(session.get_id()); - alphabeticalSort(subjectSortOrder); - List<String> subjects = subjectSortOrder.getSortOrder(); - for (String sub : subjects) { - createSortOrder(session, questionVariant, sub); - } - return databaseDao.createOrUpdateSortOrder(subjectSortOrder); - } else { - SortOrder sortOrder = new SortOrder(); - sortOrder.setSessionId(session.get_id()); - sortOrder.setSubject(subject); - sortOrder.setQuestionVariant(questionVariant); - sortOrder.setSortType("alphabet"); - sortOrder.setSortOrder(databaseDao.getQuestionIdsBySubject(session, questionVariant, subject)); - alphabeticalSort(sortOrder); - return databaseDao.createOrUpdateSortOrder(sortOrder); - } - } - - public SortOrder alphabeticalSort(SortOrder sortOrder) { - if (sortOrder.getSortOrder() == null) { - return null; - } - if (sortOrder.getSortOrder().isEmpty()) { - return null; - } - if ("".equals(sortOrder.getSubject())) { - List<String> subjects = sortOrder.getSortOrder(); - Collections.sort(subjects); - sortOrder.setSortOrder(subjects); - return sortOrder; - } else { - Hashtable<String, String> hash = new Hashtable<>(); - for (String qid : sortOrder.getSortOrder()) { - Question question = getQuestion(qid); - hash.put(question.getText(), qid); - } - List<String> sortList = new ArrayList<>(); - List<String> keys = new ArrayList<>(hash.keySet()); - Collections.sort(keys); - for (String textKey : keys) { - sortList.add(hash.get(textKey)); - } - sortOrder.setSortOrder(sortList); - return sortOrder; - } - } } diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java index 291d35d416bbb3afb0bd4af01e4ad47dc4f0b6f0..e2c4b94a80392acbe452cfc880c0a1638c30a7bd 100644 --- a/src/main/java/de/thm/arsnova/services/SessionService.java +++ b/src/main/java/de/thm/arsnova/services/SessionService.java @@ -27,7 +27,6 @@ import de.thm.arsnova.entities.LearningProgressOptions; import de.thm.arsnova.entities.Session; import de.thm.arsnova.entities.SessionFeature; import de.thm.arsnova.entities.SessionInfo; -import de.thm.arsnova.entities.SortOrder; import de.thm.arsnova.entities.User; import de.thm.arsnova.entities.transport.ImportExportSession; import de.thm.arsnova.entities.transport.LearningProgressValues; @@ -380,25 +379,6 @@ public class SessionService implements ISessionService, ApplicationEventPublishe prepSubjects.add(""); } - List<String> lectureSubjects = databaseDao.getSubjects(session, "lecture"); - if (lectureSubjects == null) { - lectureSubjects = new ArrayList<String>(); - } else { - lectureSubjects.add(""); - } - - for (String subject : prepSubjects) { - SortOrder sortOrder = databaseDao.getSortOrder(session.get_id(), "preparation", subject); - if (sortOrder != null) { - databaseDao.deleteSortOrder(sortOrder); - } - } - for (String subject : lectureSubjects) { - SortOrder sortOrder = databaseDao.getSortOrder(session.get_id(), "lecture", subject); - if (sortOrder != null) { - databaseDao.deleteSortOrder(sortOrder); - } - } databaseDao.deleteAllQuestionsWithAnswers(session); databaseDao.deleteSession(session); @@ -486,7 +466,7 @@ public class SessionService implements ISessionService, ApplicationEventPublishe this.publisher.publishEvent(new LockFeedbackEvent(this, session)); return databaseDao.updateSession(session).getFeedbackLock(); } - + @Override public boolean flipFlashcards(String sessionkey, Boolean flip) { final Session session = databaseDao.getSessionFromKeyword(sessionkey); diff --git a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java index e3742e232dba58a2f6f61aacdbb562ae2ee3a412..c9bae3974ac242ad2b8cda3fb89a61ba839e40e6 100644 --- a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java +++ b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java @@ -30,7 +30,6 @@ import de.thm.arsnova.entities.MotdList; import de.thm.arsnova.entities.Question; import de.thm.arsnova.entities.Session; import de.thm.arsnova.entities.SessionInfo; -import de.thm.arsnova.entities.SortOrder; import de.thm.arsnova.entities.Statistics; import de.thm.arsnova.entities.User; import de.thm.arsnova.entities.transport.ImportExportSession; @@ -620,23 +619,6 @@ public class StubDatabaseDao implements IDatabaseDao { return null; } - @Override - public SortOrder createOrUpdateSortOrder(SortOrder sortOrder) { - // TODO Auto-generated method stub - return null; - } - - @Override - public SortOrder getSortOrder(String sessionkey, String questionVariant, String subject) { - // TODO Auto-generated method stub - return null; - } - - @Override - public void deleteSortOrder(SortOrder sortOrder) { - // TODO Auto-generated method stub - } - @Override public List<Question> getQuestionsByIds(List<String> ids, Session session) { // TODO Auto-generated method stub