(Person/PersonDto/Address/AddressDto) .
@Mapper(
withCustomFields = {
@Field({"org.gradle.Person.address.street", "org.gradle.PersonDto.addressStreet"}),
@Field({"org.gradle.Person.address.zipCode","org.gradle.PersonDto.addressZipCode"}),
@Field({"org.gradle.Person.address.city", "org.gradle.PersonDto.addressCity"}),
@Field({"org.gradle.Person.address.country","org.gradle.PersonDto.addressCountry"})
}
)
public interface PersonMapper {
Person asModel( PersonDto personDto );
PersonDto asDto( Person person);
Person updateModel( PersonDto from, Person to);
PersonDto updateDto( Person from, PersonDto to);
}
The generated code (see attached file) includes two build errors (highlighted in red):
@Override
public final PersonDto updateDto(Person in, PersonDto out) {
if (in != null) {
if (out == null) {
out = new org.gradle.PersonDto();
}
if (in.getAdditionalAddresses() != null) {
java.util.ArrayList<org.gradle.AddressDto> aadditionaladdressesTmpCollection = new java.util.ArrayList<org.gradle.AddressDto>(in.getAdditionalAddresses().size());
out.setAdditionalAddresses(aadditionaladdressesTmpCollection);
for (org.gradle.Address aadditionaladdressesItem : in.getAdditionalAddresses()) {
aadditionaladdressesTmpCollection.add(asAddressDto(aadditionaladdressesItem, out()));
}
}