mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-12-23 16:59:48 +01:00
Config Resource DTO Mappers: Make use of BaseMapper.
More DRY.
This commit is contained in:
@@ -3,7 +3,6 @@ package sonia.scm.api.v2.resources;
|
|||||||
import de.otto.edison.hal.Links;
|
import de.otto.edison.hal.Links;
|
||||||
import org.mapstruct.AfterMapping;
|
import org.mapstruct.AfterMapping;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
|
||||||
import org.mapstruct.MappingTarget;
|
import org.mapstruct.MappingTarget;
|
||||||
import sonia.scm.config.ConfigurationPermissions;
|
import sonia.scm.config.ConfigurationPermissions;
|
||||||
import sonia.scm.repository.GitConfig;
|
import sonia.scm.repository.GitConfig;
|
||||||
@@ -16,14 +15,11 @@ import static de.otto.edison.hal.Links.linkingTo;
|
|||||||
// Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection.
|
// Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection.
|
||||||
@SuppressWarnings("squid:S3306")
|
@SuppressWarnings("squid:S3306")
|
||||||
@Mapper
|
@Mapper
|
||||||
public abstract class GitConfigToGitConfigDtoMapper {
|
public abstract class GitConfigToGitConfigDtoMapper extends BaseMapper<GitConfig, GitConfigDto> {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private UriInfoStore uriInfoStore;
|
private UriInfoStore uriInfoStore;
|
||||||
|
|
||||||
@Mapping(target = "attributes", ignore = true) // We do not map HAL attributes
|
|
||||||
public abstract GitConfigDto map(GitConfig config);
|
|
||||||
|
|
||||||
@AfterMapping
|
@AfterMapping
|
||||||
void appendLinks(GitConfig config, @MappingTarget GitConfigDto target) {
|
void appendLinks(GitConfig config, @MappingTarget GitConfigDto target) {
|
||||||
Links.Builder linksBuilder = linkingTo().self(self());
|
Links.Builder linksBuilder = linkingTo().self(self());
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package sonia.scm.api.v2.resources;
|
|||||||
import de.otto.edison.hal.Links;
|
import de.otto.edison.hal.Links;
|
||||||
import org.mapstruct.AfterMapping;
|
import org.mapstruct.AfterMapping;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
|
||||||
import org.mapstruct.MappingTarget;
|
import org.mapstruct.MappingTarget;
|
||||||
import sonia.scm.config.ConfigurationPermissions;
|
import sonia.scm.config.ConfigurationPermissions;
|
||||||
import sonia.scm.repository.HgConfig;
|
import sonia.scm.repository.HgConfig;
|
||||||
@@ -16,14 +15,11 @@ import static de.otto.edison.hal.Links.linkingTo;
|
|||||||
// Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection.
|
// Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection.
|
||||||
@SuppressWarnings("squid:S3306")
|
@SuppressWarnings("squid:S3306")
|
||||||
@Mapper
|
@Mapper
|
||||||
public abstract class HgConfigToHgConfigDtoMapper {
|
public abstract class HgConfigToHgConfigDtoMapper extends BaseMapper<HgConfig, HgConfigDto> {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private UriInfoStore uriInfoStore;
|
private UriInfoStore uriInfoStore;
|
||||||
|
|
||||||
@Mapping(target = "attributes", ignore = true) // We do not map HAL attributes
|
|
||||||
public abstract HgConfigDto map(HgConfig config);
|
|
||||||
|
|
||||||
@AfterMapping
|
@AfterMapping
|
||||||
void appendLinks(HgConfig config, @MappingTarget HgConfigDto target) {
|
void appendLinks(HgConfig config, @MappingTarget HgConfigDto target) {
|
||||||
Links.Builder linksBuilder = linkingTo().self(self());
|
Links.Builder linksBuilder = linkingTo().self(self());
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package sonia.scm.api.v2.resources;
|
|||||||
import de.otto.edison.hal.Links;
|
import de.otto.edison.hal.Links;
|
||||||
import org.mapstruct.AfterMapping;
|
import org.mapstruct.AfterMapping;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
|
||||||
import org.mapstruct.MappingTarget;
|
import org.mapstruct.MappingTarget;
|
||||||
import sonia.scm.config.ConfigurationPermissions;
|
import sonia.scm.config.ConfigurationPermissions;
|
||||||
import sonia.scm.repository.SvnConfig;
|
import sonia.scm.repository.SvnConfig;
|
||||||
@@ -16,14 +15,11 @@ import static de.otto.edison.hal.Links.linkingTo;
|
|||||||
// Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection.
|
// Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection.
|
||||||
@SuppressWarnings("squid:S3306")
|
@SuppressWarnings("squid:S3306")
|
||||||
@Mapper
|
@Mapper
|
||||||
public abstract class SvnConfigToSvnConfigDtoMapper {
|
public abstract class SvnConfigToSvnConfigDtoMapper extends BaseMapper<SvnConfig, SvnConfigDto> {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private UriInfoStore uriInfoStore;
|
private UriInfoStore uriInfoStore;
|
||||||
|
|
||||||
@Mapping(target = "attributes", ignore = true) // We do not map HAL attributes
|
|
||||||
public abstract SvnConfigDto map(SvnConfig config);
|
|
||||||
|
|
||||||
@AfterMapping
|
@AfterMapping
|
||||||
void appendLinks(SvnConfig config, @MappingTarget SvnConfigDto target) {
|
void appendLinks(SvnConfig config, @MappingTarget SvnConfigDto target) {
|
||||||
Links.Builder linksBuilder = linkingTo().self(self());
|
Links.Builder linksBuilder = linkingTo().self(self());
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package sonia.scm.api.v2.resources;
|
|||||||
import de.otto.edison.hal.Links;
|
import de.otto.edison.hal.Links;
|
||||||
import org.mapstruct.AfterMapping;
|
import org.mapstruct.AfterMapping;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
|
||||||
import org.mapstruct.MappingTarget;
|
import org.mapstruct.MappingTarget;
|
||||||
import sonia.scm.config.ConfigurationPermissions;
|
import sonia.scm.config.ConfigurationPermissions;
|
||||||
import sonia.scm.config.ScmConfiguration;
|
import sonia.scm.config.ScmConfiguration;
|
||||||
@@ -16,14 +15,11 @@ import static de.otto.edison.hal.Links.linkingTo;
|
|||||||
// Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection.
|
// Mapstruct does not support parameterized (i.e. non-default) constructors. Thus, we need to use field injection.
|
||||||
@SuppressWarnings("squid:S3306")
|
@SuppressWarnings("squid:S3306")
|
||||||
@Mapper
|
@Mapper
|
||||||
public abstract class ScmConfigurationToConfigDtoMapper {
|
public abstract class ScmConfigurationToConfigDtoMapper extends BaseMapper<ScmConfiguration, ConfigDto> {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ResourceLinks resourceLinks;
|
private ResourceLinks resourceLinks;
|
||||||
|
|
||||||
@Mapping(target = "attributes", ignore = true) // We do not map HAL attributes
|
|
||||||
public abstract ConfigDto map(ScmConfiguration config);
|
|
||||||
|
|
||||||
@AfterMapping
|
@AfterMapping
|
||||||
void appendLinks(ScmConfiguration config, @MappingTarget ConfigDto target) {
|
void appendLinks(ScmConfiguration config, @MappingTarget ConfigDto target) {
|
||||||
Links.Builder linksBuilder = linkingTo().self(resourceLinks.config().self());
|
Links.Builder linksBuilder = linkingTo().self(resourceLinks.config().self());
|
||||||
|
|||||||
Reference in New Issue
Block a user