Skip to content

Commit 0fb3f04

Browse files
remove the provenance file from the dataset (#4)
* remove the provenance file from the dataset removes the provenance files, moves the folder into the dataset and writes the file again if something went wrong. * make code better * remove recovery Co-authored-by: wow-such-code <[email protected]> --------- Co-authored-by: wow-such-code <[email protected]>
1 parent 0a6567e commit 0fb3f04

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/main/java/life/qbic/registration/openbis/OpenBisDropboxETL.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import ch.systemsx.cisd.etlserver.registrator.api.v2.IDataSetRegistrationTransactionV2;
88
import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISampleImmutable;
99
import java.io.File;
10+
import java.io.IOException;
11+
import java.nio.file.Files;
1012
import life.qbic.registration.openbis.exceptions.fail.MeasurementHasDataException;
1113
import life.qbic.registration.openbis.exceptions.fail.UnknownSampleTypeException;
1214
import life.qbic.registration.openbis.types.QDatasetType;
@@ -50,8 +52,9 @@ public boolean shouldRetryProcessing(DataSetRegistrationContext context, Excepti
5052

5153
@Override
5254
public void process(IDataSetRegistrationTransactionV2 transaction) {
55+
File provenanceFile = new File(transaction.getIncoming(), PROVENANCE_FILE_NAME);
5356
DataSetProvenance dataSetProvenance = ProvenanceParser.parseProvenanceJson(
54-
new File(transaction.getIncoming(), PROVENANCE_FILE_NAME));
57+
provenanceFile);
5558

5659
String measurementId = dataSetProvenance.measurementId();
5760

@@ -69,7 +72,13 @@ public void process(IDataSetRegistrationTransactionV2 transaction) {
6972
QDatasetType qDatasetType = getDatasetType(measurementSample);
7073
newDataSet.setDataSetType(qDatasetType.name());
7174

72-
transaction.moveFile(transaction.getIncoming().getAbsolutePath(), newDataSet);
75+
try {
76+
Files.delete(provenanceFile.toPath());
77+
transaction.moveFile(transaction.getIncoming().getAbsolutePath(), newDataSet);
78+
} catch (IOException e) {
79+
throw new RuntimeException(e);
80+
}
81+
7382
}
7483

7584
private static QDatasetType getDatasetType(ISampleImmutable measurementSample) {

0 commit comments

Comments
 (0)