db-torque-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tfisc...@apache.org
Subject svn commit: r1574691 - in /db/torque/torque4/trunk/torque-generator/src/test: java/org/apache/torque/generator/processor/string/ resources/org/apache/torque/generator/processor/ resources/org/apache/torque/generator/processor/string/
Date Wed, 05 Mar 2014 22:15:11 GMT
Author: tfischer
Date: Wed Mar  5 22:15:11 2014
New Revision: 1574691

URL: http://svn.apache.org/r1574691
Log:
TORQUE-310 add More realistic organize-imports-test

Added:
    db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/
    db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/string/
    db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/string/organizeImports.txt
    db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/string/organizeImportsExpected.txt
Modified:
    db/torque/torque4/trunk/torque-generator/src/test/java/org/apache/torque/generator/processor/string/OrganizeImportsProcessorTest.java

Modified: db/torque/torque4/trunk/torque-generator/src/test/java/org/apache/torque/generator/processor/string/OrganizeImportsProcessorTest.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-generator/src/test/java/org/apache/torque/generator/processor/string/OrganizeImportsProcessorTest.java?rev=1574691&r1=1574690&r2=1574691&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-generator/src/test/java/org/apache/torque/generator/processor/string/OrganizeImportsProcessorTest.java (original)
+++ db/torque/torque4/trunk/torque-generator/src/test/java/org/apache/torque/generator/processor/string/OrganizeImportsProcessorTest.java Wed Mar  5 22:15:11 2014
@@ -21,6 +21,8 @@ package org.apache.torque.generator.proc
 
 import static org.junit.Assert.assertEquals;
 
+import org.apache.commons.io.IOUtils;
+import org.apache.torque.generator.BaseTest;
 import org.junit.Test;
 
 /**
@@ -28,7 +30,7 @@ import org.junit.Test;
  *
  * @version $Id: $
  */
-public class OrganizeImportsProcessorTest
+public class OrganizeImportsProcessorTest extends BaseTest
 {
     /** System under test. */
     private final OrganizeImportsProcessor organizeImportsProcessor
@@ -51,4 +53,13 @@ public class OrganizeImportsProcessorTes
                 + "class2\n"
                 + "Class3", result);
     }
+
+    @Test
+    public void testProcessLong() throws Exception
+    {
+        String source = IOUtils.toString(getClass().getResourceAsStream("organizeImports.txt"));
+        String result = organizeImportsProcessor.process(source);
+        String expected = IOUtils.toString(getClass().getResourceAsStream("organizeImportsExpected.txt"));
+        assertEquals(expected, result);
+    }
 }

Added: db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/string/organizeImports.txt
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/string/organizeImports.txt?rev=1574691&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/string/organizeImports.txt (added)
+++ db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/string/organizeImports.txt Wed Mar  5 22:15:11 2014
@@ -0,0 +1,751 @@
+package org.apache.torque.test.peer.base;
+
+import java.sql.Blob;
+import java.sql.Connection;
+import java.io.InputStream;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
+import org.apache.torque.Torque;
+import org.apache.torque.TorqueException;
+import org.apache.torque.criteria.Criteria;
+import org.apache.torque.om.mapper.RecordMapper;
+import org.apache.torque.om.ObjectKey;
+import org.apache.torque.om.SimpleKey;
+import org.apache.torque.map.TableMap;
+import org.apache.torque.util.Transaction;
+import org.apache.torque.util.ColumnValues;
+import org.apache.torque.util.JdbcTypedValue;
+
+import org.apache.torque.test.dbobject.*;
+import org.apache.torque.test.recordmapper.*;
+import org.apache.torque.test.peer.*;
+
+
+/**
+ * The skeleton for this class was autogenerated by Torque on:
+ *
+ * [Wed Mar 05 23:07:13 CET 2014]
+ *
+ * You should not use this class directly.  It should not even be
+ * extended; all references should be to BlobTypePeer
+ */
+
+public abstract class BaseBlobTypePeerImpl
+    extends org.apache.torque.util.BasePeerImpl<BlobType>
+{
+    /** The class log. */
+    private static Log log = LogFactory.getLog(BaseBlobTypePeerImpl.class);
+
+    /** Serial version */
+    private static final long serialVersionUID = 1394057233749L;
+
+
+
+    /**
+     * Constructor.
+     * The recordMapper, tableMap and databaseName fields are correctly
+     * initialized.
+     */
+    public BaseBlobTypePeerImpl()
+    {
+        this(new BlobTypeRecordMapper(),
+            BlobTypePeer.TABLE,
+            BlobTypePeer.DATABASE_NAME);
+    }
+
+    /**
+     * Constructor providing the objects to be injected as parameters.
+     *
+     * @param recordMapper a record mapper to map JDBC result sets to objects
+     * @param tableMap the default table map
+     * @param databaseName the name of the database
+     */
+    public BaseBlobTypePeerImpl(
+            RecordMapper<BlobType> recordMapper, 
+            TableMap tableMap,
+            String databaseName)
+    {
+        super(recordMapper, tableMap, databaseName);
+    }
+
+
+    /**
+     * Selects BlobType objects from the database which have
+     * the same content as the passed object.
+     *
+     * @return The list of selected objects, not null.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public List<BlobType> doSelect(BlobType obj)
+            throws TorqueException
+    {
+        return doSelect(buildSelectCriteria(obj));
+    }
+
+    /**
+     * Selects at most one BlobType object from the database
+     * which has the same content as the passed object.
+     *
+     * @return the selected Object, or null if no object was selected.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public BlobType doSelectSingleRecord(
+                BlobType obj)
+            throws TorqueException
+    {
+        List<BlobType> blobTypeList = doSelect(obj);
+        BlobType blobType = null;
+        if (blobTypeList.size() > 1)
+        {
+            throw new TooManyRowsException("Object " + obj 
+                + " matched more than one record");
+        }
+        if (!blobTypeList.isEmpty())
+        {
+            blobType = blobTypeList.get(0);
+        }
+        return blobType;
+    }
+
+    /**
+     * Returns a new instance of the Data object class
+     */
+    public BlobType getDbObjectInstance()
+    {
+        return new BlobType();
+    }
+
+
+    /**
+     * Method to do inserts.
+     *
+     * @param columnValues the values to insert.
+     *
+     * @return the primary key of the inserted row.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public ObjectKey doInsert(ColumnValues columnValues) throws TorqueException
+    {
+        Connection connection = null;
+        try
+        {
+            connection = Transaction.begin(
+                    BlobTypePeer.DATABASE_NAME);
+            ObjectKey result = doInsert(columnValues, connection);
+            Transaction.commit(connection);
+            connection = null;
+            return result;
+        }
+        finally
+        {
+            if (connection != null)
+            {
+                Transaction.safeRollback(connection);
+            }
+        }
+    }
+
+    /**
+     * Method to do inserts.  This method is to be used during a transaction,
+     * otherwise use the doInsert(Criteria) method.
+     *
+     * @param columnValues the values to insert.
+     * @param con the connection to use, not null.
+     *
+     * @return the primary key of the inserted row.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public ObjectKey doInsert(ColumnValues columnValues, Connection con)
+        throws TorqueException
+    {
+        correctBooleans(columnValues);
+        return super.doInsert(columnValues, con);
+    }
+
+    /**
+     * Method to do inserts
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public void doInsert(BlobType obj) throws TorqueException
+    {
+        obj.setPrimaryKey(doInsert(buildColumnValues(obj)));
+        obj.setNew(false);
+        obj.setModified(false);
+    }
+
+    /**
+     * Method to do inserts.  This method is to be used during a transaction,
+     * otherwise use the doInsert(BlobType) method.  It will take
+     * care of the connection details internally.
+     *
+     * @param obj the data object to insert into the database.
+     * @param con the connection to use
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public void doInsert(BlobType obj, Connection con)
+        throws TorqueException
+    {
+        ObjectKey primaryKey = doInsert(buildColumnValues(obj), con);
+        if (primaryKey != null)
+        {
+            obj.setPrimaryKey(primaryKey);
+        }
+        obj.setNew(false);
+        obj.setModified(false);
+    }
+
+    /**
+     * Method to do updates.
+     *
+     * @param columnValues the values to update plus the primary key
+     *        identifying the row to update.
+     *
+     * @return the number of affected rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doUpdate(ColumnValues columnValues) throws TorqueException
+    {
+        Connection connection = null;
+        try
+        {
+            connection = Transaction.begin(
+                    BlobTypePeer.DATABASE_NAME);
+            int result = doUpdate(columnValues, connection);
+            Transaction.commit(connection);
+            connection = null;
+            return result;
+        }
+        finally
+        {
+            if (connection != null)
+            {
+                Transaction.safeRollback(connection);
+            }
+        }
+    }
+
+    /**
+     * Method to do updates.  This method is to be used during a transaction,
+     * otherwise use the doUpdate(Criteria) method.
+     *
+     * @param columnValues the values to update plus the primary key
+     *        identifying the row to update.
+     * @param con the connection to use, not null.
+     *
+     * @return the number of affected rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doUpdate(ColumnValues columnValues, Connection con)
+        throws TorqueException
+    {
+        Criteria selectCriteria 
+                = new Criteria(BlobTypePeer.DATABASE_NAME);
+        correctBooleans(columnValues);
+
+        {
+            JdbcTypedValue pkValue
+                = columnValues.remove(BlobTypePeer.ID);
+            if (pkValue == null)
+            {
+                throw new TorqueException(
+                        "The value for the primary key column "
+                        + "BlobTypePeer.ID"
+                        + " must be set");
+            }
+            if (pkValue.getSqlExpression() == null)
+            {
+                selectCriteria.where(
+                        BlobTypePeer.ID,
+                        pkValue.getValue());
+            }
+            else
+            {
+                selectCriteria.where(
+                        BlobTypePeer.ID,
+                        pkValue.getSqlExpression());
+            }
+        }
+
+
+        int rowCount = doUpdate(selectCriteria, columnValues, con);
+        return rowCount;
+    }
+
+    /**
+     * Updates an BlobType in the database.
+     * The primary key is used to identify the object to update.
+     *
+     * @param obj the data object to update in the database.
+     *
+     * @return the number of affected rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doUpdate(BlobType obj) throws TorqueException
+    {
+        ColumnValues columnValues = buildColumnValues(obj);
+        int result = doUpdate(columnValues);
+        obj.setModified(false);
+        return result;
+    }
+
+    /**
+     * Updates a BlobType in the database.
+     * The primary key is used to identify the object to update.
+     * This method is to be used during a transaction,
+     * otherwise the doUpdate(BlobType) method can be used.
+     *
+     * @param obj the data object to update in the database.
+     * @param con the connection to use, not null.
+     
+     * @return the number of affected rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doUpdate(BlobType obj, Connection con)
+        throws TorqueException
+    {
+        ColumnValues columnValues = buildColumnValues(obj);
+        int result = doUpdate(columnValues, con);
+        obj.setModified(false);
+        return result;
+    }
+
+    /**
+     * Deletes a data object, i.e. a row in a table, in the database.
+     *
+     * @param obj the data object to delete in the database, not null.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(BlobType obj) throws TorqueException
+    {
+        int result = doDelete(buildCriteria(obj.getPrimaryKey()));
+        obj.setDeleted(true);
+        return result;
+    }
+
+    /**
+     * Deletes a data object, i.e. a row in a table, in the database.
+     * This method is to be used during a transaction, otherwise use the
+     * doDelete(BlobType) method.
+     *
+     * @param obj the data object to delete in the database, not null.
+     * @param con the connection to use, not null.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(BlobType obj, Connection con)
+        throws TorqueException
+    {
+        int result = doDelete(buildCriteria(obj.getPrimaryKey()), con);
+        obj.setDeleted(true);
+        return result;
+    }
+
+    /**
+     * Deletes data objects, i.e. rows in a table, in the database.
+     *
+     * @param objects the data object to delete in the database, not null,
+     *        may not contain null.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(Collection<BlobType> objects)
+            throws TorqueException
+    {
+        int result = doDelete(buildPkCriteria(objects));
+        for (BlobType object : objects)
+        {
+            object.setDeleted(true);
+        }
+        return result;
+    }
+
+    /**
+     * Deletes data objects, i.e. rows in a table, in the database.
+     * This method uses the passed connection to delete the rows;
+     * if a transaction is open in the connection, the deletion happens inside
+     * this transaction.
+     *
+     * @param objects the data objects to delete in the database, not null,
+     *        may not contain null.
+     * @param con the connection to use for deleting, not null.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(
+            Collection<BlobType> objects,
+            Connection con)
+        throws TorqueException
+    {
+        int result = doDelete(buildPkCriteria(objects), con);
+        for (BlobType object : objects)
+        {
+            object.setDeleted(true);
+        }
+        return result;
+    }
+
+    /**
+     * Deletes a row in the database.
+     *
+     * @param pk the ObjectKey that identifies the row to delete.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(ObjectKey pk) throws TorqueException
+    {
+        Connection connection = null;
+        try
+        {
+            connection = Transaction.begin(
+                    BlobTypePeer.DATABASE_NAME);
+            int deletedRows = doDelete(pk, connection);
+            Transaction.commit(connection);
+            connection = null;
+            return deletedRows;
+        }
+        finally
+        {
+            if (connection != null)
+            {
+                Transaction.safeRollback(connection);
+            }
+        }
+    }
+
+    /**
+     * Deletes a row in the database.
+     * This method is to be used during a transaction,
+     * otherwise use the doDelete(ObjectKey) method.
+     *
+     * @param pk the ObjectKey that identifies the row to delete.
+     * @param con the connection to use for deleting, not null.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(ObjectKey pk, Connection con)
+        throws TorqueException
+    {
+        return doDelete(buildCriteria(pk), con);
+    }
+
+    /** 
+     * Build a Criteria object which selects all objects which have a given
+     * primary key.
+     *
+     * @param pk the primary key value to build the criteria from, not null.
+     */
+    public Criteria buildCriteria(ObjectKey pk)
+    {
+        Criteria criteria = new Criteria();
+        criteria.and(BlobTypePeer.ID, pk);
+        return criteria;
+     }
+
+    /** 
+     * Build a Criteria object which selects all objects which primary keys
+     * are contained in the passed collection.
+     *
+     * @param pks the primary key values to build the criteria from, not null,
+     *        may not contain null.
+     */
+    public Criteria buildCriteria(Collection<ObjectKey> pks)
+    {
+        Criteria criteria = new Criteria();
+        criteria.andIn(BlobTypePeer.ID, pks);
+        return criteria;
+     }
+
+
+    /** 
+     * Build a Criteria object which selects all passed objects using their
+     * primary key. Objects which do not yet have a primary key are ignored.
+     *
+     * @param objects the objects to build the criteria from, not null,
+     *        may not contain null.
+     */
+    public Criteria buildPkCriteria(
+            Collection<BlobType> objects)
+    {
+        List<ObjectKey> pks = new ArrayList<ObjectKey>(objects.size());
+        for (BlobType object : objects)
+        {
+            ObjectKey pk = object.getPrimaryKey();
+            if (pk != null)
+            {
+                pks.add(pk);
+            }
+        }
+        return buildCriteria(pks);
+    }
+
+    /** 
+     * Build a Criteria object from the data object for this peer.
+     * The primary key columns are only added if the object is not new.
+     *
+     * @param obj the object to build the criteria from, not null.
+     */
+    public Criteria buildCriteria(BlobType obj)
+    {
+        Criteria criteria = new Criteria(BlobTypePeer.DATABASE_NAME);
+        if (!obj.isNew())
+        {
+            criteria.and(BlobTypePeer.ID, obj.getId());
+        }
+        criteria.and(BlobTypePeer.BLOB_VALUE, obj.getBlobValue());
+        criteria.and(BlobTypePeer.BLOB_OBJECT_VALUE, obj.getBlobObjectValue());
+        return criteria;
+    }
+
+    /** 
+     * Build a Criteria object from the data object for this peer,
+     * skipping all binary columns.
+     *
+     * @param obj the object to build the criteria from, not null.
+     */
+    public Criteria buildSelectCriteria(BlobType obj)
+    {
+        Criteria criteria = new Criteria(BlobTypePeer.DATABASE_NAME);
+        if (!obj.isNew())
+        {
+            criteria.and(BlobTypePeer.ID, obj.getId());
+        }
+        return criteria;
+    }
+
+    /** 
+     * Returns the contents of the object as ColumnValues object.
+     * Primary key columns which are generated on insertion are not
+     * added to the returned object if they still have their initial
+     * value. Also, columns which have the useDatabaseDefaultValue
+     * flag set to true are also not added to the returned object
+     * if they still have their initial value.
+     *
+     * @throws TorqueException if the table map cannot be retrieved
+     *         (should not happen).
+     */
+    public ColumnValues buildColumnValues(BlobType blobType)
+            throws TorqueException
+    {
+        ColumnValues columnValues = new ColumnValues();
+        if (!blobType.isNew() 
+            || blobType.getId() != 0L)
+        {
+            columnValues.put(
+                    BlobTypePeer.ID,
+                    new JdbcTypedValue(
+                        blobType.getId(),
+                        -5));
+        }
+        columnValues.put(
+                BlobTypePeer.BLOB_VALUE,
+                new JdbcTypedValue(
+                    blobType.getBlobValue(),
+                    2004));
+        columnValues.put(
+                BlobTypePeer.BLOB_OBJECT_VALUE,
+                new JdbcTypedValue(
+                    blobType.getBlobObjectValue(),
+                    2004));
+        return columnValues;
+    }
+
+    /**
+     * Retrieve a single object by pk
+     *
+     * @param pk the primary key
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     * @throws NoRowsException Primary key was not found in database.
+     * @throws TooManyRowsException Primary key was not found in database.
+     */
+    public BlobType retrieveByPK(long pk)
+        throws TorqueException, NoRowsException, TooManyRowsException
+    {
+        return retrieveByPK(SimpleKey.keyFor(pk));
+    }
+
+    /**
+     * Retrieve a single object by pk
+     *
+     * @param pk the primary key
+     * @param con the connection to use
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     * @throws NoRowsException Primary key was not found in database.
+     * @throws TooManyRowsException Primary key was not found in database.
+     */
+    public BlobType retrieveByPK(long pk, Connection con)
+        throws TorqueException, NoRowsException, TooManyRowsException
+    {
+        return retrieveByPK(SimpleKey.keyFor(pk), con);
+    }
+    
+    
+    
+
+    /**
+     * Retrieve a single object by pk
+     *
+     * @param pk the primary key
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     * @throws NoRowsException Primary key was not found in database.
+     * @throws TooManyRowsException Primary key was not found in database.
+     */
+    public BlobType retrieveByPK(ObjectKey pk)
+        throws TorqueException, NoRowsException, TooManyRowsException
+    {
+        Connection connection = null;
+        try
+        {
+            connection = Transaction.begin(BlobTypePeer.DATABASE_NAME);
+            BlobType result = retrieveByPK(pk, connection);
+            Transaction.commit(connection);
+            connection = null;
+            return result;
+        }
+        finally
+        {
+            if (connection != null)
+            {
+                Transaction.safeRollback(connection);
+            }
+        }
+    }
+
+    /**
+     * Retrieve a single object by pk
+     *
+     * @param pk the primary key
+     * @param con the connection to use
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     * @throws NoRowsException Primary key was not found in database.
+     * @throws TooManyRowsException Primary key was not found in database.
+     */
+    public BlobType retrieveByPK(ObjectKey pk, Connection con)
+        throws TorqueException, NoRowsException, TooManyRowsException
+    {
+        Criteria criteria = buildCriteria(pk);
+        List<BlobType> v = doSelect(criteria, con);
+        if (v.size() == 0)
+        {
+            throw new NoRowsException("Failed to select a row.");
+        }
+        else if (v.size() > 1)
+        {
+            throw new TooManyRowsException("Failed to select only one row.");
+        }
+        else
+        {
+            return (BlobType)v.get(0);
+        }
+    }
+
+
+    /**
+     * Retrieve a multiple objects by pk
+     *
+     * @param pks List of primary keys
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public List<BlobType> retrieveByPKs(Collection<ObjectKey> pks)
+        throws TorqueException
+    {
+        Connection connection = null;
+        try
+        {
+            connection = Transaction.begin(BlobTypePeer.DATABASE_NAME);
+            List<BlobType> result = retrieveByPKs(pks, connection);
+            Transaction.commit(connection);
+            connection = null;
+            return result;
+        }
+        finally
+        {
+            if (connection != null)
+            {
+                Transaction.safeRollback(connection);
+            }
+        }
+    }
+
+    /**
+     * Retrieve multiple objects by pk
+     *
+     * @param pks List of primary keys
+     * @param dbcon the connection to use
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public List<BlobType> retrieveByPKs(
+                Collection<ObjectKey> pks,
+                Connection dbcon)
+            throws TorqueException
+    {
+        if (pks == null || pks.size() == 0)
+        {
+            return new ArrayList<BlobType>();
+        }
+        Criteria criteria = buildCriteria(pks);
+        List<BlobType> result = doSelect(criteria, dbcon);
+        return result;
+    }
+
+
+
+
+
+
+
+
+}

Added: db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/string/organizeImportsExpected.txt
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/string/organizeImportsExpected.txt?rev=1574691&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/string/organizeImportsExpected.txt (added)
+++ db/torque/torque4/trunk/torque-generator/src/test/resources/org/apache/torque/generator/processor/string/organizeImportsExpected.txt Wed Mar  5 22:15:11 2014
@@ -0,0 +1,747 @@
+package org.apache.torque.test.peer.base;
+
+import java.sql.Blob;
+import java.sql.Connection;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
+import org.apache.torque.Torque;
+import org.apache.torque.TorqueException;
+import org.apache.torque.criteria.Criteria;
+import org.apache.torque.om.mapper.RecordMapper;
+import org.apache.torque.om.ObjectKey;
+import org.apache.torque.om.SimpleKey;
+import org.apache.torque.map.TableMap;
+import org.apache.torque.util.Transaction;
+import org.apache.torque.util.ColumnValues;
+import org.apache.torque.util.JdbcTypedValue;
+
+import org.apache.torque.test.dbobject.*;
+import org.apache.torque.test.recordmapper.*;
+import org.apache.torque.test.peer.*;
+
+
+/**
+ * The skeleton for this class was autogenerated by Torque on:
+ *
+ * [Wed Mar 05 22:50:18 CET 2014]
+ *
+ * You should not use this class directly.  It should not even be
+ * extended; all references should be to BlobTypePeer
+ */
+
+public abstract class BaseBlobTypePeerImpl
+    extends org.apache.torque.util.BasePeerImpl<BlobType>
+{
+    /** The class log. */
+    private static Log log = LogFactory.getLog(BaseBlobTypePeerImpl.class);
+
+    /** Serial version */
+    private static final long serialVersionUID = 1394056218047L;
+
+
+
+    /**
+     * Constructor.
+     * The recordMapper, tableMap and databaseName fields are correctly
+     * initialized.
+     */
+    public BaseBlobTypePeerImpl()
+    {
+        this(new BlobTypeRecordMapper(),
+            BlobTypePeer.TABLE,
+            BlobTypePeer.DATABASE_NAME);
+    }
+
+    /**
+     * Constructor providing the objects to be injected as parameters.
+     *
+     * @param recordMapper a record mapper to map JDBC result sets to objects
+     * @param tableMap the default table map
+     * @param databaseName the name of the database
+     */
+    public BaseBlobTypePeerImpl(
+            RecordMapper<BlobType> recordMapper, 
+            TableMap tableMap,
+            String databaseName)
+    {
+        super(recordMapper, tableMap, databaseName);
+    }
+
+
+    /**
+     * Selects BlobType objects from the database which have
+     * the same content as the passed object.
+     *
+     * @return The list of selected objects, not null.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public List<BlobType> doSelect(BlobType obj)
+            throws TorqueException
+    {
+        return doSelect(buildSelectCriteria(obj));
+    }
+
+    /**
+     * Selects at most one BlobType object from the database
+     * which has the same content as the passed object.
+     *
+     * @return the selected Object, or null if no object was selected.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public BlobType doSelectSingleRecord(
+                BlobType obj)
+            throws TorqueException
+    {
+        List<BlobType> blobTypeList = doSelect(obj);
+        BlobType blobType = null;
+        if (blobTypeList.size() > 1)
+        {
+            throw new TooManyRowsException("Object " + obj 
+                + " matched more than one record");
+        }
+        if (!blobTypeList.isEmpty())
+        {
+            blobType = blobTypeList.get(0);
+        }
+        return blobType;
+    }
+
+    /**
+     * Returns a new instance of the Data object class
+     */
+    public BlobType getDbObjectInstance()
+    {
+        return new BlobType();
+    }
+
+
+    /**
+     * Method to do inserts.
+     *
+     * @param columnValues the values to insert.
+     *
+     * @return the primary key of the inserted row.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public ObjectKey doInsert(ColumnValues columnValues) throws TorqueException
+    {
+        Connection connection = null;
+        try
+        {
+            connection = Transaction.begin(
+                    BlobTypePeer.DATABASE_NAME);
+            ObjectKey result = doInsert(columnValues, connection);
+            Transaction.commit(connection);
+            connection = null;
+            return result;
+        }
+        finally
+        {
+            if (connection != null)
+            {
+                Transaction.safeRollback(connection);
+            }
+        }
+    }
+
+    /**
+     * Method to do inserts.  This method is to be used during a transaction,
+     * otherwise use the doInsert(Criteria) method.
+     *
+     * @param columnValues the values to insert.
+     * @param con the connection to use, not null.
+     *
+     * @return the primary key of the inserted row.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public ObjectKey doInsert(ColumnValues columnValues, Connection con)
+        throws TorqueException
+    {
+        correctBooleans(columnValues);
+        return super.doInsert(columnValues, con);
+    }
+
+    /**
+     * Method to do inserts
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public void doInsert(BlobType obj) throws TorqueException
+    {
+        obj.setPrimaryKey(doInsert(buildColumnValues(obj)));
+        obj.setNew(false);
+        obj.setModified(false);
+    }
+
+    /**
+     * Method to do inserts.  This method is to be used during a transaction,
+     * otherwise use the doInsert(BlobType) method.  It will take
+     * care of the connection details internally.
+     *
+     * @param obj the data object to insert into the database.
+     * @param con the connection to use
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public void doInsert(BlobType obj, Connection con)
+        throws TorqueException
+    {
+        ObjectKey primaryKey = doInsert(buildColumnValues(obj), con);
+        if (primaryKey != null)
+        {
+            obj.setPrimaryKey(primaryKey);
+        }
+        obj.setNew(false);
+        obj.setModified(false);
+    }
+
+    /**
+     * Method to do updates.
+     *
+     * @param columnValues the values to update plus the primary key
+     *        identifying the row to update.
+     *
+     * @return the number of affected rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doUpdate(ColumnValues columnValues) throws TorqueException
+    {
+        Connection connection = null;
+        try
+        {
+            connection = Transaction.begin(
+                    BlobTypePeer.DATABASE_NAME);
+            int result = doUpdate(columnValues, connection);
+            Transaction.commit(connection);
+            connection = null;
+            return result;
+        }
+        finally
+        {
+            if (connection != null)
+            {
+                Transaction.safeRollback(connection);
+            }
+        }
+    }
+
+    /**
+     * Method to do updates.  This method is to be used during a transaction,
+     * otherwise use the doUpdate(Criteria) method.
+     *
+     * @param columnValues the values to update plus the primary key
+     *        identifying the row to update.
+     * @param con the connection to use, not null.
+     *
+     * @return the number of affected rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doUpdate(ColumnValues columnValues, Connection con)
+        throws TorqueException
+    {
+        Criteria selectCriteria 
+                = new Criteria(BlobTypePeer.DATABASE_NAME);
+        correctBooleans(columnValues);
+
+        {
+            JdbcTypedValue pkValue
+                = columnValues.remove(BlobTypePeer.ID);
+            if (pkValue == null)
+            {
+                throw new TorqueException(
+                        "The value for the primary key column "
+                        + "BlobTypePeer.ID"
+                        + " must be set");
+            }
+            if (pkValue.getSqlExpression() == null)
+            {
+                selectCriteria.where(
+                        BlobTypePeer.ID,
+                        pkValue.getValue());
+            }
+            else
+            {
+                selectCriteria.where(
+                        BlobTypePeer.ID,
+                        pkValue.getSqlExpression());
+            }
+        }
+
+
+        int rowCount = doUpdate(selectCriteria, columnValues, con);
+        return rowCount;
+    }
+
+    /**
+     * Updates an BlobType in the database.
+     * The primary key is used to identify the object to update.
+     *
+     * @param obj the data object to update in the database.
+     *
+     * @return the number of affected rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doUpdate(BlobType obj) throws TorqueException
+    {
+        ColumnValues columnValues = buildColumnValues(obj);
+        int result = doUpdate(columnValues);
+        obj.setModified(false);
+        return result;
+    }
+
+    /**
+     * Updates a BlobType in the database.
+     * The primary key is used to identify the object to update.
+     * This method is to be used during a transaction,
+     * otherwise the doUpdate(BlobType) method can be used.
+     *
+     * @param obj the data object to update in the database.
+     * @param con the connection to use, not null.
+     
+     * @return the number of affected rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doUpdate(BlobType obj, Connection con)
+        throws TorqueException
+    {
+        ColumnValues columnValues = buildColumnValues(obj);
+        int result = doUpdate(columnValues, con);
+        obj.setModified(false);
+        return result;
+    }
+
+    /**
+     * Deletes a data object, i.e. a row in a table, in the database.
+     *
+     * @param obj the data object to delete in the database, not null.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(BlobType obj) throws TorqueException
+    {
+        int result = doDelete(buildCriteria(obj.getPrimaryKey()));
+        obj.setDeleted(true);
+        return result;
+    }
+
+    /**
+     * Deletes a data object, i.e. a row in a table, in the database.
+     * This method is to be used during a transaction, otherwise use the
+     * doDelete(BlobType) method.
+     *
+     * @param obj the data object to delete in the database, not null.
+     * @param con the connection to use, not null.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(BlobType obj, Connection con)
+        throws TorqueException
+    {
+        int result = doDelete(buildCriteria(obj.getPrimaryKey()), con);
+        obj.setDeleted(true);
+        return result;
+    }
+
+    /**
+     * Deletes data objects, i.e. rows in a table, in the database.
+     *
+     * @param objects the data object to delete in the database, not null,
+     *        may not contain null.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(Collection<BlobType> objects)
+            throws TorqueException
+    {
+        int result = doDelete(buildPkCriteria(objects));
+        for (BlobType object : objects)
+        {
+            object.setDeleted(true);
+        }
+        return result;
+    }
+
+    /**
+     * Deletes data objects, i.e. rows in a table, in the database.
+     * This method uses the passed connection to delete the rows;
+     * if a transaction is open in the connection, the deletion happens inside
+     * this transaction.
+     *
+     * @param objects the data objects to delete in the database, not null,
+     *        may not contain null.
+     * @param con the connection to use for deleting, not null.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(
+            Collection<BlobType> objects,
+            Connection con)
+        throws TorqueException
+    {
+        int result = doDelete(buildPkCriteria(objects), con);
+        for (BlobType object : objects)
+        {
+            object.setDeleted(true);
+        }
+        return result;
+    }
+
+    /**
+     * Deletes a row in the database.
+     *
+     * @param pk the ObjectKey that identifies the row to delete.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(ObjectKey pk) throws TorqueException
+    {
+        Connection connection = null;
+        try
+        {
+            connection = Transaction.begin(
+                    BlobTypePeer.DATABASE_NAME);
+            int deletedRows = doDelete(pk, connection);
+            Transaction.commit(connection);
+            connection = null;
+            return deletedRows;
+        }
+        finally
+        {
+            if (connection != null)
+            {
+                Transaction.safeRollback(connection);
+            }
+        }
+    }
+
+    /**
+     * Deletes a row in the database.
+     * This method is to be used during a transaction,
+     * otherwise use the doDelete(ObjectKey) method.
+     *
+     * @param pk the ObjectKey that identifies the row to delete.
+     * @param con the connection to use for deleting, not null.
+     *
+     * @return the number of deleted rows.
+     *
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public int doDelete(ObjectKey pk, Connection con)
+        throws TorqueException
+    {
+        return doDelete(buildCriteria(pk), con);
+    }
+
+    /** 
+     * Build a Criteria object which selects all objects which have a given
+     * primary key.
+     *
+     * @param pk the primary key value to build the criteria from, not null.
+     */
+    public Criteria buildCriteria(ObjectKey pk)
+    {
+        Criteria criteria = new Criteria();
+        criteria.and(BlobTypePeer.ID, pk);
+        return criteria;
+     }
+
+    /** 
+     * Build a Criteria object which selects all objects which primary keys
+     * are contained in the passed collection.
+     *
+     * @param pks the primary key values to build the criteria from, not null,
+     *        may not contain null.
+     */
+    public Criteria buildCriteria(Collection<ObjectKey> pks)
+    {
+        Criteria criteria = new Criteria();
+        criteria.andIn(BlobTypePeer.ID, pks);
+        return criteria;
+     }
+
+
+    /** 
+     * Build a Criteria object which selects all passed objects using their
+     * primary key. Objects which do not yet have a primary key are ignored.
+     *
+     * @param objects the objects to build the criteria from, not null,
+     *        may not contain null.
+     */
+    public Criteria buildPkCriteria(
+            Collection<BlobType> objects)
+    {
+        List<ObjectKey> pks = new ArrayList<ObjectKey>(objects.size());
+        for (BlobType object : objects)
+        {
+            ObjectKey pk = object.getPrimaryKey();
+            if (pk != null)
+            {
+                pks.add(pk);
+            }
+        }
+        return buildCriteria(pks);
+    }
+
+    /** 
+     * Build a Criteria object from the data object for this peer.
+     * The primary key columns are only added if the object is not new.
+     *
+     * @param obj the object to build the criteria from, not null.
+     */
+    public Criteria buildCriteria(BlobType obj)
+    {
+        Criteria criteria = new Criteria(BlobTypePeer.DATABASE_NAME);
+        if (!obj.isNew())
+        {
+            criteria.and(BlobTypePeer.ID, obj.getId());
+        }
+        criteria.and(BlobTypePeer.BLOB_VALUE, obj.getBlobValue());
+        criteria.and(BlobTypePeer.BLOB_OBJECT_VALUE, obj.getBlobObjectValue());
+        return criteria;
+    }
+
+    /** 
+     * Build a Criteria object from the data object for this peer,
+     * skipping all binary columns.
+     *
+     * @param obj the object to build the criteria from, not null.
+     */
+    public Criteria buildSelectCriteria(BlobType obj)
+    {
+        Criteria criteria = new Criteria(BlobTypePeer.DATABASE_NAME);
+        if (!obj.isNew())
+        {
+            criteria.and(BlobTypePeer.ID, obj.getId());
+        }
+        return criteria;
+    }
+
+    /** 
+     * Returns the contents of the object as ColumnValues object.
+     * Primary key columns which are generated on insertion are not
+     * added to the returned object if they still have their initial
+     * value. Also, columns which have the useDatabaseDefaultValue
+     * flag set to true are also not added to the returned object
+     * if they still have their initial value.
+     *
+     * @throws TorqueException if the table map cannot be retrieved
+     *         (should not happen).
+     */
+    public ColumnValues buildColumnValues(BlobType blobType)
+            throws TorqueException
+    {
+        ColumnValues columnValues = new ColumnValues();
+        if (!blobType.isNew() 
+            || blobType.getId() != 0L)
+        {
+            columnValues.put(
+                    BlobTypePeer.ID,
+                    new JdbcTypedValue(
+                        blobType.getId(),
+                        -5));
+        }
+        columnValues.put(
+                BlobTypePeer.BLOB_VALUE,
+                new JdbcTypedValue(
+                    blobType.getBlobValue(),
+                    2004));
+        columnValues.put(
+                BlobTypePeer.BLOB_OBJECT_VALUE,
+                new JdbcTypedValue(
+                    blobType.getBlobObjectValue(),
+                    2004));
+        return columnValues;
+    }
+
+    /**
+     * Retrieve a single object by pk
+     *
+     * @param pk the primary key
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     * @throws NoRowsException Primary key was not found in database.
+     * @throws TooManyRowsException Primary key was not found in database.
+     */
+    public BlobType retrieveByPK(long pk)
+        throws TorqueException, NoRowsException, TooManyRowsException
+    {
+        return retrieveByPK(SimpleKey.keyFor(pk));
+    }
+
+    /**
+     * Retrieve a single object by pk
+     *
+     * @param pk the primary key
+     * @param con the connection to use
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     * @throws NoRowsException Primary key was not found in database.
+     * @throws TooManyRowsException Primary key was not found in database.
+     */
+    public BlobType retrieveByPK(long pk, Connection con)
+        throws TorqueException, NoRowsException, TooManyRowsException
+    {
+        return retrieveByPK(SimpleKey.keyFor(pk), con);
+    }
+    
+    
+    
+
+    /**
+     * Retrieve a single object by pk
+     *
+     * @param pk the primary key
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     * @throws NoRowsException Primary key was not found in database.
+     * @throws TooManyRowsException Primary key was not found in database.
+     */
+    public BlobType retrieveByPK(ObjectKey pk)
+        throws TorqueException, NoRowsException, TooManyRowsException
+    {
+        Connection connection = null;
+        try
+        {
+            connection = Transaction.begin(BlobTypePeer.DATABASE_NAME);
+            BlobType result = retrieveByPK(pk, connection);
+            Transaction.commit(connection);
+            connection = null;
+            return result;
+        }
+        finally
+        {
+            if (connection != null)
+            {
+                Transaction.safeRollback(connection);
+            }
+        }
+    }
+
+    /**
+     * Retrieve a single object by pk
+     *
+     * @param pk the primary key
+     * @param con the connection to use
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     * @throws NoRowsException Primary key was not found in database.
+     * @throws TooManyRowsException Primary key was not found in database.
+     */
+    public BlobType retrieveByPK(ObjectKey pk, Connection con)
+        throws TorqueException, NoRowsException, TooManyRowsException
+    {
+        Criteria criteria = buildCriteria(pk);
+        List<BlobType> v = doSelect(criteria, con);
+        if (v.size() == 0)
+        {
+            throw new NoRowsException("Failed to select a row.");
+        }
+        else if (v.size() > 1)
+        {
+            throw new TooManyRowsException("Failed to select only one row.");
+        }
+        else
+        {
+            return (BlobType)v.get(0);
+        }
+    }
+
+
+    /**
+     * Retrieve a multiple objects by pk
+     *
+     * @param pks List of primary keys
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public List<BlobType> retrieveByPKs(Collection<ObjectKey> pks)
+        throws TorqueException
+    {
+        Connection connection = null;
+        try
+        {
+            connection = Transaction.begin(BlobTypePeer.DATABASE_NAME);
+            List<BlobType> result = retrieveByPKs(pks, connection);
+            Transaction.commit(connection);
+            connection = null;
+            return result;
+        }
+        finally
+        {
+            if (connection != null)
+            {
+                Transaction.safeRollback(connection);
+            }
+        }
+    }
+
+    /**
+     * Retrieve multiple objects by pk
+     *
+     * @param pks List of primary keys
+     * @param dbcon the connection to use
+     * @throws TorqueException Any exceptions caught during processing will be
+     *         rethrown wrapped into a TorqueException.
+     */
+    public List<BlobType> retrieveByPKs(
+                Collection<ObjectKey> pks,
+                Connection dbcon)
+            throws TorqueException
+    {
+        if (pks == null || pks.size() == 0)
+        {
+            return new ArrayList<BlobType>();
+        }
+        Criteria criteria = buildCriteria(pks);
+        List<BlobType> result = doSelect(criteria, dbcon);
+        return result;
+    }
+
+
+
+
+
+
+
+
+}



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


Mime
View raw message