From ee8fb45ad9598e8f2684574af21440e2770347bb Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer <paul-christian.volkmer@mni.thm.de> Date: Thu, 25 Oct 2012 15:03:22 +0200 Subject: [PATCH] Return average value '0' of no feedback is given --- .../thm/arsnova/aop/AuthorizationAdviser.java | 5 ++--- .../controller/AbstractController.java | 13 +++--------- .../thm/arsnova/services/FeedbackService.java | 11 +++++----- .../arsnova/services/FeedbackServiceTest.java | 21 +++++++++++-------- 4 files changed, 23 insertions(+), 27 deletions(-) diff --git a/src/main/java/de/thm/arsnova/aop/AuthorizationAdviser.java b/src/main/java/de/thm/arsnova/aop/AuthorizationAdviser.java index a662ce79..6dcd3a25 100644 --- a/src/main/java/de/thm/arsnova/aop/AuthorizationAdviser.java +++ b/src/main/java/de/thm/arsnova/aop/AuthorizationAdviser.java @@ -11,7 +11,7 @@ import de.thm.arsnova.services.IUserService; @Aspect public class AuthorizationAdviser { - static IUserService userService; + private static IUserService userService; public void setUserService(IUserService uService) { userService = uService; @@ -42,8 +42,7 @@ public class AuthorizationAdviser { * @param object */ @Before("execution(public * de.thm.arsnova.services.*.*(..)) && @annotation(authenticated) && this(object)") - public void checkSessionMembership(Authenticated authenticated, - Object object) { + public void checkSessionMembership(Authenticated authenticated, Object object) { // TODO: Implement check based on session membership lists } } diff --git a/src/main/java/de/thm/arsnova/controller/AbstractController.java b/src/main/java/de/thm/arsnova/controller/AbstractController.java index 48f0d94b..c9fa2db7 100644 --- a/src/main/java/de/thm/arsnova/controller/AbstractController.java +++ b/src/main/java/de/thm/arsnova/controller/AbstractController.java @@ -13,20 +13,13 @@ import de.thm.arsnova.exceptions.UnauthorizedException; public class AbstractController { @ResponseStatus(HttpStatus.NOT_FOUND) @ExceptionHandler(NotFoundException.class) - public void handleNotFoundException(Exception e, HttpServletRequest request) { - - } + public void handleNotFoundException(final Exception e, HttpServletRequest request) {} @ResponseStatus(HttpStatus.FORBIDDEN) @ExceptionHandler(ForbiddenException.class) - public void handleForbiddenException(Exception e, HttpServletRequest request) { - - } + public void handleForbiddenException(final Exception e, HttpServletRequest request) {} @ResponseStatus(HttpStatus.UNAUTHORIZED) @ExceptionHandler(UnauthorizedException.class) - public void handleUnauthorizedException(Exception e, - HttpServletRequest request) { - - } + public void handleUnauthorizedException(final Exception e, HttpServletRequest request) {} } diff --git a/src/main/java/de/thm/arsnova/services/FeedbackService.java b/src/main/java/de/thm/arsnova/services/FeedbackService.java index e19e5e15..72e65991 100644 --- a/src/main/java/de/thm/arsnova/services/FeedbackService.java +++ b/src/main/java/de/thm/arsnova/services/FeedbackService.java @@ -77,9 +77,12 @@ public class FeedbackService implements IFeedbackService { public long getAverageFeedback(String sessionkey) { Feedback feedback = databaseDao.getFeedback(sessionkey); List<Integer> values = feedback.getValues(); - int count = values.get(0) + values.get(1) + values.get(2) - + values.get(3); + int count = values.get(0) + values.get(1) + values.get(2) + values.get(3); int sum = values.get(1) + (values.get(2) * 2) + (values.get(3) * 3); + + if (count == 0) + return 0; + return sum / count; } @@ -98,9 +101,7 @@ public class FeedbackService implements IFeedbackService { * keywords mentioned above. */ @Override - public void broadcastFeedbackChanges( - Map<String, Set<String>> affectedUsers, - Set<String> allAffectedSessions) { + public void broadcastFeedbackChanges(Map<String, Set<String>> affectedUsers, 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()); diff --git a/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java b/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java index 9088f49c..664b9939 100644 --- a/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java +++ b/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java @@ -33,7 +33,8 @@ import de.thm.arsnova.exceptions.NotFoundException; @ContextConfiguration(locations = { "file:src/main/webapp/WEB-INF/arsnova-servlet.xml", "file:src/main/webapp/WEB-INF/spring/spring-main.xml", - "file:src/test/resources/test-config.xml" }) + "file:src/test/resources/test-config.xml" +}) public class FeedbackServiceTest { @Autowired @@ -52,14 +53,10 @@ public class FeedbackServiceTest { public void testShouldReturnFeedback() { userService.setUserAuthenticated(true); assertNotNull(feedbackService.getFeedback("87654321")); - assertEquals(2, (int) feedbackService.getFeedback("87654321") - .getValues().get(0)); - assertEquals(3, (int) feedbackService.getFeedback("87654321") - .getValues().get(1)); - assertEquals(5, (int) feedbackService.getFeedback("87654321") - .getValues().get(2)); - assertEquals(7, (int) feedbackService.getFeedback("87654321") - .getValues().get(3)); + assertEquals(2, (int) feedbackService.getFeedback("87654321").getValues().get(0)); + assertEquals(3, (int) feedbackService.getFeedback("87654321").getValues().get(1)); + assertEquals(5, (int) feedbackService.getFeedback("87654321").getValues().get(2)); + assertEquals(7, (int) feedbackService.getFeedback("87654321").getValues().get(3)); } @Test(expected = NotFoundException.class) @@ -85,4 +82,10 @@ public class FeedbackServiceTest { userService.setUserAuthenticated(true); assertEquals(2, feedbackService.getAverageFeedback("87654321")); } + + @Test + public void testShouldReturnAverageFeedbackForNoFeedbackAtAll() { + userService.setUserAuthenticated(true); + assertEquals(0, feedbackService.getAverageFeedback("12345678")); + } } \ No newline at end of file -- GitLab