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 2004/04/03 03:49:00 UTC

cvs commit: db-ojb/src/java/org/apache/ojb/jdo ExtentImpl.java PersistenceManagerImpl.java QueryImpl.java TransactionImpl.java

brianm      2004/04/02 17:49:00

  Modified:    src/java/org/apache/ojb/jdo ExtentImpl.java
                        PersistenceManagerImpl.java QueryImpl.java
                        TransactionImpl.java
  Log:
  Started unit testing JDO, found some misfeatures already =)
  
  Revision  Changes    Path
  1.4       +5 -5      db-ojb/src/java/org/apache/ojb/jdo/ExtentImpl.java
  
  Index: ExtentImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/jdo/ExtentImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ExtentImpl.java	3 Apr 2004 00:27:59 -0000	1.3
  +++ ExtentImpl.java	3 Apr 2004 01:48:59 -0000	1.4
  @@ -15,7 +15,7 @@
    * limitations under the License.
    */
   
  -import org.apache.ojb.broker.accesslayer.RsIterator;
  +import org.apache.ojb.broker.accesslayer.OJBIterator;
   import org.apache.ojb.broker.metadata.ClassDescriptor;
   import org.apache.ojb.broker.query.Criteria;
   import org.apache.ojb.broker.query.Query;
  @@ -31,7 +31,7 @@
    */
   public class ExtentImpl implements Extent
   {
  -	private RsIterator m_iterator;
  +	private OJBIterator m_iterator;
   	private Class m_clazz;
   	private OTMConnection m_conn;
   	private PersistenceManager m_persistenceManager;
  @@ -46,7 +46,7 @@
   		Query q = QueryFactory.newQuery(m_clazz, selectExtent);
   		m_conn = conn;
   		m_persistenceManager = pm;
  -		m_iterator = (RsIterator) m_conn.getIteratorByQuery(q);
  +		m_iterator = (OJBIterator) m_conn.getIteratorByQuery(q);
   	}
   
   	public Iterator iterator()
  @@ -77,9 +77,9 @@
   
   	public void close(Iterator iterator)
   	{
  -		if (iterator instanceof RsIterator)
  +		if (iterator instanceof OJBIterator)
           {
  -			((RsIterator) iterator).releaseDbResources();
  +			((OJBIterator)iterator).releaseDbResources();
           }
   	}
   }
  
  
  
  1.5       +10 -2     db-ojb/src/java/org/apache/ojb/jdo/PersistenceManagerImpl.java
  
  Index: PersistenceManagerImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/jdo/PersistenceManagerImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PersistenceManagerImpl.java	3 Apr 2004 00:27:59 -0000	1.4
  +++ PersistenceManagerImpl.java	3 Apr 2004 01:48:59 -0000	1.5
  @@ -44,7 +44,7 @@
       private String m_password;
       private String m_alias;
       private Object m_usersObject;
  -    private Transaction m_tx;
  +    private TransactionImpl m_tx;
       private StateManager m_stateManager;
   
   
  @@ -90,7 +90,7 @@
           {
               throw new JDOFatalUserException(generateIsClosedErrorMessage("currentTransaction()"));
           }
  -        if (m_tx == null)
  +        if (m_tx == null || m_tx.isExpired())
           {
               m_tx = new TransactionImpl(this, m_kit.getTransaction(m_conn));
           }
  @@ -381,8 +381,16 @@
           return query;
       }
   
  +    /**
  +     * @todo figure out how to implement, may have to query all and filter objects
  +     *
  +     * @param aClass top level class
  +     * @param b include subclasses
  +     * @return
  +     */
       public Extent getExtent(Class aClass, boolean b)
       {
  +        if (!b) throw new UnsupportedOperationException("Not yet implemented!");
           if (isClosed())
           {
               throw new JDOFatalUserException(generateIsClosedErrorMessage("getExtent(Class, boolean)"));
  
  
  
  1.4       +5 -2      db-ojb/src/java/org/apache/ojb/jdo/QueryImpl.java
  
  Index: QueryImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/jdo/QueryImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- QueryImpl.java	3 Apr 2004 00:27:59 -0000	1.3
  +++ QueryImpl.java	3 Apr 2004 01:48:59 -0000	1.4
  @@ -47,7 +47,7 @@
           this.m_pm = pm;
           this.m_conn = conn;
           this.m_criteria = new Criteria();
  -        this.m_candidates = new HashSet();
  +        this.m_candidates = null;
       }
   
   	public void setClass(Class aClass)
  @@ -57,6 +57,7 @@
   
   	public void setCandidates(Extent extent)
   	{
  +        if (m_candidates == null) m_candidates = new HashSet();
           Iterator itty = extent.iterator();
           while (itty.hasNext())
           {
  @@ -66,6 +67,7 @@
   
   	public void setCandidates(Collection collection)
   	{
  +        if (m_candidates == null) m_candidates = new HashSet();
           this.m_candidates.addAll(collection);
   	}
   
  @@ -113,7 +115,8 @@
   	{
           QueryByCriteria query = QueryFactory.newQuery(m_searchClass, this.m_criteria);
   		Collection results =  (Collection) m_conn.getCollectionByQuery(query);
  -        return CollectionUtils.intersection(results, this.m_candidates);
  +        if (m_candidates != null) return CollectionUtils.intersection(results, this.m_candidates);
  +        else return results;
   	}
   
   	public Object execute(Object o)
  
  
  
  1.3       +8 -0      db-ojb/src/java/org/apache/ojb/jdo/TransactionImpl.java
  
  Index: TransactionImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/jdo/TransactionImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TransactionImpl.java	11 Mar 2004 18:16:16 -0000	1.2
  +++ TransactionImpl.java	3 Apr 2004 01:48:59 -0000	1.3
  @@ -27,6 +27,7 @@
   {
   	private PersistenceManager m_persistenceManager;
   	private org.apache.ojb.otm.core.Transaction m_tx;
  +    private boolean m_isExpired = false;
   
   	public TransactionImpl(PersistenceManager persistenceManager, org.apache.ojb.otm.core.Transaction tx)
   	{
  @@ -34,6 +35,11 @@
   		m_tx = tx;
   	}
   
  +    boolean isExpired()
  +    {
  +        return this.m_isExpired;
  +    }
  +
   	public void begin()
   	{
   		m_tx.begin();
  @@ -42,11 +48,13 @@
   	public void commit()
   	{
   		m_tx.commit();
  +        m_isExpired = true;
   	}
   
   	public void rollback()
   	{
   		m_tx.rollback();
  +        m_isExpired = true;
   	}
   
   	public boolean isActive()
  
  
  

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