You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-dev@db.apache.org by tf...@apache.org on 2010/10/02 19:03:11 UTC

svn commit: r1003835 - in /db/torque/torque4/trunk/torque-test: pom.xml src/main/schema/test-schema.xml src/test/java/org/apache/torque/sql/ src/test/java/org/apache/torque/sql/DatabaseTools.java src/test/java/org/apache/torque/sql/SkipSqlTest.java

Author: tfischer
Date: Sat Oct  2 17:03:11 2010
New Revision: 1003835

URL: http://svn.apache.org/viewvc?rev=1003835&view=rev
Log:
add test for options map and skipsql

Added:
    db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/sql/
    db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/sql/DatabaseTools.java
    db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/sql/SkipSqlTest.java
Modified:
    db/torque/torque4/trunk/torque-test/pom.xml
    db/torque/torque4/trunk/torque-test/src/main/schema/test-schema.xml

Modified: db/torque/torque4/trunk/torque-test/pom.xml
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/pom.xml?rev=1003835&r1=1003834&r2=1003835&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-test/pom.xml (original)
+++ db/torque/torque4/trunk/torque-test/pom.xml Sat Oct  2 17:03:11 2010
@@ -392,6 +392,7 @@
           <testIncludes>
             <include>**/*Test.java</include>
             <include>**/*TestCase.java</include>
+            <include>**/*Tools.java</include>
             <include>**/${torque.test.include.beans}</include>
             <include>**/${torque.test.include.managers}</include>
           </testIncludes>

Modified: db/torque/torque4/trunk/torque-test/src/main/schema/test-schema.xml
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/src/main/schema/test-schema.xml?rev=1003835&r1=1003834&r2=1003835&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-test/src/main/schema/test-schema.xml (original)
+++ db/torque/torque4/trunk/torque-test/src/main/schema/test-schema.xml Sat Oct  2 17:03:11 2010
@@ -27,6 +27,9 @@
     xsi:schemaLocation="http://db.apache.org/torque/4.0/templates/database 
         http://db.apache.org/torque/4.0/templates/database.xsd">
 
+  <option key="databaseOptionKey1" value="databaseOptionValue1"/>
+  <option key="databaseOptionKey2" value="databaseOptionValue2"/>
+
   <external-schema filename="ext-schema.xml" />
 
   <!-- TRQS15 -->
@@ -504,7 +507,7 @@ Column.getJavaObject() not implimented f
   </table>
   
   <table name="SKIP_SQL" skipSql="true" description="table without SQL">
-    <column name="ID" primaryKey="true" type="INTEGER"  description="table without SQL"/>
+    <column name="ID" primaryKey="true" type="INTEGER" description="id for table without SQL"/>
     <column name="FK" required="true" type="VARCHAR" size="30" />
     <foreign-key foreignTable="varchar_pk">
       <reference 
@@ -512,4 +515,17 @@ Column.getJavaObject() not implimented f
         foreign="test_key"/>
     </foreign-key>
   </table>
+
+  <table name="ABSTRACT" abstract="true" description="table with abstract OM class">
+    <column name="ID" primaryKey="true" type="INTEGER"  description="id for table with abstract OM class"/>
+  </table>
+
+  <table name="OPTION" description="table with options">
+    <option key="tableOptionKey1" value="tableOptionValue1"/>
+    <option key="tableOptionKey2" value="tableOptionValue2"/>
+    <column name="ID" primaryKey="true" type="INTEGER" description="id for table with options">
+      <option key="columnOptionKey1" value="columnOptionValue1"/>
+      <option key="columnOptionKey2" value="columnOptionValue2"/>
+    </column>
+  </table>
 </database>

Added: db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/sql/DatabaseTools.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/sql/DatabaseTools.java?rev=1003835&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/sql/DatabaseTools.java (added)
+++ db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/sql/DatabaseTools.java Sat Oct  2 17:03:11 2010
@@ -0,0 +1,52 @@
+package org.apache.torque.sql;
+
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.HashSet;
+import java.util.Set;
+
+public class DatabaseTools
+{
+    /**
+     * Returns all table names available for this Connection.
+     * 
+     * @param connection the database connection to.
+     * 
+     * @return the table names in upper case.
+     *
+     * @throws SQLException if an error occurs.
+     */
+    public static Set<String> getTableNames(Connection connection)
+            throws SQLException
+    {
+        DatabaseMetaData metadata = connection.getMetaData();
+        ResultSet tableResultSet = metadata.getTables(
+                null, null, "%", new String[] {"TABLE"});
+        Set<String> result = new HashSet<String>();
+        while (tableResultSet.next())
+        {
+            String tableName = tableResultSet.getString(3);
+            result.add(tableName.toUpperCase());
+        }
+        return result;
+    }
+    
+    /**
+     * Returns whether a table with the given name exists.
+     * 
+     * @param connection the database connection to.
+     * @param name the name of the table to check. 
+     * 
+     * @return whether the table name exists.
+     *  
+     * @throws SQLException if an error occurs.
+     */
+    public static boolean tableExists(String name, Connection connection)
+            throws SQLException
+    {
+        Set<String> tableNames = getTableNames(connection);
+        return tableNames.contains(name.toUpperCase());
+    }
+}

Added: db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/sql/SkipSqlTest.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/sql/SkipSqlTest.java?rev=1003835&view=auto
==============================================================================
--- db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/sql/SkipSqlTest.java (added)
+++ db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/sql/SkipSqlTest.java Sat Oct  2 17:03:11 2010
@@ -0,0 +1,66 @@
+package org.apache.torque.sql;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.sql.Connection;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.torque.BaseRuntimeTestCase;
+import org.apache.torque.Torque;
+
+/**
+ * Checks whether the SkipSql flag works on a table.
+ *
+ * @version $Id: DataTest.java 995641 2010-09-10 02:20:27Z tfischer $
+ */
+public class SkipSqlTest extends BaseRuntimeTestCase
+{
+    private static Log log = LogFactory.getLog(SkipSqlTest.class);
+
+    public SkipSqlTest(String name)
+    {
+        super(name);
+    }
+
+    /**
+     * Check that the skip_table (which has skipSql set to true)
+     * is not present in the database.
+     *
+     * @throws Exception if an error occurs.
+     */
+    public void testSkipTableNotPresent() throws Exception
+    {
+        Connection connection = null;
+        try
+        {
+            connection = Torque.getConnection();
+            assertFalse(DatabaseTools.tableExists("SKIP_SQL", connection));
+        }
+        finally
+        {
+            if (connection != null)
+            {
+                connection.close();
+            }
+        }
+    }
+
+}



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