From 7fd944357d62d14557e359231bb29dbb06a3790a Mon Sep 17 00:00:00 2001 From: Johannes Schnatterer Date: Thu, 2 Aug 2018 10:45:59 +0200 Subject: [PATCH] Config DTO: Adds namespace strategy --- .../src/main/java/sonia/scm/api/v2/resources/ConfigDto.java | 1 + .../scm/api/v2/resources/ScmConfigurationToConfigDtoMapper.java | 2 ++ .../api/v2/resources/ConfigDtoToScmConfigurationMapperTest.java | 2 ++ .../api/v2/resources/ScmConfigurationToConfigDtoMapperTest.java | 2 ++ 4 files changed, 7 insertions(+) diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ConfigDto.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ConfigDto.java index 13d9ff5351..4c9620564b 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ConfigDto.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ConfigDto.java @@ -33,6 +33,7 @@ public class ConfigDto extends HalRepresentation { private String pluginUrl; private long loginAttemptLimitTimeout; private boolean enabledXsrfProtection; + private String defaultNamespaceStrategy; @Override @SuppressWarnings("squid:S1185") // We want to have this method available in this package diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ScmConfigurationToConfigDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ScmConfigurationToConfigDtoMapper.java index 59e56feb11..ee0d32b0f8 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ScmConfigurationToConfigDtoMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ScmConfigurationToConfigDtoMapper.java @@ -3,6 +3,7 @@ package sonia.scm.api.v2.resources; import de.otto.edison.hal.Links; import org.mapstruct.AfterMapping; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; import org.mapstruct.MappingTarget; import sonia.scm.config.ConfigurationPermissions; import sonia.scm.config.ScmConfiguration; @@ -20,6 +21,7 @@ public abstract class ScmConfigurationToConfigDtoMapper { @Inject private ResourceLinks resourceLinks; + @Mapping(target = "attributes", ignore = true) // We do not map HAL attributes public abstract ConfigDto map(ScmConfiguration config); @AfterMapping diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ConfigDtoToScmConfigurationMapperTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ConfigDtoToScmConfigurationMapperTest.java index ad1e71368e..525d5814e1 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ConfigDtoToScmConfigurationMapperTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ConfigDtoToScmConfigurationMapperTest.java @@ -51,6 +51,7 @@ public class ConfigDtoToScmConfigurationMapperTest { assertEquals("https://plug.ins" , config.getPluginUrl()); assertEquals(40 , config.getLoginAttemptLimitTimeout()); assertTrue(config.isEnabledXsrfProtection()); + assertEquals("username", config.getDefaultNamespaceStrategy()); } private ConfigDto createDefaultDto() { @@ -75,6 +76,7 @@ public class ConfigDtoToScmConfigurationMapperTest { configDto.setPluginUrl("https://plug.ins"); configDto.setLoginAttemptLimitTimeout(40); configDto.setEnabledXsrfProtection(true); + configDto.setDefaultNamespaceStrategy("username"); return configDto; } diff --git a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ScmConfigurationToConfigDtoMapperTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ScmConfigurationToConfigDtoMapperTest.java index ff20516e5a..cdbd9ae344 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ScmConfigurationToConfigDtoMapperTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/ScmConfigurationToConfigDtoMapperTest.java @@ -81,6 +81,7 @@ public class ScmConfigurationToConfigDtoMapperTest { assertEquals("pluginurl" , dto.getPluginUrl()); assertEquals(2 , dto.getLoginAttemptLimitTimeout()); assertTrue(dto.isEnabledXsrfProtection()); + assertEquals("username", dto.getDefaultNamespaceStrategy()); assertEquals(expectedBaseUri.toString(), dto.getLinks().getLinkBy("self").get().getHref()); assertEquals(expectedBaseUri.toString(), dto.getLinks().getLinkBy("update").get().getHref()); @@ -120,6 +121,7 @@ public class ScmConfigurationToConfigDtoMapperTest { config.setPluginUrl("pluginurl"); config.setLoginAttemptLimitTimeout(2); config.setEnabledXsrfProtection(true); + config.setDefaultNamespaceStrategy("username"); return config; }