diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/GroupToGroupDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/GroupToGroupDtoMapper.java index aa417561aa..f98ce7e66f 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/GroupToGroupDtoMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/GroupToGroupDtoMapper.java @@ -16,18 +16,15 @@ import static de.otto.edison.hal.Links.linkingTo; import static sonia.scm.api.v2.resources.ResourceLinks.group; import static sonia.scm.api.v2.resources.ResourceLinks.user; +/** + * Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection. + */ +@java.lang.SuppressWarnings("squid:S3306") @Mapper public abstract class GroupToGroupDtoMapper extends BaseMapper { - private UriInfoStore uriInfoStore; - - GroupToGroupDtoMapper() { - } - @Inject - public GroupToGroupDtoMapper(UriInfoStore uriInfoStore) { - this.uriInfoStore = uriInfoStore; - } + private UriInfoStore uriInfoStore; @AfterMapping void appendLinks(Group group, @MappingTarget GroupDto target) { diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserCollectionToDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserCollectionToDtoMapper.java index 015ba04ae9..b609771e69 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserCollectionToDtoMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserCollectionToDtoMapper.java @@ -7,6 +7,10 @@ import javax.inject.Inject; import static sonia.scm.api.v2.resources.ResourceLinks.userCollection; +/** + * Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection. + */ +@java.lang.SuppressWarnings("squid:S3306") public class UserCollectionToDtoMapper extends BasicCollectionToDtoMapper { private final UriInfoStore uriInfoStore; diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserDtoToUserMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserDtoToUserMapper.java index 313fa0ce8b..f06e9803a4 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserDtoToUserMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserDtoToUserMapper.java @@ -8,18 +8,15 @@ import javax.inject.Inject; import static sonia.scm.api.rest.resources.UserResource.DUMMY_PASSWORT; +/** + * Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection. + */ +@java.lang.SuppressWarnings("squid:S3306") @Mapper public abstract class UserDtoToUserMapper { - private PasswordService passwordService; - - UserDtoToUserMapper() { - } - @Inject - public UserDtoToUserMapper(PasswordService passwordService) { - this.passwordService = passwordService; - } + private PasswordService passwordService; @Mappings({ @Mapping(source = "password", target = "password", qualifiedByName = "encrypt"), diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserToUserDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserToUserDtoMapper.java index 80d747ece0..3c9a03d9bb 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserToUserDtoMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserToUserDtoMapper.java @@ -14,6 +14,10 @@ import static de.otto.edison.hal.Link.link; import static de.otto.edison.hal.Links.linkingTo; import static sonia.scm.api.v2.resources.ResourceLinks.user; +/** + * Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection. + */ +@java.lang.SuppressWarnings("squid:S3306") @Mapper public abstract class UserToUserDtoMapper extends BaseMapper {