Browse Source

Adding language settings to configuration

pull/46/head
Martin Stockhammer 6 years ago
parent
commit
89f7aa3416

+ 7
- 0
archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/ArchivaConfiguration.java View File

@@ -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();
}


+ 24
- 2
archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/DefaultArchivaConfiguration.java View File

@@ -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 )
{

+ 14
- 0
archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo View File

@@ -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>


Loading…
Cancel
Save