Revision: 6229
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6229&view=rev
Author: gerdwagner
Date: 2011-04-04 02:27:19 +0000 (Mon, 04 Apr 2011)
Log Message:
-----------
More Query Builder
Modified Paths:
--------------
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ColumnTextArea.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintView.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewsModel.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphTextAreaFactory.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryColumnPanel.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryColumnTextField.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryTextArea.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrame.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrameController.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ZoomableColumnTextArea.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/sqlgen/FromClauseGenerator.java
Added Paths:
-----------
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConfigureNonDbConstraintController.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConfigureNonDbConstraintDlg.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConstraintDataSet.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/DndCallback.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/DndColumn.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/DndEvent.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/DndHandler.java
trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/
trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/I18NStrings.properties
Removed Paths:
-------------
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConfigureNonDbConstraintController.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConfigureNonDbConstraintDlg.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintDataSet.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndCallback.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndColumn.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndEvent.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndHandler.java
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ColumnTextArea.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ColumnTextArea.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ColumnTextArea.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,6 +1,10 @@
package net.sourceforge.squirrel_sql.plugins.graph;
import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndCallback;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndColumn;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndEvent;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndHandler;
import javax.swing.*;
import java.awt.*;
Deleted: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConfigureNonDbConstraintController.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConfigureNonDbConstraintController.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConfigureNonDbConstraintController.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,195 +0,0 @@
-package net.sourceforge.squirrel_sql.plugins.graph;
-
-import net.sourceforge.squirrel_sql.client.session.ISession;
-import net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetException;
-import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;
-import net.sourceforge.squirrel_sql.fw.util.StringManager;
-import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
-
-import javax.swing.*;
-import java.awt.*;
-import java.util.Vector;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-
-
-public class ConfigureNonDbConstraintController
-{
- private static final StringManager s_stringMgr =
- StringManagerFactory.getStringManager(ConfigureNonDbConstraintController.class);
-
-
-
- private ConfigureNonDbConstraintDlg _dlg;
- private ConstraintDataSet _constraintDataSet;
- private ConstraintView _constraintView;
- private TableFrameController _fkFrameOriginatingFrom;
- private TableFrameController _pkFramePointingTo;
-
-
-
- public ConfigureNonDbConstraintController(ISession session, ConstraintView constraintView, TableFrameController fkFrameOriginatingFrom, TableFrameController pkFramePointingTo)
- {
- _constraintView = constraintView;
- _fkFrameOriginatingFrom = fkFrameOriginatingFrom;
- _pkFramePointingTo = pkFramePointingTo;
- try
- {
- String fkTableName = fkFrameOriginatingFrom.getTableInfo().getSimpleName();
- String pkTableName = pkFramePointingTo.getTableInfo().getSimpleName();
-
- Window parent = SwingUtilities.windowForComponent(fkFrameOriginatingFrom.getFrame());
- _dlg = new ConfigureNonDbConstraintDlg(parent, fkTableName, pkTableName);
-
- _constraintDataSet = new ConstraintDataSet(constraintView, fkTableName, pkTableName);
- _dlg._table.show(_constraintDataSet);
- _dlg._txtContstrName.setText(constraintView.getData().getConstraintName());
-
- initCbos(fkFrameOriginatingFrom, pkFramePointingTo, constraintView);
-
- _dlg._btnRemove.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- onRemoveSelectedRow();
- }
- });
-
- _dlg._btnAdd.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- onAddColumns();
- }
- });
-
- _dlg._btnOk.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- onOk();
- }
- });
-
- _dlg._btnCancel.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- close();
- }
- });
-
- _dlg.setVisible(true);
- }
- catch (DataSetException e)
- {
- throw new RuntimeException(e);
- }
- }
-
- private void onOk()
- {
- if(_constraintDataSet.isEmpty())
- {
- JOptionPane.showMessageDialog(_dlg, s_stringMgr.getString("graph.ConfigureNonDbConstraintController.emptyMsg"));
- return;
- }
-
- if(null == _dlg._txtContstrName.getText() || 0 == _dlg._txtContstrName.getText().trim().length())
- {
- JOptionPane.showMessageDialog(_dlg, s_stringMgr.getString("graph.ConfigureNonDbConstraintController.noNameMsg"));
- return;
- }
-
- _constraintDataSet.writeConstraintView(_constraintView, _fkFrameOriginatingFrom, _pkFramePointingTo);
-
- _constraintView.getData().setConstraintName(_dlg._txtContstrName.getText().trim());
- close();
- }
-
- private void close()
- {
- _dlg.setVisible(false);
- _dlg.dispose();
- }
-
- private void onAddColumns()
- {
- try
- {
- ColumnInfo fkColumn = (ColumnInfo) _dlg._cboLocalCol.getSelectedItem();
- ColumnInfo pkColumn = (ColumnInfo) _dlg._cboReferencingCol.getSelectedItem();
- if(_constraintDataSet.addRow(fkColumn, pkColumn))
- {
- _dlg._table.show(_constraintDataSet);
- }
- }
- catch (DataSetException e)
- {
- throw new RuntimeException(e);
- }
-
- }
-
- private void onRemoveSelectedRow()
- {
- try
- {
- if (_constraintDataSet.removeRows(_dlg._table.getSeletedRows()))
- {
- _dlg._table.show(_constraintDataSet);
- }
- }
- catch (DataSetException e)
- {
- throw new RuntimeException(e);
- }
- }
-
-
- private void initCbos(TableFrameController fkFrameOriginatingFrom, TableFrameController pkFramePointingTo, ConstraintView constraintView)
- {
- _dlg._cboLocalCol.setModel(new DefaultComboBoxModel(getCleanedFkColumnInfos(fkFrameOriginatingFrom, constraintView)));
- _dlg._cboReferencingCol.setModel(new DefaultComboBoxModel(pkFramePointingTo.getColumnInfos()));
- }
-
- private Vector<ColumnInfo> getCleanedFkColumnInfos(TableFrameController fkFrameOriginatingFrom, ConstraintView constraintView)
- {
- Vector<ColumnInfo> cleanedFkColumnInfos = new Vector<ColumnInfo>();
- ColumnInfo[] fkColumnInfos = fkFrameOriginatingFrom.getColumnInfos();
-
- for (ColumnInfo fkColumnInfo : fkColumnInfos)
- {
- boolean toAdd = false;
-
- if(null == fkColumnInfo.getImportedColumnName())
- {
- // We add if the fkColumnInfo is not yet referencing any column.
- toAdd = true;
- }
- else
- {
- // Or we add if the fkColumnInfo is already part of the constraint to configure.
- for (ColumnInfo columnInfo : constraintView.getData().getColumnInfos())
- {
- if(fkColumnInfo.getName().equalsIgnoreCase(columnInfo.getName()))
- {
- toAdd = true;
- break;
- }
- }
- }
-
-
- if(toAdd)
- {
- cleanedFkColumnInfos.add(fkColumnInfo);
- }
- }
- return cleanedFkColumnInfos;
- }
-}
Deleted: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConfigureNonDbConstraintDlg.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConfigureNonDbConstraintDlg.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConfigureNonDbConstraintDlg.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,174 +0,0 @@
-package net.sourceforge.squirrel_sql.plugins.graph;
-
-import net.sourceforge.squirrel_sql.fw.util.StringManager;
-import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
-import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;
-import net.sourceforge.squirrel_sql.fw.gui.MultipleLineLabel;
-import net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetViewerTablePanel;
-import net.sourceforge.squirrel_sql.client.gui.mainframe.MainFrame;
-
-import javax.swing.*;
-import javax.swing.border.TitledBorder;
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.KeyEvent;
-
-public class ConfigureNonDbConstraintDlg extends JDialog
-{
- private static final StringManager s_stringMgr =
- StringManagerFactory.getStringManager(ConfigureNonDbConstraintDlg.class);
-
-
- DataSetViewerTablePanel _table;
- JComboBox _cboReferencingCol;
- JButton _btnOk;
- JButton _btnCancel;
- JButton _btnAdd;
- JButton _btnRemove;
- JComboBox _cboLocalCol;
- JTextField _txtContstrName;
-
- public ConfigureNonDbConstraintDlg(Window parent, String fkTableName, String pkTableName)
- {
- super(parent, s_stringMgr.getString("graph.ConfigureNonDbConstraintDlgConfigureNonDBConstraint"));
- setModal(true);
- getContentPane().setLayout(new GridBagLayout());
-
- GridBagConstraints gbc;
-
- gbc = new GridBagConstraints(0,1,1,1,1,1, GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(5,5,5,5), 0,0);
- _table = new DataSetViewerTablePanel();
- _table.init(null);
- JPanel pnlBordered = new JPanel(new GridLayout(1,1));
- pnlBordered.add(new JScrollPane(_table.getComponent()));
- TitledBorder titledBorder = BorderFactory.createTitledBorder(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.tblTitle"));
- titledBorder.setTitleFont(titledBorder.getTitleFont().deriveFont(Font.BOLD));
- pnlBordered.setBorder(titledBorder);
- getContentPane().add(pnlBordered, gbc);
-
- gbc = new GridBagConstraints(0,2,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0,5,10,5), 0,0);
- _btnRemove = new JButton(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.remove"));
- getContentPane().add(_btnRemove, gbc);
-
-
- gbc = new GridBagConstraints(0,3,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(5,5,5,5), 0,0);
- getContentPane().add(createControlsPanel(fkTableName, pkTableName), gbc);
-
- gbc = new GridBagConstraints(0,4,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
- getContentPane().add(createNamePanel(), gbc);
-
- gbc = new GridBagConstraints(0,5,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
- MultipleLineLabel lblHint = new MultipleLineLabel(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.NonDbConstraintHint"));
- lblHint.setForeground(Color.red);
- getContentPane().add(lblHint, gbc);
-
- gbc = new GridBagConstraints(0,6,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
- getContentPane().add(createButtonsPanel(), gbc);
-
-
- setSize(800, 530);
-
- GUIUtils.centerWithinParent(this);
-
-
- getRootPane().setDefaultButton(_btnOk);
-
- AbstractAction closeAction = new AbstractAction()
- {
- public void actionPerformed(ActionEvent actionEvent)
- {
- setVisible(false);
- dispose();
- }
- };
- KeyStroke escapeStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
- getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(escapeStroke, "CloseAction");
- getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(escapeStroke, "CloseAction");
- getRootPane().getInputMap(JComponent.WHEN_FOCUSED).put(escapeStroke, "CloseAction");
- getRootPane().getActionMap().put("CloseAction", closeAction);
-
- }
-
- private JPanel createNamePanel()
- {
- JPanel ret = new JPanel(new GridBagLayout());
-
- GridBagConstraints gbc;
-
- gbc = new GridBagConstraints(0,0,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
- ret.add(new JLabel(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.ContsrName")), gbc);
-
-
- gbc = new GridBagConstraints(1,0,1,1,1,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
- _txtContstrName = new JTextField();
- ret.add(_txtContstrName, gbc);
-
- return ret;
- }
-
- private JPanel createButtonsPanel()
- {
- JPanel ret = new JPanel(new GridBagLayout());
- GridBagConstraints gbc;
-
- gbc = new GridBagConstraints(0,0,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
- _btnOk = new JButton(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.OK"));
- ret.add(_btnOk, gbc);
-
- gbc = new GridBagConstraints(1,0,1,1,0,0, GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
- _btnCancel = new JButton(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.Cancel"));
- ret.add(_btnCancel, gbc);
- return ret;
- }
-
- private JPanel createControlsPanel(String fkTableName, String pkTableName)
- {
- JPanel ret = new JPanel(new GridBagLayout());
- GridBagConstraints gbc;
-
- gbc = new GridBagConstraints(0,0,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
- JLabel lblLocalCol = new JLabel(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.Localcolumn", fkTableName));
- ret.add(lblLocalCol, gbc);
-
- gbc = new GridBagConstraints(1,0,1,1,1,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
- _cboLocalCol = new JComboBox();
- ret.add(_cboLocalCol, gbc);
-
-
- gbc = new GridBagConstraints(0,1,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
- JLabel lblRefrencing = new JLabel(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.Referencing", pkTableName));
- ret.add(lblRefrencing, gbc);
-
- gbc = new GridBagConstraints(1,1,1,1,1,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
- _cboReferencingCol = new JComboBox();
- ret.add(_cboReferencingCol, gbc);
-
- Dimension preferredSize = lblLocalCol.getPreferredSize();
- preferredSize.width = Math.max(lblLocalCol.getPreferredSize().width, lblRefrencing.getPreferredSize().width);
- lblLocalCol.setPreferredSize(preferredSize);
- lblRefrencing.setPreferredSize(preferredSize);
-
-
- gbc = new GridBagConstraints(2,0,1,2,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0,5,5,5), 0,0);
- ret.add(createAddButtonsPanel(), gbc);
-
-
- TitledBorder titledBorder = BorderFactory.createTitledBorder(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.AddColsTitle"));
- titledBorder.setTitleFont(titledBorder.getTitleFont().deriveFont(Font.BOLD));
- ret.setBorder(titledBorder);
-
- return ret;
- }
-
- private JPanel createAddButtonsPanel()
- {
- JPanel ret = new JPanel(new GridBagLayout());
- GridBagConstraints gbc;
-
- gbc = new GridBagConstraints(0,0,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
- _btnAdd = new JButton(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.add"));
- ret.add(_btnAdd, gbc);
-
- return ret;
- }
-}
Deleted: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintDataSet.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintDataSet.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintDataSet.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,167 +0,0 @@
-package net.sourceforge.squirrel_sql.plugins.graph;
-
-import net.sourceforge.squirrel_sql.fw.datasetviewer.IDataSet;
-import net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetException;
-import net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetDefinition;
-import net.sourceforge.squirrel_sql.fw.datasetviewer.ColumnDisplayDefinition;
-import net.sourceforge.squirrel_sql.fw.util.IMessageHandler;
-import net.sourceforge.squirrel_sql.fw.util.StringManager;
-import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
-
-import java.util.ArrayList;
-
-public class ConstraintDataSet implements IDataSet
-{
- private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(ConstraintDataSet.class);
-
-
- private static final int DISPLAY_WIDTH = 30;
-
- private int _curIx = -1;
-
- private ColumnDisplayDefinition[] _columnDisplayDefinitions;
-
- private ArrayList<ContraintDisplayData> _contraintDisplayData = new ArrayList<ContraintDisplayData>();
-
- public ConstraintDataSet(ConstraintView constraintView, String fkTableName, String pkTableName)
- {
-
- for (ColumnInfo columnInfo : constraintView.getData().getColumnInfos())
- {
- ContraintDisplayData buf = new ContraintDisplayData(columnInfo.getName(), columnInfo.getImportedColumnName());
- _contraintDisplayData.add(buf);
- }
-
-
- _columnDisplayDefinitions = new ColumnDisplayDefinition[]
- {
- new ColumnDisplayDefinition(DISPLAY_WIDTH, s_stringMgr.getString("graph.ConstraintDataSet.LocalColumn", fkTableName)),
- new ColumnDisplayDefinition(DISPLAY_WIDTH, s_stringMgr.getString("graph.ConstraintDataSet.ReferencingColumn", pkTableName)),
- };
- }
-
-
-
- public int getColumnCount() throws DataSetException
- {
- return _columnDisplayDefinitions.length;
- }
-
- public DataSetDefinition getDataSetDefinition() throws DataSetException
- {
- return new DataSetDefinition(_columnDisplayDefinitions);
- }
-
- public boolean next(IMessageHandler msgHandler) throws DataSetException
- {
- return ++_curIx < _contraintDisplayData.size();
- }
-
- public Object get(int columnIndex) throws DataSetException
- {
- switch(columnIndex)
- {
- case 0:
- return _contraintDisplayData.get(_curIx).getColumnName();
- case 1:
- return _contraintDisplayData.get(_curIx).getImportedColumnName();
- default:
- throw new IndexOutOfBoundsException("Invalid column index " + columnIndex);
- }
- }
-
- public boolean removeRows(int[] rows)
- {
- if(0 == rows.length)
- {
- return false;
- }
-
- ArrayList<ContraintDisplayData> toRemove = new ArrayList<ContraintDisplayData>();
-
- for (int row : rows)
- {
- if (row < _contraintDisplayData.size())
- {
- toRemove.add(_contraintDisplayData.get(row));
- }
- }
-
- _contraintDisplayData.removeAll(toRemove);
-
- _curIx = -1;
-
- return true;
- }
-
- public boolean addRow(ColumnInfo fkColumn, ColumnInfo pkColumn)
- {
-
- for (ContraintDisplayData contraintDisplayData : _contraintDisplayData)
- {
- if( contraintDisplayData.getColumnName().equalsIgnoreCase(fkColumn.getName())
- || contraintDisplayData.getImportedColumnName().equalsIgnoreCase(pkColumn.getName()))
- {
- // The rule for adding is: A fkColumn as well as a pkColumn should only occur once.
- return false;
- }
- }
-
- _contraintDisplayData.add(new ContraintDisplayData(fkColumn.getName(), pkColumn.getName()));
- _curIx = -1;
-
- return true;
- }
-
- public void writeConstraintView(ConstraintView constraintView, TableFrameController fkFrameOriginatingFrom, TableFrameController pkFramePointingTo)
- {
- constraintView.getData().removeAllColumns();
- for (ContraintDisplayData contraintDisplayData : _contraintDisplayData)
- {
- ColumnInfo fkCol = findColumnByName(fkFrameOriginatingFrom, contraintDisplayData.getColumnName());
- ColumnInfo pkCol = findColumnByName(pkFramePointingTo, contraintDisplayData.getImportedColumnName());
- fkCol.setImportData(pkFramePointingTo.getTableInfo().getSimpleName(), pkCol.getName(), constraintView.getData().getConstraintName(), true);
- constraintView.getData().addColumnInfo(fkCol);
- }
- }
-
- private ColumnInfo findColumnByName(TableFrameController toFindIn, String columnName)
- {
- for (ColumnInfo columnInfo : toFindIn.getColumnInfos())
- {
- if(columnInfo.getName().equalsIgnoreCase(columnName))
- {
- return columnInfo;
- }
- }
-
- throw new IllegalArgumentException("Column not found: " + columnName);
- }
-
- public boolean isEmpty()
- {
- return _contraintDisplayData.isEmpty();
- }
-
- private static class ContraintDisplayData
- {
- private String _colName;
- private String _importedColumnName;
-
- public ContraintDisplayData(String colName, String importedColumnName)
- {
- _colName = colName;
- _importedColumnName = importedColumnName;
- }
-
- public String getColumnName()
- {
- return _colName;
- }
-
- public String getImportedColumnName()
- {
- return _importedColumnName;
- }
- }
-}
\ No newline at end of file
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintView.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintView.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintView.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,6 +1,7 @@
package net.sourceforge.squirrel_sql.plugins.graph;
import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.ConfigureNonDbConstraintController;
import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.ConstraintViewXmlBean;
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
import net.sourceforge.squirrel_sql.fw.util.StringManager;
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewsModel.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewsModel.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewsModel.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -5,6 +5,7 @@
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
import net.sourceforge.squirrel_sql.fw.util.log.LoggerController;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndEvent;
import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.ConstraintViewXmlBean;
import java.sql.DatabaseMetaData;
Deleted: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndCallback.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndCallback.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndCallback.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,11 +0,0 @@
-package net.sourceforge.squirrel_sql.plugins.graph;
-
-import java.awt.event.MouseEvent;
-import java.awt.*;
-
-public interface DndCallback
-{
- void dndImportDone(DndEvent e, Point dropPoint);
-
- DndEvent createDndEvent(MouseEvent lastDndExportedMousePressedEvent);
-}
Deleted: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndColumn.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndColumn.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndColumn.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,11 +0,0 @@
-package net.sourceforge.squirrel_sql.plugins.graph;
-
-import java.awt.*;
-
-public interface DndColumn
-{
- DndEvent getDndEvent();
- void setDndEvent(DndEvent dndEvent);
-
- Point getLocationInColumnTextArea();
-}
Deleted: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndEvent.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndEvent.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndEvent.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,23 +0,0 @@
-package net.sourceforge.squirrel_sql.plugins.graph;
-
-public class DndEvent
-{
- private TableFrameController _tableFrameController;
- private ColumnInfo _columnInfo;
-
- public DndEvent(TableFrameController tableFrameController, ColumnInfo columnInfo)
- {
- _tableFrameController = tableFrameController;
- _columnInfo = columnInfo;
- }
-
- public TableFrameController getTableFrameController()
- {
- return _tableFrameController;
- }
-
- public ColumnInfo getColumnInfo()
- {
- return _columnInfo;
- }
-}
Deleted: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndHandler.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndHandler.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DndHandler.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,177 +0,0 @@
-package net.sourceforge.squirrel_sql.plugins.graph;
-
-import net.sourceforge.squirrel_sql.client.session.ISession;
-import net.sourceforge.squirrel_sql.fw.util.StringManager;
-import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
-import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
-import net.sourceforge.squirrel_sql.fw.util.log.LoggerController;
-
-import javax.activation.DataHandler;
-import javax.swing.*;
-import javax.swing.text.JTextComponent;
-import java.awt.*;
-import java.awt.datatransfer.Clipboard;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.StringSelection;
-import java.awt.datatransfer.Transferable;
-import java.awt.dnd.DnDConstants;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-
-public class DndHandler
-{
- /** Logger for this class. */
- private static final ILogger s_log = LoggerController.createLogger(DndHandler.class);
-
- private static final StringManager s_stringMgr =
- StringManagerFactory.getStringManager(DndHandler.class);
-
-
- private DndCallback _dndCallback;
- private MouseEvent _lastExportedMouseEvent;
- private Point _dropPoint;
-
- private static boolean _dndMessageShown = false;
-
- /**
- *
- * @param comp must support dndEvent Property. Means must have getDndEvent() / setDndEvent().
- * @param session
- */
- public DndHandler(DndCallback dndCallback, final JComponent comp, final ISession session)
- {
- _dndCallback = dndCallback;
- comp.setTransferHandler(createTransferHandler());
-
- comp.addMouseListener(new MouseAdapter()
- {
- @Override
- public void mousePressed(MouseEvent e)
- {
- onMousePressed(e, comp, session);
- }
- });
- }
-
- private void onMousePressed(MouseEvent e, JComponent comp, ISession session)
- {
- if (1 == e.getClickCount() && false == e.isPopupTrigger() && 0 != (e.getModifiers() & MouseEvent.CTRL_MASK) )
- {
- _lastExportedMouseEvent = e;
- if(comp instanceof DndColumn)
- {
- Point lp = ((DndColumn)comp).getLocationInColumnTextArea();
- _lastExportedMouseEvent.translatePoint(lp.x, lp.y);
- }
-
-
- comp.getTransferHandler().exportAsDrag(comp, e, DnDConstants.ACTION_COPY);
- }
- else if(false == _dndMessageShown && 1 == e.getClickCount() && false == e.isPopupTrigger())
- {
- session.getApplication().getMessageHandler().showMessage(s_stringMgr.getString("graph.DndHandler.dndMessage"));
- _dndMessageShown = true;
- }
- }
-
- private TransferHandler createTransferHandler()
- {
- return new TransferHandler("dndEvent")
- {
- public boolean importData(TransferSupport support)
- {
- _dropPoint = support.getDropLocation().getDropPoint();
-
- Component comp = support.getComponent();
- if (comp instanceof DndColumn)
- {
- Point lp = ((DndColumn) comp).getLocationInColumnTextArea();
- _dropPoint.translate(lp.x, lp.y);
- }
- return super.importData(support);
- }
-
- @Override // Needed because of some plugin class loader problem or something like that.
- public boolean canImport(JComponent comp, DataFlavor[] transferFlavors)
- {
- if(comp instanceof DndColumn)
- {
- return true;
- }
- else
- {
- return super.canImport(comp, transferFlavors);
- }
- }
-
- @Override // Needed because of some plugin class loader problem or something like that.
- protected Transferable createTransferable(JComponent c)
- {
- if(c instanceof DndColumn)
- {
- DndColumn dndCol = (DndColumn) c;
- DndEvent dndEvent = dndCol.getDndEvent();
- if (null == dndEvent)
- {
- return super.createTransferable(c);
- }
- else
- {
- return new DataHandler(dndEvent, DataFlavor.javaJVMLocalObjectMimeType);
- }
- }
- else
- {
- return super.createTransferable(c);
- }
- }
-
- @Override // To bring text copy and paste back to work on Win-Platforms
- public void exportToClipboard(JComponent comp, Clipboard clip, int action) throws IllegalStateException
- {
- if (comp instanceof JTextComponent)
- {
- JTextComponent txtComp = (JTextComponent) comp;
- String selText = txtComp.getSelectedText();
- if (null == selText || 0 == selText.length())
- {
- super.exportToClipboard(comp, clip, action);
- }
- else
- {
- StringSelection data = new StringSelection(selText);
- clip.setContents(data, data);
- }
- }
- else
- {
- super.exportToClipboard(comp, clip, action);
- }
- }
-
- };
- }
-
- public DndEvent getDndEvent()
- {
- if (null == _lastExportedMouseEvent)
- {
- // happens when text copy is done within a table frames text area
- return null;
- }
-
- return _dndCallback.createDndEvent(_lastExportedMouseEvent);
- }
-
- public void setDndEvent(DndEvent dndEvent)
- {
- try
- {
- _dndCallback.dndImportDone(dndEvent, _dropPoint);
- }
- catch (Throwable t)
- {
- s_log.error("Error on drag and drop constraint", t);
- }
- }
-}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphTextAreaFactory.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphTextAreaFactory.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphTextAreaFactory.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,6 +1,7 @@
package net.sourceforge.squirrel_sql.plugins.graph;
import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndCallback;
import javax.swing.*;
import java.awt.*;
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryColumnPanel.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryColumnPanel.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryColumnPanel.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -3,6 +3,7 @@
import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.fw.util.StringManager;
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndCallback;
import javax.swing.*;
import java.awt.*;
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryColumnTextField.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryColumnTextField.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryColumnTextField.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,6 +1,10 @@
package net.sourceforge.squirrel_sql.plugins.graph;
import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndCallback;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndColumn;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndEvent;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndHandler;
import javax.swing.*;
import java.awt.*;
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryTextArea.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryTextArea.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryTextArea.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,6 +1,7 @@
package net.sourceforge.squirrel_sql.plugins.graph;
import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndCallback;
import javax.swing.*;
import java.awt.*;
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrame.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrame.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrame.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -24,6 +24,7 @@
import javax.swing.plaf.basic.BasicInternalFrameUI;
import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndCallback;
import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.TableFrameXmlBean;
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrameController.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrameController.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrameController.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -30,6 +30,8 @@
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
import net.sourceforge.squirrel_sql.fw.util.log.LoggerController;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndCallback;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndEvent;
import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.ColumnInfoXmlBean;
import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.TableFrameControllerXmlBean;
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ZoomableColumnTextArea.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ZoomableColumnTextArea.java 2011-04-03 10:53:57 UTC (rev 6228)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ZoomableColumnTextArea.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -1,6 +1,10 @@
package net.sourceforge.squirrel_sql.plugins.graph;
import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndCallback;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndColumn;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndEvent;
+import net.sourceforge.squirrel_sql.plugins.graph.nondbconst.DndHandler;
import javax.swing.*;
import java.awt.event.MouseEvent;
Copied: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConfigureNonDbConstraintController.java (from rev 6227, trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConfigureNonDbConstraintController.java)
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConfigureNonDbConstraintController.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConfigureNonDbConstraintController.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -0,0 +1,197 @@
+package net.sourceforge.squirrel_sql.plugins.graph.nondbconst;
+
+import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetException;
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+import net.sourceforge.squirrel_sql.plugins.graph.ColumnInfo;
+import net.sourceforge.squirrel_sql.plugins.graph.ConstraintView;
+import net.sourceforge.squirrel_sql.plugins.graph.TableFrameController;
+
+import javax.swing.*;
+import java.awt.*;
+import java.util.Vector;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+
+
+public class ConfigureNonDbConstraintController
+{
+ private static final StringManager s_stringMgr =
+ StringManagerFactory.getStringManager(ConfigureNonDbConstraintController.class);
+
+
+
+ private ConfigureNonDbConstraintDlg _dlg;
+ private ConstraintDataSet _constraintDataSet;
+ private ConstraintView _constraintView;
+ private TableFrameController _fkFrameOriginatingFrom;
+ private TableFrameController _pkFramePointingTo;
+
+
+
+ public ConfigureNonDbConstraintController(ISession session, ConstraintView constraintView, TableFrameController fkFrameOriginatingFrom, TableFrameController pkFramePointingTo)
+ {
+ _constraintView = constraintView;
+ _fkFrameOriginatingFrom = fkFrameOriginatingFrom;
+ _pkFramePointingTo = pkFramePointingTo;
+ try
+ {
+ String fkTableName = fkFrameOriginatingFrom.getTableInfo().getSimpleName();
+ String pkTableName = pkFramePointingTo.getTableInfo().getSimpleName();
+
+ Window parent = SwingUtilities.windowForComponent(fkFrameOriginatingFrom.getFrame());
+ _dlg = new ConfigureNonDbConstraintDlg(parent, fkTableName, pkTableName);
+
+ _constraintDataSet = new ConstraintDataSet(constraintView, fkTableName, pkTableName);
+ _dlg._table.show(_constraintDataSet);
+ _dlg._txtContstrName.setText(constraintView.getData().getConstraintName());
+
+ initCbos(fkFrameOriginatingFrom, pkFramePointingTo, constraintView);
+
+ _dlg._btnRemove.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ onRemoveSelectedRow();
+ }
+ });
+
+ _dlg._btnAdd.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ onAddColumns();
+ }
+ });
+
+ _dlg._btnOk.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ onOk();
+ }
+ });
+
+ _dlg._btnCancel.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ close();
+ }
+ });
+
+ _dlg.setVisible(true);
+ }
+ catch (DataSetException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private void onOk()
+ {
+ if(_constraintDataSet.isEmpty())
+ {
+ JOptionPane.showMessageDialog(_dlg, s_stringMgr.getString("graph.ConfigureNonDbConstraintController.emptyMsg"));
+ return;
+ }
+
+ if(null == _dlg._txtContstrName.getText() || 0 == _dlg._txtContstrName.getText().trim().length())
+ {
+ JOptionPane.showMessageDialog(_dlg, s_stringMgr.getString("graph.ConfigureNonDbConstraintController.noNameMsg"));
+ return;
+ }
+
+ _constraintDataSet.writeConstraintView(_constraintView, _fkFrameOriginatingFrom, _pkFramePointingTo);
+
+ _constraintView.getData().setConstraintName(_dlg._txtContstrName.getText().trim());
+ close();
+ }
+
+ private void close()
+ {
+ _dlg.setVisible(false);
+ _dlg.dispose();
+ }
+
+ private void onAddColumns()
+ {
+ try
+ {
+ ColumnInfo fkColumn = (ColumnInfo) _dlg._cboLocalCol.getSelectedItem();
+ ColumnInfo pkColumn = (ColumnInfo) _dlg._cboReferencingCol.getSelectedItem();
+ if(_constraintDataSet.addRow(fkColumn, pkColumn))
+ {
+ _dlg._table.show(_constraintDataSet);
+ }
+ }
+ catch (DataSetException e)
+ {
+ throw new RuntimeException(e);
+ }
+
+ }
+
+ private void onRemoveSelectedRow()
+ {
+ try
+ {
+ if (_constraintDataSet.removeRows(_dlg._table.getSeletedRows()))
+ {
+ _dlg._table.show(_constraintDataSet);
+ }
+ }
+ catch (DataSetException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+
+ private void initCbos(TableFrameController fkFrameOriginatingFrom, TableFrameController pkFramePointingTo, ConstraintView constraintView)
+ {
+ _dlg._cboLocalCol.setModel(new DefaultComboBoxModel(getCleanedFkColumnInfos(fkFrameOriginatingFrom, constraintView)));
+ _dlg._cboReferencingCol.setModel(new DefaultComboBoxModel(pkFramePointingTo.getColumnInfos()));
+ }
+
+ private Vector<ColumnInfo> getCleanedFkColumnInfos(TableFrameController fkFrameOriginatingFrom, ConstraintView constraintView)
+ {
+ Vector<ColumnInfo> cleanedFkColumnInfos = new Vector<ColumnInfo>();
+ ColumnInfo[] fkColumnInfos = fkFrameOriginatingFrom.getColumnInfos();
+
+ for (ColumnInfo fkColumnInfo : fkColumnInfos)
+ {
+ boolean toAdd = false;
+
+ if(null == fkColumnInfo.getImportedColumnName())
+ {
+ // We add if the fkColumnInfo is not yet referencing any column.
+ toAdd = true;
+ }
+ else
+ {
+ // Or we add if the fkColumnInfo is already part of the constraint to configure.
+ for (ColumnInfo columnInfo : constraintView.getData().getColumnInfos())
+ {
+ if(fkColumnInfo.getName().equalsIgnoreCase(columnInfo.getName()))
+ {
+ toAdd = true;
+ break;
+ }
+ }
+ }
+
+
+ if(toAdd)
+ {
+ cleanedFkColumnInfos.add(fkColumnInfo);
+ }
+ }
+ return cleanedFkColumnInfos;
+ }
+}
Copied: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConfigureNonDbConstraintDlg.java (from rev 6227, trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConfigureNonDbConstraintDlg.java)
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConfigureNonDbConstraintDlg.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConfigureNonDbConstraintDlg.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -0,0 +1,173 @@
+package net.sourceforge.squirrel_sql.plugins.graph.nondbconst;
+
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;
+import net.sourceforge.squirrel_sql.fw.gui.MultipleLineLabel;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetViewerTablePanel;
+
+import javax.swing.*;
+import javax.swing.border.TitledBorder;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+
+public class ConfigureNonDbConstraintDlg extends JDialog
+{
+ private static final StringManager s_stringMgr =
+ StringManagerFactory.getStringManager(ConfigureNonDbConstraintDlg.class);
+
+
+ DataSetViewerTablePanel _table;
+ JComboBox _cboReferencingCol;
+ JButton _btnOk;
+ JButton _btnCancel;
+ JButton _btnAdd;
+ JButton _btnRemove;
+ JComboBox _cboLocalCol;
+ JTextField _txtContstrName;
+
+ public ConfigureNonDbConstraintDlg(Window parent, String fkTableName, String pkTableName)
+ {
+ super(parent, s_stringMgr.getString("graph.ConfigureNonDbConstraintDlgConfigureNonDBConstraint"));
+ setModal(true);
+ getContentPane().setLayout(new GridBagLayout());
+
+ GridBagConstraints gbc;
+
+ gbc = new GridBagConstraints(0,1,1,1,1,1, GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(5,5,5,5), 0,0);
+ _table = new DataSetViewerTablePanel();
+ _table.init(null);
+ JPanel pnlBordered = new JPanel(new GridLayout(1,1));
+ pnlBordered.add(new JScrollPane(_table.getComponent()));
+ TitledBorder titledBorder = BorderFactory.createTitledBorder(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.tblTitle"));
+ titledBorder.setTitleFont(titledBorder.getTitleFont().deriveFont(Font.BOLD));
+ pnlBordered.setBorder(titledBorder);
+ getContentPane().add(pnlBordered, gbc);
+
+ gbc = new GridBagConstraints(0,2,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0,5,10,5), 0,0);
+ _btnRemove = new JButton(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.remove"));
+ getContentPane().add(_btnRemove, gbc);
+
+
+ gbc = new GridBagConstraints(0,3,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(5,5,5,5), 0,0);
+ getContentPane().add(createControlsPanel(fkTableName, pkTableName), gbc);
+
+ gbc = new GridBagConstraints(0,4,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
+ getContentPane().add(createNamePanel(), gbc);
+
+ gbc = new GridBagConstraints(0,5,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
+ MultipleLineLabel lblHint = new MultipleLineLabel(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.NonDbConstraintHint"));
+ lblHint.setForeground(Color.red);
+ getContentPane().add(lblHint, gbc);
+
+ gbc = new GridBagConstraints(0,6,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
+ getContentPane().add(createButtonsPanel(), gbc);
+
+
+ setSize(800, 530);
+
+ GUIUtils.centerWithinParent(this);
+
+
+ getRootPane().setDefaultButton(_btnOk);
+
+ AbstractAction closeAction = new AbstractAction()
+ {
+ public void actionPerformed(ActionEvent actionEvent)
+ {
+ setVisible(false);
+ dispose();
+ }
+ };
+ KeyStroke escapeStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
+ getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(escapeStroke, "CloseAction");
+ getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(escapeStroke, "CloseAction");
+ getRootPane().getInputMap(JComponent.WHEN_FOCUSED).put(escapeStroke, "CloseAction");
+ getRootPane().getActionMap().put("CloseAction", closeAction);
+
+ }
+
+ private JPanel createNamePanel()
+ {
+ JPanel ret = new JPanel(new GridBagLayout());
+
+ GridBagConstraints gbc;
+
+ gbc = new GridBagConstraints(0,0,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
+ ret.add(new JLabel(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.ContsrName")), gbc);
+
+
+ gbc = new GridBagConstraints(1,0,1,1,1,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
+ _txtContstrName = new JTextField();
+ ret.add(_txtContstrName, gbc);
+
+ return ret;
+ }
+
+ private JPanel createButtonsPanel()
+ {
+ JPanel ret = new JPanel(new GridBagLayout());
+ GridBagConstraints gbc;
+
+ gbc = new GridBagConstraints(0,0,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
+ _btnOk = new JButton(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.OK"));
+ ret.add(_btnOk, gbc);
+
+ gbc = new GridBagConstraints(1,0,1,1,0,0, GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
+ _btnCancel = new JButton(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.Cancel"));
+ ret.add(_btnCancel, gbc);
+ return ret;
+ }
+
+ private JPanel createControlsPanel(String fkTableName, String pkTableName)
+ {
+ JPanel ret = new JPanel(new GridBagLayout());
+ GridBagConstraints gbc;
+
+ gbc = new GridBagConstraints(0,0,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
+ JLabel lblLocalCol = new JLabel(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.Localcolumn", fkTableName));
+ ret.add(lblLocalCol, gbc);
+
+ gbc = new GridBagConstraints(1,0,1,1,1,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
+ _cboLocalCol = new JComboBox();
+ ret.add(_cboLocalCol, gbc);
+
+
+ gbc = new GridBagConstraints(0,1,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
+ JLabel lblRefrencing = new JLabel(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.Referencing", pkTableName));
+ ret.add(lblRefrencing, gbc);
+
+ gbc = new GridBagConstraints(1,1,1,1,1,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5), 0,0);
+ _cboReferencingCol = new JComboBox();
+ ret.add(_cboReferencingCol, gbc);
+
+ Dimension preferredSize = lblLocalCol.getPreferredSize();
+ preferredSize.width = Math.max(lblLocalCol.getPreferredSize().width, lblRefrencing.getPreferredSize().width);
+ lblLocalCol.setPreferredSize(preferredSize);
+ lblRefrencing.setPreferredSize(preferredSize);
+
+
+ gbc = new GridBagConstraints(2,0,1,2,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0,5,5,5), 0,0);
+ ret.add(createAddButtonsPanel(), gbc);
+
+
+ TitledBorder titledBorder = BorderFactory.createTitledBorder(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.AddColsTitle"));
+ titledBorder.setTitleFont(titledBorder.getTitleFont().deriveFont(Font.BOLD));
+ ret.setBorder(titledBorder);
+
+ return ret;
+ }
+
+ private JPanel createAddButtonsPanel()
+ {
+ JPanel ret = new JPanel(new GridBagLayout());
+ GridBagConstraints gbc;
+
+ gbc = new GridBagConstraints(0,0,1,1,0,0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5), 0,0);
+ _btnAdd = new JButton(s_stringMgr.getString("graph.ConfigureNonDbConstraintDlg.add"));
+ ret.add(_btnAdd, gbc);
+
+ return ret;
+ }
+}
Copied: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConstraintDataSet.java (from rev 6227, trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintDataSet.java)
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConstraintDataSet.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/nondbconst/ConstraintDataSet.java 2011-04-04 02:27:19 UTC (rev 6229)
@@ -0,0 +1,170 @@
+package net.sourceforge.squirrel_sql.plugins.graph.nondbconst;
+
+import net.sourceforge.squirrel_sql.fw.datasetviewer.IDataSet;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetException;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetDefinition;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.ColumnDisplayDefinition;
+import net.sourceforge.squirrel_sql.fw.util.IMessageHandler;
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+import net.sourceforge.squirrel_sql.plugins.graph.ColumnInfo;
+import net.sourceforge.squirrel_sql.plugins.graph.ConstraintView;
+import net.sourceforge.squirrel_sql.plugins.graph.TableFrameController;
+
+import java.util.ArrayList;
+
+public class ConstraintDataSet implements IDataSet
+{
+ private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(ConstraintDataSet.class);
+
+
+ private static final int DISPLAY_WIDTH = 30;
+
+ private int _curIx = -1;
+
+ private ColumnDisplayDefinition[] _columnDisplayDefinitions;
+
+ private ArrayList<ContraintDisplayData> _contraintDisplayData = new ArrayList<ContraintDisplayData>();
+
+ public ConstraintDataSet(ConstraintView constraintView, String fkTableName, String pkTableName)
+ {
+
+ for (ColumnInfo columnInfo : constraintView.getData().getColumnInfos())
+ {
+ ContraintDisplayData buf = new ContraintDisplayData(columnInfo.getName(), columnInfo.getImportedColumnName());
+ _contraintDisplayData.add(buf);
+ }
+
+
+ _columnDisplayDefinitions = new ColumnDisplayDefinition[]
+ {
+ new ColumnDisplayDefinition(DISPLAY_WIDTH, s_stringMgr.getString("graph.ConstraintDataSet.LocalColumn", fkTableName)),
+ new ColumnDisplayDefinition(DISPLAY_WIDTH, s_stringMgr.getString("graph.ConstraintDataSet.ReferencingColumn", pkTableName)),
+ };
+ }
+
+
+
+ public int getColumnCount() throws DataSetException
+ {
+ return _columnDisplayDefinitions.length;
+ }
+
+ public DataSetDefinition getDataSetDefinition() throws DataSetException
+ {
+ return new DataSetDefinition(_columnDisplayDefinitions);
+ }
+
+ public boolean next(IMessageHandler msgHandler) throws DataSetException
+ {
+ return ++_curIx < _contraintDisplayData.size();
+ }
+
+ public Object get(int columnIndex) throws DataSetException
+ {
+ switch(columnIndex)
+ {
+ case 0:
+ return _contraintDisplayData.get(_curIx).getColumnName();
+ case 1:
+ return _contraintDisplayData.get(_curIx).getImportedColumnName();
+ default:
+ throw new IndexOutOfBoundsException("Invalid column index " + columnIndex);
+ }
+ }
+
+ public boolean removeRows(int[] rows)
+ ...
[truncated message content] |