Skip to content

Commit 54713fe

Browse files
committed
chore: migrate exporters to new Exporter interface in Extension API IQSS#9175
- Change main export method signature (avoids internal model class DatasetVersion in Extension API) - Migrate imports - Cleanup imports order Note: this commit introduces a BREAKING change, as a few exporters relied on the DatasetVersion parameter! This will need to be addressed.
1 parent 4016a3d commit 54713fe

10 files changed

Lines changed: 48 additions & 48 deletions

src/main/java/edu/harvard/iq/dataverse/export/DCTermsExporter.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22
package edu.harvard.iq.dataverse.export;
33

44
import com.google.auto.service.AutoService;
5-
import edu.harvard.iq.dataverse.DatasetVersion;
65
import edu.harvard.iq.dataverse.export.dublincore.DublinCoreExportUtil;
7-
import edu.harvard.iq.dataverse.export.spi.Exporter;
86
import edu.harvard.iq.dataverse.util.BundleUtil;
9-
import java.io.OutputStream;
7+
import io.gdcc.dataverse.extension.exceptions.ExportException;
8+
import io.gdcc.dataverse.extension.spi.Exporter;
9+
1010
import javax.json.JsonObject;
1111
import javax.xml.stream.XMLStreamException;
12+
import java.io.OutputStream;
1213

1314
/**
1415
*
@@ -30,7 +31,7 @@ public String getDisplayName() {
3031
}
3132

3233
@Override
33-
public void exportDataset(DatasetVersion version, JsonObject json, OutputStream outputStream) throws ExportException {
34+
public void exportDataset(JsonObject json, OutputStream outputStream) throws ExportException {
3435
try {
3536
DublinCoreExportUtil.datasetJson2dublincore(json, outputStream, DublinCoreExportUtil.DC_FLAVOR_DCTERMS);
3637
} catch (XMLStreamException xse) {

src/main/java/edu/harvard/iq/dataverse/export/DDIExporter.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,16 @@
22
package edu.harvard.iq.dataverse.export;
33

44
import com.google.auto.service.AutoService;
5-
import edu.harvard.iq.dataverse.DatasetVersion;
65
import edu.harvard.iq.dataverse.export.ddi.DdiExportUtil;
7-
import edu.harvard.iq.dataverse.export.spi.Exporter;
86
import edu.harvard.iq.dataverse.util.BundleUtil;
9-
import java.io.OutputStream;
7+
import io.gdcc.dataverse.extension.exceptions.ExportException;
8+
import io.gdcc.dataverse.extension.spi.Exporter;
9+
1010
import javax.json.JsonObject;
11+
import javax.xml.stream.XMLOutputFactory;
1112
import javax.xml.stream.XMLStreamException;
1213
import javax.xml.stream.XMLStreamWriter;
13-
import javax.xml.stream.XMLOutputFactory;
14+
import java.io.OutputStream;
1415

1516
/**
1617
* This exporter is for the "full" DDI, that includes the file-level,
@@ -39,7 +40,7 @@ public String getDisplayName() {
3940
}
4041

4142
@Override
42-
public void exportDataset(DatasetVersion version, JsonObject json, OutputStream outputStream) throws ExportException {
43+
public void exportDataset(JsonObject json, OutputStream outputStream) throws ExportException {
4344
try {
4445
XMLStreamWriter xmlw = XMLOutputFactory.newInstance().createXMLStreamWriter(outputStream);
4546
xmlw.writeStartDocument();

src/main/java/edu/harvard/iq/dataverse/export/DataCiteExporter.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22
package edu.harvard.iq.dataverse.export;
33

44
import com.google.auto.service.AutoService;
5-
65
import edu.harvard.iq.dataverse.DOIDataCiteRegisterService;
76
import edu.harvard.iq.dataverse.DataCitation;
8-
import edu.harvard.iq.dataverse.DatasetVersion;
9-
import edu.harvard.iq.dataverse.export.spi.Exporter;
107
import edu.harvard.iq.dataverse.util.BundleUtil;
8+
import io.gdcc.dataverse.extension.exceptions.ExportException;
9+
import io.gdcc.dataverse.extension.spi.Exporter;
10+
11+
import javax.json.JsonObject;
1112
import java.io.IOException;
1213
import java.io.OutputStream;
1314
import java.nio.charset.Charset;
1415
import java.util.Map;
15-
import javax.json.JsonObject;
1616

1717
/**
1818
*
@@ -39,7 +39,7 @@ public String getDisplayName() {
3939
}
4040

4141
@Override
42-
public void exportDataset(DatasetVersion version, JsonObject json, OutputStream outputStream)
42+
public void exportDataset(JsonObject json, OutputStream outputStream)
4343
throws ExportException {
4444
try {
4545
DataCitation dc = new DataCitation(version);

src/main/java/edu/harvard/iq/dataverse/export/DublinCoreExporter.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22
package edu.harvard.iq.dataverse.export;
33

44
import com.google.auto.service.AutoService;
5-
import edu.harvard.iq.dataverse.DatasetVersion;
65
import edu.harvard.iq.dataverse.export.dublincore.DublinCoreExportUtil;
7-
import edu.harvard.iq.dataverse.export.spi.Exporter;
86
import edu.harvard.iq.dataverse.util.BundleUtil;
9-
import java.io.OutputStream;
7+
import io.gdcc.dataverse.extension.exceptions.ExportException;
8+
import io.gdcc.dataverse.extension.spi.Exporter;
9+
1010
import javax.json.JsonObject;
1111
import javax.xml.stream.XMLStreamException;
12+
import java.io.OutputStream;
1213

1314
/**
1415
*
@@ -30,7 +31,7 @@ public String getDisplayName() {
3031
}
3132

3233
@Override
33-
public void exportDataset(DatasetVersion version, JsonObject json, OutputStream outputStream) throws ExportException {
34+
public void exportDataset(JsonObject json, OutputStream outputStream) throws ExportException {
3435
try {
3536
DublinCoreExportUtil.datasetJson2dublincore(json, outputStream, DublinCoreExportUtil.DC_FLAVOR_OAI);
3637
} catch (XMLStreamException xse) {

src/main/java/edu/harvard/iq/dataverse/export/HtmlCodeBookExporter.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
11
package edu.harvard.iq.dataverse.export;
22

33
import com.google.auto.service.AutoService;
4-
import edu.harvard.iq.dataverse.Dataset;
5-
import edu.harvard.iq.dataverse.DatasetVersion;
64
import edu.harvard.iq.dataverse.export.ddi.DdiExportUtil;
7-
import edu.harvard.iq.dataverse.export.spi.Exporter;
85
import edu.harvard.iq.dataverse.util.BundleUtil;
6+
import io.gdcc.dataverse.extension.exceptions.ExportException;
7+
import io.gdcc.dataverse.extension.spi.Exporter;
98

109
import javax.json.JsonObject;
1110
import javax.ws.rs.core.MediaType;
1211
import javax.xml.stream.XMLStreamException;
13-
import java.io.File;
1412
import java.io.IOException;
1513
import java.io.InputStream;
1614
import java.io.OutputStream;
17-
import java.nio.file.Path;
18-
import java.nio.file.Paths;
1915

2016
@AutoService(Exporter.class)
2117
public class HtmlCodeBookExporter implements Exporter {
@@ -31,7 +27,7 @@ public String getDisplayName() {
3127
}
3228

3329
@Override
34-
public void exportDataset(DatasetVersion version, JsonObject json, OutputStream outputStream) throws ExportException {
30+
public void exportDataset(JsonObject json, OutputStream outputStream) throws ExportException {
3531
try {
3632
InputStream ddiInputStream;
3733
try {

src/main/java/edu/harvard/iq/dataverse/export/JSONExporter.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
package edu.harvard.iq.dataverse.export;
33

44
import com.google.auto.service.AutoService;
5-
import edu.harvard.iq.dataverse.DatasetVersion;
6-
import edu.harvard.iq.dataverse.export.spi.Exporter;
75
import edu.harvard.iq.dataverse.util.BundleUtil;
6+
import io.gdcc.dataverse.extension.exceptions.ExportException;
7+
import io.gdcc.dataverse.extension.spi.Exporter;
8+
89
import java.io.OutputStream;
910
import javax.json.JsonObject;
1011
import javax.ws.rs.core.MediaType;
@@ -28,7 +29,7 @@ public String getDisplayName() {
2829
}
2930

3031
@Override
31-
public void exportDataset(DatasetVersion version, JsonObject json, OutputStream outputStream) throws ExportException {
32+
public void exportDataset(JsonObject json, OutputStream outputStream) throws ExportException {
3233
try{
3334
outputStream.write(json.toString().getBytes("UTF8"));
3435
outputStream.flush();

src/main/java/edu/harvard/iq/dataverse/export/OAI_DDIExporter.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
package edu.harvard.iq.dataverse.export;
33

44
import com.google.auto.service.AutoService;
5-
import edu.harvard.iq.dataverse.DatasetVersion;
65
import edu.harvard.iq.dataverse.export.ddi.DdiExportUtil;
7-
import edu.harvard.iq.dataverse.export.spi.Exporter;
86
import edu.harvard.iq.dataverse.util.BundleUtil;
7+
import io.gdcc.dataverse.extension.exceptions.ExportException;
8+
import io.gdcc.dataverse.extension.spi.Exporter;
9+
910
import java.io.OutputStream;
1011
import javax.json.JsonObject;
1112
import javax.xml.stream.XMLStreamException;
@@ -32,7 +33,7 @@ public String getDisplayName() {
3233
}
3334

3435
@Override
35-
public void exportDataset(DatasetVersion version, JsonObject json, OutputStream outputStream) throws ExportException {
36+
public void exportDataset(JsonObject json, OutputStream outputStream) throws ExportException {
3637
try {
3738
DdiExportUtil.datasetJson2ddi(json, outputStream);
3839
} catch (XMLStreamException xse) {

src/main/java/edu/harvard/iq/dataverse/export/OAI_OREExporter.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
package edu.harvard.iq.dataverse.export;
22

33
import com.google.auto.service.AutoService;
4-
import edu.harvard.iq.dataverse.DatasetVersion;
5-
import edu.harvard.iq.dataverse.export.spi.Exporter;
6-
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
7-
import edu.harvard.iq.dataverse.export.ExportException;
84
import edu.harvard.iq.dataverse.util.BundleUtil;
95
import edu.harvard.iq.dataverse.util.bagit.OREMap;
10-
import java.io.OutputStream;
11-
import java.util.ResourceBundle;
12-
import java.util.logging.Logger;
6+
import io.gdcc.dataverse.extension.exceptions.ExportException;
7+
import io.gdcc.dataverse.extension.spi.Exporter;
138

149
import javax.json.JsonObject;
1510
import javax.ws.rs.core.MediaType;
11+
import java.io.OutputStream;
12+
import java.util.logging.Logger;
1613

1714
@AutoService(Exporter.class)
1815
public class OAI_OREExporter implements Exporter {
@@ -22,7 +19,7 @@ public class OAI_OREExporter implements Exporter {
2219
public static final String NAME = "OAI_ORE";
2320

2421
@Override
25-
public void exportDataset(DatasetVersion version, JsonObject json, OutputStream outputStream)
22+
public void exportDataset(JsonObject json, OutputStream outputStream)
2623
throws ExportException {
2724
try {
2825
new OREMap(version).writeOREMap(outputStream);

src/main/java/edu/harvard/iq/dataverse/export/OpenAireExporter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99

1010
import edu.harvard.iq.dataverse.DatasetVersion;
1111
import edu.harvard.iq.dataverse.export.openaire.OpenAireExportUtil;
12-
import edu.harvard.iq.dataverse.export.spi.Exporter;
1312
import edu.harvard.iq.dataverse.util.BundleUtil;
13+
import io.gdcc.dataverse.extension.exceptions.ExportException;
14+
import io.gdcc.dataverse.extension.spi.Exporter;
1415

1516
@AutoService(Exporter.class)
1617
public class OpenAireExporter implements Exporter {
@@ -29,7 +30,7 @@ public String getDisplayName() {
2930
}
3031

3132
@Override
32-
public void exportDataset(DatasetVersion version, JsonObject json, OutputStream outputStream)
33+
public void exportDataset(JsonObject json, OutputStream outputStream)
3334
throws ExportException {
3435
try {
3536
OpenAireExportUtil.datasetJson2openaire(json, outputStream);

src/main/java/edu/harvard/iq/dataverse/export/SchemaDotOrgExporter.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
package edu.harvard.iq.dataverse.export;
22

33
import com.google.auto.service.AutoService;
4-
import edu.harvard.iq.dataverse.DatasetVersion;
5-
import edu.harvard.iq.dataverse.export.spi.Exporter;
64
import edu.harvard.iq.dataverse.util.BundleUtil;
7-
import java.io.IOException;
8-
import java.io.OutputStream;
9-
import java.io.StringReader;
10-
import java.util.logging.Logger;
5+
import io.gdcc.dataverse.extension.exceptions.ExportException;
6+
import io.gdcc.dataverse.extension.spi.Exporter;
7+
118
import javax.json.Json;
129
import javax.json.JsonObject;
1310
import javax.json.JsonReader;
1411
import javax.ws.rs.core.MediaType;
12+
import java.io.IOException;
13+
import java.io.OutputStream;
14+
import java.io.StringReader;
15+
import java.util.logging.Logger;
1516

1617
/**
1718
* Schema.org JSON-LD is used by Google Dataset Search and other services to
@@ -75,7 +76,7 @@ public class SchemaDotOrgExporter implements Exporter {
7576
public static final String NAME = "schema.org";
7677

7778
@Override
78-
public void exportDataset(DatasetVersion version, JsonObject json, OutputStream outputStream) throws ExportException {
79+
public void exportDataset(JsonObject json, OutputStream outputStream) throws ExportException {
7980
String jsonLdAsString = version.getJsonLd();
8081
try (JsonReader jsonReader = Json.createReader(new StringReader(jsonLdAsString));) {
8182
JsonObject jsonLdJsonObject = jsonReader.readObject();

0 commit comments

Comments
 (0)