diff --git a/designer_base/src/com/fr/design/data/datapane/ChoosePane.java b/designer_base/src/com/fr/design/data/datapane/ChoosePane.java index 6d6bce0e5..17ee74f82 100644 --- a/designer_base/src/com/fr/design/data/datapane/ChoosePane.java +++ b/designer_base/src/com/fr/design/data/datapane/ChoosePane.java @@ -7,6 +7,7 @@ import com.fr.data.core.DataCoreUtils; import com.fr.data.core.db.DBUtils; import com.fr.data.core.db.TableProcedure; import com.fr.data.core.db.dialect.DialectFactory; +import com.fr.data.impl.Connection; import com.fr.data.impl.DBTableData; import com.fr.dav.LocalEnv; import com.fr.design.DesignerEnvManager; @@ -17,7 +18,11 @@ import com.fr.design.data.datapane.preview.PreviewLabel; import com.fr.design.data.datapane.preview.PreviewLabel.Previewable; import com.fr.design.data.datapane.preview.PreviewTablePane; import com.fr.design.data.tabledata.Prepare4DataSourceChange; -import com.fr.design.gui.icombobox.*; +import com.fr.design.gui.icombobox.FRTreeComboBox; +import com.fr.design.gui.icombobox.FilterableComboBoxModel; +import com.fr.design.gui.icombobox.UIComboBox; +import com.fr.design.gui.icombobox.UIComboBoxEditor; +import com.fr.design.gui.icombobox.UIComboBoxRenderer; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; import com.fr.design.layout.FRGUIPaneFactory; @@ -37,7 +42,12 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; -import javax.swing.tree.*; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeCellRenderer; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreeCellRenderer; +import javax.swing.tree.TreeNode; +import javax.swing.tree.TreePath; import java.awt.*; import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; @@ -45,8 +55,8 @@ import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.ArrayList; import java.util.Enumeration; -import java.util.Iterator; import java.util.List; +import java.util.Map; /** * @author zhou @@ -179,12 +189,8 @@ public class ChoosePane extends BasicBeanPane implements Refresha protected void initDsNameComboBox() { dsNameComboBox.setRefreshingModel(true); ConnectionConfig connectionConfig = ConnectionConfig.getInstance(); - @SuppressWarnings("unchecked") - Iterator datasourceNameIterator = connectionConfig.getConnections().keySet().iterator(); - List dsList = new ArrayList(); - while (datasourceNameIterator.hasNext()) { - dsList.add((String) datasourceNameIterator.next()); - } + List dsList = new ArrayList<>(); + dsList.addAll(connectionConfig.getConnections().keySet()); FilterableComboBoxModel dsNameComboBoxModel = new FilterableComboBoxModel(dsList); dsNameComboBox.setModel(dsNameComboBoxModel); dsNameComboBox.setRefreshingModel(false); @@ -286,12 +292,9 @@ public class ChoosePane extends BasicBeanPane implements Refresha return null; // peter:选中了当前的零长度的节点,直接返回. } ConnectionConfig connectionConfig = ConnectionConfig.getInstance(); - @SuppressWarnings("unchecked") - Iterator datasourceNameIterator = connectionConfig.getConnections().keySet().iterator(); - while (datasourceNameIterator.hasNext()) { - String datasourceName = datasourceNameIterator.next(); - if (ComparatorUtils.equals(selectedDSName, datasourceName)) { - return connectionConfig.getConnection(datasourceName); + for (Map.Entry entry: connectionConfig.getConnections().entrySet()) { + if (ComparatorUtils.equals(selectedDSName, entry.getKey())) { + return entry.getValue(); } } return null; diff --git a/designer_base/src/com/fr/design/data/datapane/connect/ConnectionListPane.java b/designer_base/src/com/fr/design/data/datapane/connect/ConnectionListPane.java index 7cb3b5df3..956625f13 100644 --- a/designer_base/src/com/fr/design/data/datapane/connect/ConnectionListPane.java +++ b/designer_base/src/com/fr/design/data/datapane/connect/ConnectionListPane.java @@ -133,12 +133,9 @@ public class ConnectionListPane extends JListControlPane implements ConnectionSh * @param connectionConfig the new datasourceManager. */ public void populate(ConnectionConfig connectionConfig) { - Iterator nameIt = connectionConfig.getConnections().keySet().iterator(); - List nameObjectList = new ArrayList(); - while (nameIt.hasNext()) { - String name = nameIt.next(); - nameObjectList.add(new NameObject(name, connectionConfig.getConnection(name))); + for (Map.Entry entry : connectionConfig.getConnections().entrySet()) { + nameObjectList.add(new NameObject(entry.getKey(), entry.getValue())); } this.populate(nameObjectList.toArray(new NameObject[nameObjectList.size()])); diff --git a/designer_base/src/com/fr/design/data/datapane/connect/ConnectionManagerPane.java b/designer_base/src/com/fr/design/data/datapane/connect/ConnectionManagerPane.java index f91b16d7e..aa0980ad5 100644 --- a/designer_base/src/com/fr/design/data/datapane/connect/ConnectionManagerPane.java +++ b/designer_base/src/com/fr/design/data/datapane/connect/ConnectionManagerPane.java @@ -46,7 +46,6 @@ public class ConnectionManagerPane extends LoadingBasicPane implements Connectio } public void populate(ConnectionConfig datasourceManager) { - //todo 原来界面上显示的xml路径 // this.connectionTextField.setText(FRContext.getCurrentEnv().getPath() + File.separator + ProjectConstants.RESOURCES_NAME // + File.separator + datasourceManager.fileName()); this.connectionListPane.populate(datasourceManager);