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 th...@apache.org on 2003/06/10 08:19:24 UTC
cvs commit: db-ojb/src/java/org/apache/ojb/broker/metadata ObjectReferenceDescriptor.java
thma 2003/06/09 23:19:24
Modified: src/schema ojbtest-schema.xml
src/test/org/apache/ojb/broker F.java E.java
src/java/org/apache/ojb/broker/metadata/fieldaccess
AnonymousPersistentField.java
src/test/org/apache/ojb/quick-db OJB.properties OJB.script
src/test/org/apache/ojb repository_junit.xml
src/java/org/apache/ojb/broker/metadata
ObjectReferenceDescriptor.java
Added: src/test/org/apache/ojb/broker AnonymousFieldsTest.java
Log:
prepare testcases for anonymous fields and vertical inheritance
Revision Changes Path
1.36 +11 -0 db-ojb/src/schema/ojbtest-schema.xml
Index: ojbtest-schema.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/schema/ojbtest-schema.xml,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- ojbtest-schema.xml 30 May 2003 10:25:08 -0000 1.35
+++ ojbtest-schema.xml 10 Jun 2003 06:19:23 -0000 1.36
@@ -700,4 +700,15 @@
<column name="RO_LONG" type="DECIMAL"/>
</table>
+ <table name="TABLE_E">
+ <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
+ <column name="SOMESUPERVALUE" type="INTEGER" />
+ </table>
+
+ <table name="TABLE_F">
+ <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
+ <column name="E_ID" required="true" type="INTEGER"/>
+ <column name="SOMEVALUE" type="INTEGER" />
+ </table>
+
</database>
1.2 +11 -2 db-ojb/src/test/org/apache/ojb/broker/F.java
Index: F.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/F.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- F.java 9 Nov 2002 00:53:39 -0000 1.1
+++ F.java 10 Jun 2003 06:19:23 -0000 1.2
@@ -11,10 +11,19 @@
public class F extends E implements Serializable
{
-
-
+ int id;
+
int someValue;
+ public int getId()
+ {
+ return id;
+ }
+
+ public void setId(int id)
+ {
+ this.id = id;
+ }
public int getSomeValue()
1.2 +1 -1 db-ojb/src/test/org/apache/ojb/broker/E.java
Index: E.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/E.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- E.java 9 Nov 2002 00:53:39 -0000 1.1
+++ E.java 10 Jun 2003 06:19:23 -0000 1.2
@@ -14,7 +14,7 @@
int id;
- int someSuperValue;
+ protected int someSuperValue;
public int getId()
1.1 db-ojb/src/test/org/apache/ojb/broker/AnonymousFieldsTest.java
Index: AnonymousFieldsTest.java
===================================================================
package org.apache.ojb.broker;
import junit.framework.TestCase;
/**
* This TestClass tests the anonymous fields feature.
*/
public class AnonymousFieldsTest extends TestCase
{
public static void main(String[] args)
{
String[] arr = {AnonymousFieldsTest.class.getName()};
junit.textui.TestRunner.main(arr);
}
private PersistenceBroker broker;
/**
* Insert the method's description here.
* Creation date: (24.12.2000 00:33:40)
*/
public AnonymousFieldsTest(String name)
{
super(name);
}
/**
* Insert the method's description here.
* Creation date: (06.12.2000 21:58:53)
*/
public void setUp() throws Exception
{
broker = PersistenceBrokerFactory.defaultPersistenceBroker();
}
/**
* Insert the method's description here.
* Creation date: (06.12.2000 21:59:14)
*/
public void tearDown()
{
try
{
broker.clearCache();
broker.close();
}
catch (PersistenceBrokerException e)
{
}
}
/** Test optimistic Lock by timestamp.*/
public void testInheritanceLoad() throws Exception
{
}
}
1.2 +1 -1 db-ojb/src/java/org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField.java
Index: AnonymousPersistentField.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AnonymousPersistentField.java 26 Mar 2003 10:37:55 -0000 1.1
+++ AnonymousPersistentField.java 10 Jun 2003 06:19:24 -0000 1.2
@@ -11,7 +11,7 @@
*/
public class AnonymousPersistentField implements PersistentField {
- protected Map fkCache = new WeakHashMap();
+ protected transient Map fkCache = new WeakHashMap();
protected String fieldname;
public AnonymousPersistentField(String fieldname) {
1.20 +1 -1 db-ojb/src/test/org/apache/ojb/quick-db/OJB.properties
Index: OJB.properties
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/quick-db/OJB.properties,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- OJB.properties 2 Jun 2003 15:17:35 -0000 1.19
+++ OJB.properties 10 Jun 2003 06:19:24 -0000 1.20
@@ -1,5 +1,5 @@
#HSQL database
-#Mon Jun 02 15:13:18 CEST 2003
+#Mon Jun 09 14:36:51 CEST 2003
sql.strict_fk=true
readonly=false
sql.strong_fk=true
1.21 +2 -0 db-ojb/src/test/org/apache/ojb/quick-db/OJB.script
Index: OJB.script
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/quick-db/OJB.script,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- OJB.script 2 Jun 2003 15:17:35 -0000 1.20
+++ OJB.script 10 Jun 2003 06:19:24 -0000 1.21
@@ -77,6 +77,8 @@
CREATE TABLE COLLECTION_COLLECTIBLE_A(COL_ID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(150),GAT_ID INTEGER)
CREATE TABLE COLLECTION_COLLECTIBLE_BC(COL_ID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(150),GAT_ID INTEGER,EXTENT_NAME VARCHAR(150))
CREATE TABLE READONLY_TEST(OBJ_ID DECIMAL NOT NULL PRIMARY KEY,NAME VARCHAR(150),RO_STRING VARCHAR(150),RO_LONG DECIMAL)
+CREATE TABLE TABLE_E(ID INTEGER NOT NULL PRIMARY KEY,SOMESUPERVALUE INTEGER)
+CREATE TABLE TABLE_F(ID INTEGER NOT NULL PRIMARY KEY,E_ID INTEGER,SOMEVALUE INTEGER)
CREATE TABLE OJB_HL_SEQ(TABLENAME VARCHAR(175) NOT NULL,FIELDNAME VARCHAR(70) NOT NULL,MAX_KEY INTEGER,GRAB_SIZE INTEGER,VERSION INTEGER,CONSTRAINT SYS_PK_OJB_HL_SEQ PRIMARY KEY(TABLENAME,FIELDNAME))
CREATE TABLE OJB_LOCKENTRY(OID_ VARCHAR(250) NOT NULL,TX_ID VARCHAR(50) NOT NULL,TIMESTAMP_ TIMESTAMP,ISOLATIONLEVEL INTEGER,LOCKTYPE INTEGER,CONSTRAINT SYS_PK_OJB_LOCKENTRY PRIMARY KEY(OID_,TX_ID))
CREATE TABLE OJB_NRM(NAME VARCHAR(250) NOT NULL PRIMARY KEY,OID_ LONGVARBINARY)
1.69 +58 -0 db-ojb/src/test/org/apache/ojb/repository_junit.xml
Index: repository_junit.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/repository_junit.xml,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- repository_junit.xml 3 Jun 2003 00:12:48 -0000 1.68
+++ repository_junit.xml 10 Jun 2003 06:19:24 -0000 1.69
@@ -4126,6 +4126,64 @@
/>
</class-descriptor>
+
+
+<!-- mappings for anonymous field testclasses-->
+ <class-descriptor
+ class="org.apache.ojb.broker.E"
+ table="TABLE_E">
+
+ <field-descriptor
+ name="id"
+ column="ID"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ />
+
+ <field-descriptor
+ name="someSuperValue"
+ column="SOMESUPERVALUE"
+ jdbc-type="INTEGER"
+ />
+
+ </class-descriptor>
+
+ <class-descriptor
+ class="org.apache.ojb.broker.F"
+ table="TABLE_F">
+
+ <field-descriptor
+ name="id"
+ column="ID"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ />
+
+ <field-descriptor
+ name="eID"
+ column="E_ID"
+ jdbc-type="INTEGER"
+ access="anonymous"
+ />
+
+ <field-descriptor
+ name="someValue"
+ column="SOMEVALUE"
+ jdbc-type="INTEGER"
+ />
+
+
+ <reference-descriptor name="this"
+ class-ref="org.apache.ojb.broker.E"
+ auto-retrieve="true"
+ auto-update="true"
+ auto-delete="true">
+ <foreignkey field-ref="eID" />
+ </reference-descriptor>
+
+ </class-descriptor>
<!-- Mapping of classes used in junit tests and tutorials ends here -->
1.26 +6 -1 db-ojb/src/java/org/apache/ojb/broker/metadata/ObjectReferenceDescriptor.java
Index: ObjectReferenceDescriptor.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/metadata/ObjectReferenceDescriptor.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- ObjectReferenceDescriptor.java 13 May 2003 07:56:24 -0000 1.25
+++ ObjectReferenceDescriptor.java 10 Jun 2003 06:19:24 -0000 1.26
@@ -368,7 +368,12 @@
// attributes
// name
- result += " " + tags.getAttribute(FIELD_NAME, this.getAttributeName()) + eol;
+ String name = this.getAttributeName();
+ if (name == null)
+ {
+ name = "this";
+ }
+ result += " " + tags.getAttribute(FIELD_NAME, name) + eol;
// class-ref
result += " " + tags.getAttribute(REFERENCED_CLASS, this.getItemClassName()) + eol;