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 93e968166 Possible exceptions in the Modeler
93e968166 is described below

commit 93e9681664459b0f77c4c3fcc5a213307f51b026
Author: Nikita Timofeev <[email protected]>
AuthorDate: Mon Oct 6 20:40:46 2025 +0400

    Possible exceptions in the Modeler
---
 .../cayenne/modeler/util/DbAttributePathComboBoxEditor.java    | 10 +++++-----
 .../cayenne/modeler/util/PathChooserComboBoxCellEditor.java    |  4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
index d3193db37..7a26b7ad1 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
@@ -19,6 +19,7 @@
 
 package org.apache.cayenne.modeler.util;
 
+import org.apache.cayenne.exp.path.CayennePath;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbRelationship;
@@ -81,13 +82,12 @@ public class DbAttributePathComboBoxEditor extends 
PathChooserComboBoxCellEditor
 
     @Override
     protected String getPathToInitializeCombo(ObjAttributeTableModel model, 
int row) {
-        String pathString = 
model.getAttribute(row).getValue().getDbAttributePath().value();
-        if (pathString == null) {
+        CayennePath path = 
model.getAttribute(row).getValue().getDbAttributePath();
+        if (path == null || path.isEmpty()) {
             return "";
         }
-        String[] pathStrings = pathString.split(Pattern.quote("."));
-        String lastStringInPath = pathStrings[pathStrings.length - 1];
-        return pathString.replaceAll(lastStringInPath + '$', "");
+        return path.parent()
+                .dot(path.last().value().replaceAll("\\$", "")).value();
     }
 
     @Override
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
index 3c9faef55..90b20df4e 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
@@ -244,10 +244,10 @@ public abstract class PathChooserComboBoxCellEditor<T 
extends CayenneTableModel<
                                                       boolean isSelected, 
boolean cellHasFocus) {
 
             JPanel panel = new JPanel(new BorderLayout());
-            JLabel label = new JLabel((String) value);
+            JLabel label = new JLabel(value.toString());
             panel.add(label);
 
-            Object currentNode = getCurrentNode((String) value);
+            Object currentNode = getCurrentNode(value.toString());
             if (treeModel.isLeaf(currentNode)) {
                 ListCellRenderer<Object> leafRenderer = 
CellRenderers.listRenderer();
                 return leafRenderer.getListCellRendererComponent(list, value, 
index, isSelected, cellHasFocus);

Reply via email to