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/14 14:27:50 UTC

[19/32] cayenne git commit: Cgen

Cgen


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

Branch: refs/heads/master
Commit: a5c2ceb9a010c9376e81d7d13352127fcf301315
Parents: 8f6cfd7 52ea45b
Author: Arseni Bulatski <an...@gmail.com>
Authored: Thu Nov 8 17:26:08 2018 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Thu Nov 8 17:26:08 2018 +0300

----------------------------------------------------------------------
 .../cayenne/tools/CayenneGeneratorTask.java     |  154 ++-
 .../cayenne/tools/CgenWithConfigTest.java       |  124 ++
 cayenne-ant/src/test/resources/cgenTest.map.xml |   22 +
 .../cayenne/gen/ArtifactsGenerationMode.java    |    2 +-
 .../apache/cayenne/gen/CgenConfiguration.java   |  363 ++++++
 .../java/org/apache/cayenne/gen/CgenModule.java |   34 +
 .../cayenne/gen/ClassGenerationAction.java      |  490 +++-----
 .../gen/ClientClassGenerationAction.java        |   44 +-
 .../apache/cayenne/gen/EmbeddableArtifact.java  |   12 +-
 .../org/apache/cayenne/gen/EntityArtifact.java  |   11 +-
 .../cayenne/gen/xml/CgenConfigHandler.java      |  279 +++++
 .../apache/cayenne/gen/xml/CgenExtension.java   |   54 +
 .../cayenne/gen/xml/CgenLoaderDelegate.java     |   49 +
 .../cayenne/gen/xml/CgenSaverDelegate.java      |   70 ++
 .../CayenneGeneratorEmbeddableFilterAction.java |   29 +
 .../CayenneGeneratorEntityFilterAction.java     |   22 +-
 .../cayenne/gen/ClassGenerationActionTest.java  |   37 +-
 .../java/org/apache/cayenne/tools/CgenTask.java |  182 ++-
 .../org/apache/cayenne/tools/CgenTaskIT.java    |   60 +-
 .../org/apache/cayenne/tools/CgenTaskTest.java  |   50 +-
 .../org/apache/cayenne/tools/cgenConfig.map.xml |   22 +
 .../org/apache/cayenne/tools/cgenMap.map.xml    |   22 +
 .../cayenne/tools/cgen_with_config.gradle       |   27 +
 .../cayenne/tools/cgen_with_configs.gradle      |   32 +
 .../cayenne/project/CompoundSaverDelegate.java  |   28 +-
 .../cayenne/project/FileProjectSaver.java       |    2 +
 .../project/extension/BaseSaverDelegate.java    |   13 +
 .../project/extension/SaverDelegate.java        |    4 +
 .../main/java/org/apache/cayenne/util/Util.java |   33 +-
 .../cayenne/tools/CayenneGeneratorMojo.java     |  187 ++-
 .../cayenne/tools/CayenneGeneratorMojoTest.java |   48 +
 .../resources/cgen/project-to-test/cgen-pom.xml |   46 +
 .../cgen/project-to-test/datamap-and-pom.xml    |   54 +
 .../src/test/resources/cgen/testCgen.map.xml    |   22 +
 .../src/test/resources/cgen/testCgenMap.map.xml |   22 +
 .../cayenne/modeler/CayenneModelerFrame.java    |   95 +-
 .../cayenne/modeler/CodeTemplateManager.java    |   82 +-
 .../modeler/action/GenerateCodeAction.java      |   12 +-
 .../dialog/codegen/ClassesTabController.java    |  406 +++----
 .../modeler/dialog/codegen/ClassesTabPanel.java |  282 ++---
 .../dialog/codegen/ClientModeController.java    |  162 +--
 .../dialog/codegen/CodeGeneratorController.java |  338 +++---
 .../codegen/CodeGeneratorControllerBase.java    |  760 ++++++------
 .../dialog/codegen/CodeGeneratorDialog.java     |  198 +--
 .../dialog/codegen/CustomModeController.java    |  470 ++++----
 .../modeler/dialog/codegen/CustomModePanel.java |  274 ++---
 .../codegen/CustomPreferencesUpdater.java       |  418 +++----
 .../dialog/codegen/GeneratorController.java     | 1124 +++++++++---------
 .../codegen/GeneratorControllerPanel.java       |  110 +-
 .../dialog/codegen/GeneratorTabController.java  |  230 ++--
 .../dialog/codegen/GeneratorTabPanel.java       |  130 +-
 .../dialog/codegen/StandardModeController.java  |  164 +--
 .../dialog/codegen/StandardModePanel.java       |   84 +-
 .../dialog/codegen/StandardPanelComponent.java  |  162 +--
 .../modeler/editor/DataDomainTabbedView.java    |  183 +--
 .../modeler/editor/DataMapTabbedView.java       |   38 +-
 .../cayenne/modeler/editor/EditorView.java      |    3 +-
 .../editor/cgen/ClassesTabController.java       |  123 ++
 .../modeler/editor/cgen/ClassesTabPanel.java    |   80 ++
 .../editor/cgen/ClientModeController.java       |   44 +
 .../editor/cgen/CodeGeneratorController.java    |  176 +++
 .../cgen/CodeGeneratorControllerBase.java       |  366 ++++++
 .../modeler/editor/cgen/CodeGeneratorPane.java  |   46 +
 .../editor/cgen/CustomModeController.java       |  155 +++
 .../modeler/editor/cgen/CustomModePanel.java    |  169 +++
 .../editor/cgen/GeneratorController.java        |  448 +++++++
 .../editor/cgen/GeneratorControllerPanel.java   |   68 ++
 .../editor/cgen/GeneratorTabController.java     |  112 ++
 .../modeler/editor/cgen/GeneratorTabPanel.java  |   95 ++
 .../editor/cgen/StandardModeController.java     |   60 +
 .../modeler/editor/cgen/StandardModePanel.java  |   42 +
 .../editor/cgen/StandardPanelComponent.java     |   63 +
 .../modeler/editor/cgen/domain/CgenPanel.java   |   59 +
 .../modeler/editor/cgen/domain/CgenTab.java     |   89 ++
 .../editor/cgen/domain/CgenTabController.java   |  197 +++
 .../modeler/init/CayenneModelerModule.java      |    4 +-
 .../cayenne/modeler/util/ComboBoxAdapter.java   |   72 ++
 .../cayenne/modeler/util/ModelerUtil.java       |   43 +
 78 files changed, 7454 insertions(+), 3432 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/a5c2ceb9/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
----------------------------------------------------------------------
diff --cc modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
index e137df5,76cf573..9c8fcab
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/DataMapTabbedView.java
@@@ -18,21 -18,25 +18,26 @@@
   ****************************************************************/
  package org.apache.cayenne.modeler.editor;
  
- import javax.swing.JScrollPane;
- import javax.swing.JTabbedPane;
- 
+ import org.apache.cayenne.modeler.Application;
  import org.apache.cayenne.modeler.ProjectController;
+ import org.apache.cayenne.modeler.editor.cgen.CodeGeneratorController;
+ import org.apache.cayenne.modeler.editor.cgen.domain.CgenTab;
  import org.apache.cayenne.modeler.editor.dbimport.DbImportView;
  
+ import javax.swing.*;
+ 
 -
  /**
   * Data map editing tabs container
   *
   */
- public class DataMapTabbedView extends JTabbedPane {
+ public class DataMapTabbedView extends JTabbedPane{
      ProjectController mediator;
 +    private int lastSelectionIndex;
 +    private DbImportView dbImportView1;
 +
+     private CodeGeneratorController codeGeneratorController;
+     JScrollPane cgenView;
+ 
 -
      /**
       * constructor
       *
@@@ -54,23 -57,30 +58,47 @@@
          // add panels to tabs
          // note that those panels that have no internal scrollable tables
          // must be wrapped in a scroll pane
 +        JScrollPane dataMapScrollPane = new JScrollPane(new DataMapView(mediator));
 +        dbImportView1 = new DbImportView(mediator);
 +        JScrollPane dbImportScrollPane = new JScrollPane(dbImportView1);
 +        addTab("DataMap", dataMapScrollPane);
 +        addTab("DB Import", dbImportScrollPane);
 +        addChangeListener(e -> {
 +            lastSelectionIndex = getSelectedIndex();
 +            updateTabs();
 +        });
 +    }
 +
 +    private void updateTabs() {
 +        switch (lastSelectionIndex) {
 +            case 1:
 +                dbImportView1.initFromModel();
 +            break;
 +        }
+         JScrollPane dataMapView = new JScrollPane(new DataMapView(mediator));
+         JScrollPane dbImportView = new JScrollPane(new DbImportView(mediator));
+         this.codeGeneratorController = new CodeGeneratorController(Application.getInstance().getFrameController(), mediator);
+         cgenView = new JScrollPane(codeGeneratorController.getView());
+         addTab("DataMap", dataMapView);
+         addTab("DbImport", dbImportView);
+         addTab("Class Generation", cgenView);
+ 
+         addChangeListener(tab -> {
+             if(isCgenTabActive()) {
+                 codeGeneratorController.startup(mediator.getCurrentDataMap());
+             }
+         });
+         mediator.addDataMapDisplayListener(e -> {
+             if(isCgenTabActive()) {
+                 fireStateChanged();
+             } else if(e.getSource() instanceof CgenTab){
+                 setSelectedComponent(cgenView);
+             }
+         });
+     }
+ 
+     private boolean isCgenTabActive() {
+         return getSelectedComponent() == cgenView;
      }
  }