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 2003/02/19 11:37:55 UTC
cvs commit: db-ojb/src/schema ojbtest-schema.xml ojbtest-data.xml ojbtest-data.dtd
arminw 2003/02/19 02:37:55
Modified: src/test/org/apache/ojb repository_junit.xml
src/test/org/apache/ojb/odmg UserTestCases.java
FieldConversion_Node.java
FieldConversion_ForeigenKeyTest.java
src/test/org/apache/ojb/broker TestInt2IntConverter.java
FieldConversionForeigenKeyTest.java
ConvertedKeyReferenceTest.java
ConversionReferrer.java ConversionReferred.java
src/schema ojbtest-schema.xml ojbtest-data.xml
ojbtest-data.dtd
Log:
add test cases posted by users,
add new test cases, modify test cases
Revision Changes Path
1.42 +74 -33 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.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- repository_junit.xml 15 Feb 2003 16:05:26 -0000 1.41
+++ repository_junit.xml 19 Feb 2003 10:37:54 -0000 1.42
@@ -2424,6 +2424,8 @@
</collection-descriptor>
</class-descriptor>
+
+
<!-- Definitions for org.apache.ojb.broker.GuidTestEntity -->
<class-descriptor
class="org.apache.ojb.broker.GuidTestEntity"
@@ -2442,6 +2444,12 @@
jdbc-type="VARCHAR"
/>
</class-descriptor>
+
+
+
+<!-- ************************************************* -->
+<!-- Tests checking field conversion -->
+<!-- ************************************************* -->
<class-descriptor
class="org.apache.ojb.broker.ConversionReferrer"
table="CONV_REFERER"
@@ -2458,6 +2466,15 @@
jdbc-type="INTEGER"
conversion="org.apache.ojb.broker.TestInt2IntConverter"
/>
+
+ <field-descriptor
+ name="testId"
+ column="TEST_ID"
+ jdbc-type="INTEGER"
+ primarykey="false"
+ conversion="org.apache.ojb.broker.TestInt2IntConverter"
+ />
+
<reference-descriptor
name="referred"
class-ref="org.apache.ojb.broker.ConversionReferred"
@@ -2465,6 +2482,7 @@
<foreignkey field-ref="ref1"/>
</reference-descriptor>
</class-descriptor>
+
<class-descriptor
class="org.apache.ojb.broker.ConversionReferred"
table="CONV_REFERED"
@@ -2476,8 +2494,63 @@
primarykey="true"
conversion="org.apache.ojb.broker.TestInt2IntConverter"
/>
+
+ <field-descriptor
+ name="testId"
+ column="TEST_ID"
+ jdbc-type="INTEGER"
+ primarykey="false"
+ conversion="org.apache.ojb.broker.TestInt2IntConverter"
+ />
+ </class-descriptor>
+
+
+
+
+ <class-descriptor
+ class="org.apache.ojb.odmg.FieldConversion_Node"
+ table="FIELD_CONVERSION_NODE"
+ >
+ <field-descriptor
+ name="uid"
+ column="NODE_ID"
+ jdbc-type="DECIMAL"
+ primarykey="true"
+ autoincrement="true"
+ conversion="org.apache.ojb.odmg.FieldConversion_LongToBigDecimalConversion"
+ />
+
+ <field-descriptor
+ name="nodeState"
+ column="NODE_STATE"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="false"
+ conversion="org.apache.ojb.broker.accesslayer.conversions.Boolean2IntFieldConversion"
+ />
+
+ <field-descriptor
+ name="refId"
+ column="PARENT_UID"
+ jdbc-type="DECIMAL"
+ conversion="org.apache.ojb.odmg.FieldConversion_LongToBigDecimalConversion"
+ />
+
+ <reference-descriptor
+ name="parent"
+ class-ref="org.apache.ojb.odmg.FieldConversion_Node"
+ auto-update="true"
+ >
+ <foreignkey field-ref="refId"/>
+ </reference-descriptor>
</class-descriptor>
+
+
+
+<!-- ************************************************* -->
+<!-- User posted test case -->
+<!-- ************************************************* -->
<class-descriptor
class="org.apache.ojb.odmg.Site"
table="SITE"
@@ -2931,9 +3004,7 @@
-<!-- ************************************************* -->
-<!-- END - Sequence manager test classes -->
-<!-- ************************************************* -->
+
<!-- ************************************************* -->
@@ -2995,38 +3066,8 @@
/>
</class-descriptor>
-<!-- ************************************************* -->
-<!-- END - user data for second test database -->
-<!-- ************************************************* -->
-<class-descriptor
- class="org.apache.ojb.odmg.FieldConversion_Node"
- table="FIELD_CONVERSION_NODE"
->
- <field-descriptor
- name="uid"
- column="NODE_ID"
- jdbc-type="DECIMAL"
- primarykey="true"
- autoincrement="true"
- conversion="org.apache.ojb.odmg.FieldConversion_LongToBigDecimalConversion"
- />
- <field-descriptor
- name="refId"
- column="PARENT_UID"
- jdbc-type="DECIMAL"
- conversion="org.apache.ojb.odmg.FieldConversion_LongToBigDecimalConversion"
- />
-
- <reference-descriptor
- name="parent"
- class-ref="org.apache.ojb.odmg.FieldConversion_Node"
- auto-update="true"
- >
- <foreignkey field-ref="refId"/>
- </reference-descriptor>
-</class-descriptor>
<!-- ************************************************* -->
<!-- Performance/Stress test descriptor -->
1.7 +101 -3 db-ojb/src/test/org/apache/ojb/odmg/UserTestCases.java
Index: UserTestCases.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/odmg/UserTestCases.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- UserTestCases.java 5 Feb 2003 20:04:40 -0000 1.6
+++ UserTestCases.java 19 Feb 2003 10:37:55 -0000 1.7
@@ -1,14 +1,19 @@
package org.apache.ojb.odmg;
-import java.util.List;
-
import junit.framework.TestCase;
import org.apache.ojb.broker.TestHelper;
+import org.apache.ojb.broker.util.configuration.impl.OjbConfigurator;
+import org.apache.ojb.broker.util.configuration.impl.OjbConfiguration;
+import org.apache.ojb.broker.metadata.MetadataManager;
+import org.apache.ojb.broker.metadata.DescriptorRepository;
+import org.apache.ojb.broker.metadata.JdbcConnectionDescriptor;
import org.odmg.Database;
import org.odmg.Implementation;
import org.odmg.OQLQuery;
import org.odmg.Transaction;
+import java.util.List;
+
/**
* Collection of test cases sent by OJB users
@@ -126,6 +131,99 @@
fail("We should not found deleted objects");
}
tx.commit();
+ }
+
+ /**
+ * User test case posted by Charles:
+ *
+ * Up to now, we've been just using the broker layer. I now have a usecase
+ where we will need to use the ODMG layer. We do not want to use implicit
+ locking; I want my developers to explicit lock each object to an ODMG
+ transaction (implicit locking generates loads of queries for all the proxy
+ collections).
+
+ It seems that something 'funny' happens if implicit locking is turned off -
+ objects are not marked as being "dirty" when changed - even when they are
+ explicitly lock to the transaction.
+
+ As I am a complete novice in the ways of the ODMG, I don't really know where
+ to look to sort this issue out so I have added a new test method to
+ org.apache.ojb.odmg.UserTestCases (it should be attached to this email).
+ Essentially, it creates an object and persists it; retrieves and updates it;
+ then flushes the cache, and retrieves it again to ensure the update worked.
+ If ImplicitLocking is TRUE, the test passes. If ImplicitLocking is FALSE,
+ the test fails.
+
+ I think this is incorrect, and would dearly like this to be resolved.
+ */
+ public void testImplicitLocking() throws Exception
+ {
+ OjbConfiguration conf = (OjbConfiguration)OjbConfigurator.getInstance().getConfigurationFor(null);
+ boolean useImplicitLocking = conf.useImplicitLocking();
+ boolean restore = false;
+
+ // prepare test case
+ try
+ {
+ if(useImplicitLocking)
+ {
+ restore = true;
+ conf.setUseImplicitLocking(false);
+ }
+ Implementation odmg = OJB.getInstance();
+ Database db = odmg.newDatabase();
+ db.open(databaseName, Database.OPEN_READ_WRITE);
+
+ String name = "testImplicitLocking - " + System.currentTimeMillis();
+ String queryString = "select sites from " + Site.class.getName() + " where name = $1";
+
+ /* Create an object */
+ Site site = new Site();
+ site.setName(name);
+
+ Transaction tx = odmg.newTransaction();
+ tx.begin();
+ tx.lock(site, Transaction.WRITE);
+ tx.commit();
+
+ /* Retrieve from the object created, and set the year*/
+ OQLQuery query = odmg.newOQLQuery();
+ query.create(queryString);
+ query.bind(name);
+
+ tx.begin();
+ List result = (List) query.execute();
+ assertEquals(1, result.size());
+ site = (Site) result.get(0);
+ assertNotNull(site);
+ assertNull(site.getYear());
+ site.setYear(new Integer(2003));
+ tx.lock(site, Transaction.UPGRADE);
+ tx.commit();
+
+ /* Flush the cache, and retrieve the object again */
+ query = odmg.newOQLQuery();
+ query.create(queryString);
+ query.bind(name);
+ tx.begin();
+ ((HasBroker) tx).getBroker().clearCache();
+ result = (List) query.execute();
+ assertEquals(1, result.size());
+ site = (Site) result.get(0);
+ assertNotNull(site);
+ assertNotNull("year should not be null", site.getYear());
+ tx.commit();
+
+ db.close();
+ }
+ finally
+ {
+ // reset configuration
+ if(restore)
+ {
+ conf.setUseImplicitLocking(useImplicitLocking);
+ }
+ }
}
1.3 +13 -1 db-ojb/src/test/org/apache/ojb/odmg/FieldConversion_Node.java
Index: FieldConversion_Node.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/odmg/FieldConversion_Node.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FieldConversion_Node.java 29 Jan 2003 10:52:57 -0000 1.2
+++ FieldConversion_Node.java 19 Feb 2003 10:37:55 -0000 1.3
@@ -14,16 +14,18 @@
{
private long uid; // primary key
private long refId;
+ private boolean nodeState;
FieldConversion_Node parent;
public FieldConversion_Node()
{
}
- public FieldConversion_Node(long uid, FieldConversion_Node parent)
+ public FieldConversion_Node(long uid, FieldConversion_Node parent, boolean nodeState)
{
this.uid = uid;
this.parent = parent;
+ this.nodeState = nodeState;
}
public long getUid()
@@ -34,6 +36,16 @@
public void setUid(long uid)
{
this.uid = uid;
+ }
+
+ public boolean isState()
+ {
+ return nodeState;
+ }
+
+ public void setState(boolean state)
+ {
+ this.nodeState = state;
}
public long getRefId()
1.3 +7 -6 db-ojb/src/test/org/apache/ojb/odmg/FieldConversion_ForeigenKeyTest.java
Index: FieldConversion_ForeigenKeyTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/odmg/FieldConversion_ForeigenKeyTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FieldConversion_ForeigenKeyTest.java 29 Jan 2003 10:52:57 -0000 1.2
+++ FieldConversion_ForeigenKeyTest.java 19 Feb 2003 10:37:55 -0000 1.3
@@ -16,7 +16,8 @@
import java.util.List;
/**
- * class FieldConversion_ForeigenKeyTest
+ * class FieldConversion_ForeigenKeyTest,
+ * check the field conversion behaviour.
*
* @author <a href="mailto:om@ppi.de">Oliver Matz</a>
* @version $Id$
@@ -54,8 +55,8 @@
{
String strQuery = "select allNodes from "+FieldConversion_Node.class.getName();
long id = System.currentTimeMillis();
- FieldConversion_Node node = new FieldConversion_Node(id, null);
- FieldConversion_Node child = new FieldConversion_Node(id + 1, node);
+ FieldConversion_Node node = new FieldConversion_Node(id, null, true);
+ FieldConversion_Node child = new FieldConversion_Node(id + 1, node, false);
List result;
@@ -99,8 +100,8 @@
{
String strQuery = "select allNodes from "+FieldConversion_Node.class.getName();
long id = System.currentTimeMillis();
- FieldConversion_Node node = new FieldConversion_Node(id, null);
- FieldConversion_Node child = new FieldConversion_Node(id + 1, node);
+ FieldConversion_Node node = new FieldConversion_Node(id, null, true);
+ FieldConversion_Node child = new FieldConversion_Node(id + 1, node, false);
Transaction tx = odmg.newTransaction();
List result;
1.2 +4 -4 db-ojb/src/test/org/apache/ojb/broker/TestInt2IntConverter.java
Index: TestInt2IntConverter.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/TestInt2IntConverter.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestInt2IntConverter.java 10 Oct 2002 19:11:01 -0000 1.1
+++ TestInt2IntConverter.java 19 Feb 2003 10:37:55 -0000 1.2
@@ -14,23 +14,23 @@
* @author drfish
*/
public class TestInt2IntConverter implements FieldConversion {
-
+
/** Creates a new instance of FromMaxInt2IntConversion */
public TestInt2IntConverter() {
}
-
+
/** convert a Java object to its SQL pendant, used for insert & update */
public Object javaToSql(Object source) throws ConversionException {
+
int val = ((Integer)source).intValue();
val = Integer.MAX_VALUE - val;
return new Integer(val);
}
-
+
/** convert a SQL value to a Java Object, used for SELECT */
public Object sqlToJava(Object source) throws ConversionException {
int val = ((Integer)source).intValue();
val = Integer.MAX_VALUE - val;
return new Integer(val);
}
-
}
1.3 +4 -5 db-ojb/src/test/org/apache/ojb/broker/FieldConversionForeigenKeyTest.java
Index: FieldConversionForeigenKeyTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/FieldConversionForeigenKeyTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FieldConversionForeigenKeyTest.java 2 Feb 2003 10:23:00 -0000 1.2
+++ FieldConversionForeigenKeyTest.java 19 Feb 2003 10:37:55 -0000 1.3
@@ -11,8 +11,7 @@
import org.apache.ojb.odmg.FieldConversion_Node;
/**
- * Test using field conversion from <code>long</code>
- * to <code>BigDecimal</code>.
+ * Test using field conversions for PK values.
*
* @author <a href="mailto:om@ppi.de">Oliver Matz</a>
* @version $Id$
@@ -60,8 +59,8 @@
{
//String strQuery = "select allNodes from " + FieldConversion_Node.class.getName();
long id = System.currentTimeMillis();
- FieldConversion_Node node = new FieldConversion_Node(id, null);
- FieldConversion_Node child = new FieldConversion_Node(id + 1, node);
+ FieldConversion_Node node = new FieldConversion_Node(id, null, true);
+ FieldConversion_Node child = new FieldConversion_Node(id + 1, node, false);
int before;
1.4 +140 -71 db-ojb/src/test/org/apache/ojb/broker/ConvertedKeyReferenceTest.java
Index: ConvertedKeyReferenceTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/ConvertedKeyReferenceTest.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ConvertedKeyReferenceTest.java 5 Feb 2003 20:03:42 -0000 1.3
+++ ConvertedKeyReferenceTest.java 19 Feb 2003 10:37:55 -0000 1.4
@@ -7,12 +7,14 @@
package org.apache.ojb.broker;
-import junit.framework.*;
-import org.apache.ojb.broker.util.logging.LoggerFactory;
+import junit.framework.TestCase;
+import org.apache.ojb.broker.query.Criteria;
import org.apache.ojb.broker.query.Query;
import org.apache.ojb.broker.query.QueryFactory;
-import org.apache.ojb.broker.query.Criteria;
-import java.util.*;
+import org.apache.ojb.broker.util.logging.LoggerFactory;
+
+import java.util.Collection;
+import java.util.Iterator;
/**
*
@@ -21,72 +23,139 @@
public class ConvertedKeyReferenceTest extends TestCase
{
- PersistenceBroker broker;
-
- public ConvertedKeyReferenceTest(java.lang.String testName)
- {
- super(testName);
- }
-
- public void setUp()
- {
- try
- {
- broker = PersistenceBrokerFactory.defaultPersistenceBroker();
- }
- catch (Throwable t)
- {
- LoggerFactory.getBootLogger().error("error getting broker", t);
- }
- }
-
- public static void main(java.lang.String[] args)
- {
- junit.textui.TestRunner.run(suite());
- }
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite(ConvertedKeyReferenceTest.class);
- return suite;
- }
-
- public void testConvertedReferenceLookup()
- {
- Collection coll = null;
- Criteria c = null;
- Query q = QueryFactory.newQuery(ConversionReferrer.class, c);
- coll = broker.getCollectionByQuery(q);
- assertTrue("There should be more than 0 matching items", coll.size() > 0);
-
- Iterator i = coll.iterator();
- while (i.hasNext())
- {
- ConversionReferrer cref = (ConversionReferrer) i.next();
- assertTrue("reference should be non-null", cref.getReferred() != null);
- assertEquals("Reference selected correct item", cref.getRef1(), cref.getReferred().getPk1());
- }
-
- }
- public void testConvertedReferenceInsert()
- {
- int no = 105;
- ConversionReferrer cref = new ConversionReferrer();
- ConversionReferred crefed = new ConversionReferred();
- // store an item to referr to
- crefed.setPk1(no);
- broker.store(crefed);
- // create a referrer
- cref.setPk1(no);
- // set the reference
- cref.setReferred(crefed);
- // store the object
- broker.store(cref);
- // save id for recapturing object
- Identity id = new Identity(cref, broker);
- cref = (ConversionReferrer) broker.getObjectByIdentity(id);
- assertEquals("Stored reference ID should match refed object pk", crefed.getPk1(), cref.getRef1());
-
- }
+ PersistenceBroker broker;
+ public ConvertedKeyReferenceTest(java.lang.String testName)
+ {
+ super(testName);
+ }
+
+ public static void main(String[] args)
+ {
+ String[] arr = {ConvertedKeyReferenceTest.class.getName()};
+ junit.textui.TestRunner.main(arr);
+ }
+
+ public void setUp()
+ {
+ try
+ {
+ broker = PersistenceBrokerFactory.defaultPersistenceBroker();
+ }
+ catch (Throwable t)
+ {
+ LoggerFactory.getBootLogger().error("error getting broker", t);
+ }
+ }
+
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ if (broker != null) broker.close();
+ }
+
+ public void testConvertedReferenceLookup()
+ {
+ Collection coll = null;
+ Criteria c = null;
+ Query q = QueryFactory.newQuery(ConversionReferrer.class, c);
+ coll = broker.getCollectionByQuery(q);
+ assertTrue("There should be more than 0 matching items", coll.size() > 0);
+
+ Iterator i = coll.iterator();
+ while (i.hasNext())
+ {
+ ConversionReferrer cref = (ConversionReferrer) i.next();
+ assertTrue("PK value not converted, id should be > 1000, found " + cref, cref.getPk1() > 1000);
+ assertTrue("Reference id should be > 1000, found " + cref, cref.getRef1() > 1000);
+ assertTrue("Reference should be non-null, found "+cref, cref.getReferred() != null);
+ assertEquals("Reference does not select correct item", cref.getRef1(), cref.getReferred().getPk1());
+ }
+
+ }
+
+ public void testMultipleConverted()
+ {
+ String error = "Indicate that the field conversion was not/or multiple times called for a value, expected > 100 - found ";
+ Collection coll = null;
+ Criteria c = null;
+ Query q = QueryFactory.newQuery(ConversionReferrer.class, c);
+ coll = broker.getCollectionByQuery(q);
+ assertTrue("There should be more than 0 matching items", coll.size() > 0);
+
+ Iterator i = coll.iterator();
+ while (i.hasNext())
+ {
+ ConversionReferrer cref = (ConversionReferrer) i.next();
+ assertTrue("PK value not converted, id should be > 1000, found " + cref, cref.getPk1() > 1000);
+ assertTrue("Reference should be non-null, found "+cref, cref.getReferred() != null);
+ assertEquals("Reference selected incorrect item", cref.getRef1(), cref.getReferred().getPk1());
+
+ /*
+ The used conversion does the following
+ val = Integer.MAX_VALUE - val;
+ for both conversion directions.
+ The result was e.g.
+ ++ sqlToJava: 10 --> 2147483637
+ ## javaToSql: 2147483637 --> 10
+
+ */
+
+ int value = 0;
+ value = cref.getRef1();
+ assertTrue(error + cref, value > 1000);
+
+ value = cref.getTestId();
+ assertTrue(error + cref, value > 1000);
+
+ value = cref.getReferred().getPk1();
+ assertTrue(error + cref, value > 1000);
+
+ value = cref.getReferred().getTestId();
+ assertTrue(error + cref, value > 1000);
+ }
+
+ }
+
+ public void testConvertedReferenceInsert()
+ {
+ String error = "Maybe field conversion was not called or multiple times";
+ int no = Integer.MAX_VALUE - 110;
+ int noRef = Integer.MAX_VALUE - 109;
+ int noTest = Integer.MAX_VALUE - 108;
+ int noTestRef = Integer.MAX_VALUE - 107;
+
+ ConversionReferrer cref = new ConversionReferrer();
+ cref.setPk1(no);
+ cref.setTestId(noTest);
+
+ ConversionReferred crefed = new ConversionReferred();
+ crefed.setPk1(noRef);
+ crefed.setTestId(noTestRef);
+ // set reference
+ cref.setReferred(crefed);
+
+ broker.store(crefed);
+ broker.store(cref);
+
+ broker.clearCache();
+
+ // save id for recapturing object
+ Identity id = new Identity(cref, broker);
+ broker.clearCache();
+
+ ConversionReferrer referrer = (ConversionReferrer) broker.getObjectByIdentity(id);
+ assertNotNull(cref.getReferred());
+ assertNotNull("We should found a reference, found "+referrer, referrer.getReferred());
+ assertEquals("Stored reference ID should match refed object pk", referrer.getRef1(), crefed.getPk1());
+ assertEquals(error, cref.getPk1(), referrer.getPk1());
+ assertEquals(error, cref.getTestId(), referrer.getTestId());
+ assertEquals(error, cref.getReferred().getPk1(), referrer.getReferred().getPk1());
+
+ assertEquals(error, cref.getReferred().getTestId(), referrer.getReferred().getTestId());
+
+ // delete objects
+ broker.delete(crefed);
+ broker.delete(cref);
+ }
}
1.2 +49 -19 db-ojb/src/test/org/apache/ojb/broker/ConversionReferrer.java
Index: ConversionReferrer.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/ConversionReferrer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ConversionReferrer.java 10 Oct 2002 19:11:01 -0000 1.1
+++ ConversionReferrer.java 19 Feb 2003 10:37:55 -0000 1.2
@@ -6,69 +6,99 @@
package org.apache.ojb.broker;
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.commons.lang.builder.ToStringStyle;
+
/**
* Used by ConvertedKeyReferenceTest
*
* @author J. Russell Smyth
*/
-public class ConversionReferrer {
-
+public class ConversionReferrer
+{
+
private int pk1;
-
+ private int testId;
private int ref1;
-
private ConversionReferred referred;
-
+
/** Creates a new instance of ConversionParent */
- public ConversionReferrer() {
+ public ConversionReferrer()
+ {
}
-
+
+ public String toString()
+ {
+ ToStringBuilder buf = new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE);
+ buf.append("pk1", pk1);
+ buf.append("ref1", ref1);
+ buf.append("testId", testId);
+ buf.append("referred", referred);
+ return buf.toString();
+ }
+
+ public int getTestId()
+ {
+ return testId;
+ }
+
+ public void setTestId(int testId)
+ {
+ this.testId = testId;
+ }
+
/** Getter for property pk1.
* @return Value of property pk1.
*
*/
- public int getPk1() {
+ public int getPk1()
+ {
return pk1;
}
-
+
/** Setter for property pk1.
* @param pk1 New value of property pk1.
*
*/
- public void setPk1(int pk1) {
+ public void setPk1(int pk1)
+ {
this.pk1 = pk1;
}
-
+
/** Getter for property ref1.
* @return Value of property ref1.
*
*/
- public int getRef1() {
+ public int getRef1()
+ {
return ref1;
}
-
+
/** Setter for property ref1.
* @param ref1 New value of property ref1.
*
*/
- public void setRef1(int ref1) {
+ public void setRef1(int ref1)
+ {
this.ref1 = ref1;
}
-
+
/** Getter for property referred.
* @return Value of property referred.
*
*/
- public org.apache.ojb.broker.ConversionReferred getReferred() {
+ public org.apache.ojb.broker.ConversionReferred getReferred()
+ {
return referred;
}
-
+
/** Setter for property referred.
* @param referred New value of property referred.
*
*/
- public void setReferred(org.apache.ojb.broker.ConversionReferred referred) {
+ public void setReferred(org.apache.ojb.broker.ConversionReferred referred)
+ {
this.referred = referred;
}
-
+
}
1.2 +35 -9 db-ojb/src/test/org/apache/ojb/broker/ConversionReferred.java
Index: ConversionReferred.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/ConversionReferred.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ConversionReferred.java 10 Oct 2002 19:11:01 -0000 1.1
+++ ConversionReferred.java 19 Feb 2003 10:37:55 -0000 1.2
@@ -6,33 +6,59 @@
package org.apache.ojb.broker;
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.commons.lang.builder.ToStringStyle;
+
/**
* Used by ConvertedKeyReferenceTest
*
* @author J. Russell Smyth
*/
-public class ConversionReferred {
-
+public class ConversionReferred
+{
+
private int pk1;
-
+ private int testId;
+
/** Creates a new instance of ConversionReferred */
- public ConversionReferred() {
+ public ConversionReferred()
+ {
}
-
+
+ public String toString()
+ {
+ ToStringBuilder buf = new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE);
+ buf.append("pk1", pk1);
+ buf.append("testId", testId);
+ return buf.toString();
+ }
+
+ public int getTestId()
+ {
+ return testId;
+ }
+
+ public void setTestId(int testId)
+ {
+ this.testId = testId;
+ }
+
/** Getter for property pk1.
* @return Value of property pk1.
*
*/
- public int getPk1() {
+ public int getPk1()
+ {
return pk1;
}
-
+
/** Setter for property pk1.
* @param pk1 New value of property pk1.
*
*/
- public void setPk1(int pk1) {
+ public void setPk1(int pk1)
+ {
this.pk1 = pk1;
}
-
+
}
1.23 +9 -1 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.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- ojbtest-schema.xml 6 Feb 2003 01:20:54 -0000 1.22
+++ ojbtest-schema.xml 19 Feb 2003 10:37:55 -0000 1.23
@@ -375,10 +375,12 @@
<table name="CONV_REFERER" javaName="ConversionReferrer">
<column name="PK1" required="true" primaryKey="true" type="INTEGER"/>
<column name="REF1" type="INTEGER"/>
+ <column name="TEST_ID" type="INTEGER"/>
</table>
<table name="CONV_REFERED" javaName="ConversionReferred">
<column name="PK1" required="true" primaryKey="true" type="INTEGER"/>
+ <column name="TEST_ID" type="INTEGER"/>
</table>
@@ -532,16 +534,22 @@
<column name="GRADE" type="VARCHAR" size="80"/>
</table>
+ <!-- =================================================== -->
+ <!-- Field conversion test -->
+ <!-- =================================================== -->
<!--
private long uid; // primary key
private long node_refid;
-->
<table name="FIELD_CONVERSION_NODE">
<column name="NODE_ID" required="true" primaryKey="true" type="DECIMAL"/>
+ <column name="NODE_STATE" required="true" primaryKey="true" type="INTEGER"/>
<column name="PARENT_UID" type="DECIMAL"/>
</table>
-
+ <!-- =================================================== -->
+ <!-- Perf-test table -->
+ <!-- =================================================== -->
<!--
private Long articleId;
private String articleName;
1.7 +6 -6 db-ojb/src/schema/ojbtest-data.xml
Index: ojbtest-data.xml
===================================================================
RCS file: /home/cvs/db-ojb/src/schema/ojbtest-data.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ojbtest-data.xml 9 Dec 2002 18:24:57 -0000 1.6
+++ ojbtest-data.xml 19 Feb 2003 10:37:55 -0000 1.7
@@ -137,12 +137,12 @@
<Task TaskId="3" PersonId="2" ProjectId="2" Taskname="Project Cleanup"/>
<Task TaskId="4" PersonId="2" ProjectId="3" Taskname="Testing Scripts"/>
- <ConversionReferrer Pk1="1" Ref1="1"/>
- <ConversionReferrer Pk1="2" Ref1="2"/>
- <ConversionReferrer Pk1="3" Ref1="3"/>
- <ConversionReferred Pk1="1"/>
- <ConversionReferred Pk1="2"/>
- <ConversionReferred Pk1="3"/>
+ <ConversionReferrer Pk1="1" Ref1="50" TestId="10"/>
+ <ConversionReferrer Pk1="2" Ref1="51" TestId="11"/>
+ <ConversionReferrer Pk1="3" Ref1="52" TestId="12"/>
+ <ConversionReferred Pk1="50" TestId="60"/>
+ <ConversionReferred Pk1="51" TestId="61"/>
+ <ConversionReferred Pk1="52" TestId="62"/>
<SMMaxA id="120" name="A"/>
<SMMaxA id="121" name="A"/>
1.7 +2 -0 db-ojb/src/schema/ojbtest-data.dtd
Index: ojbtest-data.dtd
===================================================================
RCS file: /home/cvs/db-ojb/src/schema/ojbtest-data.dtd,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ojbtest-data.dtd 8 Dec 2002 12:22:40 -0000 1.6
+++ ojbtest-data.dtd 19 Feb 2003 10:37:55 -0000 1.7
@@ -228,11 +228,13 @@
<!ATTLIST ConversionReferrer
Pk1 CDATA #REQUIRED
Ref1 CDATA #REQUIRED
+ TestId CDATA #REQUIRED
>
<!ELEMENT ConversionReferred EMPTY>
<!ATTLIST ConversionReferred
Pk1 CDATA #REQUIRED
+ TestId CDATA #REQUIRED
>