You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by ol...@apache.org on 2009/12/29 17:38:19 UTC

svn commit: r894434 - /cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java

Author: oltka
Date: Tue Dec 29 16:38:18 2009
New Revision: 894434

URL: http://svn.apache.org/viewvc?rev=894434&view=rev
Log:
CAY-1353

fix

(cherry picked from commit 2e05d40869cd5dedd1df2eeeb2b9663a9d16d22a)

Modified:
    cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java

Modified: cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java?rev=894434&r1=894433&r2=894434&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java (original)
+++ cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/GeneratorController.java Tue Dec 29 16:38:18 2009
@@ -45,8 +45,6 @@
 import org.apache.cayenne.pref.Domain;
 import org.apache.cayenne.pref.PreferenceDetail;
 import org.apache.cayenne.swing.BindingBuilder;
-import org.apache.cayenne.swing.BindingDelegate;
-import org.apache.cayenne.swing.ObjectBinding;
 import org.apache.cayenne.util.Util;
 import org.apache.cayenne.validation.BeanValidationFailure;
 import org.apache.cayenne.validation.SimpleValidationFailure;
@@ -193,7 +191,7 @@
             if (attribute instanceof EmbeddedAttribute) {
                 EmbeddedAttribute embeddedAttribute = (EmbeddedAttribute) attribute;
                 for (ObjAttribute subAttribute : embeddedAttribute.getAttributes()) {
-                    ValidationFailure failure = validateAttribute(subAttribute);
+                    ValidationFailure failure = validateEmbeddedAttribute(subAttribute);
                     if (failure != null) {
                         validationBuffer.addFailure(failure);
                         return;
@@ -295,6 +293,68 @@
 
         return null;
     }
+    
+    protected ValidationFailure validateEmbeddedAttribute(ObjAttribute attribute) {
+
+        String name = attribute.getEntity().getName();
+        
+        // validate embeddedAttribute and attribute names
+        // embeddedAttribute returned attibute as [name_embeddedAttribute].[name_attribute]
+        String[] attributes = attribute.getName().split("\\.");
+        String nameEmbeddedAttribute = attributes[0];
+        int beginIndex = attributes[0].length();
+        String attr = attribute.getName().substring(beginIndex+1);
+
+        ValidationFailure emptyEmbeddedName = BeanValidationFailure.validateNotEmpty(
+                name,
+                "attribute.name",
+                nameEmbeddedAttribute);
+        if (emptyEmbeddedName != null) {
+            return emptyEmbeddedName;
+        }
+        
+        ValidationFailure badEmbeddedName = CodeValidationUtil.validateJavaIdentifier(
+                name,
+                "attribute.name",
+                nameEmbeddedAttribute);
+        if (badEmbeddedName != null) {
+            return badEmbeddedName;
+        }
+        
+        ValidationFailure emptyName = BeanValidationFailure.validateNotEmpty(
+                name,
+                "attribute.name",
+                attr);
+        if (emptyName != null) {
+            return emptyName;
+        }
+        
+        ValidationFailure badName = CodeValidationUtil.validateJavaIdentifier(
+                name,
+                "attribute.name",
+                attr);
+        if (badName != null) {
+            return badName;
+        }
+
+        ValidationFailure emptyType = BeanValidationFailure.validateNotEmpty(
+                name,
+                "attribute.type",
+                attribute.getType());
+        if (emptyType != null) {
+            return emptyType;
+        }
+
+        ValidationFailure badType = BeanValidationFailure.validateJavaClassName(
+                name,
+                "attribute.type",
+                attribute.getType());
+        if (badType != null) {
+            return badType;
+        }
+
+        return null;
+    }
 
     protected ValidationFailure validateRelationship(
             ObjRelationship relationship,