1616import edu .harvard .iq .dataverse .Dataset ;
1717import edu .harvard .iq .dataverse .DatasetAuthor ;
1818import edu .harvard .iq .dataverse .DvObject ;
19+ import edu .harvard .iq .dataverse .dataset .DatasetType ;
1920import edu .harvard .iq .dataverse .pidproviders .AbstractPidProvider ;
2021
2122public 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}
0 commit comments