List of usage examples for org.hibernate.criterion Restrictions disjunction
public static Disjunction disjunction()
From source file:gov.nih.nci.caintegrator.data.CopyNumberAlterationCriterionConverter.java
License:BSD License
private void addMultipleChromosomeCoordinatesToCriterion(Criteria segmentDataCrit, List<GeneChromosomalLocation> geneLocations) { Junction overallOrStatement = Restrictions.disjunction(); // (loc.startPos <= lowerInput && loc.endPos >= lowerInput && loc.chromosome == chromosomeInput) // || (loc.startPos >= lowerInput && loc.startPos <= higherInput && loc.chromosome == chromosomeInput) for (GeneChromosomalLocation geneLocation : geneLocations) { Integer chromosomeCoordinateLow = geneLocation.getLocation().getStartPosition(); Integer chromosomeCoordinateHigh = geneLocation.getLocation().getEndPosition(); overallOrStatement.add(Restrictions.conjunction().add(segmentStartLessThanLow(chromosomeCoordinateLow)) .add(segmentEndGreaterThanLow(chromosomeCoordinateLow)).add(chromosomeNumberExpression( Cai2Util.getInternalChromosomeNumber(geneLocation.getLocation().getChromosome())))); overallOrStatement.add(Restrictions.conjunction() .add(segmentStartGreaterThanLow(chromosomeCoordinateLow)) .add(segmentStartLessThanHigh(chromosomeCoordinateHigh)).add(chromosomeNumberExpression( Cai2Util.getInternalChromosomeNumber(geneLocation.getLocation().getChromosome())))); }/*from www .j a va2s . c o m*/ segmentDataCrit.add(overallOrStatement); }
From source file:gov.nih.nci.caintegrator.domain.annotation.service.AnnotationManagerImpl.java
License:BSD License
public Collection<GeneBiomarker> getGeneAnnotations(AnnotationCriteria annotationCriteria) { Collection<String> geneIds = annotationCriteria.getGeneSymbols(); if (geneIds == null || geneIds.isEmpty()) { throw new RuntimeException("Gene symbol list cannot be empty"); }//from w ww . j a v a 2s. c om Session currentSession = sessionFactory.getCurrentSession(); Criteria criteria = currentSession.createCriteria(GeneBiomarker.class); criteria.createAlias("geneAliasCollection", "alias"); criteria.add(Restrictions.disjunction().add(Restrictions.in("alias.alias", geneIds)) .add(Restrictions.in("alias.hugoGeneSymbol", geneIds))); List<GeneBiomarker> genes = criteria.list(); return genes; }
From source file:gov.nih.nci.caintegrator.domain.annotation.service.AnnotationManagerImpl.java
License:BSD License
public List<CytobandPosition> getCytobandPositions(String chromosome, String startCytoband, String endCytoband) {/*from w ww.j a v a 2 s . c o m*/ Session currentSession = sessionFactory.getCurrentSession(); Criteria criteria = currentSession.createCriteria(CytobandPosition.class); criteria.add(Restrictions.eq("chromosomeName", chromosome)); if (startCytoband != null && endCytoband != null) { criteria.add(Restrictions.disjunction().add(Restrictions.eq("cytoband", startCytoband)) .add(Restrictions.eq("cytoband", endCytoband))); } criteria.addOrder(Order.asc("cytobandStartPosition")); List<CytobandPosition> positions = criteria.list(); return positions; }
From source file:gov.nih.nci.caintegrator.domain.annotation.service.AnnotationManagerImpl.java
License:BSD License
public List<GeneAlias> getGeneAliasForSymbol(String symbol) { Session currentSession = sessionFactory.getCurrentSession(); Criteria criteria = currentSession.createCriteria(GeneAlias.class); criteria.add(Restrictions.disjunction().add(Restrictions.ilike("alias", symbol, MatchMode.START)) .add(Restrictions.ilike("hugoGeneSymbol", symbol, MatchMode.START))); return criteria.list(); }
From source file:gov.nih.nci.cananolab.service.sample.helper.AdvancedSampleServiceHelper.java
License:BSD License
private Junction getDatumJunction(AdvancedSampleSearchBean searchBean) { // if AND and more than one type of datum, don't use junction if (searchBean.getCharacterizationLogicalOperator().equals("and") && searchBean.getDatumTypeCount() > 1) { return null; }//from ww w .j a v a2 s .co m Disjunction datumDisjunction = Restrictions.disjunction(); Conjunction datumConjunction = Restrictions.conjunction(); for (CharacterizationQueryBean charQuery : searchBean.getCharacterizationQueries()) { Criterion datumCrit = getDatumCriterion(charQuery); if (datumCrit != null) { datumDisjunction.add(datumCrit); if (searchBean.getDatumTypeCount() == 1) { datumConjunction.add(datumCrit); } } } // default to or if only one query Junction junction = (searchBean.getCharacterizationLogicalOperator().equals("or") || searchBean.getCharacterizationQueries().size() == 1) ? datumDisjunction : datumConjunction; return junction; }
From source file:gov.nih.nci.cananolab.service.sample.helper.AdvancedSampleServiceHelper.java
License:BSD License
private Disjunction getCharacterizationDisjunction(AdvancedSampleSearchBean searchBean, DetachedCriteria crit, String charAlias) {//from w w w . ja va2s . c om Disjunction charDisjunction = Restrictions.disjunction(); for (CharacterizationQueryBean charQuery : searchBean.getCharacterizationQueries()) { Criterion charCrit = getCharacterizationCriterion(charQuery, charAlias); if (charCrit != null) { charDisjunction.add(charCrit); } } return charDisjunction; }
From source file:gov.nih.nci.cananolab.service.sample.helper.AdvancedSampleServiceHelper.java
License:BSD License
/** * Get the junction used in composition queries * /*from w w w .j a v a 2 s.c o m*/ * @param searchBean * @param crit * @return * @throws Exception */ private Junction getCompositionJunction(AdvancedSampleSearchBean searchBean, DetachedCriteria crit) throws Exception { // if AND and more than one query per type, don't use junction if (searchBean.getCompositionLogicalOperator().equals("and") && searchBean.getFuncCount() > 1 && searchBean.getNanoEntityCount() > 1 && searchBean.getFuncEntityCount() > 1) { return null; } Disjunction compDisjunction = Restrictions.disjunction(); Conjunction compConjunction = Restrictions.conjunction(); for (CompositionQueryBean compQuery : searchBean.getCompositionQueries()) { // function if (compQuery.getCompositionType().equals("function")) { Criterion funcCrit = this.getFunctionCriterion(compQuery, "inherentFunction.", "function."); if (funcCrit != null) { compDisjunction.add(funcCrit); // only add to conjunction if there is only one query for // the type if (searchBean.getFuncCount() == 1) { compConjunction.add(funcCrit); } } } // nanomaterial entity else if (compQuery.getCompositionType().equals("nanomaterial entity")) { Criterion nanoEntityCrit = getNanomaterialEntityCriterion(compQuery, "nanoEntity."); if (nanoEntityCrit != null) { compDisjunction.add(nanoEntityCrit); // only add to conjunction if there is only one query for // the type if (searchBean.getNanoEntityCount() == 1) { compConjunction.add(nanoEntityCrit); } } } // functionalizing entity else if (compQuery.getCompositionType().equals("functionalizing entity")) { Criterion funcEntityCrit = getFunctionalizingEntityCriterion(compQuery, "funcEntity."); if (funcEntityCrit != null) { compDisjunction.add(funcEntityCrit); // only add to conjunction if there is only one query for // the type if (searchBean.getFuncEntityCount() == 1) { compConjunction.add(funcEntityCrit); } } } } // default to or if only one query Junction junction = (searchBean.getCompositionLogicalOperator().equals("or") || searchBean.getCompositionQueries().size() == 1) ? compDisjunction : compConjunction; return junction; }
From source file:gov.nih.nci.cananolab.service.sample.helper.AdvancedSampleServiceHelper.java
License:BSD License
/** * Get the junction used in function queries * // w ww.ja v a 2 s. c om * @param searchBean * @param crit * @return * @throws Exception */ private Junction getFunctionJunction(AdvancedSampleSearchBean searchBean, DetachedCriteria crit) throws Exception { // if AND and more than one query per type, don't use junction if (searchBean.getCompositionLogicalOperator().equals("and") && searchBean.getFuncCount() > 1) { return null; } Disjunction compDisjunction = Restrictions.disjunction(); Conjunction compConjunction = Restrictions.conjunction(); for (CompositionQueryBean compQuery : searchBean.getCompositionQueries()) { // function if (compQuery.getCompositionType().equals("function")) { Criterion funcCrit = this.getFunctionCriterion(compQuery, "", ""); if (funcCrit != null) { compDisjunction.add(funcCrit); // only add to conjunction if there is only one query for // the type if (searchBean.getFuncCount() == 1) { compConjunction.add(funcCrit); } } } } // default to or if only one query Junction junction = (searchBean.getCompositionLogicalOperator().equals("or") || searchBean.getCompositionQueries().size() == 1) ? compDisjunction : compConjunction; return junction; }
From source file:gov.nih.nci.cananolab.service.sample.helper.AdvancedSampleServiceHelper.java
License:BSD License
/** * Get the junction used in nanomaterial entity queries * /* www .j a v a 2s. c o m*/ * @param searchBean * @param crit * @return * @throws Exception */ private Junction getNanomaterialEntityJunction(AdvancedSampleSearchBean searchBean, DetachedCriteria crit) throws Exception { // if AND and more than one query per type, don't use junction if (searchBean.getCompositionLogicalOperator().equals("and") && searchBean.getNanoEntityCount() > 1) { return null; } Disjunction compDisjunction = Restrictions.disjunction(); Conjunction compConjunction = Restrictions.conjunction(); for (CompositionQueryBean compQuery : searchBean.getCompositionQueries()) { // nanomaterial entity if (compQuery.getCompositionType().equals("nanomaterial entity")) { Criterion nanoEntityCrit = getNanomaterialEntityCriterion(compQuery, ""); if (nanoEntityCrit != null) { compDisjunction.add(nanoEntityCrit); // only add to conjunction if there is only one query for // the type if (searchBean.getNanoEntityCount() == 1) { compConjunction.add(nanoEntityCrit); } } } } // default to or if only one query Junction junction = (searchBean.getCompositionLogicalOperator().equals("or") || searchBean.getCompositionQueries().size() == 1) ? compDisjunction : compConjunction; return junction; }
From source file:gov.nih.nci.cananolab.service.sample.helper.AdvancedSampleServiceHelper.java
License:BSD License
/** * Get the junction used in functionalizing entity queries * //from w w w . j a v a 2 s . c om * @param searchBean * @param crit * @return * @throws Exception */ private Junction getFunctionalizingEntityJunction(AdvancedSampleSearchBean searchBean, DetachedCriteria crit) throws Exception { // if AND and more than one query per type, don't use junction if (searchBean.getCompositionLogicalOperator().equals("and") && searchBean.getFuncEntityCount() > 1) { return null; } Disjunction compDisjunction = Restrictions.disjunction(); Conjunction compConjunction = Restrictions.conjunction(); for (CompositionQueryBean compQuery : searchBean.getCompositionQueries()) { // functionalizing entity if (compQuery.getCompositionType().equals("functionalizing entity")) { Criterion funcEntityCrit = getFunctionalizingEntityCriterion(compQuery, ""); if (funcEntityCrit != null) { compDisjunction.add(funcEntityCrit); // only add to conjunction if there is only one query for // the type if (searchBean.getFuncEntityCount() == 1) { compConjunction.add(funcEntityCrit); } } } } // default to or if only one query Junction junction = (searchBean.getCompositionLogicalOperator().equals("or") || searchBean.getCompositionQueries().size() == 1) ? compDisjunction : compConjunction; return junction; }