From 1d1a482ab96f2357a11d6e9b7d45998fb30f85c4 Mon Sep 17 00:00:00 2001 From: Mikhail Podolskiy Date: Tue, 22 Aug 2023 12:31:28 +0200 Subject: [PATCH] gbif/ipt#2002 Reset subtype on update --- .../java/org/gbif/registry/domain/ws/LegacyDataset.java | 8 ++++++-- .../gbif/registry/ws/resources/legacy/IptResource.java | 1 + .../ws/resources/legacy/LegacyDatasetResource.java | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/registry-domain/src/main/java/org/gbif/registry/domain/ws/LegacyDataset.java b/registry-domain/src/main/java/org/gbif/registry/domain/ws/LegacyDataset.java index e9c7b21f6..72fbce5d9 100644 --- a/registry-domain/src/main/java/org/gbif/registry/domain/ws/LegacyDataset.java +++ b/registry-domain/src/main/java/org/gbif/registry/domain/ws/LegacyDataset.java @@ -857,6 +857,7 @@ public Dataset toApiDataset() { dataset.setLogoUrl(getLogoUrl()); dataset.setHomepage(getHomepage()); dataset.setType(getType()); + dataset.setSubtype(getSubtype()); dataset.setDoi(datasetDoi); return dataset; } @@ -880,7 +881,8 @@ public boolean equals(Object o) { && Objects.equal(primaryContact, that.primaryContact) && Objects.equal(emlEndpoint, that.emlEndpoint) && Objects.equal(archiveEndpoint, that.archiveEndpoint) - && Objects.equal(dataPackageEndpoint, that.dataPackageEndpoint); + && Objects.equal(dataPackageEndpoint, that.dataPackageEndpoint) + && Objects.equal(rawSubtype, that.rawSubtype); } @Generated @@ -900,7 +902,8 @@ public int hashCode() { primaryContact, emlEndpoint, archiveEndpoint, - dataPackageEndpoint); + dataPackageEndpoint, + rawSubtype); } @Generated @@ -920,6 +923,7 @@ public String toString() { .add("emlEndpoint", emlEndpoint) .add("archiveEndpoint", archiveEndpoint) .add("dataPackageEndpoint", dataPackageEndpoint) + .add("rawSubtype", rawSubtype) .toString(); } } diff --git a/registry-ws/src/main/java/org/gbif/registry/ws/resources/legacy/IptResource.java b/registry-ws/src/main/java/org/gbif/registry/ws/resources/legacy/IptResource.java index 86c8f5aac..daf077b0d 100644 --- a/registry-ws/src/main/java/org/gbif/registry/ws/resources/legacy/IptResource.java +++ b/registry-ws/src/main/java/org/gbif/registry/ws/resources/legacy/IptResource.java @@ -361,6 +361,7 @@ else if (dataset.getInstallationKey() != existing.getInstallationKey()) { // (A crawl will be triggered and EML read, unless the EML is not modified.) existing.setModifiedBy(user); existing.setType(dataset.getType()); + existing.setSubtype(dataset.getSubtype()); existing.setInstallationKey(dataset.getInstallationKey()); existing.setPublishingOrganizationKey(dataset.getPublishingOrganizationKey()); diff --git a/registry-ws/src/main/java/org/gbif/registry/ws/resources/legacy/LegacyDatasetResource.java b/registry-ws/src/main/java/org/gbif/registry/ws/resources/legacy/LegacyDatasetResource.java index 62dfa5007..c3d476a22 100644 --- a/registry-ws/src/main/java/org/gbif/registry/ws/resources/legacy/LegacyDatasetResource.java +++ b/registry-ws/src/main/java/org/gbif/registry/ws/resources/legacy/LegacyDatasetResource.java @@ -181,6 +181,7 @@ else if (dataset.getInstallationKey() != existing.getInstallationKey()) { existing.setLogoUrl(dataset.getLogoUrl()); existing.setLanguage(dataset.getLanguage()); existing.setInstallationKey(dataset.getInstallationKey()); + existing.setSubtype(dataset.getSubtype()); existing.setPublishingOrganizationKey(dataset.getPublishingOrganizationKey());