diff --git a/ARSnova-checkstyle-checker.xml b/ARSnova-checkstyle-checker.xml index 59405d3facc5f97433f051dc7b68cbdd0e8a667d..1b54664e5b3a61005c0167f016717dba798933c1 100644 --- a/ARSnova-checkstyle-checker.xml +++ b/ARSnova-checkstyle-checker.xml @@ -158,7 +158,7 @@ <!-- Checks for common coding problems --> <!-- See http://checkstyle.sf.net/config_coding.html --> <module name="AvoidInlineConditionals"/> - <module name="DoubleCheckedLocking"/> <!-- MY FAVOURITE --> + <!-- module name="DoubleCheckedLocking"/--> <!-- MY FAVOURITE --> <module name="EmptyStatement"/> <module name="EqualsHashCode"/> <module name="HiddenField"/> diff --git a/src/main/java/de/thm/arsnova/entities/Question.java b/src/main/java/de/thm/arsnova/entities/Question.java index afb100bd20beb1063caafe86ab7d78eb9806ee7d..0c59473b52e06ccac9e8ecbe70dc46c00731c73e 100644 --- a/src/main/java/de/thm/arsnova/entities/Question.java +++ b/src/main/java/de/thm/arsnova/entities/Question.java @@ -37,120 +37,120 @@ public class Question { private String _id; private String _rev; - public String getType() { + public final String getType() { return type; } - public void setType(String type) { + public final void setType(final String type) { this.type = type; } - public String getQuestionType() { + public final String getQuestionType() { return questionType; } - public void setQuestionType(String questionType) { + public final void setQuestionType(final String questionType) { this.questionType = questionType; } - public String getSubject() { + public final String getSubject() { return subject; } - public void setSubject(String subject) { + public final void setSubject(final String subject) { this.subject = subject; } - public String getText() { + public final String getText() { return text; } - public void setText(String text) { + public final void setText(final String text) { this.text = text; } - public boolean isActive() { + public final boolean isActive() { return active; } - public void setActive(boolean active) { + public final void setActive(final boolean active) { this.active = active; } - public String getReleasedFor() { + public final String getReleasedFor() { return releasedFor; } - public void setReleasedFor(String releasedFor) { + public final void setReleasedFor(final String releasedFor) { this.releasedFor = releasedFor; } - public List<PossibleAnswer> getPossibleAnswers() { + public final List<PossibleAnswer> getPossibleAnswers() { return possibleAnswers; } - public void setPossibleAnswers(List<PossibleAnswer> possibleAnswers) { + public final void setPossibleAnswers(final List<PossibleAnswer> possibleAnswers) { this.possibleAnswers = possibleAnswers; } - public boolean isNoCorrect() { + public final boolean isNoCorrect() { return noCorrect; } - public void setNoCorrect(boolean noCorrect) { + public final void setNoCorrect(final boolean noCorrect) { this.noCorrect = noCorrect; } - public String getSessionId() { + public final String getSessionId() { return session; } - public void setSessionId(String session) { + public final void setSessionId(final String session) { this.session = session; } - public String getSession() { + public final String getSession() { return session; } - public void setSession(String session) { + public final void setSession(final String session) { this.session = session; } - public int getNumber() { + public final int getNumber() { return number; } - public void setNumber(int number) { + public final void setNumber(final int number) { this.number = number; } - public int getDuration() { + public final int getDuration() { return duration; } - public void setDuration(int duration) { + public final void setDuration(final int duration) { this.duration = duration; } - public String get_id() { + public final String get_id() { return _id; } - public void set_id(String _id) { + public final void set_id(final String _id) { this._id = _id; } - public String get_rev() { + public final String get_rev() { return _rev; } - public void set_rev(String _rev) { + public final void set_rev(final String _rev) { this._rev = _rev; } @Override - public String toString() { + public final String toString() { return "Question type '" + this.questionType + "': " + this.subject + ";\n" + this.text + this.possibleAnswers; } diff --git a/src/main/java/de/thm/arsnova/entities/User.java b/src/main/java/de/thm/arsnova/entities/User.java index 61e97598ac5053b35117c01bf18248f245b8a414..35648087cee1d475af5e576a8b1a7e4dbbf1bbe7 100644 --- a/src/main/java/de/thm/arsnova/entities/User.java +++ b/src/main/java/de/thm/arsnova/entities/User.java @@ -71,8 +71,9 @@ public class User implements Serializable { @Override public boolean equals(Object obj) { - if (obj == null || !obj.getClass().equals(this.getClass())) + if (obj == null || !obj.getClass().equals(this.getClass())) { return false; + } User other = (User) obj; return this.username.equals(other.username) && this.type.equals(other.type); } diff --git a/src/main/java/de/thm/arsnova/services/FeedbackService.java b/src/main/java/de/thm/arsnova/services/FeedbackService.java index 21e8d39cca30d2b85170c775b85902407b13743e..b2036e6f145dced0853d557eb0efe1cf9812f443 100644 --- a/src/main/java/de/thm/arsnova/services/FeedbackService.java +++ b/src/main/java/de/thm/arsnova/services/FeedbackService.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2012 THM webMedia - * + * * This file is part of ARSnova. * * ARSnova is free software: you can redistribute it and/or modify @@ -37,8 +37,10 @@ import de.thm.arsnova.socket.ARSnovaSocketIOServer; @Service public class FeedbackService implements IFeedbackService { + private static final int DEFAULT_SCHEDULER_DELAY = 5000; + @Autowired - ARSnovaSocketIOServer server; + private ARSnovaSocketIOServer server; /** * minutes, after which the feedback is deleted @@ -47,58 +49,61 @@ public class FeedbackService implements IFeedbackService { private int cleanupFeedbackDelay; @Autowired - IDatabaseDao databaseDao; + private IDatabaseDao databaseDao; @Autowired - IUserService userService; + private IUserService userService; - public void setDatabaseDao(IDatabaseDao databaseDao) { - this.databaseDao = databaseDao; + public final void setDatabaseDao(final IDatabaseDao newDatabaseDao) { + this.databaseDao = newDatabaseDao; } @Override - @Scheduled(fixedDelay = 5000) - public void cleanFeedbackVotes() { + @Scheduled(fixedDelay = DEFAULT_SCHEDULER_DELAY) + public final void cleanFeedbackVotes() { databaseDao.cleanFeedbackVotes(cleanupFeedbackDelay); } @Override - public Feedback getFeedback(String keyword) { + public final Feedback getFeedback(final String keyword) { return databaseDao.getFeedback(keyword); } @Override - public int getFeedbackCount(String keyword) { + public final int getFeedbackCount(final String keyword) { Feedback feedback = databaseDao.getFeedback(keyword); List<Integer> values = feedback.getValues(); - return values.get(0) + values.get(1) + values.get(2) + values.get(3); + return values.get(Feedback.FEEDBACK_FASTER) + values.get(Feedback.FEEDBACK_OK) + + values.get(Feedback.FEEDBACK_SLOWER) + values.get(Feedback.FEEDBACK_AWAY); } @Override - public double getAverageFeedback(String sessionkey) { + public final double getAverageFeedback(final String sessionkey) { Feedback feedback = databaseDao.getFeedback(sessionkey); List<Integer> values = feedback.getValues(); - double count = values.get(0) + values.get(1) + values.get(2) + values.get(3); - double sum = values.get(1) + (values.get(2) * 2) + (values.get(3) * 3); + double count = values.get(Feedback.FEEDBACK_FASTER) + values.get(Feedback.FEEDBACK_OK) + + values.get(Feedback.FEEDBACK_SLOWER) + values.get(Feedback.FEEDBACK_AWAY); + double sum = values.get(Feedback.FEEDBACK_OK) + (values.get(Feedback.FEEDBACK_SLOWER) * 2) + + (values.get(Feedback.FEEDBACK_AWAY) * 3); - if (count == 0) + if (count == 0) { throw new NoContentException(); - + } return sum / count; } @Override - public long getAverageFeedbackRounded(String sessionkey) { + public final long getAverageFeedbackRounded(final String sessionkey) { return Math.round(this.getAverageFeedback(sessionkey)); } @Override - public boolean saveFeedback(String keyword, int value, User user) { + public final boolean saveFeedback(final String keyword, final int value, final User user) { return databaseDao.saveFeedback(keyword, value, user); } /** - * + * * @param affectedUsers * The user whose feedback got deleted along with all affected * session keywords @@ -107,7 +112,10 @@ public class FeedbackService implements IFeedbackService { * keywords mentioned above. */ @Override - public void broadcastFeedbackChanges(Map<String, Set<String>> affectedUsers, Set<String> allAffectedSessions) { + public final void broadcastFeedbackChanges( + final Map<String, Set<String>> affectedUsers, + final Set<String> allAffectedSessions + ) { for (Map.Entry<String, Set<String>> e : affectedUsers.entrySet()) { // Is this user registered with a socket connection? String connectedSocket = userService.getSessionForUser(e.getKey()); @@ -119,7 +127,7 @@ public class FeedbackService implements IFeedbackService { } @Override - public Integer getMyFeedback(String keyword, User user) { + public final Integer getMyFeedback(final String keyword, final User user) { return this.databaseDao.getMyFeedback(keyword, user); } } diff --git a/src/main/java/de/thm/arsnova/services/IFeedbackService.java b/src/main/java/de/thm/arsnova/services/IFeedbackService.java index fa19d233e6f04bfffa2061f4551e7ac6a83c1f10..180864556ff513940f7566c41753a6b2c5a4487b 100644 --- a/src/main/java/de/thm/arsnova/services/IFeedbackService.java +++ b/src/main/java/de/thm/arsnova/services/IFeedbackService.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2012 THM webMedia - * + * * This file is part of ARSnova. * * ARSnova is free software: you can redistribute it and/or modify @@ -26,21 +26,19 @@ import de.thm.arsnova.entities.Feedback; import de.thm.arsnova.entities.User; public interface IFeedbackService { - public void cleanFeedbackVotes(); + void cleanFeedbackVotes(); + + Feedback getFeedback(String keyword); - public Feedback getFeedback(String keyword); + int getFeedbackCount(String keyword); - public int getFeedbackCount(String keyword); - - public double getAverageFeedback(String sessionkey); + double getAverageFeedback(String sessionkey); - public long getAverageFeedbackRounded(String sessionkey); + long getAverageFeedbackRounded(String sessionkey); - public boolean saveFeedback(String keyword, int value, User user); + boolean saveFeedback(String keyword, int value, User user); - public void broadcastFeedbackChanges( - Map<String, Set<String>> affectedUsers, - Set<String> allAffectedSessions); + void broadcastFeedbackChanges(Map<String, Set<String>> affectedUsers, Set<String> allAffectedSessions); - public Integer getMyFeedback(String keyword, User user); -} \ No newline at end of file + Integer getMyFeedback(String keyword, User user); +} diff --git a/src/main/java/de/thm/arsnova/services/IQuestionService.java b/src/main/java/de/thm/arsnova/services/IQuestionService.java index 23e70576ff7f97c63e69d25c7cebd1bdeb642146..ebc3704b9b510f42725c142ce107a5eaeb08aae6 100644 --- a/src/main/java/de/thm/arsnova/services/IQuestionService.java +++ b/src/main/java/de/thm/arsnova/services/IQuestionService.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2012 THM webMedia - * + * * This file is part of ARSnova. * * ARSnova is free software: you can redistribute it and/or modify @@ -25,23 +25,23 @@ import de.thm.arsnova.entities.Answer; import de.thm.arsnova.entities.Question; public interface IQuestionService { - public boolean saveQuestion(Question question); + boolean saveQuestion(Question question); - public Question getQuestion(String id, String sessionkey); + Question getQuestion(String id, String sessionkey); - public List<Question> getSkillQuestions(String sessionkey); + List<Question> getSkillQuestions(String sessionkey); - public int getSkillQuestionCount(String sessionkey); + int getSkillQuestionCount(String sessionkey); - public List<String> getQuestionIds(String sessionKey); + List<String> getQuestionIds(String sessionKey); - public void deleteQuestion(String sessionKey, String questionId); + void deleteQuestion(String sessionKey, String questionId); - public List<String> getUnAnsweredQuestions(String sessionKey); + List<String> getUnAnsweredQuestions(String sessionKey); - public Answer getMyAnswer(String sessionKey, String questionId); + Answer getMyAnswer(String sessionKey, String questionId); - public List<Answer> getAnswers(String sessionKey, String questionId); + List<Answer> getAnswers(String sessionKey, String questionId); - public int getAnswerCount(String sessionKey, String questionId); -} \ No newline at end of file + int getAnswerCount(String sessionKey, String questionId); +} diff --git a/src/main/java/de/thm/arsnova/services/ISessionService.java b/src/main/java/de/thm/arsnova/services/ISessionService.java index b5327403a308522d5b871a2e5204cf47a855f604..a25be2df53ac2772e2d1c6668d47ecbb0c9b4cd8 100644 --- a/src/main/java/de/thm/arsnova/services/ISessionService.java +++ b/src/main/java/de/thm/arsnova/services/ISessionService.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2012 THM webMedia - * + * * This file is part of ARSnova. * * ARSnova is free software: you can redistribute it and/or modify @@ -26,15 +26,15 @@ import de.thm.arsnova.entities.Session; import de.thm.arsnova.entities.User; public interface ISessionService { - public Session joinSession(String keyword); + Session joinSession(String keyword); - public Session saveSession(Session session); + Session saveSession(Session session); - public boolean sessionKeyAvailable(String keyword); + boolean sessionKeyAvailable(String keyword); - public String generateKeyword(); + String generateKeyword(); - public List<Session> getMySessions(String username); + List<Session> getMySessions(String username); - public LoggedIn registerAsOnlineUser(User user, String sessionkey); -} \ No newline at end of file + LoggedIn registerAsOnlineUser(User user, String sessionkey); +} diff --git a/src/main/java/de/thm/arsnova/services/IUserService.java b/src/main/java/de/thm/arsnova/services/IUserService.java index b309dad4a7b95763eae82d406f2a0e9ce4f517ae..68180f18c7f8c1ff5d35096a2661f927186ada81 100644 --- a/src/main/java/de/thm/arsnova/services/IUserService.java +++ b/src/main/java/de/thm/arsnova/services/IUserService.java @@ -1,3 +1,22 @@ +/* + * Copyright (C) 2012 THM webMedia + * + * This file is part of ARSnova. + * + * ARSnova 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 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.services; import java.util.List; @@ -6,10 +25,9 @@ import java.util.Set; import java.util.UUID; import de.thm.arsnova.entities.User; -import de.thm.arsnova.exceptions.UnauthorizedException; public interface IUserService { - User getCurrentUser() throws UnauthorizedException; + User getCurrentUser(); User getUser2SessionID(UUID sessionID);