Commit 33e38bd18558767cfd838ef9694e7b0bfa7f074b

Authored by Thomas Ziemer
1 parent e1962fb1

Kontext, Mapper und Service (Rückweg)

src/main/java/net/ziemers/swxercise/lg/user/dto/UserDto.java
... ... @@ -50,6 +50,10 @@ public class UserDto {
50 50 return firstname;
51 51 }
52 52  
  53 + public void setFirstname(String firstname) {
  54 + this.firstname = firstname;
  55 + }
  56 +
53 57 public UserDto withFirstname(final String firstname) {
54 58 this.firstname = firstname;
55 59 return this;
... ... @@ -59,6 +63,10 @@ public class UserDto {
59 63 return lastname;
60 64 }
61 65  
  66 + public void setLastname(String lastname) {
  67 + this.lastname = lastname;
  68 + }
  69 +
62 70 public UserDto withLastname(final String lastname) {
63 71 this.lastname = lastname;
64 72 return this;
... ...
src/main/java/net/ziemers/swxercise/lg/user/service/EntityToUserDtoContext.java 0 → 100644
  1 +package net.ziemers.swxercise.lg.user.service;
  2 +
  3 +import net.ziemers.swxercise.lg.model.user.User;
  4 +
  5 +/**
  6 + * Mapping-Kontext von {@link User} nach {@link UderDto}.
  7 + */
  8 +public class EntityToUserDtoContext {
  9 +
  10 + public User user;
  11 +
  12 +}
... ...
src/main/java/net/ziemers/swxercise/lg/user/service/EntityToUserDtoContextService.java 0 → 100644
  1 +package net.ziemers.swxercise.lg.user.service;
  2 +
  3 +import javax.ejb.Stateless;
  4 +
  5 +/**
  6 + * Service zum Erzeugen eines Mapping-Kontexts. Das Mapping verläuft von {@link User} nach {@link UserDto}.
  7 + */
  8 +@Stateless
  9 +public class EntityToUserDtoContextService {
  10 +
  11 + /**
  12 + * Erzeugt einen Mapping-Kontext für einen neuen Benutzer.
  13 + *
  14 + * @return den Mapping-Kontext.
  15 + */
  16 + public EntityToUserDtoContext createContext() {
  17 + final EntityToUserDtoContext ctx = new EntityToUserDtoContext();
  18 + return ctx;
  19 + }
  20 +
  21 +}
... ...
src/main/java/net/ziemers/swxercise/lg/user/service/EntityToUserDtoMapper.java 0 → 100644
  1 +package net.ziemers.swxercise.lg.user.service;
  2 +
  3 +import net.ziemers.swxercise.lg.user.dto.UserDto;
  4 +
  5 +public class EntityToUserDtoMapper {
  6 +
  7 + /**
  8 + * Erzeugt ein DTO aus dem übergebenem Kontext.
  9 + *
  10 + * @param ctx der Kontext
  11 + * @return das erzeugte DTO.
  12 + */
  13 + public UserDto map(EntityToUserDtoContext ctx) {
  14 + final UserDto dto = new UserDto();
  15 +
  16 + if (ctx.user != null) {
  17 + mapEntityId(ctx, dto);
  18 + mapFirstname(ctx, dto);
  19 + mapLastname(ctx, dto);
  20 + }
  21 + return dto;
  22 + }
  23 +
  24 + private void mapEntityId(EntityToUserDtoContext ctx, UserDto dto) {
  25 + dto.setEntityId(ctx.user.getId());
  26 + }
  27 +
  28 + private void mapFirstname(EntityToUserDtoContext ctx, UserDto dto) {
  29 + dto.setFirstname(ctx.user.getFirstname());
  30 + }
  31 +
  32 + private void mapLastname(EntityToUserDtoContext ctx, UserDto dto) {
  33 + dto.setLastname(ctx.user.getLastname());
  34 + }
  35 +
  36 +}
... ...
src/main/java/net/ziemers/swxercise/lg/user/service/UserDtoToEntityContext.java
... ... @@ -5,8 +5,8 @@ import net.ziemers.swxercise.lg.user.dto.UserDto;
5 5  
6 6 public class UserDtoToEntityContext {
7 7  
8   - public UserDto dto;
  8 + public UserDto dto;
9 9  
10   - public User user;
  10 + public User user;
11 11  
12 12 }
... ...
src/main/java/net/ziemers/swxercise/lg/user/service/UserDtoToEntityMapper.java
... ... @@ -5,19 +5,19 @@ import javax.ejb.Stateless;
5 5 @Stateless
6 6 public class UserDtoToEntityMapper {
7 7  
8   - /**
9   - * Überträgt die Eigenschaften aus dem DTO in die Zielentität.
10   - *
11   - * @param ctx der Kontext mit den Eigenschaften und der Zielentität
12   - * @return den Kontext.
13   - */
14   - public UserDtoToEntityContext map(UserDtoToEntityContext ctx) {
15   - ctx.user.setFirstname(ctx.dto.getFirstname());
16   - ctx.user.setLastname(ctx.dto.getLastname());
17   - //ctx.user.setProfile(ctx.dto.getProfile());
18   - //ctx.user.setAddress(ctx.fto.getAddress());
  8 + /**
  9 + * Überträgt die Eigenschaften aus dem UserDto in die Zielentität.
  10 + *
  11 + * @param ctx der Kontext mit den Eigenschaften und der Zielentität
  12 + * @return den Kontext.
  13 + */
  14 + public UserDtoToEntityContext map(UserDtoToEntityContext ctx) {
  15 + ctx.user.setFirstname(ctx.dto.getFirstname());
  16 + ctx.user.setLastname(ctx.dto.getLastname());
  17 + //ctx.user.setProfile(ctx.dto.getProfile());
  18 + //ctx.user.setAddress(ctx.fto.getAddress());
19 19  
20   - return ctx;
21   - }
  20 + return ctx;
  21 + }
22 22  
23 23 }
... ...