Example usage for org.hibernate.criterion DetachedCriteria createCriteria

List of usage examples for org.hibernate.criterion DetachedCriteria createCriteria

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria createCriteria.

Prototype

public DetachedCriteria createCriteria(String associationPath) 

Source Link

Document

Creates a nested DetachedCriteria representing the association path.

Usage

From source file:GCTestClient.java

License:BSD License

/**
 * Use case : Query Based on Confidence 
 * Search on one more attribute within a Gene,MessengerRNA or Protein class
 * with a given or higher confidence score (from GenomicIdentifierSet).
 * Traverse the model to get data from the other classes.
 *  /* ww w. j  ava2 s .c  o  m*/
 *  Query in this method:
 *  Search on Protein where ensemblGeneId='ENS2' AND unigene,ensemblPeptide as output 
 *  AND confidenceScore > 0.2
 *  Print Set ID,Confidenscore and associated Gene,mRNA values with this Set 
 *  
 */

static void queryConfScore() throws Exception {
    /**
     * Create Detached for GenomicIdentifierSet Object and add restriction on confidence score
     * confidenceScore>0.2
     */
    DetachedCriteria genomicIdSetCriteria = DetachedCriteria.forClass(GenomicIdentifierSet.class);
    genomicIdSetCriteria.add(Restrictions.gt("confidenceScore", new Float("0.1")));

    /**
     * Create Criteria for search on ensemblGeneId = ENS2 AND unigeneAsOutput = true
     * AND ensemblPeptideAsOutput=true
     */

    DetachedCriteria geneCriteria = genomicIdSetCriteria.createCriteria("gene");
    geneCriteria.add(Restrictions.eq("ensemblGeneId", "ENS2"));

    geneCriteria.add(Restrictions.eq("unigeneAsOutput", new Boolean(true)));

    DetachedCriteria proteinCriteria = genomicIdSetCriteria.createCriteria("protein");
    proteinCriteria.add(Restrictions.eq("ensemblPeptideAsOutput", new Boolean(true)));
    /**
     * Execute the Query
     */
    List resultList = appService.query(genomicIdSetCriteria,
            "edu.wustl.geneconnect.domain.GenomicIdentifierSet");
    System.out.println("Result Size: " + resultList.size());
    for (Iterator iter = resultList.iterator(); iter.hasNext();) {

        GenomicIdentifierSet gset = (GenomicIdentifierSet) iter.next();
        /**Print Set Id and Confidence Score*/
        System.out.println(
                "\nSet Id: " + gset.getId() + "  Confidence Score: " + gset.getConfidenceScore() + "\n");
        Gene gene = gset.getGene();
        MessengerRNA mrna = gset.getMessengerRNA();
        Protein protein = gset.getProtein();

        System.out.println("Ensembl Gene ID | UniGene cluster ID | Ensembl Peptide ID");
        System.out.println(gene.getEnsemblGeneId() + "           | " + gene.getUnigeneClusterId()
                + "            | " + protein.getEnsemblPeptideId());

        System.out
                .println("-----------------------------------------------------------------------------------");
    }
}

From source file:GCTestClient.java

License:BSD License

/**
 * @throws Exception/*from  ww w .  j  av a2 s  . com*/
 */
static void querybyNodeTraversal() throws Exception {
    /*Detached Criteria for GenomicIdentifier Set object*/
    DetachedCriteria genomicIdSetCriteria = DetachedCriteria.forClass(GenomicIdentifierSet.class);

    /**
     * Create criteria for ONT where Set should contain a ONT as 
     * EnsemblGene ---Direct---> Entrez Gene ---Direct---> UniGene
     * and optionally can also specify link type between each data source pair.
     */

    /**
     * Create criteria for ONT as:
     * EnsemblGene ---Direct
     */
    DetachedCriteria ontCrit = genomicIdSetCriteria.createCriteria("orderOfNodeTraversalCollection");
    DetachedCriteria ontCritF = ontCrit.createCriteria("sourceDataSource")
            .add(Restrictions.eq("name", "Ensembl Gene"));
    ontCrit.createCriteria("linkType").add(Restrictions.eq("type", "DIRECT"));

    /**
     * Create criteria for ONT as:
     * EnsemblGene ---Direct---> Entrez Gene ---Direct
     */
    DetachedCriteria ontCritF1 = ontCrit.createCriteria("childOrderOfNodeTraversal");

    ontCritF1.createCriteria("sourceDataSource").add(Restrictions.eq("name", "Entrez Gene"));
    ontCritF1.createCriteria("linkType").add(Restrictions.eq("type", "DIRECT"));

    /**
     * Create criteria for ONT as:
     * EnsemblGene ---Direct---> Entrez Gene ---Direct---> UniGene
     */
    DetachedCriteria ontCritF2 = ontCritF1.createCriteria("childOrderOfNodeTraversal");
    DetachedCriteria ontCritF3 = ontCritF2.createCriteria("sourceDataSource");
    ontCritF3.add(Restrictions.eq("name", "UniGene"));
    ontCritF2.add(Restrictions.isNull("childOrderOfNodeTraversal"));

    /**
     * Create Critria for ensemblTranscriptId = ENST1 AND
     * ensemblGeneAsOutput = true AND ensemblPeptideAsOutput = true
     */
    DetachedCriteria mrnaCriteria = genomicIdSetCriteria.createCriteria("messengerRNA");
    mrnaCriteria.add(Restrictions.eq("ensemblTranscriptId", "ENST1"));

    DetachedCriteria geneCriteria = genomicIdSetCriteria.createCriteria("gene");
    geneCriteria.add(Restrictions.eq("ensemblGeneAsOutput", new Boolean(true)));

    DetachedCriteria proteinCriteria = genomicIdSetCriteria.createCriteria("protein");
    proteinCriteria.add(Restrictions.eq("ensemblPeptideAsOutput", new Boolean(true)));

    // load all GenomicIdentifierSet objects with Gene.entrezgeneID = A1 and ONT A->C->D->B

    List resultList = appService.query(genomicIdSetCriteria,
            "edu.wustl.geneconnect.domain.GenomicIdentifierSet");

    System.out.println("Result Size: " + resultList.size());
    for (Iterator iter = resultList.iterator(); iter.hasNext();) {
        GenomicIdentifierSet gset = (GenomicIdentifierSet) iter.next();
        System.out.println("**************************************************************");
        System.out.println("Set id: " + gset.getId() + "  Confidence Score: " + gset.getConfidenceScore());
        //         System.out.println("Gid: " + gset.getGene().getEntrezgeneID());
        Collection coll = gset.getOrderOfNodeTraversalCollection();

        /*Get and Print the Order of Node Traveersal associated with this GenomicIdentifierSet*/
        System.out.println("________________________________________________________");
        for (Iterator iter1 = coll.iterator(); iter1.hasNext();) {
            System.out.println("ONT Id----DataSource-------LinkType");
            OrderOfNodeTraversal ont = (OrderOfNodeTraversal) iter1.next();

            OrderOfNodeTraversal tempont = ont;
            while (tempont != null) {
                LinkType ltype = tempont.getLinkType();
                String linkType = null;
                if (ltype != null)
                    linkType = ltype.getType();
                System.out.println(tempont.getId() + "----" + tempont.getSourceDataSource().getName() + "------"
                        + linkType);
                OrderOfNodeTraversal nextont = tempont.getChildOrderOfNodeTraversal();
                tempont = nextont;
            }
            System.out.println("________________________________________________________");
        }
        System.out.println("**************************************************************");
    }
}

From source file:GCTestClient.java

License:BSD License

/**
 * Use case : Query By Limiting ID Frequency 
 * Search on one ensemblPeptideId attribute within a Protein 
 * with a given higher frequency (from GenomicIdentifierData) for Entrez Gene 
 * data source./*from  ww w. j ava2s .  c o m*/
 *  
 * Display the result contining Genomic IDs and associated Frequency
 *   
 * @throws Exception
 */
public static void queryByLimitingIDFrequency() throws Exception {

    /**
     * Create DetachedCriteria for GenomicIdentifierSet with restriction for confidenceScore >=0.2 
     */
    DetachedCriteria genomicIdSetCriteria = DetachedCriteria.forClass(GenomicIdentifierSet.class);

    /**
     * Create Criteria to search on guven frequency of given data source 
     */

    DetachedCriteria freqCriteria = genomicIdSetCriteria.createCriteria("consensusIdentifierDataCollection");

    freqCriteria.add(Restrictions.gt("frequency", new Float("0.1")));
    freqCriteria.add(Restrictions.gt("frequency", new Float("0.1")));

    /** 
     * The dataSource value should be one of the Data Source Name
     * 
     */
    DetachedCriteria genomicIdCriteria = freqCriteria.createCriteria("genomicIdentifier");

    genomicIdCriteria.add(Restrictions.eq("dataSource", "Ensembl Gene"));
    genomicIdCriteria.add(Restrictions.eq("dataSource", "Entrez Gene"));

    /**
     * Create Criteria for ensemblGene selected as ouput 
     */
    DetachedCriteria geneCriteria = genomicIdSetCriteria.createCriteria("gene");
    geneCriteria.add(Restrictions.eq("ensemblGeneAsOutput", new Boolean(true)));

    /**
     * Create Criteria for search on ensemblPeptideId attribute
     */
    DetachedCriteria proteinCriteria = genomicIdSetCriteria.createCriteria("protein");
    proteinCriteria.add(Restrictions.eq("ensemblPeptideId", "ENSP1"));

    /**
     * Create Criteria for refseqmRNA selected as ouput 
     */
    DetachedCriteria mranCriteria = genomicIdSetCriteria.createCriteria("messengerRNA");
    mranCriteria.add(Restrictions.eq("refseqmRNAAsOutput", new Boolean(true)));

    List resultList = appService.query(genomicIdSetCriteria, GenomicIdentifierSet.class.getName());
    System.out.println("ResultSet Size: " + resultList.size());

    for (Iterator iter = resultList.iterator(); iter.hasNext();) {
        GenomicIdentifierSet gset = (GenomicIdentifierSet) iter.next();
        /*Print Set Id and Confidence Score*/
        System.out.println(
                "\nSet Id: " + gset.getId() + "  Confidence Score: " + gset.getConfidenceScore() + "\n");
        Gene gene = gset.getGene();
        MessengerRNA mrna = gset.getMessengerRNA();
        Protein p = gset.getProtein();

        System.out.println("Ensembl Gene ID | Ensembl Peptide ID | RefSeq mRNA ID");
        System.out.println(gene.getEnsemblGeneId() + "           | " + p.getEnsemblPeptideId()
                + "            | " + mrna.getRefseqId());

        System.out
                .println("-----------------------------------------------------------------------------------");
    }
    /*
     * Print the Genomic identiifer and its frequency throughout the GenomicIdentifierSolution
     */
    System.out.println(
            "Following is  a list of all genomic identifers (occured in this result)and its frequency");
    if (resultList.size() > 0) {
        GenomicIdentifierSet set = (GenomicIdentifierSet) resultList.get(0);

        GenomicIdentifierSolution solution = set.getGenomicIdentifierSolution();
        Collection coll = solution.getConsensusIdentifierDataCollection();
        System.out.println("Genomic Identifer\tFrequency");
        for (Iterator iter1 = coll.iterator(); iter1.hasNext();) {
            //OrderOfNodeTraversal ont = (OrderOfNodeTraversal)iter1.next();
            ConsensusIdentifierData ont = (ConsensusIdentifierData) iter1.next();
            GenomicIdentifier g = ont.getGenomicIdentifier();
            if (g != null)
                System.out.println("\t" + g.getGenomicIdentifier() + "\t\t\t" + ont.getFrequency());
        }
    }
}

From source file:TechGuideExamples.java

License:BSD License

public static void main(String[] args) throws Exception {

    System.out.println("*** Tech Guide Examples");

    ApplicationService appService = ApplicationServiceProvider.getApplicationService();

    /** Examples used in Developer Guide */

    try {//from  ww  w  .ja  va 2  s. c o m
        System.out.println("\nExample One: Simple Search (Single Criteria Object)");
        Gene gene = new Gene();
        // searching for all genes whose symbol starts with brca
        gene.setSymbol("brca*");

        List resultList = appService.search(Gene.class, gene);

        for (Iterator resultsIterator = resultList.iterator(); resultsIterator.hasNext();) {
            Gene returnedGene = (Gene) resultsIterator.next();
            System.out.println("Symbol: " + returnedGene.getSymbol() + "\tTaxon:"
                    + returnedGene.getTaxon().getScientificName() + "\tName " + returnedGene.getFullName());
        }
    } catch (RuntimeException e) {
        e.printStackTrace();
    }

    try {
        System.out.println("\nExample Two: Simple Search (Criteria Object Collection)");
        Taxon taxon1 = new Taxon();
        taxon1.setAbbreviation("hs"); // Homo sapiens
        Taxon taxon2 = new Taxon();
        taxon2.setAbbreviation("m"); // Mus musculus
        List<Taxon> taxonList = new ArrayList<Taxon>();
        taxonList.add(taxon1);
        taxonList.add(taxon2);
        List resultList = appService.search(Gene.class, taxonList);
        System.out.println("Total # of records = " + resultList.size());

    } catch (Exception e) {
        e.printStackTrace();
    }

    try {
        System.out.println("\nExample Three: Simple Search (Compound Criteria Object)");
        Taxon taxon = new Taxon();
        taxon.setAbbreviation("hs"); // Homo sapiens
        Gene gene = new Gene();
        gene.setTaxon(taxon);
        gene.setSymbol("IL5"); // Interleukin 5
        List<Gene> geneList = new ArrayList<Gene>();
        geneList.add(gene);
        Pathway pathway = new Pathway();
        pathway.setGeneCollection(geneList);
        List resultList = appService.search("gov.nih.nci.cabio.domain.Pathway", pathway);
        for (Iterator resultsIterator = resultList.iterator(); resultsIterator.hasNext();) {
            Pathway returnedPathway = (Pathway) resultsIterator.next();
            System.out.println("Name: " + returnedPathway.getName() + "\tDisplayValue: "
                    + returnedPathway.getDisplayValue());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    try {
        System.out.println("\nExample Four: Nested Search");
        Gene gene = new Gene();
        gene.setSymbol("TP53"); // Tumor protein p53 (Li-Fraumeni syndrome)   
        List resultList = appService
                .search("gov.nih.nci.cabio.domain.ProteinSequence,gov.nih.nci.cabio.domain.Protein", gene);
        for (Iterator resultsIterator = resultList.iterator(); resultsIterator.hasNext();) {
            ProteinSequence returnedProtSeq = (ProteinSequence) resultsIterator.next();
            System.out.println("Id: " + returnedProtSeq.getId() + "\tLength: " + returnedProtSeq.getLength());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    try {
        System.out.println("\nExample Five: Detached Criteria Search");
        DetachedCriteria criteria = DetachedCriteria.forClass(PhysicalLocation.class);
        criteria = criteria.add(Restrictions.gt("chromosomalStartPosition", new Long(86851632)));
        criteria = criteria.add(Restrictions.lt("chromosomalEndPosition", new Long(86861632)));
        criteria = criteria.add(Restrictions.ilike("assembly", "reference"));
        criteria = criteria.createCriteria("chromosome").add(Restrictions.eq("number", "1"));
        List resultList = appService.query(criteria);
        System.out.println("Total # of  records = " + resultList.size());
    } catch (Exception e) {
        e.printStackTrace();
    }

    try {
        System.out.println("\nExample Six: HQL Search");
        String hqlString = "FROM gov.nih.nci.cabio.domain.Gene g WHERE g.symbol LIKE ?";
        List<String> params = new ArrayList<String>();
        params.add("BRCA%");
        HQLCriteria hqlC = new HQLCriteria(hqlString, params);
        List resultList = appService.query(hqlC);
        System.out.println("Total # of records = " + resultList.size());
    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:cn.trymore.oa.service.system.impl.ServiceSystemLogImpl.java

License:Open Source License

@Override
public PaginationSupport<ModelSystemLog> getPaginationByEntity(ModelSystemLog entity, PagingBean pagingBean)
        throws ServiceException {
    DetachedCriteria criteria = DetachedCriteria.forClass(ModelSystemLog.class);

    if (entity != null) {
        if (UtilString.isNotEmpty(entity.getExeOperation())) {
            criteria.add(Restrictions.eq("exeOperation", entity.getExeOperation()));
        }/*from  w ww.j a v  a  2  s .c  o  m*/

        if (entity.getDistrictId() != null && UtilString.isNotEmpty(entity.getDistrictId())) {
            criteria.createCriteria("user").createCriteria("district")
                    .add(Restrictions.eq("id", entity.getDistrictId()));
        }

        if (entity.getStartTime() != null && UtilString.isNotEmpty(entity.getStartTime())) {
            criteria.add(Restrictions.ge("createtime", entity.getStartTime()));
        }

        if (entity.getEndTime() != null && UtilString.isNotEmpty(entity.getEndTime())) {
            criteria.add(Restrictions.le("createtime", entity.getEndTime()));
        }
    }

    // added by Jeccy.Zhao on 14/10/2012
    criteria.addOrder(Order.desc("createtime"));

    return this.getAll(criteria, pagingBean);
}

From source file:com.hmsinc.epicenter.model.workflow.impl.WorkflowRepositoryImpl.java

License:Open Source License

/**
 * Get the subquery for filtering based on events.
 * /*www .  ja va 2  s .c  o  m*/
 * @param geometry
 * @return
 */
private DetachedCriteria getInvestigationGeometryFilter(final Geometry geometry) {

    final DetachedCriteria dc = DetachedCriteria.forClass(Event.class, "event");
    dc.createCriteria("event.investigations").add(Restrictions.eqProperty("id", "investigation.id"));
    dc.createCriteria("event.geography")
            .add(SpatialRestrictions.withinOrFilter("geometry", geometry, 1000, true));
    dc.setProjection(Projections.property("id"));

    //   dc.setComment(" */ /*+ ORDERED ");
    return dc;
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

private DetachedCriteria createAssignedRolesCriteria(ExecutionContext context, RepoUser user, String text,
        boolean order) {
    final String roleNameField = "roleName";
    final String externallyDefinedField = "externallyDefined";

    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass());

    DetachedCriteria usersCriteria = criteria.createCriteria("users");
    usersCriteria.add(Restrictions.idEq(user.getId()));

    final String roleNameLikeValue = text == null ? "" : text;
    Criterion roleNameCriterion = Restrictions.ilike(roleNameField, "%" + roleNameLikeValue + "%");
    criteria.add(roleNameCriterion);//from  w  w  w. ja v a 2s .  c  o m

    criteria.add(Restrictions.eq(externallyDefinedField, Boolean.FALSE));

    if (order) {
        criteria.addOrder(Order.asc(roleNameField));
    }

    return criteria;
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

protected DetachedCriteria createUsersWithRoleCriteria(String roleName, String userName, boolean order) {

    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentUserClass());

    String userNameField = "username";
    String roleNameField = "roleName";

    //        addTenantCriteria(criteria, tenantIds);
    createSearchByUserNameCriteria(criteria, userName);

    if (roleName != null && roleName.trim().length() > 0) {

        Criterion roleNameCriterion = Restrictions.eq(roleNameField, roleName.trim());

        criteria.createCriteria("roles").add(roleNameCriterion);
    }/*  w  w w .j  a v  a 2s  .  co m*/

    if (order) {
        criteria.addOrder(Order.asc(userNameField));
    }

    return criteria;
}

From source file:com.nowgroup.scsee.geo.state.HibernateStateRepository.java

License:MIT License

@SuppressWarnings("unchecked")
@Override//  w w  w.  j av  a2s.c  o m
public List<GeoState> getStatesByCountryId(int countryId) {
    DetachedCriteria dc = DetachedCriteria.forClass(GeoState.class);
    DetachedCriteria countryCriteria = dc.createCriteria("country");
    countryCriteria.add(Restrictions.eq("id", countryId));
    countryCriteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

    return (List<GeoState>) getHibernateTemplate().findByCriteria(dc);
}

From source file:com.opengamma.masterdb.batch.DbBatchMaster.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Pair<List<RiskRun>, Paging> searchRiskRun(final BatchRunSearchRequest request) {
    s_logger.info("Searching BatchDocuments: ", request);

    final DetachedCriteria criteria = DetachedCriteria.forClass(RiskRun.class);

    if (request.getValuationTime() != null) {
        criteria.add(Restrictions.eq("valuationTime", request.getValuationTime()));
    }//from w w w. j a v a  2s . c o m
    if (request.getVersionCorrection() != null) {
        criteria.add(Restrictions.eq("versionCorrection", request.getVersionCorrection()));
    }

    if (request.getMarketDataUid() != null) {
        criteria.createCriteria("marketData")
                .add(Restrictions.eq("baseUidScheme", request.getMarketDataUid().getScheme()))
                .add(Restrictions.eq("baseUidValue", request.getMarketDataUid().getValue()))
                .add(eqOrIsNull("baseUidVersion", request.getMarketDataUid().getVersion()));
        //.addOrder(Order.asc("baseUid"));
    }

    if (request.getViewDefinitionUid() != null) {
        criteria.add(Restrictions.eq("viewDefinitionUidScheme", request.getViewDefinitionUid().getScheme()))
                .add(Restrictions.eq("viewDefinitionUidValue", request.getViewDefinitionUid().getValue()))
                .add(eqOrIsNull("viewDefinitionUidVersion", request.getViewDefinitionUid().getVersion()));
        //.addOrder(Order.asc("viewDefinitionUid"));
    }

    return getTransactionTemplateRetrying(getMaxRetries())
            .execute(new TransactionCallback<Pair<List<RiskRun>, Paging>>() {
                @Override
                public Pair<List<RiskRun>, Paging> doInTransaction(final TransactionStatus status) {
                    //
                    final PagingRequest pagingRequest = request.getPagingRequest();
                    List<RiskRun> results = Collections.emptyList();
                    Paging paging;
                    if (!pagingRequest.equals(PagingRequest.NONE)) {
                        if (pagingRequest.equals(PagingRequest.ALL)) {
                            criteria.addOrder(Order.asc("valuationTime"));
                            results = getHibernateTemplate().findByCriteria(criteria,
                                    pagingRequest.getFirstItem(), pagingRequest.getPagingSize());
                            //
                            paging = Paging.of(pagingRequest, results);
                        } else {
                            criteria.setProjection(Projections.rowCount());
                            final Long totalCount = (Long) getHibernateTemplate().findByCriteria(criteria)
                                    .get(0);
                            paging = Paging.of(pagingRequest, totalCount.intValue());
                            //
                            criteria.setProjection(null);
                            criteria.setResultTransformer(Criteria.ROOT_ENTITY);
                            criteria.addOrder(Order.asc("valuationTime"));
                            results = getHibernateTemplate().findByCriteria(criteria,
                                    pagingRequest.getFirstItem(), pagingRequest.getPagingSize());
                        }
                    } else {
                        paging = Paging.of(PagingRequest.NONE, 0);
                    }
                    return Pair.of(results, paging);
                }
            });
}