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/30 17:32:23 UTC

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

Author: oltka
Date: Wed Dec 30 16:32:22 2009
New Revision: 894667

URL: http://svn.apache.org/viewvc?rev=894667&view=rev
Log:
CAY-1352 in "code generation" dialog add generation embeddables

* select all classes if we start "code generation" dialog or one class if we have currentEntity or emdeddabless

(cherry picked from commit 9a21e146d9440c9a033b0a4cae288938b1f5cc9f)

Modified:
    cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java
    cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java
    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/CodeGeneratorController.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/CodeGeneratorController.java?rev=894667&r1=894666&r2=894667&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java (original)
+++ cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorController.java Wed Dec 30 16:32:22 2009
@@ -96,7 +96,7 @@
         validate(controller);
 
         Predicate predicate = controller != null
-                ? controller.getDefaultEntityFilter()
+                ? controller.getDefaultClassFilter()
                 : PredicateUtils.falsePredicate();
 
         updateSelection(predicate);

Modified: cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.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/CodeGeneratorControllerBase.java?rev=894667&r1=894666&r2=894667&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java (original)
+++ cayenne/main/branches/STABLE-3.0/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CodeGeneratorControllerBase.java Wed Dec 30 16:32:22 2009
@@ -63,7 +63,7 @@
 
         this.dataMap = dataMap;
         this.classes = new ArrayList(dataMap.getObjEntities());
-        classes.addAll(new ArrayList(dataMap.getEmbeddables()));
+        this.classes.addAll(new ArrayList(dataMap.getEmbeddables()));
         this.selectedEntities = new HashSet();
         this.selectedEmbeddables = new HashSet();
     }
@@ -138,7 +138,7 @@
         return modified;
     }
 
-    public Collection<Embeddable> getSelectedEmbeddables() {
+    public List<Embeddable> getSelectedEmbeddables() {
 
         List<Embeddable> selected = new ArrayList<Embeddable>(selectedEmbeddables.size());
 

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=894667&r1=894666&r2=894667&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 Wed Dec 30 16:32:22 2009
@@ -503,13 +503,19 @@
     /**
      * Returns a predicate for default entity selection in a given mode.
      */
-    public Predicate getDefaultEntityFilter() {
+    public Predicate getDefaultClassFilter() {
         final ObjEntity selectedEntity = Application
                 .getInstance()
                 .getFrameController()
                 .getProjectController()
                 .getCurrentObjEntity();
 
+        final Embeddable selectedEmbeddable = Application
+                .getInstance()
+                .getFrameController()
+                .getProjectController()
+                .getCurrentEmbeddable();
+
         // select a single entity
         if (selectedEntity != null) {
             final boolean hasProblem = getParentController().getProblem(
@@ -522,6 +528,18 @@
                 }
             };
         }
+        // select a single embeddable
+        else if (selectedEmbeddable != null) {
+            final boolean hasProblem = getParentController().getProblem(
+                    selectedEmbeddable.getClassName()) != null;
+
+            return new Predicate() {
+
+                public boolean evaluate(Object object) {
+                    return !hasProblem && object == selectedEmbeddable;
+                }
+            };
+        }
         // select all entities
         else {
 
@@ -532,6 +550,11 @@
                         return getParentController().getProblem(
                                 ((ObjEntity) object).getName()) == null;
                     }
+                    
+                    if (object instanceof Embeddable) {
+                        return getParentController().getProblem(
+                                ((Embeddable) object).getClassName()) == null;
+                    }
 
                     return false;
                 }