Repository: cayenne Updated Branches: refs/heads/master 2e3760218 -> adcbf1322
CAY-2476 Modeller: Added update state of Superclass and Subclass Templates dropdowns on dialog open. Added disabling Subclass Template dropdown and added using singleclass.vm template when 'Make Pairs' checkbox is nod checked. Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/6249a07b Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/6249a07b Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/6249a07b Branch: refs/heads/master Commit: 6249a07bb6122f80a595ca8c90d8be604f34de0e Parents: 6221d5e Author: kkomyak <[email protected]> Authored: Mon Sep 17 17:10:16 2018 +0300 Committer: kkomyak <[email protected]> Committed: Mon Sep 17 17:22:04 2018 +0300 ---------------------------------------------------------------------- .../modeler/dialog/codegen/CustomModeController.java | 7 ++++--- .../cayenne/modeler/dialog/codegen/CustomModePanel.java | 11 +++++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/6249a07b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java index 3c5d047..233a10f 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModeController.java @@ -175,19 +175,20 @@ public class CustomModeController extends GeneratorController { public Collection<ClassGenerationAction> createGenerator() { Collection<ClassGenerationAction> generators = super.createGenerator(); + boolean selected = view.getPairs().isSelected(); String superKey = Objects.requireNonNull(view.getSuperclassTemplate().getSelectedItem()).toString(); - String superTemplate = templateManager.getTemplatePath(superKey); + String superTemplate = selected ? templateManager.getTemplatePath(superKey) : ClassGenerationAction.SINGLE_CLASS_TEMPLATE; String subKey = Objects.requireNonNull(view.getSubclassTemplate().getSelectedItem()).toString(); - String subTemplate = templateManager.getTemplatePath(subKey); + String subTemplate = selected ? templateManager.getTemplatePath(subKey) : null; for (ClassGenerationAction generator : generators) { generator.setSuperTemplate(superTemplate); generator.setTemplate(subTemplate); generator.setOverwrite(view.getOverwrite().isSelected()); generator.setUsePkgPath(view.getUsePackagePath().isSelected()); - generator.setMakePairs(view.getPairs().isSelected()); + generator.setMakePairs(selected); generator.setCreatePropertyNames(view.getCreatePropertyNames().isSelected()); if (!Util.isEmptyString(view.getOutputPattern().getText())) { http://git-wip-us.apache.org/repos/asf/cayenne/blob/6249a07b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java index 7571de0..c1911c5 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/CustomModePanel.java @@ -54,9 +54,11 @@ public class CustomModePanel extends GeneratorControllerPanel { this.manageTemplatesLink = new ActionLink("Customize Templates..."); manageTemplatesLink.setFont(manageTemplatesLink.getFont().deriveFont(10f)); + updateClassTemplatesSelection(); pairs.addChangeListener(e -> { - superclassTemplate.setEnabled(pairs.isSelected()); - overwrite.setEnabled(!pairs.isSelected()); + boolean selected = pairs.isSelected(); + updateClassTemplatesSelection(); + overwrite.setEnabled(!selected); }); // assemble @@ -130,4 +132,9 @@ public class CustomModePanel extends GeneratorControllerPanel { public JCheckBox getCreatePropertyNames() { return createPropertyNames; } + + private void updateClassTemplatesSelection() { + superclassTemplate.setEnabled(pairs.isSelected()); + subclassTemplate.setEnabled(pairs.isSelected()); + } }
