Author: torehalset
Date: Wed Nov 29 15:48:08 2006
New Revision: 480771
URL: http://svn.apache.org/viewvc?view=rev&rev=480771
Log:
CAY-641: Stack trace instead of error message when relationship and attribute
have the same name
Show JOptionPane if setUpdatedValueAt throws IllegalArgumentException
Modified:
incubator/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTableModel.java
Modified:
incubator/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTableModel.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTableModel.java?view=diff&rev=480771&r1=480770&r2=480771
==============================================================================
---
incubator/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTableModel.java
(original)
+++
incubator/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTableModel.java
Wed Nov 29 15:48:08 2006
@@ -28,11 +28,15 @@
import java.util.Comparator;
import java.util.List;
+import javax.swing.JOptionPane;
import javax.swing.table.AbstractTableModel;
import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.ProjectController;
import org.apache.cayenne.util.Util;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* Superclass of CayenneModeler table model classes.
@@ -44,6 +48,8 @@
protected ProjectController mediator;
protected Object eventSource;
protected List objectList;
+
+ private static Log logObj = LogFactory.getLog(CayenneTableModel.class);
/**
* Constructor for CayenneTableModel.
@@ -59,8 +65,18 @@
}
public void setValueAt(Object newVal, int row, int col) {
- if (!Util.nullSafeEquals(newVal, getValueAt(row, col))) {
- setUpdatedValueAt(newVal, row, col);
+ try {
+ if (!Util.nullSafeEquals(newVal, getValueAt(row, col))) {
+ setUpdatedValueAt(newVal, row, col);
+ }
+ }
+ catch (IllegalArgumentException e) {
+ logObj.error("Error setting table model value", e);
+ JOptionPane.showMessageDialog(
+ Application.getFrame(),
+ e.getMessage(),
+ "Invalid value",
+ JOptionPane.ERROR_MESSAGE);
}
}