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/03/15 16:42:27 UTC
cvs commit: db-ojb/src/java/org/apache/ojb/broker/accesslayer JdbcAccessImpl.java RsIterator.java
brj 2003/03/15 07:42:27
Modified: src/java/org/apache/ojb/broker/query QueryBySQL.java
QueryByCriteria.java Query.java Criteria.java
AbstractQueryImpl.java QueryByIdentity.java
src/java/org/apache/ojb/broker/accesslayer
JdbcAccessImpl.java RsIterator.java
Log:
Query refactoring
Revision Changes Path
1.5 +9 -81 db-ojb/src/java/org/apache/ojb/broker/query/QueryBySQL.java
Index: QueryBySQL.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/query/QueryBySQL.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- QueryBySQL.java 14 Mar 2003 16:49:56 -0000 1.4
+++ QueryBySQL.java 15 Mar 2003 15:42:26 -0000 1.5
@@ -1,6 +1,5 @@
package org.apache.ojb.broker.query;
-import java.util.List;
/* ====================================================================
* The Apache Software License, Version 1.1
@@ -57,98 +56,27 @@
*/
/**
- * @version 1.0
- * @author Jakob Braeuchi
+ * @author <a href="mailto:jbraeuchi@hotmail.com">Jakob Braeuchi</a>
+ * @version $Id$
*/
-public class QueryBySQL extends AbstractQueryImpl implements Query
+public class QueryBySQL extends AbstractQueryImpl
{
- private String sql;
- private Class clazz;
-
- /**
- * Gets the sql.
- * @return Returns a String
- */
+ private String m_sql;
public QueryBySQL(Class targetClass, String anSQLStatement)
{
- this.clazz = targetClass;
- this.sql = anSQLStatement;
+ super(targetClass);
+ m_sql = anSQLStatement;
}
public String getSql()
{
- return sql;
- }
-
- /**
- * Sets the sql.
- * @param sql The sql to set
- */
- public void setSql(String sql)
- {
- this.sql = sql;
- }
-
- /*
- * @see Query#getCriteria()
- */
- public Criteria getCriteria()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.apache.ojb.broker.query.Query#getHavingCriteria()
- */
- public Criteria getHavingCriteria()
- {
- return null;
- }
-
- /*
- * @see Query#getExampleObject()
- */
- public Object getExampleObject()
- {
- return null;
- }
-
- /*
- * @see Query#getSearchClass()
- */
- public Class getSearchClass()
- {
- return clazz;
- }
-
- /*
- * @see Query#isDistinct()
- */
- public boolean isDistinct()
- {
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.apache.ojb.broker.query.Query#getGroupBy()
- */
- public List getGroupBy()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.apache.ojb.broker.query.Query#getOrderBy()
- */
- public List getOrderBy()
- {
- return null;
+ return m_sql;
}
- public String toString()
+ public String toString()
{
- return "Query from " + clazz + " sql= " + sql;
+ return "Query from " + getSearchClass() + " sql= " + m_sql;
}
}
1.9 +22 -38 db-ojb/src/java/org/apache/ojb/broker/query/QueryByCriteria.java
Index: QueryByCriteria.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/query/QueryByCriteria.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- QueryByCriteria.java 14 Mar 2003 16:49:56 -0000 1.8
+++ QueryByCriteria.java 15 Mar 2003 15:42:26 -0000 1.9
@@ -79,11 +79,10 @@
*
* Creation date: (24.01.2001 21:45:46)
* @author: Thomas Mahler
- *
+ * @version $Id$
*/
-public class QueryByCriteria extends AbstractQueryImpl implements Query
+public class QueryByCriteria extends AbstractQueryImpl
{
- private Class m_clazz;
private Criteria m_criteria;
private boolean m_distinct = false;
private HashMap m_pathClasses;
@@ -95,7 +94,8 @@
*/
public QueryByCriteria(Class targetClass, Criteria whereCriteria, Criteria havingCriteria, boolean distinct)
{
- this.m_clazz = targetClass;
+ super (targetClass);
+
this.m_criteria = whereCriteria;
this.m_havingCriteria = havingCriteria;
this.m_distinct = distinct;
@@ -214,13 +214,8 @@
return (Class) getPathClasses().get(aPath);
}
- /**
- * Method declaration
- *
- *
- * @return
- *
- *
+ /* (non-Javadoc)
+ * @see org.apache.ojb.broker.query.Query#getCriteria()
*/
public Criteria getCriteria()
{
@@ -236,39 +231,13 @@
}
/**
- * Method declaration
- *
- *
- * @return
- *
- *
- */
- public java.lang.Object getExampleObject()
- {
- return null;
- }
-
- /**
- * Method declaration
- *
- *
- * @return
- *
- *
- */
- public Class getSearchClass()
- {
- return m_clazz;
- }
-
- /**
* Insert the method's description here.
* Creation date: (07.02.2001 22:01:55)
* @return java.lang.String
*/
public String toString()
{
- return "Query from " + m_clazz + " where " + m_criteria;
+ return "Query from " + getSearchClass() + " where " + m_criteria;
}
/**
@@ -339,6 +308,21 @@
if (getCriteria() != null)
{
return getCriteria().getOrderby();
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.ojb.broker.query.Query#getPrefetchedRelationships()
+ */
+ public List getPrefetchedRelationships()
+ {
+ if (getCriteria() != null)
+ {
+ return getCriteria().getPrefetchedRelationships();
}
else
{
1.9 +11 -5 db-ojb/src/java/org/apache/ojb/broker/query/Query.java
Index: Query.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/query/Query.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- Query.java 14 Mar 2003 16:49:56 -0000 1.8
+++ Query.java 15 Mar 2003 15:42:26 -0000 1.9
@@ -115,15 +115,15 @@
/**
* Answer the orderBy of all Criteria and Sub Criteria the elements are of
- * class Criteria. FieldHelper
- * @return List of Criteria.FieldHelper
+ * class FieldHelper
+ * @return List of FieldHelper
*/
public List getOrderBy();
/**
* Gets the groupby for ReportQueries of all Criteria and Sub Criteria
- * the elements are of class Criteria. FieldHelper
- * @return List of Criteria.FieldHelper
+ * the elements are of class FieldHelper
+ * @return List of FieldHelper
*/
public List getGroupBy();
@@ -153,6 +153,12 @@
*/
void setEndAtIndex(int endAtIndex);
+ /**
+ * Returns the names of Relationships to be prefetched
+ * @return List of Strings
+ */
+ public List getPrefetchedRelationships();
+
void fullSize(int size);
int fullSize();
1.24 +9 -9 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.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- Criteria.java 14 Mar 2003 16:40:32 -0000 1.23
+++ Criteria.java 15 Mar 2003 15:42:26 -0000 1.24
@@ -573,11 +573,11 @@
}
/**
- * Answer the orderBy of all Criteria and Sub Criteria the elements are of
- * class Criteria. FieldHelper
- * @return Collection
+ * Answer the orderBy of all Criteria and Sub Criteria
+ * the elements are of class Criteria.FieldHelper
+ * @return List
*/
- public List getOrderby()
+ List getOrderby()
{
List result = _getOrderby();
Iterator iter = getCriteria().iterator();
@@ -818,10 +818,10 @@
/**
* Gets the groupby for ReportQueries of all Criteria and Sub Criteria
- * the elements are of class Criteria. FieldHelper
- * @return List of Criteria.FieldHelper
+ * the elements are of class FieldHelper
+ * @return List of FieldHelper
*/
- public List getGroupby()
+ List getGroupby()
{
List result = _getGroupby();
Iterator iter = getCriteria().iterator();
@@ -889,7 +889,7 @@
* Returns the prefetchedRelationships.
* @return List
*/
- public List getPrefetchedRelationships()
+ List getPrefetchedRelationships()
{
return prefetchedRelationships;
}
1.5 +88 -3 db-ojb/src/java/org/apache/ojb/broker/query/AbstractQueryImpl.java
Index: AbstractQueryImpl.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/query/AbstractQueryImpl.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AbstractQueryImpl.java 5 Jan 2003 14:19:55 -0000 1.4
+++ AbstractQueryImpl.java 15 Mar 2003 15:42:26 -0000 1.5
@@ -1,6 +1,7 @@
package org.apache.ojb.broker.query;
import java.io.Serializable;
+import java.util.List;
/* ====================================================================
* The Apache Software License, Version 1.1
@@ -56,16 +57,34 @@
* <http://www.apache.org/>.
*/
-public abstract class AbstractQueryImpl implements Serializable
+/**
+ * Abstract implemenation of Query interface
+ *
+ * @author ???
+ * @version $Id$
+ */
+public abstract class AbstractQueryImpl implements Query, Serializable
{
private int m_startAtIndex = Query.NO_START_AT_INDEX;
private int m_endAtIndex = Query.NO_END_AT_INDEX;
private int m_fullSize = 0;
+ private Class m_clazz;
+
+ public AbstractQueryImpl()
+ {
+ }
+
+ public AbstractQueryImpl(Class aSearchClass)
+ {
+ m_clazz = aSearchClass;
+ }
+
public int getStartAtIndex()
{
return m_startAtIndex;
}
- public void setStartAtIndex(int startAtIndex)
+
+ public void setStartAtIndex(int startAtIndex)
{
m_startAtIndex = startAtIndex;
}
@@ -86,5 +105,71 @@
{
return m_fullSize;
}
-
+
+ /*
+ * @see Query#getSearchClass()
+ */
+ public Class getSearchClass()
+ {
+ return m_clazz;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.ojb.broker.query.Query#getGroupBy()
+ */
+ public List getGroupBy()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.ojb.broker.query.Query#getOrderBy()
+ */
+ public List getOrderBy()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.ojb.broker.query.Query#getPrefetchedRelationships()
+ */
+ public List getPrefetchedRelationships()
+ {
+ return null;
+ }
+
+
+
+ /* (non-Javadoc)
+ * @see org.apache.ojb.broker.query.Query#getCriteria()
+ */
+ public Criteria getCriteria()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.ojb.broker.query.Query#getExampleObject()
+ */
+ public Object getExampleObject()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.ojb.broker.query.Query#getHavingCriteria()
+ */
+ public Criteria getHavingCriteria()
+ {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.ojb.broker.query.Query#isDistinct()
+ */
+ public boolean isDistinct()
+ {
+ return false;
+ }
+
}
1.6 +2 -45 db-ojb/src/java/org/apache/ojb/broker/query/QueryByIdentity.java
Index: QueryByIdentity.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/query/QueryByIdentity.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- QueryByIdentity.java 14 Mar 2003 16:49:56 -0000 1.5
+++ QueryByIdentity.java 15 Mar 2003 15:42:26 -0000 1.6
@@ -54,8 +54,6 @@
* <http://www.apache.org/>.
*/
-import java.util.List;
-
import org.apache.ojb.broker.Identity;
/**
@@ -80,7 +78,7 @@
* @author <a href="mailto:thma@apache.org">Thomas Mahler<a>
* @version $Id$
*/
-public class QueryByIdentity extends AbstractQueryImpl implements Query
+public class QueryByIdentity extends AbstractQueryImpl
{
private Object m_exampleObjectOrIdentity;
@@ -93,23 +91,6 @@
}
/**
- * no Criteria available
- * @return null
- */
- public Criteria getCriteria()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.apache.ojb.broker.query.Query#getHavingCriteria()
- */
- public Criteria getHavingCriteria()
- {
- return null;
- }
-
- /**
* Answer the example Object
* @return the example Object or an Identity
*/
@@ -136,30 +117,6 @@
{
return obj.getClass();
}
- }
-
- /*
- * @see Query#isDistinct()
- */
- public boolean isDistinct()
- {
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.apache.ojb.broker.query.Query#getGroupBy()
- */
- public List getGroupBy()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.apache.ojb.broker.query.Query#getOrderBy()
- */
- public List getOrderBy()
- {
- return null;
}
}
1.8 +3 -3 db-ojb/src/java/org/apache/ojb/broker/accesslayer/JdbcAccessImpl.java
Index: JdbcAccessImpl.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/JdbcAccessImpl.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- JdbcAccessImpl.java 10 Mar 2003 20:38:09 -0000 1.7
+++ JdbcAccessImpl.java 15 Mar 2003 15:42:27 -0000 1.8
@@ -243,8 +243,8 @@
* OR if the prefetching of relationships is being used.
*/
if (query != null &&
- query.getCriteria() != null &&
- !query.getCriteria().getPrefetchedRelationships().isEmpty())
+ query.getPrefetchedRelationships() != null &&
+ !query.getPrefetchedRelationships().isEmpty())
{
scrollable = true;
}
1.32 +4 -4 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.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- RsIterator.java 10 Mar 2003 06:07:20 -0000 1.31
+++ RsIterator.java 15 Mar 2003 15:42:27 -0000 1.32
@@ -283,8 +283,8 @@
RelationshipPrefetcher[] prefetchers;
if (query == null ||
- query.getCriteria() == null ||
- query.getCriteria().getPrefetchedRelationships().isEmpty())
+ query.getPrefetchedRelationships() == null ||
+ query.getPrefetchedRelationships().isEmpty())
{
return;
}
@@ -298,7 +298,7 @@
// prevent releasing of DBResources
inBatchedMode = true;
- prefetchedRel = query.getCriteria().getPrefetchedRelationships();
+ prefetchedRel = query.getPrefetchedRelationships();
prefetchers = new RelationshipPrefetcher[prefetchedRel.size()];
// disable auto retrieve for all prefetched relationships