Example usage for org.apache.commons.lang3 StringUtils isNoneEmpty

List of usage examples for org.apache.commons.lang3 StringUtils isNoneEmpty

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringUtils isNoneEmpty.

Prototype

public static boolean isNoneEmpty(final CharSequence... css) 

Source Link

Document

Checks if none of the CharSequences are empty ("") or null.

 StringUtils.isNoneEmpty(null)             = false StringUtils.isNoneEmpty(null, "foo")      = false StringUtils.isNoneEmpty("", "bar")        = false StringUtils.isNoneEmpty("bob", "")        = false StringUtils.isNoneEmpty("  bob  ", null)  = false StringUtils.isNoneEmpty(" ", "bar")       = true StringUtils.isNoneEmpty("foo", "bar")     = true 

Usage

From source file:org.neo4art.importer.wikipedia.domain.WikipediaArtworkPage.java

public WikipediaElement from(WikiArticle article) {
    String infobox = WikipediaElementTransformer.toWikipediaElement(this, article);

    if (StringUtils.isNoneEmpty(infobox)) {
        this.artwork = WikipediaArtworkInfoboxParser.parse(infobox);
    }//w w  w  .j  a  v a 2  s  .  c om

    return this;
}

From source file:org.neo4art.importer.wikipedia.domain.WikipediaCountryPage.java

public WikipediaElement from(WikiArticle article) {
    String infobox = WikipediaElementTransformer.toWikipediaElement(this, article);

    if (StringUtils.isNoneEmpty(infobox)) {
        this.country = WikipediaCountryInfoboxParser.parse(infobox);
    }//from   w  ww. j  a v a  2  s  .co  m

    return this;
}

From source file:org.neo4art.importer.wikipedia.domain.WikipediaMonumentPage.java

public WikipediaElement from(WikiArticle article) {
    String infobox = WikipediaElementTransformer.toWikipediaElement(this, article);

    if (StringUtils.isNoneEmpty(infobox)) {
        this.monument = WikipediaMonumentInfoboxParser.parse(infobox);
    }/*from  ww  w.  j a  v a 2  s . c o m*/

    return this;
}

From source file:org.neo4art.importer.wikipedia.domain.WikipediaMuseumPage.java

public WikipediaElement from(WikiArticle article) {
    String infobox = WikipediaElementTransformer.toWikipediaElement(this, article);

    if (StringUtils.isNoneEmpty(infobox)) {
        this.museum = WikipediaMuseumInfoboxParser.parse(infobox);
    }//from   w  ww  . ja  va2  s  .  c  o m

    return this;
}

From source file:org.neo4art.importer.wikipedia.domain.WikipediaReligiousBuildingPage.java

public WikipediaElement from(WikiArticle article) {
    String infobox = WikipediaElementTransformer.toWikipediaElement(this, article);

    if (StringUtils.isNoneEmpty(infobox)) {
        this.religiousBuilding = WikipediaReligiousBuildingInfoboxParser.parse(infobox);
    }//from www  .ja v  a 2 s .  c om

    return this;
}

From source file:org.neo4art.importer.wikipedia.domain.WikipediaSettlementPage.java

public WikipediaElement from(WikiArticle article) {
    String infobox = WikipediaElementTransformer.toWikipediaElement(this, article);

    if (StringUtils.isNoneEmpty(infobox)) {
        this.settlement = WikipediaSettlementInfoboxParser.parse(infobox);
    }//from   w  w w  .  ja v a  2 s .c  o m

    return this;
}

From source file:org.opencb.opencga.app.cli.analysis.executors.VariantQueryCommandUtils.java

@Deprecated
public static Query oldParseQuery(VariantCommandOptions.VariantQueryCommandOptions queryVariantsOptions,
        Map<Long, String> studyIds) throws Exception {
    Query query = new Query();

    /*//from  w w w  .ja  v a 2 s .com
     * Parse Variant parameters
     */
    if (queryVariantsOptions.genericVariantQueryOptions.region != null
            && !queryVariantsOptions.genericVariantQueryOptions.region.isEmpty()) {
        query.put(REGION.key(), queryVariantsOptions.genericVariantQueryOptions.region);
    } else if (queryVariantsOptions.genericVariantQueryOptions.regionFile != null
            && !queryVariantsOptions.genericVariantQueryOptions.regionFile.isEmpty()) {
        Path gffPath = Paths.get(queryVariantsOptions.genericVariantQueryOptions.regionFile);
        FileUtils.checkFile(gffPath);
        String regionsFromFile = Files.readAllLines(gffPath).stream().map(line -> {
            String[] array = line.split("\t");
            return new String(array[0].replace("chr", "") + ":" + array[3] + "-" + array[4]);
        }).collect(Collectors.joining(","));
        query.put(REGION.key(), regionsFromFile);
    }

    addParam(query, ID, queryVariantsOptions.genericVariantQueryOptions.id);
    addParam(query, GENE, queryVariantsOptions.genericVariantQueryOptions.gene);
    addParam(query, TYPE, queryVariantsOptions.genericVariantQueryOptions.type);

    List studies = new LinkedList<>();
    if (StringUtils.isNotEmpty(queryVariantsOptions.study)) {
        query.put(STUDIES.key(), queryVariantsOptions.study);
        for (String study : queryVariantsOptions.study.split(",|;")) {
            if (!study.startsWith("!")) {
                studies.add(study);
            }
        }
    } else {
        studies = new ArrayList<>(studyIds.keySet());
    }

    // If the studies to be returned is empty then we return the studies being queried
    if (StringUtils.isNotEmpty(queryVariantsOptions.genericVariantQueryOptions.returnStudy)) {
        //            query.put(RETURNED_STUDIES.key(), Arrays.asList(queryVariantCommandOptions.returnStudy.split(",")));
        List<String> list = new ArrayList<>();
        Collections.addAll(list, queryVariantsOptions.genericVariantQueryOptions.returnStudy.split(","));
        query.put(RETURNED_STUDIES.key(), list);
    } else {
        if (!studies.isEmpty()) {
            query.put(RETURNED_STUDIES.key(), studies);
        }
    }

    addParam(query, FILES, queryVariantsOptions.genericVariantQueryOptions.file);
    addParam(query, RETURNED_FILES, queryVariantsOptions.genericVariantQueryOptions.returnFile);
    addParam(query, FILTER, queryVariantsOptions.genericVariantQueryOptions.filter);
    addParam(query, GENOTYPE, queryVariantsOptions.genericVariantQueryOptions.sampleGenotype);
    addParam(query, SAMPLES, queryVariantsOptions.genericVariantQueryOptions.samples);
    addParam(query, VariantCatalogQueryUtils.SAMPLE_FILTER, queryVariantsOptions.sampleFilter);
    if (queryVariantsOptions.genericVariantQueryOptions.returnSample != null) {
        if (queryVariantsOptions.genericVariantQueryOptions.returnSample.isEmpty()
                || queryVariantsOptions.genericVariantQueryOptions.returnSample.equals(".")) {
            query.put(RETURNED_SAMPLES.key(), Collections.emptyList());
        } else {
            query.put(RETURNED_SAMPLES.key(), queryVariantsOptions.genericVariantQueryOptions.returnSample);
        }
    }
    addParam(query, UNKNOWN_GENOTYPE, queryVariantsOptions.genericVariantQueryOptions.unknownGenotype);

    /**
     * Annotation parameters
     */
    addParam(query, ANNOT_CONSEQUENCE_TYPE, queryVariantsOptions.genericVariantQueryOptions.consequenceType);
    addParam(query, ANNOT_BIOTYPE, queryVariantsOptions.genericVariantQueryOptions.geneBiotype);
    addParam(query, ANNOT_POPULATION_ALTERNATE_FREQUENCY,
            queryVariantsOptions.genericVariantQueryOptions.populationFreqs);
    addParam(query, ANNOT_POPULATION_MINOR_ALLELE_FREQUENCY,
            queryVariantsOptions.genericVariantQueryOptions.populationMaf);
    addParam(query, ANNOT_CONSERVATION, queryVariantsOptions.genericVariantQueryOptions.conservation);
    addParam(query, ANNOT_TRANSCRIPTION_FLAGS, queryVariantsOptions.genericVariantQueryOptions.flags);
    addParam(query, ANNOT_GENE_TRAITS_ID, queryVariantsOptions.genericVariantQueryOptions.geneTraitId);
    addParam(query, ANNOT_GENE_TRAITS_NAME, queryVariantsOptions.genericVariantQueryOptions.geneTraitName);
    addParam(query, ANNOT_HPO, queryVariantsOptions.genericVariantQueryOptions.hpo);
    addParam(query, ANNOT_GO, queryVariantsOptions.genericVariantQueryOptions.go);
    //        addParam(query, ANNOT_EXPRESSION, queryVariantsOptions.genericVariantQueryOptions.expression);
    addParam(query, ANNOT_PROTEIN_KEYWORDS, queryVariantsOptions.genericVariantQueryOptions.proteinKeywords);
    addParam(query, ANNOT_DRUG, queryVariantsOptions.genericVariantQueryOptions.drugs);

    if (StringUtils.isNoneEmpty(queryVariantsOptions.genericVariantQueryOptions.proteinSubstitution)) {
        query.put(ANNOT_PROTEIN_SUBSTITUTION.key(),
                queryVariantsOptions.genericVariantQueryOptions.proteinSubstitution);
    }

    /*
     * Stats parameters
     */
    if (queryVariantsOptions.genericVariantQueryOptions.stats != null
            && !queryVariantsOptions.genericVariantQueryOptions.stats.isEmpty()) {
        Set<String> acceptedStatKeys = new HashSet<>(Arrays.asList(STATS_MAF.key(), STATS_MGF.key(),
                MISSING_ALLELES.key(), MISSING_GENOTYPES.key()));

        for (String stat : queryVariantsOptions.genericVariantQueryOptions.stats.split(",")) {
            int index = stat.indexOf("<");
            index = index >= 0 ? index : stat.indexOf("!");
            index = index >= 0 ? index : stat.indexOf("~");
            index = index >= 0 ? index : stat.indexOf("<");
            index = index >= 0 ? index : stat.indexOf(">");
            index = index >= 0 ? index : stat.indexOf("=");
            if (index < 0) {
                throw new UnsupportedOperationException("Unknown stat filter operation: " + stat);
            }
            String name = stat.substring(0, index);
            String cond = stat.substring(index);

            if (acceptedStatKeys.contains(name)) {
                query.put(name, cond);
            } else {
                throw new UnsupportedOperationException("Unknown stat filter name: " + name);
            }
            logger.info("Parsed stat filter: {} {}", name, cond);
        }
    }

    addParam(query, STATS_MAF, queryVariantsOptions.genericVariantQueryOptions.maf);
    addParam(query, STATS_MGF, queryVariantsOptions.genericVariantQueryOptions.mgf);
    addParam(query, MISSING_ALLELES, queryVariantsOptions.genericVariantQueryOptions.missingAlleleCount);
    addParam(query, MISSING_GENOTYPES, queryVariantsOptions.genericVariantQueryOptions.missingGenotypeCount);

    boolean returnVariants = !queryVariantsOptions.numericOptions.count
            && StringUtils.isEmpty(queryVariantsOptions.genericVariantQueryOptions.groupBy)
            && StringUtils.isEmpty(queryVariantsOptions.genericVariantQueryOptions.rank);

    VariantOutputFormat of = VCF;
    if (StringUtils.isNotEmpty(queryVariantsOptions.commonOptions.outputFormat)) {
        of = VariantWriterFactory.toOutputFormat(queryVariantsOptions.commonOptions.outputFormat, null);
        if (of == null) {
            throw variantFormatNotSupported(queryVariantsOptions.commonOptions.outputFormat);
        }
    }

    if (returnVariants && !of.isMultiStudyOutput()) {
        int returnedStudiesSize = query.getAsStringList(RETURNED_STUDIES.key()).size();
        if (returnedStudiesSize == 0 && studies.size() == 1) {
            query.put(RETURNED_STUDIES.key(), studies.get(0));
        } else if (returnedStudiesSize == 0 && studyIds.size() != 1 //If there are no returned studies, and there are more than one study
                || returnedStudiesSize > 1) { // Or is required more than one returned study
            throw new Exception("Only one study is allowed when returning " + of
                    + ", please use '--return-study' to select the returned " + "study. Available studies: "
                    + studyIds);
        } else {
            if (returnedStudiesSize == 0) { //If there were no returned studies, set the study existing one
                query.put(RETURNED_STUDIES.key(), studyIds.get(0));
            }
        }
    }

    return query;
}

From source file:org.opencb.opencga.app.cli.analysis.VariantQueryCommandUtils.java

public static Query parseQuery(AnalysisCliOptionsParser.QueryVariantCommandOptions queryVariantsOptions,
        Map<Long, String> studyIds) throws Exception {
    Query query = new Query();

    /*// w w  w .j av a  2 s  .c  om
     * Parse Variant parameters
     */
    if (queryVariantsOptions.region != null && !queryVariantsOptions.region.isEmpty()) {
        query.put(REGION.key(), queryVariantsOptions.region);
    } else if (queryVariantsOptions.regionFile != null && !queryVariantsOptions.regionFile.isEmpty()) {
        Path gffPath = Paths.get(queryVariantsOptions.regionFile);
        FileUtils.checkFile(gffPath);
        String regionsFromFile = Files.readAllLines(gffPath).stream().map(line -> {
            String[] array = line.split("\t");
            return new String(array[0].replace("chr", "") + ":" + array[3] + "-" + array[4]);
        }).collect(Collectors.joining(","));
        query.put(REGION.key(), regionsFromFile);
    }

    addParam(query, ID, queryVariantsOptions.id);
    addParam(query, GENE, queryVariantsOptions.gene);
    addParam(query, TYPE, queryVariantsOptions.type);

    List studies = new LinkedList<>();
    if (StringUtils.isNotEmpty(queryVariantsOptions.study)) {
        query.put(STUDIES.key(), queryVariantsOptions.study);
        for (String study : queryVariantsOptions.study.split(",|;")) {
            if (!study.startsWith("!")) {
                studies.add(study);
            }
        }
    } else {
        studies = new ArrayList<>(studyIds.keySet());
    }

    // If the studies to be returned is empty then we return the studies being queried
    if (StringUtils.isNotEmpty(queryVariantsOptions.returnStudy)) {
        //            query.put(RETURNED_STUDIES.key(), Arrays.asList(queryVariantsOptions.returnStudy.split(",")));
        List<String> list = new ArrayList<>();
        Collections.addAll(list, queryVariantsOptions.returnStudy.split(","));
        query.put(RETURNED_STUDIES.key(), list);
    } else {
        if (!studies.isEmpty()) {
            query.put(RETURNED_STUDIES.key(), studies);
        }
    }

    addParam(query, FILES, queryVariantsOptions.file);
    addParam(query, GENOTYPE, queryVariantsOptions.sampleGenotype);
    if (queryVariantsOptions.returnSample != null) {
        if (queryVariantsOptions.returnSample.isEmpty() || queryVariantsOptions.returnSample.equals(".")) {
            query.put(RETURNED_SAMPLES.key(), Collections.emptyList());
        } else {
            query.put(RETURNED_SAMPLES.key(), queryVariantsOptions.returnSample);
        }
    }
    addParam(query, UNKNOWN_GENOTYPE, queryVariantsOptions.unknownGenotype);

    /**
     * Annotation parameters
     */
    addParam(query, ANNOT_CONSEQUENCE_TYPE, queryVariantsOptions.consequenceType);
    addParam(query, ANNOT_BIOTYPE, queryVariantsOptions.biotype);
    addParam(query, ANNOT_POPULATION_ALTERNATE_FREQUENCY, queryVariantsOptions.populationFreqs);
    addParam(query, ANNOT_POPULATION_MINOR_ALLELE_FREQUENCY, queryVariantsOptions.populationMaf);
    addParam(query, ANNOT_CONSERVATION, queryVariantsOptions.conservation);
    addParam(query, ANNOT_TRANSCRIPTION_FLAGS, queryVariantsOptions.flags);
    addParam(query, ANNOT_GENE_TRAITS_ID, queryVariantsOptions.geneTraitId);
    addParam(query, ANNOT_GENE_TRAITS_NAME, queryVariantsOptions.geneTraitName);
    addParam(query, ANNOT_HPO, queryVariantsOptions.hpo);
    addParam(query, ANNOT_GO, queryVariantsOptions.go);
    addParam(query, ANNOT_EXPRESSION, queryVariantsOptions.expression);
    addParam(query, ANNOT_PROTEIN_KEYWORDS, queryVariantsOptions.proteinKeywords);
    addParam(query, ANNOT_DRUG, queryVariantsOptions.drugs);

    if (StringUtils.isNoneEmpty(queryVariantsOptions.proteinSubstitution)) {
        query.put(ANNOT_PROTEIN_SUBSTITUTION.key(), queryVariantsOptions.proteinSubstitution);
    }

    /*
     * Stats parameters
     */
    if (queryVariantsOptions.stats != null && !queryVariantsOptions.stats.isEmpty()) {
        Set<String> acceptedStatKeys = new HashSet<>(Arrays.asList(STATS_MAF.key(), STATS_MGF.key(),
                MISSING_ALLELES.key(), MISSING_GENOTYPES.key()));

        for (String stat : queryVariantsOptions.stats.split(",")) {
            int index = stat.indexOf("<");
            index = index >= 0 ? index : stat.indexOf("!");
            index = index >= 0 ? index : stat.indexOf("~");
            index = index >= 0 ? index : stat.indexOf("<");
            index = index >= 0 ? index : stat.indexOf(">");
            index = index >= 0 ? index : stat.indexOf("=");
            if (index < 0) {
                throw new UnsupportedOperationException("Unknown stat filter operation: " + stat);
            }
            String name = stat.substring(0, index);
            String cond = stat.substring(index);

            if (acceptedStatKeys.contains(name)) {
                query.put(name, cond);
            } else {
                throw new UnsupportedOperationException("Unknown stat filter name: " + name);
            }
            logger.info("Parsed stat filter: {} {}", name, cond);
        }
    }

    addParam(query, STATS_MAF, queryVariantsOptions.maf);
    addParam(query, STATS_MGF, queryVariantsOptions.mgf);
    addParam(query, MISSING_ALLELES, queryVariantsOptions.missingAlleleCount);
    addParam(query, MISSING_GENOTYPES, queryVariantsOptions.missingGenotypeCount);

    boolean returnVariants = !queryVariantsOptions.count && StringUtils.isEmpty(queryVariantsOptions.groupBy)
            && StringUtils.isEmpty(queryVariantsOptions.rank);

    VariantOutputFormat of = VCF;
    if (StringUtils.isNotEmpty(queryVariantsOptions.outputFormat)) {
        of = VariantOutputFormat.safeValueOf(queryVariantsOptions.outputFormat);
        if (of == null) {
            throw variantFormatNotSupported(queryVariantsOptions.outputFormat);
        }
    }

    if (returnVariants && !of.isMultiStudyOutput()) {
        int returnedStudiesSize = query.getAsStringList(RETURNED_STUDIES.key()).size();
        if (returnedStudiesSize == 0 && studies.size() == 1) {
            query.put(RETURNED_STUDIES.key(), studies.get(0));
        } else if (returnedStudiesSize == 0 && studyIds.size() != 1 //If there are no returned studies, and there are more than one study
                || returnedStudiesSize > 1) { // Or is required more than one returned study
            throw new Exception("Only one study is allowed when returning " + of
                    + ", please use '--return-study' to select the returned " + "study. Available studies: "
                    + studyIds);
        } else {
            if (returnedStudiesSize == 0) { //If there were no returned studies, set the study existing one
                query.put(RETURNED_STUDIES.key(), studyIds.get(0));
            }
        }
    }

    return query;
}

From source file:org.opencb.opencga.app.cli.main.executors.analysis.VariantCommandExecutor.java

private QueryResponse query() throws CatalogException, IOException, InterruptedException {
    logger.debug("Listing variants of a study.");

    VariantCommandOptions.VariantQueryCommandOptions queryCommandOptions = variantCommandOptions.queryVariantCommandOptions;

    String study = resolveStudy(queryCommandOptions.study);

    ObjectMap params = new ObjectMap();
    params.putIfNotNull(VariantDBAdaptor.VariantQueryParams.ID.key(),
            queryCommandOptions.genericVariantQueryOptions.id);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.REGION.key(),
            queryCommandOptions.genericVariantQueryOptions.region);
    //        params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.CHROMOSOME.key(),
    //                queryCommandOptions.queryVariantsOptions.chromosome);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.GENE.key(),
            queryCommandOptions.genericVariantQueryOptions.gene);
    params.putIfNotNull(VariantDBAdaptor.VariantQueryParams.TYPE.key(),
            queryCommandOptions.genericVariantQueryOptions.type);
    //        params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.REFERENCE.key(), queryCommandOptions.queryVariantsOptions.reference);
    //        params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ALTERNATE.key(), queryCommandOptions.queryVariantsOptions.alternate);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.RETURNED_STUDIES.key(),
            queryCommandOptions.genericVariantQueryOptions.returnStudy);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.RETURNED_SAMPLES.key(),
            queryCommandOptions.genericVariantQueryOptions.returnSample);
    //        params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.RETURNED_FILES.key(), queryCommandOptions.queryVariantsOptions.returnFile);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.STUDIES.key(), study);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.FILES.key(),
            queryCommandOptions.genericVariantQueryOptions.file);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.RETURNED_FILES.key(),
            queryCommandOptions.genericVariantQueryOptions.returnFile);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.FILTER.key(),
            queryCommandOptions.genericVariantQueryOptions.filter);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.STATS_MAF.key(),
            queryCommandOptions.genericVariantQueryOptions.maf);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.STATS_MGF.key(),
            queryCommandOptions.genericVariantQueryOptions.mgf);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.MISSING_ALLELES.key(),
            queryCommandOptions.genericVariantQueryOptions.missingAlleleCount);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.MISSING_GENOTYPES.key(),
            queryCommandOptions.genericVariantQueryOptions.missingGenotypeCount);
    //        queryOptions.put(VariantDBAdaptor.VariantQueryParams.ANNOTATION_EXISTS.key(),
    //                queryCommandOptions.annotationExists);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.GENOTYPE.key(),
            queryCommandOptions.genericVariantQueryOptions.sampleGenotype);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.SAMPLES.key(),
            queryCommandOptions.genericVariantQueryOptions.samples);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_CONSEQUENCE_TYPE.key(),
            queryCommandOptions.genericVariantQueryOptions.consequenceType);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_XREF.key(),
            queryCommandOptions.genericVariantQueryOptions.annotXref);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_BIOTYPE.key(),
            queryCommandOptions.genericVariantQueryOptions.geneBiotype);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_PROTEIN_SUBSTITUTION.key(),
            queryCommandOptions.genericVariantQueryOptions.proteinSubstitution);
    //        params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_POLYPHEN.key(), queryCommandOptions.queryVariantsOptions.polyphen);
    //        params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_SIFT.key(), queryCommandOptions.queryVariantsOptions.sift);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_CONSERVATION.key(),
            queryCommandOptions.genericVariantQueryOptions.conservation);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_POPULATION_MINOR_ALLELE_FREQUENCY.key(),
            queryCommandOptions.genericVariantQueryOptions.populationMaf);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_POPULATION_ALTERNATE_FREQUENCY.key(),
            queryCommandOptions.genericVariantQueryOptions.populationFreqs);
    //        params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_POPULATION_REFERENCE_FREQUENCY.key(),
    //                queryCommandOptions.reference_frequency);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_TRANSCRIPTION_FLAGS.key(),
            queryCommandOptions.genericVariantQueryOptions.flags);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_GENE_TRAITS_ID.key(),
            queryCommandOptions.genericVariantQueryOptions.geneTraitId);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_GENE_TRAITS_NAME.key(),
            queryCommandOptions.genericVariantQueryOptions.geneTraitName);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_HPO.key(),
            queryCommandOptions.genericVariantQueryOptions.hpo);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_GO.key(),
            queryCommandOptions.genericVariantQueryOptions.go);
    //        params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_EXPRESSION.key(), queryCommandOptions.genericVariantQueryOptions.expression);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_PROTEIN_KEYWORDS.key(),
            queryCommandOptions.genericVariantQueryOptions.proteinKeywords);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_DRUG.key(),
            queryCommandOptions.genericVariantQueryOptions.drugs);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.ANNOT_FUNCTIONAL_SCORE.key(),
            queryCommandOptions.genericVariantQueryOptions.functionalScore);
    params.putIfNotEmpty(VariantDBAdaptor.VariantQueryParams.UNKNOWN_GENOTYPE.key(),
            queryCommandOptions.genericVariantQueryOptions.unknownGenotype);
    //        params.put(QueryOptions.SORT, queryCommandOptions.sort);
    //        queryOptions.putIfNotEmpty("merge", queryCommandOptions.merge);
    params.putIfNotEmpty(VariantCatalogQueryUtils.SAMPLE_FILTER.key(), queryCommandOptions.sampleFilter);

    QueryOptions options = new QueryOptions();
    options.putIfNotEmpty(QueryOptions.INCLUDE, queryCommandOptions.dataModelOptions.include);
    options.putIfNotEmpty(QueryOptions.EXCLUDE, queryCommandOptions.dataModelOptions.exclude);
    options.put(QueryOptions.LIMIT, queryCommandOptions.numericOptions.limit);
    options.put(QueryOptions.SKIP, queryCommandOptions.numericOptions.skip);
    options.put(QueryOptions.COUNT, queryCommandOptions.numericOptions.count);
    options.putAll(variantCommandOptions.commonCommandOptions.params);

    params.put("samplesMetadata", queryCommandOptions.genericVariantQueryOptions.samplesMetadata);
    params.putIfNotEmpty("groupBy", queryCommandOptions.genericVariantQueryOptions.groupBy);
    params.put("histogram", queryCommandOptions.genericVariantQueryOptions.histogram);
    params.put("interval", queryCommandOptions.genericVariantQueryOptions.interval);

    boolean grpc = usingGrpcMode(queryCommandOptions.mode);

    if (!grpc) {// w w  w .j  a v  a  2  s.  com
        if (queryCommandOptions.numericOptions.count) {
            return openCGAClient.getVariantClient().count(params, options);
        } else if (queryCommandOptions.genericVariantQueryOptions.samplesMetadata
                || StringUtils.isNoneEmpty(queryCommandOptions.genericVariantQueryOptions.groupBy)
                || queryCommandOptions.genericVariantQueryOptions.histogram) {
            return openCGAClient.getVariantClient().genericQuery(params, options);
        } else {
            options.put(QueryOptions.SKIP_COUNT, true);
            params.put(VariantDBAdaptor.VariantQueryParams.SAMPLES_METADATA.key(), true);
            if (queryCommandOptions.commonOptions.outputFormat.equalsIgnoreCase("vcf")
                    || queryCommandOptions.commonOptions.outputFormat.equalsIgnoreCase("text")) {
                VariantQueryResult<Variant> variantQueryResult = openCGAClient.getVariantClient().query2(params,
                        options);
                List<String> annotations = queryCommandOptions.genericVariantQueryOptions.annotations == null
                        ? Collections.singletonList("gene")
                        : Arrays.asList(queryCommandOptions.genericVariantQueryOptions.annotations.split(","));
                printVcf(variantQueryResult, queryCommandOptions.study, annotations, System.out);
                return null;
            } else {
                return openCGAClient.getVariantClient().query(params, options);
            }
        }
    } else {
        ManagedChannel channel = getManagedChannel();

        // We use a blocking stub to execute the query to gRPC
        VariantServiceGrpc.VariantServiceBlockingStub variantServiceBlockingStub = VariantServiceGrpc
                .newBlockingStub(channel);

        params.putAll(options);
        Query query = VariantStorageManager.getVariantQuery(params);
        Map<String, String> queryMap = new HashMap<>();
        Map<String, String> queryOptionsMap = new HashMap<>();
        for (String key : params.keySet()) {
            if (query.containsKey(key)) {
                queryMap.put(key, query.getString(key));
            } else {
                queryOptionsMap.put(key, params.getString(key));
            }
        }

        // We create the OpenCGA gRPC request object with the query, queryOptions and sessionId
        GenericServiceModel.Request request = GenericServiceModel.Request.newBuilder().putAllQuery(queryMap)
                .putAllOptions(queryOptionsMap).setSessionId(sessionId == null ? "" : sessionId).build();

        QueryResponse queryResponse;
        if (queryCommandOptions.numericOptions.count) {
            ServiceTypesModel.LongResponse countResponse = variantServiceBlockingStub.count(request);
            ServiceTypesModel.Response response = countResponse.getResponse();
            queryResponse = new QueryResponse<>("", 0, response.getWarning(), response.getError(),
                    new QueryOptions(params), Collections.singletonList(new QueryResult<>(response.getId(), 0,
                            1, 1, "", "", Collections.singletonList(countResponse.getValue()))));
            return queryResponse;
        } else if (queryCommandOptions.genericVariantQueryOptions.samplesMetadata
                || StringUtils.isNoneEmpty(queryCommandOptions.genericVariantQueryOptions.groupBy)
                || queryCommandOptions.genericVariantQueryOptions.histogram) {
            queryResponse = openCGAClient.getVariantClient().genericQuery(params, options);
        } else {
            Iterator<VariantProto.Variant> variantIterator = variantServiceBlockingStub.get(request);
            JsonFormat.Printer printer = JsonFormat.printer();
            try (PrintStream printStream = new PrintStream(System.out)) {
                while (variantIterator.hasNext()) {
                    VariantProto.Variant next = variantIterator.next();
                    printStream.println(printer.print(next));
                }
            }
            queryResponse = null;
        }
        channel.shutdown().awaitTermination(2, TimeUnit.SECONDS);
        return queryResponse;
    }
}

From source file:org.opencb.opencga.app.cli.main.executors.catalog.StudyCommandExecutor.java

@Deprecated
private QueryResponse variants() throws CatalogException, IOException {

    logger.debug("Listing variants of a study.");

    QueryOptions queryOptions = new QueryOptions();
    queryOptions.putAll(studiesCommandOptions.commonCommandOptions.params);

    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ID.key(),
            studiesCommandOptions.variantsCommandOptions.ids);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.REGION.key(),
            studiesCommandOptions.variantsCommandOptions.region);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.CHROMOSOME.key(),
            studiesCommandOptions.variantsCommandOptions.chromosome);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.GENE.key(),
            studiesCommandOptions.variantsCommandOptions.gene);
    queryOptions.putIfNotNull(CatalogVariantDBAdaptor.VariantQueryParams.TYPE.key(),
            studiesCommandOptions.variantsCommandOptions.type);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.REFERENCE.key(),
            studiesCommandOptions.variantsCommandOptions.reference);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ALTERNATE.key(),
            studiesCommandOptions.variantsCommandOptions.alternate);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.RETURNED_STUDIES.key(),
            studiesCommandOptions.variantsCommandOptions.returnedStudies);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.RETURNED_SAMPLES.key(),
            studiesCommandOptions.variantsCommandOptions.returnedSamples);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.RETURNED_FILES.key(),
            studiesCommandOptions.variantsCommandOptions.returnedFiles);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.FILES.key(),
            studiesCommandOptions.variantsCommandOptions.files);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.STATS_MAF.key(),
            studiesCommandOptions.variantsCommandOptions.maf);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.STATS_MGF.key(),
            studiesCommandOptions.variantsCommandOptions.mgf);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.MISSING_ALLELES.key(),
            studiesCommandOptions.variantsCommandOptions.missingAlleles);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.MISSING_GENOTYPES.key(),
            studiesCommandOptions.variantsCommandOptions.missingGenotypes);
    //        queryOptions.put(CatalogVariantDBAdaptor.VariantQueryParams.ANNOTATION_EXISTS.key(),
    //                studiesCommandOptions.variantsCommandOptions.annotationExists);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.GENOTYPE.key(),
            studiesCommandOptions.variantsCommandOptions.genotype);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_CONSEQUENCE_TYPE.key(),
            studiesCommandOptions.variantsCommandOptions.annot_ct);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_XREF.key(),
            studiesCommandOptions.variantsCommandOptions.annot_xref);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_BIOTYPE.key(),
            studiesCommandOptions.variantsCommandOptions.annot_biotype);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_POLYPHEN.key(),
            studiesCommandOptions.variantsCommandOptions.polyphen);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_SIFT.key(),
            studiesCommandOptions.variantsCommandOptions.sift);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_CONSERVATION.key(),
            studiesCommandOptions.variantsCommandOptions.conservation);
    queryOptions.putIfNotEmpty(//from   ww w .  j a v  a2s  . c  om
            CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_POPULATION_MINOR_ALLELE_FREQUENCY.key(),
            studiesCommandOptions.variantsCommandOptions.annotPopulationMaf);
    queryOptions.putIfNotEmpty(
            CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_POPULATION_ALTERNATE_FREQUENCY.key(),
            studiesCommandOptions.variantsCommandOptions.alternate_frequency);
    queryOptions.putIfNotEmpty(
            CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_POPULATION_REFERENCE_FREQUENCY.key(),
            studiesCommandOptions.variantsCommandOptions.reference_frequency);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_TRANSCRIPTION_FLAGS.key(),
            studiesCommandOptions.variantsCommandOptions.transcriptionFlags);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_GENE_TRAITS_ID.key(),
            studiesCommandOptions.variantsCommandOptions.geneTraitId);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_GENE_TRAITS_NAME.key(),
            studiesCommandOptions.variantsCommandOptions.geneTraitName);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_HPO.key(),
            studiesCommandOptions.variantsCommandOptions.hpo);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_GO.key(),
            studiesCommandOptions.variantsCommandOptions.go);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_EXPRESSION.key(),
            studiesCommandOptions.variantsCommandOptions.expression);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_PROTEIN_KEYWORDS.key(),
            studiesCommandOptions.variantsCommandOptions.proteinKeyword);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_DRUG.key(),
            studiesCommandOptions.variantsCommandOptions.drug);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.ANNOT_FUNCTIONAL_SCORE.key(),
            studiesCommandOptions.variantsCommandOptions.functionalScore);
    queryOptions.putIfNotEmpty(CatalogVariantDBAdaptor.VariantQueryParams.UNKNOWN_GENOTYPE.key(),
            studiesCommandOptions.variantsCommandOptions.unknownGenotype);
    queryOptions.put(QueryOptions.SORT, studiesCommandOptions.variantsCommandOptions.sort);
    //        queryOptions.putIfNotEmpty("merge", studiesCommandOptions.variantsCommandOptions.merge);

    queryOptions.putIfNotEmpty(QueryOptions.INCLUDE, studiesCommandOptions.variantsCommandOptions.include);
    queryOptions.putIfNotEmpty(QueryOptions.EXCLUDE, studiesCommandOptions.variantsCommandOptions.exclude);
    queryOptions.putIfNotEmpty(QueryOptions.LIMIT, studiesCommandOptions.variantsCommandOptions.limit);
    queryOptions.putIfNotEmpty(QueryOptions.SKIP, studiesCommandOptions.variantsCommandOptions.skip);

    queryOptions.put("samplesMetadata", studiesCommandOptions.variantsCommandOptions.samplesMetadata);
    queryOptions.putIfNotEmpty("groupBy", studiesCommandOptions.variantsCommandOptions.groupBy);
    queryOptions.put("histogram", studiesCommandOptions.variantsCommandOptions.histogram);
    queryOptions.putIfNotEmpty("interval", studiesCommandOptions.variantsCommandOptions.interval);
    queryOptions.put("count", studiesCommandOptions.variantsCommandOptions.count);

    if (studiesCommandOptions.variantsCommandOptions.count) {
        return openCGAClient.getStudyClient().countVariants(studiesCommandOptions.variantsCommandOptions.study,
                queryOptions);
    } else if (studiesCommandOptions.variantsCommandOptions.samplesMetadata
            || StringUtils.isNoneEmpty(studiesCommandOptions.variantsCommandOptions.groupBy)
            || studiesCommandOptions.variantsCommandOptions.histogram) {
        return openCGAClient.getStudyClient()
                .getVariantsGeneric(studiesCommandOptions.variantsCommandOptions.study, queryOptions);
    } else {
        return openCGAClient.getStudyClient().getVariants(studiesCommandOptions.variantsCommandOptions.study,
                queryOptions);
    }
}