update mapper to new data structure
This commit is contained in:
parent
7ad19741b4
commit
c348ea7d78
@ -4,8 +4,8 @@ import com.google.gson.JsonElement;
|
|||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.JsonPrimitive;
|
import com.google.gson.JsonPrimitive;
|
||||||
|
|
||||||
import de.marhali.easyi18n.model.Translation;
|
|
||||||
import de.marhali.easyi18n.model.TranslationNode;
|
import de.marhali.easyi18n.model.TranslationNode;
|
||||||
|
import de.marhali.easyi18n.model.TranslationValue;
|
||||||
import de.marhali.easyi18n.util.StringUtil;
|
import de.marhali.easyi18n.util.StringUtil;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringEscapeUtils;
|
import org.apache.commons.lang.StringEscapeUtils;
|
||||||
@ -30,7 +30,7 @@ public class JsonMapper {
|
|||||||
// Nested element - run recursively
|
// Nested element - run recursively
|
||||||
read(locale, value.getAsJsonObject(), childNode);
|
read(locale, value.getAsJsonObject(), childNode);
|
||||||
} else {
|
} else {
|
||||||
Translation translation = childNode.getValue();
|
TranslationValue translation = childNode.getValue();
|
||||||
|
|
||||||
String content = entry.getValue().isJsonArray()
|
String content = entry.getValue().isJsonArray()
|
||||||
? JsonArrayMapper.read(value.getAsJsonArray())
|
? JsonArrayMapper.read(value.getAsJsonArray())
|
||||||
@ -55,7 +55,7 @@ public class JsonMapper {
|
|||||||
json.add(key, childJson);
|
json.add(key, childJson);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Translation translation = childNode.getValue();
|
TranslationValue translation = childNode.getValue();
|
||||||
String content = translation.get(locale);
|
String content = translation.get(locale);
|
||||||
|
|
||||||
if(content != null) {
|
if(content != null) {
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
package de.marhali.easyi18n.io.parser.json5;
|
package de.marhali.easyi18n.io.parser.json5;
|
||||||
|
|
||||||
import de.marhali.easyi18n.model.Translation;
|
|
||||||
import de.marhali.easyi18n.model.TranslationNode;
|
import de.marhali.easyi18n.model.TranslationNode;
|
||||||
|
import de.marhali.easyi18n.model.TranslationValue;
|
||||||
import de.marhali.easyi18n.util.StringUtil;
|
import de.marhali.easyi18n.util.StringUtil;
|
||||||
|
|
||||||
import de.marhali.json5.Json5Element;
|
import de.marhali.json5.Json5Element;
|
||||||
import de.marhali.json5.Json5Object;
|
import de.marhali.json5.Json5Object;
|
||||||
import de.marhali.json5.Json5Primitive;
|
import de.marhali.json5.Json5Primitive;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringEscapeUtils;
|
import org.apache.commons.lang.StringEscapeUtils;
|
||||||
import org.apache.commons.lang.math.NumberUtils;
|
import org.apache.commons.lang.math.NumberUtils;
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ public class Json5Mapper {
|
|||||||
// Nested element - run recursively
|
// Nested element - run recursively
|
||||||
read(locale, value.getAsJson5Object(), childNode);
|
read(locale, value.getAsJson5Object(), childNode);
|
||||||
} else {
|
} else {
|
||||||
Translation translation = childNode.getValue();
|
TranslationValue translation = childNode.getValue();
|
||||||
|
|
||||||
String content = value.isJson5Array()
|
String content = value.isJson5Array()
|
||||||
? Json5ArrayMapper.read(value.getAsJson5Array())
|
? Json5ArrayMapper.read(value.getAsJson5Array())
|
||||||
@ -54,7 +54,7 @@ public class Json5Mapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Translation translation = childNode.getValue();
|
TranslationValue translation = childNode.getValue();
|
||||||
String content = translation.get(locale);
|
String content = translation.get(locale);
|
||||||
if(content != null) {
|
if(content != null) {
|
||||||
if(Json5ArrayMapper.isArray(content)) {
|
if(Json5ArrayMapper.isArray(content)) {
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
package de.marhali.easyi18n.io.parser.properties;
|
package de.marhali.easyi18n.io.parser.properties;
|
||||||
|
|
||||||
import de.marhali.easyi18n.model.KeyPath;
|
|
||||||
import de.marhali.easyi18n.model.Translation;
|
|
||||||
import de.marhali.easyi18n.model.TranslationData;
|
import de.marhali.easyi18n.model.TranslationData;
|
||||||
|
import de.marhali.easyi18n.model.KeyPath;
|
||||||
|
import de.marhali.easyi18n.model.TranslationValue;
|
||||||
|
import de.marhali.easyi18n.util.KeyPathConverter;
|
||||||
import de.marhali.easyi18n.util.StringUtil;
|
import de.marhali.easyi18n.util.StringUtil;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringEscapeUtils;
|
import org.apache.commons.lang.StringEscapeUtils;
|
||||||
@ -16,15 +17,17 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
public class PropertiesMapper {
|
public class PropertiesMapper {
|
||||||
|
|
||||||
public static void read(String locale, SortableProperties properties, TranslationData data) {
|
public static void read(String locale, SortableProperties properties,
|
||||||
|
TranslationData data, KeyPathConverter converter) {
|
||||||
|
|
||||||
for(Map.Entry<Object, Object> entry : properties.entrySet()) {
|
for(Map.Entry<Object, Object> entry : properties.entrySet()) {
|
||||||
KeyPath key = new KeyPath(String.valueOf(entry.getKey()));
|
KeyPath key = converter.fromString(String.valueOf(entry.getKey()));
|
||||||
Object value = entry.getValue();
|
Object value = entry.getValue();
|
||||||
|
|
||||||
Translation translation = data.getTranslation(key);
|
TranslationValue translation = data.getTranslation(key);
|
||||||
|
|
||||||
if(translation == null) {
|
if(translation == null) {
|
||||||
translation = new Translation();
|
translation = new TranslationValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
String content = value instanceof String[]
|
String content = value instanceof String[]
|
||||||
@ -36,12 +39,14 @@ public class PropertiesMapper {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void write(String locale, SortableProperties properties, TranslationData data) {
|
public static void write(String locale, SortableProperties properties,
|
||||||
for(KeyPath key : data.getFullKeys()) {
|
TranslationData data, KeyPathConverter converter) {
|
||||||
Translation translation = data.getTranslation(key);
|
|
||||||
|
|
||||||
if(translation != null && translation.containsKey(locale)) {
|
for(KeyPath key : data.getFullKeys()) {
|
||||||
String simpleKey = key.toSimpleString();
|
TranslationValue translation = data.getTranslation(key);
|
||||||
|
|
||||||
|
if(translation != null && translation.containsLocale(locale)) {
|
||||||
|
String simpleKey = converter.toString(key);
|
||||||
String content = translation.get(locale);
|
String content = translation.get(locale);
|
||||||
|
|
||||||
if(PropertiesArrayMapper.isArray(content)) {
|
if(PropertiesArrayMapper.isArray(content)) {
|
||||||
|
@ -7,6 +7,7 @@ import de.marhali.easyi18n.model.TranslationData;
|
|||||||
import de.marhali.easyi18n.model.TranslationFile;
|
import de.marhali.easyi18n.model.TranslationFile;
|
||||||
import de.marhali.easyi18n.model.TranslationNode;
|
import de.marhali.easyi18n.model.TranslationNode;
|
||||||
import de.marhali.easyi18n.settings.ProjectSettings;
|
import de.marhali.easyi18n.settings.ProjectSettings;
|
||||||
|
import de.marhali.easyi18n.util.KeyPathConverter;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@ -20,8 +21,11 @@ import java.io.StringWriter;
|
|||||||
*/
|
*/
|
||||||
public class PropertiesParserStrategy extends ParserStrategy {
|
public class PropertiesParserStrategy extends ParserStrategy {
|
||||||
|
|
||||||
|
private final @NotNull KeyPathConverter converter;
|
||||||
|
|
||||||
public PropertiesParserStrategy(@NotNull ProjectSettings settings) {
|
public PropertiesParserStrategy(@NotNull ProjectSettings settings) {
|
||||||
super(settings);
|
super(settings);
|
||||||
|
this.converter = new KeyPathConverter(settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -35,7 +39,7 @@ public class PropertiesParserStrategy extends ParserStrategy {
|
|||||||
try(Reader reader = new InputStreamReader(vf.getInputStream(), vf.getCharset())) {
|
try(Reader reader = new InputStreamReader(vf.getInputStream(), vf.getCharset())) {
|
||||||
SortableProperties input = new SortableProperties(this.settings.isSorting());
|
SortableProperties input = new SortableProperties(this.settings.isSorting());
|
||||||
input.load(reader);
|
input.load(reader);
|
||||||
PropertiesMapper.read(file.getLocale(), input, targetData);
|
PropertiesMapper.read(file.getLocale(), input, targetData, converter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,7 +49,7 @@ public class PropertiesParserStrategy extends ParserStrategy {
|
|||||||
TranslationData targetData = new TranslationData(data.getLocales(), targetNode);
|
TranslationData targetData = new TranslationData(data.getLocales(), targetNode);
|
||||||
|
|
||||||
SortableProperties output = new SortableProperties(this.settings.isSorting());
|
SortableProperties output = new SortableProperties(this.settings.isSorting());
|
||||||
PropertiesMapper.write(file.getLocale(), output, targetData);
|
PropertiesMapper.write(file.getLocale(), output, targetData, converter);
|
||||||
|
|
||||||
try(StringWriter writer = new StringWriter()) {
|
try(StringWriter writer = new StringWriter()) {
|
||||||
output.store(writer, null);
|
output.store(writer, null);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package de.marhali.easyi18n.io.parser.yaml;
|
package de.marhali.easyi18n.io.parser.yaml;
|
||||||
|
|
||||||
import de.marhali.easyi18n.model.Translation;
|
|
||||||
import de.marhali.easyi18n.model.TranslationNode;
|
import de.marhali.easyi18n.model.TranslationNode;
|
||||||
|
import de.marhali.easyi18n.model.TranslationValue;
|
||||||
import de.marhali.easyi18n.util.StringUtil;
|
import de.marhali.easyi18n.util.StringUtil;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringEscapeUtils;
|
import org.apache.commons.lang.StringEscapeUtils;
|
||||||
@ -28,7 +28,7 @@ public class YamlMapper {
|
|||||||
// Nested element - run recursively
|
// Nested element - run recursively
|
||||||
read(locale, (MapSection) value, childNode);
|
read(locale, (MapSection) value, childNode);
|
||||||
} else {
|
} else {
|
||||||
Translation translation = childNode.getValue();
|
TranslationValue translation = childNode.getValue();
|
||||||
|
|
||||||
String content = value instanceof ListSection
|
String content = value instanceof ListSection
|
||||||
? YamlArrayMapper.read((ListSection) value)
|
? YamlArrayMapper.read((ListSection) value)
|
||||||
@ -53,7 +53,7 @@ public class YamlMapper {
|
|||||||
section.setInScope(key, childSection);
|
section.setInScope(key, childSection);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Translation translation = childNode.getValue();
|
TranslationValue translation = childNode.getValue();
|
||||||
String content = translation.get(locale);
|
String content = translation.get(locale);
|
||||||
|
|
||||||
if(content != null) {
|
if(content != null) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package de.marhali.easyi18n.mapper;
|
package de.marhali.easyi18n.mapper;
|
||||||
|
|
||||||
import de.marhali.easyi18n.model.Translation;
|
import de.marhali.easyi18n.model.TranslationValue;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ public abstract class AbstractMapperTest {
|
|||||||
@Test
|
@Test
|
||||||
public abstract void testNumbers();
|
public abstract void testNumbers();
|
||||||
|
|
||||||
protected Translation create(String content) {
|
protected TranslationValue create(String content) {
|
||||||
return new Translation("en", content);
|
return new TranslationValue("en", content);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,8 +3,8 @@ package de.marhali.easyi18n.mapper;
|
|||||||
import de.marhali.easyi18n.io.parser.json.JsonArrayMapper;
|
import de.marhali.easyi18n.io.parser.json.JsonArrayMapper;
|
||||||
import de.marhali.easyi18n.io.parser.json5.Json5ArrayMapper;
|
import de.marhali.easyi18n.io.parser.json5.Json5ArrayMapper;
|
||||||
import de.marhali.easyi18n.io.parser.json5.Json5Mapper;
|
import de.marhali.easyi18n.io.parser.json5.Json5Mapper;
|
||||||
import de.marhali.easyi18n.model.KeyPath;
|
|
||||||
import de.marhali.easyi18n.model.TranslationData;
|
import de.marhali.easyi18n.model.TranslationData;
|
||||||
|
import de.marhali.easyi18n.model.KeyPath;
|
||||||
import de.marhali.json5.Json5Object;
|
import de.marhali.json5.Json5Object;
|
||||||
import de.marhali.json5.Json5Primitive;
|
import de.marhali.json5.Json5Primitive;
|
||||||
|
|
||||||
@ -58,8 +58,8 @@ public class Json5MapperTest extends AbstractMapperTest {
|
|||||||
@Override
|
@Override
|
||||||
public void testArrays() {
|
public void testArrays() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("simple"), create(arraySimple));
|
data.setTranslation(new KeyPath("simple"), create(arraySimple));
|
||||||
data.setTranslation(KeyPath.of("escaped"), create(arrayEscaped));
|
data.setTranslation(new KeyPath("escaped"), create(arrayEscaped));
|
||||||
|
|
||||||
Json5Object output = new Json5Object();
|
Json5Object output = new Json5Object();
|
||||||
Json5Mapper.write("en", output, data.getRootNode());
|
Json5Mapper.write("en", output, data.getRootNode());
|
||||||
@ -72,14 +72,14 @@ public class Json5MapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
Json5Mapper.read("en", output, input.getRootNode());
|
Json5Mapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertTrue(JsonArrayMapper.isArray(input.getTranslation(KeyPath.of("simple")).get("en")));
|
Assert.assertTrue(JsonArrayMapper.isArray(input.getTranslation(new KeyPath("simple")).get("en")));
|
||||||
Assert.assertTrue(JsonArrayMapper.isArray(input.getTranslation(KeyPath.of("escaped")).get("en")));
|
Assert.assertTrue(JsonArrayMapper.isArray(input.getTranslation(new KeyPath("escaped")).get("en")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testSpecialCharacters() {
|
public void testSpecialCharacters() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("chars"), create(specialCharacters));
|
data.setTranslation(new KeyPath("chars"), create(specialCharacters));
|
||||||
|
|
||||||
Json5Object output = new Json5Object();
|
Json5Object output = new Json5Object();
|
||||||
Json5Mapper.write("en", output, data.getRootNode());
|
Json5Mapper.write("en", output, data.getRootNode());
|
||||||
@ -90,13 +90,13 @@ public class Json5MapperTest extends AbstractMapperTest {
|
|||||||
Json5Mapper.read("en", output, input.getRootNode());
|
Json5Mapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals(specialCharacters,
|
Assert.assertEquals(specialCharacters,
|
||||||
StringEscapeUtils.unescapeJava(input.getTranslation(KeyPath.of("chars")).get("en")));
|
StringEscapeUtils.unescapeJava(input.getTranslation(new KeyPath("chars")).get("en")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNestedKeys() {
|
public void testNestedKeys() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("nested", "key", "section"), create("test"));
|
data.setTranslation(new KeyPath("nested", "key", "section"), create("test"));
|
||||||
|
|
||||||
Json5Object output = new Json5Object();
|
Json5Object output = new Json5Object();
|
||||||
Json5Mapper.write("en", output, data.getRootNode());
|
Json5Mapper.write("en", output, data.getRootNode());
|
||||||
@ -106,13 +106,13 @@ public class Json5MapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
Json5Mapper.read("en", output, input.getRootNode());
|
Json5Mapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals("test", input.getTranslation(KeyPath.of("nested", "key", "section")).get("en"));
|
Assert.assertEquals("test", input.getTranslation(new KeyPath("nested", "key", "section")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNonNestedKeys() {
|
public void testNonNestedKeys() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("long.key.with.many.sections"), create("test"));
|
data.setTranslation(new KeyPath("long.key.with.many.sections"), create("test"));
|
||||||
|
|
||||||
Json5Object output = new Json5Object();
|
Json5Object output = new Json5Object();
|
||||||
Json5Mapper.write("en", output, data.getRootNode());
|
Json5Mapper.write("en", output, data.getRootNode());
|
||||||
@ -122,13 +122,13 @@ public class Json5MapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
Json5Mapper.read("en", output, input.getRootNode());
|
Json5Mapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals("test", input.getTranslation(KeyPath.of("long.key.with.many.sections")).get("en"));
|
Assert.assertEquals("test", input.getTranslation(new KeyPath("long.key.with.many.sections")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testLeadingSpace() {
|
public void testLeadingSpace() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("space"), create(leadingSpace));
|
data.setTranslation(new KeyPath("space"), create(leadingSpace));
|
||||||
|
|
||||||
Json5Object output = new Json5Object();
|
Json5Object output = new Json5Object();
|
||||||
Json5Mapper.write("en", output, data.getRootNode());
|
Json5Mapper.write("en", output, data.getRootNode());
|
||||||
@ -138,13 +138,13 @@ public class Json5MapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
Json5Mapper.read("en", output, input.getRootNode());
|
Json5Mapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals(leadingSpace, input.getTranslation(KeyPath.of("space")).get("en"));
|
Assert.assertEquals(leadingSpace, input.getTranslation(new KeyPath("space")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNumbers() {
|
public void testNumbers() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("numbered"), create("15000"));
|
data.setTranslation(new KeyPath("numbered"), create("15000"));
|
||||||
|
|
||||||
Json5Object output = new Json5Object();
|
Json5Object output = new Json5Object();
|
||||||
Json5Mapper.write("en", output, data.getRootNode());
|
Json5Mapper.write("en", output, data.getRootNode());
|
||||||
@ -155,6 +155,6 @@ public class Json5MapperTest extends AbstractMapperTest {
|
|||||||
input.addProperty("numbered", 143.23);
|
input.addProperty("numbered", 143.23);
|
||||||
Json5Mapper.read("en", input, data.getRootNode());
|
Json5Mapper.read("en", input, data.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals("143.23", data.getTranslation(KeyPath.of("numbered")).get("en"));
|
Assert.assertEquals("143.23", data.getTranslation(new KeyPath("numbered")).get("en"));
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,9 +6,9 @@ import com.google.gson.JsonPrimitive;
|
|||||||
|
|
||||||
import de.marhali.easyi18n.io.parser.json.JsonArrayMapper;
|
import de.marhali.easyi18n.io.parser.json.JsonArrayMapper;
|
||||||
import de.marhali.easyi18n.io.parser.json.JsonMapper;
|
import de.marhali.easyi18n.io.parser.json.JsonMapper;
|
||||||
import de.marhali.easyi18n.model.KeyPath;
|
|
||||||
import de.marhali.easyi18n.model.TranslationData;
|
import de.marhali.easyi18n.model.TranslationData;
|
||||||
|
|
||||||
|
import de.marhali.easyi18n.model.KeyPath;
|
||||||
import org.apache.commons.lang.StringEscapeUtils;
|
import org.apache.commons.lang.StringEscapeUtils;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
|
|
||||||
@ -59,8 +59,8 @@ public class JsonMapperTest extends AbstractMapperTest {
|
|||||||
@Override
|
@Override
|
||||||
public void testArrays() {
|
public void testArrays() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("simple"), create(arraySimple));
|
data.setTranslation(new KeyPath("simple"), create(arraySimple));
|
||||||
data.setTranslation(KeyPath.of("escaped"), create(arrayEscaped));
|
data.setTranslation(new KeyPath("escaped"), create(arrayEscaped));
|
||||||
|
|
||||||
JsonObject output = new JsonObject();
|
JsonObject output = new JsonObject();
|
||||||
JsonMapper.write("en", output, data.getRootNode());
|
JsonMapper.write("en", output, data.getRootNode());
|
||||||
@ -73,14 +73,14 @@ public class JsonMapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
JsonMapper.read("en", output, input.getRootNode());
|
JsonMapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertTrue(JsonArrayMapper.isArray(input.getTranslation(KeyPath.of("simple")).get("en")));
|
Assert.assertTrue(JsonArrayMapper.isArray(input.getTranslation(new KeyPath("simple")).get("en")));
|
||||||
Assert.assertTrue(JsonArrayMapper.isArray(input.getTranslation(KeyPath.of("escaped")).get("en")));
|
Assert.assertTrue(JsonArrayMapper.isArray(input.getTranslation(new KeyPath("escaped")).get("en")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testSpecialCharacters() {
|
public void testSpecialCharacters() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("chars"), create(specialCharacters));
|
data.setTranslation(new KeyPath("chars"), create(specialCharacters));
|
||||||
|
|
||||||
JsonObject output = new JsonObject();
|
JsonObject output = new JsonObject();
|
||||||
JsonMapper.write("en", output, data.getRootNode());
|
JsonMapper.write("en", output, data.getRootNode());
|
||||||
@ -91,13 +91,13 @@ public class JsonMapperTest extends AbstractMapperTest {
|
|||||||
JsonMapper.read("en", output, input.getRootNode());
|
JsonMapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals(specialCharacters,
|
Assert.assertEquals(specialCharacters,
|
||||||
StringEscapeUtils.unescapeJava(input.getTranslation(KeyPath.of("chars")).get("en")));
|
StringEscapeUtils.unescapeJava(input.getTranslation(new KeyPath("chars")).get("en")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNestedKeys() {
|
public void testNestedKeys() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("nested", "key", "section"), create("test"));
|
data.setTranslation(new KeyPath("nested", "key", "section"), create("test"));
|
||||||
|
|
||||||
JsonObject output = new JsonObject();
|
JsonObject output = new JsonObject();
|
||||||
JsonMapper.write("en", output, data.getRootNode());
|
JsonMapper.write("en", output, data.getRootNode());
|
||||||
@ -107,13 +107,13 @@ public class JsonMapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
JsonMapper.read("en", output, input.getRootNode());
|
JsonMapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals("test", input.getTranslation(KeyPath.of("nested", "key", "section")).get("en"));
|
Assert.assertEquals("test", input.getTranslation(new KeyPath("nested", "key", "section")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNonNestedKeys() {
|
public void testNonNestedKeys() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("long.key.with.many.sections"), create("test"));
|
data.setTranslation(new KeyPath("long.key.with.many.sections"), create("test"));
|
||||||
|
|
||||||
JsonObject output = new JsonObject();
|
JsonObject output = new JsonObject();
|
||||||
JsonMapper.write("en", output, data.getRootNode());
|
JsonMapper.write("en", output, data.getRootNode());
|
||||||
@ -123,13 +123,13 @@ public class JsonMapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
JsonMapper.read("en", output, input.getRootNode());
|
JsonMapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals("test", input.getTranslation(KeyPath.of("long.key.with.many.sections")).get("en"));
|
Assert.assertEquals("test", input.getTranslation(new KeyPath("long.key.with.many.sections")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testLeadingSpace() {
|
public void testLeadingSpace() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("space"), create(leadingSpace));
|
data.setTranslation(new KeyPath("space"), create(leadingSpace));
|
||||||
|
|
||||||
JsonObject output = new JsonObject();
|
JsonObject output = new JsonObject();
|
||||||
JsonMapper.write("en", output, data.getRootNode());
|
JsonMapper.write("en", output, data.getRootNode());
|
||||||
@ -139,13 +139,13 @@ public class JsonMapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
JsonMapper.read("en", output, input.getRootNode());
|
JsonMapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals(leadingSpace, input.getTranslation(KeyPath.of("space")).get("en"));
|
Assert.assertEquals(leadingSpace, input.getTranslation(new KeyPath("space")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNumbers() {
|
public void testNumbers() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("numbered"), create("15000"));
|
data.setTranslation(new KeyPath("numbered"), create("15000"));
|
||||||
|
|
||||||
JsonObject output = new JsonObject();
|
JsonObject output = new JsonObject();
|
||||||
JsonMapper.write("en", output, data.getRootNode());
|
JsonMapper.write("en", output, data.getRootNode());
|
||||||
@ -156,6 +156,6 @@ public class JsonMapperTest extends AbstractMapperTest {
|
|||||||
input.addProperty("numbered", 143.23);
|
input.addProperty("numbered", 143.23);
|
||||||
JsonMapper.read("en", input, data.getRootNode());
|
JsonMapper.read("en", input, data.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals("143.23", data.getTranslation(KeyPath.of("numbered")).get("en"));
|
Assert.assertEquals("143.23", data.getTranslation(new KeyPath("numbered")).get("en"));
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,12 +1,18 @@
|
|||||||
package de.marhali.easyi18n.mapper;
|
package de.marhali.easyi18n.mapper;
|
||||||
|
|
||||||
|
import de.marhali.easyi18n.io.folder.FolderStrategyType;
|
||||||
|
import de.marhali.easyi18n.io.parser.ParserStrategyType;
|
||||||
import de.marhali.easyi18n.io.parser.properties.PropertiesArrayMapper;
|
import de.marhali.easyi18n.io.parser.properties.PropertiesArrayMapper;
|
||||||
import de.marhali.easyi18n.io.parser.properties.PropertiesMapper;
|
import de.marhali.easyi18n.io.parser.properties.PropertiesMapper;
|
||||||
import de.marhali.easyi18n.io.parser.properties.SortableProperties;
|
import de.marhali.easyi18n.io.parser.properties.SortableProperties;
|
||||||
import de.marhali.easyi18n.model.KeyPath;
|
|
||||||
import de.marhali.easyi18n.model.TranslationData;
|
import de.marhali.easyi18n.model.TranslationData;
|
||||||
|
import de.marhali.easyi18n.model.KeyPath;
|
||||||
|
import de.marhali.easyi18n.settings.ProjectSettings;
|
||||||
|
import de.marhali.easyi18n.util.KeyPathConverter;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringEscapeUtils;
|
import org.apache.commons.lang.StringEscapeUtils;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@ -25,10 +31,10 @@ public class PropertiesMapperTest extends AbstractMapperTest {
|
|||||||
input.setProperty("bravo", "test");
|
input.setProperty("bravo", "test");
|
||||||
|
|
||||||
TranslationData data = new TranslationData(false);
|
TranslationData data = new TranslationData(false);
|
||||||
PropertiesMapper.read("en", input, data);
|
PropertiesMapper.read("en", input, data, converter(true));
|
||||||
|
|
||||||
SortableProperties output = new SortableProperties(false);
|
SortableProperties output = new SortableProperties(false);
|
||||||
PropertiesMapper.write("en", output, data);
|
PropertiesMapper.write("en", output, data, converter(true));
|
||||||
|
|
||||||
List<String> expect = Arrays.asList("zulu", "alpha", "bravo");
|
List<String> expect = Arrays.asList("zulu", "alpha", "bravo");
|
||||||
Assert.assertEquals(expect, new ArrayList<>(output.keySet()));
|
Assert.assertEquals(expect, new ArrayList<>(output.keySet()));
|
||||||
@ -42,10 +48,10 @@ public class PropertiesMapperTest extends AbstractMapperTest {
|
|||||||
input.setProperty("bravo", "test");
|
input.setProperty("bravo", "test");
|
||||||
|
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
PropertiesMapper.read("en", input, data);
|
PropertiesMapper.read("en", input, data, converter(true));
|
||||||
|
|
||||||
SortableProperties output = new SortableProperties(true);
|
SortableProperties output = new SortableProperties(true);
|
||||||
PropertiesMapper.write("en", output, data);
|
PropertiesMapper.write("en", output, data, converter(true));
|
||||||
|
|
||||||
List<String> expect = Arrays.asList("alpha", "bravo", "zulu");
|
List<String> expect = Arrays.asList("alpha", "bravo", "zulu");
|
||||||
Assert.assertEquals(expect, new ArrayList<>(output.keySet()));
|
Assert.assertEquals(expect, new ArrayList<>(output.keySet()));
|
||||||
@ -54,11 +60,11 @@ public class PropertiesMapperTest extends AbstractMapperTest {
|
|||||||
@Override
|
@Override
|
||||||
public void testArrays() {
|
public void testArrays() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("simple"), create(arraySimple));
|
data.setTranslation(new KeyPath("simple"), create(arraySimple));
|
||||||
data.setTranslation(KeyPath.of("escaped"), create(arrayEscaped));
|
data.setTranslation(new KeyPath("escaped"), create(arrayEscaped));
|
||||||
|
|
||||||
SortableProperties output = new SortableProperties(true);
|
SortableProperties output = new SortableProperties(true);
|
||||||
PropertiesMapper.write("en", output, data);
|
PropertiesMapper.write("en", output, data, converter(true));
|
||||||
|
|
||||||
Assert.assertTrue(output.get("simple") instanceof String[]);
|
Assert.assertTrue(output.get("simple") instanceof String[]);
|
||||||
Assert.assertEquals(arraySimple, PropertiesArrayMapper.read((String[]) output.get("simple")));
|
Assert.assertEquals(arraySimple, PropertiesArrayMapper.read((String[]) output.get("simple")));
|
||||||
@ -66,93 +72,164 @@ public class PropertiesMapperTest extends AbstractMapperTest {
|
|||||||
Assert.assertEquals(arrayEscaped, StringEscapeUtils.unescapeJava(PropertiesArrayMapper.read((String[]) output.get("escaped"))));
|
Assert.assertEquals(arrayEscaped, StringEscapeUtils.unescapeJava(PropertiesArrayMapper.read((String[]) output.get("escaped"))));
|
||||||
|
|
||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
PropertiesMapper.read("en", output, input);
|
PropertiesMapper.read("en", output, input, converter(true));
|
||||||
|
|
||||||
Assert.assertTrue(PropertiesArrayMapper.isArray(input.getTranslation(KeyPath.of("simple")).get("en")));
|
Assert.assertTrue(PropertiesArrayMapper.isArray(input.getTranslation(new KeyPath("simple")).get("en")));
|
||||||
Assert.assertTrue(PropertiesArrayMapper.isArray(input.getTranslation(KeyPath.of("escaped")).get("en")));
|
Assert.assertTrue(PropertiesArrayMapper.isArray(input.getTranslation(new KeyPath("escaped")).get("en")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testSpecialCharacters() {
|
public void testSpecialCharacters() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("chars"), create(specialCharacters));
|
data.setTranslation(new KeyPath("chars"), create(specialCharacters));
|
||||||
|
|
||||||
SortableProperties output = new SortableProperties(true);
|
SortableProperties output = new SortableProperties(true);
|
||||||
PropertiesMapper.write("en", output, data);
|
PropertiesMapper.write("en", output, data, converter(true));
|
||||||
|
|
||||||
Assert.assertEquals(specialCharacters, output.get("chars"));
|
Assert.assertEquals(specialCharacters, output.get("chars"));
|
||||||
|
|
||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
PropertiesMapper.read("en", output, input);
|
PropertiesMapper.read("en", output, input, converter(true));
|
||||||
|
|
||||||
Assert.assertEquals(specialCharacters, StringEscapeUtils.unescapeJava(input.getTranslation(KeyPath.of("chars")).get("en")));
|
Assert.assertEquals(specialCharacters, StringEscapeUtils.unescapeJava(input.getTranslation(new KeyPath("chars")).get("en")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNestedKeys() {
|
public void testNestedKeys() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("nested", "key", "sections"), create("test"));
|
data.setTranslation(new KeyPath("nested", "key", "sections"), create("test"));
|
||||||
|
|
||||||
SortableProperties output = new SortableProperties(true);
|
SortableProperties output = new SortableProperties(true);
|
||||||
PropertiesMapper.write("en", output, data);
|
PropertiesMapper.write("en", output, data, converter(true));
|
||||||
|
|
||||||
Assert.assertEquals("test", output.get("nested.key.sections"));
|
Assert.assertEquals("test", output.get("nested:key.sections"));
|
||||||
|
|
||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
PropertiesMapper.read("en", output, input);
|
PropertiesMapper.read("en", output, input, converter(true));
|
||||||
|
|
||||||
System.out.println(input);
|
|
||||||
|
|
||||||
Assert.assertTrue(input.getRootNode().getChildren().containsKey("nested"));
|
Assert.assertTrue(input.getRootNode().getChildren().containsKey("nested"));
|
||||||
Assert.assertEquals("test", input.getTranslation(KeyPath.of("nested", "key", "sections")).get("en"));
|
Assert.assertEquals("test", input.getTranslation(new KeyPath("nested", "key", "sections")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNonNestedKeys() { // Note: Key nesting is not supported in properties file.
|
public void testNonNestedKeys() { // Note: Key nesting is not supported in properties file.
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("long.key.with.many.sections"), create("test"));
|
data.setTranslation(new KeyPath("long.key.with.many.sections"), create("test"));
|
||||||
|
|
||||||
SortableProperties output = new SortableProperties(true);
|
SortableProperties output = new SortableProperties(true);
|
||||||
PropertiesMapper.write("en", output, data);
|
PropertiesMapper.write("en", output, data, converter(false));
|
||||||
|
|
||||||
Assert.assertNotNull(output.get("long.key.with.many.sections"));
|
Assert.assertNotNull(output.get("long.key.with.many.sections"));
|
||||||
|
|
||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
PropertiesMapper.read("en", output, input);
|
PropertiesMapper.read("en", output, input, converter(false));
|
||||||
|
|
||||||
Assert.assertEquals("test", input.getTranslation(KeyPath.of("long", "key", "with", "many", "sections")).get("en"));
|
Assert.assertEquals("test", input.getTranslation(new KeyPath("long.key.with.many.sections")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testLeadingSpace() {
|
public void testLeadingSpace() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("space"), create(leadingSpace));
|
data.setTranslation(new KeyPath("space"), create(leadingSpace));
|
||||||
|
|
||||||
SortableProperties output = new SortableProperties(true);
|
SortableProperties output = new SortableProperties(true);
|
||||||
PropertiesMapper.write("en", output, data);
|
PropertiesMapper.write("en", output, data, converter());
|
||||||
|
|
||||||
Assert.assertEquals(leadingSpace, output.get("space"));
|
Assert.assertEquals(leadingSpace, output.get("space"));
|
||||||
|
|
||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
PropertiesMapper.read("en", output, input);
|
PropertiesMapper.read("en", output, input, converter());
|
||||||
|
|
||||||
Assert.assertEquals(leadingSpace, input.getTranslation(KeyPath.of("space")).get("en"));
|
Assert.assertEquals(leadingSpace, input.getTranslation(new KeyPath("space")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNumbers() {
|
public void testNumbers() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("numbered"), create("15000"));
|
data.setTranslation(new KeyPath("numbered"), create("15000"));
|
||||||
|
|
||||||
SortableProperties output = new SortableProperties(true);
|
SortableProperties output = new SortableProperties(true);
|
||||||
PropertiesMapper.write("en", output, data);
|
PropertiesMapper.write("en", output, data, converter());
|
||||||
|
|
||||||
Assert.assertEquals(15000, output.get("numbered"));
|
Assert.assertEquals(15000, output.get("numbered"));
|
||||||
|
|
||||||
SortableProperties input = new SortableProperties(true);
|
SortableProperties input = new SortableProperties(true);
|
||||||
input.put("numbered", 143.23);
|
input.put("numbered", 143.23);
|
||||||
PropertiesMapper.read("en", input, data);
|
PropertiesMapper.read("en", input, data, converter());
|
||||||
|
|
||||||
Assert.assertEquals("143.23", data.getTranslation(KeyPath.of("numbered")).get("en"));
|
Assert.assertEquals("143.23", data.getTranslation(new KeyPath("numbered")).get("en"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private KeyPathConverter converter() {
|
||||||
|
return converter(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private KeyPathConverter converter(boolean nestKeys) {
|
||||||
|
return new KeyPathConverter(new ProjectSettings() {
|
||||||
|
@Override
|
||||||
|
public @Nullable String getLocalesDirectory() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @NotNull FolderStrategyType getFolderStrategy() {
|
||||||
|
return FolderStrategyType.MODULARIZED_NAMESPACE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @NotNull ParserStrategyType getParserStrategy() {
|
||||||
|
return ParserStrategyType.PROPERTIES;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @NotNull String getFilePattern() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isSorting() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @Nullable String getNamespaceDelimiter() {
|
||||||
|
return ":";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @NotNull String getSectionDelimiter() {
|
||||||
|
return ".";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @Nullable String getContextDelimiter() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @Nullable String getPluralDelimiter() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @Nullable String getDefaultNamespace() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @NotNull String getPreviewLocale() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isNestedKeys() {
|
||||||
|
return nestKeys;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isAssistance() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -2,8 +2,8 @@ package de.marhali.easyi18n.mapper;
|
|||||||
|
|
||||||
import de.marhali.easyi18n.io.parser.yaml.YamlArrayMapper;
|
import de.marhali.easyi18n.io.parser.yaml.YamlArrayMapper;
|
||||||
import de.marhali.easyi18n.io.parser.yaml.YamlMapper;
|
import de.marhali.easyi18n.io.parser.yaml.YamlMapper;
|
||||||
import de.marhali.easyi18n.model.KeyPath;
|
|
||||||
import de.marhali.easyi18n.model.TranslationData;
|
import de.marhali.easyi18n.model.TranslationData;
|
||||||
|
import de.marhali.easyi18n.model.KeyPath;
|
||||||
import org.apache.commons.lang.StringEscapeUtils;
|
import org.apache.commons.lang.StringEscapeUtils;
|
||||||
|
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
@ -58,8 +58,8 @@ public class YamlMapperTest extends AbstractMapperTest {
|
|||||||
@Override
|
@Override
|
||||||
public void testArrays() {
|
public void testArrays() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("simple"), create(arraySimple));
|
data.setTranslation(new KeyPath("simple"), create(arraySimple));
|
||||||
data.setTranslation(KeyPath.of("escaped"), create(arrayEscaped));
|
data.setTranslation(new KeyPath("escaped"), create(arrayEscaped));
|
||||||
|
|
||||||
Section output = new MapSection();
|
Section output = new MapSection();
|
||||||
YamlMapper.write("en", output, data.getRootNode());
|
YamlMapper.write("en", output, data.getRootNode());
|
||||||
@ -72,14 +72,14 @@ public class YamlMapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
YamlMapper.read("en", output, input.getRootNode());
|
YamlMapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertTrue(YamlArrayMapper.isArray(input.getTranslation(KeyPath.of("simple")).get("en")));
|
Assert.assertTrue(YamlArrayMapper.isArray(input.getTranslation(new KeyPath("simple")).get("en")));
|
||||||
Assert.assertTrue(YamlArrayMapper.isArray(input.getTranslation(KeyPath.of("escaped")).get("en")));
|
Assert.assertTrue(YamlArrayMapper.isArray(input.getTranslation(new KeyPath("escaped")).get("en")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testSpecialCharacters() {
|
public void testSpecialCharacters() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("chars"), create(specialCharacters));
|
data.setTranslation(new KeyPath("chars"), create(specialCharacters));
|
||||||
|
|
||||||
Section output = new MapSection();
|
Section output = new MapSection();
|
||||||
YamlMapper.write("en", output, data.getRootNode());
|
YamlMapper.write("en", output, data.getRootNode());
|
||||||
@ -90,13 +90,13 @@ public class YamlMapperTest extends AbstractMapperTest {
|
|||||||
YamlMapper.read("en", output, input.getRootNode());
|
YamlMapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals(specialCharacters,
|
Assert.assertEquals(specialCharacters,
|
||||||
StringEscapeUtils.unescapeJava(input.getTranslation(KeyPath.of("chars")).get("en")));
|
StringEscapeUtils.unescapeJava(input.getTranslation(new KeyPath("chars")).get("en")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNestedKeys() {
|
public void testNestedKeys() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("nested", "key", "section"), create("test"));
|
data.setTranslation(new KeyPath("nested", "key", "section"), create("test"));
|
||||||
|
|
||||||
Section output = new MapSection();
|
Section output = new MapSection();
|
||||||
YamlMapper.write("en", output, data.getRootNode());
|
YamlMapper.write("en", output, data.getRootNode());
|
||||||
@ -106,13 +106,13 @@ public class YamlMapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
YamlMapper.read("en", output, input.getRootNode());
|
YamlMapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals("test", input.getTranslation(KeyPath.of("nested", "key", "section")).get("en"));
|
Assert.assertEquals("test", input.getTranslation(new KeyPath("nested", "key", "section")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNonNestedKeys() {
|
public void testNonNestedKeys() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("long.key.with.many.sections"), create("test"));
|
data.setTranslation(new KeyPath("long.key.with.many.sections"), create("test"));
|
||||||
|
|
||||||
Section output = new MapSection();
|
Section output = new MapSection();
|
||||||
YamlMapper.write("en", output, data.getRootNode());
|
YamlMapper.write("en", output, data.getRootNode());
|
||||||
@ -122,13 +122,13 @@ public class YamlMapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
YamlMapper.read("en", output, input.getRootNode());
|
YamlMapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals("test", input.getTranslation(KeyPath.of("long.key.with.many.sections")).get("en"));
|
Assert.assertEquals("test", input.getTranslation(new KeyPath("long.key.with.many.sections")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testLeadingSpace() {
|
public void testLeadingSpace() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("space"), create(leadingSpace));
|
data.setTranslation(new KeyPath("space"), create(leadingSpace));
|
||||||
|
|
||||||
Section output = new MapSection();
|
Section output = new MapSection();
|
||||||
YamlMapper.write("en", output, data.getRootNode());
|
YamlMapper.write("en", output, data.getRootNode());
|
||||||
@ -138,13 +138,13 @@ public class YamlMapperTest extends AbstractMapperTest {
|
|||||||
TranslationData input = new TranslationData(true);
|
TranslationData input = new TranslationData(true);
|
||||||
YamlMapper.read("en", output, input.getRootNode());
|
YamlMapper.read("en", output, input.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals(leadingSpace, input.getTranslation(KeyPath.of("space")).get("en"));
|
Assert.assertEquals(leadingSpace, input.getTranslation(new KeyPath("space")).get("en"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testNumbers() {
|
public void testNumbers() {
|
||||||
TranslationData data = new TranslationData(true);
|
TranslationData data = new TranslationData(true);
|
||||||
data.setTranslation(KeyPath.of("numbered"), create("15000"));
|
data.setTranslation(new KeyPath("numbered"), create("15000"));
|
||||||
|
|
||||||
Section output = new MapSection();
|
Section output = new MapSection();
|
||||||
YamlMapper.write("en", output, data.getRootNode());
|
YamlMapper.write("en", output, data.getRootNode());
|
||||||
@ -155,6 +155,6 @@ public class YamlMapperTest extends AbstractMapperTest {
|
|||||||
input.set("numbered", 143.23);
|
input.set("numbered", 143.23);
|
||||||
YamlMapper.read("en", input, data.getRootNode());
|
YamlMapper.read("en", input, data.getRootNode());
|
||||||
|
|
||||||
Assert.assertEquals("143.23", data.getTranslation(KeyPath.of("numbered")).get("en"));
|
Assert.assertEquals("143.23", data.getTranslation(new KeyPath("numbered")).get("en"));
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user