You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/11/22 13:55:14 UTC

[2/3] cayenne git commit: Update cgen tab in datamap

Update cgen tab in datamap


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/838b21ab
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/838b21ab
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/838b21ab

Branch: refs/heads/master
Commit: 838b21ab41cda1161195a97ef666411f3db3c468
Parents: e6ba48c
Author: Arseni Bulatski <an...@gmail.com>
Authored: Thu Nov 22 16:08:11 2018 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Thu Nov 22 16:09:48 2018 +0300

----------------------------------------------------------------------
 .../editor/cgen/ClassesTabController.java       | 16 +++---
 .../modeler/editor/cgen/ClassesTabPanel.java    | 31 +-----------
 .../editor/cgen/CodeGeneratorController.java    |  9 ++--
 .../cgen/CodeGeneratorControllerBase.java       | 15 ++++--
 .../modeler/editor/cgen/CodeGeneratorPane.java  | 53 ++++++++++++++++++--
 .../modeler/editor/cgen/CustomModePanel.java    |  4 +-
 .../editor/cgen/GeneratorTabController.java     |  2 +-
 .../modeler/editor/cgen/GeneratorTabPanel.java  | 27 +++-------
 .../modeler/editor/cgen/StandardModePanel.java  |  2 +-
 9 files changed, 84 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/838b21ab/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabController.java
index fe3dc4d..b219aae 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabController.java
@@ -43,8 +43,6 @@ public class ClassesTabController extends CayenneController {
 
         this.view = new ClassesTabPanel();
         builder = new BindingBuilder(getApplication().getBindingFactory(), this);
-
-        builder.bindToAction(view.getCheckAll(), "checkAllAction()");
     }
 
     public void startup(){
@@ -61,6 +59,8 @@ public class ClassesTabController extends CayenneController {
     }
 
     protected void initBindings() {
+        builder.bindToAction(((CodeGeneratorPane)parent.getView()).getCheckAll(), "checkAllAction()");
+
         TableBindingBuilder tableBuilder = new TableBindingBuilder(builder);
 
         tableBuilder.addColumn(
@@ -74,14 +74,14 @@ public class ClassesTabController extends CayenneController {
                 "parent.getItemName(#item)",
                 JLabel.class,
                 false,
-                "XXXXXXXXXXXXXXXXXXXXXXXXXXX");
+                "XXXXXXXXXXXXXXXXXXXXXXXXXX");
 
         tableBuilder.addColumn(
                 "Comments, Warnings",
                 "parent.getProblem(#item)",
                 String.class,
                 false,
-                "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
+                "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
 
         this.tableBinding = tableBuilder.bindToTable(view.getTable(), "parent.classes");
         view.getTable().getColumnModel().getColumn(1).setCellRenderer(new ImageRendererColumn());
@@ -109,10 +109,10 @@ public class ClassesTabController extends CayenneController {
             getParentController().enableGenerateButton(true);
         }
         if (selectedCount < getParentController().getClasses().size()) {
-            view.getCheckAll().setSelected(false);
+            ((CodeGeneratorPane)parent.getView()).getCheckAll().setSelected(false);
         }
         else if (selectedCount == getParentController().getClasses().size()) {
-            view.getCheckAll().setSelected(true);
+            ((CodeGeneratorPane)parent.getView()).getCheckAll().setSelected(true);
         }
         getParentController().updateSelectedEntities();
     }
@@ -122,10 +122,10 @@ public class ClassesTabController extends CayenneController {
      * change.
      */
     public void checkAllAction() {
-        if (getParentController().updateSelection(view.getCheckAll().isSelected() ? o -> true : o -> false)) {
+        if (getParentController().updateSelection(((CodeGeneratorPane)parent.getView()).getCheckAll().isSelected() ? o -> true : o -> false)) {
             tableBinding.updateView();
             getParentController().updateSelectedEntities();
-            if(view.getCheckAll().isSelected()) {
+            if(((CodeGeneratorPane)parent.getView()).getCheckAll().isSelected()) {
                 getParentController().enableGenerateButton(true);
             } else {
                 getParentController().enableGenerateButton(false);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/838b21ab/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabPanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabPanel.java
index 0cca129..b537dcc 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabPanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClassesTabPanel.java
@@ -19,16 +19,12 @@
 
 package org.apache.cayenne.modeler.editor.cgen;
 
-import javax.swing.JCheckBox;
-import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JTable;
 import javax.swing.ScrollPaneConstants;
-import javax.swing.UIManager;
 import java.awt.BorderLayout;
 import java.awt.Dimension;
-import java.awt.FlowLayout;
 
 /**
  * @since 4.1
@@ -36,30 +32,10 @@ import java.awt.FlowLayout;
 public class ClassesTabPanel extends JPanel {
 
     protected JTable table;
-    private JCheckBox checkAll;
-    private JLabel checkAllLabel;
-
     ClassesTabPanel() {
 
         this.table = new JTable();
         this.table.setRowHeight(22);
-        this.checkAll = new JCheckBox();
-        this.checkAllLabel = new JLabel("Check All Classes");
-
-        checkAll.addItemListener(event -> {
-            if (checkAll.isSelected()) {
-                checkAllLabel.setText("Uncheck All Classess");
-            }
-            else {
-                checkAllLabel.setText("Check All Classes");
-            }
-        });
-
-        // assemble
-        JPanel topPanel = new JPanel(new FlowLayout(FlowLayout.LEADING));
-        topPanel.setBorder(UIManager.getBorder("ToolBar.border"));
-        topPanel.add(checkAll);
-        topPanel.add(checkAllLabel);
 
         JScrollPane tablePanel = new JScrollPane(
                 table,
@@ -68,18 +44,13 @@ public class ClassesTabPanel extends JPanel {
 
         // set some minimal preferred size, so that it is smaller than other forms used in
         // the dialog... this way we get the right automated overall size
-        tablePanel.setPreferredSize(new Dimension(450, 200));
+        tablePanel.setPreferredSize(new Dimension(530, 200));
 
         setLayout(new BorderLayout());
-        add(topPanel, BorderLayout.NORTH);
         add(tablePanel, BorderLayout.CENTER);
     }
 
     public JTable getTable() {
         return table;
     }
-
-    public JCheckBox getCheckAll() {
-        return checkAll;
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/838b21ab/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java
index 36f88a2..b2fc012 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorController.java
@@ -38,8 +38,8 @@ import org.apache.cayenne.swing.BindingBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.JOptionPane;
+import java.awt.Component;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.function.Predicate;
@@ -81,6 +81,7 @@ public class CodeGeneratorController extends CodeGeneratorControllerBase impleme
         generatorSelector.setSelectedController(modeController);
         classesSelector.startup();
         initFromModel = false;
+        validate(modeController);
     }
 
     private boolean isDefaultConfig(CgenConfiguration cgenConfiguration) {
@@ -108,7 +109,7 @@ public class CodeGeneratorController extends CodeGeneratorControllerBase impleme
                 getApplication().getBindingFactory(),
                 this);
 
-        builder.bindToAction(((GeneratorTabPanel)generatorSelector.getView()).getGenerateButton(), "generateAction()");
+        builder.bindToAction(view.getGenerateButton(), "generateAction()");
         builder.bindToAction(this, "classesSelectedAction()", SELECTED_PROPERTY);
         builder.bindToAction(generatorSelector, "generatorSelectedAction()",
                 GeneratorTabController.GENERATOR_PROPERTY);
@@ -159,7 +160,7 @@ public class CodeGeneratorController extends CodeGeneratorControllerBase impleme
     }
 
     public void enableGenerateButton(boolean enable) {
-        ((GeneratorTabPanel)generatorSelector.getView()).getGenerateButton().setEnabled(enable);
+        view.getGenerateButton().setEnabled(enable);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/838b21ab/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorControllerBase.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorControllerBase.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorControllerBase.java
index 1c41cb8..ec99134 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorControllerBase.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorControllerBase.java
@@ -32,14 +32,21 @@ import org.apache.cayenne.modeler.util.ModelerUtil;
 import org.apache.cayenne.validation.ValidationFailure;
 import org.apache.cayenne.validation.ValidationResult;
 
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.Icon;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import java.awt.Component;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.function.Predicate;
 import java.util.prefs.Preferences;
 import java.util.stream.Collectors;
@@ -275,7 +282,7 @@ public abstract class CodeGeneratorControllerBase extends CayenneController {
     public String getProblem(Object obj) {
 
         String name = null;
-        
+
         if (obj instanceof ObjEntity) {
             name = ((ObjEntity) obj).getName();
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/838b21ab/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorPane.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorPane.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorPane.java
index 3875391..d563c61 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorPane.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CodeGeneratorPane.java
@@ -19,33 +19,80 @@
 
 package org.apache.cayenne.modeler.editor.cgen;
 
+import org.apache.cayenne.modeler.util.ModelerUtil;
+
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JSplitPane;
 import javax.swing.ScrollPaneConstants;
 import java.awt.BorderLayout;
 import java.awt.Component;
 import java.awt.Dimension;
+import java.awt.FlowLayout;
 
 /**
  * @since 4.1
  */
-public class CodeGeneratorPane extends JSplitPane {
+public class CodeGeneratorPane extends JPanel {
+
+    private JPanel toolBarPanel;
+    private JButton generateButton;
+    private JCheckBox checkAll;
+    private JLabel checkAllLabel;
 
     public CodeGeneratorPane(Component generatorPanel, Component entitySelectorPanel) {
         super();
+        this.setLayout(new BorderLayout());
+
+        this.toolBarPanel = new JPanel();
+        toolBarPanel.setLayout(new BorderLayout());
+
+        this.generateButton = new JButton("Generate");
+        generateButton.setIcon(ModelerUtil.buildIcon("icon-dbi-runImport.png"));
+        generateButton.setEnabled(false);
+        generateButton.setPreferredSize(new Dimension(115, 25));
+
+        toolBarPanel.add(generateButton, BorderLayout.EAST);
+
+        this.checkAll = new JCheckBox();
+        this.checkAllLabel = new JLabel("Check All Classes");
+        checkAll.addItemListener(event -> {
+            if (checkAll.isSelected()) {
+                checkAllLabel.setText("Uncheck All Classess");
+            }
+            else {
+                checkAllLabel.setText("Check All Classes");
+            }
+        });
+        JPanel topPanel = new JPanel(new FlowLayout(FlowLayout.LEADING));
+        topPanel.add(checkAll);
+        topPanel.add(checkAllLabel);
+        toolBarPanel.add(topPanel, BorderLayout.WEST);
+
+        add(toolBarPanel, BorderLayout.NORTH);
 
         JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
         JScrollPane scrollPane = new JScrollPane(
                 generatorPanel,
                 ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
                 ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
-        scrollPane.setPreferredSize(new Dimension(300,400));
+        scrollPane.setPreferredSize(new Dimension(150,400));
 
         // assemble
         splitPane.setRightComponent(scrollPane);
         splitPane.setLeftComponent(entitySelectorPanel);
 
-        setLayout(new BorderLayout());
         add(splitPane, BorderLayout.CENTER);
     }
+
+    public JButton getGenerateButton() {
+        return generateButton;
+    }
+
+    public JCheckBox getCheckAll() {
+        return checkAll;
+    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/838b21ab/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModePanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModePanel.java
index 18a1929..d29c3c4 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModePanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModePanel.java
@@ -102,7 +102,7 @@ public class CustomModePanel extends GeneratorControllerPanel {
 
         // assemble
         FormLayout layout = new FormLayout(
-                "right:79dlu, 1dlu, fill:300:grow, 1dlu, left:100dlu, 100dlu", "");
+                "right:74dlu, 1dlu, fill:240:grow, 1dlu, left:100dlu, 100dlu", "");
         DefaultFormBuilder builder = new DefaultFormBuilder(layout);
         builder.setDefaultDialogBorder();
 
@@ -139,8 +139,6 @@ public class CustomModePanel extends GeneratorControllerPanel {
         JPanel links = new JPanel(new FlowLayout(FlowLayout.TRAILING));
         links.add(manageTemplatesLink);
         add(links, BorderLayout.SOUTH);
-
-        add(builder.getPanel(), BorderLayout.CENTER);
     }
 
     public void setDisableSuperComboBoxes(boolean val){

http://git-wip-us.apache.org/repos/asf/cayenne/blob/838b21ab/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabController.java
index 0956cc3..f13caab 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabController.java
@@ -60,7 +60,7 @@ public class GeneratorTabController extends CayenneController {
         }
         this.view = new GeneratorTabPanel(GENERATION_MODES, modePanels);
         initBindings();
-        view.setPreferredSize(new Dimension(600, 480));
+        view.setPreferredSize(new Dimension(550, 480));
     }
 
     public Component getView() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/838b21ab/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java
index 49e0db7..726f125 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/GeneratorTabPanel.java
@@ -21,11 +21,12 @@ package org.apache.cayenne.modeler.editor.cgen;
 
 import com.jgoodies.forms.builder.DefaultFormBuilder;
 import com.jgoodies.forms.layout.FormLayout;
-import org.apache.cayenne.modeler.util.ModelerUtil;
-import org.apache.cayenne.swing.components.TopBorder;
 
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.JComboBox;
+import javax.swing.JPanel;
+import java.awt.BorderLayout;
+import java.awt.CardLayout;
+import java.awt.Component;
 import java.util.Objects;
 
 /**
@@ -37,20 +38,8 @@ public class GeneratorTabPanel extends JPanel {
     private CardLayout modeLayout;
     private JPanel modesPanel;
 
-    private JButton generateButton;
-
     public GeneratorTabPanel(String[] modeNames, Component[] modePanels) {
         setLayout(new BorderLayout());
-        this.generateButton = new JButton("Generate");
-        generateButton.setIcon(ModelerUtil.buildIcon("icon-gen_java.png"));
-        generateButton.setPreferredSize(new Dimension(180, 30));
-        generateButton.setEnabled(false);
-        JPanel buttons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
-        buttons.setBorder(TopBorder.create());
-        buttons.add(Box.createHorizontalStrut(50));
-        buttons.add(generateButton);
-        add(buttons, BorderLayout.NORTH);
-
         JPanel panel = new JPanel();
         this.generationMode = new JComboBox<>(modeNames);
         this.modeLayout = new CardLayout();
@@ -59,7 +48,7 @@ public class GeneratorTabPanel extends JPanel {
         generationMode.addItemListener(e -> modeLayout.show(modesPanel, Objects.requireNonNull(generationMode.getSelectedItem()).toString()));
 
         // assemble
-        FormLayout layout = new FormLayout("right:77dlu, 3dlu, fill:300, fill:300dlu:grow", "");
+        FormLayout layout = new FormLayout("right:77dlu, 3dlu, fill:240, fill:300dlu:grow", "");
         DefaultFormBuilder builder = new DefaultFormBuilder(layout);
         builder.setDefaultDialogBorder();
         builder.append("Type:", generationMode, 1);
@@ -79,8 +68,4 @@ public class GeneratorTabPanel extends JPanel {
     public JComboBox getGenerationMode() {
         return generationMode;
     }
-
-    public JButton getGenerateButton() {
-        return generateButton;
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/838b21ab/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModePanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModePanel.java
index 85c2d5f..8412e96 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModePanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModePanel.java
@@ -33,7 +33,7 @@ public class StandardModePanel extends GeneratorControllerPanel {
     public StandardModePanel(CodeGeneratorControllerBase codeGeneratorControllerBase) {
         super(Application.getInstance().getFrameController().getProjectController(), codeGeneratorControllerBase);
         FormLayout layout = new FormLayout(
-                "right:88dlu, 1dlu, fill:300:grow, 1dlu, left:100dlu, 100dlu", "");
+                "right:83dlu, 1dlu, fill:240:grow, 1dlu, left:100dlu, 100dlu", "");
 
         DefaultFormBuilder builder = new DefaultFormBuilder(layout);
         builder.append("Output Directory:", outputFolder.getComponent(), selectOutputFolder);