diff --git a/build.gradle.kts b/build.gradle.kts index 27accc1..f7acd51 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,7 +25,7 @@ repositories { } dependencies { - implementation("de.marhali:json5-java:1.0.1") + implementation("de.marhali:json5-java:2.0.0") } // Configure Gradle IntelliJ Plugin - read more: https://github.com/JetBrains/gradle-intellij-plugin diff --git a/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5ArrayMapper.java b/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5ArrayMapper.java index e31eefc..c5f545b 100644 --- a/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5ArrayMapper.java +++ b/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5ArrayMapper.java @@ -22,7 +22,7 @@ public class Json5ArrayMapper extends ArrayMapper { public static String read(Json5Array array) { return read(array.iterator(), (jsonElement -> { try { - return jsonElement.isJsonArray() || jsonElement.isJsonObject() + return jsonElement.isJson5Array() || jsonElement.isJson5Object() ? "\\" + JSON5.serialize(jsonElement) : jsonElement.getAsString(); } catch (IOException e) { diff --git a/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5Mapper.java b/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5Mapper.java index 30bdcad..80b36ae 100644 --- a/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5Mapper.java +++ b/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5Mapper.java @@ -11,7 +11,6 @@ import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.math.NumberUtils; import java.util.Map; -import java.util.regex.Pattern; /** * Mapper for mapping json5 objects into translation nodes and backwards. @@ -25,14 +24,14 @@ public class Json5Mapper { TranslationNode childNode = node.getOrCreateChildren(key); - if(value.isJsonObject()) { + if(value.isJson5Object()) { // Nested element - run recursively - read(locale, value.getAsJsonObject(), childNode); + read(locale, value.getAsJson5Object(), childNode); } else { Translation translation = childNode.getValue(); - String content = value.isJsonArray() - ? Json5ArrayMapper.read(value.getAsJsonArray()) + String content = value.isJson5Array() + ? Json5ArrayMapper.read(value.getAsJson5Array()) : StringUtil.escapeControls(value.getAsString(), true); translation.put(locale, content); diff --git a/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5ParserStrategy.java b/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5ParserStrategy.java index 9015189..cb9c64b 100644 --- a/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5ParserStrategy.java +++ b/src/main/java/de/marhali/easyi18n/io/parser/json5/Json5ParserStrategy.java @@ -39,8 +39,8 @@ public class Json5ParserStrategy extends ParserStrategy { try (Reader reader = new InputStreamReader(vf.getInputStream(), vf.getCharset())) { Json5Element input = JSON5.parse(reader); - if(input != null && input.isJsonObject()) { - Json5Mapper.read(file.getLocale(), input.getAsJsonObject(), targetNode); + if(input != null && input.isJson5Object()) { + Json5Mapper.read(file.getLocale(), input.getAsJson5Object(), targetNode); } } } diff --git a/src/test/java/de/marhali/easyi18n/mapper/Json5MapperTest.java b/src/test/java/de/marhali/easyi18n/mapper/Json5MapperTest.java index 84ff99c..befdc04 100644 --- a/src/test/java/de/marhali/easyi18n/mapper/Json5MapperTest.java +++ b/src/test/java/de/marhali/easyi18n/mapper/Json5MapperTest.java @@ -1,8 +1,6 @@ package de.marhali.easyi18n.mapper; -import com.google.gson.JsonObject; import de.marhali.easyi18n.io.parser.json.JsonArrayMapper; -import de.marhali.easyi18n.io.parser.json.JsonMapper; import de.marhali.easyi18n.io.parser.json5.Json5ArrayMapper; import de.marhali.easyi18n.io.parser.json5.Json5Mapper; import de.marhali.easyi18n.model.KeyPath; @@ -66,10 +64,10 @@ public class Json5MapperTest extends AbstractMapperTest { Json5Object output = new Json5Object(); Json5Mapper.write("en", output, data.getRootNode()); - Assert.assertTrue(output.get("simple").isJsonArray()); - Assert.assertEquals(arraySimple, Json5ArrayMapper.read(output.get("simple").getAsJsonArray())); - Assert.assertTrue(output.get("escaped").isJsonArray()); - Assert.assertEquals(arrayEscaped, StringEscapeUtils.unescapeJava(Json5ArrayMapper.read(output.get("escaped").getAsJsonArray()))); + Assert.assertTrue(output.get("simple").isJson5Array()); + Assert.assertEquals(arraySimple, Json5ArrayMapper.read(output.get("simple").getAsJson5Array())); + Assert.assertTrue(output.get("escaped").isJson5Array()); + Assert.assertEquals(arrayEscaped, StringEscapeUtils.unescapeJava(Json5ArrayMapper.read(output.get("escaped").getAsJson5Array()))); TranslationData input = new TranslationData(true); Json5Mapper.read("en", output, input.getRootNode());