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 <ancars...@gmail.com> Authored: Thu Nov 8 17:26:08 2018 +0300 Committer: Arseni Bulatski <ancars...@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; } }