diff --git a/occurrence-common/src/main/java/org/gbif/occurrence/common/HiveColumnsUtils.java b/occurrence-common/src/main/java/org/gbif/occurrence/common/HiveColumnsUtils.java index 62af050ab..6e6bfb5c8 100644 --- a/occurrence-common/src/main/java/org/gbif/occurrence/common/HiveColumnsUtils.java +++ b/occurrence-common/src/main/java/org/gbif/occurrence/common/HiveColumnsUtils.java @@ -116,7 +116,8 @@ public static boolean isHiveArray(Term term) { || DwcTerm.recordedBy == term || DwcTerm.identifiedBy == term || DwcTerm.preparations == term - || DwcTerm.samplingProtocol == term; + || DwcTerm.samplingProtocol == term + || GbifTerm.projectId == term; } /** diff --git a/occurrence-common/src/main/java/org/gbif/occurrence/common/TermUtils.java b/occurrence-common/src/main/java/org/gbif/occurrence/common/TermUtils.java index 3fad65b7d..098f0cac9 100644 --- a/occurrence-common/src/main/java/org/gbif/occurrence/common/TermUtils.java +++ b/occurrence-common/src/main/java/org/gbif/occurrence/common/TermUtils.java @@ -283,7 +283,8 @@ private static Set termsPopulatedByInterpretation() { DwcTerm.recordedBy, DwcTerm.identifiedBy, DwcTerm.preparations, - DwcTerm.samplingProtocol); + DwcTerm.samplingProtocol, + GbifTerm.projectId); } /** diff --git a/occurrence-download/src/main/java/org/gbif/occurrence/download/file/OccurrenceMapReader.java b/occurrence-download/src/main/java/org/gbif/occurrence/download/file/OccurrenceMapReader.java index 7a19c8e32..35867cf10 100644 --- a/occurrence-download/src/main/java/org/gbif/occurrence/download/file/OccurrenceMapReader.java +++ b/occurrence-download/src/main/java/org/gbif/occurrence/download/file/OccurrenceMapReader.java @@ -105,6 +105,7 @@ public static Map buildInterpretedOccurrenceMap(Occurrence occur interpretedOccurrence.put(DwcTerm.identifiedBy.simpleName(), getSimpleValueAndNormalizeDelimiters(occurrence.getIdentifiedBy())); interpretedOccurrence.put(DwcTerm.preparations.simpleName(), getSimpleValueAndNormalizeDelimiters(occurrence.getPreparations())); interpretedOccurrence.put(DwcTerm.samplingProtocol.simpleName(), getSimpleValueAndNormalizeDelimiters(occurrence.getSamplingProtocol())); + interpretedOccurrence.put(GbifTerm.projectId.simpleName(), getSimpleValueAndNormalizeDelimiters(occurrence.getProjectId())); Optional.ofNullable(occurrence.getVerbatimField(DcTerm.identifier)) .ifPresent(x -> interpretedOccurrence.put(DcTerm.identifier.simpleName(), x)); diff --git a/occurrence-es-mapping/src/main/java/org/gbif/event/search/es/EventEsField.java b/occurrence-es-mapping/src/main/java/org/gbif/event/search/es/EventEsField.java index 1c517f4c5..eef1b5e55 100644 --- a/occurrence-es-mapping/src/main/java/org/gbif/event/search/es/EventEsField.java +++ b/occurrence-es-mapping/src/main/java/org/gbif/event/search/es/EventEsField.java @@ -51,7 +51,7 @@ public enum EventEsField implements EsField { NETWORK_KEY(new BaseEsField("metadata.networkKeys", GbifInternalTerm.networkKey)), PROTOCOL(new BaseEsField("metadata.protocol", GbifTerm.protocol)), LICENSE(new BaseEsField("metadata.license", DcTerm.license)), - PROJECT_ID(new BaseEsField("metadata.projectId", GbifInternalTerm.projectId)), + PROJECT_ID(new BaseEsField("metadata.projectId", GbifTerm.projectId)), PROGRAMME(new BaseEsField("metadata.programmeAcronym", GbifInternalTerm.programmeAcronym)), //Core identification diff --git a/occurrence-es-mapping/src/main/java/org/gbif/event/search/es/OccurrenceEventEsField.java b/occurrence-es-mapping/src/main/java/org/gbif/event/search/es/OccurrenceEventEsField.java index 0f3ab085b..4bfdc3f4a 100644 --- a/occurrence-es-mapping/src/main/java/org/gbif/event/search/es/OccurrenceEventEsField.java +++ b/occurrence-es-mapping/src/main/java/org/gbif/event/search/es/OccurrenceEventEsField.java @@ -50,7 +50,7 @@ public enum OccurrenceEventEsField implements EsField { NETWORK_KEY(new BaseEsField("metadata.networkKeys", GbifInternalTerm.networkKey)), PROTOCOL(new BaseEsField("metadata.protocol", GbifTerm.protocol)), LICENSE(new BaseEsField("metadata.license", DcTerm.license)), - PROJECT_ID(new BaseEsField("metadata.projectId", GbifInternalTerm.projectId)), + PROJECT_ID(new BaseEsField("metadata.projectId", GbifTerm.projectId)), PROGRAMME(new BaseEsField("metadata.programmeAcronym", GbifInternalTerm.programmeAcronym)), //Core identification diff --git a/occurrence-es-mapping/src/main/java/org/gbif/occurrence/search/es/OccurrenceEsField.java b/occurrence-es-mapping/src/main/java/org/gbif/occurrence/search/es/OccurrenceEsField.java index aed61cfa0..30ce000de 100644 --- a/occurrence-es-mapping/src/main/java/org/gbif/occurrence/search/es/OccurrenceEsField.java +++ b/occurrence-es-mapping/src/main/java/org/gbif/occurrence/search/es/OccurrenceEsField.java @@ -46,7 +46,7 @@ public enum OccurrenceEsField implements EsField { NETWORK_KEY(new BaseEsField("networkKeys", GbifInternalTerm.networkKey)), PROTOCOL(new BaseEsField("protocol", GbifTerm.protocol)), LICENSE(new BaseEsField("license", DcTerm.license)), - PROJECT_ID(new BaseEsField("projectId", GbifInternalTerm.projectId)), + PROJECT_ID(new BaseEsField("projectId", GbifTerm.projectId)), PROGRAMME(new BaseEsField("programmeAcronym", GbifInternalTerm.programmeAcronym)), //Core identification diff --git a/occurrence-es-mapping/src/main/java/org/gbif/occurrence/search/es/SearchHitOccurrenceConverter.java b/occurrence-es-mapping/src/main/java/org/gbif/occurrence/search/es/SearchHitOccurrenceConverter.java index ce0988c8d..c5e95e407 100644 --- a/occurrence-es-mapping/src/main/java/org/gbif/occurrence/search/es/SearchHitOccurrenceConverter.java +++ b/occurrence-es-mapping/src/main/java/org/gbif/occurrence/search/es/SearchHitOccurrenceConverter.java @@ -257,7 +257,7 @@ private void setOccurrenceFields(SearchHit hit, Occurrence occ) { occRelation.setId(v); occ.setRelations(Collections.singletonList(occRelation)); }); - getStringValue(hit, occurrenceBaseEsFieldMapper.getEsField(GbifInternalTerm.projectId)).ifPresent(occ::setProjectId); + getListValueAsString(hit, occurrenceBaseEsFieldMapper.getEsField(GbifTerm.projectId)).ifPresent(occ::setProjectId); getStringValue(hit, occurrenceBaseEsFieldMapper.getEsField(GbifInternalTerm.programmeAcronym)).ifPresent(occ::setProgrammeAcronym); getStringValue(hit, occurrenceBaseEsFieldMapper.getEsField(DwcTerm.sampleSizeUnit)).ifPresent(occ::setSampleSizeUnit); diff --git a/occurrence-hdfs-table/src/main/java/org/gbif/occurrence/download/hive/HiveDataTypes.java b/occurrence-hdfs-table/src/main/java/org/gbif/occurrence/download/hive/HiveDataTypes.java index 2e616dbd3..788baf748 100644 --- a/occurrence-hdfs-table/src/main/java/org/gbif/occurrence/download/hive/HiveDataTypes.java +++ b/occurrence-hdfs-table/src/main/java/org/gbif/occurrence/download/hive/HiveDataTypes.java @@ -68,7 +68,7 @@ public final class HiveDataTypes { DwcTerm.preparations, DwcTerm.samplingProtocol, GbifInternalTerm.parentEventGbifId, - GbifInternalTerm.projectId + GbifTerm.projectId ); // dates are all stored as BigInt diff --git a/occurrence-hdfs-table/src/main/java/org/gbif/occurrence/download/hive/OccurrenceHDFSTableDefinition.java b/occurrence-hdfs-table/src/main/java/org/gbif/occurrence/download/hive/OccurrenceHDFSTableDefinition.java index 3a053e88a..28cae856d 100644 --- a/occurrence-hdfs-table/src/main/java/org/gbif/occurrence/download/hive/OccurrenceHDFSTableDefinition.java +++ b/occurrence-hdfs-table/src/main/java/org/gbif/occurrence/download/hive/OccurrenceHDFSTableDefinition.java @@ -115,7 +115,7 @@ private static List internalFields() { .put(GbifInternalTerm.installationKey, columnFor(GbifInternalTerm.installationKey)) .put(GbifInternalTerm.institutionKey, columnFor(GbifInternalTerm.institutionKey)) .put(GbifInternalTerm.collectionKey, columnFor(GbifInternalTerm.collectionKey)) - .put(GbifInternalTerm.projectId, columnFor(GbifInternalTerm.projectId)) + .put(GbifTerm.projectId, columnFor(GbifTerm.projectId)) .put(GbifInternalTerm.programmeAcronym, columnFor(GbifInternalTerm.programmeAcronym)) .put(GbifInternalTerm.hostingOrganizationKey, columnFor(GbifInternalTerm.hostingOrganizationKey)) .put(GbifInternalTerm.isInCluster, columnFor(GbifInternalTerm.isInCluster)) diff --git a/occurrence-ws/src/main/java/org/gbif/occurrence/ws/provider/OccurrenceDwcXMLConverter.java b/occurrence-ws/src/main/java/org/gbif/occurrence/ws/provider/OccurrenceDwcXMLConverter.java index c01111784..35e877650 100644 --- a/occurrence-ws/src/main/java/org/gbif/occurrence/ws/provider/OccurrenceDwcXMLConverter.java +++ b/occurrence-ws/src/main/java/org/gbif/occurrence/ws/provider/OccurrenceDwcXMLConverter.java @@ -135,6 +135,7 @@ public static String occurrenceXMLAsString(Occurrence occurrence) throws Respons appendIfNotNull(dwcXMLDocument, GbifTerm.datasetKey, occurrence.getDatasetKey()); //append(dwcXMLDocument, GbifTerm., occurrence.getPublishingOrgKey()); + appendIfNotNull(dwcXMLDocument, GbifTerm.projectId, occurrence.getProjectId()); appendIfNotNull(dwcXMLDocument, GbifTerm.protocol, occurrence.getProtocol()); dwcXMLDocument.append(GbifTerm.lastCrawled, toISODateTime(occurrence.getLastCrawled())); diff --git a/pom.xml b/pom.xml index e3e44db34..0a4a1da02 100644 --- a/pom.xml +++ b/pom.xml @@ -214,7 +214,7 @@ 0.12 1.47 - 1.43 + 1.45-SNAPSHOT 2.15 1.5.0 0.59