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 ar...@apache.org on 2007/10/01 18:07:39 UTC

svn commit: r581000 - /db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/InheritanceTests.java

Author: arminw
Date: Mon Oct  1 09:07:38 2007
New Revision: 581000

URL: http://svn.apache.org/viewvc?rev=581000&view=rev
Log:
add new test

Modified:
    db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/InheritanceTests.java

Modified: db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/InheritanceTests.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/InheritanceTests.java?rev=581000&r1=580999&r2=581000&view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/InheritanceTests.java (original)
+++ db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/InheritanceTests.java Mon Oct  1 09:07:38 2007
@@ -19,8 +19,6 @@
  * under the License.
  */
 
-import java.lang.Object;
-
 /**
  * Inheritance tests.
  */
@@ -614,6 +612,246 @@
                 "        />\n" +
                 "    </table>\n" +
                 "</database>",
+            result);
+    }
+
+    /**
+     * Test: inherited autoincrement attribute with 'database' value and
+     * table per class inheritance via "extent" attribute in the super-class.
+     * Use an abstract base class for common fields.
+     * Expect autoincrement=true for all subclasses and
+     * the extent-class element must be declared and all
+     * the super-class fields must be declared in the sub-classes.
+     */
+    public void testTablePerClassAutoincrementDatabase_2()
+    {
+        addClass(
+            "test.Base",
+            "package test;\n"+
+            "/**  */\n"+
+            "public class Base {\n"+
+            "  /** @ojb.field primarykey=\"true\"\n"+
+            "    *            autoincrement=\"database\"\n"+
+            "    *            access=\"readonly\"\n"+
+            "    */\n"+
+            "  private int attr;\n"+
+            "  /** @ojb.field length=\"128\" */\n"+
+            "  private String nameBase;\n"+
+            "}\n");
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class A extends Base {\n"+
+            "  /** @ojb.field length=\"128\" */\n"+
+            "  private String nameA;\n"+
+            "}\n");
+        addClass(
+            "test.B",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            "  */\n"+
+            "public class B extends A {\n"+
+            "  /** @ojb.field length=\"128\" */\n"+
+            "  private String nameB;\n"+
+            "}\n");
+        addClass(
+            "test.C",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            "  */\n"+
+            "public class C extends B {\n"+
+            "  /** @ojb.field length=\"128\" */\n"+
+            "  private String nameC;\n"+
+            "}\n");
+        String result = runOjbXDoclet(OJB_DEST_FILE);
+        //System.out.println("##" + result);
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n" +
+            "    class=\"test.A\"\n" +
+            "    table=\"A\"\n" +
+            ">\n" +
+            "    <extent-class class-ref=\"test.B\"/>\n" +
+            "    <field-descriptor\n" +
+            "        name=\"attr\"\n" +
+            "        column=\"attr\"\n" +
+            "        jdbc-type=\"INTEGER\"\n" +
+            "        primarykey=\"true\"\n" +
+            "        autoincrement=\"true\"\n" +
+            "        access=\"readonly\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "    <field-descriptor\n" +
+            "        name=\"nameBase\"\n" +
+            "        column=\"nameBase\"\n" +
+            "        jdbc-type=\"VARCHAR\"\n" +
+            "        length=\"128\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "    <field-descriptor\n" +
+            "        name=\"nameA\"\n" +
+            "        column=\"nameA\"\n" +
+            "        jdbc-type=\"VARCHAR\"\n" +
+            "        length=\"128\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "</class-descriptor>\n" +
+            "<class-descriptor\n" +
+            "    class=\"test.B\"\n" +
+            "    table=\"B\"\n" +
+            ">\n" +
+            "    <extent-class class-ref=\"test.C\"/>\n" +
+            "    <field-descriptor\n" +
+            "        name=\"attr\"\n" +
+            "        column=\"attr\"\n" +
+            "        jdbc-type=\"INTEGER\"\n" +
+            "        primarykey=\"true\"\n" +
+            "        autoincrement=\"true\"\n" +
+            "        access=\"readonly\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "    <field-descriptor\n" +
+            "        name=\"nameBase\"\n" +
+            "        column=\"nameBase\"\n" +
+            "        jdbc-type=\"VARCHAR\"\n" +
+            "        length=\"128\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "    <field-descriptor\n" +
+            "        name=\"nameA\"\n" +
+            "        column=\"nameA\"\n" +
+            "        jdbc-type=\"VARCHAR\"\n" +
+            "        length=\"128\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "    <field-descriptor\n" +
+            "        name=\"nameB\"\n" +
+            "        column=\"nameB\"\n" +
+            "        jdbc-type=\"VARCHAR\"\n" +
+            "        length=\"128\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "</class-descriptor>\n" +
+            "<class-descriptor\n" +
+            "    class=\"test.C\"\n" +
+            "    table=\"C\"\n" +
+            ">\n" +
+            "    <field-descriptor\n" +
+            "        name=\"attr\"\n" +
+            "        column=\"attr\"\n" +
+            "        jdbc-type=\"INTEGER\"\n" +
+            "        primarykey=\"true\"\n" +
+            "        autoincrement=\"true\"\n" +
+            "        access=\"readonly\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "    <field-descriptor\n" +
+            "        name=\"nameBase\"\n" +
+            "        column=\"nameBase\"\n" +
+            "        jdbc-type=\"VARCHAR\"\n" +
+            "        length=\"128\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "    <field-descriptor\n" +
+            "        name=\"nameA\"\n" +
+            "        column=\"nameA\"\n" +
+            "        jdbc-type=\"VARCHAR\"\n" +
+            "        length=\"128\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "    <field-descriptor\n" +
+            "        name=\"nameB\"\n" +
+            "        column=\"nameB\"\n" +
+            "        jdbc-type=\"VARCHAR\"\n" +
+            "        length=\"128\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "    <field-descriptor\n" +
+            "        name=\"nameC\"\n" +
+            "        column=\"nameC\"\n" +
+            "        jdbc-type=\"VARCHAR\"\n" +
+            "        length=\"128\"\n" +
+            "    >\n" +
+            "    </field-descriptor>\n" +
+            "</class-descriptor>",
+            result);
+        result = runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest");
+        //System.out.println("##" + result);
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n" +
+            "    <table name=\"A\">\n" +
+            "        <column name=\"attr\"\n" +
+            "                javaName=\"attr\"\n" +
+            "                type=\"INTEGER\"\n" +
+            "                primaryKey=\"true\"\n" +
+            "                required=\"true\"\n" +
+            "                autoIncrement=\"true\"\n" +
+            "        />\n" +
+            "        <column name=\"nameBase\"\n" +
+            "                javaName=\"nameBase\"\n" +
+            "                type=\"VARCHAR\"\n" +
+            "                size=\"128\"\n" +
+            "        />\n" +
+            "        <column name=\"nameA\"\n" +
+            "                javaName=\"nameA\"\n" +
+            "                type=\"VARCHAR\"\n" +
+            "                size=\"128\"\n" +
+            "        />\n" +
+            "    </table>\n" +
+            "    <table name=\"B\">\n" +
+            "        <column name=\"attr\"\n" +
+            "                javaName=\"attr\"\n" +
+            "                type=\"INTEGER\"\n" +
+            "                primaryKey=\"true\"\n" +
+            "                required=\"true\"\n" +
+            "                autoIncrement=\"true\"\n" +
+            "        />\n" +
+            "        <column name=\"nameBase\"\n" +
+            "                javaName=\"nameBase\"\n" +
+            "                type=\"VARCHAR\"\n" +
+            "                size=\"128\"\n" +
+            "        />\n" +
+            "        <column name=\"nameA\"\n" +
+            "                javaName=\"nameA\"\n" +
+            "                type=\"VARCHAR\"\n" +
+            "                size=\"128\"\n" +
+            "        />\n" +
+            "        <column name=\"nameB\"\n" +
+            "                javaName=\"nameB\"\n" +
+            "                type=\"VARCHAR\"\n" +
+            "                size=\"128\"\n" +
+            "        />\n" +
+            "    </table>\n" +
+            "    <table name=\"C\">\n" +
+            "        <column name=\"attr\"\n" +
+            "                javaName=\"attr\"\n" +
+            "                type=\"INTEGER\"\n" +
+            "                primaryKey=\"true\"\n" +
+            "                required=\"true\"\n" +
+            "                autoIncrement=\"true\"\n" +
+            "        />\n" +
+            "        <column name=\"nameBase\"\n" +
+            "                javaName=\"nameBase\"\n" +
+            "                type=\"VARCHAR\"\n" +
+            "                size=\"128\"\n" +
+            "        />\n" +
+            "        <column name=\"nameA\"\n" +
+            "                javaName=\"nameA\"\n" +
+            "                type=\"VARCHAR\"\n" +
+            "                size=\"128\"\n" +
+            "        />\n" +
+            "        <column name=\"nameB\"\n" +
+            "                javaName=\"nameB\"\n" +
+            "                type=\"VARCHAR\"\n" +
+            "                size=\"128\"\n" +
+            "        />\n" +
+            "        <column name=\"nameC\"\n" +
+            "                javaName=\"nameC\"\n" +
+            "                type=\"VARCHAR\"\n" +
+            "                size=\"128\"\n" +
+            "        />\n" +
+            "    </table>\n" +
+            "</database>",
             result);
     }
 



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