Package org.apache.ojb.broker.query

Examples of org.apache.ojb.broker.query.ReportQueryByCriteria


   * test may fail if db does not support sub queries
   */
    public void testSubQuery1()
    {

        ReportQueryByCriteria subQuery;
        Criteria subCrit = new Criteria();
        Criteria crit = new Criteria();

        subCrit.addLike("articleName", "A%");
        subQuery = QueryFactory.newReportQuery(Article.class, subCrit);
        subQuery.setAttributes(new String[] { "avg(price)" });

        crit.addGreaterOrEqualThan("price", subQuery);
        Query q = QueryFactory.newQuery(Article.class, crit);

        Collection results = broker.getCollectionByQuery(q);
View Full Code Here


   * test may fail if db does not support sub queries
   */
    public void testSubQuery3()
    {

        ReportQueryByCriteria subQuery;
        Criteria subCrit = new Criteria();
        Criteria crit = new Criteria();

        subCrit.addEqualToField("productGroupId", Criteria.PARENT_QUERY_PREFIX + "groupId");
        subQuery = QueryFactory.newReportQuery(Article.class, subCrit);
        subQuery.setAttributes(new String[] { "count(productGroupId)" });

        crit.addLessThan("10", subQuery); // MORE than 10 articles, uses
                      // attribute as value !
        crit.addLessThan("groupId", new Integer(987654));
        Query q = QueryFactory.newQuery(ProductGroup.class, crit);
View Full Code Here

   * test may fail if db does not support sub queries
   */
    public void testSubQuery4()
    {

        ReportQueryByCriteria subQuery;
        Criteria subCrit = new Criteria();
        Criteria crit = new Criteria();

        subCrit.addEqualToField("productGroupId", Criteria.PARENT_QUERY_PREFIX + "groupId");
        subQuery = QueryFactory.newReportQuery(Article.class, subCrit);
        subQuery.setAttributes(new String[] { "count(productGroupId)" });

        crit.addGreaterThan(subQuery, "10"); // MORE than 10 articles
        crit.addLessThan("groupId", new Integer(987654));
        Query q = QueryFactory.newQuery(ProductGroup.class, crit);

View Full Code Here

    {

        Criteria crit = new Criteria();
        Collection results = new Vector();
        crit.addLike("firstname", "%o%");
        ReportQueryByCriteria q = QueryFactory.newReportQuery(Person.class, crit);
        q.setAttributes(new String[] { "id", "firstname", "count(*)" });
        q.addGroupBy(new String[] { "id", "firstname" });

        Iterator iter = broker.getReportQueryIteratorByQuery(q);

        assertNotNull(iter);
        while (iter.hasNext())
View Full Code Here

    public void testReportQueryGroupByNonSelectColumns()
    {

        Criteria crit = new Criteria();
        Collection results = new Vector();
        ReportQueryByCriteria q = QueryFactory.newReportQuery(Person.class, crit);
        q.setAttributes(new String[] { "max(id)" });
        q.addGroupBy(new String[] { "lastname", "firstname" });

        Iterator iter = broker.getReportQueryIteratorByQuery(q);

        assertNotNull(iter);
        while (iter.hasNext())
View Full Code Here

        Criteria crit = new Criteria();
        Collection results = new Vector();
        int types[] = new int[]{Types.DECIMAL, Types.VARCHAR, Types.BIGINT};

        crit.addLike("firstname", "%o%");
        ReportQueryByCriteria q = QueryFactory.newReportQuery(Person.class, crit);
        q.setAttributes(new String[] { "id", "firstname", "count(*)" });
        q.addGroupBy(new String[] { "id", "firstname" });
        q.setJdbcTypes(types);

        Iterator iter = broker.getReportQueryIteratorByQuery(q);

        assertNotNull(iter);
        while (iter.hasNext())
View Full Code Here

    {

        Criteria crit = new Criteria();
        Collection results = new Vector();
        crit.addLike("firstname", "%o%");
        ReportQueryByCriteria q = QueryFactory.newReportQuery(Person.class, crit);
        q.setAttributes(new String[] { "id", "firstname", "count(*)" });
        q.addGroupBy(new String[] { "id", "firstname" });

        q.setStartAtIndex(3);
        q.setEndAtIndex(5);
        Iterator iter = broker.getReportQueryIteratorByQuery(q);

        assertNotNull(iter);
        while (iter.hasNext())
        {
View Full Code Here

    {

        Criteria crit = new Criteria();
        Collection results = new Vector();
        crit.addLike("articleName", "%o%");
        ReportQueryByCriteria q = QueryFactory.newReportQuery(Article.class, crit);
        q.setAttributes(new String[] { "articleId", "articleName", "price" });

        Iterator iter = broker.getReportQueryIteratorByQuery(q);

        assertNotNull(iter);
        while (iter.hasNext())
View Full Code Here

        Criteria critMain = new Criteria();
        Criteria critSub = new Criteria();

        critSub.addEqualTo("articleName", name);
        ReportQueryByCriteria querySub = QueryFactory.newReportQuery(BookArticle.class, critSub);
        querySub.setAttributes(new String[] { "productGroupId"});

        ReportQueryByCriteria queryMain = QueryFactory.newReportQuery(AbstractProductGroup.class, critMain);
        queryMain.setAttributes(new String[] { "groupId", "groupName"});
        critMain.addIn("groupId", querySub);

        Iterator iter = broker.getReportQueryIteratorByQuery(queryMain);
        int result = 0;
        assertNotNull(iter);
View Full Code Here

   
        Criteria critMain = new Criteria();
        Criteria critSub = new Criteria();
   
        critSub.addEqualTo("articleName", name);
        ReportQueryByCriteria querySub = QueryFactory.newReportQuery(Article.class, critSub);
        querySub.setAttributes(new String[] { "productGroupId"});
        Iterator subIter = broker.getReportQueryIteratorByQuery(querySub);
        Collection subIds = new ArrayList();
        while (subIter.hasNext())
        {
            Object[] id = (Object[])subIter.next();
            subIds.add(id[0]);
        }
           
        ReportQueryByCriteria queryMain = QueryFactory.newReportQuery(AbstractProductGroup.class, critMain);
        queryMain.setAttributes(new String[] { "groupId", "groupName"});
        critMain.addIn("groupId", subIds);
   
        Iterator iter = broker.getReportQueryIteratorByQuery(queryMain);
        int result = 0;
        assertNotNull(iter);
View Full Code Here

TOP

Related Classes of org.apache.ojb.broker.query.ReportQueryByCriteria

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.