use simplename of namespace strategy, to simplify i18n

This commit is contained in:
Sebastian Sdorra
2019-03-11 14:46:35 +01:00
parent 3660ac9fd2
commit d31ef73b88
7 changed files with 95 additions and 8 deletions

View File

@@ -185,7 +185,7 @@ public class ScmConfiguration implements Configuration {
private boolean enabledXsrfProtection = true;
@XmlElement(name = "default-namespace-strategy")
private String defaultNamespaceStrategy = "sonia.scm.repository.UsernameNamespaceStrategy";
private String defaultNamespaceStrategy = "UsernameNamespaceStrategy";
/**

View File

@@ -1,32 +0,0 @@
package sonia.scm.repository;
import sonia.scm.config.ScmConfiguration;
import javax.inject.Inject;
import javax.inject.Provider;
import java.util.Set;
public class NamespaceStrategyProvider implements Provider<NamespaceStrategy> {
private final Set<NamespaceStrategy> strategies;
private final ScmConfiguration scmConfiguration;
@Inject
public NamespaceStrategyProvider(Set<NamespaceStrategy> strategies, ScmConfiguration scmConfiguration) {
this.strategies = strategies;
this.scmConfiguration = scmConfiguration;
}
@Override
public NamespaceStrategy get() {
String namespaceStrategy = scmConfiguration.getDefaultNamespaceStrategy();
for (NamespaceStrategy s : this.strategies) {
if (s.getClass().getCanonicalName().equals(namespaceStrategy)) {
return s;
}
}
return null;
}
}