这是indexloc提供的服务,不要输入任何密码
Skip to content

Bael 7725 #18705

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 77 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
c358ecd
Merge branch 'eugenp:master' into master
wynnteo May 16, 2024
74f4a8b
Merge branch 'eugenp:master' into master
wynnteo May 23, 2024
12ae4a2
Merge branch 'eugenp:master' into master
wynnteo May 24, 2024
a556cad
Merge branch 'eugenp:master' into master
wynnteo May 28, 2024
e5f3c5a
Merge branch 'eugenp:master' into master
wynnteo May 31, 2024
5b337e9
Merge branch 'eugenp:master' into master
wynnteo Jun 5, 2024
55688c1
Merge branch 'eugenp:master' into master
wynnteo Jun 10, 2024
8b0ca7c
Merge branch 'eugenp:master' into master
wynnteo Jun 11, 2024
6350935
Merge branch 'eugenp:master' into master
wynnteo Jun 16, 2024
d73ca7f
Merge branch 'eugenp:master' into master
wynnteo Jun 23, 2024
45003f6
Merge branch 'eugenp:master' into master
wynnteo Jun 24, 2024
c458ec0
Merge branch 'eugenp:master' into master
wynnteo Jun 25, 2024
3705a63
Merge branch 'eugenp:master' into master
wynnteo Jul 1, 2024
1c782c3
Merge branch 'eugenp:master' into master
wynnteo Jul 2, 2024
f2de90d
Merge branch 'eugenp:master' into master
wynnteo Jul 5, 2024
53dc085
Merge branch 'eugenp:master' into master
wynnteo Jul 8, 2024
d4c19ab
Merge branch 'eugenp:master' into master
wynnteo Jul 10, 2024
ff8cd93
Merge branch 'eugenp:master' into master
wynnteo Jul 15, 2024
29bcb1d
Merge branch 'eugenp:master' into master
wynnteo Jul 16, 2024
16d5163
Merge branch 'eugenp:master' into master
wynnteo Jul 19, 2024
842edf8
Merge branch 'eugenp:master' into master
wynnteo Jul 22, 2024
f132c30
Merge branch 'eugenp:master' into master
wynnteo Jul 24, 2024
ed1c995
Merge branch 'eugenp:master' into master
wynnteo Jul 25, 2024
be344fb
Merge branch 'eugenp:master' into master
wynnteo Aug 6, 2024
541adfb
Merge branch 'eugenp:master' into master
wynnteo Aug 9, 2024
6fd4d5d
Merge branch 'eugenp:master' into master
wynnteo Aug 13, 2024
80a462c
Merge branch 'eugenp:master' into master
wynnteo Aug 15, 2024
55f1987
Merge branch 'eugenp:master' into master
wynnteo Aug 20, 2024
6df4fb8
Merge branch 'eugenp:master' into master
wynnteo Aug 26, 2024
d1e423e
Merge branch 'eugenp:master' into master
wynnteo Sep 5, 2024
7c7354e
Merge branch 'eugenp:master' into master
wynnteo Sep 16, 2024
f434a47
Merge branch 'eugenp:master' into master
wynnteo Sep 19, 2024
4774de0
Merge branch 'eugenp:master' into master
wynnteo Sep 21, 2024
2260623
Merge branch 'eugenp:master' into master
wynnteo Sep 30, 2024
984f427
Merge branch 'eugenp:master' into master
wynnteo Sep 30, 2024
80cbd03
Merge branch 'eugenp:master' into master
wynnteo Oct 3, 2024
22dcaba
Merge branch 'eugenp:master' into master
wynnteo Oct 3, 2024
05494c0
Merge branch 'eugenp:master' into master
wynnteo Oct 10, 2024
0e87d28
Merge branch 'eugenp:master' into master
wynnteo Oct 14, 2024
983608b
Merge branch 'eugenp:master' into master
wynnteo Oct 22, 2024
b37b377
Merge branch 'eugenp:master' into master
wynnteo Oct 29, 2024
dadfb2f
Merge branch 'eugenp:master' into master
wynnteo Nov 1, 2024
ece1b1c
Merge branch 'eugenp:master' into master
wynnteo Nov 7, 2024
319081a
Merge branch 'eugenp:master' into master
wynnteo Nov 8, 2024
ac445aa
Merge branch 'eugenp:master' into master
wynnteo Nov 26, 2024
64c96b9
Merge branch 'eugenp:master' into master
wynnteo Dec 11, 2024
ee18089
Merge branch 'eugenp:master' into master
wynnteo Dec 18, 2024
d32e660
Merge branch 'eugenp:master' into master
wynnteo Dec 19, 2024
c186fdd
Merge branch 'eugenp:master' into master
wynnteo Dec 24, 2024
e216122
Merge branch 'eugenp:master' into master
wynnteo Jan 9, 2025
96f545e
Merge branch 'eugenp:master' into master
wynnteo Jan 20, 2025
b2a8b7b
Merge branch 'eugenp:master' into master
wynnteo Feb 5, 2025
afb1645
Merge branch 'eugenp:master' into master
wynnteo Feb 12, 2025
11308fb
Merge branch 'eugenp:master' into master
wynnteo Feb 21, 2025
76e0935
Merge branch 'eugenp:master' into master
wynnteo Feb 25, 2025
c0fe750
Merge branch 'eugenp:master' into master
wynnteo Feb 28, 2025
80bee83
Merge branch 'eugenp:master' into master
wynnteo Mar 10, 2025
71b8373
Merge branch 'eugenp:master' into master
wynnteo Mar 13, 2025
f8338d0
Merge branch 'eugenp:master' into master
wynnteo Mar 18, 2025
9f78b8e
Merge branch 'eugenp:master' into master
wynnteo Mar 20, 2025
2797cce
Merge branch 'eugenp:master' into master
wynnteo Apr 3, 2025
b180f5b
Merge branch 'eugenp:master' into master
wynnteo Apr 28, 2025
a3e1bdb
Merge branch 'eugenp:master' into master
wynnteo May 2, 2025
32d81a1
Merge branch 'eugenp:master' into master
wynnteo May 14, 2025
05e5bf0
Merge branch 'eugenp:master' into master
wynnteo May 19, 2025
43267b3
Merge branch 'eugenp:master' into master
wynnteo May 22, 2025
bcde467
Merge branch 'eugenp:master' into master
wynnteo May 26, 2025
da3a2cf
Merge branch 'eugenp:master' into master
wynnteo May 28, 2025
4e99905
Merge branch 'eugenp:master' into master
wynnteo Jun 11, 2025
f619b1a
Merge branch 'eugenp:master' into master
wynnteo Jun 20, 2025
a09d7e0
Merge branch 'eugenp:master' into master
wynnteo Jun 23, 2025
47691bb
Merge branch 'eugenp:master' into master
wynnteo Jun 27, 2025
561df5f
Merge branch 'eugenp:master' into master
wynnteo Jul 2, 2025
b13caa4
Merge branch 'eugenp:master' into master
wynnteo Jul 7, 2025
e0ce109
Merge branch 'eugenp:master' into master
wynnteo Jul 25, 2025
2adc7f2
BAEL-7725
Jul 25, 2025
c5f6b33
update to use junit assert
Jul 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.baeldung.context;

public class MappingContext {

public String normalizeName(String name) {
return name == null ? null : name.trim()
.toUpperCase();
}
}
14 changes: 14 additions & 0 deletions mapstruct/src/main/java/com/baeldung/mapper/CustomerDtoMapper.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package com.baeldung.mapper;

import org.mapstruct.AfterMapping;
import org.mapstruct.Context;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.MappingTarget;

import com.baeldung.context.MappingContext;
import com.baeldung.dto.CustomerDto;
import com.baeldung.entity.Customer;

Expand All @@ -12,4 +16,14 @@ public interface CustomerDtoMapper {
@Mapping(source = "firstName", target = "forename")
@Mapping(source = "lastName", target = "surname")
CustomerDto from(Customer customer);

@Mapping(source = "firstName", target = "forename")
@Mapping(source = "lastName", target = "surname")
CustomerDto from(Customer customer, @Context MappingContext context);

@AfterMapping
default void normalize(@MappingTarget CustomerDto dto, @Context MappingContext context) {
dto.setForename(context.normalizeName(dto.getForename()));
dto.setSurname(context.normalizeName(dto.getSurname()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import org.junit.jupiter.api.Test;
import org.mapstruct.factory.Mappers;

import com.baeldung.context.MappingContext;
import com.baeldung.dto.CustomerDto;
import com.baeldung.entity.Customer;

Expand All @@ -26,4 +27,15 @@ void testGivenCustomer_mapsToCustomerDto() {
assertEquals(customerDto.getForename(), customer.getFirstName());
assertEquals(customerDto.getSurname(), customer.getLastName());
}

@Test
void givenCustomer_whenMappedUsingContext_thenReturnsFormattedDto() {
Customer customer = new Customer();
customer.setFirstName(" max ");
customer.setLastName(" powers ");
MappingContext context = new MappingContext();
CustomerDto dto = customerDtoMapper.from(customer, context);
assertEquals("MAX", dto.getForename());
assertEquals("POWERS", dto.getSurname());
}
}