public StudyConfigurationManager(VariantStorageMetadataDBAdaptorFactory dbAdaptorFactory) { this.projectDBAdaptor = dbAdaptorFactory.buildProjectMetadataDBAdaptor(); this.studyDBAdaptor = dbAdaptorFactory.buildStudyConfigurationDBAdaptor(); this.fileDBAdaptor = dbAdaptorFactory.buildVariantFileMetadataDBAdaptor(); }
@Override public void close() throws IOException { studyDBAdaptor.close(); } }
protected int newFileId(StudyConfiguration studyConfiguration) throws StorageEngineException { // return studyConfiguration.getFileIds().values().stream().max(Integer::compareTo).orElse(0) + 1; return projectDBAdaptor.generateId(studyConfiguration, "file"); }
public long lockStudy(int studyId, long lockDuration, long timeout, String lockName) throws InterruptedException, TimeoutException { return studyDBAdaptor.lockStudy(studyId, lockDuration, timeout, lockName); }
public void updateVariantFileMetadata(int studyId, VariantFileMetadata metadata) throws StorageEngineException { fileDBAdaptor.updateVariantFileMetadata(studyId, metadata); }
public void unLockStudy(int studyId, long lockId) { studyDBAdaptor.unLockStudy(studyId, lockId, null); }
public QueryResult<ProjectMetadata> getProjectMetadata() { return projectDBAdaptor.getProjectMetadata(); }
public QueryResult<VariantFileMetadata> getVariantFileMetadata(int studyId, int fileId, QueryOptions options) throws StorageEngineException { return fileDBAdaptor.get(studyId, fileId, options); }
public List<Integer> getStudyIds(QueryOptions options) { return studyDBAdaptor.getStudyIds(options); }
public List<String> getStudyNames(QueryOptions options) { return studyDBAdaptor.getStudyNames(options); }
public QueryResult<Long> countVariantFileMetadata(Query query) { return fileDBAdaptor.count(query); }
public Iterator<VariantFileMetadata> variantFileMetadataIterator(Query query, QueryOptions options) throws StorageEngineException { try { return fileDBAdaptor.iterator(query, options); } catch (IOException e) { throw new StorageEngineException("Error reading VariantFileMetadata", e); } }
public void deleteVariantFileMetadata(int studyId, int fileId) throws StorageEngineException { try { fileDBAdaptor.delete(studyId, fileId); } catch (IOException e) { throw new StorageEngineException("Error deleting VariantFileMetadata for file " + fileId, e); } }
protected int newSearchIndexSamplesId(StudyConfiguration studyConfiguration) throws StorageEngineException { return projectDBAdaptor.generateId(studyConfiguration, "searchIndexSamples"); }
public long lockStudy(int studyId, long lockDuration, long timeout) throws InterruptedException, TimeoutException { return studyDBAdaptor.lockStudy(studyId, lockDuration, timeout, null); }
public void updateVariantFileMetadata(String study, VariantFileMetadata metadata) throws StorageEngineException { Integer studyId = getStudyId(study, null); fileDBAdaptor.updateVariantFileMetadata(studyId, metadata); }
public void unLockStudy(int studyId, long lockId, String lockName) { studyDBAdaptor.unLockStudy(studyId, lockId, lockName); }
protected int newSampleId(StudyConfiguration studyConfiguration) throws StorageEngineException { // return studyConfiguration.getSampleIds().values().stream().max(Integer::compareTo).orElse(0) + 1; return projectDBAdaptor.generateId(studyConfiguration, "sample"); }
protected int newCohortId(StudyConfiguration studyConfiguration) throws StorageEngineException { // return studyConfiguration.getCohortIds().values().stream().max(Integer::compareTo).orElse(0) + 1; return projectDBAdaptor.generateId(studyConfiguration, "cohort"); }
protected int newStudyId() throws StorageEngineException { return projectDBAdaptor.generateId(null, "study"); }