Author: tfischer
Date: Fri May 11 01:49:07 2012
New Revision: 1336999

URL: http://svn.apache.org/viewvc?rev=1336999&view=rev
Log:
TORQUE-200 also add methods to retrieve single objects to BasePeer 

Modified:
    
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeer.java
    
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java

Modified: 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeer.java
URL: 
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeer.java?rev=1336999&r1=1336998&r2=1336999&view=diff
==============================================================================
--- 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeer.java
 (original)
+++ 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeer.java
 Fri May 11 01:49:07 2012
@@ -94,6 +94,7 @@ public abstract class BasePeer
      * @deprecated This method is not used any more and will be removed in a
      *             future version of Torque.
      */
+    @Deprecated
     public String[] initCriteriaKeys(
         String tableName,
         String[] columnNames)
@@ -119,6 +120,7 @@ public abstract class BasePeer
      *             for automatic escaping and more flexibility.
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static int deleteAll(
         Connection con,
         String table,
@@ -148,6 +150,7 @@ public abstract class BasePeer
      *             for automatic escaping and more flexibility.
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static int deleteAll(String table, String column, int value)
         throws TorqueException
     {
@@ -169,6 +172,7 @@ public abstract class BasePeer
      *                 TableMap).
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static int doDelete(Criteria criteria) throws TorqueException
     {
         return getBasePeerImpl().doDelete(criteria);
@@ -188,6 +192,7 @@ public abstract class BasePeer
      *                 org.apache.torque.criteria.Criteria, TableMap).
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static int doDelete(org.apache.torque.criteria.Criteria criteria)
             throws TorqueException
     {
@@ -210,6 +215,7 @@ public abstract class BasePeer
      *                 TableMap, Connection).
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static int doDelete(Criteria criteria, Connection con)
         throws TorqueException
     {
@@ -232,6 +238,7 @@ public abstract class BasePeer
      *                 TableMap, Connection).
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static int doDelete(org.apache.torque.criteria.Criteria criteria,
             Connection con)
         throws TorqueException
@@ -256,6 +263,7 @@ public abstract class BasePeer
      *                 org.apache.torque.criteria.Criteria, String).
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static int doDelete(Criteria criteria, TableMap tableMap)
             throws TorqueException
     {
@@ -298,6 +306,7 @@ public abstract class BasePeer
      *                 org.apache.torque.criteria.Criteria, String, 
Connection).
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static int doDelete(
                 Criteria criteria,
                 TableMap tableMap,
@@ -401,6 +410,7 @@ public abstract class BasePeer
      *             RecordMapper, TableMap).
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static <T> List<T> doSelect(
                 Criteria criteria,
                 RecordMapper<T> mapper,
@@ -450,6 +460,7 @@ public abstract class BasePeer
      *             RecordMapper, TableMap, Connection).
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static <T> List<T> doSelect(
             Criteria criteria,
             RecordMapper<T> mapper,
@@ -550,6 +561,59 @@ public abstract class BasePeer
     }
 
     /**
+     * Selects at most a single row from a database an maps them to objects.
+     *
+     * @param criteria A Criteria specifying the records to select, not null.
+     * @param mapper The mapper creating the objects from the resultSet,
+     *        not null.
+     * @param defaultTableMap The table map used for the
+     *        unqualified columns in the query, not null.
+     *
+     * @return The selected row, or null if no records was selected.
+     *
+     * @throws TorqueException if querying the database fails.
+     */
+    public static <T> T doSelectSingleRecord(
+                org.apache.torque.criteria.Criteria criteria,
+                RecordMapper<T> mapper,
+                TableMap defaultTableMap)
+            throws TorqueException
+    {
+        return getBasePeerImpl().doSelectSingleRecord(
+                criteria,
+                mapper,
+                defaultTableMap);
+    }
+
+    /**
+     * Selects at most a single row from a database an maps them to objects.
+     *
+     * @param criteria A Criteria specifying the records to select, not null.
+     * @param mapper The mapper creating the objects from the resultSet,
+     *        not null.
+     * @param defaultTableMap The table map used for the
+     *        unqualified columns in the query, not null.
+     * @param connection the database connection, not null.
+     *
+     * @return The selected row, or null if no records was selected.
+     *
+     * @throws TorqueException if querying the database fails.
+     */
+    public static <T> T doSelectSingleRecord(
+                org.apache.torque.criteria.Criteria criteria,
+                RecordMapper<T> mapper,
+                TableMap defaultTableMap,
+                Connection connection)
+            throws TorqueException
+    {
+        return getBasePeerImpl().doSelectSingleRecord(
+                criteria,
+                mapper,
+                defaultTableMap,
+                connection);
+    }
+
+    /**
      * Updates rows in the DB.  Checks if a <i>single</i> primary key
      * is specified in the updateValues object and uses it to perform
      * the update.  If no primary key is specified
@@ -628,6 +692,7 @@ public abstract class BasePeer
      *                 org.apache.torque.criteria.Criteria, ColumnValues).
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static int doUpdate(
                 Criteria selectCriteria,
                 ColumnValues updateValues)
@@ -673,6 +738,7 @@ public abstract class BasePeer
      *                 ColumnValues, Connection).
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static int doUpdate(
                 Criteria criteria,
                 ColumnValues updateValues,
@@ -772,6 +838,7 @@ public abstract class BasePeer
      *                 org.apache.torque.criteria.Criteria, TableMap).
      *             This method will be removed in a future version of Torque.
      */
+    @Deprecated
     public static void correctBooleans(
                 Criteria criteria,
                 TableMap defaultTableMap)

Modified: 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java
URL: 
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java?rev=1336999&r1=1336998&r2=1336999&view=diff
==============================================================================
--- 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java
 (original)
+++ 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java
 Fri May 11 01:49:07 2012
@@ -1440,6 +1440,78 @@ public class BasePeerImpl implements Ser
     }
 
     /**
+     * Selects at most a single row from a database an maps them to objects.
+     *
+     * @param criteria A Criteria specifying the records to select, not null.
+     * @param mapper The mapper creating the objects from the resultSet,
+     *        not null.
+     * @param defaultTableMap The table map used for the
+     *        unqualified columns in the query, not null.
+     *
+     * @return The selected row, or null if no records was selected.
+     *
+     * @throws TorqueException if querying the database fails.
+     */
+    public <T> T doSelectSingleRecord(
+                org.apache.torque.criteria.Criteria criteria,
+                RecordMapper<T> mapper,
+                TableMap defaultTableMap)
+            throws TorqueException
+    {
+        List<T> resultList = doSelect(criteria, mapper, defaultTableMap);
+        T result = null;
+        if (resultList.size() > 1)
+        {
+            throw new TooManyRowsException("Criteria " + criteria
+                + " matched more than one record");
+        }
+        if (!resultList.isEmpty())
+        {
+            result = resultList.get(0);
+        }
+        return result;
+    }
+
+    /**
+     * Selects at most a single row from a database an maps them to objects.
+     *
+     * @param criteria A Criteria specifying the records to select, not null.
+     * @param mapper The mapper creating the objects from the resultSet,
+     *        not null.
+     * @param defaultTableMap The table map used for the
+     *        unqualified columns in the query, not null.
+     * @param connection the database connection, not null.
+     *
+     * @return The selected row, or null if no records was selected.
+     *
+     * @throws TorqueException if querying the database fails.
+     */
+    public <T> T doSelectSingleRecord(
+                org.apache.torque.criteria.Criteria criteria,
+                RecordMapper<T> mapper,
+                TableMap defaultTableMap,
+                Connection connection)
+            throws TorqueException
+    {
+        List<T> resultList = doSelect(
+                criteria,
+                mapper,
+                defaultTableMap,
+                connection);
+        T result = null;
+        if (resultList.size() > 1)
+        {
+            throw new TooManyRowsException("Criteria " + criteria
+                + " matched more than one record");
+        }
+        if (!resultList.isEmpty())
+        {
+            result = resultList.get(0);
+        }
+        return result;
+    }
+
+    /**
      * Convenience method used to update rows in the DB.  Checks if a
      * <i>single</i> primary key is specified in the Criteria
      * object and uses it to perform the update.  If no primary key is



---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscr...@db.apache.org
For additional commands, e-mail: torque-dev-h...@db.apache.org

Reply via email to