cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ntimof...@apache.org
Subject [cayenne] branch master updated: CAY-2720 ConcurrentModificationException in the TypeAwareSQLTreeProcessor
Date Wed, 08 Sep 2021 16:13:33 GMT
This is an automated email from the ASF dual-hosted git repository.

ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
     new 8e726be  CAY-2720 ConcurrentModificationException in the TypeAwareSQLTreeProcessor
8e726be is described below

commit 8e726be3b8f41e7f0a73a6cb77ac7f0af6117fac
Author: Nikita Timofeev <stariy95@gmail.com>
AuthorDate: Wed Sep 8 19:13:28 2021 +0300

    CAY-2720 ConcurrentModificationException in the TypeAwareSQLTreeProcessor
---
 .../access/sqlbuilder/sqltree/PerAttributeChildProcessor.java       | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/PerAttributeChildProcessor.java
b/cayenne-server/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/PerAttributeChildProcessor.java
index 85aaeb1..9677ffc 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/PerAttributeChildProcessor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/PerAttributeChildProcessor.java
@@ -44,8 +44,12 @@ public class PerAttributeChildProcessor<T extends Node> implements
ChildProcesso
 
     @Override
     public Optional<Node> process(Node parent, T child, int index) {
+        DbAttribute dbAttribute = attributeMapper.apply(child);
+        if(dbAttribute == null) {
+            return processorFactory.apply(null).process(parent, child, index);
+        }
         return processorByAttribute
-                .computeIfAbsent(attributeMapper.apply(child), processorFactory)
+                .computeIfAbsent(dbAttribute, processorFactory)
                 .process(parent, child, index);
     }
 }

Mime
View raw message