You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by br...@apache.org on 2003/12/17 21:36:22 UTC

cvs commit: db-ojb/src/java/org/apache/ojb/broker/accesslayer OJBIterator.java PagingIterator.java RsIterator.java ChainingIterator.java

brj         2003/12/17 12:36:22

  Modified:    src/java/org/apache/ojb/broker/accesslayer Tag:
                        OJB_BRANCH_1_0 OJBIterator.java PagingIterator.java
                        RsIterator.java ChainingIterator.java
  Log:
  - changed signature of relative() to throw PersistenceBrokerException
  - fixed problems with PagingIterator
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.5.2.1   +4 -5      db-ojb/src/java/org/apache/ojb/broker/accesslayer/OJBIterator.java
  
  Index: OJBIterator.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/OJBIterator.java,v
  retrieving revision 1.5
  retrieving revision 1.5.2.1
  diff -u -r1.5 -r1.5.2.1
  --- OJBIterator.java	8 Dec 2003 17:46:10 -0000	1.5
  +++ OJBIterator.java	17 Dec 2003 20:36:22 -0000	1.5.2.1
  @@ -54,10 +54,9 @@
    * <http://www.apache.org/>.
    */
   
  -import org.apache.ojb.broker.PersistenceBrokerException;
  -
   import java.util.Iterator;
  -import java.sql.SQLException;
  +
  +import org.apache.ojb.broker.PersistenceBrokerException;
   
   /**
    * @version $Id$
  @@ -89,7 +88,7 @@
        * but does not change the cursor position.
        * @param row the row to move to in this iterator, by relative number
        */
  -    boolean relative(int row) throws SQLException;
  +    boolean relative(int row) throws PersistenceBrokerException;
   	
       /**
        * Release all internally used Database resources of the iterator.
  
  
  
  1.6.2.1   +22 -11    db-ojb/src/java/org/apache/ojb/broker/accesslayer/PagingIterator.java
  
  Index: PagingIterator.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/PagingIterator.java,v
  retrieving revision 1.6
  retrieving revision 1.6.2.1
  diff -u -r1.6 -r1.6.2.1
  --- PagingIterator.java	8 Dec 2003 17:46:10 -0000	1.6
  +++ PagingIterator.java	17 Dec 2003 20:36:22 -0000	1.6.2.1
  @@ -43,8 +43,6 @@
    * Apache Software Foundation, please see <http://www.apache.org/> .
    */
   
  -import java.sql.SQLException;
  -
   import org.apache.ojb.broker.PersistenceBrokerException;
   import org.apache.ojb.broker.query.Query;
   
  @@ -143,19 +141,32 @@
   	 */
       public boolean absolute(int row) throws PersistenceBrokerException
       {
  -        return m_iterator.absolute(m_startAt + row);
  +        int newPosition = m_startAt - 1 + row;
  +        
  +        if (newPosition < m_startAt)
  +        {
  +            newPosition = Math.max(m_endAt + row, m_startAt - 1);
  +        }
  +        
  +        if (newPosition > m_endAt)
  +        {
  +            newPosition = m_endAt;
  +        }
  +        
  +        m_currentCursorPosition = newPosition;
  +        return m_iterator.absolute(newPosition);
       }
   
       /*
  -	 * (non-Javadoc)
  -	 * 
  -	 * @see org.apache.ojb.broker.accesslayer.OJBIterator#relative(int)
  -	 */
  -    public boolean relative(int row) throws SQLException
  +     * (non-Javadoc)
  +     * 
  +     * @see org.apache.ojb.broker.accesslayer.OJBIterator#relative(int)
  +     */
  +    public boolean relative(int row) throws PersistenceBrokerException
       {
  -        return m_iterator.relative(row);
  +        return absolute(m_currentCursorPosition + row);
       }
  -
  +    
       /*
   	 * (non-Javadoc)
   	 * 
  
  
  
  1.54.2.1  +2 -2      db-ojb/src/java/org/apache/ojb/broker/accesslayer/RsIterator.java
  
  Index: RsIterator.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/RsIterator.java,v
  retrieving revision 1.54
  retrieving revision 1.54.2.1
  diff -u -r1.54 -r1.54.2.1
  --- RsIterator.java	13 Dec 2003 17:50:40 -0000	1.54
  +++ RsIterator.java	17 Dec 2003 20:36:22 -0000	1.54.2.1
  @@ -739,7 +739,7 @@
        * @param row
        *            the row to move to in this iterator, by relative number
        */
  -    public boolean relative(int row) throws SQLException
  +    public boolean relative(int row) throws PersistenceBrokerException
       {
           boolean retval = false;
           if (supportsAdvancedJDBCCursorControl())
  
  
  
  1.8.2.1   +2 -3      db-ojb/src/java/org/apache/ojb/broker/accesslayer/ChainingIterator.java
  
  Index: ChainingIterator.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/ChainingIterator.java,v
  retrieving revision 1.8
  retrieving revision 1.8.2.1
  diff -u -r1.8 -r1.8.2.1
  --- ChainingIterator.java	8 Dec 2003 17:46:10 -0000	1.8
  +++ ChainingIterator.java	17 Dec 2003 20:36:22 -0000	1.8.2.1
  @@ -53,7 +53,6 @@
    */
   package org.apache.ojb.broker.accesslayer;
   
  -import java.sql.SQLException;
   import java.util.ArrayList;
   import java.util.Iterator;
   import java.util.List;
  @@ -272,7 +271,7 @@
   	 * positioned before the first row or after the last row of 
   	 * the result set.
   	 */
  -	public boolean relative(int row) throws SQLException
  +	public boolean relative(int row) throws PersistenceBrokerException
   	{
   		if (row == 0)
   		{
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org