Skip to content

Commit 35546cc

Browse files
authored
Merge pull request #11236 from GlobalDataverseCommunityConsortium/IQSS/DataCite_publishing_bug
DOI Publishing Bug Fix
2 parents b0d136c + aad38ee commit 35546cc

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This release fixes a bug which could cause publication of datasets to fail in cases where they were not assigned a DOI at creation.

src/main/java/edu/harvard/iq/dataverse/pidproviders/doi/XmlMetadataTemplate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ private void writeDates(XMLStreamWriter xmlw, DvObject dvObject) throws XMLStrea
686686
} else if (dvObject instanceof Dataset d) {
687687
DatasetVersion dv = d.getLatestVersionForCopy();
688688
Long versionNumber = dv.getVersionNumber();
689-
if (versionNumber != null && !(versionNumber.equals(1) && dv.getMinorVersionNumber().equals(0))) {
689+
if (versionNumber != null && !(versionNumber.equals(1L) && dv.getMinorVersionNumber().equals(0L))) {
690690
isAnUpdate = true;
691691
}
692692
releaseDate = dv.getReleaseTime();

src/test/java/edu/harvard/iq/dataverse/pidproviders/doi/datacite/XmlMetadataTemplateTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,19 @@ public void testDataCiteXMLCreation() throws IOException {
201201
assertEquals(null, XmlPath.from(xml).getString("resource.creators.creator[3].nameIdentifier.@schemeURI"));
202202
assertEquals("Dataverse", XmlPath.from(xml).getString("resource.publisher"));
203203

204+
dv.setVersionNumber(1L);
205+
dv.setMinorVersionNumber(0l);
206+
String xml2 = template.generateXML(d);
207+
System.out.println("Output from example with v1.0 is " + xml2);
208+
try {
209+
StreamSource source = new StreamSource(new StringReader(xml2));
210+
source.setSystemId("DataCite XML for test dataset");
211+
assertTrue(XmlValidator.validateXmlSchema(source,
212+
new URL("https://schema.datacite.org/meta/kernel-4/metadata.xsd")));
213+
} catch (SAXException e) {
214+
System.out.println("Invalid schema: " + e.getMessage());
215+
fail("Schema validation failed: " + e.getMessage());
216+
}
204217
}
205218

206219
/**

0 commit comments

Comments
 (0)