|
|
|
@ -53,7 +53,6 @@ import javax.swing.BorderFactory;
|
|
|
|
|
import javax.swing.DefaultCellEditor; |
|
|
|
|
import javax.swing.DefaultComboBoxModel; |
|
|
|
|
import javax.swing.Icon; |
|
|
|
|
import javax.swing.JFrame; |
|
|
|
|
import javax.swing.JList; |
|
|
|
|
import javax.swing.JOptionPane; |
|
|
|
|
import javax.swing.JPanel; |
|
|
|
@ -74,6 +73,7 @@ import java.awt.Dimension;
|
|
|
|
|
import java.awt.FlowLayout; |
|
|
|
|
import java.awt.GridLayout; |
|
|
|
|
import java.awt.Image; |
|
|
|
|
import java.awt.Window; |
|
|
|
|
import java.awt.event.ActionEvent; |
|
|
|
|
import java.awt.event.ActionListener; |
|
|
|
|
import java.awt.event.FocusAdapter; |
|
|
|
@ -119,13 +119,9 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
|
|
|
|
|
protected JavaScriptActionPane parentPane; |
|
|
|
|
|
|
|
|
|
private int keyColumnWidth = 100; |
|
|
|
|
private int resizeColumnCount = 4; |
|
|
|
|
private int btnWidth = 110; |
|
|
|
|
private int btnHeight = 20; |
|
|
|
|
private String subMitName; |
|
|
|
|
|
|
|
|
|
private static final String[] DML_CONFIG_TYPES = new String[] { |
|
|
|
|
private static final String[] DML_CONFIG_TYPES = new String[]{ |
|
|
|
|
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Write_Smart_Submit"), |
|
|
|
|
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Write_Delete_Submit"), |
|
|
|
|
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Write_Insert_Submit"), |
|
|
|
@ -148,7 +144,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
|
|
|
|
|
dmlConfigComboBox = new UIComboBox(DML_CONFIG_TYPES); |
|
|
|
|
|
|
|
|
|
JPanel typePane = GUICoreUtils.createFlowPane(new Component[] { new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Write_Choose_Submit_Type") + ":"), dmlConfigComboBox }, |
|
|
|
|
JPanel typePane = GUICoreUtils.createFlowPane(new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Write_Choose_Submit_Type") + ":"), dmlConfigComboBox}, |
|
|
|
|
FlowLayout.LEFT, 10); |
|
|
|
|
typePane.setBorder(BorderFactory.createTitledBorder(new ModLineBorder(ModLineBorder.TOP), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Write_Submit_Type"))); |
|
|
|
|
northPane.add(typePane, BorderLayout.NORTH); |
|
|
|
@ -179,11 +175,11 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
addListeners(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void setSubMitName(String subMitName){ |
|
|
|
|
public void setSubMitName(String subMitName) { |
|
|
|
|
this.subMitName = subMitName; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String getSubMitName(){ |
|
|
|
|
public String getSubMitName() { |
|
|
|
|
return this.subMitName; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -194,11 +190,11 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
JPanel controlBtnPane = new JPanel(new GridLayout(actions.length + 1, 1, 4, 4)); |
|
|
|
|
editTablePane.add(GUICoreUtils.createBorderPane(controlBtnPane, BorderLayout.NORTH), BorderLayout.EAST); |
|
|
|
|
|
|
|
|
|
for (int i = 0; i < actions.length; i++) { |
|
|
|
|
controlBtnPane.add(new UIButton(actions[i])); |
|
|
|
|
for (UpdateAction action : actions) { |
|
|
|
|
controlBtnPane.add(new UIButton(action)); |
|
|
|
|
} |
|
|
|
|
checkBoxUpdatePane = new JPanel(new BorderLayout(0, 0)); |
|
|
|
|
checkBoxUpdatePane.setPreferredSize(new Dimension(120,20)); |
|
|
|
|
checkBoxUpdatePane.setPreferredSize(new Dimension(120, 20)); |
|
|
|
|
controlBtnPane.add(checkBoxUpdatePane); |
|
|
|
|
|
|
|
|
|
UpdateCheckBox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_RWA_NotChange_Unmodified")); |
|
|
|
@ -207,21 +203,22 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
helpButton.addActionListener(new ActionListener() { |
|
|
|
|
@Override |
|
|
|
|
public void actionPerformed(ActionEvent e) { |
|
|
|
|
FormatExplanationPane formatExplanation = new FormatExplanationPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Help"),com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_RWA_Help"), 12f); |
|
|
|
|
FormatExplanationPane formatExplanation = new FormatExplanationPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Help"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_RWA_Help"), 12f); |
|
|
|
|
BasicDialog dlg = formatExplanation.showMediumWindow(SwingUtilities.getWindowAncestor(DBManipulationPane.this), |
|
|
|
|
new DialogActionAdapter(){}); |
|
|
|
|
new DialogActionAdapter() { |
|
|
|
|
}); |
|
|
|
|
dlg.setVisible(true); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
helpButton.set4ToolbarButton(); |
|
|
|
|
checkBoxUpdatePane.add(UpdateCheckBox,BorderLayout.WEST); |
|
|
|
|
checkBoxUpdatePane.add(helpButton,BorderLayout.EAST); |
|
|
|
|
checkBoxUpdatePane.add(UpdateCheckBox, BorderLayout.WEST); |
|
|
|
|
checkBoxUpdatePane.add(helpButton, BorderLayout.EAST); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected void updateUpdateCheckBoxEnable(){ |
|
|
|
|
KeyColumnTableModel model = (KeyColumnTableModel)keyColumnValuesTable.getModel(); |
|
|
|
|
if (model.getRowCount() == 0){ |
|
|
|
|
protected void updateUpdateCheckBoxEnable() { |
|
|
|
|
KeyColumnTableModel model = (KeyColumnTableModel) keyColumnValuesTable.getModel(); |
|
|
|
|
if (model.getRowCount() == 0) { |
|
|
|
|
setUpdateCheckBoxEnable(false); |
|
|
|
|
UpdateCheckBox.setSelected(true); |
|
|
|
|
return; |
|
|
|
@ -230,9 +227,8 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
for (int i = 0; i < model.getRowCount(); i++) { |
|
|
|
|
columnObjects.add(model.getKeyColumnNameValue(i).cv.getObj()); |
|
|
|
|
} |
|
|
|
|
for (int i = 0;i < columnObjects.size();i++){ |
|
|
|
|
Object ob = columnObjects.get(i) ; |
|
|
|
|
if (!( ob instanceof ColumnRow || ob instanceof ColumnRowGroup)){ |
|
|
|
|
for (Object ob : columnObjects) { |
|
|
|
|
if (!(ob instanceof ColumnRow || ob instanceof ColumnRowGroup)) { |
|
|
|
|
setUpdateCheckBoxEnable(false); |
|
|
|
|
UpdateCheckBox.setSelected(false); |
|
|
|
|
return; |
|
|
|
@ -241,7 +237,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
setUpdateCheckBoxEnable(true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setUpdateCheckBoxEnable( boolean b){ |
|
|
|
|
private void setUpdateCheckBoxEnable(boolean b) { |
|
|
|
|
UpdateCheckBox.setEnabled(b); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -251,9 +247,9 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
|
|
|
|
|
JPanel conditionPane = this.createConditionPane(); |
|
|
|
|
|
|
|
|
|
JPanel btPane =new JPanel( FRGUIPaneFactory.createBorderLayout()); |
|
|
|
|
btPane.add(eventPane,BorderLayout.CENTER); |
|
|
|
|
btPane.add(conditionPane,BorderLayout.NORTH); |
|
|
|
|
JPanel btPane = new JPanel(FRGUIPaneFactory.createBorderLayout()); |
|
|
|
|
btPane.add(eventPane, BorderLayout.CENTER); |
|
|
|
|
btPane.add(conditionPane, BorderLayout.NORTH); |
|
|
|
|
this.add(btPane, BorderLayout.SOUTH); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -261,6 +257,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
UIButton addSubmitEventButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Submit_Event")); |
|
|
|
|
addSubmitEventButton.addActionListener(new ActionListener() { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void actionPerformed(ActionEvent e) { |
|
|
|
|
final SubmitJobListPane jobsPane = createSubmitJobListPane(); |
|
|
|
|
|
|
|
|
@ -293,7 +290,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
DefaultTreeCellRenderer cr = (DefaultTreeCellRenderer) conditionsTree.getCellRenderer(); |
|
|
|
|
cr.setForeground(UIConstants.NORMAL_BACKGROUND); |
|
|
|
|
JScrollPane jp = new JScrollPane(conditionsTree); |
|
|
|
|
addComponent(conditionPane,jp); |
|
|
|
|
addComponent(conditionPane, jp); |
|
|
|
|
|
|
|
|
|
UIButton addSubmitConditionButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Submit_Condition")); |
|
|
|
|
addSubmitConditionButton.addActionListener(new ActionListener() { |
|
|
|
@ -325,32 +322,32 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
|
|
|
|
|
JPanel controlBtnPane = new JPanel(new GridLayout(1, 1, 4, 4)); |
|
|
|
|
controlBtnPane.setPreferredSize(createControlBtnPanePreferredSize()); |
|
|
|
|
conditionPane.add(GUICoreUtils.createBorderPane(controlBtnPane, BorderLayout.NORTH),setControlBtnPanePosition()); |
|
|
|
|
conditionPane.add(GUICoreUtils.createBorderPane(controlBtnPane, BorderLayout.NORTH), setControlBtnPanePosition()); |
|
|
|
|
controlBtnPane.add(addSubmitConditionButton); |
|
|
|
|
|
|
|
|
|
return conditionPane; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected void setBorderAndLayout(JPanel jPanel){ |
|
|
|
|
protected void setBorderAndLayout(JPanel jPanel) { |
|
|
|
|
jPanel.setLayout(FRGUIPaneFactory.createBorderLayout()); |
|
|
|
|
jPanel.setBorder(BorderFactory.createTitledBorder( |
|
|
|
|
new ModLineBorder(ModLineBorder.TOP), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Submit_Condition"))); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected void addComponent(JPanel mainPane,JScrollPane addPane){ |
|
|
|
|
mainPane.add(addPane,BorderLayout.CENTER); |
|
|
|
|
protected void addComponent(JPanel mainPane, JScrollPane addPane) { |
|
|
|
|
mainPane.add(addPane, BorderLayout.CENTER); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected Dimension createConditionPanePreferredSize(){ |
|
|
|
|
protected Dimension createConditionPanePreferredSize() { |
|
|
|
|
return new Dimension(454, 80); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected Dimension createControlBtnPanePreferredSize(){ |
|
|
|
|
protected Dimension createControlBtnPanePreferredSize() { |
|
|
|
|
return new Dimension(110, 20); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected String setControlBtnPanePosition(){ |
|
|
|
|
protected String setControlBtnPanePosition() { |
|
|
|
|
return BorderLayout.EAST; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -409,6 +406,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
*/ |
|
|
|
|
keyColumnValuesTable.addFocusListener(new FocusAdapter() { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void focusGained(FocusEvent e) { |
|
|
|
|
refreshColumnsComboBox(); |
|
|
|
|
} |
|
|
|
@ -417,7 +415,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected UpdateAction[] getActions() { |
|
|
|
|
return new UpdateAction[] { new SmartAddFieldsAction(), new AddFieldAction(), new RemoveFieldAction() }; |
|
|
|
|
return new UpdateAction[]{new SmartAddFieldsAction(), new AddFieldAction(), new RemoveFieldAction()}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected SubmitJobListPane createSubmitJobListPane() { |
|
|
|
@ -438,6 +436,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_RWA_Smart_Add_Fields")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void actionPerformed(ActionEvent evt) { |
|
|
|
|
|
|
|
|
|
BasicPane bPane = new BasicPane() { |
|
|
|
@ -449,9 +448,10 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
bPane.setLayout(FRGUIPaneFactory.createBorderLayout()); |
|
|
|
|
|
|
|
|
|
final CheckBoxList list = new CheckBoxList(currentColumnNames(), CheckBoxList.SelectedState.ALL, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Chart_Field_Name")) { |
|
|
|
|
@Override |
|
|
|
|
public String value2Text(Object value) { |
|
|
|
|
if (value instanceof ColumnName) { |
|
|
|
|
return ((ColumnName)value).name; |
|
|
|
|
return ((ColumnName) value).name; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return super.value2Text(value); |
|
|
|
@ -460,6 +460,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
bPane.add(new JScrollPane(list), BorderLayout.CENTER); |
|
|
|
|
|
|
|
|
|
BasicDialog dlg = bPane.showSmallWindow(SwingUtilities.getWindowAncestor(DBManipulationPane.this), new DialogActionAdapter() { |
|
|
|
|
@Override |
|
|
|
|
public void doOk() { |
|
|
|
|
addFields(list); |
|
|
|
|
updateUpdateCheckBoxEnable(); |
|
|
|
@ -469,8 +470,8 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void addFields (CheckBoxList list) { |
|
|
|
|
KeyColumnTableModel model = (KeyColumnTableModel)keyColumnValuesTable.getModel(); |
|
|
|
|
private void addFields(CheckBoxList list) { |
|
|
|
|
KeyColumnTableModel model = (KeyColumnTableModel) keyColumnValuesTable.getModel(); |
|
|
|
|
List<KeyColumnNameValue> keyColumnNameValueList = new ArrayList<KeyColumnNameValue>(); |
|
|
|
|
keyColumnNameValueList.clear(); |
|
|
|
|
for (int i = 0; i < model.getRowCount(); i++) { |
|
|
|
@ -481,9 +482,9 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
// Richie:用了存储新的KeyColumnNameValue的List.
|
|
|
|
|
List<KeyColumnNameValue> newKeyColumnNameValueList = new ArrayList<KeyColumnNameValue>(); |
|
|
|
|
if (!keyColumnNameValueList.isEmpty()) { |
|
|
|
|
for (int i = 0; i < selected.length; i++) { |
|
|
|
|
for (Object o : selected) { |
|
|
|
|
// Richie:先填上空的.
|
|
|
|
|
newKeyColumnNameValueList.add(new KeyColumnNameValue(false, (ColumnName)selected[i], new ColumnValue(""), false)); |
|
|
|
|
newKeyColumnNameValueList.add(new KeyColumnNameValue(false, (ColumnName) o, new ColumnValue(""), false)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// Richie:初始化
|
|
|
|
@ -492,17 +493,17 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
|
|
|
|
|
if (!keyColumnNameValueList.isEmpty()) { |
|
|
|
|
//如果存在先前项,设置状态为5
|
|
|
|
|
returnValue = 5 ; |
|
|
|
|
returnValue = 5; |
|
|
|
|
} |
|
|
|
|
for (int i = 0; i < selected.length; i++) { |
|
|
|
|
if (returnValue == 0 || returnValue == 3) { |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
for (int j = 0; j < keyColumnNameValueList.size(); j++) { |
|
|
|
|
if (ComparatorUtils.equals(selected[i], keyColumnNameValueList.get(j).cn)) { |
|
|
|
|
Object[] options = { com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Covered_All"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Yes"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_No"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Cover_None") }; |
|
|
|
|
for (KeyColumnNameValue keyColumnNameValue : keyColumnNameValueList) { |
|
|
|
|
if (ComparatorUtils.equals(selected[i], keyColumnNameValue.cn)) { |
|
|
|
|
Object[] options = {com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Covered_All"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Yes"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_No"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Cover_None")}; |
|
|
|
|
returnValue = JOptionPane.showOptionDialog(DBManipulationPane.this, |
|
|
|
|
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Cover_Tips", keyColumnNameValueList.get(j).cn.name), |
|
|
|
|
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Cover_Tips", keyColumnNameValue.cn.name), |
|
|
|
|
"", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, options[0]); |
|
|
|
|
// Richie:全部覆盖
|
|
|
|
|
if (returnValue == 0) { |
|
|
|
@ -514,7 +515,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
} else if (returnValue == 2) { |
|
|
|
|
coverNumber = i; |
|
|
|
|
newKeyColumnNameValueList.remove(i); |
|
|
|
|
newKeyColumnNameValueList.add(i, keyColumnNameValueList.get(j)); |
|
|
|
|
newKeyColumnNameValueList.add(i, keyColumnNameValue); |
|
|
|
|
// Richie:全部不覆盖
|
|
|
|
|
} else if (returnValue == 3) { |
|
|
|
|
coverNumber = i; |
|
|
|
@ -526,7 +527,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
checkTableModel(returnValue, coverNumber, model, selected, keyColumnNameValueList, newKeyColumnNameValueList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void checkTableModel (int returnValue, int coverNumber, KeyColumnTableModel model, Object[] selected, List<KeyColumnNameValue> keyColumnNameValueList, List<KeyColumnNameValue> newKeyColumnNameValueList) { |
|
|
|
|
private void checkTableModel(int returnValue, int coverNumber, KeyColumnTableModel model, Object[] selected, List<KeyColumnNameValue> keyColumnNameValueList, List<KeyColumnNameValue> newKeyColumnNameValueList) { |
|
|
|
|
if (returnValue == 0) { |
|
|
|
|
model.removeAllKeyColumnNameValue(); |
|
|
|
|
// Richie:全部覆盖,按selected的长度添加默认的行
|
|
|
|
@ -538,10 +539,10 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
model.removeAllKeyColumnNameValue(); |
|
|
|
|
// Richie:全部不覆盖,已经存在的就保留,不存在的添加默认行
|
|
|
|
|
for (int i = coverNumber; i < selected.length; i++) { |
|
|
|
|
for (int j = 0; j < keyColumnNameValueList.size(); j++) { |
|
|
|
|
if (ComparatorUtils.equals(selected[i], keyColumnNameValueList.get(j).cn)) { |
|
|
|
|
for (KeyColumnNameValue keyColumnNameValue : keyColumnNameValueList) { |
|
|
|
|
if (ComparatorUtils.equals(selected[i], keyColumnNameValue.cn)) { |
|
|
|
|
newKeyColumnNameValueList.remove(i); |
|
|
|
|
newKeyColumnNameValueList.add(i, keyColumnNameValueList.get(j)); |
|
|
|
|
newKeyColumnNameValueList.add(i, keyColumnNameValue); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -555,7 +556,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
for (int i = 0; i < selected.length; i++) { |
|
|
|
|
model.addKeyColumnNameValue(newKeyColumnNameValueList.get(i)); |
|
|
|
|
} |
|
|
|
|
} else if (returnValue == 5){ |
|
|
|
|
} else if (returnValue == 5) { |
|
|
|
|
//新选项和原来没有重复项的情况,产品确认:只做全量增加,原有的清除
|
|
|
|
|
for (int i = 0; i < selected.length; i++) { |
|
|
|
|
model.addKeyColumnNameValue(newKeyColumnNameValueList.get(i)); |
|
|
|
@ -565,8 +566,8 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
// Richie:初始化
|
|
|
|
|
if (keyColumnNameValueList.isEmpty()) { |
|
|
|
|
model.removeAllKeyColumnNameValue(); |
|
|
|
|
for (int i = 0; i < selected.length; i++) { |
|
|
|
|
model.addKeyColumnNameValue(new KeyColumnNameValue(false, (ColumnName)selected[i], new ColumnValue(""), false)); |
|
|
|
|
for (Object o : selected) { |
|
|
|
|
model.addKeyColumnNameValue(new KeyColumnNameValue(false, (ColumnName) o, new ColumnValue(""), false)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -579,9 +580,10 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_RWA_Add_Field")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void actionPerformed(ActionEvent e) { |
|
|
|
|
|
|
|
|
|
KeyColumnTableModel model = (KeyColumnTableModel)keyColumnValuesTable.getModel(); |
|
|
|
|
KeyColumnTableModel model = (KeyColumnTableModel) keyColumnValuesTable.getModel(); |
|
|
|
|
|
|
|
|
|
model.addKeyColumnNameValue(new KeyColumnNameValue(false, new ColumnName(""), new ColumnValue(""), false)); |
|
|
|
|
updateUpdateCheckBoxEnable(); |
|
|
|
@ -596,6 +598,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_RWA_Remove_Field")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void actionPerformed(ActionEvent evt) { |
|
|
|
|
// DBManipulationPane target = this.getDBManipulationPane();
|
|
|
|
|
|
|
|
|
@ -608,7 +611,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_sure_remove_item") + "?", com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Remove"), JOptionPane.OK_CANCEL_OPTION, |
|
|
|
|
JOptionPane.QUESTION_MESSAGE); |
|
|
|
|
if (returnVal == JOptionPane.OK_OPTION) { |
|
|
|
|
KeyColumnTableModel keyColumnNameValueTableModel = (KeyColumnTableModel)keyColumnValuesTable.getModel(); |
|
|
|
|
KeyColumnTableModel keyColumnNameValueTableModel = (KeyColumnTableModel) keyColumnValuesTable.getModel(); |
|
|
|
|
|
|
|
|
|
// 把selectedRows从小到大排个序,先删大的再删小的
|
|
|
|
|
java.util.Arrays.sort(selectedRows); |
|
|
|
@ -632,12 +635,12 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
* 刷新columnsComboBox |
|
|
|
|
*/ |
|
|
|
|
private void refreshColumnsComboBox() { |
|
|
|
|
DefaultComboBoxModel model = (DefaultComboBoxModel)this.columnsComboBox.getModel(); |
|
|
|
|
DefaultComboBoxModel model = (DefaultComboBoxModel) this.columnsComboBox.getModel(); |
|
|
|
|
model.removeAllElements(); |
|
|
|
|
|
|
|
|
|
ColumnName[] columnNames = currentColumnNames(); |
|
|
|
|
for (int i = 0; i < columnNames.length; i++) { |
|
|
|
|
model.addElement(columnNames[i]); |
|
|
|
|
for (ColumnName columnName : columnNames) { |
|
|
|
|
model.addElement(columnName); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -673,11 +676,12 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
columnsComboBox = new UIComboBox(new DefaultComboBoxModel()); |
|
|
|
|
columnsComboBox.setRenderer(new UIComboBoxRenderer() { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { |
|
|
|
|
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); |
|
|
|
|
|
|
|
|
|
if (value instanceof ColumnName) { |
|
|
|
|
this.setText(((ColumnName)value).name); |
|
|
|
|
this.setText(((ColumnName) value).name); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return this; |
|
|
|
@ -685,20 +689,18 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
column1.setCellEditor(new DefaultCellEditor(columnsComboBox) { |
|
|
|
|
@Override |
|
|
|
|
public boolean stopCellEditing() { |
|
|
|
|
if (super.stopCellEditing()) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
|
return super.stopCellEditing(); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
((DefaultCellEditor)column1.getCellEditor()).setClickCountToStart(2); |
|
|
|
|
((DefaultCellEditor) column1.getCellEditor()).setClickCountToStart(2); |
|
|
|
|
|
|
|
|
|
//设置Column 2的Editor
|
|
|
|
|
column2.setCellEditor(new ColumnValueEditor()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void populateBean(DBManipulation dbManipulation) { |
|
|
|
|
if (dbManipulation == null) { |
|
|
|
|
dbManipulation = new DBManipulation(); |
|
|
|
@ -750,7 +752,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void populateKeyColumnValueTable(DMLConfig dmlConfig) { |
|
|
|
|
KeyColumnTableModel keyColumnNameValueTableModel = (KeyColumnTableModel)this.keyColumnValuesTable.getModel(); |
|
|
|
|
KeyColumnTableModel keyColumnNameValueTableModel = (KeyColumnTableModel) this.keyColumnValuesTable.getModel(); |
|
|
|
|
keyColumnNameValueTableModel.removeAllKeyColumnNameValue(); |
|
|
|
|
|
|
|
|
|
if (dmlConfig != null) { |
|
|
|
@ -766,7 +768,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
String columnName = column.getColumnName(); |
|
|
|
|
if (!acceptPara && column.getColumnValue() instanceof Parameter) { |
|
|
|
|
// 表单中,将以前的参数转换为公式
|
|
|
|
|
column.setColumnValue(BaseFormula.createFormulaBuilder().build(((Parameter)column.getColumnValue()).getName())); |
|
|
|
|
column.setColumnValue(BaseFormula.createFormulaBuilder().build(((Parameter) column.getColumnValue()).getName())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
KeyColumnNameValue newColumnNameValue = new KeyColumnNameValue(column.isKey(), new ColumnName(columnName), new ColumnValue(column.getColumnValue()), |
|
|
|
@ -782,6 +784,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public DBManipulation updateBean() { |
|
|
|
|
DataBaseItems para = chooseTable.updateBean(true); |
|
|
|
|
DBManipulation dbMani = new DBManipulation(); |
|
|
|
@ -801,19 +804,19 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
|
|
|
|
|
dmlConfig.setTable(new Table(para.getSchemaName(), para.getTableName())); |
|
|
|
|
|
|
|
|
|
KeyColumnTableModel keyColumnNameValueTableModel = (KeyColumnTableModel)this.keyColumnValuesTable.getModel(); |
|
|
|
|
KeyColumnTableModel keyColumnNameValueTableModel = (KeyColumnTableModel) this.keyColumnValuesTable.getModel(); |
|
|
|
|
int rowCount = keyColumnNameValueTableModel.keyColumnNameValueList.size(); |
|
|
|
|
for (int i = 0; i < rowCount; i++) { |
|
|
|
|
KeyColumnNameValue newKeyColumnNameValue = keyColumnNameValueTableModel.keyColumnNameValueList.get(i); |
|
|
|
|
// peter:先添加key column name.
|
|
|
|
|
|
|
|
|
|
dmlConfig.addColumnConfig(new ColumnConfig(newKeyColumnNameValue.cn.name, newKeyColumnNameValue.cv.obj, newKeyColumnNameValue.isKey,false)); |
|
|
|
|
dmlConfig.addColumnConfig(new ColumnConfig(newKeyColumnNameValue.cn.name, newKeyColumnNameValue.cv.obj, newKeyColumnNameValue.isKey, false)); |
|
|
|
|
} |
|
|
|
|
dmlConfig.setUpdateSelected(UpdateCheckBox.isSelected()); |
|
|
|
|
|
|
|
|
|
if (jobs != null) { |
|
|
|
|
for (int i = 0; i < jobs.length; i++) { |
|
|
|
|
dmlConfig.addSubmitJob(jobs[i]); |
|
|
|
|
for (NameSubmitJob job : jobs) { |
|
|
|
|
dmlConfig.addSubmitJob(job); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
dmlConfig.setCondition(condition); |
|
|
|
@ -840,6 +843,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Values_Editor"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void populateBean(Object object) { |
|
|
|
|
vPane.populate(object); |
|
|
|
|
} |
|
|
|
@ -855,55 +859,67 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
* alex:ColumnValue的编辑器,弹出对话框来编辑...个人觉得不大好 |
|
|
|
|
*/ |
|
|
|
|
protected class ColumnValueEditor extends AbstractCellEditor implements TableCellEditor { |
|
|
|
|
/** The Swing component being edited. */ |
|
|
|
|
private UILabel textLabel; |
|
|
|
|
private ValuePane vPane; |
|
|
|
|
private BasicDialog vPaneDLG; |
|
|
|
|
/** |
|
|
|
|
* The Swing component being edited. |
|
|
|
|
*/ |
|
|
|
|
private final UILabel textLabel; |
|
|
|
|
private final ValuePane vPane; |
|
|
|
|
|
|
|
|
|
protected ColumnValueEditor() { |
|
|
|
|
this(v_Types); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 列值编辑器 |
|
|
|
|
* |
|
|
|
|
* @param types 编辑器类型 |
|
|
|
|
*/ |
|
|
|
|
protected ColumnValueEditor(Editor<?>[] types) { |
|
|
|
|
textLabel = new UILabel(); |
|
|
|
|
textLabel.addMouseListener(new MouseAdapter() { |
|
|
|
|
public void mousePressed(MouseEvent e) { |
|
|
|
|
vPaneDLG.setAlwaysOnTop(true); |
|
|
|
|
vPaneDLG.setVisible(true); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
vPane = new ValuePane(types); |
|
|
|
|
vPaneDLG = vPane.showSmallWindow(new JFrame(), new DialogActionAdapter() { |
|
|
|
|
DialogActionAdapter adapter = new DialogActionAdapter() { |
|
|
|
|
@Override |
|
|
|
|
public void doOk() { |
|
|
|
|
fireEditingStopped(); // Make the renderer
|
|
|
|
|
// reappear.
|
|
|
|
|
updateUpdateCheckBoxEnable(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void doCancel() { |
|
|
|
|
fireEditingCanceled(); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
textLabel.addMouseListener(new MouseAdapter() { |
|
|
|
|
@Override |
|
|
|
|
public void mousePressed(MouseEvent e) { |
|
|
|
|
Window window = e.getComponent() == null |
|
|
|
|
? DesignerContext.getDesignerFrame() |
|
|
|
|
: SwingUtilities.getWindowAncestor(e.getComponent()); |
|
|
|
|
vPane.showSmallWindow(window, adapter) |
|
|
|
|
.setVisible(true); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
vPane = new ValuePane(types); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
* 双击以编辑 |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public boolean isCellEditable(EventObject anEvent) { |
|
|
|
|
if (anEvent instanceof MouseEvent) { |
|
|
|
|
return ((MouseEvent)anEvent).getClickCount() >= 2; |
|
|
|
|
return ((MouseEvent) anEvent).getClickCount() >= 2; |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { |
|
|
|
|
if (value instanceof ColumnValue) { |
|
|
|
|
vPane.populateBean(((ColumnValue)value).obj); |
|
|
|
|
vPane.populateBean(((ColumnValue) value).obj); |
|
|
|
|
|
|
|
|
|
if (((ColumnValue)value).obj != null) { |
|
|
|
|
textLabel.setText(((ColumnValue)value).obj.toString()); |
|
|
|
|
if (((ColumnValue) value).obj != null) { |
|
|
|
|
textLabel.setText(((ColumnValue) value).obj.toString()); |
|
|
|
|
} else { |
|
|
|
|
textLabel.setText(""); |
|
|
|
|
} |
|
|
|
@ -912,6 +928,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
return textLabel; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public Object getCellEditorValue() { |
|
|
|
|
return new ColumnValue(vPane.updateBean()); |
|
|
|
|
} |
|
|
|
@ -924,12 +941,13 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
this.name = name; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean equals(Object obj) { |
|
|
|
|
if (!(obj instanceof ColumnName)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return ComparatorUtils.equals(this.name, ((ColumnName)obj).name); |
|
|
|
|
return ComparatorUtils.equals(this.name, ((ColumnName) obj).name); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -945,16 +963,17 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
this.obj = obj; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public Object getObj(){ |
|
|
|
|
public Object getObj() { |
|
|
|
|
return obj; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean equals(Object obj) { |
|
|
|
|
if (!(obj instanceof ColumnValue)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return ComparatorUtils.equals(this.obj, ((ColumnValue)obj).obj); |
|
|
|
|
return ComparatorUtils.equals(this.obj, ((ColumnValue) obj).obj); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -998,14 +1017,17 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public String getColumnName(int col) { |
|
|
|
|
return COLUMN_NAMES[col]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public int getColumnCount() { |
|
|
|
|
return COLUMN_NAMES.length; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public int getRowCount() { |
|
|
|
|
return keyColumnNameValueList.size(); |
|
|
|
|
} |
|
|
|
@ -1034,12 +1056,13 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected static class KeyColumnValueTableModel extends KeyColumnTableModel implements Cloneable{ |
|
|
|
|
protected static class KeyColumnValueTableModel extends KeyColumnTableModel implements Cloneable { |
|
|
|
|
|
|
|
|
|
public KeyColumnValueTableModel(KeyColumnTableModel model) { |
|
|
|
|
super(model); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public Object getValueAt(int row, int col) { |
|
|
|
|
KeyColumnNameValue knv = keyColumnNameValueList.get(row); |
|
|
|
|
|
|
|
|
@ -1054,18 +1077,20 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void setValueAt(Object value, int row, int col) { |
|
|
|
|
KeyColumnNameValue knv = keyColumnNameValueList.get(row); |
|
|
|
|
|
|
|
|
|
if (col == 0 && value instanceof Boolean) { |
|
|
|
|
knv.isKey = ((Boolean)value).booleanValue(); |
|
|
|
|
knv.isKey = ((Boolean) value).booleanValue(); |
|
|
|
|
} else if (col == 1 && value instanceof ColumnName) { |
|
|
|
|
knv.cn = (ColumnName)value; |
|
|
|
|
knv.cn = (ColumnName) value; |
|
|
|
|
} else if (col == 2 && value instanceof ColumnValue) { |
|
|
|
|
knv.cv = (ColumnValue)value; |
|
|
|
|
knv.cv = (ColumnValue) value; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public Class<?> getColumnClass(int c) { |
|
|
|
|
switch (c) { |
|
|
|
|
case 0: |
|
|
|
@ -1078,6 +1103,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
return String.class; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean isCellEditable(int row, int col) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
@ -1094,7 +1120,6 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static class KeyColumnNameValue { |
|
|
|
|
private boolean isKey = false; |
|
|
|
|
private ColumnName cn; |
|
|
|
@ -1111,6 +1136,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
* |
|
|
|
|
* @return 字符串z |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public String toString() { |
|
|
|
|
return (isKey ? "* " : "") + cn + ":" + cv; |
|
|
|
|
} |
|
|
|
@ -1124,12 +1150,13 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
/* |
|
|
|
|
* ColumnNameTableCellRenderer |
|
|
|
|
*/ |
|
|
|
|
public class ColumnNameTableCellRenderer extends DefaultTableCellRenderer { |
|
|
|
|
public static class ColumnNameTableCellRenderer extends DefaultTableCellRenderer { |
|
|
|
|
@Override |
|
|
|
|
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { |
|
|
|
|
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); |
|
|
|
|
|
|
|
|
|
if (value instanceof ColumnName) { |
|
|
|
|
this.setText(((ColumnName)value).name); |
|
|
|
|
this.setText(((ColumnName) value).name); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return this; |
|
|
|
@ -1139,16 +1166,17 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
|
|
|
|
|
/* |
|
|
|
|
* ColumnValueTableCellRenderer |
|
|
|
|
*/ |
|
|
|
|
private class ColumnValueTableCellRenderer extends DefaultTableCellRenderer { |
|
|
|
|
private static class ColumnValueTableCellRenderer extends DefaultTableCellRenderer { |
|
|
|
|
@Override |
|
|
|
|
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { |
|
|
|
|
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); |
|
|
|
|
|
|
|
|
|
if (value instanceof ColumnValue) { |
|
|
|
|
if (((ColumnValue)value).obj != null) { |
|
|
|
|
if (((ColumnValue)value).obj instanceof Date) { |
|
|
|
|
this.setText(DateUtils.DATEFORMAT2.format(((ColumnValue)value).obj)); |
|
|
|
|
if (((ColumnValue) value).obj != null) { |
|
|
|
|
if (((ColumnValue) value).obj instanceof Date) { |
|
|
|
|
this.setText(DateUtils.DATEFORMAT2.format(((ColumnValue) value).obj)); |
|
|
|
|
} else { |
|
|
|
|
this.setText(((ColumnValue)value).obj.toString()); |
|
|
|
|
this.setText(((ColumnValue) value).obj.toString()); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
this.setText(""); |
|
|
|
|