4a6edba467
src/main/java: Add cgspace_name to Countries class
...
We will eventually use this to read CGSpace-specific mappings to
ISO 3166-1 values.
2020-08-01 11:49:22 +03:00
b3a993d5bd
src/main/java: Fix comment alignment
2020-08-01 11:46:13 +03:00
0f2081db51
src/main/java: Correctly map common_name and official_name
...
I forgot to fix these so that they map exactly to the ISO 3166-1
JSON so that GSON can deserialize them automatically.
2020-08-01 11:44:54 +03:00
91a4367f38
src/main/java: Add comment
2020-08-01 11:01:27 +03:00
8c23277382
src/main/resources: Start collecting CGSpace countries
...
I will use the same format as the ISO 3166-1 JSON to make parsing
easier. I will add a new "cgspace_name" key to indicate our custom
name, though the codes will map to the standard ISO 3166-1 codes.
2020-08-01 09:31:26 +03:00
6477b923b6
Add working tagging of ISO 3166-1 countries
...
If an item has country metadata (cg.coverage.country) and no alpha
codes we check for name matches in ISO 3166 and add alpha_2 codes.
The name matching checks for a case-insensitive match on either an
ISO 3166-1 name, official name, or common name.
2020-08-01 00:05:21 +03:00
6995d7a864
Match alpha_2 and alpha_3 JSON elements with class
...
For GSON to automatically map these to our class we need to make
sure they use the same name.
2020-08-01 00:02:27 +03:00
edd08c859a
CountryCodeTagger.java: Remove FileReader import
...
We are using an InputStream now.
2020-07-31 23:37:06 +03:00
94ceabb732
Close BufferedReader after we use it
2020-07-31 22:26:50 +03:00
9089ffb66f
Add TODO about using try-with-resource
...
This would automatically close the BufferedReader after we are done
with it, but it also means that the JSON object we create is lost
when we exit the try() scope...
See: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
2020-07-31 22:26:33 +03:00
af708933b2
Use BufferedReader for iso-codes JSON
2020-07-31 22:25:09 +03:00
bb9e53b220
README.md: Add note about iso-codes license
...
Debian's iso-codes project uses the LGPL v2.1 license.
See: https://salsa.debian.org/iso-codes-team/iso-codes/-/blob/main/COPYING
2020-07-31 22:23:35 +03:00
d11bd00fa9
Use country vocabs from package resources
...
Import a local copy of iso_3166-1.json from iso-codes version 4.5.0
so we don't need to load it from the system.
See: https://salsa.debian.org/iso-codes-team/iso-codes
2020-07-31 22:18:32 +03:00
01be5c69ba
Add .gitignore
2020-07-31 22:01:05 +03:00
4cf0626385
Update comments
2020-07-31 22:00:41 +03:00
f62b50f5a1
Use the @SerializedName annotation for ISO 3166-1
...
Our Java class needs to match the input JSON structure exactly, but
we can't use "3166-1" as a variable name so we tell GSON to use the
name "3166-1" when deserializing to countries.
2020-07-31 21:52:48 +03:00
968bd354fe
Optimize imports
2020-07-31 21:42:41 +03:00
89f1734a9a
Initial commit
2020-07-31 21:40:15 +03:00