@Override
public URI preTransform(URI input) throws StorageEngineException, IOException, FileFormatException {
String fileName = VariantReaderUtils.getFileName(input);
String study = options.getString(Options.STUDY.key());
boolean isolate = options.getBoolean(Options.ISOLATE_FILE_FROM_STUDY_CONFIGURATION.key(),
Options.ISOLATE_FILE_FROM_STUDY_CONFIGURATION.defaultValue());
StudyConfiguration studyConfiguration;
if (isolate) {
logger.debug("Isolated study configuration");
studyConfiguration = new StudyConfiguration(-1, "unknown", -1, fileName);
studyConfiguration.setAggregationStr(options.getString(Options.AGGREGATED_TYPE.key(),
Options.AGGREGATED_TYPE.defaultValue().toString()));
options.put(Options.ISOLATE_FILE_FROM_STUDY_CONFIGURATION.key(), true);
} else {
StudyConfigurationManager scm = dbAdaptor.getStudyConfigurationManager();
checkExistsStudyConfiguration(null);
studyConfiguration = scm.lockAndUpdate(study, existingStudyConfiguration -> {
if (existingStudyConfiguration.getAggregation() == null) {
existingStudyConfiguration.setAggregationStr(options.getString(Options.AGGREGATED_TYPE.key(),
Options.AGGREGATED_TYPE.defaultValue().toString()));
}
setFileId(scm.registerFile(existingStudyConfiguration, input.getPath()));
return existingStudyConfiguration;
});
}
privateStudyConfiguration = studyConfiguration;
return input;
}