cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From and...@apache.org
Subject svn commit: r785636 - /cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityTab.java
Date Wed, 17 Jun 2009 14:52:50 GMT
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());
+            }
+            
         }
     }
 }



Mime
View raw message