Skip to content

Commit 8593d32

Browse files
committed
send to DataCite either Dataset, Software, or Workflow #10517
For resourceTypeGeneral.
1 parent 78a3c1a commit 8593d32

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

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

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import edu.harvard.iq.dataverse.Dataset;
1717
import edu.harvard.iq.dataverse.DatasetAuthor;
1818
import edu.harvard.iq.dataverse.DvObject;
19+
import edu.harvard.iq.dataverse.dataset.DatasetType;
1920
import edu.harvard.iq.dataverse.pidproviders.AbstractPidProvider;
2021

2122
public class XmlMetadataTemplate {
@@ -43,6 +44,7 @@ public class XmlMetadataTemplate {
4344
private String publisher;
4445
private String publisherYear;
4546
private List<DatasetAuthor> authors;
47+
private String resourceTypeGeneral;
4648
private String description;
4749
private List<String[]> contacts;
4850
private List<String[]> producers;
@@ -197,6 +199,22 @@ public String generateXML(DvObject dvObject) {
197199
}
198200
}
199201

202+
if (dvObject.isInstanceofDataset()) {
203+
Dataset dataset = (Dataset) dvObject;
204+
String datasetTypeName = dataset.getDatasetType().getName();
205+
resourceTypeGeneral = switch (datasetTypeName) {
206+
case "dataset" ->
207+
"Dataset";
208+
case "software" ->
209+
"Software";
210+
case "workflow" ->
211+
"Workflow";
212+
default ->
213+
"Dataset";
214+
};
215+
xmlMetadata = xmlMetadata.replace("${resourceTypeGeneral}", resourceTypeGeneral);
216+
}
217+
200218
String relIdentifiers = generateRelatedIdentifiers(dvObject);
201219

202220
xmlMetadata = xmlMetadata.replace("${relatedIdentifiers}", relIdentifiers);
@@ -311,4 +329,12 @@ public void setPublisherYear(String publisherYear) {
311329
this.publisherYear = publisherYear;
312330
}
313331

332+
public String getResourceTypeGeneral() {
333+
return resourceTypeGeneral;
334+
}
335+
336+
public void setResourceTypeGeneral(String resourceTypeGeneral) {
337+
this.resourceTypeGeneral = resourceTypeGeneral;
338+
}
339+
314340
}

src/main/resources/edu/harvard/iq/dataverse/pidproviders/doi/datacite_metadata_template.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</titles>
1010
<publisher>${publisher}</publisher>
1111
<publicationYear>${publisherYear}</publicationYear>
12-
<resourceType resourceTypeGeneral="Dataset"/>
12+
<resourceType resourceTypeGeneral="${resourceTypeGeneral}"/>
1313
${relatedIdentifiers}
1414
<descriptions>
1515
<description descriptionType="Abstract">${description}</description>

0 commit comments

Comments
 (0)