private QueryOperation parseOrAndFilter(String param, String value) { QueryOperation queryOperation = VariantQueryUtils.checkOperator(value, VariantQueryParam.valueOf(param)); if (queryOperation == null) { // return AND by default return QueryOperation.AND; } else { return queryOperation; } }
/** * Returns all the possible samples to be returned by an specific query. * * @param query Query to execute * @param options Query Options * @return Map key: StudyId, value: list of sampleIds */ default Map<Integer, List<Integer>> getReturnedSamples(Query query, QueryOptions options) { return VariantQueryUtils.getIncludeSamples(query, options, getStudyConfigurationManager()); }
public static VariantQueryException wrongReleaseException(VariantQueryParam param, String value, int release) { return new VariantQueryException("Unable to have '" + value + "' within '" + param.key() + "' filter. " + "Not part of release " + release); }
@Test public void testGetByFileName() throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1") .append(VariantQueryParam.FILE.key(), file12877); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "all") .append(VariantQueryParam.INCLUDE_SAMPLE.key(), "NA12877") .append(VariantQueryParam.INCLUDE_FILE.key(), file12877), options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1", withFileId(file12877)))); }
public static Map<String, List<String>> getSamplesMetadataIfRequested(Query query, QueryOptions options, StudyConfigurationManager studyConfigurationManager) { if (query.getBoolean(SAMPLE_METADATA.key(), false)) { return getSamplesMetadata(query, options, studyConfigurationManager); } else { return null; } }
public static boolean isIncludeFilesDefined(Query query, Set<VariantField> fields) { if (getIncludeFilesList(query, fields) != null) { return true; } return isValidParam(query, SAMPLE, true) || isValidParam(query, INCLUDE_SAMPLE, false) || isValidParam(query, GENOTYPE, false); }
protected VariantQueryResult<Variant> query(Query query, QueryOptions options) { query = preProcessQuery(query, options); return dbAdaptor.get(query, options); }
public VariantQueryResult<Variant> query(Query query, QueryOptions options) { query = preProcessQuery(query, options); return dbAdaptor.get(query, options); }
public VariantDBIterator iterator(Query query, QueryOptions options) { query = preProcessQuery(query, options); return dbAdaptor.iterator(query, options); }
default List<Integer> getReturnedStudies(Query query, QueryOptions options) { return VariantQueryUtils.getIncludeStudies(query, options, getStudyConfigurationManager()); } /**
public static boolean isIncludeSamplesDefined(Query query, Set<VariantField> fields) { if (getIncludeSamplesList(query, fields) != null) { return true; } return isValidParam(query, FILE, true) || isValidParam(query, INCLUDE_FILE, true); }
/** * Checks that the filter value list contains only one type of operations. * * @param value List of values to check * @return The used operator. Null if no operator is used. * @throws VariantQueryException if the list contains different operators. */ public static QueryOperation checkOperator(String value) throws VariantQueryException { return checkOperator(value, null); }
public CatalogVariantMetadataFactory(CatalogManager catalogManager, VariantDBAdaptor dbAdaptor, String sessionId) { super(dbAdaptor.getStudyConfigurationManager()); this.catalogManager = catalogManager; this.sessionId = sessionId; }
public static boolean isQueryCovered(Query query) { for (VariantQueryParam nonCoveredParam : UNSUPPORTED_QUERY_PARAMS) { if (isValidParam(query, nonCoveredParam)) { return false; } } return true; }
public static List<Integer> getIncludeStudies(Query query, QueryOptions options, StudyConfigurationManager studyConfigurationManager) { return getIncludeStudies(query, options, studyConfigurationManager, VariantField.getIncludeFields(options)); }
public static List<String> getIncludeSamplesList(Query query, QueryOptions options) { return getIncludeSamplesList(query, VariantField.getIncludeFields(options)); }
@Test public void testGetByStudies() throws Exception { query = new Query() .append(VariantQueryParam.STUDY.key(), "S_1"); queryResult = query(query, options); VariantQueryResult<Variant> allVariants = dbAdaptor.get(new Query() .append(VariantQueryParam.INCLUDE_STUDY.key(), "S_1"), options); assertThat(queryResult, everyResult(allVariants, withStudy("S_1"))); }
public static VariantQueryException mixedAndOrOperators(VariantQueryParam param1, VariantQueryParam param2) { return new VariantQueryException("Unable to mix AND (" + AND + ") and OR (" + OR + ") across filters " + "\"" + param1.key() + "\" and \"" + param2.key() + "\"."); }
protected QueryOperation getQueryOperation(String valuesStr) { QueryOperation queryOperation = VariantQueryUtils.checkOperator(valuesStr); if (queryOperation == null) { queryOperation = QueryOperation.OR; } return queryOperation; }
public static VariantQueryException incompatibleSampleAndGenotypeOperators() { return new VariantQueryException("Unable to mix AND/OR operators in filters " + SAMPLE.key() + " and " + GENOTYPE.key()); }