Commit 493ca844317e096d170242002a59cb001cc64574
1 parent
fce4ab74
Verfeinerungen
Showing
9 changed files
with
32 additions
and
18 deletions
src/main/java/net/ziemers/swxercise/lg/user/dto/UserDto.java
... | ... | @@ -11,16 +11,16 @@ public class UserDto { |
11 | 11 | private Long entityId; |
12 | 12 | |
13 | 13 | @NotNull |
14 | - private String username; | |
14 | + private String username; // aus dem Profile | |
15 | 15 | |
16 | 16 | @NotNull |
17 | - private String password; | |
17 | + private String password; // aus dem Profile | |
18 | 18 | |
19 | 19 | private String firstname; |
20 | 20 | |
21 | 21 | private String lastname; |
22 | 22 | |
23 | - private String mailaddress; | |
23 | + private String mailaddress; // aus dem Profile | |
24 | 24 | |
25 | 25 | public Long getEntityId() { |
26 | 26 | return entityId; | ... | ... |
src/main/java/net/ziemers/swxercise/lg/user/service/EntityToUserDtoContext.java
src/main/java/net/ziemers/swxercise/lg/user/service/EntityToUserDtoContextService.java
src/main/java/net/ziemers/swxercise/lg/user/service/EntityToUserDtoMapper.java
1 | 1 | package net.ziemers.swxercise.lg.user.service; |
2 | 2 | |
3 | +import net.ziemers.swxercise.lg.model.user.User; | |
3 | 4 | import net.ziemers.swxercise.lg.user.dto.UserDto; |
4 | 5 | |
5 | 6 | /** |
6 | - * Mapper zur Konvertierung von User-Entities in {@link UserDto}s. | |
7 | + * Mapper zur Konvertierung des Kontexts einer {@link User}-Entity in ein {@link UserDto}. | |
7 | 8 | */ |
8 | 9 | public class EntityToUserDtoMapper { |
9 | 10 | ... | ... |
src/main/java/net/ziemers/swxercise/lg/user/service/RoleService.java
src/main/java/net/ziemers/swxercise/lg/user/service/UserDtoToEntityContext.java
1 | 1 | package net.ziemers.swxercise.lg.user.service; |
2 | 2 | |
3 | +import net.ziemers.swxercise.lg.model.user.Address; | |
4 | +import net.ziemers.swxercise.lg.model.user.Profile; | |
3 | 5 | import net.ziemers.swxercise.lg.model.user.User; |
4 | 6 | import net.ziemers.swxercise.lg.user.dto.UserDto; |
5 | 7 | |
... | ... | @@ -9,4 +11,8 @@ public class UserDtoToEntityContext { |
9 | 11 | |
10 | 12 | public User user; |
11 | 13 | |
14 | + public Profile profile; | |
15 | + | |
16 | + public Address address; | |
17 | + | |
12 | 18 | } | ... | ... |
src/main/java/net/ziemers/swxercise/lg/user/service/UserDtoToEntityContextService.java
... | ... | @@ -15,7 +15,7 @@ public class UserDtoToEntityContextService { |
15 | 15 | private UserDao dao; |
16 | 16 | |
17 | 17 | /** |
18 | - * Erzeugt den Aktualisierungskontext zur übergebenen Zielentität. | |
18 | + * Erzeugt den Erstellungs-/Aktualisierungskontext zum übergebenen Data Transfer Objekt der Zielentität. | |
19 | 19 | * |
20 | 20 | * @param dto das Benutzer-DTO |
21 | 21 | * @return den erzeugten Kontext. |
... | ... | @@ -30,11 +30,11 @@ public class UserDtoToEntityContextService { |
30 | 30 | ctx.user = dao.findByUsername(dto.getUsername()); |
31 | 31 | if (ctx.user == null) { |
32 | 32 | // es soll niemals ein Profil ohne Benutzername und Kennwort geben |
33 | - final Profile profile = new Profile(dto.getUsername(), dto.getPassword()); | |
33 | + ctx.profile = new Profile(dto.getUsername(), dto.getPassword()); | |
34 | 34 | |
35 | 35 | // wir füllen das User-Objekt mit Method Chaining |
36 | 36 | ctx.user = new User(dto.getFirstname(), dto.getLastname()) |
37 | - .withProfile(profile); | |
37 | + .withProfile(ctx.profile); | |
38 | 38 | } |
39 | 39 | return ctx; |
40 | 40 | } | ... | ... |
src/main/java/net/ziemers/swxercise/lg/user/service/UserDtoToEntityMapper.java
1 | 1 | package net.ziemers.swxercise.lg.user.service; |
2 | 2 | |
3 | +import net.ziemers.swxercise.lg.user.dto.UserDto; | |
4 | + | |
3 | 5 | import javax.ejb.Stateless; |
4 | 6 | |
5 | 7 | /** |
6 | - * Mapper zur Konvertierung von {@link UserDto}s in User-Entities. | |
8 | + * Mapper zur Konvertierung des Kontexts eines {@link UserDto}s in eine User-Entity. | |
7 | 9 | */ |
8 | 10 | @Stateless |
9 | 11 | public class UserDtoToEntityMapper { |
10 | 12 | |
11 | 13 | /** |
12 | - * Überträgt die Eigenschaften aus dem UserDto in die Zielentität. | |
14 | + * Überträgt die Eigenschaften aus dem UserDto sowie dem zusätzlichen Kontext in die Zielentität. | |
13 | 15 | * |
14 | 16 | * @param ctx der Kontext mit den Eigenschaften und der Zielentität |
15 | 17 | * @return den Kontext. |
16 | 18 | */ |
17 | 19 | public UserDtoToEntityContext map(UserDtoToEntityContext ctx) { |
18 | - ctx.user.setFirstname(ctx.dto.getFirstname()); | |
19 | - ctx.user.setLastname(ctx.dto.getLastname()); | |
20 | - //ctx.user.setProfile(ctx.dto.getProfile()); | |
21 | - //ctx.user.setAddress(ctx.dto.getAddress()); | |
22 | - | |
23 | - return ctx; | |
20 | + ctx.user.setFirstname(ctx.dto.getFirstname()); | |
21 | + ctx.user.setLastname(ctx.dto.getLastname()); | |
22 | + if (ctx.profile != null) { | |
23 | + ctx.user.setProfile(ctx.profile); | |
24 | + } | |
25 | + if (ctx.address != null) { | |
26 | + ctx.user.setAddress(ctx.address); | |
27 | + } | |
28 | + return ctx; | |
24 | 29 | } |
25 | 30 | |
26 | 31 | } | ... | ... |
src/main/java/net/ziemers/swxercise/lg/user/service/UserService.java
... | ... | @@ -7,7 +7,6 @@ import javax.ejb.Stateless; |
7 | 7 | import javax.inject.Inject; |
8 | 8 | |
9 | 9 | import net.ziemers.swxercise.db.dao.user.UserDao; |
10 | -import net.ziemers.swxercise.lg.model.user.Profile; | |
11 | 10 | import net.ziemers.swxercise.lg.model.user.Role; |
12 | 11 | import net.ziemers.swxercise.lg.model.user.User; |
13 | 12 | import net.ziemers.swxercise.lg.user.dto.UserDto; |
... | ... | @@ -91,7 +90,7 @@ public class UserService { |
91 | 90 | } |
92 | 91 | |
93 | 92 | private Long persistUserIfNew(final UserDtoToEntityContext ctx) { |
94 | - // nur ein neuer Benutzer hat noch keine oid | |
93 | + // nur ein neuer Benutzer hat noch keine Id | |
95 | 94 | if (ctx.user.getId() == null) { |
96 | 95 | return dao.save(ctx.user); |
97 | 96 | } | ... | ... |