rename defaultNamespaceStrategy to namespaceStrategy

This commit is contained in:
Sebastian Sdorra
2019-03-12 15:54:34 +01:00
parent f7f5102541
commit cb554eb7bc
14 changed files with 36 additions and 39 deletions

View File

@@ -184,8 +184,8 @@ public class ScmConfiguration implements Configuration {
@XmlElement(name = "xsrf-protection") @XmlElement(name = "xsrf-protection")
private boolean enabledXsrfProtection = true; private boolean enabledXsrfProtection = true;
@XmlElement(name = "default-namespace-strategy") @XmlElement(name = "namespace-strategy")
private String defaultNamespaceStrategy = "UsernameNamespaceStrategy"; private String namespaceStrategy = "UsernameNamespaceStrategy";
/** /**
@@ -227,7 +227,7 @@ public class ScmConfiguration implements Configuration {
this.loginAttemptLimit = other.loginAttemptLimit; this.loginAttemptLimit = other.loginAttemptLimit;
this.loginAttemptLimitTimeout = other.loginAttemptLimitTimeout; this.loginAttemptLimitTimeout = other.loginAttemptLimitTimeout;
this.enabledXsrfProtection = other.enabledXsrfProtection; this.enabledXsrfProtection = other.enabledXsrfProtection;
this.defaultNamespaceStrategy = other.defaultNamespaceStrategy; this.namespaceStrategy = other.namespaceStrategy;
} }
public Set<String> getAdminGroups() { public Set<String> getAdminGroups() {
@@ -366,8 +366,8 @@ public class ScmConfiguration implements Configuration {
return loginAttemptLimit > 0; return loginAttemptLimit > 0;
} }
public String getDefaultNamespaceStrategy() { public String getNamespaceStrategy() {
return defaultNamespaceStrategy; return namespaceStrategy;
} }
@@ -501,8 +501,8 @@ public class ScmConfiguration implements Configuration {
this.enabledXsrfProtection = enabledXsrfProtection; this.enabledXsrfProtection = enabledXsrfProtection;
} }
public void setDefaultNamespaceStrategy(String defaultNamespaceStrategy) { public void setNamespaceStrategy(String namespaceStrategy) {
this.defaultNamespaceStrategy = defaultNamespaceStrategy; this.namespaceStrategy = namespaceStrategy;
} }
@Override @Override

View File

@@ -22,6 +22,6 @@ export type Config = {
pluginUrl: string, pluginUrl: string,
loginAttemptLimitTimeout: number, loginAttemptLimitTimeout: number,
enabledXsrfProtection: boolean, enabledXsrfProtection: boolean,
defaultNamespaceStrategy: string, namespaceStrategy: string,
_links: Links _links: Links
}; };

View File

@@ -57,7 +57,7 @@
"skip-failed-authenticators": "Fehlgeschlagene Authentifizierer überspringen", "skip-failed-authenticators": "Fehlgeschlagene Authentifizierer überspringen",
"plugin-url": "Plugin URL", "plugin-url": "Plugin URL",
"enabled-xsrf-protection": "XSRF Protection aktivieren", "enabled-xsrf-protection": "XSRF Protection aktivieren",
"default-namespace-strategy": "Default Namespace Strategie" "namespace-strategy": "Namespace Strategie"
}, },
"validation": { "validation": {
"date-format-invalid": "Das Datumsformat ist ungültig", "date-format-invalid": "Das Datumsformat ist ungültig",
@@ -87,6 +87,6 @@
"proxyUserHelpText": "Der Benutzername für die Proxy Server Anmeldung.", "proxyUserHelpText": "Der Benutzername für die Proxy Server Anmeldung.",
"proxyExcludesHelpText": "Glob patterns für Hostnamen, die von den Proxy-Einstellungen ausgeschlossen werden sollen.", "proxyExcludesHelpText": "Glob patterns für Hostnamen, die von den Proxy-Einstellungen ausgeschlossen werden sollen.",
"enableXsrfProtectionHelpText": "Xsrf Cookie Protection aktivieren. Hinweis: Dieses Feature befindet sich noch im Experimentalstatus.", "enableXsrfProtectionHelpText": "Xsrf Cookie Protection aktivieren. Hinweis: Dieses Feature befindet sich noch im Experimentalstatus.",
"defaultNameSpaceStrategyHelpText": "Die Standardstrategie für Namespaces." "nameSpaceStrategyHelpText": "Strategie für Namespaces."
} }
} }

View File

@@ -57,7 +57,7 @@
"skip-failed-authenticators": "Skip Failed Authenticators", "skip-failed-authenticators": "Skip Failed Authenticators",
"plugin-url": "Plugin URL", "plugin-url": "Plugin URL",
"enabled-xsrf-protection": "Enabled XSRF Protection", "enabled-xsrf-protection": "Enabled XSRF Protection",
"default-namespace-strategy": "Default Namespace Strategy" "namespace-strategy": "Namespace Strategy"
}, },
"validation": { "validation": {
"date-format-invalid": "The date format is not valid", "date-format-invalid": "The date format is not valid",
@@ -87,6 +87,6 @@
"proxyUserHelpText": "The username for the proxy server authentication.", "proxyUserHelpText": "The username for the proxy server authentication.",
"proxyExcludesHelpText": "Glob patterns for hostnames, which should be excluded from proxy settings.", "proxyExcludesHelpText": "Glob patterns for hostnames, which should be excluded from proxy settings.",
"enableXsrfProtectionHelpText": "Enable XSRF Cookie Protection. Note: This feature is still experimental.", "enableXsrfProtectionHelpText": "Enable XSRF Cookie Protection. Note: This feature is still experimental.",
"defaultNameSpaceStrategyHelpText": "The default namespace strategy." "nameSpaceStrategyHelpText": "The namespace strategy."
} }
} }

View File

@@ -2,8 +2,7 @@
import React from "react"; import React from "react";
import { translate } from "react-i18next"; import { translate } from "react-i18next";
import { SubmitButton, Notification } from "@scm-manager/ui-components"; import { SubmitButton, Notification } from "@scm-manager/ui-components";
import type { NamespaceStrategies } from "@scm-manager/ui-types"; import type { NamespaceStrategies, Config } from "@scm-manager/ui-types";
import type { Config } from "@scm-manager/ui-types";
import ProxySettings from "./ProxySettings"; import ProxySettings from "./ProxySettings";
import GeneralSettings from "./GeneralSettings"; import GeneralSettings from "./GeneralSettings";
import BaseUrlSettings from "./BaseUrlSettings"; import BaseUrlSettings from "./BaseUrlSettings";
@@ -57,7 +56,7 @@ class ConfigForm extends React.Component<Props, State> {
pluginUrl: "", pluginUrl: "",
loginAttemptLimitTimeout: 0, loginAttemptLimitTimeout: 0,
enabledXsrfProtection: true, enabledXsrfProtection: true,
defaultNamespaceStrategy: "", namespaceStrategy: "",
_links: {} _links: {}
}, },
showNotification: false, showNotification: false,
@@ -131,7 +130,7 @@ class ConfigForm extends React.Component<Props, State> {
skipFailedAuthenticators={config.skipFailedAuthenticators} skipFailedAuthenticators={config.skipFailedAuthenticators}
pluginUrl={config.pluginUrl} pluginUrl={config.pluginUrl}
enabledXsrfProtection={config.enabledXsrfProtection} enabledXsrfProtection={config.enabledXsrfProtection}
defaultNamespaceStrategy={config.defaultNamespaceStrategy} namespaceStrategy={config.namespaceStrategy}
onChange={(isValid, changedValue, name) => onChange={(isValid, changedValue, name) =>
this.onChange(isValid, changedValue, name) this.onChange(isValid, changedValue, name)
} }

View File

@@ -1,7 +1,7 @@
// @flow // @flow
import React from "react"; import React from "react";
import { translate } from "react-i18next"; import { translate } from "react-i18next";
import { Checkbox, InputField, Select } from "@scm-manager/ui-components"; import { Checkbox, InputField} from "@scm-manager/ui-components";
import type { NamespaceStrategies } from "@scm-manager/ui-types"; import type { NamespaceStrategies } from "@scm-manager/ui-types";
import NamespaceStrategySelect from "./NamespaceStrategySelect"; import NamespaceStrategySelect from "./NamespaceStrategySelect";
@@ -14,7 +14,7 @@ type Props = {
skipFailedAuthenticators: boolean, skipFailedAuthenticators: boolean,
pluginUrl: string, pluginUrl: string,
enabledXsrfProtection: boolean, enabledXsrfProtection: boolean,
defaultNamespaceStrategy: string, namespaceStrategy: string,
namespaceStrategies?: NamespaceStrategies, namespaceStrategies?: NamespaceStrategies,
onChange: (boolean, any, string) => void, onChange: (boolean, any, string) => void,
hasUpdatePermission: boolean, hasUpdatePermission: boolean,
@@ -35,7 +35,7 @@ class GeneralSettings extends React.Component<Props> {
skipFailedAuthenticators, skipFailedAuthenticators,
pluginUrl, pluginUrl,
enabledXsrfProtection, enabledXsrfProtection,
defaultNamespaceStrategy, namespaceStrategy,
hasUpdatePermission, hasUpdatePermission,
namespaceStrategies namespaceStrategies
} = this.props; } = this.props;
@@ -74,12 +74,12 @@ class GeneralSettings extends React.Component<Props> {
</div> </div>
<div className="column is-half"> <div className="column is-half">
<NamespaceStrategySelect <NamespaceStrategySelect
label={t("general-settings.default-namespace-strategy")} label={t("general-settings.namespace-strategy")}
onChange={this.handleDefaultNamespaceStrategyChange} onChange={this.handleNamespaceStrategyChange}
value={defaultNamespaceStrategy} value={namespaceStrategy}
disabled={!hasUpdatePermission} disabled={!hasUpdatePermission}
namespaceStrategies={namespaceStrategies} namespaceStrategies={namespaceStrategies}
helpText={t("help.defaultNameSpaceStrategyHelpText")} helpText={t("help.nameSpaceStrategyHelpText")}
/> />
</div> </div>
</div> </div>
@@ -153,19 +153,17 @@ class GeneralSettings extends React.Component<Props> {
handleAnonymousAccessEnabledChange = (value: string) => { handleAnonymousAccessEnabledChange = (value: string) => {
this.props.onChange(true, value, "anonymousAccessEnabled"); this.props.onChange(true, value, "anonymousAccessEnabled");
}; };
handleSkipFailedAuthenticatorsChange = (value: string) => { handleSkipFailedAuthenticatorsChange = (value: string) => {
this.props.onChange(true, value, "skipFailedAuthenticators"); this.props.onChange(true, value, "skipFailedAuthenticators");
}; };
handlePluginUrlChange = (value: string) => { handlePluginUrlChange = (value: string) => {
this.props.onChange(true, value, "pluginUrl"); this.props.onChange(true, value, "pluginUrl");
}; };
handleEnabledXsrfProtectionChange = (value: boolean) => { handleEnabledXsrfProtectionChange = (value: boolean) => {
this.props.onChange(true, value, "enabledXsrfProtection"); this.props.onChange(true, value, "enabledXsrfProtection");
}; };
handleDefaultNamespaceStrategyChange = (value: string) => { handleNamespaceStrategyChange = (value: string) => {
this.props.onChange(true, value, "defaultNamespaceStrategy"); this.props.onChange(true, value, "namespaceStrategy");
}; };
} }

View File

@@ -50,7 +50,7 @@ const config = {
"http://plugins.scm-manager.org/scm-plugin-backend/api/{version}/plugins?os={os}&arch={arch}&snapshot=false", "http://plugins.scm-manager.org/scm-plugin-backend/api/{version}/plugins?os={os}&arch={arch}&snapshot=false",
loginAttemptLimitTimeout: 300, loginAttemptLimitTimeout: 300,
enabledXsrfProtection: true, enabledXsrfProtection: true,
defaultNamespaceStrategy: "sonia.scm.repository.DefaultNamespaceStrategy", namespaceStrategy: "UsernameNamespaceStrategy",
_links: { _links: {
self: { href: "http://localhost:8081/api/v2/config" }, self: { href: "http://localhost:8081/api/v2/config" },
update: { href: "http://localhost:8081/api/v2/config" } update: { href: "http://localhost:8081/api/v2/config" }
@@ -79,7 +79,7 @@ const configWithNullValues = {
"http://plugins.scm-manager.org/scm-plugin-backend/api/{version}/plugins?os={os}&arch={arch}&snapshot=false", "http://plugins.scm-manager.org/scm-plugin-backend/api/{version}/plugins?os={os}&arch={arch}&snapshot=false",
loginAttemptLimitTimeout: 300, loginAttemptLimitTimeout: 300,
enabledXsrfProtection: true, enabledXsrfProtection: true,
defaultNamespaceStrategy: "sonia.scm.repository.DefaultNamespaceStrategy", namespaceStrategy: "UsernameNamespaceStrategy",
_links: { _links: {
self: { href: "http://localhost:8081/api/v2/config" }, self: { href: "http://localhost:8081/api/v2/config" },
update: { href: "http://localhost:8081/api/v2/config" } update: { href: "http://localhost:8081/api/v2/config" }

View File

@@ -91,7 +91,7 @@ export default function reducer(
const config = action.payload; const config = action.payload;
return { return {
...state, ...state,
current: config.defaultNamespaceStrategy current: config.namespaceStrategy
}; };
} }
return state; return state;

View File

@@ -149,7 +149,7 @@ describe("namespace strategies reducer", () => {
const modifyConfigAction = { const modifyConfigAction = {
type: MODIFY_CONFIG_SUCCESS, type: MODIFY_CONFIG_SUCCESS,
payload: { payload: {
defaultNamespaceStrategy: "CustomNamespaceStrategy" namespaceStrategy: "CustomNamespaceStrategy"
} }
}; };
const newState = reducer(strategies, modifyConfigAction); const newState = reducer(strategies, modifyConfigAction);

View File

@@ -35,7 +35,7 @@ public class ConfigDto extends HalRepresentation {
private String pluginUrl; private String pluginUrl;
private long loginAttemptLimitTimeout; private long loginAttemptLimitTimeout;
private boolean enabledXsrfProtection; private boolean enabledXsrfProtection;
private String defaultNamespaceStrategy; private String namespaceStrategy;
@Override @Override
@SuppressWarnings("squid:S1185") // We want to have this method available in this package @SuppressWarnings("squid:S1185") // We want to have this method available in this package

View File

@@ -23,7 +23,7 @@ public class NamespaceStrategyProvider implements Provider<NamespaceStrategy> {
@Override @Override
public NamespaceStrategy get() { public NamespaceStrategy get() {
String namespaceStrategy = scmConfiguration.getDefaultNamespaceStrategy(); String namespaceStrategy = scmConfiguration.getNamespaceStrategy();
for (NamespaceStrategy s : this.strategies) { for (NamespaceStrategy s : this.strategies) {
if (s.getClass().getSimpleName().equals(namespaceStrategy)) { if (s.getClass().getSimpleName().equals(namespaceStrategy)) {

View File

@@ -51,7 +51,7 @@ public class ConfigDtoToScmConfigurationMapperTest {
assertEquals("https://plug.ins" , config.getPluginUrl()); assertEquals("https://plug.ins" , config.getPluginUrl());
assertEquals(40 , config.getLoginAttemptLimitTimeout()); assertEquals(40 , config.getLoginAttemptLimitTimeout());
assertTrue(config.isEnabledXsrfProtection()); assertTrue(config.isEnabledXsrfProtection());
assertEquals("username", config.getDefaultNamespaceStrategy()); assertEquals("username", config.getNamespaceStrategy());
} }
private ConfigDto createDefaultDto() { private ConfigDto createDefaultDto() {
@@ -76,7 +76,7 @@ public class ConfigDtoToScmConfigurationMapperTest {
configDto.setPluginUrl("https://plug.ins"); configDto.setPluginUrl("https://plug.ins");
configDto.setLoginAttemptLimitTimeout(40); configDto.setLoginAttemptLimitTimeout(40);
configDto.setEnabledXsrfProtection(true); configDto.setEnabledXsrfProtection(true);
configDto.setDefaultNamespaceStrategy("username"); configDto.setNamespaceStrategy("username");
return configDto; return configDto;
} }

View File

@@ -81,7 +81,7 @@ public class ScmConfigurationToConfigDtoMapperTest {
assertEquals("pluginurl" , dto.getPluginUrl()); assertEquals("pluginurl" , dto.getPluginUrl());
assertEquals(2 , dto.getLoginAttemptLimitTimeout()); assertEquals(2 , dto.getLoginAttemptLimitTimeout());
assertTrue(dto.isEnabledXsrfProtection()); assertTrue(dto.isEnabledXsrfProtection());
assertEquals("username", dto.getDefaultNamespaceStrategy()); assertEquals("username", dto.getNamespaceStrategy());
assertEquals(expectedBaseUri.toString(), dto.getLinks().getLinkBy("self").get().getHref()); assertEquals(expectedBaseUri.toString(), dto.getLinks().getLinkBy("self").get().getHref());
assertEquals(expectedBaseUri.toString(), dto.getLinks().getLinkBy("update").get().getHref()); assertEquals(expectedBaseUri.toString(), dto.getLinks().getLinkBy("update").get().getHref());
@@ -121,7 +121,7 @@ public class ScmConfigurationToConfigDtoMapperTest {
config.setPluginUrl("pluginurl"); config.setPluginUrl("pluginurl");
config.setLoginAttemptLimitTimeout(2); config.setLoginAttemptLimitTimeout(2);
config.setEnabledXsrfProtection(true); config.setEnabledXsrfProtection(true);
config.setDefaultNamespaceStrategy("username"); config.setNamespaceStrategy("username");
return config; return config;
} }

View File

@@ -17,7 +17,7 @@ class NamespaceStrategyProviderTest {
Set<NamespaceStrategy> strategies = allStrategiesAsSet(); Set<NamespaceStrategy> strategies = allStrategiesAsSet();
ScmConfiguration configuration = new ScmConfiguration(); ScmConfiguration configuration = new ScmConfiguration();
configuration.setDefaultNamespaceStrategy("Arthur"); configuration.setNamespaceStrategy("Arthur");
NamespaceStrategyProvider provider = new NamespaceStrategyProvider(strategies, configuration); NamespaceStrategyProvider provider = new NamespaceStrategyProvider(strategies, configuration);
NamespaceStrategy strategy = provider.get(); NamespaceStrategy strategy = provider.get();
@@ -30,7 +30,7 @@ class NamespaceStrategyProviderTest {
Set<NamespaceStrategy> strategies = Collections.emptySet(); Set<NamespaceStrategy> strategies = Collections.emptySet();
ScmConfiguration configuration = new ScmConfiguration(); ScmConfiguration configuration = new ScmConfiguration();
configuration.setDefaultNamespaceStrategy("Arthur"); configuration.setNamespaceStrategy("Arthur");
NamespaceStrategyProvider provider = new NamespaceStrategyProvider(strategies, configuration); NamespaceStrategyProvider provider = new NamespaceStrategyProvider(strategies, configuration);
NamespaceStrategy strategy = provider.get(); NamespaceStrategy strategy = provider.get();