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 2005/10/10 02:35:44 UTC
cvs commit: db-ojb/src/test/org/apache/ojb/compare OJBPerfTest.java PerformancePBTest.java
arminw 2005/10/09 17:35:44
Modified: src/java/org/apache/ojb/broker/util/sequence Tag:
OJB_1_0_RELEASE SequenceManagerHighLowImpl.java
src/java/org/apache/ojb/broker/util Tag: OJB_1_0_RELEASE
ObjectModification.java
ObjectModificationDefaultImpl.java
src/java/org/apache/ojb/odmg Tag: OJB_1_0_RELEASE
NamedRootsMap.java
src/test/org/apache/ojb/broker/sqlcount Tag: OJB_1_0_RELEASE
CollectionCountTest.java
src/test/org/apache/ojb/broker Tag: OJB_1_0_RELEASE
InheritanceMultipleTableTest.java
KeyConstraintViolationTest.java
PersistenceBrokerTest.java
src/test/org/apache/ojb/compare Tag: OJB_1_0_RELEASE
OJBPerfTest.java PerformancePBTest.java
Log:
provide default impl. states for ObjectModification
Revision Changes Path
No revision
No revision
1.29.2.4 +4 -4 db-ojb/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerHighLowImpl.java
Index: SequenceManagerHighLowImpl.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerHighLowImpl.java,v
retrieving revision 1.29.2.3
retrieving revision 1.29.2.4
diff -u -r1.29.2.3 -r1.29.2.4
--- SequenceManagerHighLowImpl.java 16 Aug 2005 20:11:19 -0000 1.29.2.3
+++ SequenceManagerHighLowImpl.java 10 Oct 2005 00:35:43 -0000 1.29.2.4
@@ -24,7 +24,7 @@
import org.apache.ojb.broker.PersistenceBroker;
import org.apache.ojb.broker.PersistenceBrokerFactory;
import org.apache.ojb.broker.metadata.FieldDescriptor;
-import org.apache.ojb.broker.util.ObjectModificationDefaultImpl;
+import org.apache.ojb.broker.util.ObjectModification;
import org.apache.ojb.broker.util.logging.Logger;
import org.apache.ojb.broker.util.logging.LoggerFactory;
@@ -328,8 +328,8 @@
//store the sequence to db
try
{
- if(needsInsert) broker.store(newSequence, ObjectModificationDefaultImpl.INSERT);
- else broker.store(newSequence, ObjectModificationDefaultImpl.UPDATE);
+ if(needsInsert) broker.store(newSequence, ObjectModification.INSERT);
+ else broker.store(newSequence, ObjectModification.UPDATE);
}
catch (OptimisticLockException e)
{
No revision
No revision
1.6.2.1 +42 -5 db-ojb/src/java/org/apache/ojb/broker/util/ObjectModification.java
Index: ObjectModification.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/ObjectModification.java,v
retrieving revision 1.6
retrieving revision 1.6.2.1
diff -u -r1.6 -r1.6.2.1
--- ObjectModification.java 4 Apr 2004 23:53:37 -0000 1.6
+++ ObjectModification.java 10 Oct 2005 00:35:43 -0000 1.6.2.1
@@ -15,6 +15,8 @@
* limitations under the License.
*/
+import java.io.Serializable;
+
/**
*
* The Interface ObjectModification represents information about
@@ -25,15 +27,50 @@
* @author Thomas Mahler
* @version $Id$
*/
-public interface ObjectModification extends java.io.Serializable
+public interface ObjectModification extends Serializable
{
- static final long serialVersionUID = -3208237880606252967L; /**
- * returns true if the underlying Object needs an INSERT statement.
+ static final long serialVersionUID = -3208237880606252967L;
+
+ /**
+ * Default implementation of this interface usable for INSERT.
+ */
+ public static final ObjectModification INSERT = new ObjectModification()
+ {
+ public boolean needsInsert()
+ {
+ return true;
+ }
+
+ public boolean needsUpdate()
+ {
+ return false;
+ }
+ };
+
+ /**
+ * Default implementation of this interface usable for UPDATE.
+ */
+ public static final ObjectModification UPDATE = new ObjectModification()
+ {
+ public boolean needsInsert()
+ {
+ return false;
+ }
+
+ public boolean needsUpdate()
+ {
+ return true;
+ }
+ };
+
+ /**
+ * Returns true if the underlying Object needs an INSERT statement.
* else Returns false.
*/
public boolean needsInsert();
+
/**
- * returns true if the underlying Object needs an UPDATE statement.
+ * Returns true if the underlying Object needs an UPDATE statement.
* else Returns false.
*/
public boolean needsUpdate();
1.5.2.1 +2 -1 db-ojb/src/java/org/apache/ojb/broker/util/ObjectModificationDefaultImpl.java
Index: ObjectModificationDefaultImpl.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/ObjectModificationDefaultImpl.java,v
retrieving revision 1.5
retrieving revision 1.5.2.1
diff -u -r1.5 -r1.5.2.1
--- ObjectModificationDefaultImpl.java 4 Apr 2004 23:53:37 -0000 1.5
+++ ObjectModificationDefaultImpl.java 10 Oct 2005 00:35:43 -0000 1.5.2.1
@@ -19,6 +19,7 @@
/**
* Insert the type's description here.
*
+ * @deprecated Please use {@link ObjectModification#UPDATE} and {@link ObjectModification#INSERT}
* @author Thomas Mahler
* @version $Id$
*/
No revision
No revision
1.12.2.4 +3 -3 db-ojb/src/java/org/apache/ojb/odmg/NamedRootsMap.java
Index: NamedRootsMap.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/odmg/NamedRootsMap.java,v
retrieving revision 1.12.2.3
retrieving revision 1.12.2.4
diff -u -r1.12.2.3 -r1.12.2.4
--- NamedRootsMap.java 4 Jun 2005 14:38:13 -0000 1.12.2.3
+++ NamedRootsMap.java 10 Oct 2005 00:35:43 -0000 1.12.2.4
@@ -26,7 +26,7 @@
import org.apache.ojb.broker.PersistenceBrokerException;
import org.apache.ojb.broker.core.proxy.ProxyHelper;
import org.apache.ojb.broker.metadata.ClassDescriptor;
-import org.apache.ojb.broker.util.ObjectModificationDefaultImpl;
+import org.apache.ojb.broker.util.ObjectModification;
import org.apache.ojb.broker.util.logging.Logger;
import org.apache.ojb.broker.util.logging.LoggerFactory;
import org.odmg.ClassNotPersistenceCapableException;
@@ -113,7 +113,7 @@
{
NamedEntry namedEntry = (NamedEntry) it.next();
namedEntry.prepareForStore(broker);
- broker.store(namedEntry, ObjectModificationDefaultImpl.INSERT);
+ broker.store(namedEntry, ObjectModification.INSERT);
}
}
}
No revision
No revision
1.9.2.1 +24 -24 db-ojb/src/test/org/apache/ojb/broker/sqlcount/CollectionCountTest.java
Index: CollectionCountTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/sqlcount/CollectionCountTest.java,v
retrieving revision 1.9
retrieving revision 1.9.2.1
diff -u -r1.9 -r1.9.2.1
--- CollectionCountTest.java 7 Jan 2004 19:08:50 -0000 1.9
+++ CollectionCountTest.java 10 Oct 2005 00:35:43 -0000 1.9.2.1
@@ -25,7 +25,7 @@
import org.apache.ojb.broker.query.Query;
import org.apache.ojb.broker.query.QueryByCriteria;
import org.apache.ojb.broker.query.QueryFactory;
-import org.apache.ojb.broker.util.ObjectModificationDefaultImpl;
+import org.apache.ojb.broker.util.ObjectModification;
/**
* @author <a href="mailto:om@ppi.de">Oliver Matz</a>
@@ -132,7 +132,7 @@
logStmtCount("Storing first person"); // 6. oma: why so many? double lookup in OJB_HL_SEQ !
resetStmtCount();
pers = new Person();
- myPB.store(pers, ObjectModificationDefaultImpl.INSERT);
+ myPB.store(pers, ObjectModification.INSERT);
myPB.commitTransaction();
// INSERT INTO PERSON (ID,FIRSTNAME,LASTNAME) VALUES ('172','','')
// commit
@@ -163,7 +163,7 @@
proj2.setTitle("proj2");
Collection projects = Arrays.asList(new Project[] {proj2});
pers.setProjects(projects);
- myPB.store(pers, ObjectModificationDefaultImpl.INSERT);
+ myPB.store(pers, ObjectModification.INSERT);
myPB.commitTransaction();
// INSERT INTO PERSON (ID,FIRSTNAME,LASTNAME) VALUES ('292','','')
// SELECT TITLE,DESCRIPTION,ID FROM PROJECT WHERE ID = '88'
@@ -173,10 +173,10 @@
// commit|
assertStmtCount("insert second Person, singleton collection.", 6);
}
-
-
+
+
public void testPrefetched()
- {
+ {
ClassDescriptor cldProductGroup = myPB.getClassDescriptor(ProductGroup.class);
ClassDescriptor cldArticle = myPB.getClassDescriptor(Article.class);
Class productGroupProxy = cldProductGroup.getProxyClass();
@@ -189,19 +189,19 @@
cldProductGroup.setProxyClassName(null);
cldArticle.setProxyClass(null);
cldArticle.setProxyClassName(null);
-
+
resetStmtCount();
myPB.clearCache();
-
-
+
+
myPB.beginTransaction();
-
+
Criteria crit = new Criteria();
crit.addLessOrEqualThan("groupId", new Integer(5));
QueryByCriteria q = QueryFactory.newQuery(ProductGroup.class, crit);
q.addOrderByDescending("groupId");
q.addPrefetchedRelationship("allArticlesInGroup");
-
+
Collection results = myPB.getCollectionByQuery(q);
assertEquals("Number of ProductGroups", 5, results.size());
Collection articles = new ArrayList();
@@ -211,14 +211,14 @@
articles.addAll(p.getAllArticles());
}
assertEquals("Total number of Articles", 59, articles.size());
-
+
//SELECT A0.KategorieName,A0.Kategorie_Nr,A0.Beschreibung FROM Kategorien A0 WHERE A0.Kategorie_Nr <= '5'
//SELECT ... FROM CDS A0 WHERE A0.Kategorie_Nr IN ( '1' , '4' , '2' , '5' , '3' )
//SELECT ... FROM Artikel A0 WHERE A0.Kategorie_Nr IN ( '1' , '4' , '2' , '5' , '3' )
//SELECT ... FROM BOOKS A0 WHERE A0.Kategorie_Nr IN ( '1' , '4' , '2' , '5' , '3' )
assertStmtCount("Read Prefetched.", 4);
myPB.commitTransaction();
-
+
//
// Reset original Proxy settings
//
@@ -226,9 +226,9 @@
cldProductGroup.setProxyClassName(productGroupProxy.getName());
cldArticle.setProxyClass(articleProxy);
cldArticle.setProxyClassName(articleProxy.getName());
-
+
}
-
+
public void testNonPrefetched()
{
ClassDescriptor cldProductGroup = myPB.getClassDescriptor(ProductGroup.class);
@@ -243,17 +243,17 @@
cldProductGroup.setProxyClassName(null);
cldArticle.setProxyClass(null);
cldArticle.setProxyClassName(null);
-
+
resetStmtCount();
myPB.clearCache();
myPB.beginTransaction();
-
+
Criteria crit = new Criteria();
crit.addLessOrEqualThan("groupId", new Integer(5));
QueryByCriteria q = QueryFactory.newQuery(ProductGroup.class, crit);
q.addOrderByDescending("groupId");
-
+
Collection results = myPB.getCollectionByQuery(q);
assertEquals("Number of ProductGroups", 5, results.size());
Collection articles = new ArrayList();
@@ -263,7 +263,7 @@
articles.addAll(p.getAllArticles());
}
assertEquals("Total number of Articles", 59, articles.size());
-
+
//SELECT A0.KategorieName,A0.Kategorie_Nr,A0.Beschreibung FROM Kategorien A0 WHERE A0.Kategorie_Nr <= '5'
//SELECT ... FROM CDS A0 WHERE A0.Kategorie_Nr = '5'
//SELECT ... FROM Artikel A0 WHERE A0.Kategorie_Nr = '5'
@@ -277,7 +277,7 @@
//SELECT ... FROM BOOKS A0 WHERE A0.Kategorie_Nr = '1'
assertStmtCount("Read Non-Prefetched.", 16);
myPB.commitTransaction();
-
+
//
// Reset original Proxy settings
//
@@ -285,7 +285,7 @@
cldProductGroup.setProxyClassName(productGroupProxy.getName());
cldArticle.setProxyClass(articleProxy);
cldArticle.setProxyClassName(articleProxy.getName());
-
- }
-
+
+ }
+
}
No revision
No revision
1.7.2.16 +8 -9 db-ojb/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java
Index: InheritanceMultipleTableTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java,v
retrieving revision 1.7.2.15
retrieving revision 1.7.2.16
diff -u -r1.7.2.15 -r1.7.2.16
--- InheritanceMultipleTableTest.java 6 Oct 2005 21:01:44 -0000 1.7.2.15
+++ InheritanceMultipleTableTest.java 10 Oct 2005 00:35:43 -0000 1.7.2.16
@@ -11,13 +11,12 @@
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
-import org.apache.ojb.broker.accesslayer.sql.SqlGenerator;
import org.apache.ojb.broker.metadata.ClassDescriptor;
import org.apache.ojb.broker.query.Criteria;
import org.apache.ojb.broker.query.Query;
import org.apache.ojb.broker.query.QueryByCriteria;
import org.apache.ojb.broker.query.QueryFactory;
-import org.apache.ojb.broker.util.ObjectModificationDefaultImpl;
+import org.apache.ojb.broker.util.ObjectModification;
import org.apache.ojb.junit.PBTestCase;
/**
@@ -544,12 +543,12 @@
broker.beginTransaction();
//========================================
// update fields
- broker.store(em, ObjectModificationDefaultImpl.UPDATE);
- broker.store(m_1, ObjectModificationDefaultImpl.UPDATE);
- broker.store(m_3, ObjectModificationDefaultImpl.UPDATE);
- broker.store(ex_1, ObjectModificationDefaultImpl.UPDATE);
- broker.store(m_2, ObjectModificationDefaultImpl.UPDATE);
- broker.store(ex_2, ObjectModificationDefaultImpl.UPDATE);
+ broker.store(em, ObjectModification.UPDATE);
+ broker.store(m_1, ObjectModification.UPDATE);
+ broker.store(m_3, ObjectModification.UPDATE);
+ broker.store(ex_1, ObjectModification.UPDATE);
+ broker.store(m_2, ObjectModification.UPDATE);
+ broker.store(ex_2, ObjectModification.UPDATE);
//========================================
broker.commitTransaction();
1.6.2.2 +3 -6 db-ojb/src/test/org/apache/ojb/broker/KeyConstraintViolationTest.java
Index: KeyConstraintViolationTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/KeyConstraintViolationTest.java,v
retrieving revision 1.6.2.1
retrieving revision 1.6.2.2
diff -u -r1.6.2.1 -r1.6.2.2
--- KeyConstraintViolationTest.java 4 Dec 2004 14:01:07 -0000 1.6.2.1
+++ KeyConstraintViolationTest.java 10 Oct 2005 00:35:43 -0000 1.6.2.2
@@ -1,6 +1,6 @@
package org.apache.ojb.broker;
-import org.apache.ojb.broker.util.ObjectModificationDefaultImpl;
+import org.apache.ojb.broker.util.ObjectModification;
import org.apache.ojb.junit.PBTestCase;
/**
@@ -26,15 +26,12 @@
**/
public void testKeyViolation() throws Exception
{
- ObjectModificationDefaultImpl objMod = new ObjectModificationDefaultImpl();
- objMod.setNeedsInsert(true);
-
broker.beginTransaction();
Article obj = new Article();
obj.setProductGroupId(new Integer(1));
obj.articleName = "repeated Article";
// storing once should be ok.
- broker.store(obj,objMod);
+ broker.store(obj, ObjectModification.INSERT);
broker.commitTransaction();
broker.clearCache();
@@ -47,7 +44,7 @@
obj2.articleName = "repeated Article";
// store it again!
- broker.store(obj2,objMod);
+ broker.store(obj2, ObjectModification.INSERT);
broker.commitTransaction();
fail("Should have thrown a KeyConstraintViolatedException");
1.42.2.6 +6 -6 db-ojb/src/test/org/apache/ojb/broker/PersistenceBrokerTest.java
Index: PersistenceBrokerTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/PersistenceBrokerTest.java,v
retrieving revision 1.42.2.5
retrieving revision 1.42.2.6
diff -u -r1.42.2.5 -r1.42.2.6
--- PersistenceBrokerTest.java 9 Aug 2005 20:03:20 -0000 1.42.2.5
+++ PersistenceBrokerTest.java 10 Oct 2005 00:35:43 -0000 1.42.2.6
@@ -20,7 +20,7 @@
import org.apache.ojb.broker.query.QueryByIdentity;
import org.apache.ojb.broker.query.QueryFactory;
import org.apache.ojb.broker.query.ReportQueryByCriteria;
-import org.apache.ojb.broker.util.ObjectModificationDefaultImpl;
+import org.apache.ojb.broker.util.ObjectModification;
import org.apache.ojb.junit.PBTestCase;
/**
@@ -147,7 +147,7 @@
broker.beginTransaction();
// store data
- broker.store(comp, ObjectModificationDefaultImpl.INSERT);
+ broker.store(comp, ObjectModification.INSERT);
Query query = new QueryByCriteria(ObjectRepository.Component.class, null);
// now we try to read the uncommitted data
Collection all = broker.getCollectionByQuery(query);
@@ -1304,12 +1304,12 @@
public void testUpdateWithModification() throws Exception
{
String name = "testUpdateWithModification_" + System.currentTimeMillis();
- assertFalse("should not be marked for update yet", ObjectModificationDefaultImpl.INSERT.needsUpdate());
- assertFalse("should not be marked for insert", ObjectModificationDefaultImpl.UPDATE.needsInsert());
+ assertFalse("should not be marked for update yet", ObjectModification.INSERT.needsUpdate());
+ assertFalse("should not be marked for insert", ObjectModification.UPDATE.needsInsert());
Article a = createArticle(null, name);
broker.beginTransaction();
- broker.store(a, ObjectModificationDefaultImpl.INSERT);
+ broker.store(a, ObjectModification.INSERT);
broker.commitTransaction();
Article b = readArticleByIdentity(a.getArticleId());
@@ -1320,7 +1320,7 @@
String newname = "TESTUPDATE_" + name;
b.setArticleName(newname);
broker.beginTransaction();
- broker.store(b, ObjectModificationDefaultImpl.UPDATE);
+ broker.store(b, ObjectModification.UPDATE);
broker.commitTransaction();
b = null;
No revision
No revision
1.1.2.2 +8 -8 db-ojb/src/test/org/apache/ojb/compare/OJBPerfTest.java
Index: OJBPerfTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/compare/OJBPerfTest.java,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- OJBPerfTest.java 26 Apr 2005 22:03:16 -0000 1.1.2.1
+++ OJBPerfTest.java 10 Oct 2005 00:35:43 -0000 1.1.2.2
@@ -8,6 +8,10 @@
import java.util.Collection;
import java.util.List;
+import org.apache.ojb.broker.Identity;
+import org.apache.ojb.broker.PersistenceBroker;
+import org.apache.ojb.broker.PersistenceBrokerFactory;
+import org.apache.ojb.broker.TestHelper;
import org.apache.ojb.broker.accesslayer.ConnectionFactory;
import org.apache.ojb.broker.accesslayer.ConnectionFactoryFactory;
import org.apache.ojb.broker.accesslayer.LookupException;
@@ -16,11 +20,7 @@
import org.apache.ojb.broker.query.Criteria;
import org.apache.ojb.broker.query.Query;
import org.apache.ojb.broker.query.QueryByCriteria;
-import org.apache.ojb.broker.util.ObjectModificationDefaultImpl;
-import org.apache.ojb.broker.TestHelper;
-import org.apache.ojb.broker.PersistenceBroker;
-import org.apache.ojb.broker.PersistenceBrokerFactory;
-import org.apache.ojb.broker.Identity;
+import org.apache.ojb.broker.util.ObjectModification;
import org.apache.ojb.odmg.OJB;
import org.apache.ojb.odmg.TransactionExt;
import org.apache.ojb.otm.OTMConnection;
@@ -355,7 +355,7 @@
broker.beginTransaction();
for (int i = 0; i < arr.length; i++)
{
- broker.store(arr[i], ObjectModificationDefaultImpl.INSERT);
+ broker.store(arr[i], ObjectModification.INSERT);
}
broker.commitTransaction();
}
@@ -395,7 +395,7 @@
broker.beginTransaction();
for (int i = 0; i < arr.length; i++)
{
- broker.store(arr[i], ObjectModificationDefaultImpl.UPDATE);
+ broker.store(arr[i], ObjectModification.UPDATE);
// broker.store(arr[i]);
}
broker.commitTransaction();
1.1.2.2 +3 -3 db-ojb/src/test/org/apache/ojb/compare/PerformancePBTest.java
Index: PerformancePBTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/compare/PerformancePBTest.java,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- PerformancePBTest.java 26 Apr 2005 22:03:16 -0000 1.1.2.1
+++ PerformancePBTest.java 10 Oct 2005 00:35:43 -0000 1.1.2.2
@@ -7,7 +7,7 @@
import org.apache.ojb.broker.query.Criteria;
import org.apache.ojb.broker.query.Query;
import org.apache.ojb.broker.query.QueryByCriteria;
-import org.apache.ojb.broker.util.ObjectModificationDefaultImpl;
+import org.apache.ojb.broker.util.ObjectModification;
/**
* This TestCase contains the OJB single-threaded performance benchmarks for the
@@ -77,7 +77,7 @@
broker.beginTransaction();
for(int i = 0; i < articleCount; i++)
{
- broker.store(arr[i], ObjectModificationDefaultImpl.INSERT);
+ broker.store(arr[i], ObjectModification.INSERT);
}
broker.commitTransaction();
long stop = System.currentTimeMillis();
@@ -150,7 +150,7 @@
broker.beginTransaction();
for(int i = 0; i < articleCount; i++)
{
- broker.store(arr[i], ObjectModificationDefaultImpl.UPDATE);
+ broker.store(arr[i], ObjectModification.UPDATE);
}
broker.commitTransaction();
long stop = System.currentTimeMillis();
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org