Skip to content

Instantly share code, notes, and snippets.

@Romain-P
Last active August 4, 2017 16:48
Show Gist options
  • Select an option

  • Save Romain-P/fd6ee6951bd1e20424898a62fcdb2130 to your computer and use it in GitHub Desktop.

Select an option

Save Romain-P/fd6ee6951bd1e20424898a62fcdb2130 to your computer and use it in GitHub Desktop.
BEFORE.java
@Override
protected void defineConverter(ConverterBuilder<User, UserDTO> builder, Converter converter) {
builder
.convertEntity((entity, dto) -> dto.getRoles().addAll(entity.getRoles().stream()
.map(x -> converter.convert(x, RoleDTO.class))
.collect(Collectors.toSet())))
.convertDto((dto, entity) -> entity.setRoles(dto.getRoles().stream()
.map(x -> converter.convert(x, Role.class))
.collect(Collectors.toSet())));
}
@Override
protected DTOConverter<User, UserDTO> defineConverter(ModelMapper mapper, Class<User> user, Class<UserDTO> dto) {
return new CustomConverterDTO<User, UserDTO>(mapper, user, dto) {
@Override
public User fromDto(UserDTO dto) {
return getEntity(dto).setRoles(dto.getRoles().stream()
.map(x -> convert(x, Role.class))
.collect(Collectors.toSet()));
}
@Override
public UserDTO fromEntity(User entity) {
UserDTO dto = getDto(entity);
dto.getRoles().addAll(entity.getRoles().stream()
.map(x -> convert(x, RoleDTO.class))
.collect(Collectors.toSet()));
return dto;
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment