diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/PreparedQueryImpl.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/PreparedQueryImpl.java index 8efded5ff..70d6e5684 100644 --- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/PreparedQueryImpl.java +++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/PreparedQueryImpl.java @@ -170,13 +170,13 @@ public class PreparedQueryImpl implements PreparedQuery { if (selector == null || selector.hasMultipleSelects() || ((selector instanceof Union) && (((Union)selector).getSelects().length != 1))) - return new PreparedQueryCacheImpl.StrongExclusion(_id, _loc.get("exclude-multi-select").getMessage()); + return new PreparedQueryCacheImpl.StrongExclusion(_id, _loc.get("exclude-multi-select", _id).getMessage()); select = extractImplementation(selector); if (select == null) - return new PreparedQueryCacheImpl.StrongExclusion(_id, _loc.get("exclude-no-select").getMessage()); + return new PreparedQueryCacheImpl.StrongExclusion(_id, _loc.get("exclude-no-select", _id).getMessage()); SQLBuffer buffer = selector.getSQL(); if (buffer == null) - return new PreparedQueryCacheImpl.StrongExclusion(_id, _loc.get("exclude-no-sql").getMessage());; + return new PreparedQueryCacheImpl.StrongExclusion(_id, _loc.get("exclude-no-sql", _id).getMessage());; setTargetQuery(buffer.getSQL()); setParameters(buffer.getParameters()); setUserParameterPositions(buffer.getUserParameters()); @@ -194,18 +194,18 @@ public class PreparedQueryImpl implements PreparedQuery { */ private Object[] extractSelectExecutor(Object result) { if (result instanceof ResultList == false) - return new Object[]{null, _loc.get("exclude-not-result")}; + return new Object[]{null, _loc.get("exclude-not-result", _id)}; Object userObject = ((ResultList)result).getUserObject(); if (userObject == null || !userObject.getClass().isArray() || ((Object[])userObject).length != 2) - return new Object[]{null, _loc.get("exclude-no-user-object")}; + return new Object[]{null, _loc.get("exclude-no-user-object", _id)}; Object provider = ((Object[])userObject)[0]; Object executor = ((Object[])userObject)[1]; if (executor instanceof StoreQuery.Executor == false) - return new Object[]{null, _loc.get("exclude-not-executor")}; + return new Object[]{null, _loc.get("exclude-not-executor", _id)}; _exps = ((StoreQuery.Executor)executor).getQueryExpressions(); for (int i = 0; i < _exps.length; i++) { if (isUsingExternalizedParameter(_exps[i])) { - return new Object[]{null, _loc.get("exclude-externalized-param", provider.getClass().getName())}; + return new Object[]{null, _loc.get("exclude-externalized-param", _id)}; } } if (_exps[0].projections.length == 0) { @@ -225,7 +225,7 @@ public class PreparedQueryImpl implements PreparedQuery { if (provider instanceof SelectResultObjectProvider) { return new Object[]{((SelectResultObjectProvider)provider).getSelect(), null}; } - return new Object[]{null, _loc.get("exclude-not-select-rop", provider.getClass().getName())}; + return new Object[]{null, _loc.get("exclude-not-select-rop", _id, provider.getClass().getName())}; } private SelectImpl extractImplementation(SelectExecutor selector) { diff --git a/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/kernel/localizer.properties b/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/kernel/localizer.properties index b4561b4bc..2525bd21d 100644 --- a/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/kernel/localizer.properties +++ b/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/kernel/localizer.properties @@ -149,17 +149,21 @@ bad-lrs-size: Invalid LRS size. Valid values are \ "unknown"(0), "last"(1) or "query"(2). Specified value: {0}. bad-join-syntax: Invalid join syntax. Valid values are \ "sql92"(0), "tradition"(1) or "database"(2). Specified value: {0}. -exclude-multi-select: This query generates multiple SQL statements. \ - A query can be cached only when it corresponds to a single SQL statement. -exclude-not-result: This query returns a single value rather than \ - a list. A query that returns single value can not be cached. -exclude-no-user-object: Post-execution data can not be extracted \ - from this query. -exclude-no-sql: Target SQL statement can not be extracted \ - from this query. -exclude-no-select: Internal select instance can not be extracted \ - from this query. -exclude-not-select-rop: The query result is not obtained by executing \ - a select statement. This can happen if the query was evaluated in-memory. \ - The result was provided by an instance of {0}. -exclude-not-executor: This query was not executed on a data store. +exclude-multi-select: Query "{0}" is not cached because it generates multiple \ + SQL statements. A query can be cached only when it corresponds to a single \ + SQL statement. +exclude-not-result: Query "{0}" is not cached because it returns a single value \ + rather than a list. A query that returns single value can not be cached. +exclude-no-user-object: Query "{0}" is not cached because post-execution data \ + can not be extracted from this query. +exclude-no-sql: Query "{0}" is not cached because SQL statement can not be \ + extracted from this query. +exclude-no-select: Query "{0}" is not cached because the internal select \ + can not be extracted from this query. +exclude-not-select-rop: Query "{0}" is not cached because its result \ + is not obtained by executing a select statement. This can happen \ + if the query was evaluated in-memory. The result was provided by {1}. +exclude-not-executor: Query "{0}" is not cached because it was not executed on a \ + data store. +exclude-externalized-param: Query "{0}" is not cached because some parameterized \ + field values are externalized. \ No newline at end of file