Commit 493ca844317e096d170242002a59cb001cc64574

Authored by Thomas Ziemer
1 parent fce4ab74

Verfeinerungen

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
1 1 package net.ziemers.swxercise.lg.user.service;
2 2  
3 3 import net.ziemers.swxercise.lg.model.user.User;
  4 +import net.ziemers.swxercise.lg.user.dto.UserDto;
4 5  
5 6 /**
6 7 * Mapping-Kontext von {@link User} nach {@link UserDto}. Diese Klasse dient als Hilfe bei der
... ...
src/main/java/net/ziemers/swxercise/lg/user/service/EntityToUserDtoContextService.java
1 1 package net.ziemers.swxercise.lg.user.service;
2 2  
  3 +import net.ziemers.swxercise.lg.model.user.User;
  4 +import net.ziemers.swxercise.lg.user.dto.UserDto;
  5 +
3 6 import javax.ejb.Stateless;
4 7  
5 8 /**
... ...
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
1 1 package net.ziemers.swxercise.lg.user.service;
2 2  
3   -import com.sun.mail.imap.Rights;
4 3 import net.ziemers.swxercise.db.dao.user.RoleDao;
5 4 import net.ziemers.swxercise.lg.model.user.Role;
6 5 import net.ziemers.swxercise.lg.model.user.User;
... ...
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 }
... ...