Return-Path: Mailing-List: contact ojb-dev-help@db.apache.org; run by ezmlm Delivered-To: mailing list ojb-dev@db.apache.org Received: (qmail 11133 invoked by uid 500); 6 Apr 2003 20:26:08 -0000 Received: (qmail 11129 invoked from network); 6 Apr 2003 20:26:08 -0000 Received: from icarus.apache.org (208.185.179.13) by daedalus.apache.org with SMTP; 6 Apr 2003 20:26:08 -0000 Received: (qmail 86030 invoked by uid 1513); 6 Apr 2003 20:26:07 -0000 Date: 6 Apr 2003 20:26:07 -0000 Message-ID: <20030406202607.86029.qmail@icarus.apache.org> From: brj@apache.org To: db-ojb-cvs@apache.org Subject: cvs commit: db-ojb/src/java/org/apache/ojb/broker/query Criteria.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N brj 2003/04/06 13:26:07 Modified: src/java/org/apache/ojb/broker/query Criteria.java Log: fixed problem with parent pointer in addAnd/OrCriteria Revision Changes Path 1.29 +21 -5 db-ojb/src/java/org/apache/ojb/broker/query/Criteria.java Index: Criteria.java =================================================================== RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/query/Criteria.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- Criteria.java 6 Apr 2003 20:13:16 -0000 1.28 +++ Criteria.java 6 Apr 2003 20:26:07 -0000 1.29 @@ -162,6 +162,24 @@ crit.setParentCriteria(this); m_criteria.addElement(crit); } + + protected void addCriteria(Vector criteria) + { + Object crit; + + for (int i = 0; i < criteria.size(); i++) + { + crit = criteria.elementAt(i); + if (crit instanceof SelectionCriteria) + { + addSelectionCriteria((SelectionCriteria)crit); + } + else if (crit instanceof Criteria) + { + addCriteria((Criteria)crit); + } + } + } /** * Answer a List of InCriteria based on values, each InCriteria @@ -674,8 +692,7 @@ { setEmbraced(false); setType(NONE); // root object - m_criteria = pc.getCriteria(); - pc.setParentCriteria(this); + addCriteria(pc.getCriteria()); orderby.addAll(pc._getOrderby()); groupby.addAll(pc._getGroupby()); @@ -831,8 +848,7 @@ { setEmbraced(false); setType(NONE); // root object - m_criteria = pc.getCriteria(); - pc.setParentCriteria(this); + addCriteria(pc.getCriteria()); orderby.addAll(pc._getOrderby()); groupby.addAll(pc._getGroupby());