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 2004/12/12 02:35:13 UTC
cvs commit: db-ojb/src/test/org/apache/ojb repository_junit.xml
arminw 2004/12/11 17:35:13
Modified: src/schema Tag: OJB_1_0_RELEASE ojbtest-data.dtd
ojbtest-data.xml ojbtest-schema.xml
src/test/org/apache/ojb/broker Tag: OJB_1_0_RELEASE
BatchModeTest.java
OptimisticLockingMultithreadedTest.java
QueryTest.java
src/test/org/apache/ojb/junit Tag: OJB_1_0_RELEASE
OJBTestCase.java
src/test/org/apache/ojb/odmg Tag: OJB_1_0_RELEASE
MultiDBUsageTest.java
src/test/org/apache/ojb Tag: OJB_1_0_RELEASE
repository_junit.xml
Log:
update tests, remove unused test class
Revision Changes Path
No revision
No revision
1.14.2.1 +0 -9 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.14
retrieving revision 1.14.2.1
diff -u -r1.14 -r1.14.2.1
--- ojbtest-data.dtd 5 Apr 2004 13:58:59 -0000 1.14
+++ ojbtest-data.dtd 12 Dec 2004 01:35:12 -0000 1.14.2.1
@@ -27,7 +27,6 @@
Person*,
Project*,
PersonProject*,
- Task*,
FamilyMember*,
LockedByVersion*,
LockedByTimestamp*,
@@ -159,14 +158,6 @@
Id CDATA #REQUIRED
Title CDATA #IMPLIED
Description CDATA #IMPLIED
->
-
-<!ELEMENT Task EMPTY>
-<!ATTLIST Task
- TaskId CDATA #REQUIRED
- PersonId CDATA #REQUIRED
- ProjectId CDATA #REQUIRED
- Taskname CDATA #IMPLIED
>
<!ELEMENT PersonProject EMPTY>
1.15.2.1 +0 -5 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.15
retrieving revision 1.15.2.1
diff -u -r1.15 -r1.15.2.1
--- ojbtest-data.xml 5 Apr 2004 13:58:59 -0000 1.15
+++ ojbtest-data.xml 12 Dec 2004 01:35:12 -0000 1.15.2.1
@@ -148,11 +148,6 @@
<PersonProject PersonId="7" ProjectId="5" Rolename="founder"/>
<PersonProject PersonId="7" ProjectId="6" Rolename="tester"/>
- <Task TaskId="1" PersonId="2" ProjectId="1" Taskname="Initial Layout"/>
- <Task TaskId="2" PersonId="2" ProjectId="1" Taskname="Initial Spec"/>
- <Task TaskId="3" PersonId="2" ProjectId="2" Taskname="Project Cleanup"/>
- <Task TaskId="4" PersonId="2" ProjectId="3" Taskname="Testing Scripts"/>
-
<ConversionReferrer Pk1="1" Ref1="50" TestId="10"/>
<ConversionReferrer Pk1="2" Ref1="51" TestId="11"/>
<ConversionReferrer Pk1="3" Ref1="52" TestId="12"/>
1.80.2.6 +30 -41 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.80.2.5
retrieving revision 1.80.2.6
diff -u -r1.80.2.5 -r1.80.2.6
--- ojbtest-schema.xml 4 Dec 2004 14:50:50 -0000 1.80.2.5
+++ ojbtest-schema.xml 12 Dec 2004 01:35:12 -0000 1.80.2.6
@@ -40,9 +40,9 @@
javaName="ProductGroup">
<column name="Kategorie_Nr" required="true" primaryKey="true" type="INTEGER"
javaName="groupId"/>
- <column name="KategorieName" type="VARCHAR" size="60"
+ <column name="KategorieName" type="VARCHAR" size="150"
javaName="groupName"/>
- <column name="Beschreibung" type="VARCHAR" size="60"
+ <column name="Beschreibung" type="VARCHAR" size="150"
javaName="description"/>
</table>
@@ -51,13 +51,13 @@
javaName="Article">
<column name="Artikel_Nr" required="true" primaryKey="true" type="INTEGER"
javaName="articleId"/>
- <column name="Artikelname" type="VARCHAR" size="60"
+ <column name="Artikelname" type="VARCHAR" size="150"
javaName="articleName"/>
<column name="Lieferanten_Nr" type="INTEGER"
javaName="supplierId"/>
<column name="Kategorie_Nr" type="INTEGER"
javaName="productGroupId"/>
- <column name="Liefereinheit" type="VARCHAR" size="30"
+ <column name="Liefereinheit" type="VARCHAR" size="150"
javaName="unit"/>
<column name="Einzelpreis" type="FLOAT"
javaName="price"/>
@@ -76,17 +76,17 @@
<table name="BOOKS">
<column name="Artikel_Nr" required="true" primaryKey="true" type="INTEGER"/>
- <column name="Artikelname" type="VARCHAR" size="60"/>
+ <column name="Artikelname" type="VARCHAR" size="150"/>
<column name="Lieferanten_Nr" type="INTEGER"/>
<column name="Kategorie_Nr" type="INTEGER"/>
- <column name="Liefereinheit" type="VARCHAR" size="30"/>
+ <column name="Liefereinheit" type="VARCHAR" size="150"/>
<column name="Einzelpreis" type="FLOAT"/>
<column name="Lagerbestand" type="INTEGER"/>
<column name="BestellteEinheiten" type="INTEGER"/>
<column name="MindestBestand" type="INTEGER"/>
<column name="Auslaufartikel" type="INTEGER"/>
<column name="ISBN" type="CHAR" size="10"/>
- <column name="AUTHOR" type="VARCHAR" size="50"/>
+ <column name="AUTHOR" type="VARCHAR" size="150"/>
<foreign-key foreignTable="Kategorien">
<reference local="Kategorie_Nr" foreign="Kategorie_Nr"/>
</foreign-key>
@@ -94,16 +94,16 @@
<table name="CDS">
<column name="Artikel_Nr" required="true" primaryKey="true" type="INTEGER"/>
- <column name="Artikelname" type="VARCHAR" size="60"/>
+ <column name="Artikelname" type="VARCHAR" size="150"/>
<column name="Lieferanten_Nr" type="INTEGER"/>
<column name="Kategorie_Nr" type="INTEGER"/>
- <column name="Liefereinheit" type="VARCHAR" size="30"/>
+ <column name="Liefereinheit" type="VARCHAR" size="150"/>
<column name="Einzelpreis" type="FLOAT"/>
<column name="Lagerbestand" type="INTEGER"/>
<column name="BestellteEinheiten" type="INTEGER"/>
<column name="MindestBestand" type="INTEGER"/>
<column name="Auslaufartikel" type="INTEGER"/>
- <column name="LABEL" type="VARCHAR" size="50"/>
+ <column name="LABEL" type="VARCHAR" size="150"/>
<column name="MUSICIANS" type="VARCHAR" size="250"/>
<foreign-key foreignTable="Kategorien">
<reference local="Kategorie_Nr" foreign="Kategorie_Nr"/>
@@ -118,50 +118,50 @@
<table name="TREE">
<column name="ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="DATA" type="VARCHAR" size="50"/>
+ <column name="DATA" type="VARCHAR" size="150"/>
<column name="PARENT_ID" type="INTEGER"/>
</table>
<table name="TREEGROUP">
<column name="ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="DATA" type="VARCHAR" size="50"/>
+ <column name="DATA" type="VARCHAR" size="150"/>
<column name="PARENT_ID" type="INTEGER"/>
<column name="GROUP_ID" type="INTEGER"/>
</table>
<table name="AB_TABLE">
<column name="ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="CLASS_NAME" type="VARCHAR" size="60"/>
+ <column name="CLASS_NAME" type="VARCHAR" size="150"/>
<column name="VALUE_" type="INTEGER"/>
- <column name="A_FIELD" type="VARCHAR" size="60"/>
- <column name="B_FIELD" type="VARCHAR" size="60"/>
+ <column name="A_FIELD" type="VARCHAR" size="150"/>
+ <column name="B_FIELD" type="VARCHAR" size="150"/>
</table>
<!-- Product Table for Tutorial 1, 2 & 4-->
<table name="PRODUCT">
<column name="ID" required="true" primaryKey="true" type="INTEGER"
javaName="_id"/>
- <column name="NAME" type="VARCHAR" size="100"/>
+ <column name="NAME" type="VARCHAR" size="150"/>
<column name="PRICE" type="FLOAT"/>
<column name="STOCK" type="INTEGER"/>
</table>
<table name="PERSON">
<column name="ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="FIRSTNAME" type="VARCHAR" size="50"/>
- <column name="LASTNAME" type="VARCHAR" size="50"/>
+ <column name="FIRSTNAME" type="VARCHAR" size="150"/>
+ <column name="LASTNAME" type="VARCHAR" size="150"/>
</table>
<table name="PROJECT">
<column name="ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="TITLE" type="VARCHAR" size="50"/>
+ <column name="TITLE" type="VARCHAR" size="150"/>
<column name="DESCRIPTION" type="VARCHAR" size="250"/>
</table>
<table name="PERSON_PROJECT">
<column name="PERSON_ID" required="true" primaryKey="true" type="INTEGER"/>
<column name="PROJECT_ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="ROLENAME" type="VARCHAR" size="20"/>
+ <column name="ROLENAME" type="VARCHAR" size="150"/>
<foreign-key foreignTable="PERSON">
<reference local="PERSON_ID" foreign="ID"/>
</foreign-key>
@@ -170,34 +170,23 @@
</foreign-key>
</table>
- <table name="TASK">
- <column name="TASK_ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="PERSON_ID" required="true" type="INTEGER"/>
- <column name="PROJECT_ID" required="true" type="INTEGER"/>
- <column name="TASKNAME" type="VARCHAR" size="20"/>
- <foreign-key foreignTable="PERSON_PROJECT">
- <reference local="PERSON_ID" foreign="PERSON_ID"/>
- <reference local="PROJECT_ID" foreign="PROJECT_ID"/>
- </foreign-key>
- </table>
-
<table name="FAMILY_MEMBER">
<column name="ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="FIRSTNAME" type="VARCHAR" size="50"/>
- <column name="LASTNAME" type="VARCHAR" size="50"/>
+ <column name="FIRSTNAME" type="VARCHAR" size="150"/>
+ <column name="LASTNAME" type="VARCHAR" size="150"/>
<column name="MOTHER_ID" type="INTEGER"/>
<column name="FATHER_ID" type="INTEGER"/>
</table>
<table name="LOCKED_BY_VERSION">
<column name="ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="VALUE_" type="VARCHAR" size="60"/>
+ <column name="VALUE_" type="VARCHAR" size="150"/>
<column name="VERSION_" type="INTEGER"/>
</table>
<table name="LOCKED_BY_TIMESTAMP">
<column name="ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="VALUE_" type="VARCHAR" size="60"/>
+ <column name="VALUE_" type="VARCHAR" size="150"/>
<column name="TIMESTAMP_" type="TIMESTAMP"/>
</table>
@@ -238,7 +227,7 @@
<table name="GRAPH_NODE">
<column name="ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="NAME" required="true" type="VARCHAR" size="50"/>
+ <column name="NAME" required="true" type="VARCHAR" size="150"/>
<column name="LOCATION" type="INTEGER"/>
</table>
@@ -250,20 +239,20 @@
<table name="TestClassA">
<column name="id" required="true" primaryKey="true" type="VARCHAR" size="48"/>
- <column name="value1" required="false" type="VARCHAR" size="64"/>
- <column name="value2" required="false" type="VARCHAR" size="64"/>
+ <column name="value1" required="false" type="VARCHAR" size="150"/>
+ <column name="value2" required="false" type="VARCHAR" size="150"/>
<column name="value3" required="true" type="INTEGER" />
<column name="bOid" required="false" type="VARCHAR" size="48"/>
</table>
<table name="TestClassB">
<column name="id" required="true" primaryKey="true" type="VARCHAR" size="48"/>
- <column name="value1" required="false" type="VARCHAR" size="64"/>
+ <column name="value1" required="false" type="VARCHAR" size="150"/>
<column name="aOid" required="false" type="VARCHAR" size="48"/>
</table>
<table name="RelatedToContract">
<column name="pk" required="true" primaryKey="true" type="VARCHAR" size="48"/>
- <column name="relatedValue1" required="false" type="VARCHAR" size="64"/>
+ <column name="relatedValue1" required="false" type="VARCHAR" size="150"/>
<column name="relatedValue2" required="false" type="INTEGER"/>
<column name="relatedValue3" required="false" type="TIMESTAMP"/>
</table>
No revision
No revision
1.8.2.3 +100 -38 db-ojb/src/test/org/apache/ojb/broker/BatchModeTest.java
Index: BatchModeTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/BatchModeTest.java,v
retrieving revision 1.8.2.2
retrieving revision 1.8.2.3
diff -u -r1.8.2.2 -r1.8.2.3
--- BatchModeTest.java 6 Dec 2004 14:51:19 -0000 1.8.2.2
+++ BatchModeTest.java 12 Dec 2004 01:35:12 -0000 1.8.2.3
@@ -23,7 +23,6 @@
public class BatchModeTest extends PBTestCase
{
private static long timestamp = System.currentTimeMillis();
- private boolean oldState;
public BatchModeTest(String testName)
{
@@ -44,83 +43,102 @@
public void setUp() throws Exception
{
super.setUp();
- oldState = broker.serviceConnectionManager().isBatchMode();
broker.serviceConnectionManager().setBatchMode(true);
+ // lookup connection to enable batch mode
+ broker.serviceConnectionManager().getConnection();
}
- public void tearDown() throws Exception
+ boolean batchModeDisabled()
{
- // OJB will automatic change state on PB.close() to 'false'
- // so this is not needed
- broker.serviceConnectionManager().setBatchMode(oldState);
- super.tearDown();
+ if(broker.serviceConnectionManager().isBatchMode())
+ {
+ return false;
+ }
+ else
+ {
+ System.out.println("[" + BatchModeTest.class.getName() + "] Skip test, batch mode was not enabled or supported");
+ return true;
+ }
}
+
/**
* A common (no specific batch) test
*/
- public void testEquals() throws Exception
+ public void testDelete()
{
+ if(batchModeDisabled()) return;
+
long pk = getNewId();
- String nameMain = "testEquals_Main_" + pk;
- String nameSub = "testEquals_Sub_" + pk;
+ String nameMain = "testDelete_Main_" + pk;
+ String nameSub = "testDelete_Sub_" + pk;
MainObject main1 = new MainObject(pk, nameMain);
+ SubObject sub = new SubObject(nameSub);
+ main1.add(sub);
main1.add(new SubObject(nameSub));
- MainObject main2 = new MainObject(pk, nameMain );
- main2.add(new SubObject(nameSub));
broker.beginTransaction();
broker.store(main1);
- // delete object before add new instance with same PK
+ Identity oid_main = broker.serviceIdentity().buildIdentity(main1);
+ Identity oid_sub = broker.serviceIdentity().buildIdentity(sub);
broker.delete(main1);
- broker.store(main2);
broker.commitTransaction();
- // new PB instance
- super.tearDown();
- super.setUp();
-
- MainObject main3 = new MainObject(pk, nameMain);
- main3.add(new SubObject(nameSub));
- Identity oid = new Identity(main1, broker);
- broker.clearCache();
- MainObject main4 = (MainObject) broker.getObjectByIdentity(oid);
+ MainObject newMain = (MainObject) broker.getObjectByIdentity(oid_main);
+ assertNull(newMain);
+ SubObject newSub = (SubObject) broker.getObjectByIdentity(oid_sub);
+ assertNull(newSub);
- assertEquals(main3, main4);
+ Criteria crit = new Criteria();
+ crit.addLike("name", nameSub);
+ Query q = QueryFactory.newQuery(SubObject.class, crit);
+ Collection result = broker.getCollectionByQuery(q);
+ assertEquals(0, result.size());
}
/**
* A common (no specific batch) test
*/
- public void testDelete()
+ public void testEquals() throws Exception
{
+ if(batchModeDisabled()) return;
+
long pk = getNewId();
- String nameMain = "testDelete_Main_" + pk;
- String nameSub = "testDelete_Sub_" + pk;
+ String nameMain = "testEquals_Main_" + pk;
+ String nameSub = "testEquals_Sub_" + pk;
MainObject main1 = new MainObject(pk, nameMain);
main1.add(new SubObject(nameSub));
- main1.add(new SubObject(nameSub));
+ MainObject main2 = new MainObject(pk, nameMain);
+ main2.add(new SubObject(nameSub));
broker.beginTransaction();
broker.store(main1);
+ // delete object before add new instance with same PK
broker.delete(main1);
+ broker.store(main2);
broker.commitTransaction();
- Identity oid = new Identity(main1, broker);
- MainObject newMain = (MainObject) broker.getObjectByIdentity(oid);
- assertNull(newMain);
- Criteria crit = new Criteria();
- crit.addLike("name", nameSub);
- Query q = QueryFactory.newQuery(SubObject.class, crit);
- Collection result = broker.getCollectionByQuery(q);
- assertEquals(0, result.size());
+ // new PB instance
+ super.tearDown();
+ super.setUp();
+
+ MainObject main3 = new MainObject(pk, nameMain);
+ main3.add(new SubObject(nameSub));
+
+ Identity oid = broker.serviceIdentity().buildIdentity(main1);
+ broker.clearCache();
+ MainObject main4 = (MainObject) broker.getObjectByIdentity(oid);
+
+ assertEquals(main3, main4);
}
public void testDeleteInsert()
{
+ if(batchModeDisabled()) return;
+
long pk = getNewId();
String nameMain = "testDeleteInsert_Main_" + pk;
String nameSub = "testDeleteInsert_Sub_" + pk;
@@ -133,7 +151,7 @@
// enable batch mode before start tx
broker.serviceConnectionManager().setBatchMode(true);
- Identity oid = new Identity(main1, broker);
+ Identity oid = broker.serviceIdentity().buildIdentity(main1);
broker.beginTransaction();
broker.delete(main1);
MainObject main2 = new MainObject(pk, nameMain);
@@ -151,6 +169,8 @@
public void testBatchStatementsOrder()
{
+ if(batchModeDisabled()) return;
+
String name = "testBatchStatementsOrder_" + System.currentTimeMillis();
ConnectionManagerIF conMan = broker.serviceConnectionManager();
// try to enable batch mode
@@ -219,6 +239,8 @@
*/
public void testBatchStatementsOrder2()
{
+ if(batchModeDisabled()) return;
+
ConnectionManagerIF conMan = broker.serviceConnectionManager();
broker.beginTransaction();
@@ -278,6 +300,8 @@
public void testMassInsertDelete()
{
+ if(batchModeDisabled()) return;
+
String name = "testMassInsert_" + System.currentTimeMillis();
broker.serviceConnectionManager().setBatchMode(true);
@@ -285,7 +309,7 @@
for(int i = 200 - 1; i >= 0; i--)
{
Person p = new Person();
- p.setFirstname("a mass test");
+ p.setFirstname("a mass test_" + i);
p.setLastname(name);
broker.store(p);
}
@@ -313,6 +337,8 @@
public void testBatchModeDeclaration() throws Exception
{
+ if(batchModeDisabled()) return;
+
String name = "testBatchModeDeclaration_" + System.currentTimeMillis();
broker.serviceConnectionManager().setBatchMode(true);
@@ -366,6 +392,42 @@
broker.serviceConnectionManager().setBatchMode(true);
broker.serviceConnectionManager().getConnection();
broker.abortTransaction();
+ }
+
+ /**
+ * A common (no specific batch) test
+ */
+ public void testStoreDeleteStore()
+ {
+ if(batchModeDisabled()) return;
+
+ long pk = getNewId();
+ String nameMain = "testDelete_Main_" + pk;
+ String nameSub = "testDelete_Sub_" + pk;
+
+ MainObject main1 = new MainObject(pk, nameMain);
+ main1.add(new SubObject(nameSub));
+ main1.add(new SubObject(nameSub));
+
+ broker.beginTransaction();
+ broker.store(main1);
+ broker.delete(main1);
+ broker.store(main1);
+ broker.delete(main1);
+ broker.store(main1);
+ broker.commitTransaction();
+
+ Identity oid = broker.serviceIdentity().buildIdentity(main1);
+ broker.clearCache();
+ MainObject newMain = (MainObject) broker.getObjectByIdentity(oid);
+ assertNotNull(newMain);
+ assertEquals(2, newMain.getSubObjects().size());
+ broker.clearCache();
+ Criteria crit = new Criteria();
+ crit.addLike("name", nameSub);
+ Query q = QueryFactory.newQuery(SubObject.class, crit);
+ Collection result = broker.getCollectionByQuery(q);
+ assertEquals(2, result.size());
}
1.1.2.2 +2 -2 db-ojb/src/test/org/apache/ojb/broker/Attic/OptimisticLockingMultithreadedTest.java
Index: OptimisticLockingMultithreadedTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/Attic/OptimisticLockingMultithreadedTest.java,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- OptimisticLockingMultithreadedTest.java 4 Dec 2004 14:01:07 -0000 1.1.2.1
+++ OptimisticLockingMultithreadedTest.java 12 Dec 2004 01:35:12 -0000 1.1.2.2
@@ -201,7 +201,7 @@
{
token = "-";
}
- if (obj.getValue().length() < 150)
+ if (obj.getValue().length() < 120)
{
obj.setValue(obj.getValue() + token + threadNumber);
}
1.61.2.7 +358 -237 db-ojb/src/test/org/apache/ojb/broker/QueryTest.java
Index: QueryTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/QueryTest.java,v
retrieving revision 1.61.2.6
retrieving revision 1.61.2.7
diff -u -r1.61.2.6 -r1.61.2.7
--- QueryTest.java 4 Dec 2004 14:01:07 -0000 1.61.2.6
+++ QueryTest.java 12 Dec 2004 01:35:12 -0000 1.61.2.7
@@ -27,8 +27,8 @@
public class QueryTest extends PBTestCase
{
/**
- * BrokerTests constructor comment.
- */
+ * BrokerTests constructor comment.
+ */
public QueryTest(String name)
{
super(name);
@@ -44,7 +44,7 @@
{
String name = "testQueryZero_" + System.currentTimeMillis();
ObjectRepository.Group group = new ObjectRepository.Group();
- group.setId(new Integer(0));
+ group.setId(new Integer(0));
group.setName(name);
// prepare test
@@ -54,8 +54,8 @@
broker.commitTransaction();
broker.clearCache();
- QueryByCriteria query = new QueryByCriteria(group);
- ObjectRepository.Group newGroup = ( ObjectRepository.Group ) broker.getObjectByQuery(query);
+ QueryByCriteria query = new QueryByCriteria(group);
+ ObjectRepository.Group newGroup = (ObjectRepository.Group) broker.getObjectByQuery(query);
assertNull(newGroup);
broker.beginTransaction();
@@ -63,18 +63,18 @@
broker.commitTransaction();
ObjectRepository.Group groupTemp = new ObjectRepository.Group();
- groupTemp.setId(new Integer(0));
+ groupTemp.setId(new Integer(0));
Query queryNew = QueryFactory.newQuery(groupTemp);
- newGroup = ( ObjectRepository.Group ) broker.getObjectByQuery(queryNew);
+ newGroup = (ObjectRepository.Group) broker.getObjectByQuery(queryNew);
assertNotNull(newGroup);
assertEquals(new Integer(0), newGroup.getId());
- newGroup = ( ObjectRepository.Group ) broker.getObjectByQuery(queryNew);
+ newGroup = (ObjectRepository.Group) broker.getObjectByQuery(queryNew);
assertNotNull(newGroup);
assertEquals(new Integer(0), newGroup.getId());
broker.clearCache();
- newGroup = ( ObjectRepository.Group ) broker.getObjectByQuery(queryNew);
+ newGroup = (ObjectRepository.Group) broker.getObjectByQuery(queryNew);
assertNotNull(newGroup);
assertEquals(new Integer(0), newGroup.getId());
}
@@ -84,14 +84,33 @@
*/
public void testCriteria()
{
+ String name = "testCriteria_" + System.currentTimeMillis();
+ Person p1 = new Person();
+ p1.setFirstname("tomm");
+ p1.setLastname(name);
+
+ Person p2 = new Person();
+ p2.setFirstname("tom");
+ p2.setLastname(name);
+
+ Person p3 = new Person();
+ p3.setFirstname("xtom");
+ p3.setLastname(name);
+
+ broker.beginTransaction();
+ broker.store(p1);
+ broker.store(p2);
+ broker.store(p3);
+ broker.commitTransaction();
+
Criteria crit1 = new Criteria();
Criteria crit2 = new Criteria();
Criteria crit3 = new Criteria();
- crit2.addEqualTo("lastname","tom");
- crit2.setNegative(true);
+ crit2.addEqualTo("lastname", name);
+ crit2.setNegative(false);
- crit3.addEqualTo("firstname","tom");
+ crit3.addEqualTo("firstname", "tom");
crit3.setNegative(true);
crit1.addAndCriteria(crit2);
@@ -101,12 +120,12 @@
Collection results = broker.getCollectionByQuery(q);
// all persons except tom
- assertEquals(results.size(), 9);
+ assertEquals(2, results.size());
}
/**
- * test EqualTo Criteria
- */
+ * test EqualTo Criteria
+ */
public void testEqualCriteria()
{
Criteria crit = new Criteria();
@@ -119,11 +138,11 @@
}
/**
- * test sql Criteria
- */
+ * test sql Criteria
+ */
public void testSqlCriteria()
{
- Criteria crit;
+ Criteria crit;
Query q;
Collection results;
@@ -138,7 +157,7 @@
// sql plus attribute
crit = new Criteria();
crit.addSql("upper(firstname) = 'TOM'");
- crit.addEqualTo("id",new Integer(1));
+ crit.addEqualTo("id", new Integer(1));
q = QueryFactory.newQuery(Person.class, crit);
results = broker.getCollectionByQuery(q);
@@ -146,21 +165,21 @@
// attribute plus sql
crit = new Criteria();
- crit.addEqualTo("upper(firstname)","TOM");
+ crit.addEqualTo("upper(firstname)", "TOM");
crit.addSql("id = 1");
q = QueryFactory.newQuery(Person.class, crit);
results = broker.getCollectionByQuery(q);
int size3 = results.size();
-
+
assertTrue(size2 == size1);
assertTrue(size3 == size2);
}
-
+
/**
- * test OrderBy and Count
- */
+ * test OrderBy and Count
+ */
public void testOrderByCount()
{
Criteria crit = new Criteria();
@@ -174,15 +193,50 @@
// compare with count
int count = broker.getCount(q);
- assertEquals(results.size(), count);
+ assertEquals(results.size(), count);
}
/**
- * test OrderBy joined column
- */
+ * test OrderBy joined column
+ */
public void testOrderByJoined()
{
+ String name = "testOrderByJoined" + System.currentTimeMillis();
+ Person p = new Person();
+ p.setFirstname("tom");
+ p.setLastname(name);
+
+ Project p1 = new Project();
+ p1.setTitle(name);
+ ArrayList list_1 = new ArrayList();
+ list_1.add(p);
+ p1.setPersons(list_1);
+
+ Project p2 = new Project();
+ p2.setTitle(name);
+ ArrayList list_2 = new ArrayList();
+ list_2.add(p);
+ p2.setPersons(list_2);
+
+ ArrayList list_projects = new ArrayList();
+ list_projects.add(p1);
+ list_projects.add(p2);
+ p.setProjects(list_projects);
+
+ Project p3 = new Project();
+ p3.setTitle(name);
+ ArrayList list_3 = new ArrayList();
+ // empty list
+ p3.setPersons(list_3);
+
+ broker.beginTransaction();
+ broker.store(p1);
+ //broker.store(p2);
+ //broker.store(p3);
+ broker.commitTransaction();
+
Criteria crit = new Criteria();
+ crit.addLike("title", name);
QueryByCriteria q = QueryFactory.newQuery(Project.class, crit);
q.addOrderByAscending("title");
q.addOrderByAscending("persons.lastname");
@@ -190,18 +244,18 @@
Collection results = broker.getCollectionByQuery(q);
assertNotNull(results);
- assertTrue(results.size() == 14);
-
+ assertEquals(2, results.size());
+
// compare with count
int count = broker.getCount(q);
- assertEquals(results.size(), count);
+ assertEquals(results.size(), count);
}
/**
- * test Subquery get all product groups without articles
- *
- * test may fail if db does not support sub queries
- */
+ * test Subquery get all product groups without articles
+ * <p/>
+ * test may fail if db does not support sub queries
+ */
public void testSubQuery2()
{
Collection results = null;
@@ -209,7 +263,7 @@
int loops = 10;
// create ProductGroups without article
broker.beginTransaction();
- for (int i = 0; i < loops; i++)
+ for(int i = 0; i < loops; i++)
{
ProductGroup pg = new ProductGroup();
pg.setGroupName("test group " + stamp);
@@ -223,7 +277,7 @@
Criteria crit = new Criteria();
subQuery = QueryFactory.newReportQuery(Article.class, subCrit);
- subQuery.setAttributes(new String[] { "productGroupId" });
+ subQuery.setAttributes(new String[]{"productGroupId"});
subQuery.setDistinct(true);
crit.addEqualTo("groupName", "test group " + stamp);
@@ -238,11 +292,11 @@
}
/**
- * test Subquery get all articles with price > avg(price) PROBLEM:
- * avg(price) is NOT extent aware !!
- *
- * test may fail if db does not support sub queries
- */
+ * test Subquery get all articles with price > avg(price) PROBLEM:
+ * avg(price) is NOT extent aware !!
+ * <p/>
+ * test may fail if db does not support sub queries
+ */
public void testSubQuery1()
{
@@ -252,7 +306,7 @@
subCrit.addLike("articleName", "A%");
subQuery = QueryFactory.newReportQuery(Article.class, subCrit);
- subQuery.setAttributes(new String[] { "avg(price)" });
+ subQuery.setAttributes(new String[]{"avg(price)"});
crit.addGreaterOrEqualThan("price", subQuery);
Query q = QueryFactory.newQuery(Article.class, crit);
@@ -264,11 +318,11 @@
}
/**
- * test Subquery get all product groups with more than 10 articles, uses
- * attribute as value ! see testSubQuery4 for a better way
- *
- * test may fail if db does not support sub queries
- */
+ * test Subquery get all product groups with more than 10 articles, uses
+ * attribute as value ! see testSubQuery4 for a better way
+ * <p/>
+ * test may fail if db does not support sub queries
+ */
public void testSubQuery3()
{
@@ -278,10 +332,10 @@
subCrit.addEqualToField("productGroupId", Criteria.PARENT_QUERY_PREFIX + "groupId");
subQuery = QueryFactory.newReportQuery(Article.class, subCrit);
- subQuery.setAttributes(new String[] { "count(productGroupId)" });
+ subQuery.setAttributes(new String[]{"count(productGroupId)"});
crit.addLessThan("10", subQuery); // MORE than 10 articles, uses
- // attribute as value !
+ // attribute as value !
crit.addLessThan("groupId", new Integer(987654));
Query q = QueryFactory.newQuery(ProductGroup.class, crit);
@@ -291,10 +345,10 @@
}
/**
- * test Subquery get all product groups with more than 10 articles
- *
- * test may fail if db does not support sub queries
- */
+ * test Subquery get all product groups with more than 10 articles
+ * <p/>
+ * test may fail if db does not support sub queries
+ */
public void testSubQuery4()
{
@@ -304,7 +358,7 @@
subCrit.addEqualToField("productGroupId", Criteria.PARENT_QUERY_PREFIX + "groupId");
subQuery = QueryFactory.newReportQuery(Article.class, subCrit);
- subQuery.setAttributes(new String[] { "count(productGroupId)" });
+ subQuery.setAttributes(new String[]{"count(productGroupId)"});
crit.addGreaterThan(subQuery, "10"); // MORE than 10 articles
crit.addLessThan("groupId", new Integer(987654));
@@ -316,8 +370,8 @@
}
/**
- * test Like Criteria
- */
+ * test Like Criteria
+ */
public void testLikeCriteria()
{
@@ -373,21 +427,32 @@
}
/**
- * test Null Criteria
- */
+ * test Null Criteria
+ */
public void testNullCriteria()
{
+ String name = "testNullCriteria_" + System.currentTimeMillis();
+ Person p = new Person();
+ p.setLastname(name);
+ broker.beginTransaction();
+ broker.store(p);
+ broker.commitTransaction();
+
Criteria crit = new Criteria();
crit.addIsNull("firstname");
+ Criteria crit2 = new Criteria();
+ crit2.addLike("lastname", name);
+ crit.addAndCriteria(crit2);
+
Query q = QueryFactory.newQuery(Person.class, crit);
Collection results = broker.getCollectionByQuery(q);
assertNotNull(results);
- assertTrue(results.size() == 0);
+ assertEquals(1, results.size());
}
/**
- * Add an empty criteria
+ * Add an empty criteria
*/
public void testEmptyORed() throws Exception
{
@@ -409,7 +474,7 @@
}
/**
- * Add an empty criteria
+ * Add an empty criteria
*/
public void testEmptyANDed() throws Exception
{
@@ -429,10 +494,10 @@
int count = broker.getCount(q);
assertEquals(count, result.size());
}
-
+
/**
- * test Between Criteria
- */
+ * test Between Criteria
+ */
public void testBetweenCriteria()
{
@@ -450,8 +515,8 @@
}
/**
- * test In Criteria
- */
+ * test In Criteria
+ */
public void testInCriteria()
{
@@ -474,18 +539,16 @@
}
/**
- * Single Path Expression
- */
+ * Single Path Expression
+ */
public void testPathExpressions()
{
Criteria crit = new Criteria();
crit.addEqualTo("productGroup.groupName", "Liquors");
Query q = QueryFactory.newQuery(Article.class, crit);
- //System.out.println(q.toString());
Collection results = broker.getCollectionByQuery(q);
- //System.out.println(results.toString());
assertNotNull(results);
assertTrue(results.size() > 0);
@@ -495,8 +558,8 @@
}
/**
- * Multi Path Expression over decomposed m:n
- */
+ * Multi Path Expression over decomposed m:n
+ */
public void testPathExpressionsMtoNDecomposed()
{
@@ -511,8 +574,8 @@
}
/**
- * Multi Path Expression over nondecomposed m:n
- */
+ * Multi Path Expression over nondecomposed m:n
+ */
public void testPathExpressionsMtoN()
{
@@ -526,9 +589,9 @@
}
/**
- * Multi Path Expression over nondecomposed m:n new test case for the 'not
- * unique alias' problem with m:n relationship
- */
+ * Multi Path Expression over nondecomposed m:n new test case for the 'not
+ * unique alias' problem with m:n relationship
+ */
public void testPathExpressionsMtoN2()
{
Criteria crit = new Criteria();
@@ -582,30 +645,49 @@
}
/**
- * Simple ReportQuery returning rows with 3 columns of Person
- */
+ * Simple ReportQuery returning rows with 3 columns of Person
+ */
public void testReportQuery()
{
+ String name = "testReportQuery_" + System.currentTimeMillis();
+ Person p1 = new Person();
+ p1.setFirstname("Robert");
+ p1.setLastname(name);
+ Person p2 = new Person();
+ p2.setFirstname("Tom");
+ p2.setLastname(name);
+ Person p3 = new Person();
+ p3.setFirstname("Roger");
+ p3.setLastname(name);
+ broker.beginTransaction();
+ broker.store(p1);
+ broker.store(p2);
+ broker.store(p3);
+ broker.commitTransaction();
+
Criteria crit = new Criteria();
Collection results = new Vector();
crit.addLike("firstname", "%o%");
+ Criteria crit2 = new Criteria();
+ crit2.addLike("lastname", name);
+ crit.addAndCriteria(crit2);
ReportQueryByCriteria q = QueryFactory.newReportQuery(Person.class, crit);
- q.setAttributes(new String[] { "id", "firstname", "count(*)" });
- q.addGroupBy(new String[] { "id", "firstname" });
+ q.setAttributes(new String[]{"id", "firstname", "count(*)"});
+ q.addGroupBy(new String[]{"id", "firstname"});
Iterator iter = broker.getReportQueryIteratorByQuery(q);
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
- Object[] row = (Object[])iter.next();
+ Object[] row = (Object[]) iter.next();
assertEquals(row.length, 3);
results.add(row);
}
- assertEquals(results.size(), 5);
+ assertEquals(3, results.size());
// compare with count
int count = broker.getCount(q);
@@ -613,58 +695,97 @@
}
/**
- * Simple ReportQuery returning rows with max(id) of Person grouped by not selected columns
- */
+ * Simple ReportQuery returning rows with max(id) of Person grouped by not selected columns
+ */
public void testReportQueryGroupByNonSelectColumns()
{
+ String name = "testReportQueryGroupByNonSelectColumns_" + System.currentTimeMillis();
+ Person p1 = new Person();
+ p1.setFirstname("Robert");
+ p1.setLastname(name);
+ Person p2 = new Person();
+ p2.setFirstname("Tom");
+ p2.setLastname(name);
+ Person p3 = new Person();
+ p3.setFirstname("Roger");
+ p3.setLastname(name);
+ broker.beginTransaction();
+ broker.store(p1);
+ broker.store(p2);
+ broker.store(p3);
+ broker.commitTransaction();
Criteria crit = new Criteria();
Collection results = new Vector();
+ crit.addLike("firstname", "%o%");
+ Criteria crit2 = new Criteria();
+ crit2.addLike("lastname", name);
+ crit.addAndCriteria(crit2);
ReportQueryByCriteria q = QueryFactory.newReportQuery(Person.class, crit);
- q.setAttributes(new String[] { "max(id)" });
- q.addGroupBy(new String[] { "lastname", "firstname" });
+ q.setAttributes(new String[]{"max(id)"});
+ q.addGroupBy(new String[]{"lastname", "firstname"});
Iterator iter = broker.getReportQueryIteratorByQuery(q);
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
- Object[] row = (Object[])iter.next();
+ Object[] row = (Object[]) iter.next();
assertEquals(row.length, 1);
results.add(row);
}
- assertEquals(results.size(), 10);
+ assertEquals(3, results.size());
// compare with count
int count = broker.getCount(q);
assertEquals(results.size(), count);
}
-
+
/**
* Simple ReportQuery returning rows with 3 columns of Person
* Type of column data defined by sqltypes
+ *
* @see java.sql.Types
*/
public void testReportQueryWithJdbcTypes()
{
+ String name = "testReportQuery_" + System.currentTimeMillis();
+ Person p1 = new Person();
+ p1.setFirstname("Robert");
+ p1.setLastname(name);
+ Person p2 = new Person();
+ p2.setFirstname("Tom");
+ p2.setLastname(name);
+ Person p3 = new Person();
+ p3.setFirstname("Roger");
+ p3.setLastname(name);
+ broker.beginTransaction();
+ broker.store(p1);
+ broker.store(p2);
+ broker.store(p3);
+ broker.commitTransaction();
+
+ int types[] = new int[]{Types.DECIMAL, Types.VARCHAR, Types.BIGINT};
Criteria crit = new Criteria();
Collection results = new Vector();
- int types[] = new int[]{Types.DECIMAL, Types.VARCHAR, Types.BIGINT};
-
crit.addLike("firstname", "%o%");
+ Criteria crit2 = new Criteria();
+ crit2.addLike("lastname", name);
+ crit.addAndCriteria(crit2);
+
ReportQueryByCriteria q = QueryFactory.newReportQuery(Person.class, crit);
- q.setAttributes(new String[] { "id", "firstname", "count(*)" });
- q.addGroupBy(new String[] { "id", "firstname" });
+ q.setAttributes(new String[]{"id", "firstname", "count(*)"});
+ q.addGroupBy(new String[]{"id", "firstname"});
q.setJdbcTypes(types);
Iterator iter = broker.getReportQueryIteratorByQuery(q);
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
- Object[] row = (Object[])iter.next();
+ Object[] row = (Object[]) iter.next();
assertEquals(row.length, 3);
// assertEquals(row[0].getClass(), BigDecimal.class);
@@ -674,14 +795,14 @@
results.add(row);
}
- assertEquals(results.size(), 5);
+ assertEquals(3, results.size());
}
/**
- * Simple ReportQuery returning rows with 2 columns of Person
+ * Simple ReportQuery returning rows with 2 columns of Person
* needs SQL paging
- */
+ */
public void _testReportQueryWithStartAndEnd()
{
@@ -689,15 +810,15 @@
Collection results = new Vector();
crit.addLike("firstname", "%o%");
ReportQueryByCriteria q = QueryFactory.newReportQuery(Person.class, crit);
- q.setAttributes(new String[] { "id", "firstname", "count(*)" });
- q.addGroupBy(new String[] { "id", "firstname" });
+ q.setAttributes(new String[]{"id", "firstname", "count(*)"});
+ q.addGroupBy(new String[]{"id", "firstname"});
q.setStartAtIndex(3);
q.setEndAtIndex(5);
Iterator iter = broker.getReportQueryIteratorByQuery(q);
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
results.add(iter.next());
}
@@ -706,8 +827,8 @@
}
/**
- * Simple ReportQuery returning rows with 2 columns of Person
- */
+ * Simple ReportQuery returning rows with 2 columns of Person
+ */
public void testReportQueryExtent()
{
@@ -715,12 +836,12 @@
Collection results = new Vector();
crit.addLike("articleName", "%o%");
ReportQueryByCriteria q = QueryFactory.newReportQuery(Article.class, crit);
- q.setAttributes(new String[] { "articleId", "articleName", "price" });
+ q.setAttributes(new String[]{"articleId", "articleName", "price"});
Iterator iter = broker.getReportQueryIteratorByQuery(q);
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
results.add(iter.next());
}
@@ -736,7 +857,7 @@
*/
public void testSubQueryAgainstConcreteClass()
{
- String name = "testSubQueryAgainstConcreteClass_"+System.currentTimeMillis();
+ String name = "testSubQueryAgainstConcreteClass_" + System.currentTimeMillis();
Article article = new BookArticle();
article.setArticleName(name);
ProductGroup group = new ProductGroup();
@@ -753,16 +874,16 @@
critSub.addEqualTo("articleName", name);
ReportQueryByCriteria querySub = QueryFactory.newReportQuery(BookArticle.class, critSub);
- querySub.setAttributes(new String[] { "productGroupId"});
+ querySub.setAttributes(new String[]{"productGroupId"});
ReportQueryByCriteria queryMain = QueryFactory.newReportQuery(AbstractProductGroup.class, critMain);
- queryMain.setAttributes(new String[] { "groupId", "groupName"});
+ queryMain.setAttributes(new String[]{"groupId", "groupName"});
critMain.addIn("groupId", querySub);
Iterator iter = broker.getReportQueryIteratorByQuery(queryMain);
int result = 0;
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
iter.next();
++result;
@@ -780,40 +901,40 @@
*/
public void testSubQueryAgainstExtents()
{
- String name = "testSubQueryAgainstExtents_"+System.currentTimeMillis();
+ String name = "testSubQueryAgainstExtents_" + System.currentTimeMillis();
Article article = new BookArticle();
article.setArticleName(name);
ProductGroup group = new ProductGroup();
group.setGroupName(name);
article.setProductGroup(group);
-
+
broker.beginTransaction();
broker.store(group);
broker.store(article);
broker.commitTransaction();
-
+
Criteria critMain = new Criteria();
Criteria critSub = new Criteria();
-
+
critSub.addEqualTo("articleName", name);
ReportQueryByCriteria querySub = QueryFactory.newReportQuery(Article.class, critSub);
- querySub.setAttributes(new String[] { "productGroupId"});
+ querySub.setAttributes(new String[]{"productGroupId"});
Iterator subIter = broker.getReportQueryIteratorByQuery(querySub);
Collection subIds = new ArrayList();
- while (subIter.hasNext())
+ while(subIter.hasNext())
{
- Object[] id = (Object[])subIter.next();
+ Object[] id = (Object[]) subIter.next();
subIds.add(id[0]);
}
-
+
ReportQueryByCriteria queryMain = QueryFactory.newReportQuery(AbstractProductGroup.class, critMain);
- queryMain.setAttributes(new String[] { "groupId", "groupName"});
+ queryMain.setAttributes(new String[]{"groupId", "groupName"});
critMain.addIn("groupId", subIds);
-
+
Iterator iter = broker.getReportQueryIteratorByQuery(queryMain);
int result = 0;
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
iter.next();
++result;
@@ -824,7 +945,7 @@
int count = broker.getCount(queryMain);
assertEquals(result, count);
}
-
+
/**
* ReportQuery with pathExpression in columns
*/
@@ -834,12 +955,12 @@
Collection results = new Vector();
crit.addLike("articleName", "C%");
ReportQueryByCriteria q = QueryFactory.newReportQuery(Article.class, crit);
- q.setAttributes(new String[] { "productGroup.groupName","articleId", "articleName", "price" });
+ q.setAttributes(new String[]{"productGroup.groupName", "articleId", "articleName", "price"});
Iterator iter = broker.getReportQueryIteratorByQuery(q);
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
results.add(iter.next());
}
@@ -852,8 +973,8 @@
}
/**
- * ReportQuery returning rows with some "Liquor" data ordered by price
- */
+ * ReportQuery returning rows with some "Liquor" data ordered by price
+ */
public void testReportQueryOrderBy()
{
@@ -861,12 +982,12 @@
Collection results = new Vector();
crit.addEqualTo("productGroup.groupName", "Liquors");
ReportQueryByCriteria q = QueryFactory.newReportQuery(Article.class, crit);
- q.setAttributes(new String[] { "articleId", "articleName", "price" });
+ q.setAttributes(new String[]{"articleId", "articleName", "price"});
q.addOrderByAscending("price");
Iterator iter = broker.getReportQueryIteratorByQuery(q);
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
results.add(iter.next());
}
@@ -888,12 +1009,12 @@
Collection results = new Vector();
crit.addEqualTo("productGroup.groupName", "Liquors");
ReportQueryByCriteria q = QueryFactory.newReportQuery(Article.class, crit);
- q.setAttributes(new String[] { "articleId", "articleName", "price" });
+ q.setAttributes(new String[]{"articleId", "articleName", "price"});
q.addOrderByAscending("productGroup.groupId");
Iterator iter = broker.getReportQueryIteratorByQuery(q);
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
results.add(iter.next());
}
@@ -906,16 +1027,16 @@
}
/**
- * ReportQuery returning rows with summed stock and price per article group
- * The selected columns point to a class having extents.<br>
- * The query produces a wrong sql, selecting only rows of the top-class
- */
+ * ReportQuery returning rows with summed stock and price per article group
+ * The selected columns point to a class having extents.<br>
+ * The query produces a wrong sql, selecting only rows of the top-class
+ */
public void testReportQueryGroupByExtents2()
{
Criteria crit = new Criteria();
Collection results = new Vector();
ReportQueryByCriteria q = QueryFactory.newReportQuery(ProductGroup.class, crit);
- q.setAttributes(new String[] { "groupName", "sum(allArticlesInGroup.stock)", "sum(allArticlesInGroup.price)" });
+ q.setAttributes(new String[]{"groupName", "sum(allArticlesInGroup.stock)", "sum(allArticlesInGroup.price)"});
q.addGroupBy("groupName");
Iterator iter = broker.getReportQueryIteratorByQuery(q);
@@ -928,7 +1049,7 @@
// GROUP BY A0.KategorieName
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
results.add(iter.next());
}
@@ -940,17 +1061,17 @@
}
/**
- * ReportQuery returning rows with summed stock and price per article group
- * The selected class has the extents.<br>
- * The query returns summed values for each row, so there may be multiple rows
- * for one productgroup because one query for each extent is executed.
- */
+ * ReportQuery returning rows with summed stock and price per article group
+ * The selected class has the extents.<br>
+ * The query returns summed values for each row, so there may be multiple rows
+ * for one productgroup because one query for each extent is executed.
+ */
public void testReportQueryGroupByExtents1()
{
Criteria crit = new Criteria();
Collection results = new Vector();
ReportQueryByCriteria q = QueryFactory.newReportQuery(Article.class, crit);
- q.setAttributes(new String[] { "productGroup.groupName", "sum(stock)", "sum(price)" });
+ q.setAttributes(new String[]{"productGroup.groupName", "sum(stock)", "sum(price)"});
q.addGroupBy("productGroup.groupName");
Iterator iter = broker.getReportQueryIteratorByQuery(q);
@@ -971,7 +1092,7 @@
// GROUP BY A1.KategorieName
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
results.add(iter.next());
}
@@ -981,10 +1102,10 @@
int count = broker.getCount(q);
// assertEquals(results.size(), count); // FAILS !
}
-
+
/**
- * Read a CD and then read the ProductGroup for the CD
- */
+ * Read a CD and then read the ProductGroup for the CD
+ */
public void testInversePathExpression()
{
QueryByCriteria query;
@@ -1018,9 +1139,9 @@
}
/**
- * prefetch Articles for ProductGroupsWithArray, Does not yet work with
- * Arrays
- */
+ * prefetch Articles for ProductGroupsWithArray, Does not yet work with
+ * Arrays
+ */
public void testPrefetchedArraySingleKey()
{
ClassDescriptor cldArticle = broker.getClassDescriptor(Article.class);
@@ -1043,7 +1164,7 @@
assertTrue(results.size() > 0);
ProductGroupWithArray pg = (ProductGroupWithArray) results.toArray()[0];
int articleSize = pg.getAllArticles().length;
- assertTrue(articleSize != 0 );
+ assertTrue(articleSize != 0);
String articleString = Arrays.asList(pg.getAllArticles()).toString();
//
@@ -1060,10 +1181,10 @@
ProductGroupWithArray pg2 = (ProductGroupWithArray) results.toArray()[0];
InterfaceArticle[] articles = pg2.getAllArticles();
assertNotNull("Array of articles should not be null!", articles);
- assertTrue("Array should contain more than 0 entries!",articles.length != 0);
+ assertTrue("Array should contain more than 0 entries!", articles.length != 0);
// force materialization
- for (int i = 0; i < articles.length; i++)
+ for(int i = 0; i < articles.length; i++)
{
articles[i].getArticleName();
}
@@ -1079,8 +1200,8 @@
}
/**
- * prefetch Articles for ProductGroups
- */
+ * prefetch Articles for ProductGroups
+ */
public void testPrefetchedCollectionSingleKey()
{
ClassDescriptor cldProductGroup = broker.getClassDescriptor(ProductGroup.class);
@@ -1130,7 +1251,7 @@
results = broker.getCollectionByQuery(q);
InterfaceProductGroup pg2 = (InterfaceProductGroup) results.toArray()[0];
// force materialization
- for (Iterator it = pg2.getAllArticles().iterator(); it.hasNext();)
+ for(Iterator it = pg2.getAllArticles().iterator(); it.hasNext();)
{
((InterfaceArticle) it.next()).getArticleName();
}
@@ -1145,8 +1266,8 @@
}
/**
- * Test nested joins using pathExpressions
- */
+ * Test nested joins using pathExpressions
+ */
public void testNestedJoins()
{
ArrayList list = new java.util.ArrayList();
@@ -1154,10 +1275,10 @@
Criteria crit = new Criteria();
ReportQueryByCriteria q = QueryFactory.newReportQuery(Person.class, crit, true);
- q.setAttributes(new String[] { "roles.roleName", "roles.project.title", "firstname", });
+ q.setAttributes(new String[]{"roles.roleName", "roles.project.title", "firstname", });
Iterator iter = broker.getReportQueryIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1166,8 +1287,8 @@
}
/**
- * Test multiple non nested joins using pathExpressions
- */
+ * Test multiple non nested joins using pathExpressions
+ */
public void testMultipleJoins()
{
ArrayList list = new java.util.ArrayList();
@@ -1175,10 +1296,10 @@
Criteria crit = new Criteria();
ReportQueryByCriteria q = QueryFactory.newReportQuery(Role.class, crit, true);
- q.setAttributes(new String[] { "roleName", "project.title", "person.firstname", });
+ q.setAttributes(new String[]{"roleName", "project.title", "person.firstname", });
Iterator iter = broker.getReportQueryIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1187,19 +1308,19 @@
}
/**
- * Test nested joins using pathExpressions *** Fails under hsqldb because
- * of join using multiple keys ***
- */
+ * Test nested joins using pathExpressions *** Fails under hsqldb because
+ * of join using multiple keys ***
+ */
public void tesXNestedJoins2()
{
ArrayList list = new ArrayList();
Criteria crit = new Criteria();
ReportQueryByCriteria q = QueryFactory.newReportQuery(Task.class, crit);
- q.setAttributes(new String[] { "role.roleName", "role.project.title", "role.person.firstname", });
+ q.setAttributes(new String[]{"role.roleName", "role.project.title", "role.person.firstname", });
Iterator iter = broker.getReportQueryIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1207,8 +1328,8 @@
}
/**
- * prefetch ProductGroups for Articles
- */
+ * prefetch ProductGroups for Articles
+ */
public void testPrefetchedReferencesSingleKey()
{
ClassDescriptor cldProductGroup = broker.getClassDescriptor(ProductGroup.class);
@@ -1237,7 +1358,7 @@
Collection results = broker.getCollectionByQuery(q);
Set pgs = new HashSet();
Iterator iter = results.iterator();
- while (iter.hasNext())
+ while(iter.hasNext())
{
InterfaceArticle a = (InterfaceArticle) iter.next();
pgs.add(a.getProductGroup().getName());
@@ -1266,7 +1387,7 @@
results = broker.getCollectionByQuery(q);
Set pgs2 = new HashSet();
iter = results.iterator();
- while (iter.hasNext())
+ while(iter.hasNext())
{
InterfaceArticle a = (InterfaceArticle) iter.next();
pgs2.add(a.getProductGroup().getName());
@@ -1284,22 +1405,22 @@
}
/**
- * test PathExpression pointing to abstract class (InterfaceArticle)
- */
+ * test PathExpression pointing to abstract class (InterfaceArticle)
+ */
public void testReportPathExpressionAbstractExtent()
{
// TODO: make path expressions extent aware
- if(ojbSkipKnownIssueProblem()) return;
+ if(ojbSkipKnownIssueProblem("Make path expressions extent aware")) return;
ArrayList list = new ArrayList();
Criteria crit = new Criteria();
crit.addEqualTo("groupId", new Integer(5));
ReportQueryByCriteria q = QueryFactory.newReportQuery(ProductGroupWithAbstractArticles.class, crit, true);
- q.setAttributes(new String[] { "groupId", "groupName", "allArticlesInGroup.articleId", "allArticlesInGroup.articleName" });
+ q.setAttributes(new String[]{"groupId", "groupName", "allArticlesInGroup.articleId", "allArticlesInGroup.articleName"});
Iterator iter = broker.getReportQueryIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1323,7 +1444,7 @@
Iterator iter = broker.getIteratorByQuery(q);
assertNotNull(iter);
- while (iter.hasNext())
+ while(iter.hasNext())
{
results.add(iter.next());
}
@@ -1332,8 +1453,8 @@
}
/**
- * test PathExpression pointing to abstract class (InterfaceArticle)
- */
+ * test PathExpression pointing to abstract class (InterfaceArticle)
+ */
public void testPathExpressionForAbstractExtent()
{
ArrayList list = new java.util.ArrayList();
@@ -1348,7 +1469,7 @@
q.addOrderByAscending("groupId");
Iterator iter = broker.getIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1361,8 +1482,8 @@
}
/**
- * Test pathExpression and Extents
- */
+ * Test pathExpression and Extents
+ */
public void testReportPathExpressionForExtents1()
{
ArrayList list = new java.util.ArrayList();
@@ -1372,10 +1493,10 @@
crit.addLessOrEqualThan("allArticlesInGroup.articleId", new Integer(5));
ReportQueryByCriteria q = QueryFactory.newReportQuery(ProductGroup.class, crit, true);
- q.setAttributes(new String[] { "groupId", "groupName", "allArticlesInGroup.articleId" });
+ q.setAttributes(new String[]{"groupId", "groupName", "allArticlesInGroup.articleId"});
Iterator iter = broker.getReportQueryIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
Object obj = iter.next();
list.add(obj);
@@ -1392,15 +1513,15 @@
// + " " + ((Object[]) obj)[1]
// + " " + ((Object[]) obj)[2]);
- int i = ((Integer)((Object[]) obj)[2]).intValue();
- assertTrue("i=" + i, i<6 & i>0);
+ int i = ((Integer) ((Object[]) obj)[2]).intValue();
+ assertTrue("i=" + i, i < 6 & i > 0);
}
}
}
/**
- * Test pathExpression and Extents
- */
+ * Test pathExpression and Extents
+ */
public void testReportPathExpressionForExtents2()
{
ArrayList list = new java.util.ArrayList();
@@ -1410,10 +1531,10 @@
crit.addLike("allArticlesInGroup.articleName", "%\u00f6%"); //unicode for รถ
ReportQueryByCriteria q = QueryFactory.newReportQuery(ProductGroup.class, crit, true);
- q.setAttributes(new String[] { "groupId", "groupName" });
+ q.setAttributes(new String[]{"groupId", "groupName"});
Iterator iter = broker.getReportQueryIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1423,8 +1544,8 @@
}
/**
- * Test pathExpression and Extents
- */
+ * Test pathExpression and Extents
+ */
public void testPathExpressionForExtents1()
{
ArrayList list = new java.util.ArrayList();
@@ -1435,7 +1556,7 @@
Query q = QueryFactory.newQuery(ProductGroup.class, crit, true);
Iterator iter = broker.getIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1445,8 +1566,8 @@
}
/**
- * Test pathExpression and Extents
- */
+ * Test pathExpression and Extents
+ */
public void testPathExpressionForExtents2()
{
ArrayList list = new java.util.ArrayList();
@@ -1457,7 +1578,7 @@
Query q = QueryFactory.newQuery(ProductGroup.class, crit, true);
Iterator iter = broker.getIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1468,8 +1589,8 @@
}
/**
- * Test pathExpression and Extents musicians is only defined in CD
- */
+ * Test pathExpression and Extents musicians is only defined in CD
+ */
public void testPathExpressionForExtents3()
{
ArrayList list = new java.util.ArrayList();
@@ -1481,7 +1602,7 @@
q.setPathClass("allArticlesInGroup", CdArticle.class);
Iterator iter = broker.getIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1491,8 +1612,8 @@
}
/**
- * Test pathExpression and Extents Abstract Base
- */
+ * Test pathExpression and Extents Abstract Base
+ */
public void testPathExpressionForExtents4()
{
ArrayList list = new java.util.ArrayList();
@@ -1503,7 +1624,7 @@
Query q = QueryFactory.newQuery(AbstractProductGroup.class, crit, true);
Iterator iter = broker.getIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1513,8 +1634,8 @@
}
/**
- * Test pathExpression and Extents using Alias
- */
+ * Test pathExpression and Extents using Alias
+ */
public void testPathExpressionForExtentsAlias()
{
ArrayList list = new java.util.ArrayList();
@@ -1530,7 +1651,7 @@
Query q = QueryFactory.newQuery(ProductGroup.class, crit1, true);
Iterator iter = broker.getIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1540,8 +1661,8 @@
}
/**
- * Test ReportQuery and Alias
- */
+ * Test ReportQuery and Alias
+ */
public void testReportQueryAlias()
{
ArrayList list = new java.util.ArrayList();
@@ -1556,13 +1677,14 @@
crit1.addAndCriteria(crit2);
ReportQueryByCriteria q = QueryFactory.newReportQuery(ProductGroup.class, crit1);
- q.setAttributes(new String[]{"groupId", "groupName", "STOCKS.allArticlesInGroup.articleName","NAMES.allArticlesInGroup.stock"});
+ q.setAttributes(new String[]{"groupId", "groupName", "STOCKS.allArticlesInGroup.articleName",
+ "NAMES.allArticlesInGroup.articleName", "NAMES.allArticlesInGroup.stock"});
+
+ // Due to AliasPrefixes ArticleName is taken from A2 and A1, Stock from A1,
+ // SELECT A0.Kategorie_Nr,A0.KategorieName,A2.Artikelname,A1.Artikelname,A1.Lagerbestand FROM
- // Due to AliasPrefixes ArticleName is taken from A2, Stock from A1,
- // SELECT A0.Kategorie_Nr,A0.KategorieName,A2.Artikelname,A1.Lagerbestand FROM Kategorien ...
-
Iterator iter = broker.getReportQueryIteratorByQuery(q);
- while (iter.hasNext())
+ while(iter.hasNext())
{
list.add(iter.next());
}
@@ -1570,19 +1692,19 @@
// ProductGroup 4 with it's Articles
assertEquals("check size", list.size(), 1);
}
-
+
/**
- * Run a query range test that includes one record less than the total
- * number of records that exist.
- */
+ * Run a query range test that includes one record less than the total
+ * number of records that exist.
+ */
public void testQueryRangeOneLessThanTotal()
{
this.runQueryRangeTest(-1);
}
/**
- * Run a query range test that includes all of the records that exist.
- */
+ * Run a query range test that includes all of the records that exist.
+ */
public void testQueryRangeAllRecords()
{
this.runQueryRangeTest(0);
@@ -1645,21 +1767,20 @@
}
/**
- * Run a query range test that includes one record more than the total
- * number of records that exist.
- */
+ * Run a query range test that includes one record more than the total
+ * number of records that exist.
+ */
public void testQueryRangeOneMoreThanTotal()
{
this.runQueryRangeTest(+1);
}
/**
- * Run a query range test.
- *
- * @param delta
- * the amount to add to the existing record count when setting
- * the start/end index for the query that we'll use.
- */
+ * Run a query range test.
+ *
+ * @param delta the amount to add to the existing record count when setting
+ * the start/end index for the query that we'll use.
+ */
private void runQueryRangeTest(int delta)
{
@@ -1678,7 +1799,7 @@
Object[] theObjects = broker.getCollectionByQuery(listQuery).toArray();
// Verify the record count
- if (delta <= 0)
+ if(delta <= 0)
{
assertEquals("record count", (recordCount + delta), theObjects.length);
}
@@ -1852,20 +1973,20 @@
assertEquals(1, resultR.size());
assertEquals(2, resultM.size());
- for (Iterator iterator = resultA.iterator(); iterator.hasNext();)
+ for(Iterator iterator = resultA.iterator(); iterator.hasNext();)
{
- InterfaceAnimal a = (InterfaceAnimal) iterator.next();
+ InterfaceAnimal a = (InterfaceAnimal) iterator.next();
assertEquals(name, a.getName());
}
- for (Iterator iterator = resultR.iterator(); iterator.hasNext();)
+ for(Iterator iterator = resultR.iterator(); iterator.hasNext();)
{
- Reptile a = (Reptile) iterator.next();
+ Reptile a = (Reptile) iterator.next();
assertEquals(name, a.getName());
}
- for (Iterator iterator = resultM.iterator(); iterator.hasNext();)
+ for(Iterator iterator = resultM.iterator(); iterator.hasNext();)
{
- Mammal a = (Mammal) iterator.next();
+ Mammal a = (Mammal) iterator.next();
assertEquals(name, a.getName());
}
No revision
No revision
1.5.2.4 +3 -3 db-ojb/src/test/org/apache/ojb/junit/OJBTestCase.java
Index: OJBTestCase.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/junit/OJBTestCase.java,v
retrieving revision 1.5.2.3
retrieving revision 1.5.2.4
diff -u -r1.5.2.3 -r1.5.2.4
--- OJBTestCase.java 4 Dec 2004 14:01:08 -0000 1.5.2.3
+++ OJBTestCase.java 12 Dec 2004 01:35:12 -0000 1.5.2.4
@@ -109,10 +109,10 @@
{
if(message == null)
{
- message = "Will skip a known issue";
+ message = "No description, please see test case";
}
String className = this.getClass().getName();
- System.out.println("# [Skip test in " + className + "] " + message + " #");
+ System.out.println("# [Skip known issue in " + className + "] " + message + " #");
}
return skip;
}
No revision
No revision
1.8.2.2 +72 -49 db-ojb/src/test/org/apache/ojb/odmg/MultiDBUsageTest.java
Index: MultiDBUsageTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/odmg/MultiDBUsageTest.java,v
retrieving revision 1.8.2.1
retrieving revision 1.8.2.2
diff -u -r1.8.2.1 -r1.8.2.2
--- MultiDBUsageTest.java 27 Jul 2004 00:31:50 -0000 1.8.2.1
+++ MultiDBUsageTest.java 12 Dec 2004 01:35:12 -0000 1.8.2.2
@@ -1,6 +1,5 @@
package org.apache.ojb.odmg;
-import junit.framework.TestCase;
import org.apache.ojb.broker.FarAwayClass;
import org.apache.ojb.broker.PBKey;
import org.apache.ojb.broker.PersistenceBroker;
@@ -14,6 +13,7 @@
import org.apache.ojb.broker.query.QueryByCriteria;
import org.apache.ojb.odmg.shared.Project;
import org.apache.ojb.odmg.shared.ODMGZoo;
+import org.apache.ojb.junit.OJBTestCase;
import org.odmg.Database;
import org.odmg.Implementation;
import org.odmg.OQLQuery;
@@ -28,7 +28,7 @@
* Do some rollback tests and check behavior within transactions.
* CAUTION: This tests works only against the default repository.
*/
-public class MultiDBUsageTest extends TestCase
+public class MultiDBUsageTest extends OJBTestCase
{
private Implementation odmg_1;
private Database db_1;
@@ -105,8 +105,10 @@
/**
* Test store / delete objects to different db
*/
- public void XXXtestStore() throws Exception
+ public void testStore() throws Exception
{
+ String name = "testStoreDelete_" + System.currentTimeMillis();
+
// little hack for the test. use PB and ODMG api to verify results
int odmgZoosBefore = getDBObjectCountWithNewPB(((DatabaseImpl) db_1).getPBKey(), ODMGZoo.class);
int projectsBefore = getDBObjectCountWithNewPB(((DatabaseImpl) db_1).getPBKey(), Project.class);
@@ -115,19 +117,19 @@
Transaction tx_1 = odmg_1.newTransaction();
tx_1.begin();
//store
- storeObjects(tx_1, getNewODMGZoos(5));
- storeObjects(tx_1, getNewProjects(3));
+ storeObjects(tx_1, getNewODMGZoos(name, 5));
+ storeObjects(tx_1, getNewProjects(name, 3));
//store more
- storeObjects(tx_1, getNewODMGZoos(5));
- storeObjects(tx_1, getNewProjects(2));
+ storeObjects(tx_1, getNewODMGZoos(name, 5));
+ storeObjects(tx_1, getNewProjects(name, 2));
tx_1.commit();
Transaction tx_2 = odmg_2.newTransaction();
tx_2.begin();
//store
- storeObjects(tx_2, getNewFarAways(9));
+ storeObjects(tx_2, getNewFarAways(name, 9));
//store more
- storeObjects(tx_2, getNewFarAways(11));
+ storeObjects(tx_2, getNewFarAways(name, 11));
tx_2.commit();
int odmgZoosAfter = getDBObjectCountWithNewPB(((DatabaseImpl) db_1).getPBKey(), ODMGZoo.class);
@@ -154,18 +156,18 @@
tx_1.begin();
//store
- storeObjects(tx_1, getNewODMGZoos(5));
- storeObjects(tx_1, getNewProjects(3));
+ storeObjects(tx_1, getNewODMGZoos(name, 5));
+ storeObjects(tx_1, getNewProjects(name, 3));
//store more
- storeObjects(tx_1, getNewODMGZoos(5));
- storeObjects(tx_1, getNewProjects(2));
+ storeObjects(tx_1, getNewODMGZoos(name, 5));
+ storeObjects(tx_1, getNewProjects(name, 2));
tx_1.commit();
tx_2.begin();
//store
- storeObjects(tx_2, getNewFarAways(9));
+ storeObjects(tx_2, getNewFarAways(name, 9));
//store more
- storeObjects(tx_2, getNewFarAways(11));
+ storeObjects(tx_2, getNewFarAways(name, 11));
tx_2.commit();
odmgZoosAfter = getDBObjectCountWithNewPB(((DatabaseImpl) db_1).getPBKey(), ODMGZoo.class);
@@ -181,35 +183,56 @@
assertEquals("Wrong number of projects found", (projectsBefore + 5), projectsAfterOQL);
assertEquals("Wrong number of farAways found", (farAwaysBefore + 20), farAwaysAfter);
assertEquals("Wrong number of farAways found", (farAwaysBefore + 20), farAwaysAfterOQL);
- }
- public void testDelete() throws Exception
- {
- Transaction tx_1 = odmg_1.newTransaction();
+ List result;
tx_1.begin();
- deleteObjects(db_1, getAllObjects(odmg_1, ODMGZoo.class));
- deleteObjects(db_1, getAllObjects(odmg_1, Project.class));
+ OQLQuery query = odmg_1.newOQLQuery();
+ query.create("select projects from " + Project.class.getName() + " where title like $1");
+ query.bind(name);
+ result = (List) query.execute();
+ deleteObjects(db_1, result);
+ tx_1.commit();
+
+ tx_1.begin();
+ query = odmg_1.newOQLQuery();
+ query.create("select projects from " + ODMGZoo.class.getName() + " where name like $1");
+ query.bind(name);
+ result = (List) query.execute();
+ deleteObjects(db_1, result);
tx_1.commit();
- Transaction tx_2 = odmg_2.newTransaction();
tx_2.begin();
- deleteObjects(db_2, getAllObjects(odmg_2, FarAwayClass.class));
+ query = odmg_2.newOQLQuery();
+ query.create("select projects from " + FarAwayClass.class.getName() + " where name like $1");
+ query.bind(name);
+ result = (List) query.execute();
+ deleteObjects(db_2, result);
tx_2.commit();
- int odmgZoosAfter = getDBObjectCountWithNewPB(((DatabaseImpl) db_1).getPBKey(), ODMGZoo.class);
- int projectsAfter = getDBObjectCountWithNewPB(((DatabaseImpl) db_1).getPBKey(), Project.class);
- int farAwaysAfter = getDBObjectCountWithNewPB(((DatabaseImpl) db_2).getPBKey(), FarAwayClass.class);
- //
- int odmgZoosAfterOQL = getDBObjectCountViaOqlQuery(odmg_1, ODMGZoo.class);
- int projectsAfterOQL = getDBObjectCountViaOqlQuery(odmg_1, Project.class);
- int farAwaysAfterOQL = getDBObjectCountViaOqlQuery(odmg_2, FarAwayClass.class);
-
- assertEquals("Wrong number of odmgZoos found", 0, odmgZoosAfter);
- assertEquals("Wrong number of projects found", 0, projectsAfter);
- assertEquals("Wrong number of odmgZoos found", 0, odmgZoosAfterOQL);
- assertEquals("Wrong number of projects found", 0, projectsAfterOQL);
- assertEquals("Wrong number of farAways found", 0, farAwaysAfter);
- assertEquals("Wrong number of farAways found", 0, farAwaysAfterOQL);
+
+ tx_1.begin();
+ query = odmg_1.newOQLQuery();
+ query.create("select projects from " + Project.class.getName() + " where title like $1");
+ query.bind(name);
+ result = (List) query.execute();
+ tx_1.commit();
+ assertEquals(0, result.size());
+
+ tx_1.begin();
+ query = odmg_1.newOQLQuery();
+ query.create("select projects from " + ODMGZoo.class.getName() + " where name like $1");
+ query.bind(name);
+ result = (List) query.execute();
+ tx_1.commit();
+ assertEquals(0, result.size());
+
+ tx_2.begin();
+ query = odmg_2.newOQLQuery();
+ query.create("select projects from " + FarAwayClass.class.getName() + " where name like $1");
+ query.bind(name);
+ result = (List) query.execute();
+ tx_2.commit();
+ assertEquals(0, result.size());
}
@@ -231,58 +254,58 @@
private static int counter;
- protected Collection getNewProjects(int count)
+ protected Collection getNewProjects(String name, int count)
{
ArrayList list = new ArrayList();
for (int i = 0; i < count; i++)
{
- list.add(newProject());
+ list.add(newProject(name));
}
return list;
}
- protected Project newProject()
+ protected Project newProject(String name)
{
Project p = new Project();
++counter;
p.setDescription("Test project " + counter);
- p.setTitle("Test " + counter);
+ p.setTitle(name);
return p;
}
- protected Collection getNewODMGZoos(int count)
+ protected Collection getNewODMGZoos(String name, int count)
{
ArrayList list = new ArrayList();
for (int i = 0; i < count; i++)
{
- list.add(newODMGZoo());
+ list.add(newODMGZoo(name));
}
return list;
}
- protected Collection getNewFarAways(int count)
+ protected Collection getNewFarAways(String name, int count)
{
ArrayList list = new ArrayList();
for (int i = 0; i < count; i++)
{
- list.add(newFarAway());
+ list.add(newFarAway(name));
}
return list;
}
- protected ODMGZoo newODMGZoo()
+ protected ODMGZoo newODMGZoo(String name)
{
ODMGZoo odmgZoo = new ODMGZoo();
++counter;
- odmgZoo.setName("animal " + counter);
+ odmgZoo.setName(name);
return odmgZoo;
}
- private FarAwayClass newFarAway()
+ private FarAwayClass newFarAway(String name)
{
FarAwayClass fa = new FarAwayClass();
counter++;
- fa.setName("away from " + counter);
+ fa.setName(name);
fa.setDescription("so far away from " + counter);
return fa;
}
No revision
No revision
1.112.2.7 +2 -2 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.112.2.6
retrieving revision 1.112.2.7
diff -u -r1.112.2.6 -r1.112.2.7
--- repository_junit.xml 4 Dec 2004 14:01:08 -0000 1.112.2.6
+++ repository_junit.xml 12 Dec 2004 01:35:13 -0000 1.112.2.7
@@ -989,7 +989,7 @@
name="persons"
element-class-ref="org.apache.ojb.broker.Person"
auto-retrieve="true"
- auto-update="false"
+ auto-update="true"
indirection-table="PERSON_PROJECT"
>
<fk-pointing-to-this-class column="PROJECT_ID"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org