Browse Source

addressed review feedback

pull/1385/head
Evan Lennick 7 years ago
parent
commit
011bf8adb8
  1. 39
      openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java
  2. 27
      openid-connect-server/src/test/java/org/mitre/openid/connect/config/TestJsonMessageSource.java

39
openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java

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

27
openid-connect-server/src/test/java/org/mitre/openid/connect/config/TestJsonMessageSource.java

@ -1,49 +1,40 @@
package org.mitre.openid.connect.config;
import com.google.gson.JsonObject;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Spy;
import org.mockito.runners.MockitoJUnitRunner;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import java.text.MessageFormat;
import java.util.List;
import java.util.Locale;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
@RunWith(MockitoJUnitRunner.class)
public class TestJsonMessageSource {
@InjectMocks
private JsonMessageSource jsonMessageSource;
@Spy
private ConfigurationPropertiesBean config;
private Locale localeThatHasAFile = new Locale("en");
private Locale localeThatDoesNotHaveAFile = new Locale("xx");
@Before
public void setup() {
ConfigurationPropertiesBean config = new ConfigurationPropertiesBean();
jsonMessageSource = new JsonMessageSource(config);
//test message files are located in test/resources/js/locale/
Resource resource = new ClassPathResource("/resources/js/locale/");
jsonMessageSource.setBaseDirectory(resource);
}
@Test
public void verifyWhenLocaleExists_languageMapIsLoaded() {
List<JsonObject> languageMap = jsonMessageSource.getLanguageMap(localeThatHasAFile);
assertNotNull(languageMap);
}
@Test
public void verifyWhenLocaleDoesNotExist_languageMapIsNotLoaded() {
List<JsonObject> languageMap = jsonMessageSource.getLanguageMap(localeThatDoesNotHaveAFile);
assertNull(languageMap);
}
@Test
public void verifyWhenLocaleExists_canResolveCode() {
MessageFormat mf = jsonMessageSource.resolveCode("testAttribute", localeThatHasAFile);

Loading…
Cancel
Save