This is an automated email from the ASF dual-hosted git repository.

ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
     new 94cfc16  Solution for issue with missed custom templates.
     new bfb848e  Merge pull request #497 from 
Ivan-nikitko/Master_Modeler's_template_issue
94cfc16 is described below

commit 94cfc16d26619f6bae35bcf57b426abc54be6f8f
Author: ivannikitka <nikitko.i...@gmail.com>
AuthorDate: Fri Feb 4 14:38:32 2022 +0300

    Solution for issue with missed custom templates.
---
 .../cayenne/modeler/CodeTemplateManager.java       | 219 ++++++++++++---------
 .../modeler/dialog/pref/TemplateCreator.java       |  35 ++--
 .../modeler/editor/cgen/CustomModeController.java  | 119 ++++-------
 3 files changed, 177 insertions(+), 196 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
index 09ea39a..ca1484a 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CodeTemplateManager.java
@@ -59,63 +59,68 @@ public class CodeTemplateManager {
 
        public static final String NODE_NAME = "codeTemplateManager";
 
-       private List<String> standardSubclassTemplates;
-       private List<String> standardSuperclassTemplates;
-       private List<String> standardClientSubclassTemplates;
-       private List<String> standardClientSuperclassTemplates;
+       private List<String> defaultSubclassTemplates;
+       private List<String> defaultSuperclassTemplates;
+       private List<String> defaultClientSubclassTemplates;
+       private List<String> defaultClientSuperclassTemplates;
        private Map<String, String> customTemplates;
        private Map<String, String> reverseCustomTemplate;
-       private Map<String, String> standardTemplates;
+       private Map<String, String> defaultTemplates;
 
-       private List<String> standardEmbeddableTemplates;
-       private List<String> standardEmbeddableSuperclassTemplates;
+       private List<String> defaultEmbeddableTemplates;
+       private List<String> defaultEmbeddableSuperclassTemplates;
 
-       private List<String> standardServerDataMapTemplates;
-       private List<String> standardServerDataMapSuperclassTemplates;
-       private List<String> standardClientDataMapTemplates;
-       private List<String> standardClientDataMapSuperclassTemplates;
+       private List<String> defaultServerDataMapTemplates;
+       private List<String> defaultServerDataMapSuperclassTemplates;
+       private List<String> defaultClientDataMapTemplates;
+       private List<String> defaultClientDataMapSuperclassTemplates;
 
-       private Map<String, String> reverseStandartTemplates;
+       private Map<String, String> reverseDefaultsTemplates;
 
-       private static Logger logger = 
LoggerFactory.getLogger(CodeTemplateManager.class);
+       private final Application application;
+       private final Preferences templatePreferences;
+
+       private static final Logger logger = 
LoggerFactory.getLogger(CodeTemplateManager.class);
 
        public Preferences getTemplatePreferences(Application application) {
                return application.getPreferencesNode(this.getClass(), 
NODE_NAME);
        }
 
        public CodeTemplateManager(Application application) {
-               standardSuperclassTemplates = new ArrayList<>(2);
-               standardSuperclassTemplates.add(STANDARD_SERVER_SUPERCLASS);
+               this.application = application;
+               this.templatePreferences = getTemplatePreferences(application);
+               defaultSuperclassTemplates = new ArrayList<>(2);
+               defaultSuperclassTemplates.add(STANDARD_SERVER_SUPERCLASS);
 
-               standardClientSuperclassTemplates = new ArrayList<>();
-               
standardClientSuperclassTemplates.add(STANDARD_CLIENT_SUPERCLASS);
+               defaultClientSuperclassTemplates = new ArrayList<>();
+               
defaultClientSuperclassTemplates.add(STANDARD_CLIENT_SUPERCLASS);
 
-               standardSubclassTemplates = new ArrayList<>(2);
-               standardSubclassTemplates.add(SINGLE_SERVER_CLASS);
-               standardSubclassTemplates.add(STANDARD_SERVER_SUBCLASS);
+               defaultSubclassTemplates = new ArrayList<>(2);
+               defaultSubclassTemplates.add(SINGLE_SERVER_CLASS);
+               defaultSubclassTemplates.add(STANDARD_SERVER_SUBCLASS);
 
-               standardClientSubclassTemplates = new ArrayList<>();
-               standardClientSubclassTemplates.add(STANDARD_CLIENT_SUBCLASS);
+               defaultClientSubclassTemplates = new ArrayList<>();
+               defaultClientSubclassTemplates.add(STANDARD_CLIENT_SUBCLASS);
 
-               standardEmbeddableTemplates = new ArrayList<>();
-               standardEmbeddableTemplates.add(STANDARD_EMBEDDABLE_SUBCLASS);
-               standardEmbeddableTemplates.add(SINGLE_EMBEDDABLE_CLASS);
+               defaultEmbeddableTemplates = new ArrayList<>();
+               defaultEmbeddableTemplates.add(STANDARD_EMBEDDABLE_SUBCLASS);
+               defaultEmbeddableTemplates.add(SINGLE_EMBEDDABLE_CLASS);
 
-               standardEmbeddableSuperclassTemplates = new ArrayList<>();
-               
standardEmbeddableSuperclassTemplates.add(STANDARD_EMBEDDABLE_SUPERCLASS);
+               defaultEmbeddableSuperclassTemplates = new ArrayList<>();
+               
defaultEmbeddableSuperclassTemplates.add(STANDARD_EMBEDDABLE_SUPERCLASS);
 
-               standardServerDataMapTemplates = new ArrayList<>();
-               
standardServerDataMapTemplates.add(STANDARD_SERVER_DATAMAP_SUBCLASS);
-               standardServerDataMapTemplates.add(SINGLE_DATAMAP_CLASS);
+               defaultServerDataMapTemplates = new ArrayList<>();
+               
defaultServerDataMapTemplates.add(STANDARD_SERVER_DATAMAP_SUBCLASS);
+               defaultServerDataMapTemplates.add(SINGLE_DATAMAP_CLASS);
 
-               standardServerDataMapSuperclassTemplates = new ArrayList<>();
-               
standardServerDataMapSuperclassTemplates.add(STANDARD_SERVER_DATAMAP_SUPERCLASS);
+               defaultServerDataMapSuperclassTemplates = new ArrayList<>();
+               
defaultServerDataMapSuperclassTemplates.add(STANDARD_SERVER_DATAMAP_SUPERCLASS);
                
-               standardClientDataMapTemplates = new ArrayList<>();
-               
standardClientDataMapTemplates.add(STANDARD_CLIENT_DATAMAP_SUBCLASS);
+               defaultClientDataMapTemplates = new ArrayList<>();
+               
defaultClientDataMapTemplates.add(STANDARD_CLIENT_DATAMAP_SUBCLASS);
                
-               standardClientDataMapSuperclassTemplates = new ArrayList<>();
-               
standardClientDataMapSuperclassTemplates.add(STANDARD_CLIENT_DATAMAP_SUPERCLASS);
+               defaultClientDataMapSuperclassTemplates = new ArrayList<>();
+               
defaultClientDataMapSuperclassTemplates.add(STANDARD_CLIENT_DATAMAP_SUPERCLASS);
 
                updateCustomTemplates(getTemplatePreferences(application));
                reverseCustomTemplate = new HashMap<>();
@@ -123,39 +128,27 @@ public class CodeTemplateManager {
                        reverseCustomTemplate.put(entry.getValue(), 
entry.getKey());
                }
 
-               standardTemplates = new HashMap<>();
-               standardTemplates.put(STANDARD_SERVER_SUPERCLASS, 
ClassGenerationAction.SUPERCLASS_TEMPLATE);
-               standardTemplates.put(STANDARD_CLIENT_SUPERCLASS, 
ClientClassGenerationAction.SUPERCLASS_TEMPLATE);
-               standardTemplates.put(STANDARD_SERVER_SUBCLASS, 
ClassGenerationAction.SUBCLASS_TEMPLATE);
-               standardTemplates.put(STANDARD_CLIENT_SUBCLASS, 
ClientClassGenerationAction.SUBCLASS_TEMPLATE);
-               standardTemplates.put(SINGLE_SERVER_CLASS, 
ClassGenerationAction.SINGLE_CLASS_TEMPLATE);
-
-               standardTemplates.put(STANDARD_EMBEDDABLE_SUPERCLASS, 
ClassGenerationAction.EMBEDDABLE_SUPERCLASS_TEMPLATE);
-               standardTemplates.put(STANDARD_EMBEDDABLE_SUBCLASS, 
ClassGenerationAction.EMBEDDABLE_SUBCLASS_TEMPLATE);
-               standardTemplates.put(SINGLE_EMBEDDABLE_CLASS, 
ClassGenerationAction.EMBEDDABLE_SINGLE_CLASS_TEMPLATE);
-
-               standardTemplates.put(STANDARD_SERVER_DATAMAP_SUBCLASS, 
ClassGenerationAction.DATAMAP_SUBCLASS_TEMPLATE);
-               standardTemplates.put(STANDARD_CLIENT_DATAMAP_SUBCLASS, 
ClientClassGenerationAction.DMAP_SUBCLASS_TEMPLATE);
-               standardTemplates.put(SINGLE_DATAMAP_CLASS, 
ClassGenerationAction.DATAMAP_SINGLE_CLASS_TEMPLATE);
-               standardTemplates.put(STANDARD_SERVER_DATAMAP_SUPERCLASS, 
ClassGenerationAction.DATAMAP_SUPERCLASS_TEMPLATE);
-               standardTemplates.put(STANDARD_CLIENT_DATAMAP_SUPERCLASS, 
ClientClassGenerationAction.DMAP_SUPERCLASS_TEMPLATE);
-
-               reverseStandartTemplates = new HashMap<>();
-               
reverseStandartTemplates.put(ClassGenerationAction.SUBCLASS_TEMPLATE, 
STANDARD_SERVER_SUBCLASS);
-               
reverseStandartTemplates.put(ClientClassGenerationAction.SUBCLASS_TEMPLATE, 
STANDARD_CLIENT_SUBCLASS);
-               
reverseStandartTemplates.put(ClassGenerationAction.SINGLE_CLASS_TEMPLATE, 
SINGLE_SERVER_CLASS);
-               
reverseStandartTemplates.put(ClientClassGenerationAction.SUPERCLASS_TEMPLATE, 
STANDARD_CLIENT_SUPERCLASS);
-               
reverseStandartTemplates.put(ClassGenerationAction.SUPERCLASS_TEMPLATE, 
STANDARD_SERVER_SUPERCLASS);
-
-               
reverseStandartTemplates.put(ClassGenerationAction.EMBEDDABLE_SUPERCLASS_TEMPLATE,
 STANDARD_EMBEDDABLE_SUPERCLASS);
-               
reverseStandartTemplates.put(ClassGenerationAction.EMBEDDABLE_SUBCLASS_TEMPLATE,
 STANDARD_EMBEDDABLE_SUBCLASS);
-               
reverseStandartTemplates.put(ClassGenerationAction.EMBEDDABLE_SINGLE_CLASS_TEMPLATE,
 SINGLE_EMBEDDABLE_CLASS);
-
-               
reverseStandartTemplates.put(ClassGenerationAction.DATAMAP_SUBCLASS_TEMPLATE, 
STANDARD_SERVER_DATAMAP_SUBCLASS);
-               
reverseStandartTemplates.put(ClientClassGenerationAction.DMAP_SUBCLASS_TEMPLATE,
 STANDARD_CLIENT_DATAMAP_SUBCLASS);
-               
reverseStandartTemplates.put(ClassGenerationAction.DATAMAP_SINGLE_CLASS_TEMPLATE,
 SINGLE_DATAMAP_CLASS);
-               
reverseStandartTemplates.put(ClassGenerationAction.DATAMAP_SUPERCLASS_TEMPLATE, 
STANDARD_SERVER_DATAMAP_SUPERCLASS);
-               
reverseStandartTemplates.put(ClientClassGenerationAction.DMAP_SUPERCLASS_TEMPLATE,
 STANDARD_CLIENT_DATAMAP_SUPERCLASS);
+               defaultTemplates = new HashMap<>();
+               defaultTemplates.put(STANDARD_SERVER_SUPERCLASS, 
ClassGenerationAction.SUPERCLASS_TEMPLATE);
+               defaultTemplates.put(STANDARD_CLIENT_SUPERCLASS, 
ClientClassGenerationAction.SUPERCLASS_TEMPLATE);
+               defaultTemplates.put(STANDARD_SERVER_SUBCLASS, 
ClassGenerationAction.SUBCLASS_TEMPLATE);
+               defaultTemplates.put(STANDARD_CLIENT_SUBCLASS, 
ClientClassGenerationAction.SUBCLASS_TEMPLATE);
+               defaultTemplates.put(SINGLE_SERVER_CLASS, 
ClassGenerationAction.SINGLE_CLASS_TEMPLATE);
+
+               defaultTemplates.put(STANDARD_EMBEDDABLE_SUPERCLASS, 
ClassGenerationAction.EMBEDDABLE_SUPERCLASS_TEMPLATE);
+               defaultTemplates.put(STANDARD_EMBEDDABLE_SUBCLASS, 
ClassGenerationAction.EMBEDDABLE_SUBCLASS_TEMPLATE);
+               defaultTemplates.put(SINGLE_EMBEDDABLE_CLASS, 
ClassGenerationAction.EMBEDDABLE_SINGLE_CLASS_TEMPLATE);
+
+               defaultTemplates.put(STANDARD_SERVER_DATAMAP_SUBCLASS, 
ClassGenerationAction.DATAMAP_SUBCLASS_TEMPLATE);
+               defaultTemplates.put(STANDARD_CLIENT_DATAMAP_SUBCLASS, 
ClientClassGenerationAction.DMAP_SUBCLASS_TEMPLATE);
+               defaultTemplates.put(SINGLE_DATAMAP_CLASS, 
ClassGenerationAction.DATAMAP_SINGLE_CLASS_TEMPLATE);
+               defaultTemplates.put(STANDARD_SERVER_DATAMAP_SUPERCLASS, 
ClassGenerationAction.DATAMAP_SUPERCLASS_TEMPLATE);
+               defaultTemplates.put(STANDARD_CLIENT_DATAMAP_SUPERCLASS, 
ClientClassGenerationAction.DMAP_SUPERCLASS_TEMPLATE);
+
+               reverseDefaultsTemplates = new HashMap<>();
+               for(Map.Entry<String, String> entry : 
defaultTemplates.entrySet()){
+                       reverseDefaultsTemplates.put(entry.getValue(), 
entry.getKey());
+               }
        }
 
        /**
@@ -191,61 +184,97 @@ public class CodeTemplateManager {
                                logger.warn("Path for template named '{}' could 
not be resolved", name);
                        }
                }
-               value = standardTemplates.get(name);
+               value = defaultTemplates.get(name);
                return value != null ? value.toString() : null;
        }
 
        public String getNameByPath(String name, Path rootPath) {
-               String fullPath = 
rootPath.resolve(Paths.get(name)).normalize().toString();
-               if(reverseCustomTemplate.containsKey(fullPath)){
-                       return reverseCustomTemplate.get(fullPath);
+               Path path = Paths.get(name);
+               String normalizedPath = (rootPath == null) ?
+                               path.normalize().toString() :
+                               rootPath.resolve(path).normalize().toString();
+               if (reverseCustomTemplate.containsKey(normalizedPath)) {
+                       return reverseCustomTemplate.get(normalizedPath);
                } else {
-                       Object value = reverseStandartTemplates.get(name);
-                       return value != null ? value.toString() : null;
+                       Object value = reverseDefaultsTemplates.get(name);
+                       if (value != null) {
+                               return value.toString();
+                       } else {
+                               String preparedName = 
prepareName(Paths.get(normalizedPath), templatePreferences);
+                               return addTemplate(normalizedPath, 
preparedName).getKey();
+                       }
+               }
+       }
+
+       public FSPath addTemplate(String path, String name) {
+               Preferences newNode = templatePreferences.node(name);
+               FSPath fsPath = (FSPath) application
+                               .getCayenneProjectPreferences()
+                               .getProjectDetailObject(FSPath.class, newNode);
+               fsPath.setPath(path);
+               return fsPath;
+       }
+
+       /**
+        * Prepares template name from the path. First, remove the extension 
and add "_0" to the name.
+        * Next step is check for unique. If the same name is exist, increases 
number at the end to the next one.
+        */
+       private String prepareName(Path path, Preferences templatePreferences) {
+               String preparedName = 
path.getFileName().toString().replaceAll(".vm$", "");
+               preparedName += "_0";
+               int j = 1;
+               try {
+                       while (templatePreferences.nodeExists(preparedName)) {
+                               preparedName = 
preparedName.replaceAll("_.*[0-9]", "_" + j);
+                               j++;
+                       }
+               } catch (BackingStoreException e) {
+                       logger.warn("Error reading preferences");
                }
+               return preparedName;
        }
 
        public Map<String, String> getCustomTemplates() {
                return customTemplates;
        }
 
-       public List<String> getStandardSubclassTemplates() {
-               return standardSubclassTemplates;
+       public List<String> getDefaultSubclassTemplates() {
+               return defaultSubclassTemplates;
        }
 
-       public List<String> getStandardClientSubclassTemplates() {
-               return standardClientSubclassTemplates;
+       public List<String> getDefaultClientSubclassTemplates() {
+               return defaultClientSubclassTemplates;
        }
 
-       public List<String> getStandardSuperclassTemplates() {
-               return standardSuperclassTemplates;
+       public List<String> getDefaultSuperclassTemplates() {
+               return defaultSuperclassTemplates;
        }
 
-       public List<String> getStandardClientSuperclassTemplates() {
-               return standardClientSuperclassTemplates;
+       public List<String> getDefaultClientSuperclassTemplates() {
+               return defaultClientSuperclassTemplates;
        }
 
-       public List<String> getStandartEmbeddableTemplates() {
-               return standardEmbeddableTemplates;
+       public List<String> getDefaultEmbeddableTemplates() {
+               return defaultEmbeddableTemplates;
        }
 
-       public List<String> getStandartEmbeddableSuperclassTemplates() {
-               return standardEmbeddableSuperclassTemplates;
+       public List<String> getDefaultEmbeddableSuperclassTemplates() {
+               return defaultEmbeddableSuperclassTemplates;
        }
 
-       public List<String> getStandartDataMapTemplates() {
-               return standardServerDataMapTemplates; 
+       public List<String> getDefaultDataMapTemplates() {
+               return defaultServerDataMapTemplates;
        }
 
-       public List<String> getStandartDataMapSuperclassTemplates() {
-               return standardServerDataMapSuperclassTemplates;
+       public List<String> getDefaultDataMapSuperclassTemplates() {
+               return defaultServerDataMapSuperclassTemplates;
        }
        
-       public List<String> getStandardClientDataMapTemplates() {
-               return standardClientDataMapTemplates; 
+       public List<String> getDefaultClientDataMapTemplates() {
+               return defaultClientDataMapTemplates;
        }
        
-       public List<String> getStandardClientDataMapSuperclassTemplates() { 
-               return standardClientDataMapSuperclassTemplates; 
+       public List<String> getDefaultClientDataMapSuperclassTemplates() {
+               return defaultClientDataMapSuperclassTemplates;
        }
 }
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TemplateCreator.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TemplateCreator.java
index 5a19458..7b213fa 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TemplateCreator.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/TemplateCreator.java
@@ -20,8 +20,6 @@
 package org.apache.cayenne.modeler.dialog.pref;
 
 import java.awt.Component;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
 import java.io.File;
 import java.util.HashSet;
 import java.util.Set;
@@ -47,6 +45,7 @@ public class TemplateCreator extends CayenneController {
     protected Set<String> existingNames;
     protected CayennePreferenceEditor editor;
     protected Preferences preferences;
+    private static final String ERROR = "Error";
 
     public TemplateCreator(TemplatePreferences parent) {
         super(parent);
@@ -98,12 +97,9 @@ public class TemplateCreator extends CayenneController {
         
view.getTemplateChooser().setCurrentDirectory(path.getExistingDirectory(false));
         view.getTemplateChooser().addPropertyChangeListener(
                 FileChooser.CURRENT_DIRECTORY_PROPERTY,
-                new PropertyChangeListener() {
-
-                    public void propertyChange(PropertyChangeEvent evt) {
-                        File directory = 
view.getTemplateChooser().getCurrentDirectory();
-                        path.setDirectory(directory);
-                    }
+                evt -> {
+                    File directory = 
view.getTemplateChooser().getCurrentDirectory();
+                    path.setDirectory(directory);
                 });
     }
 
@@ -114,22 +110,21 @@ public class TemplateCreator extends CayenneController {
             JOptionPane.showMessageDialog(
                     view,
                     "Enter Template Name",
-                    "Error",
+                    ERROR,
                     JOptionPane.WARNING_MESSAGE);
         } else if (existingNames.contains(templateName)) {
             JOptionPane.showMessageDialog(
                     view,
                     "'" + templateName + "' is already taken, enter a 
different name",
-                    "Error",
+                    ERROR,
                     JOptionPane.WARNING_MESSAGE);
         } else if (view.getTemplateChooser().getFile() == null) {
             JOptionPane.showMessageDialog(
                     view,
                     "Must select an existing template file",
-                    "Error",
+                    ERROR,
                     JOptionPane.WARNING_MESSAGE);
-        }
-        else {
+        } else {
             canceled = false;
             view.dispose();
         }
@@ -161,15 +156,11 @@ public class TemplateCreator extends CayenneController {
         if (canceled) {
             return null;
         }
-
-        String key = view.getTemplateName().getText();
+        String name = view.getTemplateName().getText();
         File file = view.getTemplateChooser().getFile();
-        Preferences newNode = preferences.node(key);
-        FSPath path = (FSPath) application
-                .getCayenneProjectPreferences()
-                .getProjectDetailObject(FSPath.class, newNode);
-        editor.getAddedNode().add(newNode);
-        path.setPath(file != null ? file.getAbsolutePath() : null);
-        return path;
+        String path = file != null ? file.getAbsolutePath() : null;
+        FSPath fsPath = application.getCodeTemplateManager().addTemplate(path, 
name);
+        editor.getAddedNode().add(fsPath.getCurrentPreference());
+        return fsPath;
     }
 }
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
index b6d7651..ab1e14a 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
@@ -19,7 +19,6 @@
 
 package org.apache.cayenne.modeler.editor.cgen;
 
-import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -30,7 +29,6 @@ import org.apache.cayenne.gen.CgenConfiguration;
 import org.apache.cayenne.gen.ClassGenerationAction;
 import org.apache.cayenne.gen.ClientClassGenerationAction;
 import org.apache.cayenne.modeler.CodeTemplateManager;
-import org.apache.cayenne.modeler.dialog.cgen.TemplateDialog;
 import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
 import org.apache.cayenne.swing.BindingBuilder;
 
@@ -71,36 +69,36 @@ public class CustomModeController extends 
GeneratorController {
         Collections.sort(customTemplates);
 
         List<String> superTemplates = isClient ?
-                new 
ArrayList<>(templateManager.getStandardClientSuperclassTemplates()) :
-                new 
ArrayList<>(templateManager.getStandardSuperclassTemplates());
+                new 
ArrayList<>(templateManager.getDefaultClientSuperclassTemplates()) :
+                new 
ArrayList<>(templateManager.getDefaultSuperclassTemplates());
         Collections.sort(superTemplates);
         superTemplates.addAll(customTemplates);
 
         List<String> subTemplates = isClient ?
-                new 
ArrayList<>(templateManager.getStandardClientSubclassTemplates()) :
-                new 
ArrayList<>(templateManager.getStandardSubclassTemplates());
+                new 
ArrayList<>(templateManager.getDefaultClientSubclassTemplates()) :
+                new ArrayList<>(templateManager.getDefaultSubclassTemplates());
         Collections.sort(subTemplates);
         subTemplates.addAll(customTemplates);
 
         List<String> querySuperTemplates = isClient ?
-                new 
ArrayList<>(templateManager.getStandardClientDataMapSuperclassTemplates()) :
-                new 
ArrayList<>(templateManager.getStandartDataMapSuperclassTemplates());
+                new 
ArrayList<>(templateManager.getDefaultClientDataMapSuperclassTemplates()) :
+                new 
ArrayList<>(templateManager.getDefaultDataMapSuperclassTemplates());
         Collections.sort(querySuperTemplates);
         querySuperTemplates.addAll(customTemplates);
 
         List<String> queryTemplates = isClient ?
-                new 
ArrayList<>(templateManager.getStandardClientDataMapTemplates()) :
-                new ArrayList<>(templateManager.getStandartDataMapTemplates());
+                new 
ArrayList<>(templateManager.getDefaultClientDataMapTemplates()) :
+                new ArrayList<>(templateManager.getDefaultDataMapTemplates());
         Collections.sort(queryTemplates);
         queryTemplates.addAll(customTemplates);
 
-        List<String> embeddableSuperTemplates = new 
ArrayList<>(templateManager.getStandartEmbeddableSuperclassTemplates());
-               Collections.sort(embeddableSuperTemplates);
-               embeddableSuperTemplates.addAll(customTemplates);
+        List<String> embeddableSuperTemplates = new 
ArrayList<>(templateManager.getDefaultEmbeddableSuperclassTemplates());
+        Collections.sort(embeddableSuperTemplates);
+        embeddableSuperTemplates.addAll(customTemplates);
 
-               List<String> embeddableTemplates = new 
ArrayList<>(templateManager.getStandartEmbeddableTemplates());
-               Collections.sort(embeddableTemplates);
-               embeddableTemplates.addAll(customTemplates);
+        List<String> embeddableTemplates = new 
ArrayList<>(templateManager.getDefaultEmbeddableTemplates());
+        Collections.sort(embeddableTemplates);
+        embeddableTemplates.addAll(customTemplates);
 
         this.view.getSubclassTemplate().getComboBox().setModel(new 
DefaultComboBoxModel<>(subTemplates.toArray(new String[0])));
         this.view.getSuperclassTemplate().getComboBox().setModel(new 
DefaultComboBoxModel<>(superTemplates.toArray(new String[0])));
@@ -110,11 +108,6 @@ public class CustomModeController extends 
GeneratorController {
         this.view.getEmbeddableSuperTemplate().getComboBox().setModel(new 
DefaultComboBoxModel<>(embeddableSuperTemplates.toArray(new String[0])));
     }
 
-    public void missTemplateDialog(CgenConfiguration cgenConfiguration, String 
template, String superTemplate) {
-        new TemplateDialog(this, cgenConfiguration, template, 
superTemplate).startupAction();
-        updateComboBoxes();
-    }
-
     public void popPreferencesAction() {
         new 
PreferenceDialog(getApplication().getFrameController()).startupAction(PreferenceDialog.TEMPLATES_KEY);
         updateTemplates();
@@ -132,63 +125,30 @@ public class CustomModeController extends 
GeneratorController {
         String superTemplateName = 
getApplication().getCodeTemplateManager().getNameByPath(
                 cgenConfiguration.getSuperTemplate(), 
cgenConfiguration.getRootPath());
         String embeddableTemplateName = 
getApplication().getCodeTemplateManager().getNameByPath(
-                       cgenConfiguration.getEmbeddableTemplate(), 
cgenConfiguration.getRootPath());
+                cgenConfiguration.getEmbeddableTemplate(), 
cgenConfiguration.getRootPath());
         String embeddableSuperTemplateName = 
getApplication().getCodeTemplateManager().getNameByPath(
-                       cgenConfiguration.getEmbeddableSuperTemplate(), 
cgenConfiguration.getRootPath());
+                cgenConfiguration.getEmbeddableSuperTemplate(), 
cgenConfiguration.getRootPath());
         String queryTemplateName = 
getApplication().getCodeTemplateManager().getNameByPath(
-                       cgenConfiguration.getQueryTemplate(), 
cgenConfiguration.getRootPath());
+                cgenConfiguration.getQueryTemplate(), 
cgenConfiguration.getRootPath());
         String querySuperTemplateName = 
getApplication().getCodeTemplateManager().getNameByPath(
-                       cgenConfiguration.getQuerySuperTemplate(), 
cgenConfiguration.getRootPath());
-
-        String path = 
cgenConfiguration.getRootPath().resolve(Paths.get(cgenConfiguration.getTemplate())).normalize().toString();
-        String superPath = 
cgenConfiguration.getRootPath().resolve(Paths.get(cgenConfiguration.getSuperTemplate())).normalize().toString();
-        String embeddableTemplatePath = 
cgenConfiguration.getRootPath().resolve(Paths.get(cgenConfiguration.getEmbeddableTemplate())).normalize().toString();
-        String embeddableSuperTemplatePath = 
cgenConfiguration.getRootPath().resolve(Paths.get(cgenConfiguration.getEmbeddableSuperTemplate())).normalize().toString();
-        String queryTemplatePath = 
cgenConfiguration.getRootPath().resolve(Paths.get(cgenConfiguration.getQueryTemplate())).normalize().toString();
-        String querySuperTemplatePath = 
cgenConfiguration.getRootPath().resolve(Paths.get(cgenConfiguration.getQuerySuperTemplate())).normalize().toString();
-
-        if(templateName == null && superTemplateName == null) {
-            view.getSubclassTemplate().setItem(null);
-            view.getSuperclassTemplate().setItem(null);
-            missTemplateDialog(cgenConfiguration, path, superPath);
-        } else if(templateName == null) {
-            view.getSubclassTemplate().setItem(null);
-            missTemplateDialog(cgenConfiguration, path, null);
-        } else if(superTemplateName == null) {
-            view.getSuperclassTemplate().setItem(null);
-            missTemplateDialog(cgenConfiguration, null, superPath);
-        } else {
-            view.getSubclassTemplate().setItem(templateName);
-            view.getSuperclassTemplate().setItem(superTemplateName);
-        }
-
-        if(embeddableTemplateName == null && embeddableSuperTemplateName == 
null) {
-               missTemplateDialog(cgenConfiguration, embeddableTemplatePath, 
embeddableSuperTemplatePath);
-        } else if(embeddableTemplateName == null) {
-               missTemplateDialog(cgenConfiguration, embeddableTemplatePath, 
null);
-        } else if(embeddableSuperTemplateName == null) {
-               missTemplateDialog(cgenConfiguration, null, 
embeddableSuperTemplatePath);
-        }
-       view.getEmbeddableTemplate().setItem(embeddableTemplateName);
-       view.getEmbeddableSuperTemplate().setItem(embeddableSuperTemplateName);
-
-       if(queryTemplateName == null && querySuperTemplateName == null) {
-               missTemplateDialog(cgenConfiguration, queryTemplatePath, 
querySuperTemplatePath);
-       } else if(queryTemplateName == null) {
-               missTemplateDialog(cgenConfiguration, queryTemplatePath, null);
-       } else if(querySuperTemplateName == null) {
-               missTemplateDialog(cgenConfiguration, null, 
querySuperTemplatePath);
-       }
-       view.getQueryTemplate().setItem(queryTemplateName);
-       view.getQuerySuperTemplate().setItem(querySuperTemplateName);
+                cgenConfiguration.getQuerySuperTemplate(), 
cgenConfiguration.getRootPath());
+
+        view.getSubclassTemplate().setItem(templateName);
+        view.getSuperclassTemplate().setItem(superTemplateName);
+
+        view.getEmbeddableTemplate().setItem(embeddableTemplateName);
+        view.getEmbeddableSuperTemplate().setItem(embeddableSuperTemplateName);
+
+        view.getQueryTemplate().setItem(queryTemplateName);
+        view.getQuerySuperTemplate().setItem(querySuperTemplateName);
 
         view.setDisableSuperComboBoxes(view.getPairs().isSelected());
     }
 
-    private void initListeners(){
+    private void initListeners() {
         view.getPairs().addActionListener(val -> {
             cgenConfiguration.setMakePairs(view.getPairs().isSelected());
-            if(!view.getPairs().isSelected()) {
+            if (!view.getPairs().isSelected()) {
                 
cgenConfiguration.setTemplate(ClassGenerationAction.SINGLE_CLASS_TEMPLATE);
                 
cgenConfiguration.setEmbeddableTemplate(ClassGenerationAction.EMBEDDABLE_SINGLE_CLASS_TEMPLATE);
                 
cgenConfiguration.setQueryTemplate(ClassGenerationAction.DATAMAP_SINGLE_CLASS_TEMPLATE);
@@ -224,7 +184,7 @@ public class CustomModeController extends 
GeneratorController {
         view.getClientMode().addActionListener(val -> {
             boolean isSelected = view.getClientMode().isSelected();
             cgenConfiguration.setClient(isSelected);
-            if(isSelected) {
+            if (isSelected) {
                 
cgenConfiguration.setTemplate(ClientClassGenerationAction.SUBCLASS_TEMPLATE);
                 
cgenConfiguration.setSuperTemplate(ClientClassGenerationAction.SUPERCLASS_TEMPLATE);
                 
cgenConfiguration.setQueryTemplate(ClientClassGenerationAction.DMAP_SUBCLASS_TEMPLATE);
@@ -247,15 +207,15 @@ public class CustomModeController extends 
GeneratorController {
                             ClassGenerationAction.SUBCLASS_TEMPLATE,
                     cgenConfiguration.getRootPath());
             String queryTemplateName = 
getApplication().getCodeTemplateManager().getNameByPath(
-                       isSelected ?
-                                       
ClientClassGenerationAction.DMAP_SUBCLASS_TEMPLATE :
-                                               
ClassGenerationAction.DATAMAP_SUBCLASS_TEMPLATE,
-                                               
cgenConfiguration.getRootPath());
+                    isSelected ?
+                            ClientClassGenerationAction.DMAP_SUBCLASS_TEMPLATE 
:
+                            ClassGenerationAction.DATAMAP_SUBCLASS_TEMPLATE,
+                    cgenConfiguration.getRootPath());
             String querySuperTemplateName = 
getApplication().getCodeTemplateManager().getNameByPath(
-                       isSelected ?
-                                       
ClientClassGenerationAction.DMAP_SUPERCLASS_TEMPLATE :
-                                               
ClassGenerationAction.DATAMAP_SUPERCLASS_TEMPLATE,
-                                               
cgenConfiguration.getRootPath());
+                    isSelected ?
+                            
ClientClassGenerationAction.DMAP_SUPERCLASS_TEMPLATE :
+                            ClassGenerationAction.DATAMAP_SUPERCLASS_TEMPLATE,
+                    cgenConfiguration.getRootPath());
             view.getSubclassTemplate().setItem(templateName);
             view.getSuperclassTemplate().setItem(superTemplateName);
             view.getQueryTemplate().setItem(queryTemplateName);
@@ -264,7 +224,8 @@ public class CustomModeController extends 
GeneratorController {
         });
     }
 
-    public void initForm(CgenConfiguration cgenConfiguration){
+    @Override
+    public void initForm(CgenConfiguration cgenConfiguration) {
         super.initForm(cgenConfiguration);
         view.getClientMode().setSelected(cgenConfiguration.isClient());
         updateTemplates();

Reply via email to