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 to...@apache.org on 2004/06/28 22:42:19 UTC
cvs commit: db-ojb/lib xdoclet-ojb-module-1.2.1.jar
tomdz 2004/06/28 13:42:19
Modified: src/xdoclet/test/xdoclet/modules/ojb/tests
ReferenceTagClassRefAttributeTests.java
src/xdoclet/java/src/xdoclet/modules/ojb OjbTagsHandler.java
lib xdoclet-ojb-module-1.2.1.jar
Log:
Fixed error where feature tags were not inherited from implemented interfaces
Revision Changes Path
1.5 +139 -0 db-ojb/src/xdoclet/test/xdoclet/modules/ojb/tests/ReferenceTagClassRefAttributeTests.java
Index: ReferenceTagClassRefAttributeTests.java
===================================================================
RCS file: /home/cvs/db-ojb/src/xdoclet/test/xdoclet/modules/ojb/tests/ReferenceTagClassRefAttributeTests.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ReferenceTagClassRefAttributeTests.java 25 Jun 2004 13:36:49 -0000 1.4
+++ ReferenceTagClassRefAttributeTests.java 28 Jun 2004 20:42:19 -0000 1.5
@@ -876,4 +876,143 @@
"</database>",
runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
}
+
+ // Test: no class-ref attribute specified, reference to interface
+ public void testClassRef18()
+ {
+ addClass(
+ "test.A",
+ "package test;\n"+
+ "/** @ojb.class table=\"A\" */\n"+
+ "public interface A {\n"+
+ " /** @ojb.field primarykey=\"true\" */\n"+
+ " public Integer getId();\n"+
+ " /** @ojb.field length=\"254\" */\n"+
+ " public String getOjbConcreteClass();\n"+
+ "}\n");
+ addClass(
+ "test.B",
+ "package test;\n"+
+ "/** @ojb.class table=\"A\" */\n"+
+ "public class B implements A {\n"+
+ " private Integer id;\n"+
+ " private String ojbConcreteClass;\n"+
+ " public Integer getId() {\n"+
+ " return id;\n"+
+ " }\n"+
+ " public String getOjbConcreteClass() {\n"+
+ " return ojbConcreteClass;\n"+
+ " }\n"+
+ "}\n");
+ addClass(
+ "test.C",
+ "package test;\n"+
+ "/** @ojb.class */\n"+
+ "public class C {\n"+
+ " /** @ojb.field primarykey=\"true\" */\n"+
+ " private Integer id;\n"+
+ " /** @ojb.field */\n"+
+ " private Integer aid;\n"+
+ " /** @ojb.reference foreignkey=\"aid\" */\n"+
+ " private test.A attr;\n"+
+ "}\n");
+
+ assertEqualsOjbDescriptorFile(
+ "<class-descriptor\n"+
+ " class=\"test.A\"\n"+
+ " table=\"A\"\n"+
+ ">\n"+
+ " <extent-class class-ref=\"test.B\"/>\n"+
+ " <field-descriptor\n"+
+ " name=\"id\"\n"+
+ " column=\"id\"\n"+
+ " jdbc-type=\"INTEGER\"\n"+
+ " primarykey=\"true\"\n"+
+ " >\n"+
+ " </field-descriptor>\n"+
+ " <field-descriptor\n"+
+ " name=\"ojbConcreteClass\"\n"+
+ " column=\"ojbConcreteClass\"\n"+
+ " jdbc-type=\"VARCHAR\"\n"+
+ " length=\"254\"\n"+
+ " >\n"+
+ " </field-descriptor>\n"+
+ "</class-descriptor>\n"+
+ "<class-descriptor\n"+
+ " class=\"test.B\"\n"+
+ " table=\"A\"\n"+
+ ">\n"+
+ " <field-descriptor\n"+
+ " name=\"id\"\n"+
+ " column=\"id\"\n"+
+ " jdbc-type=\"INTEGER\"\n"+
+ " primarykey=\"true\"\n"+
+ " >\n"+
+ " </field-descriptor>\n"+
+ " <field-descriptor\n"+
+ " name=\"ojbConcreteClass\"\n"+
+ " column=\"ojbConcreteClass\"\n"+
+ " jdbc-type=\"VARCHAR\"\n"+
+ " length=\"254\"\n"+
+ " >\n"+
+ " </field-descriptor>\n"+
+ "</class-descriptor>\n"+
+ "<class-descriptor\n"+
+ " class=\"test.C\"\n"+
+ " table=\"C\"\n"+
+ ">\n"+
+ " <field-descriptor\n"+
+ " name=\"id\"\n"+
+ " column=\"id\"\n"+
+ " jdbc-type=\"INTEGER\"\n"+
+ " primarykey=\"true\"\n"+
+ " >\n"+
+ " </field-descriptor>\n"+
+ " <field-descriptor\n"+
+ " name=\"aid\"\n"+
+ " column=\"aid\"\n"+
+ " jdbc-type=\"INTEGER\"\n"+
+ " >\n"+
+ " </field-descriptor>\n"+
+ " <reference-descriptor\n"+
+ " name=\"attr\"\n"+
+ " class-ref=\"test.A\"\n"+
+ " >\n"+
+ " <foreignkey field-ref=\"aid\"/>\n"+
+ " </reference-descriptor>\n"+
+ "</class-descriptor>",
+ runOjbXDoclet(OJB_DEST_FILE));
+ assertEqualsTorqueSchemaFile(
+ "<database name=\"ojbtest\">\n"+
+ " <table name=\"A\">\n"+
+ " <column name=\"id\"\n"+
+ " javaName=\"id\"\n"+
+ " type=\"INTEGER\"\n"+
+ " primaryKey=\"true\"\n"+
+ " required=\"true\"\n"+
+ " />\n"+
+ " <column name=\"ojbConcreteClass\"\n"+
+ " javaName=\"ojbConcreteClass\"\n"+
+ " type=\"VARCHAR\"\n"+
+ " size=\"254\"\n"+
+ " />\n"+
+ " </table>\n"+
+ " <table name=\"C\">\n"+
+ " <column name=\"id\"\n"+
+ " javaName=\"id\"\n"+
+ " type=\"INTEGER\"\n"+
+ " primaryKey=\"true\"\n"+
+ " required=\"true\"\n"+
+ " />\n"+
+ " <column name=\"aid\"\n"+
+ " javaName=\"aid\"\n"+
+ " type=\"INTEGER\"\n"+
+ " />\n"+
+ " <foreign-key foreignTable=\"A\">\n"+
+ " <reference local=\"aid\" foreign=\"id\"/>\n"+
+ " </foreign-key>\n"+
+ " </table>\n"+
+ "</database>",
+ runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+ }
}
1.13 +1 -1 db-ojb/src/xdoclet/java/src/xdoclet/modules/ojb/OjbTagsHandler.java
Index: OjbTagsHandler.java
===================================================================
RCS file: /home/cvs/db-ojb/src/xdoclet/java/src/xdoclet/modules/ojb/OjbTagsHandler.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- OjbTagsHandler.java 10 Jun 2004 22:34:22 -0000 1.12
+++ OjbTagsHandler.java 28 Jun 2004 20:42:19 -0000 1.13
@@ -239,7 +239,7 @@
}
if (!isFinished)
{
- if (original.isInterface())
+ if (original.getInterfaces() != null)
{
for (Iterator baseIt = original.getInterfaces().iterator(); baseIt.hasNext();)
{
1.2 +106 -91 db-ojb/lib/xdoclet-ojb-module-1.2.1.jar
<<Binary file>>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org