You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/12/24 22:45:49 UTC
[isis] branch master updated: ISIS-2033: dn-integration,
regression: fixes named query result needs a defensive copy before
further processing, not sure why
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 9ffc00c ISIS-2033: dn-integration, regression: fixes named query result needs a defensive copy before further processing, not sure why
9ffc00c is described below
commit 9ffc00ca964ff81fca58ff7d48564fb078d7b229
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Dec 24 23:45:36 2020 +0100
ISIS-2033: dn-integration, regression: fixes named query result needs a
defensive copy before further processing, not sure why
---
.../queries/PersistenceQueryProcessorForApplibQuery.java | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/persistence/queries/PersistenceQueryProcessorForApplibQuery.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/persistence/queries/PersistenceQueryProcessorForApplibQuery.java
index 9e3ef3e..a0ac60d 100644
--- a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/persistence/queries/PersistenceQueryProcessorForApplibQuery.java
+++ b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/persistence/queries/PersistenceQueryProcessorForApplibQuery.java
@@ -24,6 +24,7 @@ import java.util.List;
import javax.jdo.Query;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.assertions._Assert;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
@@ -120,15 +121,20 @@ extends _PersistenceQueryProcessorAbstract<PersistenceQueryFindUsingApplibQueryD
if (log.isDebugEnabled()) {
log.debug("{} # {} ( {} )", cls.getName(), queryName, queryParametersByName);
}
-
+
try {
val resultList = (List<?>) jdoQuery.executeWithMap(queryParametersByName);
if(resultList == null
|| resultList.isEmpty()) {
return Collections.emptyList();
}
- return resultList;
+ if(queryRangeModel.hasRange()) {
+ _Assert.assertTrue(resultList.size()<=queryRangeModel.getCount());
+ }
+
+ // puzzler: needs a defensive copy, not sure why
+ return _Lists.newArrayList(resultList);
} finally {
jdoQuery.closeAll();
}