You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2017/03/24 11:56:54 UTC
[3/3] cayenne git commit: CAY-2077 Bug in CayenneRuntimeException
using wrong specified string in Formatter plus cleanup
CAY-2077 Bug in CayenneRuntimeException using wrong specified string in Formatter
plus cleanup
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/2be06d62
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/2be06d62
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/2be06d62
Branch: refs/heads/master
Commit: 2be06d62b2626dea132d6eb891e6242983dfd16b
Parents: 8733147
Author: Nikita Timofeev <st...@gmail.com>
Authored: Fri Mar 24 14:56:41 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Fri Mar 24 14:56:41 2017 +0300
----------------------------------------------------------------------
.../cayenne/gen/ClassGenerationAction.java | 2 +-
.../org/apache/cayenne/gen/EntityUtils.java | 3 +-
.../apache/cayenne/remote/ClientChannel.java | 10 ++--
.../cayenne/jcache/JCacheEntryLoader.java | 2 +-
.../java/org/apache/cayenne/BaseContext.java | 18 +++----
.../main/java/org/apache/cayenne/Cayenne.java | 20 +++----
.../java/org/apache/cayenne/CayenneContext.java | 2 +-
.../org/apache/cayenne/CayenneDataObject.java | 10 ++--
.../cayenne/ObjectContextDeleteAction.java | 57 +++++++-------------
.../access/ClientServerChannelQueryAction.java | 6 +--
.../org/apache/cayenne/access/DataContext.java | 6 +--
.../org/apache/cayenne/access/DataDomain.java | 11 ++--
.../cayenne/access/DataDomainFlushObserver.java | 7 ++-
.../access/DataDomainIndirectDiffBuilder.java | 9 ++--
.../cayenne/access/DataDomainInsertBucket.java | 2 +-
.../access/DataDomainLegacyQueryAction.java | 4 +-
.../cayenne/access/DataDomainQueryAction.java | 4 +-
.../cayenne/access/DataDomainSyncBucket.java | 8 +--
.../org/apache/cayenne/access/DataNode.java | 2 +-
.../access/DataNodeSyncQualifierDescriptor.java | 4 +-
.../access/DefaultObjectMapRetainStrategy.java | 2 +-
.../apache/cayenne/access/FlattenedArcKey.java | 17 +++---
.../access/HierarchicalObjectResolver.java | 6 +--
.../access/HierarchicalObjectResolverNode.java | 2 +-
.../cayenne/access/IncrementalFaultList.java | 4 +-
.../JoinedIdParentAttachementStrategy.java | 9 +---
.../apache/cayenne/access/ObjectResolver.java | 7 ++-
.../org/apache/cayenne/access/ObjectStore.java | 2 +-
.../access/PrefetchProcessorJointNode.java | 3 +-
.../access/PrefetchProcessorTreeBuilder.java | 4 +-
.../org/apache/cayenne/access/ToOneFault.java | 13 ++---
.../jdbc/ConnectionAwareResultIterator.java | 10 ++--
.../cayenne/access/jdbc/JDBCResultIterator.java | 2 +-
.../cayenne/access/jdbc/ProcedureAction.java | 3 +-
.../access/jdbc/RowDescriptorBuilder.java | 30 ++++-------
.../cayenne/access/jdbc/reader/IdRowReader.java | 2 +-
.../batch/DefaultBatchTranslatorFactory.java | 2 +-
.../ejbql/EJBQLIdentifierColumnsTranslator.java | 17 +++---
.../ejbql/EJBQLSelectColumnsTranslator.java | 2 +-
.../select/DefaultSelectTranslator.java | 8 +--
.../translator/select/OrderingTranslator.java | 2 +-
.../translator/select/QueryAssemblerHelper.java | 26 ++++-----
.../cayenne/access/types/CalendarType.java | 14 ++---
.../cayenne/access/types/ExtendedEnumType.java | 14 ++---
.../access/util/IteratedSelectObserver.java | 2 +-
.../cayenne/ashwood/AshwoodEntitySorter.java | 4 +-
.../apache/cayenne/cache/EhCacheQueryCache.java | 2 +-
.../org/apache/cayenne/cache/MapQueryCache.java | 2 +-
.../org/apache/cayenne/cache/OSQueryCache.java | 25 +++------
.../cayenne/datasource/DataSourceBuilder.java | 8 +--
.../cayenne/datasource/DriverDataSource.java | 6 +--
.../datasource/PoolingDataSourceBuilder.java | 8 +--
.../org/apache/cayenne/dba/JdbcAdapter.java | 8 +--
.../org/apache/cayenne/dba/JdbcPkGenerator.java | 10 ++--
.../org/apache/cayenne/dba/db2/DB2Adapter.java | 4 +-
.../cayenne/dba/db2/DB2QualifierTranslator.java | 4 +-
.../apache/cayenne/dba/derby/DerbyAdapter.java | 7 ++-
.../dba/derby/DerbyQualifierTranslator.java | 3 +-
.../cayenne/dba/firebird/FirebirdAdapter.java | 4 +-
.../cayenne/dba/frontbase/FrontBaseAdapter.java | 8 +--
.../dba/frontbase/FrontBasePkGenerator.java | 2 +-
.../frontbase/FrontBaseQualifierTranslator.java | 2 +-
.../dba/hsqldb/HSQLQualifierTranslator.java | 3 +-
.../cayenne/dba/ingres/IngresAdapter.java | 4 +-
.../apache/cayenne/dba/mysql/MySQLAdapter.java | 8 +--
.../dba/mysql/MySQLQualifierTranslator.java | 3 +-
.../cayenne/dba/openbase/OpenBaseAdapter.java | 10 ++--
.../dba/openbase/OpenBasePkGenerator.java | 10 ++--
.../dba/oracle/Oracle8LOBBatchAction.java | 4 +-
.../dba/oracle/Oracle8LOBBatchTranslator.java | 4 +-
.../cayenne/dba/oracle/OraclePkGenerator.java | 2 +-
.../cayenne/dba/postgres/PostgresAdapter.java | 8 +--
.../cayenne/dba/sybase/SybasePkGenerator.java | 6 +--
.../cayenne/exp/LikeExpressionHelper.java | 2 +-
.../apache/cayenne/exp/parser/ASTExtract.java | 2 +-
.../apache/cayenne/graph/ChildDiffLoader.java | 4 +-
.../cayenne/log/CommonsJdbcEventLogger.java | 7 +--
.../java/org/apache/cayenne/map/DataMap.java | 9 +---
.../java/org/apache/cayenne/map/DbEntity.java | 5 +-
.../org/apache/cayenne/map/DbRelationship.java | 2 +-
.../apache/cayenne/map/EmbeddedAttribute.java | 4 +-
.../org/apache/cayenne/map/MappingCache.java | 4 +-
.../java/org/apache/cayenne/map/ObjEntity.java | 9 ++--
.../org/apache/cayenne/map/ObjRelationship.java | 8 +--
.../org/apache/cayenne/map/Relationship.java | 4 +-
.../org/apache/cayenne/query/AbstractQuery.java | 3 +-
.../org/apache/cayenne/query/BatchQueryRow.java | 2 +-
.../org/apache/cayenne/query/EJBQLQuery.java | 3 +-
.../org/apache/cayenne/query/FluentSelect.java | 4 +-
.../org/apache/cayenne/query/IndirectQuery.java | 5 +-
.../org/apache/cayenne/query/MappedSelect.java | 2 +-
.../org/apache/cayenne/query/NamedQuery.java | 8 +--
.../org/apache/cayenne/query/ObjectIdQuery.java | 5 +-
.../apache/cayenne/query/RelationshipQuery.java | 17 ++----
.../java/org/apache/cayenne/query/SQLExec.java | 4 +-
.../org/apache/cayenne/query/SelectById.java | 4 +-
.../cayenne/query/SelectQueryMetadata.java | 4 +-
.../query/SelectQueryPrefetchRouterAction.java | 6 +--
.../cayenne/reflect/ClassDescriptorMap.java | 2 +-
.../apache/cayenne/reflect/FieldAccessor.java | 10 +---
.../reflect/PersistentDescriptorFactory.java | 2 +-
.../remote/RemoteIncrementalFaultList.java | 9 ++--
.../cayenne/remote/service/DispatchHelper.java | 12 ++---
.../apache/cayenne/tx/TransactionFilter.java | 2 +-
.../apache/cayenne/util/DeepMergeOperation.java | 3 +-
.../apache/cayenne/util/IndexPropertyList.java | 6 +--
.../org/apache/cayenne/util/MemoryClob.java | 16 +++---
.../cayenne/util/ObjectDetachOperation.java | 5 +-
.../cayenne/util/PersistentObjectHolder.java | 6 +--
.../cayenne/util/PersistentObjectList.java | 6 +--
.../cayenne/util/PersistentObjectMap.java | 26 ++++-----
.../cayenne/util/PersistentObjectSet.java | 14 ++---
.../velocity/VelocitySQLTemplateProcessor.java | 7 ++-
docs/doc/src/main/resources/RELEASE-NOTES.txt | 1 +
.../org/apache/cayenne/event/XMPPBridge.java | 44 ++++-----------
.../dialog/ResolveDbRelationshipDialog.java | 7 ++-
.../cayenne/pref/CayenneProjectPreferences.java | 18 +++----
.../cayenne/pref/ChildrenMapPreference.java | 51 ++++++------------
.../apache/cayenne/swing/BeanActionBinding.java | 3 +-
119 files changed, 362 insertions(+), 574 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
----------------------------------------------------------------------
diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
index 2c3fbda..c07a3cb 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
@@ -291,7 +291,7 @@ public class ClassGenerationAction {
}
if (!destDir.canWrite()) {
- throw new CayenneRuntimeException("Do not have write permissions for " + destDir);
+ throw new CayenneRuntimeException("Do not have write permissions for %s", destDir);
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-cgen/src/main/java/org/apache/cayenne/gen/EntityUtils.java
----------------------------------------------------------------------
diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/EntityUtils.java b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/EntityUtils.java
index ecf2a3f..cd814db 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/EntityUtils.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/EntityUtils.java
@@ -257,8 +257,7 @@ public class EntityUtils {
// its type.
ObjAttribute attribute = targetEntity.getAttribute(relationship.getMapKey());
if (attribute == null) {
- throw new CayenneRuntimeException("Invalid map key '" + relationship.getMapKey()
- + "', no matching attribute found");
+ throw new CayenneRuntimeException("Invalid map key '%s', no matching attribute found", relationship.getMapKey());
}
return attribute.getType();
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java b/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
index ef17e3a..8353bc4 100644
--- a/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
+++ b/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
@@ -173,8 +173,7 @@ public class ClientChannel implements DataChannel {
// sanity check
if (id == null) {
- throw new CayenneRuntimeException("Server returned an object without an id: "
- + object);
+ throw new CayenneRuntimeException("Server returned an object without an id: %s", object);
}
return merger.merge(object);
@@ -300,10 +299,9 @@ public class ClientChannel implements DataChannel {
if (result != null && !resultClass.isInstance(result)) {
String resultString = new ToStringBuilder(result).toString();
- throw new CayenneRuntimeException("Expected result type: "
- + resultClass.getName()
- + ", actual: "
- + resultString);
+ throw new CayenneRuntimeException("Expected result type: %s, actual: %s"
+ , resultClass.getName()
+ , resultString);
}
return resultClass.cast(result);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-jcache/src/main/java/org/apache/cayenne/jcache/JCacheEntryLoader.java
----------------------------------------------------------------------
diff --git a/cayenne-jcache/src/main/java/org/apache/cayenne/jcache/JCacheEntryLoader.java b/cayenne-jcache/src/main/java/org/apache/cayenne/jcache/JCacheEntryLoader.java
index 1dbf3c1..4d247ae 100644
--- a/cayenne-jcache/src/main/java/org/apache/cayenne/jcache/JCacheEntryLoader.java
+++ b/cayenne-jcache/src/main/java/org/apache/cayenne/jcache/JCacheEntryLoader.java
@@ -44,7 +44,7 @@ public class JCacheEntryLoader implements EntryProcessor<String, List, List> {
List result = (List)entryFactory.createObject();
// sanity checking value
if (result == null) {
- throw new CayenneRuntimeException("Null object created: " + entry.getKey());
+ throw new CayenneRuntimeException("Null object created: %s", entry.getKey());
}
entry.setValue(result);
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/BaseContext.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/BaseContext.java b/cayenne-server/src/main/java/org/apache/cayenne/BaseContext.java
index 0ff58e1..ac9cc7a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/BaseContext.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/BaseContext.java
@@ -253,19 +253,19 @@ public abstract class BaseContext implements ObjectContext {
// first look for the ID in the local GraphManager
synchronized (getGraphManager()) {
+ @SuppressWarnings("unchecked")
T localObject = (T) getGraphManager().getNode(id);
if (localObject != null) {
return localObject;
}
- // create a hollow object, optimistically assuming that the ID we
- // got from
- // 'objectFromAnotherContext' is a valid ID either in the parent
- // context or in
- // the DB. This essentially defers possible FaultFailureExceptions.
+ // create a hollow object, optimistically assuming that the ID we got from
+ // 'objectFromAnotherContext' is a valid ID either in the parent context or in the DB.
+ // This essentially defers possible FaultFailureExceptions.
ClassDescriptor descriptor = getEntityResolver().getClassDescriptor(id.getEntityName());
- Persistent persistent = (Persistent) descriptor.createObject();
+ @SuppressWarnings("unchecked")
+ T persistent = (T) descriptor.createObject();
persistent.setObjectContext(this);
persistent.setObjectId(id);
@@ -273,7 +273,7 @@ public abstract class BaseContext implements ObjectContext {
getGraphManager().registerNode(id, persistent);
- return (T) persistent;
+ return persistent;
}
}
@@ -317,7 +317,7 @@ public abstract class BaseContext implements ObjectContext {
if (objects.size() == 0) {
return null;
} else if (objects.size() > 1) {
- throw new CayenneRuntimeException("Expected zero or one object, instead query matched: " + objects.size());
+ throw new CayenneRuntimeException("Expected zero or one object, instead query matched: %d", objects.size());
}
return objects.get(0);
@@ -501,7 +501,7 @@ public abstract class BaseContext implements ObjectContext {
case DataChannel.FLUSH_CASCADE_SYNC:
return onContextFlush(originatingContext, changes, true);
default:
- throw new CayenneRuntimeException("Unrecognized SyncMessage type: " + syncType);
+ throw new CayenneRuntimeException("Unrecognized SyncMessage type: %d", syncType);
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/Cayenne.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/Cayenne.java b/cayenne-server/src/main/java/org/apache/cayenne/Cayenne.java
index 0b34b49..8098bf5 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/Cayenne.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/Cayenne.java
@@ -270,7 +270,7 @@ public class Cayenne {
Object value = pkForObject(dataObject);
if (!(value instanceof Number)) {
- throw new CayenneRuntimeException("PK is not a number: " + dataObject.getObjectId());
+ throw new CayenneRuntimeException("PK is not a number: %s", dataObject.getObjectId());
}
return ((Number) value).longValue();
@@ -285,7 +285,7 @@ public class Cayenne {
Object value = pkForObject(dataObject);
if (!(value instanceof Number)) {
- throw new CayenneRuntimeException("PK is not a number: " + dataObject.getObjectId());
+ throw new CayenneRuntimeException("PK is not a number: %s", dataObject.getObjectId());
}
return ((Number) value).intValue();
@@ -300,7 +300,7 @@ public class Cayenne {
Map<String, Object> pk = extractObjectId(dataObject);
if (pk.size() != 1) {
- throw new CayenneRuntimeException("Expected single column PK, got " + pk.size() + " columns, ID: " + pk);
+ throw new CayenneRuntimeException("Expected single column PK, got %d columns, ID: %s", pk.size(), pk);
}
return pk.entrySet().iterator().next().getValue();
@@ -389,7 +389,7 @@ public class Cayenne {
ObjEntity entity = context.getEntityResolver().getObjEntity(dataObjectClass);
if (entity == null) {
- throw new CayenneRuntimeException("Non-existent ObjEntity for class: " + dataObjectClass);
+ throw new CayenneRuntimeException("Non-existent ObjEntity for class: %s", dataObjectClass);
}
return (T) objectForPK(context, new ObjectId(entity.getName(), pk));
@@ -407,7 +407,7 @@ public class Cayenne {
* @see #objectForPK(ObjectContext, ObjectId)
*/
public static Object objectForPK(ObjectContext context, String objEntityName, int pk) {
- return objectForPK(context, buildId(context, objEntityName, Integer.valueOf(pk)));
+ return objectForPK(context, buildId(context, objEntityName, pk));
}
/**
@@ -469,7 +469,7 @@ public class Cayenne {
if (objects.size() == 0) {
return null;
} else if (objects.size() > 1) {
- throw new CayenneRuntimeException("Expected zero or one object, instead query matched: " + objects.size());
+ throw new CayenneRuntimeException("Expected zero or one object, instead query matched: %d", objects.size());
}
return objects.get(0);
@@ -486,12 +486,12 @@ public class Cayenne {
ObjEntity entity = context.getEntityResolver().getObjEntity(objEntityName);
if (entity == null) {
- throw new CayenneRuntimeException("Non-existent ObjEntity: " + objEntityName);
+ throw new CayenneRuntimeException("Non-existent ObjEntity: %s", objEntityName);
}
Collection<String> pkAttributes = entity.getPrimaryKeyNames();
if (pkAttributes.size() != 1) {
- throw new CayenneRuntimeException("PK contains " + pkAttributes.size() + " columns, expected 1.");
+ throw new CayenneRuntimeException("PK contains %d columns, expected 1.", pkAttributes.size());
}
String attr = pkAttributes.iterator().next();
@@ -509,12 +509,12 @@ public class Cayenne {
ObjEntity entity = context.getEntityResolver().getObjEntity(dataObjectClass);
if (entity == null) {
- throw new CayenneRuntimeException("Unmapped DataObject Class: " + dataObjectClass.getName());
+ throw new CayenneRuntimeException("Unmapped DataObject Class: %s", dataObjectClass.getName());
}
Collection<String> pkAttributes = entity.getPrimaryKeyNames();
if (pkAttributes.size() != 1) {
- throw new CayenneRuntimeException("PK contains " + pkAttributes.size() + " columns, expected 1.");
+ throw new CayenneRuntimeException("PK contains %d columns, expected 1.", pkAttributes.size());
}
String attr = pkAttributes.iterator().next();
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/CayenneContext.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/CayenneContext.java b/cayenne-server/src/main/java/org/apache/cayenne/CayenneContext.java
index 856d77b..c352ae0 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/CayenneContext.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/CayenneContext.java
@@ -245,7 +245,7 @@ public class CayenneContext extends BaseContext {
ObjEntity entity = getEntityResolver().getObjEntity(persistentClass);
if (entity == null) {
- throw new CayenneRuntimeException("No entity mapped for class: " + persistentClass);
+ throw new CayenneRuntimeException("No entity mapped for class: %s", persistentClass);
}
ClassDescriptor descriptor = getEntityResolver().getClassDescriptor(entity.getName());
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
index 0aca689..6a0c23e 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
@@ -396,8 +396,8 @@ public class CayenneDataObject extends PersistentObject implements DataObject, V
} else if (this.getObjectContext() != null && object.getObjectContext() == null) {
this.getObjectContext().registerNewObject(object);
} else {
- throw new CayenneRuntimeException("Cannot set object as destination of relationship " + relationshipName
- + " because it is in a different ObjectContext");
+ throw new CayenneRuntimeException("Cannot set object as destination of relationship %s"
+ + " because it is in a different ObjectContext", relationshipName);
}
}
@@ -581,7 +581,7 @@ public class CayenneDataObject extends PersistentObject implements DataObject, V
ObjEntity objEntity = getObjectContext().getEntityResolver().getObjEntity(this);
if (objEntity == null) {
- throw new CayenneRuntimeException("No ObjEntity mapping found for DataObject " + getClass().getName());
+ throw new CayenneRuntimeException("No ObjEntity mapping found for DataObject %s", getClass().getName());
}
// validate mandatory attributes
@@ -607,8 +607,8 @@ public class CayenneDataObject extends PersistentObject implements DataObject, V
DbAttribute dbAttribute = next.getDbAttribute();
if (dbAttribute == null) {
- throw new CayenneRuntimeException("ObjAttribute '" + next.getName()
- + "' does not have a corresponding DbAttribute");
+ throw new CayenneRuntimeException("ObjAttribute '%s"
+ + "' does not have a corresponding DbAttribute", next.getName());
}
// pk may still be generated
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextDeleteAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextDeleteAction.java b/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextDeleteAction.java
index 907a7b7..e38868c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextDeleteAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/ObjectContextDeleteAction.java
@@ -22,7 +22,6 @@ package org.apache.cayenne;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Iterator;
import java.util.Map;
import org.apache.cayenne.map.DeleteRule;
@@ -63,15 +62,13 @@ class ObjectContextDeleteAction {
if (object.getObjectContext() == null) {
throw new CayenneRuntimeException(
- "Attempt to delete unregistered non-TRANSIENT object: " + object);
+ "Attempt to delete unregistered non-TRANSIENT object: %s", object);
}
if (object.getObjectContext() != context) {
throw new CayenneRuntimeException(
- "Attempt to delete object regsitered in a different ObjectContext. Object: "
- + object
- + ", context: "
- + context);
+ "Attempt to delete object regsitered in a different ObjectContext. Object: %s, context: %s"
+ , object, context);
}
// must resolve HOLLOW objects before delete... needed
@@ -108,21 +105,20 @@ class ObjectContextDeleteAction {
context.getGraphManager().nodeRemoved(object.getObjectId());
}
- private Collection toCollection(Object object) {
+ @SuppressWarnings("unchecked")
+ private Collection<Persistent> toCollection(Object object) {
if (object == null) {
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
}
// create copies of collections to avoid iterator exceptions
if (object instanceof Collection) {
- return new ArrayList((Collection) object);
- }
- else if (object instanceof Map) {
- return new ArrayList(((Map) object).values());
- }
- else {
- return Collections.singleton(object);
+ return new ArrayList<>((Collection<Persistent>) object);
+ } else if (object instanceof Map) {
+ return new ArrayList<>(((Map<?, Persistent>) object).values());
+ } else {
+ return Collections.singleton((Persistent)object);
}
}
@@ -143,9 +139,8 @@ class ObjectContextDeleteAction {
continue;
}
- ArcProperty property = (ArcProperty) descriptor.getProperty(relationship
- .getName());
- Collection relatedObjects = toCollection(property.readProperty(object));
+ ArcProperty property = (ArcProperty) descriptor.getProperty(relationship.getName());
+ final Collection<Persistent> relatedObjects = toCollection(property.readProperty(object));
// no related object, bail out
if (relatedObjects.size() == 0) {
@@ -166,11 +161,9 @@ class ObjectContextDeleteAction {
// joins must be removed even if they are non-existent or ignored in the
// object graph
if (processFlattened) {
- Iterator iterator = relatedObjects.iterator();
- while (iterator.hasNext()) {
- Persistent relatedObject = (Persistent) iterator.next();
- context.getGraphManager().arcDeleted(object.getObjectId(), relatedObject
- .getObjectId(), relationship.getName());
+ for (Persistent relatedObject : relatedObjects) {
+ context.getGraphManager().arcDeleted(object.getObjectId()
+ , relatedObject.getObjectId(), relationship.getName());
}
}
@@ -186,8 +179,6 @@ class ObjectContextDeleteAction {
break;
}
- final Collection finalRelatedObjects = relatedObjects;
-
reverseArc.visit(new PropertyVisitor() {
public boolean visitAttribute(AttributeProperty property) {
@@ -195,21 +186,16 @@ class ObjectContextDeleteAction {
}
public boolean visitToMany(ToManyProperty property) {
- Iterator iterator = finalRelatedObjects.iterator();
- while (iterator.hasNext()) {
- Object relatedObject = iterator.next();
+ for (Persistent relatedObject : relatedObjects) {
property.removeTarget(relatedObject, object, true);
}
-
return false;
}
public boolean visitToOne(ToOneProperty property) {
// Inverse is to-one - find all related objects and
// nullify the reverse relationship
- Iterator iterator = finalRelatedObjects.iterator();
- while (iterator.hasNext()) {
- Object relatedObject = iterator.next();
+ for (Persistent relatedObject : relatedObjects) {
property.setTarget(relatedObject, null, true);
}
return false;
@@ -219,17 +205,14 @@ class ObjectContextDeleteAction {
break;
case DeleteRule.CASCADE:
// Delete all related objects
- Iterator iterator = relatedObjects.iterator();
- while (iterator.hasNext()) {
- Persistent relatedObject = (Persistent) iterator.next();
+ for (Persistent relatedObject : relatedObjects) {
performDelete(relatedObject);
}
break;
default:
object.setPersistenceState(oldState);
- throw new CayenneRuntimeException("Invalid delete rule "
- + relationship.getDeleteRule());
+ throw new CayenneRuntimeException("Invalid delete rule %s", relationship.getDeleteRule());
}
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/ClientServerChannelQueryAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ClientServerChannelQueryAction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ClientServerChannelQueryAction.java
index 0fbd203..af88e0f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ClientServerChannelQueryAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ClientServerChannelQueryAction.java
@@ -92,8 +92,7 @@ class ClientServerChannelQueryAction {
cachedList = channel.getQueryCache().get(serverMetadata);
if (cachedList == null) {
- throw new CayenneRuntimeException("No cached list for "
- + serverMetadata.getCacheKey());
+ throw new CayenneRuntimeException("No cached list for %s", serverMetadata.getCacheKey());
}
} else {
return !DONE;
@@ -260,8 +259,7 @@ class ClientServerChannelQueryAction {
// sanity check
if (id == null) {
- throw new CayenneRuntimeException("Server returned an object without an id: "
- + object);
+ throw new CayenneRuntimeException("Server returned an object without an id: %s", object);
}
// have to resolve descriptor here for every object, as
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java
index ca7a3d9..de66464 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java
@@ -347,8 +347,8 @@ public class DataContext extends BaseContext {
if (targetObject instanceof Fault) {
DataRow storedSnapshot = getObjectStore().getSnapshot(object.getObjectId());
if (storedSnapshot == null) {
- throw new CayenneRuntimeException("No matching objects found for ObjectId "
- + object.getObjectId() + ". Object may have been deleted externally.");
+ throw new CayenneRuntimeException("No matching objects found for ObjectId %s"
+ + ". Object may have been deleted externally.", object.getObjectId());
}
DbRelationship dbRel = rel.getDbRelationships().get(0);
@@ -433,7 +433,7 @@ public class DataContext extends BaseContext {
ObjEntity entity = this.getEntityResolver().getObjEntity(objectClass);
if (entity == null) {
- throw new CayenneRuntimeException("Unmapped Java class: " + objectClass);
+ throw new CayenneRuntimeException("Unmapped Java class: %s", objectClass);
}
ClassDescriptor descriptor = getEntityResolver().getClassDescriptor(entity.getName());
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomain.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomain.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomain.java
index 13746f1..9caa59d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomain.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomain.java
@@ -486,8 +486,8 @@ public class DataDomain implements QueryEngine, DataChannel {
nodesByDataMapName.put(map.getName(), defaultNode);
node = defaultNode;
} else {
- throw new CayenneRuntimeException("No DataNode configured for DataMap '" + map.getName()
- + "' and no default DataNode set");
+ throw new CayenneRuntimeException("No DataNode configured for DataMap '%s'"
+ + " and no default DataNode set", map.getName());
}
}
}
@@ -603,7 +603,7 @@ public class DataDomain implements QueryEngine, DataChannel {
result = onSyncFlush(originatingContext, changes);
break;
default:
- throw new CayenneRuntimeException("Invalid synchronization type: " + syncType);
+ throw new CayenneRuntimeException("Invalid synchronization type: %d", syncType);
}
return result;
@@ -623,9 +623,8 @@ public class DataDomain implements QueryEngine, DataChannel {
GraphDiff onSyncFlush(ObjectContext originatingContext, GraphDiff childChanges) {
if (!(originatingContext instanceof DataContext)) {
- throw new CayenneRuntimeException(
- "No support for committing ObjectContexts that are not DataContexts yet. "
- + "Unsupported context: " + originatingContext);
+ throw new CayenneRuntimeException("No support for committing ObjectContexts that are not DataContexts yet. "
+ + "Unsupported context: %s", originatingContext);
}
DataDomainFlushAction action = new DataDomainFlushAction(this);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlushObserver.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlushObserver.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlushObserver.java
index 64dd41a..44923dc 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlushObserver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainFlushObserver.java
@@ -76,8 +76,7 @@ class DataDomainFlushObserver implements OperationObserver {
}
if (!(query instanceof InsertBatchQuery)) {
- throw new CayenneRuntimeException("Generated keys only supported for InsertBatchQuery, instead got "
- + query);
+ throw new CayenneRuntimeException("Generated keys only supported for InsertBatchQuery, instead got %s", query);
}
if (idToUpdate == null || !idToUpdate.isTemporary()) {
@@ -86,7 +85,7 @@ class DataDomainFlushObserver implements OperationObserver {
}
if (keys.size() != 1) {
- throw new CayenneRuntimeException("One and only one PK row is expected, instead got " + keys.size());
+ throw new CayenneRuntimeException("One and only one PK row is expected, instead got %d", keys.size());
}
DataRow key = keys.get(0);
@@ -107,7 +106,7 @@ class DataDomainFlushObserver implements OperationObserver {
// infer the key name and currently will only support a single column...
if (key.size() > 1) {
throw new CayenneRuntimeException("Only a single column autogenerated PK is supported. "
- + "Generated key: " + key);
+ + "Generated key: %s", key);
}
BatchQuery batch = (BatchQuery) query;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainIndirectDiffBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainIndirectDiffBuilder.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainIndirectDiffBuilder.java
index ab06059..c703ef9 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainIndirectDiffBuilder.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainIndirectDiffBuilder.java
@@ -87,9 +87,8 @@ final class DataDomainIndirectDiffBuilder implements GraphChangeHandler {
if (relationship.isFlattened()) {
if (relationship.isReadOnly()) {
- throw new CayenneRuntimeException("Cannot set the read-only flattened relationship '"
- + relationship.getName() + "' in ObjEntity '" + relationship.getSourceEntity().getName()
- + "'.");
+ throw new CayenneRuntimeException("Cannot set the read-only flattened relationship '%s' in ObjEntity '%s'."
+ , relationship.getName(), relationship.getSourceEntity().getName());
}
// Register this combination (so we can remove it later if an
@@ -121,8 +120,8 @@ final class DataDomainIndirectDiffBuilder implements GraphChangeHandler {
if (relationship.isFlattened()) {
if (relationship.isReadOnly()) {
- throw new CayenneRuntimeException("Cannot unset the read-only flattened relationship "
- + relationship.getName());
+ throw new CayenneRuntimeException("Cannot unset the read-only flattened relationship %s"
+ , relationship.getName());
}
// Register this combination (so we can remove it later if an
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainInsertBucket.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainInsertBucket.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainInsertBucket.java
index dbe9a70..6f37109 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainInsertBucket.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainInsertBucket.java
@@ -166,7 +166,7 @@ class DataDomainInsertBucket extends DataDomainSyncBucket {
idMap.put(dbAttrName, pkValue);
autoPkDone = true;
} catch (Exception ex) {
- throw new CayenneRuntimeException("Error generating PK: " + ex.getMessage(), ex);
+ throw new CayenneRuntimeException("Error generating PK: %s", ex, ex.getMessage());
}
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainLegacyQueryAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainLegacyQueryAction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainLegacyQueryAction.java
index 42fd089..7715c12 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainLegacyQueryAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainLegacyQueryAction.java
@@ -120,7 +120,7 @@ class DataDomainLegacyQueryAction implements QueryRouter, OperationObserver {
QueryEngine node = domain.lookupDataNode(map);
if (node == null) {
- throw new CayenneRuntimeException("No DataNode exists for DataMap " + map);
+ throw new CayenneRuntimeException("No DataNode exists for DataMap %s", map);
}
return node;
@@ -137,7 +137,7 @@ class DataDomainLegacyQueryAction implements QueryRouter, OperationObserver {
if (name != null) {
node = domain.getDataNode(name);
if (node == null) {
- throw new CayenneRuntimeException("No DataNode exists for name " + name);
+ throw new CayenneRuntimeException("No DataNode exists for name %s", name);
}
} else {
node = domain.getDefaultNode();
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
index 7e00cca..a87de83 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
@@ -542,7 +542,7 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver {
QueryEngine node = domain.lookupDataNode(map);
if (node == null) {
- throw new CayenneRuntimeException("No DataNode exists for DataMap " + map);
+ throw new CayenneRuntimeException("No DataNode exists for DataMap %s", map);
}
return node;
@@ -559,7 +559,7 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver {
if (name != null) {
node = domain.getDataNode(name);
if (node == null) {
- throw new CayenneRuntimeException("No DataNode exists for name " + name);
+ throw new CayenneRuntimeException("No DataNode exists for name %s", name);
}
} else {
node = domain.getDefaultNode();
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainSyncBucket.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainSyncBucket.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainSyncBucket.java
index 588a0d2..780e492 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainSyncBucket.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainSyncBucket.java
@@ -226,7 +226,7 @@ abstract class DataDomainSyncBucket {
}
else if (id.isTemporary()) {
throw new CayenneRuntimeException(
- "Temporary ID hasn't been replaced on commit: " + object);
+ "Temporary ID hasn't been replaced on commit: %s", object);
}
else {
finalId = id;
@@ -307,11 +307,7 @@ abstract class DataDomainSyncBucket {
Object value = masterID.getIdSnapshot().get(masterKey);
if (value == null) {
throw new CayenneRuntimeException("Can't extract a master key. "
- + "Missing key ("
- + masterKey
- + "), master ID ("
- + masterID
- + ")");
+ + "Missing key (%s), master ID (%s)", masterKey, masterID);
}
return value;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java
index 88b864b..e02ea39 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java
@@ -257,7 +257,7 @@ public class DataNode implements QueryEngine {
}
if (callback.isIteratedResult() && listSize > 1) {
- throw new CayenneRuntimeException("Iterated queries are not allowed in a batch. Batch size: " + listSize);
+ throw new CayenneRuntimeException("Iterated queries are not allowed in a batch. Batch size: %d", listSize);
}
// do this meaningless inexpensive operation to trigger AutoAdapter lazy
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/DataNodeSyncQualifierDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataNodeSyncQualifierDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataNodeSyncQualifierDescriptor.java
index 8ec6705..2f10d01 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataNodeSyncQualifierDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataNodeSyncQualifierDescriptor.java
@@ -93,8 +93,8 @@ class DataNodeSyncQualifierDescriptor {
// supported...
if (descriptor.getPathFromMaster().size() != 1) {
throw new CayenneRuntimeException(
- "Only single step dependent relationships are currently supported. Actual path length: "
- + descriptor.getPathFromMaster().size());
+ "Only single step dependent relationships are currently supported. Actual path length: %d"
+ , descriptor.getPathFromMaster().size());
}
DbRelationship masterDependentDbRel = descriptor.getPathFromMaster().get(0);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/DefaultObjectMapRetainStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DefaultObjectMapRetainStrategy.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DefaultObjectMapRetainStrategy.java
index 85c8913..7fe338c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DefaultObjectMapRetainStrategy.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DefaultObjectMapRetainStrategy.java
@@ -57,7 +57,7 @@ public class DefaultObjectMapRetainStrategy implements ObjectMapRetainStrategy {
} else if (HARD_RETAIN_STRATEGY.equals(strategy)) {
return new ReferenceMap(AbstractReferenceMap.HARD, AbstractReferenceMap.HARD);
} else {
- throw new CayenneRuntimeException("Unsupported retain strategy " + strategy);
+ throw new CayenneRuntimeException("Unsupported retain strategy %s", strategy);
}
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java b/cayenne-server/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java
index 97e7ec8..ab5698d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/FlattenedArcKey.java
@@ -121,7 +121,7 @@ final class FlattenedArcKey {
snapshot.put(dbAttrName, pkValue);
autoPkDone = true;
} catch (Exception ex) {
- throw new CayenneRuntimeException("Error generating PK: " + ex.getMessage(), ex);
+ throw new CayenneRuntimeException("Error generating PK: %s", ex, ex.getMessage());
}
}
@@ -134,7 +134,7 @@ final class FlattenedArcKey {
* theoretically possible, so the return value is a list.
*/
List buildJoinSnapshotsForDelete(DataNode node) {
- Map snapshot = eagerJoinSnapshot();
+ Map<String, Object> snapshot = eagerJoinSnapshot();
DbEntity joinEntity = getJoinEntity();
@@ -299,12 +299,12 @@ final class FlattenedArcKey {
return false;
}
- private Map eagerJoinSnapshot() {
+ private Map<String, Object> eagerJoinSnapshot() {
List<DbRelationship> relList = relationship.getDbRelationships();
if (relList.size() != 2) {
throw new CayenneRuntimeException(
- "Only single-step flattened relationships are supported in this operation: " + relationship);
+ "Only single-step flattened relationships are supported in this operation: %s", relationship);
}
DbRelationship firstDbRel = relList.get(0);
@@ -332,7 +332,7 @@ final class FlattenedArcKey {
List<DbRelationship> relList = relationship.getDbRelationships();
if (relList.size() != 2) {
throw new CayenneRuntimeException(
- "Only single-step flattened relationships are supported in this operation: " + relationship);
+ "Only single-step flattened relationships are supported in this operation: %s", relationship);
}
DbRelationship firstDbRel = relList.get(0);
@@ -346,15 +346,12 @@ final class FlattenedArcKey {
// here ordering of ids is determined by 'relationship', so use id1, id2
// instead of orderedIds
- for (int i = 0, numJoins = fromSourceJoins.size(); i < numJoins; i++) {
- DbJoin join = fromSourceJoins.get(i);
-
+ for (DbJoin join : fromSourceJoins) {
Object value = new PropagatedValueFactory(id1.getSourceId(), join.getSourceName());
snapshot.put(join.getTargetName(), value);
}
- for (int i = 0, numJoins = toTargetJoins.size(); i < numJoins; i++) {
- DbJoin join = toTargetJoins.get(i);
+ for (DbJoin join : toTargetJoins) {
Object value = new PropagatedValueFactory(id2.getSourceId(), join.getTargetName());
snapshot.put(join.getSourceName(), value);
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java b/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java
index d75f232..a747e9d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolver.java
@@ -307,7 +307,7 @@ class HierarchicalObjectResolver {
@Override
public boolean startUnknownPrefetch(PrefetchTreeNode node) {
- throw new CayenneRuntimeException("Unknown prefetch node: " + node);
+ throw new CayenneRuntimeException("Unknown prefetch node: %s", node);
}
@Override
@@ -404,7 +404,7 @@ class HierarchicalObjectResolver {
@Override
public boolean startUnknownPrefetch(PrefetchTreeNode node) {
- throw new CayenneRuntimeException("Unknown prefetch node: " + node);
+ throw new CayenneRuntimeException("Unknown prefetch node: %s", node);
}
@Override
@@ -456,7 +456,7 @@ class HierarchicalObjectResolver {
@Override
public boolean startUnknownPrefetch(PrefetchTreeNode node) {
- throw new CayenneRuntimeException("Unknown prefetch node: " + node);
+ throw new CayenneRuntimeException("Unknown prefetch node: %s", node);
}
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolverNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolverNode.java b/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolverNode.java
index 940567e..861533c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolverNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/HierarchicalObjectResolverNode.java
@@ -59,7 +59,7 @@ class HierarchicalObjectResolverNode extends PrefetchObjectResolver {
Persistent object = objectFromDataRow(row, anId, classDescriptor);
if (object == null) {
- throw new CayenneRuntimeException("Can't build Object from row: " + row);
+ throw new CayenneRuntimeException("Can't build Object from row: %s", row);
}
// keep the dupe objects (and data rows) around, as there maybe an
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java b/cayenne-server/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
index bdfce69..0611514 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
@@ -327,7 +327,7 @@ public class IncrementalFaultList<E> implements List<E>, Serializable {
throw new CayenneRuntimeException(buffer.toString());
} else if (objects.size() > ids.size()) {
- throw new CayenneRuntimeException("Expected " + ids.size() + " objects, retrieved " + objects.size());
+ throw new CayenneRuntimeException("Expected %d objects, retrieved %d", ids.size(), objects.size());
}
}
@@ -659,7 +659,7 @@ public class IncrementalFaultList<E> implements List<E>, Serializable {
}
if (!found) {
- throw new CayenneRuntimeException("Can't find id for " + object);
+ throw new CayenneRuntimeException("Can't find id for %s", object);
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/JoinedIdParentAttachementStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/JoinedIdParentAttachementStrategy.java b/cayenne-server/src/main/java/org/apache/cayenne/access/JoinedIdParentAttachementStrategy.java
index 7640b91..1162f8c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/JoinedIdParentAttachementStrategy.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/JoinedIdParentAttachementStrategy.java
@@ -68,16 +68,11 @@ class JoinedIdParentAttachementStrategy implements ParentAttachmentStrategy {
ObjectId id = node.getResolver().createObjectId(row, entity, relatedIdPrefix);
if (id == null) {
- throw new CayenneRuntimeException("Can't build ObjectId from row: "
- + row
- + ", entity: "
- + entity.getName()
- + ", prefix: "
- + relatedIdPrefix);
+ throw new CayenneRuntimeException("Can't build ObjectId from row: %s, entity: %s, prefix: %s"
+ , row, entity.getName(), relatedIdPrefix);
}
parentObject = (Persistent) graphManager.getNode(id);
-
if (parentObject != null) {
break;
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectResolver.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectResolver.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectResolver.java
index 9d55272..56b52b5 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectResolver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectResolver.java
@@ -66,14 +66,13 @@ class ObjectResolver {
DbEntity dbEntity = descriptor.getEntity().getDbEntity();
if (dbEntity == null) {
- throw new CayenneRuntimeException("ObjEntity '" + descriptor.getEntity().getName() + "' has no DbEntity.");
+ throw new CayenneRuntimeException("ObjEntity '%s' has no DbEntity.", descriptor.getEntity().getName());
}
this.primaryKey = dbEntity.getPrimaryKeys();
if (primaryKey.size() == 0) {
- throw new CayenneRuntimeException("Won't be able to create ObjectId for '"
- + descriptor.getEntity().getName() + "'. Reason: DbEntity '" + dbEntity.getName()
- + "' has no Primary Key defined.");
+ throw new CayenneRuntimeException("Won't be able to create ObjectId for '%s'. Reason: DbEntity " +
+ "'%s' has no Primary Key defined.", descriptor.getEntity().getName(), dbEntity.getName());
}
this.context = context;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStore.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStore.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStore.java
index 6901b77..bebada0 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStore.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectStore.java
@@ -158,7 +158,7 @@ public class ObjectStore implements Serializable, SnapshotEventListener, GraphMa
Persistent object = objectMap.get(nodeId);
if (object == null) {
- throw new CayenneRuntimeException("No object is registered in context with Id " + nodeId);
+ throw new CayenneRuntimeException("No object is registered in context with Id %s", nodeId);
}
if (object.getPersistenceState() == PersistenceState.COMMITTED) {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java b/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java
index be7e1ed..784453a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorJointNode.java
@@ -283,8 +283,7 @@ class PrefetchProcessorJointNode extends PrefetchProcessorNode {
// sanity check
if (idIndices[i] == -1) {
- throw new CayenneRuntimeException("PK column is not part of result row: "
- + pk.getName());
+ throw new CayenneRuntimeException("PK column is not part of result row: %s", pk.getName());
}
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilder.java b/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilder.java
index 9aad5e6..dc2ea91 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilder.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilder.java
@@ -158,8 +158,8 @@ final class PrefetchProcessorTreeBuilder implements PrefetchProcessor {
arc = (ArcProperty) currentNode.getResolver().getDescriptor().getProperty(node.getName());
if (arc == null) {
- throw new CayenneRuntimeException("No relationship with name '" + node.getName() + "' found in entity "
- + currentNode.getResolver().getEntity().getName());
+ throw new CayenneRuntimeException("No relationship with name '%s' found in entity '%s'"
+ , node.getName(), currentNode.getResolver().getEntity().getName());
}
descriptor = arc.getTargetDescriptor();
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/ToOneFault.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ToOneFault.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ToOneFault.java
index 2f99fd1..1fefe42 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ToOneFault.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ToOneFault.java
@@ -82,17 +82,12 @@ public class ToOneFault extends Fault {
if (objects.isEmpty()) {
return null;
- }
- else if (objects.size() == 1) {
+ } else if (objects.size() == 1) {
return objects.get(0);
- }
- else {
+ } else {
throw new CayenneRuntimeException("Error resolving to-one fault. "
- + "More than one object found. "
- + "Source Id: "
- + sourceObject.getObjectId()
- + ", relationship: "
- + relationshipName);
+ + "More than one object found. Source Id: %s, relationship: %s"
+ , sourceObject.getObjectId(), relationshipName);
}
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/ConnectionAwareResultIterator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/ConnectionAwareResultIterator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/ConnectionAwareResultIterator.java
index b821d8e..be846e9 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/ConnectionAwareResultIterator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/ConnectionAwareResultIterator.java
@@ -61,10 +61,8 @@ public class ConnectionAwareResultIterator<T> implements ResultIterator<T> {
try {
delegate.close();
} catch (Exception e1) {
- if (errors == null) {
- errors = new StringBuilder();
- }
- errors.append("Error closing ResultSet: " + e1);
+ errors = new StringBuilder();
+ errors.append("Error closing ResultSet: ").append(e1);
}
try {
@@ -74,11 +72,11 @@ public class ConnectionAwareResultIterator<T> implements ResultIterator<T> {
errors = new StringBuilder();
}
- errors.append("Error closing connection: " + e2);
+ errors.append("Error closing connection: ").append(e2);
}
if (errors != null) {
- throw new CayenneRuntimeException("Error closing ResultIterator: " + errors.toString());
+ throw new CayenneRuntimeException("Error closing ResultIterator: %s", errors);
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
index ffa1ad3..d6a4a34 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
@@ -144,7 +144,7 @@ public class JDBCResultIterator<T> implements ResultIterator<T> {
}
if (errors.length() > 0) {
- throw new CayenneRuntimeException("Error closing ResultIterator: " + errors.toString());
+ throw new CayenneRuntimeException("Error closing ResultIterator: %s", errors);
}
closed = true;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/ProcedureAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/ProcedureAction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/ProcedureAction.java
index 67ee201..0022587 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/ProcedureAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/ProcedureAction.java
@@ -152,8 +152,7 @@ public class ProcedureAction extends BaseSQLAction {
// if one result is described, all of them must be present...
if (setIndex >= descriptors.size() || descriptors.get(setIndex) == null) {
- throw new CayenneRuntimeException("No descriptor for result set at index '" + setIndex
- + "' configured.");
+ throw new CayenneRuntimeException("No descriptor for result set at index '%d' configured.", setIndex);
}
ColumnDescriptor[] columns = descriptors.get(setIndex);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.java
index 86c1fb7..8cf71e8 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/RowDescriptorBuilder.java
@@ -60,8 +60,7 @@ public class RowDescriptorBuilder {
/**
* Returns a RowDescriptor built based on the builder internal state.
*/
- public RowDescriptor getDescriptor(ExtendedTypeMap typeMap) throws SQLException,
- IllegalStateException {
+ public RowDescriptor getDescriptor(ExtendedTypeMap typeMap) throws SQLException, IllegalStateException {
ColumnDescriptor[] columnsForRD;
@@ -69,12 +68,10 @@ public class RowDescriptorBuilder {
// do merge between explicitly-set columns and ResultSetMetadata
// explicitly-set columns take precedence
columnsForRD = mergeResultSetAndPresetColumns();
- }
- else if (this.columns != null) {
+ } else if (this.columns != null) {
// use explicitly-set columns
columnsForRD = this.columns;
- }
- else {
+ } else {
throw new IllegalStateException(
"Can't build RowDescriptor, both 'columns' and 'resultSetMetadata' are null");
}
@@ -102,10 +99,8 @@ public class RowDescriptorBuilder {
int columnLen = (columns != null) ? columns.length : 0;
if (rsLen < columnLen) {
- throw new CayenneRuntimeException(
- "'ResultSetMetadata' has less elements then 'columns'.");
- }
- else if (rsLen == columnLen) {
+ throw new CayenneRuntimeException("'ResultSetMetadata' has less elements then 'columns'.");
+ } else if (rsLen == columnLen) {
// 'columns' contains ColumnDescriptor for every column
// in resultSetMetadata. This return is for optimization.
return columns;
@@ -177,19 +172,16 @@ public class RowDescriptorBuilder {
int len = columnArray.length;
if (caseTransformer != null) {
- for (int i = 0; i < len; i++) {
-
- columnArray[i].setDataRowKey((String) caseTransformer
- .transform(columnArray[i].getDataRowKey()));
- columnArray[i].setName((String) caseTransformer.transform(columnArray[i]
- .getName()));
+ for (ColumnDescriptor aColumnArray : columnArray) {
+ aColumnArray.setDataRowKey((String) caseTransformer.transform(aColumnArray.getDataRowKey()));
+ aColumnArray.setName((String) caseTransformer.transform(aColumnArray.getName()));
}
}
if (typeOverrides != null) {
- for (int i = 0; i < len; i++) {
- String type = typeOverrides.get(columnArray[i].getName());
+ for (ColumnDescriptor aColumnArray : columnArray) {
+ String type = typeOverrides.get(aColumnArray.getName());
if (type != null) {
- columnArray[i].setJavaClass(type);
+ aColumnArray.setJavaClass(type);
}
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/reader/IdRowReader.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/reader/IdRowReader.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/reader/IdRowReader.java
index 7ad539d..2ee015d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/reader/IdRowReader.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/reader/IdRowReader.java
@@ -51,7 +51,7 @@ class IdRowReader<T> extends BaseRowReader<T> {
// sanity check
if (len == 0) {
- throw new CayenneRuntimeException("Root DBEntity has no PK defined: " + dbEntity);
+ throw new CayenneRuntimeException("Root DBEntity has no PK defined: %s", dbEntity);
}
int[] pk = new int[len];
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.java
index b39837e..a441fe2 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.java
@@ -41,7 +41,7 @@ public class DefaultBatchTranslatorFactory implements BatchTranslatorFactory {
} else if (query instanceof DeleteBatchQuery) {
return deleteTranslator((DeleteBatchQuery) query, adapter, trimFunction);
} else {
- throw new CayenneRuntimeException("Unsupported batch query: " + query);
+ throw new CayenneRuntimeException("Unsupported batch query: %s", query);
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLIdentifierColumnsTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLIdentifierColumnsTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLIdentifierColumnsTranslator.java
index 38dcd9b..59ea77e 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLIdentifierColumnsTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLIdentifierColumnsTranslator.java
@@ -95,7 +95,7 @@ class EJBQLIdentifierColumnsTranslator extends EJBQLBaseVisitor {
Object pathPart = dbPathIterator.next();
if (pathPart == null) {
- throw new CayenneRuntimeException("ObjAttribute has no component: " + oa.getName());
+ throw new CayenneRuntimeException("ObjAttribute has no component: %s", oa.getName());
} else if (pathPart instanceof DbRelationship) {
if (marker == null) {
@@ -174,21 +174,16 @@ class EJBQLIdentifierColumnsTranslator extends EJBQLBaseVisitor {
for (PathComponent<DbAttribute, DbRelationship> component : table.resolvePath(dbPrefetch, context
.getMetadata().getPathSplitAliases())) {
r = component.getRelationship();
-
}
if (r == null) {
- throw new CayenneRuntimeException("Invalid joint prefetch '" + prefetch + "' for entity: "
- + objectEntity.getName());
+ throw new CayenneRuntimeException("Invalid joint prefetch '%s' for entity: %s"
+ , prefetch, objectEntity.getName());
}
- Iterator<DbAttribute> targetAttributes = (Iterator<DbAttribute>) r.getTargetEntity()
- .getAttributes().iterator();
- while (targetAttributes.hasNext()) {
- DbAttribute attribute = targetAttributes.next();
+ for (DbAttribute attribute : r.getTargetEntity().getAttributes()) {
appendColumn(prefetch.getEjbqlPathEntityId() + "." + prefetch.getPath(), attribute, "",
prefetch.getPath() + "." + attribute.getName(), null);
-
}
}
}
@@ -211,7 +206,7 @@ class EJBQLIdentifierColumnsTranslator extends EJBQLBaseVisitor {
public void appendColumn(String identifier, DbAttribute column, String columnAlias, String dataRowKey,
String javaType) {
- DbEntity table = (DbEntity) column.getEntity();
+ DbEntity table = column.getEntity();
String alias = context.getTableAlias(identifier, context.getQuotingStrategy().quotedFullyQualifiedName(table));
String columnName = alias + "." + context.getQuotingStrategy().quotedName(column);
@@ -244,7 +239,7 @@ class EJBQLIdentifierColumnsTranslator extends EJBQLBaseVisitor {
private Set<String> getColumns() {
if (columns == null) {
- columns = new HashSet<String>();
+ columns = new HashSet<>();
}
return columns;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.java
index c0f5eaf..dbe2726 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.java
@@ -182,7 +182,7 @@ public class EJBQLSelectColumnsTranslator extends EJBQLBaseVisitor {
// processed
// later when appending table
if (pathPart == null) {
- throw new CayenneRuntimeException("ObjAttribute has no component: " + attribute.getName());
+ throw new CayenneRuntimeException("ObjAttribute has no component: %s", attribute.getName());
} else if (pathPart instanceof DbAttribute) {
DbAttribute dbAttribute = (DbAttribute) pathPart;
appendColumn(attribute.getType(),
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java
index 61aec97..76af339 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java
@@ -530,7 +530,7 @@ public class DefaultSelectTranslator extends QueryAssembler implements SelectTra
Object pathPart = dbPathIterator.next();
if (pathPart == null) {
- throw new CayenneRuntimeException("ObjAttribute has no component: " + oa.getName());
+ throw new CayenneRuntimeException("ObjAttribute has no component: %s", oa.getName());
} else if (pathPart instanceof DbRelationship) {
DbRelationship rel = (DbRelationship) pathPart;
dbRelationshipAdded(rel, JoinType.LEFT_OUTER, null);
@@ -657,8 +657,8 @@ public class DefaultSelectTranslator extends QueryAssembler implements SelectTra
}
if (r == null) {
- throw new CayenneRuntimeException("Invalid joint prefetch '" + prefetch + "' for entity: "
- + oe.getName());
+ throw new CayenneRuntimeException("Invalid joint prefetch '%s' for entity: %s"
+ , prefetch, oe.getName());
}
// add columns from the target entity, including those that are
@@ -679,7 +679,7 @@ public class DefaultSelectTranslator extends QueryAssembler implements SelectTra
Object pathPart = dbPathIterator.next();
if (pathPart == null) {
- throw new CayenneRuntimeException("ObjAttribute has no component: " + oa.getName());
+ throw new CayenneRuntimeException("ObjAttribute has no component: %s", oa.getName());
} else if (pathPart instanceof DbRelationship) {
DbRelationship rel = (DbRelationship) pathPart;
dbRelationshipAdded(rel, JoinType.INNER, null);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/OrderingTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/OrderingTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/OrderingTranslator.java
index 4079b0a..59602f0 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/OrderingTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/OrderingTranslator.java
@@ -83,7 +83,7 @@ public class OrderingTranslator extends QueryAssemblerHelper {
} else if (exp.getType() == Expression.FUNCTION_CALL) {
appendFunction(exp);
} else {
- throw new CayenneRuntimeException("Unsupported ordering expression: " + exp);
+ throw new CayenneRuntimeException("Unsupported ordering expression: %s", exp);
}
// Close UPPER() modifier
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/QueryAssemblerHelper.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/QueryAssemblerHelper.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/QueryAssemblerHelper.java
index 2fc6078..fcdad65 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/QueryAssemblerHelper.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/QueryAssemblerHelper.java
@@ -178,7 +178,7 @@ public abstract class QueryAssemblerHelper {
Object pathPart = dbPathIterator.next();
if (pathPart == null) {
- throw new CayenneRuntimeException("ObjAttribute has no component: " + attribute.getName());
+ throw new CayenneRuntimeException("ObjAttribute has no component: %s", attribute.getName());
} else if (pathPart instanceof DbRelationship) {
queryAssembler.dbRelationshipAdded((DbRelationship) pathPart, JoinType.INNER, joinSplitAlias);
} else if (pathPart instanceof DbAttribute) {
@@ -287,11 +287,8 @@ public abstract class QueryAssemblerHelper {
Map<String, Object> snap = id.getIdSnapshot();
if (snap.size() != 1) {
- StringBuilder msg = new StringBuilder();
- msg.append("Object must have a single primary key column ").append("to serve as a query parameter. ")
- .append("This object has ").append(snap.size()).append(": ").append(snap);
-
- throw new CayenneRuntimeException(msg.toString());
+ throw new CayenneRuntimeException("Object must have a single primary key column to serve " +
+ "as a query parameter. This object has %s: %s", snap.size(), snap);
}
// checks have been passed, use id value
@@ -306,11 +303,8 @@ public abstract class QueryAssemblerHelper {
Map<String, Object> snap = id.getIdSnapshot();
if (snap.size() != 1) {
- StringBuilder msg = new StringBuilder();
- msg.append("Object must have a single primary key column ").append("to serve as a query parameter. ")
- .append("This object has ").append(snap.size()).append(": ").append(snap);
-
- throw new CayenneRuntimeException(msg.toString());
+ throw new CayenneRuntimeException("Object must have a single primary key column to serve " +
+ "as a query parameter. This object has %s: %s", snap.size(), snap);
}
// checks have been passed, use id value
@@ -459,9 +453,8 @@ public abstract class QueryAssemblerHelper {
List<DbJoin> joins = rel.getJoins();
if (joins.size() != 1) {
String msg = "OBJ_PATH expressions are only supported for a single-join relationships. " +
- "This relationship has " + joins.size() + " joins.";
-
- throw new CayenneRuntimeException(msg);
+ "This relationship has %s joins.";
+ throw new CayenneRuntimeException(msg, joins.size());
}
DbJoin join = joins.get(0);
@@ -473,9 +466,8 @@ public abstract class QueryAssemblerHelper {
Collection<DbAttribute> pk = ent.getPrimaryKeys();
if (pk.size() != 1) {
String msg = "DB_NAME expressions can only support targets with a single column PK. " +
- "This entity has " + pk.size() + " columns in primary key.";
-
- throw new CayenneRuntimeException(msg);
+ "This entity has %d columns in primary key.";
+ throw new CayenneRuntimeException(msg, pk.size());
}
attribute = pk.iterator().next();
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/types/CalendarType.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/types/CalendarType.java b/cayenne-server/src/main/java/org/apache/cayenne/access/types/CalendarType.java
index 0b60548..044605f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/types/CalendarType.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/types/CalendarType.java
@@ -77,11 +77,8 @@ public class CalendarType<T extends Calendar> implements ExtendedType<Calendar>
Object object = rs.getObject(index);
if (object != null && !(object instanceof Date)) {
- throw new CayenneRuntimeException(
- "Expected an instance of java.util.Date, instead got "
- + object.getClass().getName()
- + ", column index: "
- + index);
+ throw new CayenneRuntimeException("Expected an instance of java.util.Date, " +
+ "instead got %s, column index: %d", object.getClass().getName(), index);
}
val = (Date) object;
@@ -118,11 +115,8 @@ public class CalendarType<T extends Calendar> implements ExtendedType<Calendar>
Object object = rs.getObject(index);
if (object != null && !(object instanceof Date)) {
- throw new CayenneRuntimeException(
- "Expected an instance of java.util.Date, instead got "
- + object.getClass().getName()
- + ", column index: "
- + index);
+ throw new CayenneRuntimeException("Expected an instance of java.util.Date, " +
+ "instead got %s, column index: %d", object.getClass().getName(), index);
}
val = (Date) object;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/types/ExtendedEnumType.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/types/ExtendedEnumType.java b/cayenne-server/src/main/java/org/apache/cayenne/access/types/ExtendedEnumType.java
index 3ac8dc9..ed819fb 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/types/ExtendedEnumType.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/types/ExtendedEnumType.java
@@ -128,8 +128,7 @@ public class ExtendedEnumType<T extends Enum<T>> implements ExtendedType<T> {
// Check for duplicates.
if (enumerationMappings.containsKey(databaseValue)
|| enumerationMappings.containsValue(enumeration))
- throw new CayenneRuntimeException(
- "Enumerations/values may not be duplicated.");
+ throw new CayenneRuntimeException("Enumerations/values may not be duplicated.");
// Store by database value/enum because we have to lookup by db value later.
enumerationMappings.put(databaseValue, enumeration);
@@ -141,13 +140,10 @@ public class ExtendedEnumType<T extends Enum<T>> implements ExtendedType<T> {
private T lookup(Object databaseValue) {
if (!enumerationMappings.containsKey(databaseValue)) {
// All integers enums are mapped. Not necessarily all strings.
- if (databaseValue instanceof Integer)
- throw new CayenneRuntimeException("Missing enumeration mapping for "
- + getClassName()
- + " with value "
- + databaseValue
- + ".");
-
+ if (databaseValue instanceof Integer) {
+ throw new CayenneRuntimeException("Missing enumeration mapping for %s with value %s."
+ , getClassName(), databaseValue);
+ }
// Use the database value (a String) as the enum value.
return Enum.valueOf(enumerationClass, (String) databaseValue);
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/2be06d62/cayenne-server/src/main/java/org/apache/cayenne/access/util/IteratedSelectObserver.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/util/IteratedSelectObserver.java b/cayenne-server/src/main/java/org/apache/cayenne/access/util/IteratedSelectObserver.java
index 1c501f6..4b1a313 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/util/IteratedSelectObserver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/util/IteratedSelectObserver.java
@@ -66,7 +66,7 @@ public class IteratedSelectObserver extends DefaultOperationObserver {
// this should never happen
}
- throw new CayenneRuntimeException("Error getting ResultIterator: " + str.getBuffer());
+ throw new CayenneRuntimeException("Error getting ResultIterator: %s", str.getBuffer());
}
return resultIterator;