Modeler: minor code cleanup
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/dbee2d15 Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/dbee2d15 Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/dbee2d15 Branch: refs/heads/master Commit: dbee2d15c48ac176e804e160a1ebacb28f2b5575 Parents: da66ff9 Author: Nikita Timofeev <stari...@gmail.com> Authored: Wed Mar 28 13:57:51 2018 +0300 Committer: Nikita Timofeev <stari...@gmail.com> Committed: Wed Mar 28 13:57:51 2018 +0300 ---------------------------------------------------------------------- .../dialog/pref/DataSourcePreferences.java | 9 ++-- .../dialog/pref/DataSourcePreferencesView.java | 6 +-- .../modeler/dialog/pref/GeneralPreferences.java | 7 +-- .../modeler/dialog/pref/PreferenceDialog.java | 57 +++++++------------- .../dialog/pref/PreferenceDialogView.java | 4 +- 5 files changed, 30 insertions(+), 53 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/dbee2d15/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferences.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferences.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferences.java index 149fb8d..4dd8d8f 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferences.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferences.java @@ -77,7 +77,7 @@ public class DataSourcePreferences extends CayenneController { Object[] keys = dataSources.keySet().toArray(); Arrays.sort(keys); - DefaultComboBoxModel dataSourceModel = new DefaultComboBoxModel(keys); + DefaultComboBoxModel<Object> dataSourceModel = new DefaultComboBoxModel<>(keys); view.getDataSources().setModel(dataSourceModel); initBindings(); @@ -124,7 +124,6 @@ public class DataSourcePreferences extends CayenneController { * Shows a dialog to create new local DataSource configuration. */ public void newDataSourceAction() { - DataSourceCreator creatorWizard = new DataSourceCreator(this); DBConnectionInfo dataSource = creatorWizard.startupAction(); @@ -134,7 +133,7 @@ public class DataSourcePreferences extends CayenneController { Object[] keys = dataSources.keySet().toArray(); Arrays.sort(keys); - view.getDataSources().setModel(new DefaultComboBoxModel(keys)); + view.getDataSources().setModel(new DefaultComboBoxModel<>(keys)); view.getDataSources().setSelectedItem(creatorWizard.getName()); editDataSourceAction(); fireEvent(creatorWizard.getName(), MapEvent.ADD); @@ -156,7 +155,7 @@ public class DataSourcePreferences extends CayenneController { Object[] keys = dataSources.keySet().toArray(); Arrays.sort(keys); - view.getDataSources().setModel(new DefaultComboBoxModel(keys)); + view.getDataSources().setModel(new DefaultComboBoxModel<>(keys)); view.getDataSources().setSelectedItem(wizard.getName()); editDataSourceAction(); fireEvent(wizard.getName(), MapEvent.ADD); @@ -175,7 +174,7 @@ public class DataSourcePreferences extends CayenneController { dataSources = dataSourcePreferences.getChildrenPreferences(); Object[] keys = dataSources.keySet().toArray(); Arrays.sort(keys); - view.getDataSources().setModel(new DefaultComboBoxModel(keys)); + view.getDataSources().setModel(new DefaultComboBoxModel<>(keys)); editDataSourceAction(keys.length > 0 ? keys[0] : null); fireEvent(key, MapEvent.REMOVE); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/dbee2d15/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferencesView.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferencesView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferencesView.java index 268dfed..f62f95c 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferencesView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/DataSourcePreferencesView.java @@ -40,7 +40,7 @@ public class DataSourcePreferencesView extends JPanel { protected JButton duplicateDataSource; protected JButton removeDataSource; protected JButton testDataSource; - protected JComboBox dataSources; + protected JComboBox<Object> dataSources; protected DBConnectionInfoEditor dataSourceEditor; public DataSourcePreferencesView(CayenneController controller) { @@ -48,7 +48,7 @@ public class DataSourcePreferencesView extends JPanel { this.duplicateDataSource = new JButton("Duplicate..."); this.removeDataSource = new JButton("Delete"); this.testDataSource = new JButton("Test..."); - this.dataSources = new JComboBox(); + this.dataSources = new JComboBox<>(); this.dataSourceEditor = new DBConnectionInfoEditor(controller); // assemble @@ -74,7 +74,7 @@ public class DataSourcePreferencesView extends JPanel { return dataSourceEditor; } - public JComboBox getDataSources() { + public JComboBox<Object> getDataSources() { return dataSources; } http://git-wip-us.apache.org/repos/asf/cayenne/blob/dbee2d15/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java index f1af77e..288b278 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java @@ -82,7 +82,6 @@ public class GeneralPreferences extends CayenneController { preferences = application.getPreferencesNode(GeneralPreferences.class, ""); this.encoding = preferences.get(ENCODING_PREFERENCE, null); - this.autoLoadProjectPreference = preferences.getBoolean(AUTO_LOAD_PROJECT_PREFERENCE, false); this.deletePromptPreference = preferences.getBoolean(DELETE_PROMPT_PREFERENCE, false); @@ -91,12 +90,8 @@ public class GeneralPreferences extends CayenneController { // create bindings... BindingBuilder builder = new BindingBuilder(getApplication().getBindingFactory(), this); - - this.encodingBinding = builder.bindToProperty(encodingSelector, "encoding", - EncodingSelector.ENCODING_PROPERTY_BINDING); - + this.encodingBinding = builder.bindToProperty(encodingSelector, "encoding", EncodingSelector.ENCODING_PROPERTY_BINDING); this.autoLoadProjectBinding = builder.bindToCheckBox(view.getAutoLoadProject(), "autoLoadProject"); - this.deletePromptBinding = builder.bindToCheckBox(view.getDeletePrompt(), "deletePrompt"); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/dbee2d15/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialog.java ---------------------------------------------------------------------- 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 2c16140..6ade6f9 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 @@ -53,17 +53,19 @@ public class PreferenceDialog extends CayenneController { }; protected PreferenceDialogView view; - protected Map detailControllers; + protected Map<String, CayenneController> detailControllers; protected PreferenceEditor editor; public PreferenceDialog(CayenneController parent) { super(parent); - Window parentView = parent.getView() instanceof Window ? (Window) parent.getView() : - SwingUtilities.getWindowAncestor(parent.getView()); - this.view = (parentView instanceof Dialog) ? new PreferenceDialogView( - (Dialog) parentView) : new PreferenceDialogView((Frame) parentView); - this.detailControllers = new HashMap(); + Window parentView = parent.getView() instanceof Window + ? (Window) parent.getView() + : SwingUtilities.getWindowAncestor(parent.getView()); + this.view = (parentView instanceof Dialog) + ? new PreferenceDialogView((Dialog) parentView) + : new PreferenceDialogView((Frame) parentView); + this.detailControllers = new HashMap<>(); // editor must be configured before startup for "showDetailViewAction()" to work this.editor = new CayenneModelerPreferenceEditor(application); @@ -72,33 +74,19 @@ public class PreferenceDialog extends CayenneController { } protected void initBindings() { - final JList list = view.getList(); + final JList<String> list = view.getList(); list.setListData(preferenceMenus); - list.addListSelectionListener(new ListSelectionListener() { - - public void valueChanged(ListSelectionEvent e) { - Object selection = list.getSelectedValue(); - if (selection != null) { - view.getDetailLayout().show( - view.getDetailPanel(), - selection.toString()); - } - } - }); - - view.getCancelButton().addActionListener(new ActionListener() { - - public void actionPerformed(ActionEvent e) { - cancelAction(); - } - }); - - view.getSaveButton().addActionListener(new ActionListener() { - - public void actionPerformed(ActionEvent e) { - savePreferencesAction(); - } - }); + list.addListSelectionListener(e -> updateSelection()); + + view.getCancelButton().addActionListener(e -> cancelAction()); + view.getSaveButton().addActionListener(e -> savePreferencesAction()); + } + + public void updateSelection() { + String selection = view.getList().getSelectedValue(); + if (selection != null) { + view.getDetailLayout().show(view.getDetailPanel(), selection); + } } public void cancelAction() { @@ -108,9 +96,6 @@ public class PreferenceDialog extends CayenneController { public void savePreferencesAction() { editor.save(); - - // update - view.dispose(); } @@ -131,7 +116,6 @@ public class PreferenceDialog extends CayenneController { } public void startupAction(String key) { - if (key == null) { key = GENERAL_KEY; } @@ -148,7 +132,6 @@ public class PreferenceDialog extends CayenneController { registerPanel(CLASS_PATH_KEY, new ClasspathPreferences(this)); registerPanel(TEMPLATES_KEY, new TemplatePreferences(this)); view.getDetailLayout().show(view.getDetailPanel(), GENERAL_KEY); - // view.getSplit().setDividerLocation(150); view.pack(); // show http://git-wip-us.apache.org/repos/asf/cayenne/blob/dbee2d15/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogView.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogView.java index 8e28641..f753ebd 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/PreferenceDialogView.java @@ -45,7 +45,7 @@ import javax.swing.JSplitPane; public class PreferenceDialogView extends JDialog { protected JSplitPane split; - protected JList<Object> list; + protected JList<String> list; protected CardLayout detailLayout; protected Container detailPanel; protected JButton cancelButton; @@ -102,7 +102,7 @@ public class PreferenceDialogView extends JDialog { setTitle("Edit Preferences"); } - public JList getList() { + public JList<String> getList() { return list; }