77import ch .systemsx .cisd .etlserver .registrator .api .v2 .IDataSetRegistrationTransactionV2 ;
88import ch .systemsx .cisd .openbis .dss .generic .shared .api .internal .v2 .ISampleImmutable ;
99import java .io .File ;
10+ import java .io .IOException ;
11+ import java .nio .file .Files ;
1012import life .qbic .registration .openbis .exceptions .fail .MeasurementHasDataException ;
1113import life .qbic .registration .openbis .exceptions .fail .UnknownSampleTypeException ;
1214import 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