Commit 975ad8600bf4ea6ad6ce7e9c691d2a9f525d2ad1
1 parent
6ea89b5f
feature: SLF4J-Logging hinzugefügt, und ein paar Refactorings
Showing
7 changed files
with
48 additions
and
4 deletions
src/main/java/net/ziemers/swxercise/lg/utils/LoggerProducer.java
0 → 100644
1 | +package net.ziemers.swxercise.lg.utils; | |
2 | + | |
3 | +import org.slf4j.Logger; | |
4 | +import org.slf4j.LoggerFactory; | |
5 | + | |
6 | +import javax.enterprise.inject.Produces; | |
7 | +import javax.enterprise.inject.spi.InjectionPoint; | |
8 | +import javax.inject.Named; | |
9 | +import javax.inject.Singleton; | |
10 | + | |
11 | +/** | |
12 | + * Dependendy Injection mit dem SLF4J-Logger | |
13 | + * Quelle: http://www.pavel.cool/jee-tips/Injecting-Logger/ | |
14 | + */ | |
15 | +@Named | |
16 | +@Singleton | |
17 | +public class LoggerProducer { | |
18 | + | |
19 | + @Produces | |
20 | + public Logger produceLogger(InjectionPoint injectionPoint) { | |
21 | + return LoggerFactory.getLogger(injectionPoint.getBean().getBeanClass()); | |
22 | + } | |
23 | + | |
24 | +} | |
0 | 25 | \ No newline at end of file | ... | ... |
src/main/java/net/ziemers/swxercise/ui/RoleViewController.java
... | ... | @@ -5,6 +5,7 @@ import net.ziemers.swxercise.lg.user.dto.RoleDto; |
5 | 5 | import net.ziemers.swxercise.lg.user.enums.RightState; |
6 | 6 | import net.ziemers.swxercise.lg.user.service.RoleService; |
7 | 7 | import net.ziemers.swxercise.ui.enums.ResponseState; |
8 | +import net.ziemers.swxercise.ui.utils.RestResponse; | |
8 | 9 | |
9 | 10 | import javax.annotation.security.RolesAllowed; |
10 | 11 | import javax.enterprise.context.ApplicationScoped; | ... | ... |
src/main/java/net/ziemers/swxercise/ui/UserViewController.java
... | ... | @@ -14,6 +14,8 @@ import net.ziemers.swxercise.lg.model.user.User; |
14 | 14 | import net.ziemers.swxercise.lg.user.dto.UserDto; |
15 | 15 | import net.ziemers.swxercise.lg.user.service.UserService; |
16 | 16 | import net.ziemers.swxercise.ui.enums.ResponseState; |
17 | +import net.ziemers.swxercise.ui.utils.RestResponse; | |
18 | +import org.slf4j.Logger; | |
17 | 19 | |
18 | 20 | /** |
19 | 21 | * REST-Methoden für die Benutzerverwaltung. |
... | ... | @@ -24,6 +26,13 @@ public class UserViewController { |
24 | 26 | |
25 | 27 | static final String webContextPath = "/"; |
26 | 28 | |
29 | + /* | |
30 | + * SLF4J: "Simple Logging Facade for Java" | |
31 | + * Dependency Injection erfolgt mit dem {@link net.ziemers.swxercise.lg.utils.LoggerProducer} | |
32 | + */ | |
33 | + @Inject | |
34 | + private Logger logger; | |
35 | + | |
27 | 36 | @Inject |
28 | 37 | private UserService userService; |
29 | 38 | |
... | ... | @@ -72,7 +81,9 @@ public class UserViewController { |
72 | 81 | @Path("v1/user") |
73 | 82 | @Produces(MediaType.APPLICATION_JSON) |
74 | 83 | @RolesAllowed(RightState.Constants.LOGGED_IN) |
75 | - public User getUser() { return userService.findUser(); } | |
84 | + public User getUser() { | |
85 | + logger.info("Trying to get user's profile info."); | |
86 | + return userService.findUser(); } | |
76 | 87 | |
77 | 88 | /** |
78 | 89 | * Erstellt ein neues User-Objekt mit den gewünschten Eigenschaften, welche mittels {@link UserDto} definiert werden. |
... | ... | @@ -197,6 +208,7 @@ public class UserViewController { |
197 | 208 | @Produces(MediaType.APPLICATION_JSON) |
198 | 209 | @RolesAllowed(RightState.Constants.NOT_LOGGED_IN) |
199 | 210 | public RestResponse loginUser(UserDto dto) { |
211 | + logger.info("Trying to log-in user '{}'.", dto.getUsername()); | |
200 | 212 | if (userService.loginUser(dto)) { |
201 | 213 | return new RestResponse(); |
202 | 214 | } |
... | ... | @@ -216,6 +228,7 @@ public class UserViewController { |
216 | 228 | @Produces(MediaType.APPLICATION_JSON) |
217 | 229 | @RolesAllowed(RightState.Constants.LOGGED_IN) |
218 | 230 | public RestResponse logoutUser() { |
231 | + logger.info("Trying to log-out user."); | |
219 | 232 | if (userService.logoutUser()) { |
220 | 233 | return new RestResponse(); |
221 | 234 | } | ... | ... |
src/main/java/net/ziemers/swxercise/ui/RestApplication.java renamed to src/main/java/net/ziemers/swxercise/ui/utils/RestApplication.java
src/main/java/net/ziemers/swxercise/ui/RestResponse.java renamed to src/main/java/net/ziemers/swxercise/ui/utils/RestResponse.java
src/main/java/net/ziemers/swxercise/ui/SecurityInterceptor.java renamed to src/main/java/net/ziemers/swxercise/ui/utils/SecurityInterceptor.java
src/test/java/net/ziemers/swxercise/ui/UserViewControllerTest.java
... | ... | @@ -9,11 +9,13 @@ import net.ziemers.swxercise.lg.user.dto.UserDto; |
9 | 9 | import net.ziemers.swxercise.lg.user.service.UserService; |
10 | 10 | import net.ziemers.swxercise.ui.enums.ResponseState; |
11 | 11 | |
12 | +import net.ziemers.swxercise.ui.utils.RestResponse; | |
12 | 13 | import org.junit.Test; |
13 | 14 | import org.junit.runner.RunWith; |
14 | 15 | import org.mockito.InjectMocks; |
15 | 16 | import org.mockito.Mock; |
16 | 17 | import org.mockito.junit.MockitoJUnitRunner; |
18 | +import org.slf4j.Logger; | |
17 | 19 | |
18 | 20 | import static org.junit.Assert.*; |
19 | 21 | import static org.mockito.Mockito.*; |
... | ... | @@ -31,6 +33,10 @@ public class UserViewControllerTest { |
31 | 33 | @InjectMocks |
32 | 34 | private UserViewController underTest; |
33 | 35 | |
36 | + // das Logging interessiert uns nicht; deshalb mocken wir es weg | |
37 | + @Mock | |
38 | + private Logger logger; | |
39 | + | |
34 | 40 | /* |
35 | 41 | * Mockito allows to configure the return values of its mocks via a fluent API. |
36 | 42 | * Unspecified method calls return "empty" values | ... | ... |