You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by an...@apache.org on 2009/06/17 16:52:50 UTC
svn commit: r785636 -
/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityTab.java
Author: andrey
Date: Wed Jun 17 14:52:50 2009
New Revision: 785636
URL: http://svn.apache.org/viewvc?rev=785636&view=rev
Log:
CAY-1235 Implement qualifiers for DBEntities. Modeler changes
Modified:
cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityTab.java
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityTab.java?rev=785636&r1=785635&r2=785636&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityTab.java Wed Jun 17 14:52:50 2009
@@ -32,6 +32,7 @@
import javax.swing.JTextField;
import javax.swing.JToolBar;
+import org.apache.cayenne.exp.Expression;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.event.EntityEvent;
@@ -44,6 +45,7 @@
import org.apache.cayenne.modeler.editor.ExistingSelectionProcessor;
import org.apache.cayenne.modeler.event.DbEntityDisplayListener;
import org.apache.cayenne.modeler.event.EntityDisplayEvent;
+import org.apache.cayenne.modeler.util.ExpressionConvertor;
import org.apache.cayenne.modeler.util.TextAdapter;
import org.apache.cayenne.util.Util;
import org.apache.cayenne.validation.ValidationException;
@@ -208,7 +210,7 @@
name.setText(entity.getName());
schema.setText(entity.getSchema());
- qualifier.setText(entity.getQualifier());
+ qualifier.setText(new ExpressionConvertor().valueAsString(entity.getQualifier()));
String type = PK_DEFAULT_GENERATOR;
@@ -286,8 +288,20 @@
DbEntity ent = mediator.getCurrentDbEntity();
if (ent != null && !Util.nullSafeEquals(ent.getQualifier(), qualifier)) {
- ent.setQualifier(qualifier);
- mediator.fireDbEntityEvent(new EntityEvent(this, ent));
+ ExpressionConvertor convertor = new ExpressionConvertor();
+ try {
+ String oldQualifier = convertor.valueAsString(ent.getQualifier());
+ if (!Util.nullSafeEquals(oldQualifier, qualifier)) {
+ Expression exp = (Expression) convertor.stringAsValue(qualifier);
+ ent.setQualifier(exp);
+ mediator.fireDbEntityEvent(new EntityEvent(this, ent));
+ }
+ }
+ catch (IllegalArgumentException ex) {
+ // unparsable qualifier
+ throw new ValidationException(ex.getMessage());
+ }
+
}
}
}