diff --git a/README.md b/README.md
index f048019..cce0f1e 100644
--- a/README.md
+++ b/README.md
@@ -241,6 +241,11 @@ self-hosting this service.
## Release Notes
+### 2.3.0.0
+
+* Pretty major release, which includes full Arabic support and changes the
+way some other alphabets work (including Greek and Hebrew).
+
### 2.2.4.2
* Added `client=` parameter, to allow logging per client type.
diff --git a/deployment/pom.xml b/deployment/pom.xml
index b0b1e84..7d76f30 100644
--- a/deployment/pom.xml
+++ b/deployment/pom.xml
@@ -22,7 +22,7 @@
com.mapcode
mapcode-rest-service
- 2.2.4.2
+ 2.3.0.0
deployment
diff --git a/pom.xml b/pom.xml
index 1f7abd3..ec6e816 100755
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
mapcode-rest-service
pom
- 2.2.4.2
+ 2.3.0.0
Mapcode REST API Web Service
@@ -70,7 +70,7 @@
1.8
- 2.2.4
+ 2.3.0
3.0.21
diff --git a/service/pom.xml b/service/pom.xml
index 965d2ad..27e5267 100644
--- a/service/pom.xml
+++ b/service/pom.xml
@@ -22,7 +22,7 @@
com.mapcode
mapcode-rest-service
- 2.2.4.2
+ 2.3.0.0
service
diff --git a/service/src/test/java/com/mapcode/services/ApiAlphabetsTest.java b/service/src/test/java/com/mapcode/services/ApiAlphabetsTest.java
index 39179dd..879d3c7 100644
--- a/service/src/test/java/com/mapcode/services/ApiAlphabetsTest.java
+++ b/service/src/test/java/com/mapcode/services/ApiAlphabetsTest.java
@@ -62,19 +62,19 @@ public void checkAlphabetsJson() {
Assert.assertNotNull(response);
Assert.assertEquals(200, response.getStatus());
final String s = response.readEntity(String.class);
- Assert.assertEquals("{\"total\":14,\"alphabets\":[{\"name\":\"ROMAN\"},{\"name\":\"GREEK\"},{\"name\":\"CYRILLIC\"},{\"name\":\"HEBREW\"},{\"name\":\"HINDI\"},{\"name\":\"MALAY\"},{\"name\":\"GEORGIAN\"},{\"name\":\"KATAKANA\"},{\"name\":\"THAI\"},{\"name\":\"LAO\"},{\"name\":\"ARMENIAN\"},{\"name\":\"BENGALI\"},{\"name\":\"GURMUKHI\"},{\"name\":\"TIBETAN\"}]}",
+ Assert.assertEquals("{\"total\":15,\"alphabets\":[{\"name\":\"ROMAN\"},{\"name\":\"GREEK\"},{\"name\":\"CYRILLIC\"},{\"name\":\"HEBREW\"},{\"name\":\"HINDI\"},{\"name\":\"MALAY\"},{\"name\":\"GEORGIAN\"},{\"name\":\"KATAKANA\"},{\"name\":\"THAI\"},{\"name\":\"LAO\"},{\"name\":\"ARMENIAN\"},{\"name\":\"BENGALI\"},{\"name\":\"GURMUKHI\"},{\"name\":\"TIBETAN\"},{\"name\":\"ARABIC\"}]}",
s);
final AlphabetsDTO x = new Gson().fromJson(s, AlphabetsDTO.class);
Assert.assertNotNull(x);
- Assert.assertEquals(14, x.getTotal());
+ Assert.assertEquals(15, x.getTotal());
Assert.assertEquals("ROMAN", x.getAlphabets().get(0).getName());
}
@Test
public void checkAlphabetsXml() {
LOG.info("checkAlphabetsXml");
- final String expected = "14ROMANGREEKCYRILLICHEBREWHINDIMALAYGEORGIANKATAKANATHAILAOARMENIANBENGALIGURMUKHITIBETAN";
+ final String expected = "15ROMANGREEKCYRILLICHEBREWHINDIMALAYGEORGIANKATAKANATHAILAOARMENIANBENGALIGURMUKHITIBETANARABIC";
Response response = new ResteasyClientBuilder().build().
target(server.url("/mapcode/alphabets")).
request().
@@ -103,7 +103,7 @@ public void checkAlphabetsCountJson() {
accept(MediaType.APPLICATION_JSON_TYPE).get();
Assert.assertNotNull(response);
Assert.assertEquals(200, response.getStatus());
- Assert.assertEquals("{\"total\":14,\"alphabets\":[{\"name\":\"ROMAN\"},{\"name\":\"GREEK\"}]}",
+ Assert.assertEquals("{\"total\":15,\"alphabets\":[{\"name\":\"ROMAN\"},{\"name\":\"GREEK\"}]}",
response.readEntity(String.class));
}
@@ -127,7 +127,7 @@ public void checkAlphabetsCountXml() {
accept(MediaType.APPLICATION_XML_TYPE).get();
Assert.assertNotNull(response);
Assert.assertEquals(200, response.getStatus());
- Assert.assertEquals("14ROMANGREEK",
+ Assert.assertEquals("15ROMANGREEK",
response.readEntity(String.class));
}
@@ -140,7 +140,7 @@ public void checkAlphabetsCountOffsetJson() {
accept(MediaType.APPLICATION_JSON_TYPE).get();
Assert.assertNotNull(response);
Assert.assertEquals(200, response.getStatus());
- Assert.assertEquals("{\"total\":14,\"alphabets\":[{\"name\":\"GREEK\"}]}",
+ Assert.assertEquals("{\"total\":15,\"alphabets\":[{\"name\":\"GREEK\"}]}",
response.readEntity(String.class));
}
@@ -153,7 +153,7 @@ public void checkAlphabetsCountOffsetXml() {
accept(MediaType.APPLICATION_XML_TYPE).get();
Assert.assertNotNull(response);
Assert.assertEquals(200, response.getStatus());
- Assert.assertEquals("14GREEK",
+ Assert.assertEquals("15GREEK",
response.readEntity(String.class));
}
@@ -166,7 +166,7 @@ public void checkAlphabetsCountOffsetFromEndJson() {
accept(MediaType.APPLICATION_JSON_TYPE).get();
Assert.assertNotNull(response);
Assert.assertEquals(200, response.getStatus());
- Assert.assertEquals("{\"total\":14,\"alphabets\":[{\"name\":\"TIBETAN\"}]}",
+ Assert.assertEquals("{\"total\":15,\"alphabets\":[{\"name\":\"ARABIC\"}]}",
response.readEntity(String.class));
}
@@ -179,7 +179,7 @@ public void checkAlphabetsCountOffsetFromEndXml() {
accept(MediaType.APPLICATION_XML_TYPE).get();
Assert.assertNotNull(response);
Assert.assertEquals(200, response.getStatus());
- Assert.assertEquals("14TIBETAN",
+ Assert.assertEquals("15ARABIC",
response.readEntity(String.class));
}
@@ -233,6 +233,7 @@ public void checkAlphabetXml() {
@Test
public void checkAllAlphabetsJson() {
LOG.info("checkAlphabetsJson");
+ Assert.assertEquals(Alphabet.values().length, EXPECTED_ALPHABETS_JSON.length);
int i = 0;
for (final Alphabet alphabet : Alphabet.values()) {
doCheckAlphabet(alphabet.name(), MediaType.APPLICATION_JSON_TYPE, EXPECTED_ALPHABETS_JSON[i]);
@@ -243,6 +244,7 @@ public void checkAllAlphabetsJson() {
@Test
public void checkAllAlphabetsXml() {
LOG.info("checkAlphabetsXml");
+ Assert.assertEquals(Alphabet.values().length, EXPECTED_ALPHABETS_JSON.length);
int i = 0;
for (final Alphabet alphabet : Alphabet.values()) {
doCheckAlphabet(alphabet.name(), MediaType.APPLICATION_XML_TYPE, EXPECTED_ALPHABETS_XML[i]);
@@ -266,9 +268,9 @@ private void doCheckAlphabet(
private final static String[] EXPECTED_ALPHABETS_JSON = {
"{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"JL0.KP\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"LUX\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"VJ0L6.9PNQ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"AAA\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"JL0.KP\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"LUX\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"R8RN.07Z\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"LUX\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"SQB.NR3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"BEL\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"R8RN.07Z\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"BEL\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0L46.LG9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"DEU\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"R8RN.07Z\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"FRA\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"VJ0L6.9PNQ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"AAA\"}]}",
- "{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ΠΛ0.ΚΡ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"LUX\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ΦΠ0Λ6.9ΡΝΘ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ΑΑΑ\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ΠΛ0.ΚΡ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"LUX\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Ψ8ΨΝ.07Ζ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"LUX\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"ΣΘΒ.ΝΨ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"BEL\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Ψ8ΨΝ.07Ζ\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"BEL\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0Λ46.ΛΓ9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"DEU\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Ψ8ΨΝ.07Ζ\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"ΕΨΑ\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ΦΠ0Λ6.9ΡΝΘ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ΑΑΑ\"}]}",
+ "{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ΠΛ0.ΚΡ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"LUX\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ΦΠ0Λ6.69Ρ1Ν\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ΑΑΑ\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ΠΛ0.ΚΡ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"LUX\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Ψ8ΨΝ.07Ζ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"LUX\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"ΣΘ4.Ν8Ψ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"BEL\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Ψ8ΨΝ.07Ζ\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"BEL\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0Λ46.ΛΓ9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"DEU\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Ψ8ΨΝ.07Ζ\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"ΕΨΑ\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ΦΠ0Λ6.69Ρ1Ν\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ΑΑΑ\"}]}",
"{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ПЛ0.КР\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ЛЭХ\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ЧП0Л6.9РЗФ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ААА\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ПЛ0.КР\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ЛЭХ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Я8ЯЗ.07Б\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ЛЭХ\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"ЦФВ.ЗЯ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ВЕЛ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Я8ЯЗ.07Б\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ВЕЛ\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0Л46.ЛГ9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"ДЕЭ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Я8ЯЗ.07Б\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"ЖЯА\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ЧП0Л6.9РЗФ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ААА\"}]}",
- "{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"טך0.ים\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ךץר\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"צט0ך6.9םלמ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"אאא\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"טך0.ים\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ךץר\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"נ8נל.07ת\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ךץר\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"עמב.לנ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"בףך\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"נ8נל.07ת\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"בףך\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0ך46.ךז9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"דףץ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"נ8נל.07ת\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"הנא\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"צט0ך6.9םלמ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"אאא\"}]}",
+ "{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"טך0.ים\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ךץר\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"צט0ך6.69ם1ל\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"אאא\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"טך0.ים\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ךץר\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"נ8נל.07ת\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ךץר\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"עמ4.ל8נ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"בףך\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"נ8נל.07ת\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"בףך\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0ך46.ךז9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"דףץ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"נ8נל.07ת\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"הנא\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"צט0ך6.69ם1ל\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"אאא\"}]}",
"{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ठत0.णन\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"तफस\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"लठ0त6.9नधप\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"अअअ\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ठत0.णन\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"तफस\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"भ8भध.07ड\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"तफस\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"मपक.धभ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"कएत\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"भ8भध.07ड\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"कएत\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0त46.तज9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"घएफ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"भ8भध.07ड\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"चभअ\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"लठ0त6.9नधप\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"अअअ\"}]}",
"{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ഡഥ0.തന\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ഥഉശ\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ഴഡ0ഥ6.9നധമ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ഒഒഒ\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ഡഥ0.തന\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ഥഉശ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"ര8രധ.07ഹ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ഥഉശ\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"റമക.ധര3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"കഋഥ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"ര8രധ.07ഹ\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"കഋഥ\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0ഥ46.ഥജ9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"ഗഋഉ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"ര8രധ.07ഹ\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"ചരഒ\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ഴഡ0ഥ6.9നധമ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ഒഒഒ\"}]}",
"{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ႮႱ0.ႰႵ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ႱႨႽ\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ႺႮ0Ⴑ6.9ႵႴႶ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ႠႠႠ\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ႮႱ0.ႰႵ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ႱႨႽ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Ⴗ8ႷႴ.07Ⴟ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ႱႨႽ\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"ႸႶႡ.ႴႷ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ႡႤႱ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Ⴗ8ႷႴ.07Ⴟ\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ႡႤႱ\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0Ⴑ46.ႱႫ9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"ႦႤႨ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Ⴗ8ႷႴ.07Ⴟ\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"ႩႷႠ\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ႺႮ0Ⴑ6.9ႵႴႶ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ႠႠႠ\"}]}",
@@ -278,13 +280,14 @@ private void doCheckAlphabet(
"{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ԽՀ0.ԿՇ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ՀՅՑ\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ՏԽ0Հ6.9ՇՃՈ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ՖՖՖ\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ԽՀ0.ԿՇ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ՀՅՑ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Պ8ՊՃ.07Փ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ՀՅՑ\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"ՍՈԲ.ՃՊ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ԲԵՀ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Պ8ՊՃ.07Փ\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ԲԵՀ\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0Հ46.ՀԹ9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"ԴԵՅ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"Պ8ՊՃ.07Փ\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"ԸՊՖ\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ՏԽ0Հ6.9ՇՃՈ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ՖՖՖ\"}]}",
"{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ঝড0.ঠত\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ডওয\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"বঝ0ড6.9তণথ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"অঅঅ\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ঝড0.ঠত\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ডওয\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"দ8দণ.07হ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ডওয\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"নথঌ.ণদ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ঌএড\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"দ8দণ.07হ\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ঌএড\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0ড46.ডঙ9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"খএও\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"দ8দণ.07হ\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"গদঅ\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"বঝ0ড6.9তণথ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"অঅঅ\"}]}",
"{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ਠਤ0.ਣਨ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ਤਫਸ\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ਲਠ0ਤ6.9ਨਧਪ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ਅਅਅ\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ਠਤ0.ਣਨ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ਤਫਸ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"ਭ8ਭਧ.07ਡ\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ਤਫਸ\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"ਮਪਕ.ਧਭ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ਕਏਤ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"ਭ8ਭਧ.07ਡ\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ਕਏਤ\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0ਤ46.ਤਜ9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"ਘਏਫ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"ਭ8ਭਧ.07ਡ\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"ਚਭਅ\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ਲਠ0ਤ6.9ਨਧਪ\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ਅਅਅ\"}]}",
- "{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ཇཌ0.ཊད\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ཌཥར\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ཟཇ0ཌ6.9དཏན\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"མམམ\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ཇཌ0.ཊད\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ཌཥར\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"པ8པཏ.07ས\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ཌཥར\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"བནཀ.ཏཔ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ཀཤཌ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"པ8པཏ.07ས\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ཀཤཌ\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0ཌ46.ཌཅ9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"གཤཥ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"པ8པཏ.07ས\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"ངཔམ\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ཟཇ0ཌ6.9དཏན\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"མམམ\"}]}",
+ "{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ཇཕ0.ཉད\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ཕའར\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ཟཇ0ཕ6.9དཏན\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"མམམ\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"ཇཕ0.ཉད\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ཕའར\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"པ8པཏ.07ས\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"ཕའར\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"བནཀ.ཏཔ3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ཀཤཕ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"པ8པཏ.07ས\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"ཀཤཕ\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0ཕ46.ཕཅ9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"གཤའ\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"པ8པཏ.07ས\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"ངཔམ\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"ཟཇ0ཕ6.9དཏན\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"མམམ\"}]}",
+ "{\"local\":{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"زش0.سط\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"شقم\"},\"international\":{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"كز0ش6.69ط1ض\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ببب\"},\"mapcodes\":[{\"mapcode\":\"JL0.KP\",\"mapcodeInAlphabet\":\"زش0.سط\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"شقم\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"ع8عض.07و\",\"territory\":\"LUX\",\"territoryInAlphabet\":\"شقم\"},{\"mapcode\":\"SQB.NR3\",\"mapcodeInAlphabet\":\"غظ4.ض8ع3\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"تىش\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"ع8عض.07و\",\"territory\":\"BEL\",\"territoryInAlphabet\":\"تىش\"},{\"mapcode\":\"0L46.LG9\",\"mapcodeInAlphabet\":\"0ش46.شذ9\",\"territory\":\"DEU\",\"territoryInAlphabet\":\"خىق\"},{\"mapcode\":\"R8RN.07Z\",\"mapcodeInAlphabet\":\"ع8عض.07و\",\"territory\":\"FRA\",\"territoryInAlphabet\":\"دعب\"},{\"mapcode\":\"VJ0L6.9PNQ\",\"mapcodeInAlphabet\":\"كز0ش6.69ط1ض\",\"territory\":\"AAA\",\"territoryInAlphabet\":\"ببب\"}]}"
};
private final static String[] EXPECTED_ALPHABETS_XML = {
"JL0.KPJL0.KPLUXLUXVJ0L6.9PNQVJ0L6.9PNQAAAAAAJL0.KPJL0.KPLUXLUXR8RN.07ZR8RN.07ZLUXLUXSQB.NR3SQB.NR3BELBELR8RN.07ZR8RN.07ZBELBEL0L46.LG90L46.LG9DEUDEUR8RN.07ZR8RN.07ZFRAFRAVJ0L6.9PNQVJ0L6.9PNQAAAAAA",
- "JL0.KPΠΛ0.ΚΡLUXLUXVJ0L6.9PNQΦΠ0Λ6.9ΡΝΘAAAΑΑΑJL0.KPΠΛ0.ΚΡLUXLUXR8RN.07ZΨ8ΨΝ.07ΖLUXLUXSQB.NR3ΣΘΒ.ΝΨ3BELBELR8RN.07ZΨ8ΨΝ.07ΖBELBEL0L46.LG90Λ46.ΛΓ9DEUDEUR8RN.07ZΨ8ΨΝ.07ΖFRAΕΨΑVJ0L6.9PNQΦΠ0Λ6.9ΡΝΘAAAΑΑΑ",
+ "JL0.KPΠΛ0.ΚΡLUXLUXVJ0L6.9PNQΦΠ0Λ6.69Ρ1ΝAAAΑΑΑJL0.KPΠΛ0.ΚΡLUXLUXR8RN.07ZΨ8ΨΝ.07ΖLUXLUXSQB.NR3ΣΘ4.Ν8Ψ3BELBELR8RN.07ZΨ8ΨΝ.07ΖBELBEL0L46.LG90Λ46.ΛΓ9DEUDEUR8RN.07ZΨ8ΨΝ.07ΖFRAΕΨΑVJ0L6.9PNQΦΠ0Λ6.69Ρ1ΝAAAΑΑΑ",
"JL0.KPПЛ0.КРLUXЛЭХVJ0L6.9PNQЧП0Л6.9РЗФAAAАААJL0.KPПЛ0.КРLUXЛЭХR8RN.07ZЯ8ЯЗ.07БLUXЛЭХSQB.NR3ЦФВ.ЗЯ3BELВЕЛR8RN.07ZЯ8ЯЗ.07БBELВЕЛ0L46.LG90Л46.ЛГ9DEUДЕЭR8RN.07ZЯ8ЯЗ.07БFRAЖЯАVJ0L6.9PNQЧП0Л6.9РЗФAAAААА",
- "JL0.KPטך0.יםLUXךץרVJ0L6.9PNQצט0ך6.9םלמAAAאאאJL0.KPטך0.יםLUXךץרR8RN.07Zנ8נל.07תLUXךץרSQB.NR3עמב.לנ3BELבףךR8RN.07Zנ8נל.07תBELבףך0L46.LG90ך46.ךז9DEUדףץR8RN.07Zנ8נל.07תFRAהנאVJ0L6.9PNQצט0ך6.9םלמAAAאאא",
+ "JL0.KPטך0.יםLUXךץרVJ0L6.9PNQצט0ך6.69ם1לAAAאאאJL0.KPטך0.יםLUXךץרR8RN.07Zנ8נל.07תLUXךץרSQB.NR3עמ4.ל8נ3BELבףךR8RN.07Zנ8נל.07תBELבףך0L46.LG90ך46.ךז9DEUדףץR8RN.07Zנ8נל.07תFRAהנאVJ0L6.9PNQצט0ך6.69ם1לAAAאאא",
"JL0.KPठत0.णनLUXतफसVJ0L6.9PNQलठ0त6.9नधपAAAअअअJL0.KPठत0.णनLUXतफसR8RN.07Zभ8भध.07डLUXतफसSQB.NR3मपक.धभ3BELकएतR8RN.07Zभ8भध.07डBELकएत0L46.LG90त46.तज9DEUघएफR8RN.07Zभ8भध.07डFRAचभअVJ0L6.9PNQलठ0त6.9नधपAAAअअअ",
"JL0.KPഡഥ0.തനLUXഥഉശVJ0L6.9PNQഴഡ0ഥ6.9നധമAAAഒഒഒJL0.KPഡഥ0.തനLUXഥഉശR8RN.07Zര8രധ.07ഹLUXഥഉശSQB.NR3റമക.ധര3BELകഋഥR8RN.07Zര8രധ.07ഹBELകഋഥ0L46.LG90ഥ46.ഥജ9DEUഗഋഉR8RN.07Zര8രധ.07ഹFRAചരഒVJ0L6.9PNQഴഡ0ഥ6.9നധമAAAഒഒഒ",
"JL0.KPႮႱ0.ႰႵLUXႱႨႽVJ0L6.9PNQႺႮ0Ⴑ6.9ႵႴႶAAAႠႠႠJL0.KPႮႱ0.ႰႵLUXႱႨႽR8RN.07ZႷ8ႷႴ.07ႿLUXႱႨႽSQB.NR3ႸႶႡ.ႴႷ3BELႡႤႱR8RN.07ZႷ8ႷႴ.07ႿBELႡႤႱ0L46.LG90Ⴑ46.ႱႫ9DEUႦႤႨR8RN.07ZႷ8ႷႴ.07ႿFRAႩႷႠVJ0L6.9PNQႺႮ0Ⴑ6.9ႵႴႶAAAႠႠႠ",
@@ -294,6 +297,7 @@ private void doCheckAlphabet(
"JL0.KPԽՀ0.ԿՇLUXՀՅՑVJ0L6.9PNQՏԽ0Հ6.9ՇՃՈAAAՖՖՖJL0.KPԽՀ0.ԿՇLUXՀՅՑR8RN.07ZՊ8ՊՃ.07ՓLUXՀՅՑSQB.NR3ՍՈԲ.ՃՊ3BELԲԵՀR8RN.07ZՊ8ՊՃ.07ՓBELԲԵՀ0L46.LG90Հ46.ՀԹ9DEUԴԵՅR8RN.07ZՊ8ՊՃ.07ՓFRAԸՊՖVJ0L6.9PNQՏԽ0Հ6.9ՇՃՈAAAՖՖՖ",
"JL0.KPঝড0.ঠতLUXডওযVJ0L6.9PNQবঝ0ড6.9তণথAAAঅঅঅJL0.KPঝড0.ঠতLUXডওযR8RN.07Zদ8দণ.07হLUXডওযSQB.NR3নথঌ.ণদ3BELঌএডR8RN.07Zদ8দণ.07হBELঌএড0L46.LG90ড46.ডঙ9DEUখএওR8RN.07Zদ8দণ.07হFRAগদঅVJ0L6.9PNQবঝ0ড6.9তণথAAAঅঅঅ",
"JL0.KPਠਤ0.ਣਨLUXਤਫਸVJ0L6.9PNQਲਠ0ਤ6.9ਨਧਪAAAਅਅਅJL0.KPਠਤ0.ਣਨLUXਤਫਸR8RN.07Zਭ8ਭਧ.07ਡLUXਤਫਸSQB.NR3ਮਪਕ.ਧਭ3BELਕਏਤR8RN.07Zਭ8ਭਧ.07ਡBELਕਏਤ0L46.LG90ਤ46.ਤਜ9DEUਘਏਫR8RN.07Zਭ8ਭਧ.07ਡFRAਚਭਅVJ0L6.9PNQਲਠ0ਤ6.9ਨਧਪAAAਅਅਅ",
- "JL0.KPཇཌ0.ཊདLUXཌཥརVJ0L6.9PNQཟཇ0ཌ6.9དཏནAAAམམམJL0.KPཇཌ0.ཊདLUXཌཥརR8RN.07Zཔ8པཏ.07སLUXཌཥརSQB.NR3བནཀ.ཏཔ3BELཀཤཌR8RN.07Zཔ8པཏ.07སBELཀཤཌ0L46.LG90ཌ46.ཌཅ9DEUགཤཥR8RN.07Zཔ8པཏ.07སFRAངཔམVJ0L6.9PNQཟཇ0ཌ6.9དཏནAAAམམམ"
+ "JL0.KPཇཕ0.ཉདLUXཕའརVJ0L6.9PNQཟཇ0ཕ6.9དཏནAAAམམམJL0.KPཇཕ0.ཉདLUXཕའརR8RN.07Zཔ8པཏ.07སLUXཕའརSQB.NR3བནཀ.ཏཔ3BELཀཤཕR8RN.07Zཔ8པཏ.07སBELཀཤཕ0L46.LG90ཕ46.ཕཅ9DEUགཤའR8RN.07Zཔ8པཏ.07སFRAངཔམVJ0L6.9PNQཟཇ0ཕ6.9དཏནAAAམམམ",
+ "JL0.KPزش0.سطLUXشقمVJ0L6.9PNQكز0ش6.69ط1ضAAAبببJL0.KPزش0.سطLUXشقمR8RN.07Zع8عض.07وLUXشقمSQB.NR3غظ4.ض8ع3BELتىشR8RN.07Zع8عض.07وBELتىش0L46.LG90ش46.شذ9DEUخىقR8RN.07Zع8عض.07وFRAدعبVJ0L6.9PNQكز0ش6.69ط1ضAAAببب"
};
}