Skip to content

Default value not work properly #2095

@JohnGreaves

Description

@JohnGreaves

While I use mapstruct, I found the bug:

For example:

@Mapper(componentModel = "spring")
public interface ExceptionMapper {
@Mappings({
            @Mapping(source = "error", target = "internalErrorMessage", qualifiedByName = "formInternalMessage"),
            @Mapping(source = "error", target = "additionalParams", qualifiedByName = "formAdditionalParams"),
            @Mapping(source = "error", target = "internalCode", qualifiedByName = "formInternalCode"),
            @Mapping(source = "httpCode", target = "httpCode", defaultValue = "400"),
    })
    MkwExceptionDto objectErrorToDto(ObjectError error, Integer httpCode);

and Mapstruct generates:

if ( httpCode != null ) {
            if ( httpCode != null ) {
                mkwExceptionDto.setHttpCode( httpCode );
            }
            else {
                mkwExceptionDto.setHttpCode( 400 );
            }
        }

Depends on double-checking on null, the default value never be set.

<org.mapstruct.version>1.3.1.Final</org.mapstruct.version>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions