public Thread newShutdownHook(String jobOperationName, List<Integer> files) throws StorageEngineException { return getStudyConfigurationManager().buildShutdownHook(jobOperationName, getStudyId(), files); }
public void securePostLoad(List<Integer> fileIds, StudyConfiguration studyConfiguration) throws StorageEngineException { // Update indexed files studyConfiguration.getIndexedFiles().addAll(fileIds); // Update the cohort ALL. Invalidate if needed String defaultCohortName = StudyEntry.DEFAULT_COHORT; BiMap<String, Integer> indexedSamples = StudyConfiguration.getIndexedSamples(studyConfiguration); // Register or update default cohort getStudyConfigurationManager() .registerCohorts(studyConfiguration, Collections.singletonMap(defaultCohortName, indexedSamples.keySet())); int defaultCohortId = studyConfiguration.getCohortIds().get(defaultCohortName); logger.info("Add loaded samples to Default Cohort \"" + defaultCohortName + '"'); studyConfiguration.getCohorts().put(defaultCohortId, indexedSamples.values()); }
protected StudyConfiguration checkExistsStudyConfiguration(StudyConfiguration studyConfiguration) throws StorageEngineException { if (studyConfiguration == null) { studyConfiguration = getStudyConfiguration(); if (studyConfiguration == null) { String studyName = options.getString(Options.STUDY.key(), Options.STUDY.defaultValue()); logger.info("Creating a new StudyConfiguration '{}'", studyName); studyConfiguration = getStudyConfigurationManager().createStudy(studyName); } } privateStudyConfiguration = studyConfiguration; setStudyId(studyConfiguration.getStudyId()); return studyConfiguration; }
int fileId = getStudyConfigurationManager().registerFile(studyConfiguration, fileMetadata.getPath()); getStudyConfigurationManager().registerFileSamples(studyConfiguration, fileId, fileMetadata, options); setFileId(fileId); int currentRelease = getStudyConfigurationManager().getProjectMetadata(options).first().getRelease(); if (options.containsKey(Options.RELEASE.key())) { int release = options.getInt(Options.RELEASE.key(), Options.RELEASE.defaultValue()); getStudyConfigurationManager().lockAndUpdateProject(pm -> { if (release < pm.getRelease() || release <= 0) {