This is an automated email from the ASF dual-hosted git repository. ntimofeev pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/cayenne.git
from f19ccc840 Merge pull request #608 from apache/dependabot/maven/org.postgresql-postgresql-42.7.2 add 512049112 CAY-2833 Unify code related to the Cayenne model paths processing new 9c7f4187a Merge pull request #597 from stariy95/5.0-CAY-2833-cayenne-path The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../apache/cayenne/gen/mock/CustomProperty.java | 5 +- .../value/DefaultValueTransformerFactory.java | 7 +- .../dbsync/merge/context/EntityMergeSupport.java | 22 +- .../project/validation/ObjAttributeValidator.java | 35 +-- .../java/org/apache/cayenne/BaseDataObject.java | 46 ++- .../src/main/java/org/apache/cayenne/Cayenne.java | 79 +++-- .../main/java/org/apache/cayenne/DataObject.java | 53 +++- .../cayenne/access/DataContextSnapshotBuilder.java | 2 +- .../cayenne/access/DataDomainQueryAction.java | 11 +- .../org/apache/cayenne/access/DataRowUtils.java | 10 +- .../cayenne/access/HierarchicalObjectResolver.java | 9 +- .../apache/cayenne/access/ListWithPrefetches.java | 13 +- .../cayenne/access/PrefetchProcessorJointNode.java | 9 +- .../access/PrefetchProcessorTreeBuilder.java | 5 +- .../access/flush/ArcValuesCreationHandler.java | 3 +- .../cayenne/access/jdbc/ColumnDescriptor.java | 2 +- .../cayenne/access/jdbc/SQLTemplateAction.java | 7 +- .../translator/ejbql/EJBQLConditionTranslator.java | 23 +- .../ejbql/EJBQLIdentifierColumnsTranslator.java | 7 +- .../translator/ejbql/EJBQLPathTranslator.java | 43 ++- .../ejbql/EJBQLSelectColumnsTranslator.java | 43 ++- .../translator/select/BaseColumnExtractor.java | 5 +- .../access/translator/select/ColumnExtractor.java | 6 +- .../select/CustomColumnSetExtractor.java | 20 +- .../translator/select/DbEntityColumnExtractor.java | 3 +- .../select/DbIdPathTranslationResult.java | 9 +- .../access/translator/select/DbPathProcessor.java | 30 +- .../select/DescriptorColumnExtractor.java | 50 ++- .../translator/select/IdColumnExtractor.java | 3 +- .../access/translator/select/ObjPathProcessor.java | 41 ++- .../access/translator/select/PathComponents.java | 95 ------ .../access/translator/select/PathProcessor.java | 56 ++-- .../translator/select/PathTranslationResult.java | 7 +- .../access/translator/select/PathTranslator.java | 36 ++- .../translator/select/PrefetchNodeStage.java | 43 ++- .../translator/select/QualifierTranslator.java | 11 +- .../translator/select/ResultNodeDescriptor.java | 9 +- .../access/translator/select/TableTree.java | 21 +- .../access/translator/select/TableTreeNode.java | 11 +- .../translator/select/TableTreeQualifierStage.java | 8 +- .../access/translator/select/TableTreeStage.java | 2 +- .../translator/select/TranslatorContext.java | 7 +- .../configuration/xml/ObjRelationshipHandler.java | 5 +- .../org/apache/cayenne/ejbql/parser/Compiler.java | 13 +- .../org/apache/cayenne/exp/ExpressionFactory.java | 44 ++- .../org/apache/cayenne/exp/parser/ASTDbIdPath.java | 40 +-- .../org/apache/cayenne/exp/parser/ASTDbPath.java | 33 +- .../org/apache/cayenne/exp/parser/ASTObjPath.java | 19 +- .../org/apache/cayenne/exp/parser/ASTPath.java | 17 +- .../apache/cayenne/exp/parser/ExpressionUtils.java | 2 +- .../org/apache/cayenne/exp/path/CayennePath.java | 349 +++++++++++++++++++++ .../cayenne/exp/path/CayennePathSegment.java | 108 +++++++ .../apache/cayenne/exp/path/EmptyCayennePath.java | 131 ++++++++ .../cayenne/exp/path/MultiSegmentCayennePath.java | 107 +++++++ .../org/apache/cayenne/exp/path/PathParser.java | 89 ++++++ .../org/apache/cayenne/exp/path/SegmentList.java | 94 ++++++ .../cayenne/exp/path/SingleSegmentCayennePath.java | 142 +++++++++ .../cayenne/exp/property/BaseIdProperty.java | 7 +- .../apache/cayenne/exp/property/BaseProperty.java | 55 ++-- .../cayenne/exp/property/CollectionProperty.java | 8 +- .../apache/cayenne/exp/property/DateProperty.java | 7 +- .../cayenne/exp/property/EmbeddableProperty.java | 7 +- .../cayenne/exp/property/EntityProperty.java | 9 +- .../apache/cayenne/exp/property/ListProperty.java | 28 +- .../apache/cayenne/exp/property/MapProperty.java | 29 +- .../cayenne/exp/property/NumericIdProperty.java | 5 +- .../cayenne/exp/property/NumericProperty.java | 7 +- .../apache/cayenne/exp/property/PathProperty.java | 42 ++- .../org/apache/cayenne/exp/property/Property.java | 9 + .../cayenne/exp/property/PropertyFactory.java | 334 ++++++++++++++++++-- .../apache/cayenne/exp/property/PropertyUtils.java | 19 +- .../cayenne/exp/property/RelationshipProperty.java | 61 ++-- .../apache/cayenne/exp/property/SelfProperty.java | 7 +- .../apache/cayenne/exp/property/SetProperty.java | 32 +- .../cayenne/exp/property/StringProperty.java | 7 +- .../main/java/org/apache/cayenne/map/DbEntity.java | 42 ++- .../org/apache/cayenne/map/EmbeddedAttribute.java | 2 +- .../org/apache/cayenne/map/EmbeddedResult.java | 2 +- .../main/java/org/apache/cayenne/map/Entity.java | 55 ++-- .../java/org/apache/cayenne/map/EntityResult.java | 2 +- .../java/org/apache/cayenne/map/ObjAttribute.java | 46 +-- .../java/org/apache/cayenne/map/ObjEntity.java | 87 ++--- .../org/apache/cayenne/map/ObjRelationship.java | 116 +++---- .../apache/cayenne/map/PathComponentIterator.java | 30 +- .../query/FluentSelectPrefetchRouterAction.java | 12 +- .../apache/cayenne/query/PrefetchSelectQuery.java | 71 ++++- .../org/apache/cayenne/query/PrefetchTreeNode.java | 124 +++++--- .../apache/cayenne/query/RelationshipQuery.java | 2 +- .../apache/cayenne/reflect/BaseArcProperty.java | 5 +- .../PersistentDescriptorResultMetadata.java | 8 +- .../org/apache/cayenne/reflect/PropertyUtils.java | 77 ++--- .../reflect/generic/DataObjectToManyProperty.java | 2 +- .../reflect/generic/DataObjectToOneProperty.java | 2 +- .../java/org/apache/cayenne/MockDataObject.java | 6 + .../access/PrefetchProcessorTreeBuilderIT.java | 3 +- .../select/ColumnDescriptorStageTest.java | 5 +- .../select/DbEntityColumnExtractorTest.java | 8 +- .../access/translator/select/GroupByStageTest.java | 3 +- .../translator/select/IdColumnExtractorTest.java | 6 +- .../translator/select/ObjPathProcessorIT.java | 15 +- .../translator/select/ObjPathProcessorIT2.java | 7 +- .../translator/select/ObjPathProcessorIT3.java | 5 +- .../translator/select/ObjPathProcessorIT4.java | 3 +- .../translator/select/PathComponentsTest.java | 77 ----- .../configuration/xml/ObjEntityHandlerTest.java | 5 +- .../org/apache/cayenne/exp/CayennePathTest.java | 81 +++++ .../apache/cayenne/exp/Expression_ParamsTest.java | 4 +- .../apache/cayenne/exp/parser/ASTDbIdPathTest.java | 6 +- .../cayenne/exp/parser/ExpressionUtilsTest.java | 8 +- .../apache/cayenne/exp/path/PathParserTest.java | 92 ++++++ .../cayenne/exp/property/BasePropertyTest.java | 65 ++-- .../cayenne/exp/property/DatePropertyTest.java | 3 +- .../cayenne/exp/property/EntityPropertyTest.java | 5 +- .../cayenne/exp/property/ListPropertyTest.java | 5 +- .../cayenne/exp/property/MapPropertyTest.java | 5 +- .../cayenne/exp/property/NumericPropertyTest.java | 5 +- .../cayenne/exp/property/SelfPropertyTest.java | 3 +- .../cayenne/exp/property/SetPropertyTest.java | 5 +- .../cayenne/exp/property/StringPropertyTest.java | 5 +- .../java/org/apache/cayenne/map/MockEntity.java | 3 +- .../org/apache/cayenne/map/ObjAttributeTest.java | 4 +- .../java/org/apache/cayenne/map/ObjEntityIT.java | 4 +- .../org/apache/cayenne/map/ObjRelationshipIT.java | 19 +- .../org/apache/cayenne/query/EJBQLQueryIT.java | 21 +- .../org/apache/cayenne/query/OrderingTest.java | 4 +- .../apache/cayenne/query/PrefetchTreeNodeTest.java | 15 +- .../dialog/objentity/ObjAttributeInfoDialog.java | 8 +- .../modeler/editor/ObjAttributeTableModel.java | 2 +- .../cayenne/modeler/editor/ObjEntityTab.java | 2 +- .../modeler/editor/ObjRelationshipTableModel.java | 2 +- .../editor/wrapper/ObjAttributeWrapper.java | 2 +- .../util/DbAttributePathComboBoxEditor.java | 4 +- .../util/DbRelationshipPathComboBoxEditor.java | 6 +- .../apache/cayenne/modeler/util/ProjectUtil.java | 11 +- .../wocompat/EOModelProcessorInheritanceTest.java | 2 +- .../cayenne/wocompat/EOModelPrototypesTest.java | 6 +- 136 files changed, 2812 insertions(+), 1196 deletions(-) delete mode 100644 cayenne/src/main/java/org/apache/cayenne/access/translator/select/PathComponents.java create mode 100644 cayenne/src/main/java/org/apache/cayenne/exp/path/CayennePath.java create mode 100644 cayenne/src/main/java/org/apache/cayenne/exp/path/CayennePathSegment.java create mode 100644 cayenne/src/main/java/org/apache/cayenne/exp/path/EmptyCayennePath.java create mode 100644 cayenne/src/main/java/org/apache/cayenne/exp/path/MultiSegmentCayennePath.java create mode 100644 cayenne/src/main/java/org/apache/cayenne/exp/path/PathParser.java create mode 100644 cayenne/src/main/java/org/apache/cayenne/exp/path/SegmentList.java create mode 100644 cayenne/src/main/java/org/apache/cayenne/exp/path/SingleSegmentCayennePath.java delete mode 100644 cayenne/src/test/java/org/apache/cayenne/access/translator/select/PathComponentsTest.java create mode 100644 cayenne/src/test/java/org/apache/cayenne/exp/CayennePathTest.java create mode 100644 cayenne/src/test/java/org/apache/cayenne/exp/path/PathParserTest.java