Original issue is at #144 comment : 144#issuecomment-279717769 And problem I had addressed at 144#issuecomment-279963373
Minimum reproducer as following code snippet the testMapping2 will failed
java
package org.modelmapper.bugs;
import static org.testng.Assert.assertEquals;
import org.modelmapper.AbstractTest;
import org.modelmapper.PropertyMap;
import org.testng.annotations.Test;
public class GH202 extends AbstractTest {
public void testMapping1() {
modelMapper.addMappings(new Mappings1());
DestinationModel dest = modelMapper.map(new SourceModel(), DestinationModel.class);
assertEquals(dest.getName(), "Bob Alice");
assertEquals(dest.getNestedModel().getAge(), "99");
}
public void testMapping2() {
modelMapper.addMappings(new Mappings2());
DestinationModel dest = modelMapper.map(new SourceModel(), DestinationModel.class);
assertEquals(dest.getName(), "Bob Alice");
assertEquals(dest.getNestedModel().getAge(), "99");
}
static class DestinationModel {
private String name;
private NestedDestinationModel nestedModel;
public String getName() {
return name;
}
public void setName(final String name) {
this.name = name;
}
public NestedDestinationModel getNestedModel() {
return nestedModel;
}
public void setNestedModel(final NestedDestinationModel nestedModel) {
this.nestedModel = nestedModel;
}
}
static class NestedDestinationModel {
private String age;
public String getAge() {
return age;
}
public void setAge(final String age) {
this.age = age;
}
}
static class SourceModel implements MappingInterface {
public String getName() {
return "Bob Alice";
}
public String getAge() {
return "99";
}
}
interface MappingInterface {
String getName();
String getAge();
}
class Mappings1 extends PropertyMap<sourcemodel destinationmodel> {
protected void configure() {
map().setName(source.getName());
map().getNestedModel().setAge(source.getAge());
}
}
class Mappings2 extends PropertyMap<mappinginterface destinationmodel> {
protected void configure() {
map().setName(source.getName());
map().getNestedModel().setAge(source.getAge());
}
}
}
</mappinginterface></sourcemodel>该提问来源于开源项目:modelmapper/modelmapper