package com.vci.client.framework.appConfig;
|
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.util.LinkedHashMap;
|
import java.util.Locale;
|
|
import com.vci.client.LogonApplication;
|
import com.vci.client.framework.appConfig.object.AppConfigDetailObject;
|
import com.vci.client.framework.delegate.AppConfigDetailClientDelegate;
|
import com.vci.client.ui.exception.VCIException;
|
import com.vci.client.ui.locale.LocaleDisplay;
|
import com.vci.client.ui.swing.VCIOptionPane;
|
|
public class AppConfigDetailDialogActionListener implements ActionListener {
|
|
private AppConfigDetailDialog dialog = null;
|
private LinkedHashMap<String, Runnable> actionMaps = new LinkedHashMap<String, Runnable>();
|
|
public AppConfigDetailDialogActionListener(AppConfigDetailDialog dialog){
|
this.dialog = dialog;
|
this.initActionMap();
|
}
|
|
private void initActionMap(){
|
actionMaps.put("confirm", new Runnable() { public void run() {
|
saveOrUpdateConfig();//
|
}});
|
}
|
|
@Override
|
public void actionPerformed(ActionEvent e) {
|
String key = e.getActionCommand();
|
if(actionMaps.containsKey(key)){
|
actionMaps.get(key).run();
|
}
|
}
|
|
private void saveOrUpdateConfig() {
|
AppConfigDetailObject obj = dialog.getConfigDetail();
|
boolean isValid = check(obj);
|
if (!isValid) {
|
return;
|
}
|
boolean rs = false;
|
if (obj.getId().equals("")) {
|
rs = saveAppConfigDetail(obj);
|
} else {
|
rs = updateAppConfigDetail(obj);
|
}
|
|
if (rs) {
|
dialog.dispose();
|
dialog.getAppConfigDetailPanel().getTablePanel().refreshTableData();
|
}
|
}
|
|
private boolean saveAppConfigDetail(AppConfigDetailObject obj) {
|
boolean rs = false;
|
try {
|
AppConfigDetailClientDelegate delegate = new AppConfigDetailClientDelegate(LogonApplication.getUserEntityObject());
|
String id = delegate.saveAppConfigDetail(obj);
|
obj.setId(id);
|
rs = true;
|
} catch (VCIException e) {
|
VCIOptionPane.showError(dialog, LocaleDisplay.getI18nString(e, "RMIPFramework", Locale.getDefault()));
|
rs = false;
|
}
|
return rs;
|
}
|
|
private boolean updateAppConfigDetail(AppConfigDetailObject obj) {
|
boolean rs = false;
|
try {
|
AppConfigDetailClientDelegate delegate = new AppConfigDetailClientDelegate(LogonApplication.getUserEntityObject());
|
rs = delegate.updateAppConfigDetail(obj);
|
} catch (VCIException e) {
|
VCIOptionPane.showError(dialog, LocaleDisplay.getI18nString(e, "RMIPFramework", Locale.getDefault()));
|
rs = false;
|
}
|
return rs;
|
}
|
|
private boolean check(AppConfigDetailObject obj) {
|
if ("".equals(obj.getName())) {
|
VCIOptionPane.showMessageDialog(dialog,
|
"名称不能为空!");
|
return false;
|
}
|
|
if ("".equals(obj.getKey())){
|
VCIOptionPane.showMessageDialog(dialog,
|
"主键不能为空!");
|
return false;
|
}
|
|
if ("".equals(obj.getValue())){
|
VCIOptionPane.showMessageDialog(dialog,
|
"键值不能为空!");
|
return false;
|
}
|
|
|
return true;
|
}
|
}
|