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 <stari...@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); } }