From 60b74ab3644af602be07f5b52b4a1d37393d352e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Wed, 20 Sep 2023 16:36:37 +0100 Subject: [PATCH] storage: Fix NPE executing SampleIndexDuplicatedVariantsTest tests. #TASK-5027 --- .../SampleIndexOnlyVariantQueryExecutor.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/SampleIndexOnlyVariantQueryExecutor.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/SampleIndexOnlyVariantQueryExecutor.java index 5829a9580a8..510085420dd 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/SampleIndexOnlyVariantQueryExecutor.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/SampleIndexOnlyVariantQueryExecutor.java @@ -248,11 +248,7 @@ private boolean isIncludeCovered(SampleIndexQuery sampleIndexQuery, Query inputQ return false; } - List sampleDataKeys = VariantQueryUtils.getIncludeSampleData(inputQuery); - if (sampleDataKeys == null) { - // Undefined, get default sampleDataKeys - sampleDataKeys = HBaseToVariantConverter.getFixedFormat(study.getStudyMetadata()); - } + List sampleDataKeys = getSampleDataKeys(inputQuery, study); if (sampleDataKeys.size() != 1) { // One and only one sampledatakey @@ -490,8 +486,9 @@ private class AddMissingDataTask implements Task { for (Integer fileId : fileIds) { filesFromSample.add(metadataManager.getFileName(studyId, fileId)); } - List includeSampleData = VariantQueryUtils.getIncludeSampleData(parsedQuery.getInputQuery()); - gtIdx = includeSampleData.indexOf("GT"); + + List sampleDataKeys = getSampleDataKeys(parsedQuery.getInputQuery(), parsedQuery.getProjection().getStudy(studyId)); + gtIdx = sampleDataKeys.indexOf("GT"); } @Override @@ -657,4 +654,13 @@ private void mergeFileEntries(StudyEntry studyEntry, List newFileEntr } } } + + private List getSampleDataKeys(Query parsedQuery, VariantQueryProjection.StudyVariantQueryProjection parsedQuery1) { + List sampleDataKeys = VariantQueryUtils.getIncludeSampleData(parsedQuery); + if (sampleDataKeys == null) { + // Undefined, get default sampleDataKeys + sampleDataKeys = HBaseToVariantConverter.getFixedFormat(parsedQuery1.getStudyMetadata()); + } + return sampleDataKeys; + } }