Return-Path: Delivered-To: apmail-db-ojb-dev-archive@www.apache.org Received: (qmail 89937 invoked from network); 22 Mar 2007 18:02:40 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Mar 2007 18:02:40 -0000 Received: (qmail 2752 invoked by uid 500); 22 Mar 2007 18:02:48 -0000 Delivered-To: apmail-db-ojb-dev-archive@db.apache.org Received: (qmail 2732 invoked by uid 500); 22 Mar 2007 18:02:48 -0000 Mailing-List: contact ojb-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "OJB Developers List" Reply-To: "OJB Developers List" Delivered-To: mailing list ojb-dev@db.apache.org Received: (qmail 2721 invoked by uid 500); 22 Mar 2007 18:02:48 -0000 Received: (qmail 2718 invoked by uid 99); 22 Mar 2007 18:02:48 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Mar 2007 11:02:48 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Mar 2007 11:02:39 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 4E5A71A9838; Thu, 22 Mar 2007 11:02:19 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r521385 - in /db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer: ChainingIterator.java OJBIterator.java PagingIterator.java RsIterator.java Date: Thu, 22 Mar 2007 18:02:19 -0000 To: ojb-commits@db.apache.org From: arminw@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070322180219.4E5A71A9838@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: arminw Date: Thu Mar 22 11:02:18 2007 New Revision: 521385 URL: http://svn.apache.org/viewvc?view=rev&rev=521385 Log: rename (deprecate) method OJBIterator.releaseDbResources() to OJBIterator.close() Modified: db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/ChainingIterator.java db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/OJBIterator.java db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/PagingIterator.java db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/RsIterator.java Modified: db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/ChainingIterator.java URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/ChainingIterator.java?view=diff&rev=521385&r1=521384&r2=521385 ============================================================================== --- db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/ChainingIterator.java (original) +++ db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/ChainingIterator.java Thu Mar 22 11:02:18 2007 @@ -98,11 +98,16 @@ */ public void setAutoRelease(boolean autoRelease) { + setAutoClose(autoRelease); + } + + public void setAutoClose(boolean autoClose) + { checkOpen(); Iterator it = m_rsIterators.iterator(); while (it.hasNext()) { - ((OJBIterator) it.next()).setAutoRelease(autoRelease); + ((OJBIterator) it.next()).setAutoClose(autoClose); } } @@ -391,18 +396,19 @@ return retval; } - /** - * delegate to each contained OJBIterator and release - * its resources. - */ public void releaseDbResources() { + close(); + } + + public void close() + { if(m_rsIterators == null) return; Iterator it = m_rsIterators.iterator(); while (it.hasNext()) { - ((OJBIterator) it.next()).releaseDbResources(); + ((OJBIterator) it.next()).close(); } m_rsIterators = null; } Modified: db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/OJBIterator.java URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/OJBIterator.java?view=diff&rev=521385&r1=521384&r2=521385 ============================================================================== --- db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/OJBIterator.java (original) +++ db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/OJBIterator.java Thu Mar 22 11:02:18 2007 @@ -20,22 +20,22 @@ import org.apache.ojb.broker.PersistenceBrokerException; /** - * A {@link Iterator} extension internaly used by OJB to handle query results. + * A {@link Iterator} extension internally used by OJB to handle query results. * *

- * NOTE: OJB is very strict in handling OJBIterator instances. The OJBIterator is + * NOTE: OJB is very strict in handling OJBIterator instances. OJBIterator is * bound very closely to the used {@link org.apache.ojb.broker.PersistenceBroker} instance. * Thus if you do a *
- {@link org.apache.ojb.broker.PersistenceBroker#close} *
- {@link org.apache.ojb.broker.PersistenceBroker#commitTransaction} *
- {@link org.apache.ojb.broker.PersistenceBroker#abortTransaction} *
- * call, the current OJBIterator instance resources will be cleaned up automatic - * and invalidate current instance by implicit {@link #releaseDbResources()} call. + * call, the current OJBIterator instance resources will be cleaned up automatic + * and invalidate current instance. *

*

- * Except user explicitly call {@link #setAutoRelease(boolean) setAutoRelease(false)}, then the - * user is responsible for release resource call. + * Except user explicitly call {@link #setAutoClose(boolean) setAutoClose(false)}, then the + * user is responsible for the release resource call. *

* * @version $Id$ @@ -87,40 +87,86 @@ boolean relative(int row) throws PersistenceBrokerException; /** - * Release all internally used Database resources of the iterator. - * Clients must call this methods explicitely if the iterator is not - * exhausted by the client application. If the Iterator is exhauseted - * this method will be called implicitely. + * Release all internally used database resources of this iterator. + * Clients must call this method explicitly for immediate release of resources + * if the iterator is not exhausted by the client, else the resources will be + * released on {@link org.apache.ojb.broker.PersistenceBroker#close PB.close()}, + * {@link org.apache.ojb.broker.PersistenceBroker#commitTransaction PB.commitTransaction()} + * or {@link org.apache.ojb.broker.PersistenceBroker#abortTransaction() PB.abortTransaction()}. + *

+ * If the Iterator is exhauseted this method will be called implicit after return of the + * last iterator object. + *

* + * @deprecated please use {@link #close()} * @see #setAutoRelease(boolean) */ public void releaseDbResources(); /** + * Release all internally used database resources of this iterator. + * Clients must call this method explicitly for immediate release of resources + * if the iterator is not exhausted by the client, else the resources will be + * released on {@link org.apache.ojb.broker.PersistenceBroker#close PB.close()}, + * {@link org.apache.ojb.broker.PersistenceBroker#commitTransaction PB.commitTransaction()} + * or {@link org.apache.ojb.broker.PersistenceBroker#abortTransaction() PB.abortTransaction()}. + *

+ * If the Iterator is exhauseted this method will be called implicit after return of the + * last iterator object. + *

+ * + * @see #setAutoClose(boolean) + */ + public void close(); + + /** * Allows user to switch off/on automatic resource cleanup. * Set false to take responsibility of resource cleanup * for this class, means after use it's mandatory to call - * {@link #releaseDbResources}. + * {@link #close()}. *
By default it's true and resource cleanup is done * automatic. *

* NOTE: Be carefully when set to false and the {@link org.apache.ojb.broker.PersistenceBroker} - * instance which create this instance was closed. Closing of broker instance release all used connection resources, + * instance which create this instance is closed. Closing of broker instance release all used connection resources + * (expect the resources used by this instance - because of the false setting), * thus the connection used by this instance maybe reused by another thread and can cause unexpected side-effects. - * So we strongly recommend to do a {@link #releaseDbResources()} before close the used broker instance or use default + * So we strongly recommend to do a {@link #close()} call before close the used broker instance or use default * setting of this class with automatic cleanup. *

* * @param autoRelease Flag to set resource cleanup behavior. * @see #releaseDbResources() + * @deprecated please use {@link #setAutoClose(boolean)} */ void setAutoRelease(boolean autoRelease); /** + * Allows user to switch off/on automatic resource cleanup. + * Set false to take responsibility of resource cleanup + * for this class, means after use it's mandatory to call + * {@link #close()}. + *
By default it's true and resource cleanup is done + * automatic. + *

+ * NOTE: Be carefully when set to false and the {@link org.apache.ojb.broker.PersistenceBroker} + * instance which create this instance is closed. Closing of broker instance release all used connection resources + * (expect the resources used by this instance - because of the false setting), + * thus the connection used by this instance maybe reused by another thread and can cause unexpected side-effects. + * So we strongly recommend to do a {@link #close()} call before close the used broker instance or use default + * setting of this class with automatic cleanup. + *

+ * + * @param autoClose Flag to set resource cleanup behavior. + * @see #close() + */ + void setAutoClose(boolean autoClose); + + /** * Returns true if this class was closed and all resources are released. * * @return The state of the iterator. - * @see #releaseDbResources() + * @see #close() */ boolean isClosed(); @@ -156,6 +202,10 @@ { } + public void close() + { + } + public int size() throws PersistenceBrokerException { return 0; @@ -177,7 +227,11 @@ public boolean isClosed() { - return false; + return true; + } + + public void setAutoClose(boolean autoRelease) + { } public void setAutoRelease(boolean autoRelease) Modified: db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/PagingIterator.java URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/PagingIterator.java?view=diff&rev=521385&r1=521384&r2=521385 ============================================================================== --- db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/PagingIterator.java (original) +++ db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/PagingIterator.java Thu Mar 22 11:02:18 2007 @@ -67,7 +67,7 @@ m_iterator = OJBIterator.EMPTY_ITERATOR; m_rowLimitSize = 0; m_fullSize = 0; - anIterator.releaseDbResources(); + anIterator.close(); } else { @@ -81,12 +81,14 @@ return m_iterator.isClosed(); } - /** - * @see OJBIterator#setAutoRelease(boolean) - */ public void setAutoRelease(boolean autoRelease) { - m_iterator.setAutoRelease(autoRelease); + setAutoClose(autoRelease); + } + + public void setAutoClose(boolean autoClose) + { + m_iterator.setAutoClose(autoClose); } /** @@ -172,7 +174,12 @@ */ public void releaseDbResources() { - m_iterator.releaseDbResources(); + close(); + } + + public void close() + { + m_iterator.close(); } /** Modified: db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/RsIterator.java URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/RsIterator.java?view=diff&rev=521385&r1=521384&r2=521385 ============================================================================== --- db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/RsIterator.java (original) +++ db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/RsIterator.java Thu Mar 22 11:02:18 2007 @@ -139,7 +139,7 @@ * Flag that indicates if the automatic resource cleanup should be * done or not. Default is true. */ - private boolean autoRelease = true; + private boolean autoClose = true; private ResourceWrapper resourceListener; /** if true do not fire PBLifeCycleEvent. */ @@ -784,17 +784,16 @@ return retval; } - /** - * Release all internally used Database resources of the iterator. Clients - * must call this methods explicitely if the iterator is not exhausted by - * the client application. If the Iterator is exhauseted this method will - * be called implicitely. - */ public void releaseDbResources() { release(true); } + public void close() + { + release(true); + } + void release(boolean removeResourceListener) { if (!isInBatchedMode()) // resources are reused in batched mode @@ -851,22 +850,24 @@ */ protected void autoReleaseDbResources() { - if(autoRelease) + if(autoClose) { releaseDbResources(); } } - /** - * @see OJBIterator#setAutoRelease(boolean) - */ public void setAutoRelease(boolean autoRelease) { - if(resourcesReleased && !autoRelease) + setAutoClose(autoRelease); + } + + public void setAutoClose(boolean autoClose) + { + if(resourcesReleased && !autoClose) { logger.info(INFO_MSG); } - this.autoRelease = autoRelease; + this.autoClose = autoClose; } /** --------------------------------------------------------------------- To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For additional commands, e-mail: ojb-dev-help@db.apache.org