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);
     }