diff --git a/api/pom.xml b/api/pom.xml index ef7b32b3..e0242a4d 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -3,7 +3,7 @@ vocabulary-parent org.gbif.vocabulary - 1.0.8-SNAPSHOT + 1.0.9-SNAPSHOT 4.0.0 diff --git a/core/pom.xml b/core/pom.xml index 7398b507..e3c93d27 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -5,7 +5,7 @@ org.gbif.vocabulary vocabulary-parent - 1.0.8-SNAPSHOT + 1.0.9-SNAPSHOT core diff --git a/model/pom.xml b/model/pom.xml index 793ccdba..42f62b4a 100644 --- a/model/pom.xml +++ b/model/pom.xml @@ -5,7 +5,7 @@ org.gbif.vocabulary vocabulary-parent - 1.0.8-SNAPSHOT + 1.0.9-SNAPSHOT model diff --git a/pom.xml b/pom.xml index 09d8800a..264a9a2c 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ org.gbif.vocabulary vocabulary-parent pom - 1.0.8-SNAPSHOT + 1.0.9-SNAPSHOT core diff --git a/tools/pom.xml b/tools/pom.xml index 26267e0f..c269147a 100644 --- a/tools/pom.xml +++ b/tools/pom.xml @@ -3,7 +3,7 @@ vocabulary-parent org.gbif.vocabulary - 1.0.8-SNAPSHOT + 1.0.9-SNAPSHOT 4.0.0 diff --git a/vocabulary-cli/pom.xml b/vocabulary-cli/pom.xml index a531eb97..7b91609d 100644 --- a/vocabulary-cli/pom.xml +++ b/vocabulary-cli/pom.xml @@ -3,7 +3,7 @@ vocabulary-parent org.gbif.vocabulary - 1.0.8-SNAPSHOT + 1.0.9-SNAPSHOT 4.0.0 diff --git a/vocabulary-importer/README.md b/vocabulary-importer/README.md index 7c94ff39..bcc7c026 100644 --- a/vocabulary-importer/README.md +++ b/vocabulary-importer/README.md @@ -94,12 +94,10 @@ This tool can be run via command line by sending these params: * *--csvDelimiter, -d (Optional)* Delimiter of the CSV files for concepts and hidden labels. If not specified it uses a comma (","). - Note that some delimiters may need to be escaped for Java, e.g.: \\\\| * *--listDelimiter, -ld (Optional)* - Delimiter to specify multiple values in the alternative labels. If not specified it uses a pipe ("|"). - Note that some delimiters may need to be escaped for Java, e.g.: \\\\| + Delimiter to specify multiple values in the alternative labels. If not specified it uses a pipe ("|") * *--apiUrl, -a* diff --git a/vocabulary-importer/pom.xml b/vocabulary-importer/pom.xml index 4e347a31..e9363fc7 100644 --- a/vocabulary-importer/pom.xml +++ b/vocabulary-importer/pom.xml @@ -3,12 +3,12 @@ org.gbif.vocabulary vocabulary-parent - 1.0.8-SNAPSHOT + 1.0.9-SNAPSHOT 4.0.0 vocabulary-importer - 1.0.8-SNAPSHOT + 1.0.9-SNAPSHOT ${project.parent.basedir} diff --git a/vocabulary-importer/src/main/java/org/gbif/vocabulary/importer/Fields.java b/vocabulary-importer/src/main/java/org/gbif/vocabulary/importer/Fields.java index ff068b28..e79c8811 100644 --- a/vocabulary-importer/src/main/java/org/gbif/vocabulary/importer/Fields.java +++ b/vocabulary-importer/src/main/java/org/gbif/vocabulary/importer/Fields.java @@ -28,5 +28,5 @@ public class Fields { static final String TAGS = "TAGS"; static final List CONCEPT_FIELDS = - Arrays.asList(CONCEPT, PARENT, SAME_AS_URIS, EXTERNAL_DEFINITIONS); + Arrays.asList(CONCEPT, PARENT, SAME_AS_URIS, EXTERNAL_DEFINITIONS, TAGS); } diff --git a/vocabulary-importer/src/main/java/org/gbif/vocabulary/importer/VocabularyImporter.java b/vocabulary-importer/src/main/java/org/gbif/vocabulary/importer/VocabularyImporter.java index f3da85a0..b95d34ff 100644 --- a/vocabulary-importer/src/main/java/org/gbif/vocabulary/importer/VocabularyImporter.java +++ b/vocabulary-importer/src/main/java/org/gbif/vocabulary/importer/VocabularyImporter.java @@ -46,6 +46,7 @@ import java.util.Optional; import java.util.Set; import java.util.function.Function; +import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -566,7 +567,8 @@ private ConceptData parseConceptFields( if (headersIndexes.containsKey(SAME_AS_URIS) && !Strings.isNullOrEmpty(values[headersIndexes.get(SAME_AS_URIS)])) { Set sameAsUris = new HashSet<>(); - String[] urisValues = values[headersIndexes.get(SAME_AS_URIS)].split(listDelimiter); + String[] urisValues = + values[headersIndexes.get(SAME_AS_URIS)].split(Pattern.quote(listDelimiter)); for (String uri : urisValues) { try { sameAsUris.add(URI.create(uri.trim())); @@ -582,7 +584,8 @@ private ConceptData parseConceptFields( if (headersIndexes.containsKey(EXTERNAL_DEFINITIONS) && !Strings.isNullOrEmpty(values[headersIndexes.get(SAME_AS_URIS)])) { Set externalDefinitions = new HashSet<>(); - String[] externalDefsValues = values[headersIndexes.get(SAME_AS_URIS)].split(listDelimiter); + String[] externalDefsValues = + values[headersIndexes.get(SAME_AS_URIS)].split(Pattern.quote(listDelimiter)); for (String definition : externalDefsValues) { try { externalDefinitions.add(URI.create(definition.trim())); @@ -597,7 +600,7 @@ private ConceptData parseConceptFields( // tags if (headersIndexes.containsKey(TAGS) && !Strings.isNullOrEmpty(values[headersIndexes.get(TAGS)])) { - String[] tagsValues = values[headersIndexes.get(TAGS)].split(listDelimiter); + String[] tagsValues = values[headersIndexes.get(TAGS)].split(Pattern.quote(listDelimiter)); conceptData.tags = Arrays.stream(tagsValues) .filter(s -> !Strings.isNullOrEmpty(s)) @@ -628,7 +631,7 @@ private static List