Open mgagauz opened 3 years ago
I would propose to change SourceCodeContext
private void beginCaptureFieldContext(StringBuilder out, FieldMap fieldMap, VariableRef source, VariableRef dest) {
out.append(format("mappingContext.beginMappingField(\"%s\", %s, %s, \"%s\", %s, %s);\n" + "try{\n",
escapeQuotes(fieldMap.getSource().getExpression()), usedType(fieldMap.getAType()), source.asWrapper(),
escapeQuotes(fieldMap.getDestination().getExpression()), usedType(fieldMap.getBType()), dest.asWrapper()));
}
to
private void beginCaptureFieldContext(StringBuilder out, FieldMap fieldMap, VariableRef source, VariableRef dest) {
out.append(format("mappingContext.beginMappingField(\"%s\", %s, %s, \"%s\", %s, %s %s %s %s);\n" + "try{\n",
escapeQuotes(fieldMap.getSource().getExpression()), usedType(fieldMap.getAType()), source.asWrapper(),
escapeQuotes(fieldMap.getDestination().getExpression()), usedType(fieldMap.getBType()),
dest.pathNotNull(), " ? ", dest.asWrapper(), " : null"));
}
Looks like orika is not really supported, so SAP Commerce must stop using it and switch on mapstruct.
Here is a simple application which tries to convert objects with a nesting level more than one:
Running it will cause NPE during conversion: