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,16 +11,16 @@ public class UserDto {
11 private Long entityId; 11 private Long entityId;
12 12
13 @NotNull 13 @NotNull
14 - private String username; 14 + private String username; // aus dem Profile
15 15
16 @NotNull 16 @NotNull
17 - private String password; 17 + private String password; // aus dem Profile
18 18
19 private String firstname; 19 private String firstname;
20 20
21 private String lastname; 21 private String lastname;
22 22
23 - private String mailaddress; 23 + private String mailaddress; // aus dem Profile
24 24
25 public Long getEntityId() { 25 public Long getEntityId() {
26 return entityId; 26 return entityId;
src/main/java/net/ziemers/swxercise/lg/user/service/EntityToUserDtoContext.java
1 package net.ziemers.swxercise.lg.user.service; 1 package net.ziemers.swxercise.lg.user.service;
2 2
3 import net.ziemers.swxercise.lg.model.user.User; 3 import net.ziemers.swxercise.lg.model.user.User;
  4 +import net.ziemers.swxercise.lg.user.dto.UserDto;
4 5
5 /** 6 /**
6 * Mapping-Kontext von {@link User} nach {@link UserDto}. Diese Klasse dient als Hilfe bei der 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 package net.ziemers.swxercise.lg.user.service; 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 import javax.ejb.Stateless; 6 import javax.ejb.Stateless;
4 7
5 /** 8 /**
src/main/java/net/ziemers/swxercise/lg/user/service/EntityToUserDtoMapper.java
1 package net.ziemers.swxercise.lg.user.service; 1 package net.ziemers.swxercise.lg.user.service;
2 2
  3 +import net.ziemers.swxercise.lg.model.user.User;
3 import net.ziemers.swxercise.lg.user.dto.UserDto; 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 public class EntityToUserDtoMapper { 9 public class EntityToUserDtoMapper {
9 10
src/main/java/net/ziemers/swxercise/lg/user/service/RoleService.java
1 package net.ziemers.swxercise.lg.user.service; 1 package net.ziemers.swxercise.lg.user.service;
2 2
3 -import com.sun.mail.imap.Rights;  
4 import net.ziemers.swxercise.db.dao.user.RoleDao; 3 import net.ziemers.swxercise.db.dao.user.RoleDao;
5 import net.ziemers.swxercise.lg.model.user.Role; 4 import net.ziemers.swxercise.lg.model.user.Role;
6 import net.ziemers.swxercise.lg.model.user.User; 5 import net.ziemers.swxercise.lg.model.user.User;
src/main/java/net/ziemers/swxercise/lg/user/service/UserDtoToEntityContext.java
1 package net.ziemers.swxercise.lg.user.service; 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 import net.ziemers.swxercise.lg.model.user.User; 5 import net.ziemers.swxercise.lg.model.user.User;
4 import net.ziemers.swxercise.lg.user.dto.UserDto; 6 import net.ziemers.swxercise.lg.user.dto.UserDto;
5 7
@@ -9,4 +11,8 @@ public class UserDtoToEntityContext { @@ -9,4 +11,8 @@ public class UserDtoToEntityContext {
9 11
10 public User user; 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,7 +15,7 @@ public class UserDtoToEntityContextService {
15 private UserDao dao; 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 * @param dto das Benutzer-DTO 20 * @param dto das Benutzer-DTO
21 * @return den erzeugten Kontext. 21 * @return den erzeugten Kontext.
@@ -30,11 +30,11 @@ public class UserDtoToEntityContextService { @@ -30,11 +30,11 @@ public class UserDtoToEntityContextService {
30 ctx.user = dao.findByUsername(dto.getUsername()); 30 ctx.user = dao.findByUsername(dto.getUsername());
31 if (ctx.user == null) { 31 if (ctx.user == null) {
32 // es soll niemals ein Profil ohne Benutzername und Kennwort geben 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 // wir füllen das User-Objekt mit Method Chaining 35 // wir füllen das User-Objekt mit Method Chaining
36 ctx.user = new User(dto.getFirstname(), dto.getLastname()) 36 ctx.user = new User(dto.getFirstname(), dto.getLastname())
37 - .withProfile(profile); 37 + .withProfile(ctx.profile);
38 } 38 }
39 return ctx; 39 return ctx;
40 } 40 }
src/main/java/net/ziemers/swxercise/lg/user/service/UserDtoToEntityMapper.java
1 package net.ziemers.swxercise.lg.user.service; 1 package net.ziemers.swxercise.lg.user.service;
2 2
  3 +import net.ziemers.swxercise.lg.user.dto.UserDto;
  4 +
3 import javax.ejb.Stateless; 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 @Stateless 10 @Stateless
9 public class UserDtoToEntityMapper { 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 * @param ctx der Kontext mit den Eigenschaften und der Zielentität 16 * @param ctx der Kontext mit den Eigenschaften und der Zielentität
15 * @return den Kontext. 17 * @return den Kontext.
16 */ 18 */
17 public UserDtoToEntityContext map(UserDtoToEntityContext ctx) { 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 +7,6 @@ import javax.ejb.Stateless;
7 import javax.inject.Inject; 7 import javax.inject.Inject;
8 8
9 import net.ziemers.swxercise.db.dao.user.UserDao; 9 import net.ziemers.swxercise.db.dao.user.UserDao;
10 -import net.ziemers.swxercise.lg.model.user.Profile;  
11 import net.ziemers.swxercise.lg.model.user.Role; 10 import net.ziemers.swxercise.lg.model.user.Role;
12 import net.ziemers.swxercise.lg.model.user.User; 11 import net.ziemers.swxercise.lg.model.user.User;
13 import net.ziemers.swxercise.lg.user.dto.UserDto; 12 import net.ziemers.swxercise.lg.user.dto.UserDto;
@@ -91,7 +90,7 @@ public class UserService { @@ -91,7 +90,7 @@ public class UserService {
91 } 90 }
92 91
93 private Long persistUserIfNew(final UserDtoToEntityContext ctx) { 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 if (ctx.user.getId() == null) { 94 if (ctx.user.getId() == null) {
96 return dao.save(ctx.user); 95 return dao.save(ctx.user);
97 } 96 }