From 2c4be07aaa17e0d49a70e664fc81455dcc05e6a4 Mon Sep 17 00:00:00 2001 From: Ivan Nikitka <70625960+Ivan-nikitko@users.noreply.github.com> Date: Mon, 3 Oct 2022 09:37:06 +0200 Subject: [PATCH 1/2] fix issue with duplicating template preview text --- .../dialog/templateeditor/PreviewGenerationAction.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/PreviewGenerationAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/PreviewGenerationAction.java index 7be3de7aa2..26ccdaf280 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/PreviewGenerationAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/PreviewGenerationAction.java @@ -26,6 +26,7 @@ import org.apache.velocity.runtime.RuntimeConstants; import org.apache.velocity.runtime.resource.loader.StringResourceLoader; +import java.io.StringWriter; import java.io.Writer; import java.util.Properties; @@ -34,7 +35,7 @@ */ public class PreviewGenerationAction extends ClassGenerationAction { - private Writer writer; + private StringWriter writer; public PreviewGenerationAction(CgenConfiguration cgenConfig) { super(cgenConfig); @@ -45,12 +46,14 @@ protected void validateAttributes() { //Mock } - public void setWriter(Writer writer) { + public void setWriter(StringWriter writer) { this.writer = writer; } @Override protected Writer openWriter(TemplateType templateType) { + // clear and return + writer.getBuffer().setLength(0); return writer; } From 71e94612ec518e0286812809891132252b34dab7 Mon Sep 17 00:00:00 2001 From: Ivan Nikitka <70625960+Ivan-nikitko@users.noreply.github.com> Date: Mon, 3 Oct 2022 12:02:58 +0200 Subject: [PATCH 2/2] Change EditorView from JDialog to JFrame. --- .../cayenne/modeler/dialog/pref/PreferenceDialog.java | 2 +- .../modeler/dialog/templateeditor/FileTemplateSaver.java | 4 ++-- .../dialog/templateeditor/TemplateEditorController.java | 4 ---- .../modeler/dialog/templateeditor/TemplateEditorView.java | 6 +++--- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialog.java index 703fb7c26d..b71bb637f0 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialog.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialog.java @@ -151,7 +151,7 @@ protected void configure() { makeCloseableOnEscape(); view.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); - view.setModal(true); + view.setModalityType(Dialog.ModalityType.MODELESS); } protected void registerPanel(final String name, final CayenneController panelController) { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/FileTemplateSaver.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/FileTemplateSaver.java index c735af63dc..9ba1410345 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/FileTemplateSaver.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/FileTemplateSaver.java @@ -22,7 +22,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.swing.JDialog; +import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.SwingConstants; @@ -37,7 +37,7 @@ public class FileTemplateSaver { private static final Logger logger = LoggerFactory.getLogger(FileTemplateSaver.class); - public void save(String templateText, File dest, JDialog view) { + public void save(String templateText, File dest, JFrame view) { try { Files.write(dest.toPath(), templateText.getBytes()); } catch (IOException e) { diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/TemplateEditorController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/TemplateEditorController.java index ade5f1340a..ea6408b3e0 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/TemplateEditorController.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/TemplateEditorController.java @@ -73,12 +73,8 @@ public TemplateEditorController(TemplatePreferences preferences) { } public void startupAction() { - this.view.setModal(true); this.view.getEditingTemplatePane().setText(loadSelectedTemplateText()); this.view.editingTemplatePane.setCaretPosition(0); - this.view.pack(); - makeCloseableOnEscape(); - centerView(); this.view.setVisible(true); } diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/TemplateEditorView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/TemplateEditorView.java index a167cfd8f7..ed52629be7 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/TemplateEditorView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/templateeditor/TemplateEditorView.java @@ -34,7 +34,7 @@ import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JComboBox; -import javax.swing.JDialog; +import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JSplitPane; import javax.swing.JToolBar; @@ -45,7 +45,7 @@ /** * since 4.3 */ -public class TemplateEditorView extends JDialog { +public class TemplateEditorView extends JFrame { protected RSyntaxTextArea editingTemplatePane; protected RSyntaxTextArea classPreviewPane; @@ -61,7 +61,7 @@ public class TemplateEditorView extends JDialog { static final String VELOCITY_KEY = "text/velocity"; - public TemplateEditorView( List entityNames) { + public TemplateEditorView(List entityNames) { this.setTitle("Template editor"); this.editingTemplatePane = new TextEditorPane(); this.classPreviewPane = new RSyntaxTextArea();