You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2007/12/23 20:34:07 UTC
svn commit: r606601 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access:
DataDomainFlattenedBucket.java DataDomainQueryAction.java
DataDomainUpdateBucket.java DataNodeQueryAction.java
Author: aadamchik
Date: Sun Dec 23 11:34:07 2007
New Revision: 606601
URL: http://svn.apache.org/viewvc?rev=606601&view=rev
Log:
generics
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlattenedBucket.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainUpdateBucket.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNodeQueryAction.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlattenedBucket.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlattenedBucket.java?rev=606601&r1=606600&r2=606601&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlattenedBucket.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlattenedBucket.java Sun Dec 23 11:34:07 2007
@@ -28,6 +28,7 @@
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.query.DeleteBatchQuery;
import org.apache.cayenne.query.InsertBatchQuery;
+import org.apache.cayenne.query.Query;
/**
* A sync bucket that holds flattened queries.
@@ -38,22 +39,22 @@
class DataDomainFlattenedBucket {
final DataDomainFlushAction parent;
- final Map flattenedInsertQueries;
- final Map flattenedDeleteQueries;
+ final Map<DbEntity, InsertBatchQuery> flattenedInsertQueries;
+ final Map<DbEntity, DeleteBatchQuery> flattenedDeleteQueries;
DataDomainFlattenedBucket(DataDomainFlushAction parent) {
this.parent = parent;
- this.flattenedInsertQueries = new HashMap();
- this.flattenedDeleteQueries = new HashMap();
+ this.flattenedInsertQueries = new HashMap<DbEntity, InsertBatchQuery>();
+ this.flattenedDeleteQueries = new HashMap<DbEntity, DeleteBatchQuery>();
}
boolean isEmpty() {
return flattenedInsertQueries.isEmpty() && flattenedDeleteQueries.isEmpty();
}
- void addFlattenedInsert(DbEntity flattenedEntity, FlattenedArcKey flattenedInsertInfo) {
+ void addFlattenedInsert(DbEntity flattenedEntity, FlattenedArcKey flattenedArcKey) {
- InsertBatchQuery relationInsertQuery = (InsertBatchQuery) flattenedInsertQueries
+ InsertBatchQuery relationInsertQuery = flattenedInsertQueries
.get(flattenedEntity);
if (relationInsertQuery == null) {
@@ -62,13 +63,13 @@
}
DataNode node = parent.getDomain().lookupDataNode(flattenedEntity.getDataMap());
- Map flattenedSnapshot = flattenedInsertInfo.buildJoinSnapshotForInsert(node);
+ Map flattenedSnapshot = flattenedArcKey.buildJoinSnapshotForInsert(node);
relationInsertQuery.add(flattenedSnapshot);
}
void addFlattenedDelete(DbEntity flattenedEntity, FlattenedArcKey flattenedDeleteInfo) {
- DeleteBatchQuery relationDeleteQuery = (DeleteBatchQuery) flattenedDeleteQueries
+ DeleteBatchQuery relationDeleteQuery = flattenedDeleteQueries
.get(flattenedEntity);
if (relationDeleteQuery == null) {
boolean optimisticLocking = false;
@@ -87,13 +88,13 @@
}
}
- void appendInserts(Collection queries) {
+ void appendInserts(Collection<Query> queries) {
if (!flattenedInsertQueries.isEmpty()) {
queries.addAll(flattenedInsertQueries.values());
}
}
- void appendDeletes(Collection queries) {
+ void appendDeletes(Collection<Query> queries) {
if (!flattenedDeleteQueries.isEmpty()) {
queries.addAll(flattenedDeleteQueries.values());
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java?rev=606601&r1=606600&r2=606601&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java Sun Dec 23 11:34:07 2007
@@ -77,8 +77,8 @@
QueryResponse response;
GenericResponse fullResponse;
Map prefetchResultsByPath;
- Map queriesByNode;
- Map queriesByExecutedQueries;
+ Map<QueryEngine, Collection<Query>> queriesByNode;
+ Map<Query, Query> queriesByExecutedQueries;
boolean noObjectConversion;
/*
@@ -225,9 +225,7 @@
// we can assume that there is one and only one DbRelationship as
// we previously checked that
// "!isSourceIndependentFromTargetChange"
- DbRelationship dbRelationship = relationship
- .getDbRelationships()
- .get(0);
+ DbRelationship dbRelationship = relationship.getDbRelationships().get(0);
ObjectId targetId = sourceRow.createTargetObjectId(relationship
.getTargetEntityName(), dbRelationship);
@@ -282,7 +280,7 @@
return DONE;
}
- Collection objects = refreshQuery.getObjects();
+ Collection<?> objects = refreshQuery.getObjects();
if (objects != null && !objects.isEmpty()) {
Collection ids = new ArrayList(objects.size());
@@ -437,11 +435,10 @@
// run categorized queries
if (queriesByNode != null) {
- Iterator nodeIt = queriesByNode.entrySet().iterator();
- while (nodeIt.hasNext()) {
- Map.Entry entry = (Map.Entry) nodeIt.next();
- QueryEngine nextNode = (QueryEngine) entry.getKey();
- Collection nodeQueries = (Collection) entry.getValue();
+ for (Map.Entry<QueryEngine, Collection<Query>> entry : queriesByNode
+ .entrySet()) {
+ QueryEngine nextNode = entry.getKey();
+ Collection<Query> nodeQueries = entry.getValue();
nextNode.performQueries(nodeQueries, this);
}
}
@@ -560,27 +557,27 @@
public void route(QueryEngine engine, Query query, Query substitutedQuery) {
- List queries = null;
+ Collection<Query> queries = null;
if (queriesByNode == null) {
- queriesByNode = new HashMap();
+ queriesByNode = new HashMap<QueryEngine, Collection<Query>>();
}
else {
- queries = (List) queriesByNode.get(engine);
+ queries = queriesByNode.get(engine);
}
if (queries == null) {
- queries = new ArrayList(5);
+ queries = new ArrayList<Query>(5);
queriesByNode.put(engine, queries);
}
queries.add(query);
- // handle case when routing resuled in an "exectable" query different from the
+ // handle case when routing resulted in an "executable" query different from the
// original query.
if (substitutedQuery != null && substitutedQuery != query) {
if (queriesByExecutedQueries == null) {
- queriesByExecutedQueries = new HashMap();
+ queriesByExecutedQueries = new HashMap<Query, Query>();
}
queriesByExecutedQueries.put(query, substitutedQuery);
@@ -609,7 +606,7 @@
fullResponse.addBatchUpdateCount(resultCount);
}
- public void nextDataRows(Query query, List dataRows) {
+ public void nextDataRows(Query query, List<DataRow> dataRows) {
// exclude prefetched rows in the main result
if (prefetchResultsByPath != null && query instanceof PrefetchSelectQuery) {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainUpdateBucket.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainUpdateBucket.java?rev=606601&r1=606600&r2=606601&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainUpdateBucket.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainUpdateBucket.java Sun Dec 23 11:34:07 2007
@@ -55,30 +55,31 @@
DataNodeSyncQualifierDescriptor qualifierBuilder = new DataNodeSyncQualifierDescriptor();
for (DbEntity dbEntity : dbEntities) {
- List objEntitiesForDbEntity = (List) descriptorsByDbEntity.get(dbEntity);
- Map batches = new LinkedHashMap();
- for (Iterator j = objEntitiesForDbEntity.iterator(); j.hasNext();) {
- ClassDescriptor descriptor = (ClassDescriptor) j.next();
+ Collection<ClassDescriptor> descriptors = descriptorsByDbEntity.get(dbEntity);
+ Map<Object, Query> batches = new LinkedHashMap<Object, Query>();
+
+ for (ClassDescriptor descriptor : descriptors) {
ObjEntity entity = descriptor.getEntity();
diffBuilder.reset(entity, dbEntity);
qualifierBuilder.reset(entity, dbEntity);
boolean isRootDbEntity = entity.getDbEntity() == dbEntity;
- List objects = (List) objectsByDescriptor.get(descriptor);
-
- for (Iterator k = objects.iterator(); k.hasNext();) {
- Persistent o = (Persistent) k.next();
+ Iterator<Persistent> objects = objectsByDescriptor
+ .get(descriptor)
+ .iterator();
+ while (objects.hasNext()) {
+ Persistent o = objects.next();
ObjectDiff diff = parent.objectDiff(o.getObjectId());
- Map snapshot = diffBuilder.buildDBDiff(diff);
+ Map<Object, Object> snapshot = diffBuilder.buildDBDiff(diff);
// check whether MODIFIED object has real db-level modifications
if (snapshot == null) {
if (isRootDbEntity) {
- k.remove();
+ objects.remove();
o.setPersistenceState(PersistenceState.COMMITTED);
}
@@ -125,11 +126,12 @@
// update replacement id with meaningful PK changes
if (isRootDbEntity) {
- Map replacementId = o.getObjectId().getReplacementIdMap();
+ Map<String, Object> replacementId = o
+ .getObjectId()
+ .getReplacementIdMap();
- Iterator pkIt = dbEntity.getPrimaryKeys().iterator();
- while (pkIt.hasNext()) {
- String name = ((DbAttribute) pkIt.next()).getName();
+ for (DbAttribute pk : dbEntity.getPrimaryKeys()) {
+ String name = pk.getName();
if (snapshot.containsKey(name)
&& !replacementId.containsKey(name)) {
replacementId.put(name, snapshot.get(name));
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNodeQueryAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNodeQueryAction.java?rev=606601&r1=606600&r2=606601&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNodeQueryAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNodeQueryAction.java Sun Dec 23 11:34:07 2007
@@ -23,6 +23,7 @@
import java.sql.SQLException;
import java.util.List;
+import org.apache.cayenne.DataRow;
import org.apache.cayenne.query.Query;
import org.apache.cayenne.query.SQLAction;
@@ -65,7 +66,7 @@
observer.nextCount(currentQuery, resultCount);
}
- public void nextDataRows(Query query, List dataRows) {
+ public void nextDataRows(Query query, List<DataRow> dataRows) {
observer.nextDataRows(currentQuery, dataRows);
}