|
|
|
@ -16,6 +16,18 @@
|
|
|
|
|
|
|
|
|
|
package org.mitre.openid.connect.config; |
|
|
|
|
|
|
|
|
|
import com.google.common.base.Splitter; |
|
|
|
|
import com.google.gson.JsonElement; |
|
|
|
|
import com.google.gson.JsonIOException; |
|
|
|
|
import com.google.gson.JsonObject; |
|
|
|
|
import com.google.gson.JsonParser; |
|
|
|
|
import com.google.gson.JsonSyntaxException; |
|
|
|
|
import org.slf4j.Logger; |
|
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.context.support.AbstractMessageSource; |
|
|
|
|
import org.springframework.core.io.Resource; |
|
|
|
|
|
|
|
|
|
import java.io.File; |
|
|
|
|
import java.io.FileNotFoundException; |
|
|
|
|
import java.io.IOException; |
|
|
|
@ -28,19 +40,6 @@ import java.util.List;
|
|
|
|
|
import java.util.Locale; |
|
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
|
import org.slf4j.Logger; |
|
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.context.support.AbstractMessageSource; |
|
|
|
|
import org.springframework.core.io.Resource; |
|
|
|
|
|
|
|
|
|
import com.google.common.base.Splitter; |
|
|
|
|
import com.google.gson.JsonElement; |
|
|
|
|
import com.google.gson.JsonIOException; |
|
|
|
|
import com.google.gson.JsonObject; |
|
|
|
|
import com.google.gson.JsonParser; |
|
|
|
|
import com.google.gson.JsonSyntaxException; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author jricher |
|
|
|
|
*/ |
|
|
|
@ -54,12 +53,8 @@ public class JsonMessageSource extends AbstractMessageSource {
|
|
|
|
|
|
|
|
|
|
private Map<Locale, List<JsonObject>> languageMaps = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
private ConfigurationPropertiesBean config; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
public JsonMessageSource(ConfigurationPropertiesBean config) { |
|
|
|
|
this.config = config; |
|
|
|
|
} |
|
|
|
|
private ConfigurationPropertiesBean config; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected MessageFormat resolveCode(String code, Locale locale) { |
|
|
|
@ -86,9 +81,6 @@ public class JsonMessageSource extends AbstractMessageSource {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Get a value from the set of maps, taking the first match in order |
|
|
|
|
* @param code |
|
|
|
|
* @param langs |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private String getValue(String code, List<JsonObject> langs) { |
|
|
|
|
if (langs == null || langs.isEmpty()) { |
|
|
|
@ -110,9 +102,6 @@ public class JsonMessageSource extends AbstractMessageSource {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Get a value from a single map |
|
|
|
|
* @param code |
|
|
|
|
* @param lang |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private String getValue(String code, JsonObject lang) { |
|
|
|
|
|
|
|
|
@ -157,7 +146,7 @@ public class JsonMessageSource extends AbstractMessageSource {
|
|
|
|
|
* @param locale |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
List<JsonObject> getLanguageMap(Locale locale) { |
|
|
|
|
private List<JsonObject> getLanguageMap(Locale locale) { |
|
|
|
|
|
|
|
|
|
if (!languageMaps.containsKey(locale)) { |
|
|
|
|
try { |
|
|
|
|