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/11/20 18:58:59 UTC
svn commit: r596758 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src:
main/java/org/apache/cayenne/ main/java/org/apache/cayenne/access/
main/java/org/apache/cayenne/access/jdbc/
main/java/org/apache/cayenne/access/trans/ main/java/org...
Author: aadamchik
Date: Tue Nov 20 09:58:57 2007
New Revision: 596758
URL: http://svn.apache.org/viewvc?rev=596758&view=rev
Log:
java5 : generics
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataObjectUtils.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataRow.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/ObjectId.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/QueryResponse.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainInsertBucket.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/DataNodeSyncQualifierDescriptor.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbLoader.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectResolver.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/OptimisticLockException.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLConditionTranslator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLIdentifierColumnsTranslator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLPathTranslator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/DataObjectMatchTranslator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilder.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/QueryAssemblerHelper.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/SelectTranslator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/util/DistinctResultIterator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DbEntity.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/validator/DbEntityValidator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/DeleteBatchQuery.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/IDUtil.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbAttributeTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbEntityTest.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataObjectUtils.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataObjectUtils.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataObjectUtils.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataObjectUtils.java Tue Nov 20 09:58:57 2007
@@ -19,6 +19,7 @@
package org.apache.cayenne;
+import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -127,8 +128,13 @@
*
* @see #objectForPK(ObjectContext, ObjectId)
*/
- public static <T> T objectForPK(ObjectContext context, Class<T> dataObjectClass, int pk) {
- return (T) objectForPK(context, buildId(context, dataObjectClass, new Integer(pk)));
+ public static <T> T objectForPK(
+ ObjectContext context,
+ Class<T> dataObjectClass,
+ int pk) {
+ return (T) objectForPK(
+ context,
+ buildId(context, dataObjectClass, new Integer(pk)));
}
/**
@@ -159,7 +165,10 @@
*
* @see #objectForPK(ObjectContext, ObjectId)
*/
- public static <T> T objectForPK(ObjectContext context, Class<T> dataObjectClass, Map<?,?> pk) {
+ public static <T> T objectForPK(
+ ObjectContext context,
+ Class<T> dataObjectClass,
+ Map<String, ?> pk) {
ObjEntity entity = context.getEntityResolver().lookupObjEntity(dataObjectClass);
if (entity == null) {
@@ -211,7 +220,10 @@
*
* @see #objectForPK(ObjectContext, ObjectId)
*/
- public static Object objectForPK(ObjectContext context, String objEntityName, Map<?,?> pk) {
+ public static Object objectForPK(
+ ObjectContext context,
+ String objEntityName,
+ Map<String, ?> pk) {
if (objEntityName == null) {
throw new IllegalArgumentException("Null ObjEntity name.");
}
@@ -277,14 +289,14 @@
+ entity.getName());
}
- List pkAttributes = dbEntity.getPrimaryKey();
+ Collection<DbAttribute> pkAttributes = dbEntity.getPrimaryKeys();
if (pkAttributes.size() != 1) {
throw new CayenneRuntimeException("PK contains "
+ pkAttributes.size()
+ " columns, expected 1.");
}
- DbAttribute attr = (DbAttribute) pkAttributes.get(0);
+ DbAttribute attr = pkAttributes.iterator().next();
return new ObjectId(objEntityName, attr.getName(), pk);
}
@@ -309,14 +321,14 @@
+ entity.getName());
}
- List pkAttributes = dbEntity.getPrimaryKey();
+ Collection<DbAttribute> pkAttributes = dbEntity.getPrimaryKeys();
if (pkAttributes.size() != 1) {
throw new CayenneRuntimeException("PK contains "
+ pkAttributes.size()
+ " columns, expected 1.");
}
- DbAttribute attr = (DbAttribute) pkAttributes.get(0);
+ DbAttribute attr = pkAttributes.iterator().next();
return new ObjectId(entity.getName(), attr.getName(), pk);
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataRow.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataRow.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataRow.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataRow.java Tue Nov 20 09:58:57 2007
@@ -19,17 +19,17 @@
package org.apache.cayenne;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.List;
import java.util.Map;
-import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbRelationship;
import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.util.Util;
+import org.apache.commons.lang.builder.ToStringBuilder;
/**
* DataRow a map that holds values retrieved from the database for a given query row.
@@ -168,9 +168,9 @@
// ... handle special case - PK.size == 1
// use some not-so-significant optimizations...
- List pk = entity.getPrimaryKey();
+ Collection<DbAttribute> pk = entity.getPrimaryKeys();
if (pk.size() == 1) {
- DbAttribute attribute = (DbAttribute) pk.get(0);
+ DbAttribute attribute = pk.iterator().next();
String key = (prefix) ? namePrefix + attribute.getName() : attribute
.getName();
@@ -192,10 +192,7 @@
// ... handle generic case - PK.size > 1
Map idMap = new HashMap(pk.size() * 2);
- Iterator it = pk.iterator();
- while (it.hasNext()) {
- DbAttribute attribute = (DbAttribute) it.next();
-
+ for (DbAttribute attribute : pk) {
String key = (prefix) ? namePrefix + attribute.getName() : attribute
.getName();
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/ObjectId.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/ObjectId.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/ObjectId.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/ObjectId.java Tue Nov 20 09:58:57 2007
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -45,14 +44,14 @@
public class ObjectId implements Serializable {
protected String entityName;
- protected Map objectIdKeys;
+ protected Map<String, Object> objectIdKeys;
private String singleKey;
private Object singleValue;
protected byte[] key;
- protected Map replacementIdMap;
+ protected Map<String, Object> replacementIdMap;
// hash code is transient to make sure id is portable across VM
transient int hashCode;
@@ -108,14 +107,14 @@
*
* @since 1.2
*/
- public ObjectId(String entityName, Map idMap) {
+ public ObjectId(String entityName, Map<String, ?> idMap) {
this.entityName = entityName;
if (idMap == null || idMap.size() == 0) {
}
else if (idMap.size() == 1) {
- Map.Entry e = (Map.Entry) idMap.entrySet().iterator().next();
+ Map.Entry<String, ?> e = idMap.entrySet().iterator().next();
this.singleKey = String.valueOf(e.getKey());
this.singleValue = e.getValue();
}
@@ -124,7 +123,7 @@
// we have to create a copy of the map, otherwise we may run into
// serialization
// problems with hessian
- this.objectIdKeys = new HashMap(idMap);
+ this.objectIdKeys = new HashMap<String, Object>(idMap);
}
}
@@ -144,11 +143,11 @@
}
/**
- * Returns an unmodifiable Map of persistent id values, essentailly a primary key map.
+ * Returns an unmodifiable Map of persistent id values, essentially a primary key map.
* For temporary id returns replacement id, if it was already created. Otherwise
* returns an empty map.
*/
- public Map getIdSnapshot() {
+ public Map<String, ?> getIdSnapshot() {
if (isTemporary()) {
return (replacementIdMap == null) ? Collections.EMPTY_MAP : Collections
.unmodifiableMap(replacementIdMap);
@@ -195,9 +194,7 @@
return false;
}
- Iterator entries = objectIdKeys.entrySet().iterator();
- while (entries.hasNext()) {
- Map.Entry entry = (Map.Entry) entries.next();
+ for (Map.Entry<String, ?> entry : objectIdKeys.entrySet()) {
Object entryKey = entry.getKey();
Object entryValue = entry.getValue();
@@ -299,9 +296,9 @@
*
* @since 1.2
*/
- public Map getReplacementIdMap() {
+ public Map<String, Object> getReplacementIdMap() {
if (replacementIdMap == null) {
- replacementIdMap = new HashMap();
+ replacementIdMap = new HashMap<String, Object>();
}
return replacementIdMap;
@@ -315,7 +312,7 @@
public ObjectId createReplacementId() {
// merge existing and replaced ids to handle a replaced subset of
// a compound primary key
- Map newIdMap = new HashMap(getIdSnapshot());
+ Map<String, Object> newIdMap = new HashMap<String, Object>(getIdSnapshot());
if (replacementIdMap != null) {
newIdMap.putAll(replacementIdMap);
}
@@ -337,7 +334,7 @@
*/
public String toString() {
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
buffer.append("<ObjectId:").append(entityName);
@@ -353,15 +350,12 @@
}
else if (objectIdKeys != null) {
-
// ensure consistent order of the keys, so that toString could be used as a
// unique key, just like id itself
-
- List keys = new ArrayList(objectIdKeys.keySet());
+
+ List<String> keys = new ArrayList<String>(objectIdKeys.keySet());
Collections.sort(keys);
- Iterator it = keys.iterator();
- while (it.hasNext()) {
- Object key = it.next();
+ for (Object key : keys) {
buffer.append(", ");
buffer.append(String.valueOf(key)).append("=").append(
objectIdKeys.get(key));
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/QueryResponse.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/QueryResponse.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/QueryResponse.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/QueryResponse.java Tue Nov 20 09:58:57 2007
@@ -73,7 +73,7 @@
* Returns a List under the current iterator position. Use {@link #isList()} to check
* the result type before calling this method.
*/
- List currentList();
+ List<?> currentList();
/**
* Returns an update count under the current iterator position. Returned value is an
@@ -98,7 +98,7 @@
* null if the query has no lists. Note that this method resets current iterator to an
* undefined state.
*/
- List firstList();
+ List<?> firstList();
/**
* A utility method for quickly retrieving the first update count from the response.
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainInsertBucket.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainInsertBucket.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainInsertBucket.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainInsertBucket.java Tue Nov 20 09:58:57 2007
@@ -126,7 +126,7 @@
Map idMap = id.getReplacementIdMap();
boolean autoPkDone = false;
- Iterator it = dbEntity.getPrimaryKey().iterator();
+ Iterator it = dbEntity.getPrimaryKeys().iterator();
while (it.hasNext()) {
DbAttribute dbAttr = (DbAttribute) it.next();
String dbAttrName = dbAttr.getName();
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=596758&r1=596757&r2=596758&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 Tue Nov 20 09:58:57 2007
@@ -126,7 +126,7 @@
if (isRootDbEntity) {
Map replacementId = o.getObjectId().getReplacementIdMap();
- Iterator pkIt = dbEntity.getPrimaryKey().iterator();
+ Iterator pkIt = dbEntity.getPrimaryKeys().iterator();
while (pkIt.hasNext()) {
String name = ((DbAttribute) pkIt.next()).getName();
if (snapshot.containsKey(name)
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNodeSyncQualifierDescriptor.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNodeSyncQualifierDescriptor.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNodeSyncQualifierDescriptor.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNodeSyncQualifierDescriptor.java Tue Nov 20 09:58:57 2007
@@ -79,7 +79,7 @@
// master PK columns
if (entity.getDbEntity() == dbEntity) {
- Iterator pkIt = entity.getDbEntity().getPrimaryKey().iterator();
+ Iterator pkIt = entity.getDbEntity().getPrimaryKeys().iterator();
while (pkIt.hasNext()) {
final DbAttribute attribute = (DbAttribute) pkIt.next();
attributes.add(attribute);
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java Tue Nov 20 09:58:57 2007
@@ -566,7 +566,7 @@
// create a copy of the original PK list,
// since the list will be modified locally
- List pkAttributes = new ArrayList(nextEntity.getPrimaryKey());
+ List pkAttributes = new ArrayList(nextEntity.getPrimaryKeys());
while (pkAttributes.size() > 0 && relationships.hasNext()) {
DbRelationship nextRelationship = (DbRelationship) relationships.next();
if (!nextRelationship.isToMasterPK()) {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbLoader.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbLoader.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbLoader.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbLoader.java Tue Nov 20 09:58:57 2007
@@ -667,7 +667,7 @@
if (toPK) {
toDependentPK = true;
- if (((DbEntity) relationship.getTargetEntity()).getPrimaryKey().size() == joins
+ if (((DbEntity) relationship.getTargetEntity()).getPrimaryKeys().size() == joins
.size()) {
toMany = false;
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java Tue Nov 20 09:58:57 2007
@@ -21,7 +21,6 @@
import java.util.Collections;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -108,11 +107,8 @@
boolean autoPkDone = false;
DbEntity joinEntity = getJoinEntity();
- List pkAttributes = joinEntity.getPrimaryKey();
- Iterator it = pkAttributes.iterator();
- while (it.hasNext()) {
- DbAttribute dbAttr = (DbAttribute) it.next();
+ for (DbAttribute dbAttr : joinEntity.getPrimaryKeys()) {
String dbAttrName = dbAttr.getName();
if (snapshot.containsKey(dbAttrName)) {
continue;
@@ -148,12 +144,9 @@
Map snapshot = eagerJoinSnapshot();
DbEntity joinEntity = getJoinEntity();
- List pkAttributes = joinEntity.getPrimaryKey();
boolean fetchKey = false;
- Iterator it = pkAttributes.iterator();
- while (it.hasNext()) {
- DbAttribute dbAttr = (DbAttribute) it.next();
+ for (DbAttribute dbAttr : joinEntity.getPrimaryKeys()) {
String dbAttrName = dbAttr.getName();
if (!snapshot.containsKey(dbAttrName)) {
fetchKey = true;
@@ -174,9 +167,7 @@
Expression.EQUAL_TO));
query.setFetchingDataRows(true);
- it = pkAttributes.iterator();
- while (it.hasNext()) {
- DbAttribute dbAttr = (DbAttribute) it.next();
+ for (DbAttribute dbAttr : joinEntity.getPrimaryKeys()) {
query.addCustomDbAttribute(dbAttr.getName());
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java Tue Nov 20 09:58:57 2007
@@ -154,7 +154,7 @@
// I guess this check is redundant, as custom attributes warrant data rows
if (!select.isFetchingCustomAttributes()) {
- Iterator pk = rootEntity.getDbEntity().getPrimaryKey().iterator();
+ Iterator pk = rootEntity.getDbEntity().getPrimaryKeys().iterator();
while (pk.hasNext()) {
DbAttribute attribute = (DbAttribute) pk.next();
clone.addCustomDbAttribute(attribute.getName());
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectResolver.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectResolver.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectResolver.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ObjectResolver.java Tue Nov 20 09:58:57 2007
@@ -20,6 +20,7 @@
package org.apache.cayenne.access;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -47,7 +48,7 @@
DataContext context;
ClassDescriptor descriptor;
- List primaryKey;
+ Collection<DbAttribute> primaryKey;
EntityInheritanceTree inheritanceTree;
boolean refreshObjects;
@@ -72,7 +73,7 @@
+ "' has no DbEntity.");
}
- this.primaryKey = dbEntity.getPrimaryKey();
+ this.primaryKey = dbEntity.getPrimaryKeys();
if (primaryKey.size() == 0) {
throw new CayenneRuntimeException("Won't be able to create ObjectId for '"
+ descriptor.getEntity().getName()
@@ -260,9 +261,9 @@
ObjectId createObjectId(DataRow dataRow, ObjEntity objEntity, String namePrefix) {
- List pk = objEntity == this.descriptor.getEntity() ? this.primaryKey : objEntity
- .getDbEntity()
- .getPrimaryKey();
+ Collection<DbAttribute> pk = objEntity == this.descriptor.getEntity()
+ ? this.primaryKey
+ : objEntity.getDbEntity().getPrimaryKeys();
boolean prefix = namePrefix != null && namePrefix.length() > 0;
@@ -270,7 +271,7 @@
// use some not-so-significant optimizations...
if (pk.size() == 1) {
- DbAttribute attribute = (DbAttribute) pk.get(0);
+ DbAttribute attribute = pk.iterator().next();
String key = (prefix) ? namePrefix + attribute.getName() : attribute
.getName();
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/OptimisticLockException.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/OptimisticLockException.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/OptimisticLockException.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/OptimisticLockException.java Tue Nov 20 09:58:57 2007
@@ -73,7 +73,7 @@
// for PK, ignoring other locking attributes...
Expression qualifier = null;
- Iterator it = rootEntity.getPrimaryKey().iterator();
+ Iterator it = rootEntity.getPrimaryKeys().iterator();
while (it.hasNext()) {
DbAttribute attribute = (DbAttribute) it.next();
Expression attributeQualifier = ExpressionFactory.matchDbExp(attribute
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java Tue Nov 20 09:58:57 2007
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -225,7 +226,7 @@
}
// add unmapped PK
- Iterator pks = getResolver().getEntity().getDbEntity().getPrimaryKey().iterator();
+ Iterator pks = getResolver().getEntity().getDbEntity().getPrimaryKeys().iterator();
while (pks.hasNext()) {
DbAttribute pk = (DbAttribute) pks.next();
appendColumn(targetSource, pk.getName(), prefix + pk.getName());
@@ -255,14 +256,18 @@
*/
private void buildPKIndex() {
// index PK
- List pks = getResolver().getEntity().getDbEntity().getPrimaryKey();
+ Collection<DbAttribute> pks = getResolver()
+ .getEntity()
+ .getDbEntity()
+ .getPrimaryKeys();
this.idIndices = new int[pks.size()];
// this is needed for checking that a valid index is made
Arrays.fill(idIndices, -1);
+ Iterator<DbAttribute> it = pks.iterator();
for (int i = 0; i < idIndices.length; i++) {
- DbAttribute pk = (DbAttribute) pks.get(i);
+ DbAttribute pk = it.next();
for (int j = 0; j < columns.length; j++) {
if (pk.getName().equals(columns[j].getName())) {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLConditionTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLConditionTranslator.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLConditionTranslator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLConditionTranslator.java Tue Nov 20 09:58:57 2007
@@ -20,6 +20,7 @@
import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -477,10 +478,10 @@
String alias = context.getTableAlias(expression.getText(), table
.getFullyQualifiedName());
- List pks = table.getPrimaryKey();
+ Collection<DbAttribute> pks = table.getPrimaryKeys();
if (pks.size() == 1) {
- DbAttribute pk = (DbAttribute) pks.get(0);
+ DbAttribute pk = pks.iterator().next();
context.append(' ').append(alias).append('.').append(pk.getName());
}
else {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLIdentifierColumnsTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLIdentifierColumnsTranslator.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLIdentifierColumnsTranslator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLIdentifierColumnsTranslator.java Tue Nov 20 09:58:57 2007
@@ -118,7 +118,7 @@
// append id columns ... (some may have been appended already via relationships)
DbEntity table = descriptor.getEntity().getDbEntity();
- Iterator it = table.getPrimaryKey().iterator();
+ Iterator it = table.getPrimaryKeys().iterator();
while (it.hasNext()) {
DbAttribute pk = (DbAttribute) it.next();
appendColumn(idVar, pk);
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLPathTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLPathTranslator.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLPathTranslator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLPathTranslator.java Tue Nov 20 09:58:57 2007
@@ -18,6 +18,7 @@
****************************************************************/
package org.apache.cayenne.access.jdbc;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -244,10 +245,10 @@
idPath,
table.getFullyQualifiedName());
- List pks = table.getPrimaryKey();
+ Collection<DbAttribute> pks = table.getPrimaryKeys();
if (pks.size() == 1) {
- DbAttribute pk = (DbAttribute) pks.get(0);
+ DbAttribute pk = pks.iterator().next();
context.append(' ');
if (isUsingAliases()) {
context.append(alias).append('.');
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java Tue Nov 20 09:58:57 2007
@@ -355,7 +355,7 @@
throw new CayenneRuntimeException("Null root DbEntity, can't index PK");
}
- int len = rootEntity.getPrimaryKey().size();
+ int len = rootEntity.getPrimaryKeys().size();
// sanity check
if (len == 0) {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/DataObjectMatchTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/DataObjectMatchTranslator.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/DataObjectMatchTranslator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/DataObjectMatchTranslator.java Tue Nov 20 09:58:57 2007
@@ -72,7 +72,7 @@
// match on target PK
DbEntity ent = (DbEntity) rel.getTargetEntity();
- Iterator pk = ent.getPrimaryKey().iterator();
+ Iterator pk = ent.getPrimaryKeys().iterator();
// index by name
while (pk.hasNext()) {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilder.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilder.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilder.java Tue Nov 20 09:58:57 2007
@@ -17,13 +17,11 @@
* under the License.
****************************************************************/
-
package org.apache.cayenne.access.trans;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Iterator;
-import java.util.List;
import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.map.DbAttribute;
@@ -45,14 +43,13 @@
public String createSqlString(BatchQuery batch) {
DeleteBatchQuery deleteBatch = (DeleteBatchQuery) batch;
String table = batch.getDbEntity().getFullyQualifiedName();
- List qualifierAttributes = deleteBatch.getQualifierAttributes();
StringBuffer query = new StringBuffer("DELETE FROM ");
query.append(table).append(" WHERE ");
- Iterator i = qualifierAttributes.iterator();
+ Iterator<DbAttribute> i = deleteBatch.getQualifierAttributes().iterator();
while (i.hasNext()) {
- DbAttribute attribute = (DbAttribute) i.next();
+ DbAttribute attribute = i.next();
appendDbAttribute(query, attribute);
query.append(deleteBatch.isNull(attribute) ? " IS NULL" : " = ?");
@@ -71,13 +68,12 @@
throws SQLException, Exception {
DeleteBatchQuery deleteBatch = (DeleteBatchQuery) query;
- List qualifierAttributes = deleteBatch.getQualifierAttributes();
int parameterIndex = 1;
+ int i = 0;
- for (int i = 0; i < qualifierAttributes.size(); i++) {
- Object value = query.getValue(i);
- DbAttribute attribute = (DbAttribute) qualifierAttributes.get(i);
+ for (DbAttribute attribute : deleteBatch.getQualifierAttributes()) {
+ Object value = query.getValue(i++);
// skip null attributes... they are translated as "IS NULL"
if (deleteBatch.isNull(attribute)) {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/QueryAssemblerHelper.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/QueryAssemblerHelper.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/QueryAssemblerHelper.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/QueryAssemblerHelper.java Tue Nov 20 09:58:57 2007
@@ -19,6 +19,7 @@
package org.apache.cayenne.access.trans;
+import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -413,13 +414,13 @@
DbJoin join = (DbJoin) joins.get(0);
- DbAttribute att = null;
+ DbAttribute attribute = null;
if (rel.isToMany()) {
DbEntity ent = (DbEntity) join.getRelationship().getTargetEntity();
- List pk = ent.getPrimaryKey();
+ Collection<DbAttribute> pk = ent.getPrimaryKeys();
if (pk.size() != 1) {
- StringBuffer msg = new StringBuffer();
+ StringBuilder msg = new StringBuilder();
msg
.append("DB_NAME expressions can only support ")
.append("targets with a single column PK. ")
@@ -430,12 +431,12 @@
throw new CayenneRuntimeException(msg.toString());
}
- att = (DbAttribute) pk.get(0);
+ attribute = pk.iterator().next();
}
else {
- att = join.getSource();
+ attribute = join.getSource();
}
- processColumn(buf, att);
+ processColumn(buf, attribute);
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/SelectTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/SelectTranslator.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/SelectTranslator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/trans/SelectTranslator.java Tue Nov 20 09:58:57 2007
@@ -353,7 +353,7 @@
// add remaining needed attrs from DbEntity
DbEntity table = getRootDbEntity();
- Iterator pk = table.getPrimaryKey().iterator();
+ Iterator pk = table.getPrimaryKeys().iterator();
while (pk.hasNext()) {
DbAttribute dba = (DbAttribute) pk.next();
appendColumn(columns, null, dba, attributes, null);
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/util/DistinctResultIterator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/util/DistinctResultIterator.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/util/DistinctResultIterator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/util/DistinctResultIterator.java Tue Nov 20 09:58:57 2007
@@ -203,7 +203,7 @@
// to avoid iterating over default entity attributes...
Map id = new HashMap();
- Iterator it = defaultEntity.getPrimaryKey().iterator();
+ Iterator it = defaultEntity.getPrimaryKeys().iterator();
while (it.hasNext()) {
DbAttribute pk = (DbAttribute) it.next();
id.put(pk.getName(), next.get(pk.getName()));
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java Tue Nov 20 09:58:57 2007
@@ -270,7 +270,7 @@
* @since 1.2
*/
protected void createTableAppendPKClause(StringBuffer sqlBuffer, DbEntity entity) {
- Iterator pkit = entity.getPrimaryKey().iterator();
+ Iterator pkit = entity.getPrimaryKeys().iterator();
if (pkit.hasNext()) {
sqlBuffer.append(", PRIMARY KEY (");
boolean firstPk = true;
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java Tue Nov 20 09:58:57 2007
@@ -26,6 +26,7 @@
import java.sql.Statement;
import java.sql.Types;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
@@ -266,9 +267,9 @@
* @since 1.0.2
*/
protected byte[] binaryPK(DbEntity entity) {
- List pkColumns = entity.getPrimaryKey();
+ Collection<DbAttribute> pkColumns = entity.getPrimaryKeys();
if (pkColumns.size() == 1) {
- DbAttribute pk = (DbAttribute) pkColumns.get(0);
+ DbAttribute pk = pkColumns.iterator().next();
if (pk.getMaxLength() > 0
&& (pk.getType() == Types.BINARY || pk.getType() == Types.VARBINARY)) {
return IDUtil.pseudoUniqueSecureByteSequence(pk.getMaxLength());
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java Tue Nov 20 09:58:57 2007
@@ -145,7 +145,7 @@
}
// primary key clause
- Iterator pkit = ent.getPrimaryKey().iterator();
+ Iterator pkit = ent.getPrimaryKeys().iterator();
if (pkit.hasNext()) {
if (first)
first = false;
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.java Tue Nov 20 09:58:57 2007
@@ -167,7 +167,7 @@
}
// primary key clause
- Iterator pkit = ent.getPrimaryKey().iterator();
+ Iterator pkit = ent.getPrimaryKeys().iterator();
if (pkit.hasNext()) {
if (first)
first = false;
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java Tue Nov 20 09:58:57 2007
@@ -125,7 +125,7 @@
}
// primary key clause
- Iterator pkit = ent.getPrimaryKey().iterator();
+ Iterator pkit = ent.getPrimaryKeys().iterator();
if (pkit.hasNext()) {
if (first)
first = false;
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java Tue Nov 20 09:58:57 2007
@@ -200,7 +200,7 @@
protected void createTableAppendPKClause(StringBuffer sqlBuffer, DbEntity entity) {
// must move generated to the front...
- List pkList = new ArrayList(entity.getPrimaryKey());
+ List pkList = new ArrayList(entity.getPrimaryKeys());
Collections.sort(pkList, new PKComparator());
Iterator pkit = pkList.iterator();
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/openbase/OpenBasePkGenerator.java Tue Nov 20 09:58:57 2007
@@ -23,6 +23,7 @@
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -103,12 +104,12 @@
* @since 1.2
*/
protected String newIDString(DbEntity ent) {
- if ((null == ent.getPrimaryKey()) || (1 != ent.getPrimaryKey().size())) {
+ if ((null == ent.getPrimaryKeys()) || (1 != ent.getPrimaryKeys().size())) {
throw new CayenneRuntimeException("Error generating pk for DbEntity "
+ ent.getName()
+ ": pk must be single attribute");
}
- DbAttribute primaryKeyAttribute = (DbAttribute) ent.getPrimaryKey().get(0);
+ DbAttribute primaryKeyAttribute = ent.getPrimaryKeys().iterator().next();
StringBuffer buf = new StringBuffer("NEWID FOR ");
buf.append(ent.getName()).append(' ').append(primaryKeyAttribute.getName());
@@ -158,11 +159,7 @@
}
protected boolean canCreatePK(DbEntity entity) {
- List pk = entity.getPrimaryKey();
- if (pk == null || pk.size() == 0) {
- return false;
- }
- return true;
+ return entity.getPrimaryKeys().size() > 0;
}
/**
@@ -187,7 +184,7 @@
* Returns a String to create PK support for an entity.
*/
protected String createPKString(DbEntity entity) {
- List pk = entity.getPrimaryKey();
+ Collection<DbAttribute> pk = entity.getPrimaryKeys();
if (pk == null || pk.size() == 0) {
throw new CayenneRuntimeException("Entity '"
@@ -195,17 +192,17 @@
+ "' has no PK defined.");
}
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
buffer.append("CREATE PRIMARY KEY ").append(entity.getName()).append(" (");
- Iterator it = pk.iterator();
+ Iterator<DbAttribute> it = pk.iterator();
// at this point we know that there is at least on PK column
- DbAttribute firstColumn = (DbAttribute) it.next();
+ DbAttribute firstColumn = it.next();
buffer.append(firstColumn.getName());
while (it.hasNext()) {
- DbAttribute column = (DbAttribute) it.next();
+ DbAttribute column = it.next();
buffer.append(", ").append(column.getName());
}
@@ -218,7 +215,7 @@
* recommendations.
*/
protected String createUniquePKIndexString(DbEntity entity) {
- List pk = entity.getPrimaryKey();
+ Collection<DbAttribute> pk = entity.getPrimaryKeys();
if (pk == null || pk.size() == 0) {
throw new CayenneRuntimeException("Entity '"
@@ -226,21 +223,21 @@
+ "' has no PK defined.");
}
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
// compound PK doesn't work well with UNIQUE index...
// create a regular one in this case
buffer.append(pk.size() == 1 ? "CREATE UNIQUE INDEX " : "CREATE INDEX ").append(
entity.getName()).append(" (");
- Iterator it = pk.iterator();
+ Iterator<DbAttribute> it = pk.iterator();
// at this point we know that there is at least on PK column
- DbAttribute firstColumn = (DbAttribute) it.next();
+ DbAttribute firstColumn = it.next();
buffer.append(firstColumn.getName());
while (it.hasNext()) {
- DbAttribute column = (DbAttribute) it.next();
+ DbAttribute column = it.next();
buffer.append(", ").append(column.getName());
}
buffer.append(")");
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java Tue Nov 20 09:58:57 2007
@@ -188,7 +188,7 @@
}
// primary key clause
- Iterator pkit = ent.getPrimaryKey().iterator();
+ Iterator pkit = ent.getPrimaryKeys().iterator();
if (pkit.hasNext()) {
if (first)
first = false;
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DbEntity.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DbEntity.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DbEntity.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DbEntity.java Tue Nov 20 09:58:57 2007
@@ -55,12 +55,12 @@
protected String catalog;
protected String schema;
- protected List primaryKey;
+ protected Collection<DbAttribute> primaryKey;
/**
* @since 1.2
*/
- protected Collection generatedAttributes;
+ protected Collection<DbAttribute> generatedAttributes;
protected DbKeyGenerator primaryKeyGenerator;
/**
@@ -69,8 +69,8 @@
public DbEntity() {
super();
- this.primaryKey = new ArrayList(2);
- this.generatedAttributes = new ArrayList(2);
+ this.primaryKey = new ArrayList<DbAttribute>(2);
+ this.generatedAttributes = new ArrayList<DbAttribute>(2);
}
/**
@@ -154,13 +154,20 @@
}
/**
- * Returns an unmodifiable list of DbAttributes representing the primary key of the
- * table described by this DbEntity.
+ * Returns an unmodifiable collection of DbAttributes representing the primary key of
+ * the table described by this DbEntity.
+ *
+ * @since 3.0
+ */
+ public Collection<DbAttribute> getPrimaryKeys() {
+ return Collections.unmodifiableCollection(primaryKey);
+ }
+
+ /**
+ * @deprecated since 3.0 use {@link #getPrimaryKeys()} that returns a collection.
*/
- // TODO: (Andrus 09/06/2005) Change to Collection ... no reason to keep as list other
- // than backwards compatibility
- public List getPrimaryKey() {
- return Collections.unmodifiableList(primaryKey);
+ public List<DbAttribute> getPrimaryKey() {
+ return new ArrayList<DbAttribute>(getPrimaryKeys());
}
/**
@@ -169,7 +176,7 @@
*
* @since 1.2
*/
- public Collection getGeneratedAttributes() {
+ public Collection<DbAttribute> getGeneratedAttributes() {
return Collections.unmodifiableCollection(generatedAttributes);
}
@@ -314,19 +321,19 @@
}
// catch clearing (event with null ('any') DbAttribute)
- Attribute attr = e.getAttribute();
- if ((attr == null) && (this.attributes.isEmpty())) {
+ Attribute attribute = e.getAttribute();
+ if ((attribute == null) && (this.attributes.isEmpty())) {
this.primaryKey.clear();
this.generatedAttributes.clear();
return;
}
// make sure we handle a DbAttribute
- if (!(attr instanceof DbAttribute)) {
+ if (!(attribute instanceof DbAttribute)) {
return;
}
- DbAttribute dbAttr = (DbAttribute) attr;
+ DbAttribute dbAttribute = (DbAttribute) attribute;
// handle attribute name changes
if (e.getId() == AttributeEvent.CHANGE && e.isNameChange()) {
@@ -346,7 +353,7 @@
Iterator ait = oe.getAttributes().iterator();
while (ait.hasNext()) {
ObjAttribute oa = (ObjAttribute) ait.next();
- if (oa.getDbAttribute() == dbAttr) {
+ if (oa.getDbAttribute() == dbAttribute) {
oa.setDbAttributeName(newName);
}
}
@@ -360,10 +367,10 @@
Iterator joins = rel.getJoins().iterator();
while (joins.hasNext()) {
DbJoin join = (DbJoin) joins.next();
- if (join.getSource() == dbAttr) {
+ if (join.getSource() == dbAttribute) {
join.setSourceName(newName);
}
- if (join.getTarget() == dbAttr) {
+ if (join.getTarget() == dbAttribute) {
join.setTargetName(newName);
}
}
@@ -375,26 +382,25 @@
attributes.remove(oldName);
// add the attribute back in with the new name
- super.addAttribute(dbAttr);
+ super.addAttribute(dbAttribute);
}
// handle PK refresh
- if (primaryKey.contains(dbAttr) || dbAttr.isPrimaryKey()) {
+ if (primaryKey.contains(dbAttribute) || dbAttribute.isPrimaryKey()) {
switch (e.getId()) {
case MapEvent.ADD:
- this.primaryKey.add(attr);
+ this.primaryKey.add(dbAttribute);
break;
case MapEvent.REMOVE:
- this.primaryKey.remove(attr);
+ this.primaryKey.remove(dbAttribute);
break;
default:
// generic update
this.primaryKey.clear();
- Iterator it = this.getAttributes().iterator();
- while (it.hasNext()) {
- DbAttribute dba = (DbAttribute) it.next();
+ for (Object next : getAttributes()) {
+ DbAttribute dba = (DbAttribute) next;
if (dba.isPrimaryKey()) {
this.primaryKey.add(dba);
}
@@ -403,22 +409,21 @@
}
// handle generated key refresh
- if (generatedAttributes.contains(dbAttr) || dbAttr.isGenerated()) {
+ if (generatedAttributes.contains(dbAttribute) || dbAttribute.isGenerated()) {
switch (e.getId()) {
case MapEvent.ADD:
- this.generatedAttributes.add(attr);
+ this.generatedAttributes.add(dbAttribute);
break;
case MapEvent.REMOVE:
- this.generatedAttributes.remove(attr);
+ this.generatedAttributes.remove(dbAttribute);
break;
default:
// generic update
this.generatedAttributes.clear();
- Iterator it = this.getAttributes().iterator();
- while (it.hasNext()) {
- DbAttribute dba = (DbAttribute) it.next();
+ for (Object next : getAttributes()) {
+ DbAttribute dba = (DbAttribute) next;
if (dba.isGenerated()) {
this.generatedAttributes.add(dba);
}
@@ -497,7 +502,7 @@
}
Map replacement = id.getReplacementIdMap();
- Collection pk = getPrimaryKey();
+ Collection pk = getPrimaryKeys();
if (pk.size() != replacement.size()) {
return false;
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/validator/DbEntityValidator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/validator/DbEntityValidator.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/validator/DbEntityValidator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/validator/DbEntityValidator.java Tue Nov 20 09:58:57 2007
@@ -55,7 +55,7 @@
ProjectPath path,
Validator validator) {
if (ent.getAttributes().size() > 0
- && ent.getPrimaryKey().size() == 0) {
+ && ent.getPrimaryKeys().size() == 0) {
DataMap map = ent.getDataMap();
if (map != null && map.getMappedEntities(ent).size() > 0) {
// there is an objentity, so complain about no pk
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/DeleteBatchQuery.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/DeleteBatchQuery.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/DeleteBatchQuery.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/DeleteBatchQuery.java Tue Nov 20 09:58:57 2007
@@ -39,7 +39,7 @@
protected List dbAttributes;
protected boolean usingOptimisticLocking;
- private List qualifierAttributes;
+ private Collection<DbAttribute> qualifierAttributes;
private Collection nullQualifierNames;
/**
@@ -51,7 +51,7 @@
* @param batchCapacity Estimated size of the batch.
*/
public DeleteBatchQuery(DbEntity dbEntity, int batchCapacity) {
- this(dbEntity, dbEntity.getPrimaryKey(), Collections.EMPTY_SET, batchCapacity);
+ this(dbEntity, dbEntity.getPrimaryKeys(), Collections.EMPTY_SET, batchCapacity);
}
/**
@@ -63,8 +63,9 @@
* values.
* @param batchCapacity Estimated size of the batch.
*/
- public DeleteBatchQuery(DbEntity dbEntity, List qualifierAttributes,
- Collection nullQualifierNames, int batchCapacity) {
+ public DeleteBatchQuery(DbEntity dbEntity,
+ Collection<DbAttribute> qualifierAttributes, Collection nullQualifierNames,
+ int batchCapacity) {
super(dbEntity);
@@ -105,10 +106,10 @@
}
/**
- * @since 1.2
+ * @since 3.0 (since 3.0 changed to return collection instead of a list).
*/
- public List getQualifierAttributes() {
- return Collections.unmodifiableList(qualifierAttributes);
+ public Collection<DbAttribute> getQualifierAttributes() {
+ return qualifierAttributes;
}
public Object getValue(int dbAttributeIndex) {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/IDUtil.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/IDUtil.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/IDUtil.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/IDUtil.java Tue Nov 20 09:58:57 2007
@@ -19,6 +19,7 @@
package org.apache.cayenne.util;
+import java.io.IOException;
import java.net.UnknownHostException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
@@ -31,7 +32,7 @@
* @author Andrus Adamchik
*/
public class IDUtil {
-
+
private static final int BITMASK_0 = 0xff;
private static final int BITMASK_1 = 0xff << 8;
private static final int BITMASK_2 = 0xff << 16;
@@ -70,13 +71,18 @@
/**
* Prints a byte value to a StringBuffer as a double digit hex value.
*
- * @since 1.2
+ * @since 1.2 Since 3.0 signature has changed to take Appendable argument.
*/
- public static void appendFormattedByte(StringBuffer buffer, byte byteValue) {
+ public static void appendFormattedByte(Appendable buffer, byte byteValue) {
final String digits = "0123456789ABCDEF";
- buffer.append(digits.charAt((byteValue >>> 4) & 0xF));
- buffer.append(digits.charAt(byteValue & 0xF));
+ try {
+ buffer.append(digits.charAt((byteValue >>> 4) & 0xF));
+ buffer.append(digits.charAt(byteValue & 0xF));
+ }
+ catch (IOException e) {
+ throw new CayenneRuntimeException("Error appending data to buffer", e);
+ }
}
/**
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbAttributeTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbAttributeTest.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbAttributeTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbAttributeTest.java Tue Nov 20 09:58:57 2007
@@ -20,7 +20,7 @@
package org.apache.cayenne.map;
import java.sql.Types;
-import java.util.List;
+import java.util.Collection;
import junit.framework.TestCase;
@@ -49,12 +49,12 @@
public void testPrimaryKeyEmpty() {
DbEntity dbe = new DbEntity("e");
- assertNotNull(dbe.getPrimaryKey());
+ assertNotNull(dbe.getPrimaryKeys());
DbAttribute a = new DbAttribute("abc", Types.INTEGER, dbe);
dbe.addAttribute(a);
- assertNotNull(dbe.getPrimaryKey());
- assertEquals(0, dbe.getPrimaryKey().size());
+ assertNotNull(dbe.getPrimaryKeys());
+ assertEquals(0, dbe.getPrimaryKeys().size());
}
public void testPrimaryKeyAdded() {
@@ -62,26 +62,23 @@
DbAttribute a = new DbAttribute("abc", Types.INTEGER, dbe);
a.setPrimaryKey(true);
dbe.addAttribute(a);
- List pk = dbe.getPrimaryKey();
+ Collection<DbAttribute> pk = dbe.getPrimaryKeys();
assertNotNull(pk);
assertEquals(1, pk.size());
- assertEquals(pk, dbe.getPrimaryKey());
}
public void testPrimaryKeyAttributeChanged() {
DbEntity dbe = new DbEntity("e");
DbAttribute a = new DbAttribute("abc", Types.INTEGER, dbe);
dbe.addAttribute(a);
- List pk = dbe.getPrimaryKey();
+ Collection<DbAttribute> pk = dbe.getPrimaryKeys();
assertNotNull(pk);
assertEquals(0, pk.size());
- assertEquals(pk, dbe.getPrimaryKey());
a.setPrimaryKey(true);
- pk = dbe.getPrimaryKey();
+ pk = dbe.getPrimaryKeys();
assertNotNull(pk);
assertEquals(1, pk.size());
- assertEquals(pk, dbe.getPrimaryKey());
}
public void testPrimaryKeyRemoved() {
@@ -89,33 +86,28 @@
DbAttribute a = new DbAttribute("abc", Types.INTEGER, dbe);
a.setPrimaryKey(true);
dbe.addAttribute(a);
- List pk = dbe.getPrimaryKey();
+ Collection<DbAttribute> pk = dbe.getPrimaryKeys();
assertNotNull(pk);
assertEquals(1, pk.size());
- assertEquals(pk, dbe.getPrimaryKey());
dbe.removeAttribute(a.getName());
- pk = dbe.getPrimaryKey();
+ pk = dbe.getPrimaryKeys();
assertNotNull(pk);
- assertEquals(0, pk.size());
- assertEquals(pk, dbe.getPrimaryKey());
- }
+ assertEquals(0, pk.size()); }
public void testAttributesCleared() {
DbEntity dbe = new DbEntity("e");
DbAttribute a = new DbAttribute("abc", Types.INTEGER, dbe);
a.setPrimaryKey(true);
dbe.addAttribute(a);
- List pk = dbe.getPrimaryKey();
+ Collection<DbAttribute> pk = dbe.getPrimaryKeys();
assertNotNull(pk);
assertEquals(1, pk.size());
- assertEquals(pk, dbe.getPrimaryKey());
dbe.clearAttributes();
- pk = dbe.getPrimaryKey();
+ pk = dbe.getPrimaryKeys();
assertNotNull(pk);
assertEquals(0, pk.size());
- assertEquals(pk, dbe.getPrimaryKey());
}
public void testAutoIncrement() throws Exception {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbEntityTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbEntityTest.java?rev=596758&r1=596757&r2=596758&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbEntityTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbEntityTest.java Tue Nov 20 09:58:57 2007
@@ -19,7 +19,7 @@
package org.apache.cayenne.map;
-import java.util.List;
+import java.util.Collection;
import org.apache.cayenne.exp.Expression;
import org.apache.cayenne.remote.hessian.service.HessianUtil;
@@ -41,12 +41,12 @@
DbEntity d2 = (DbEntity) Util.cloneViaSerialization(entity);
- assertNotNull(d2.getPrimaryKey());
- assertEquals(entity.getPrimaryKey().size(), d2.getPrimaryKey().size());
+ assertNotNull(d2.getPrimaryKeys());
+ assertEquals(entity.getPrimaryKeys().size(), d2.getPrimaryKeys().size());
DbAttribute pk2 = (DbAttribute) d2.getAttribute(pk.getName());
assertNotNull(pk2);
- assertTrue(d2.getPrimaryKey().contains(pk2));
+ assertTrue(d2.getPrimaryKeys().contains(pk2));
assertNotNull(d2.getGeneratedAttributes());
assertEquals(entity.getGeneratedAttributes().size(), d2
@@ -73,12 +73,12 @@
entity,
new EntityResolver());
- assertNotNull(d2.getPrimaryKey());
- assertEquals(entity.getPrimaryKey().size(), d2.getPrimaryKey().size());
+ assertNotNull(d2.getPrimaryKeys());
+ assertEquals(entity.getPrimaryKeys().size(), d2.getPrimaryKeys().size());
DbAttribute pk2 = (DbAttribute) d2.getAttribute(pk.getName());
assertNotNull(pk2);
- assertTrue(d2.getPrimaryKey().contains(pk2));
+ assertTrue(d2.getPrimaryKeys().contains(pk2));
assertNotNull(d2.getGeneratedAttributes());
assertEquals(entity.getGeneratedAttributes().size(), d2
@@ -143,10 +143,10 @@
a2.setPrimaryKey(true);
ent.addAttribute(a2);
- List pk = ent.getPrimaryKey();
+ Collection<DbAttribute> pk = ent.getPrimaryKeys();
assertNotNull(pk);
assertEquals(1, pk.size());
- assertSame(a2, pk.get(0));
+ assertSame(a2, pk.iterator().next());
}
public void testAddPKAttribute() {
@@ -156,9 +156,9 @@
a1.setName("a1");
a1.setPrimaryKey(false);
- assertTrue(ent.getPrimaryKey().isEmpty());
+ assertTrue(ent.getPrimaryKeys().isEmpty());
ent.addAttribute(a1);
- assertTrue(ent.getPrimaryKey().isEmpty());
+ assertTrue(ent.getPrimaryKeys().isEmpty());
}
public void testChangeAttributeToPK() {
@@ -169,9 +169,9 @@
a1.setPrimaryKey(false);
ent.addAttribute(a1);
- assertFalse(ent.getPrimaryKey().contains(a1));
+ assertFalse(ent.getPrimaryKeys().contains(a1));
a1.setPrimaryKey(true);
- assertTrue(ent.getPrimaryKey().contains(a1));
+ assertTrue(ent.getPrimaryKeys().contains(a1));
}
public void testChangePKAttribute() {
@@ -182,9 +182,9 @@
a1.setPrimaryKey(true);
ent.addAttribute(a1);
- assertTrue(ent.getPrimaryKey().contains(a1));
+ assertTrue(ent.getPrimaryKeys().contains(a1));
a1.setPrimaryKey(false);
- assertFalse(ent.getPrimaryKey().contains(a1));
+ assertFalse(ent.getPrimaryKeys().contains(a1));
}
public void testRemoveAttribute() {