@@ -22,6 +22,9 @@ package org.apache.archiva.configuration; | |||
import org.apache.archiva.redback.components.registry.RegistryException; | |||
import org.apache.archiva.redback.components.registry.RegistryListener; | |||
import java.util.List; | |||
import java.util.Locale; | |||
/** | |||
* Configuration holder for the model read from the registry. | |||
*/ | |||
@@ -85,5 +88,9 @@ public interface ArchivaConfiguration | |||
* @since 1.4-M1 | |||
*/ | |||
void reload(); | |||
public Locale getDefaultLocale(); | |||
public List<Locale.LanguageRange> getLanguagePriorities(); | |||
} | |||
@@ -63,6 +63,7 @@ import java.util.HashMap; | |||
import java.util.HashSet; | |||
import java.util.Iterator; | |||
import java.util.List; | |||
import java.util.Locale; | |||
import java.util.Map; | |||
import java.util.Map.Entry; | |||
import java.util.Set; | |||
@@ -169,6 +170,15 @@ public class DefaultArchivaConfiguration | |||
// Section used for default only configuration | |||
private static final String KEY_DEFAULT_ONLY = "org.apache.archiva_default"; | |||
private Locale defaultLocale = Locale.getDefault(); | |||
private List<Locale.LanguageRange> languagePriorities = new ArrayList<>( ); | |||
@PostConstruct | |||
private void init() { | |||
languagePriorities = Locale.LanguageRange.parse( "en,fr,de" ); | |||
} | |||
@Override | |||
public Configuration getConfiguration() | |||
{ | |||
@@ -341,8 +351,8 @@ public class DefaultArchivaConfiguration | |||
} | |||
} | |||
this.defaultLocale = Locale.forLanguageTag( config.getArchivaRuntimeConfiguration().getDefaultLanguage() ); | |||
this.languagePriorities = Locale.LanguageRange.parse(config.getArchivaRuntimeConfiguration().getLanguageRange()); | |||
return config; | |||
} | |||
@@ -869,6 +879,18 @@ public class DefaultArchivaConfiguration | |||
this.initialize(); | |||
} | |||
@Override | |||
public Locale getDefaultLocale( ) | |||
{ | |||
return defaultLocale; | |||
} | |||
@Override | |||
public List<Locale.LanguageRange> getLanguagePriorities( ) | |||
{ | |||
return languagePriorities; | |||
} | |||
@Override | |||
public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue ) | |||
{ |
@@ -465,6 +465,7 @@ | |||
<name>indexDir</name> | |||
<version>1.0.0+</version> | |||
<type>String</type> | |||
<defaultValue></defaultValue> | |||
<description> | |||
The directory for the indexes of this repository. | |||
</description> | |||
@@ -473,6 +474,7 @@ | |||
<name>description</name> | |||
<version>1.0.0+</version> | |||
<type>String</type> | |||
<defaultValue></defaultValue> | |||
<description> | |||
The description of this repository. | |||
</description> | |||
@@ -1544,6 +1546,18 @@ | |||
<type>String</type> | |||
<required>false</required> | |||
</field> | |||
<field> | |||
<name>defaultLanguage</name> | |||
<type>String</type> | |||
<version>3.0.0+</version> | |||
<description>The default language used for setting internationalized strings.</description> | |||
</field> | |||
<field> | |||
<name>languageRange</name> | |||
<type>String</type> | |||
<version>3.0.0+</version> | |||
<description>Comma separated list of language patterns. Sorted by priority descending. Used for display of internationalized strings.</description> | |||
</field> | |||
</fields> | |||
</class> | |||