|
|
|
@ -36,6 +36,7 @@ import com.fr.design.utils.gui.GUICoreUtils;
|
|
|
|
|
import com.fr.general.ComparatorUtils; |
|
|
|
|
import com.fr.general.DateUtils; |
|
|
|
|
import com.fr.general.data.Condition; |
|
|
|
|
import com.fr.log.FineLoggerFactory; |
|
|
|
|
import com.fr.stable.ColumnRow; |
|
|
|
|
import com.fr.stable.ColumnRowGroup; |
|
|
|
|
import com.fr.write.DBManipulation; |
|
|
|
@ -47,14 +48,31 @@ import com.fr.write.config.InsertConfig;
|
|
|
|
|
import com.fr.write.config.IntelliDMLConfig; |
|
|
|
|
import com.fr.write.config.UpdateConfig; |
|
|
|
|
|
|
|
|
|
import javax.swing.*; |
|
|
|
|
import javax.swing.AbstractCellEditor; |
|
|
|
|
import javax.swing.BorderFactory; |
|
|
|
|
import javax.swing.DefaultCellEditor; |
|
|
|
|
import javax.swing.DefaultComboBoxModel; |
|
|
|
|
import javax.swing.Icon; |
|
|
|
|
import javax.swing.JList; |
|
|
|
|
import javax.swing.JOptionPane; |
|
|
|
|
import javax.swing.JPanel; |
|
|
|
|
import javax.swing.JScrollPane; |
|
|
|
|
import javax.swing.JTable; |
|
|
|
|
import javax.swing.JTree; |
|
|
|
|
import javax.swing.ListSelectionModel; |
|
|
|
|
import javax.swing.SwingUtilities; |
|
|
|
|
import javax.swing.table.AbstractTableModel; |
|
|
|
|
import javax.swing.table.DefaultTableCellRenderer; |
|
|
|
|
import javax.swing.table.TableCellEditor; |
|
|
|
|
import javax.swing.table.TableColumn; |
|
|
|
|
import javax.swing.tree.DefaultTreeCellRenderer; |
|
|
|
|
import javax.swing.tree.DefaultTreeModel; |
|
|
|
|
import java.awt.*; |
|
|
|
|
import java.awt.BorderLayout; |
|
|
|
|
import java.awt.Component; |
|
|
|
|
import java.awt.Dimension; |
|
|
|
|
import java.awt.FlowLayout; |
|
|
|
|
import java.awt.GridLayout; |
|
|
|
|
import java.awt.Image; |
|
|
|
|
import java.awt.event.ActionEvent; |
|
|
|
|
import java.awt.event.ActionListener; |
|
|
|
|
import java.awt.event.FocusAdapter; |
|
|
|
@ -911,6 +929,11 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
|
|
|
|
|
return ComparatorUtils.equals(this.name, ((ColumnName)obj).name); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected ColumnName clone() throws CloneNotSupportedException { |
|
|
|
|
return new ColumnName(name); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static class ColumnValue { |
|
|
|
@ -931,6 +954,11 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
|
|
|
|
|
return ComparatorUtils.equals(this.obj, ((ColumnValue)obj).obj); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected ColumnValue clone() throws CloneNotSupportedException { |
|
|
|
|
return new ColumnValue(obj); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected static class KeyColumnNameValueTable extends JTable { |
|
|
|
@ -941,7 +969,14 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public KeyColumnTableModel getTableModel4SmartAddCell() { |
|
|
|
|
return new KeyColumnValueTableModel((KeyColumnTableModel)this.getModel()); |
|
|
|
|
KeyColumnTableModel clonedTableModel = null; |
|
|
|
|
try { |
|
|
|
|
//智能添加的时候修改clone的配置,不修改原配置,点击确认后覆盖原配置
|
|
|
|
|
clonedTableModel = ((KeyColumnValueTableModel) this.getModel()).clone(); |
|
|
|
|
} catch (CloneNotSupportedException e) { |
|
|
|
|
FineLoggerFactory.getLogger().error(e.getMessage(), e); |
|
|
|
|
} |
|
|
|
|
return new KeyColumnValueTableModel(clonedTableModel); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
@ -949,11 +984,11 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
protected abstract static class KeyColumnTableModel extends AbstractTableModel { |
|
|
|
|
public static final String RAW_KEY = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_RWA_Key"); |
|
|
|
|
public static final String COLUMN = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Column"); |
|
|
|
|
public static final String VALUE = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Value"); |
|
|
|
|
public static final String VALUE = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Value"); |
|
|
|
|
|
|
|
|
|
public static final String[] COLUMN_NAMES = new String[]{RAW_KEY, COLUMN, VALUE}; |
|
|
|
|
public static final String[] COLUMN_NAMES = new String[]{RAW_KEY, COLUMN, VALUE}; |
|
|
|
|
|
|
|
|
|
protected java.util.List<KeyColumnNameValue> keyColumnNameValueList = new ArrayList<KeyColumnNameValue>(); |
|
|
|
|
protected List<KeyColumnNameValue> keyColumnNameValueList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
public KeyColumnTableModel(KeyColumnTableModel model) { |
|
|
|
|
if (model != null) { |
|
|
|
@ -988,9 +1023,16 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
public void removeAllKeyColumnNameValue() { |
|
|
|
|
this.keyColumnNameValueList.clear(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void refreshNameValueList(KeyColumnTableModel model) { |
|
|
|
|
if (model != null) { |
|
|
|
|
this.keyColumnNameValueList.clear(); |
|
|
|
|
this.keyColumnNameValueList.addAll(model.keyColumnNameValueList); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected static class KeyColumnValueTableModel extends KeyColumnTableModel { |
|
|
|
|
protected static class KeyColumnValueTableModel extends KeyColumnTableModel implements Cloneable{ |
|
|
|
|
|
|
|
|
|
public KeyColumnValueTableModel(KeyColumnTableModel model) { |
|
|
|
|
super(model); |
|
|
|
@ -1037,6 +1079,16 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
public boolean isCellEditable(int row, int col) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected KeyColumnValueTableModel clone() throws CloneNotSupportedException { |
|
|
|
|
KeyColumnValueTableModel cloned = (KeyColumnValueTableModel) super.clone(); |
|
|
|
|
cloned.keyColumnNameValueList = new ArrayList<>(); |
|
|
|
|
for (KeyColumnNameValue keyColumnNameValue : keyColumnNameValueList) { |
|
|
|
|
cloned.keyColumnNameValueList.add(keyColumnNameValue.clone()); |
|
|
|
|
} |
|
|
|
|
return cloned; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1054,11 +1106,17 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 字符串 |
|
|
|
|
* |
|
|
|
|
* @return 字符串z |
|
|
|
|
*/ |
|
|
|
|
public String toString() { |
|
|
|
|
return (isKey ? "* " : "") + cn + ":" + cv; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected KeyColumnNameValue clone() throws CloneNotSupportedException { |
|
|
|
|
return new KeyColumnNameValue(isKey, cn.clone(), cv.clone(), false); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|