7
7
import ch .systemsx .cisd .etlserver .registrator .api .v2 .IDataSetRegistrationTransactionV2 ;
8
8
import ch .systemsx .cisd .openbis .dss .generic .shared .api .internal .v2 .ISampleImmutable ;
9
9
import java .io .File ;
10
+ import java .io .IOException ;
11
+ import java .nio .file .Files ;
10
12
import life .qbic .registration .openbis .exceptions .fail .MeasurementHasDataException ;
11
13
import life .qbic .registration .openbis .exceptions .fail .UnknownSampleTypeException ;
12
14
import life .qbic .registration .openbis .types .QDatasetType ;
@@ -50,8 +52,9 @@ public boolean shouldRetryProcessing(DataSetRegistrationContext context, Excepti
50
52
51
53
@ Override
52
54
public void process (IDataSetRegistrationTransactionV2 transaction ) {
55
+ File provenanceFile = new File (transaction .getIncoming (), PROVENANCE_FILE_NAME );
53
56
DataSetProvenance dataSetProvenance = ProvenanceParser .parseProvenanceJson (
54
- new File ( transaction . getIncoming (), PROVENANCE_FILE_NAME ) );
57
+ provenanceFile );
55
58
56
59
String measurementId = dataSetProvenance .measurementId ();
57
60
@@ -69,7 +72,13 @@ public void process(IDataSetRegistrationTransactionV2 transaction) {
69
72
QDatasetType qDatasetType = getDatasetType (measurementSample );
70
73
newDataSet .setDataSetType (qDatasetType .name ());
71
74
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
+
73
82
}
74
83
75
84
private static QDatasetType getDatasetType (ISampleImmutable measurementSample ) {
0 commit comments