Correctly update data sources selection dialog after modifying or deleting data source
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/55f7a231 Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/55f7a231 Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/55f7a231 Branch: refs/heads/master Commit: 55f7a2319900a407aa7676710c701ad127803a4b Parents: 78a9c9b Author: Nikita Timofeev <stari...@gmail.com> Authored: Tue Nov 1 09:56:23 2016 +0300 Committer: Savva Kolbachev <s.kolbac...@gmail.com> Committed: Thu Nov 3 22:54:28 2016 +0300 ---------------------------------------------------------------------- .../modeler/dialog/db/DataSourceWizard.java | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/55f7a231/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizard.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizard.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizard.java index 32cb698..101bb8b 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizard.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DataSourceWizard.java @@ -186,14 +186,10 @@ public class DataSourceWizard extends CayenneController { .getChildrenPreferences(); // 1.2 migration fix - update data source adapter names - Iterator it = dataSources.values().iterator(); - final String _12package = "org.objectstyle.cayenne."; - while (it.hasNext()) { - DBConnectionInfo info = (DBConnectionInfo) it.next(); + for(DBConnectionInfo info : dataSources.values()) { if (info.getDbAdapter() != null && info.getDbAdapter().startsWith(_12package)) { info.setDbAdapter("org.apache.cayenne." + info.getDbAdapter().substring(_12package.length())); - // info.getObjectContext().commitChanges(); } } @@ -206,19 +202,16 @@ public class DataSourceWizard extends CayenneController { Arrays.sort(keys); view.getDataSources().setModel(new DefaultComboBoxModel<>(keys)); - if (getDataSourceKey() == null) { - String key = null; - + String key = null; + if (getDataSourceKey() == null || !dataSources.containsKey(getDataSourceKey())) { if (altDataSourceKey != null) { key = altDataSourceKey; } else if (keys.length > 0) { key = keys[0]; } - - setDataSourceKey(key); - dataSourceBinding.updateView(); } - view.getDataSources().setSelectedItem(getDataSourceKey()); + setDataSourceKey(key != null ? key : getDataSourceKey()); + dataSourceBinding.updateView(); } }