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);