Author: arminw Date: Mon Oct 1 09:08:05 2007 New Revision: 581001 URL: http://svn.apache.org/viewvc?rev=581001&view=rev Log: add test
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/test/xdoclet/modules/ojb/tests/InheritanceTests.java Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/test/xdoclet/modules/ojb/tests/InheritanceTests.java URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/test/xdoclet/modules/ojb/tests/InheritanceTests.java?rev=581001&r1=581000&r2=581001&view=diff ============================================================================== --- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/test/xdoclet/modules/ojb/tests/InheritanceTests.java (original) +++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/test/xdoclet/modules/ojb/tests/InheritanceTests.java Mon Oct 1 09:08:05 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]