mirror of
https://github.com/keycloak/keycloak.git
synced 2026-02-09 16:58:58 -06:00
removed java 8 dependency
This commit is contained in:
@@ -94,11 +94,20 @@ public class LocaleHelper {
|
||||
builder.cookie(new NewCookie(LocaleHelper.LOCALE_COOKIE, locale.toLanguageTag(), path, null, null, 31536000, secure));
|
||||
}
|
||||
|
||||
private static Locale findLocale(String localeString, Set<String> supportedLocales) {
|
||||
List<Locale> locales = new ArrayList<Locale>();
|
||||
for(String l : supportedLocales) {
|
||||
locales.add(Locale.forLanguageTag(l));
|
||||
public static Locale findLocale(String localeString, Set<String> supportedLocales) {
|
||||
Locale result = null;
|
||||
Locale search = Locale.forLanguageTag(localeString);
|
||||
for(String languageTag : supportedLocales) {
|
||||
Locale locale = Locale.forLanguageTag(languageTag);
|
||||
if(locale.getLanguage().equals(search.getLanguage())){
|
||||
if(locale.getCountry().equals("") && result == null){
|
||||
result = locale;
|
||||
}
|
||||
if(locale.getCountry().equals(search.getCountry())){
|
||||
return locale;
|
||||
}
|
||||
}
|
||||
}
|
||||
return Locale.lookup(Locale.LanguageRange.parse(localeString),locales);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package org.keycloak.freemarke;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.keycloak.freemarker.LocaleHelper;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:gerbermichi@me.com">Michael Gerber</a>
|
||||
*/
|
||||
public class LocaleHelperTest {
|
||||
@Test
|
||||
public void findLocaleTest(){
|
||||
Assert.assertEquals("de", LocaleHelper.findLocale("de", new HashSet<>(Arrays.asList("de","en"))).toLanguageTag());
|
||||
Assert.assertEquals("en", LocaleHelper.findLocale("en", new HashSet<>(Arrays.asList("de","en"))).toLanguageTag());
|
||||
Assert.assertEquals("de", LocaleHelper.findLocale("de-CH", new HashSet<>(Arrays.asList("de","en"))).toLanguageTag());
|
||||
Assert.assertEquals("de-CH", LocaleHelper.findLocale("de-CH", new HashSet<>(Arrays.asList("de","de-CH","de-DE"))).toLanguageTag());
|
||||
Assert.assertEquals("de-DE", LocaleHelper.findLocale("de-DE", new HashSet<>(Arrays.asList("de","de-CH","de-DE"))).toLanguageTag());
|
||||
Assert.assertEquals("de", LocaleHelper.findLocale("de", new HashSet<>(Arrays.asList("de","de-CH","de-DE"))).toLanguageTag());
|
||||
Assert.assertNull(LocaleHelper.findLocale("de", new HashSet<>(Arrays.asList("de-CH","de-DE"))));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user