refactor(dialog): 优化临时图纸创建对话框

- 增加了对 preferenceInfos 返回值的空检查
- 添加了校验通过的打印信息
- 优化了组件值获取逻辑,增加了对 null 值的处理
- 增加了调试信息打印,便于问题排查
mian
熊朝柱 1 month ago
parent b2f3ca79aa
commit 59232b69c6

@ -95,10 +95,9 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{
*/ */
public List<String> getPreferenceInfos(String preferenceName) { public List<String> getPreferenceInfos(String preferenceName) {
List<String> drawingObjPropInfosList = new ArrayList<>(); List<String> drawingObjPropInfosList = new ArrayList<>();
TCPreferenceService preferenceService = tcSession.getPreferenceService(); TCPreferenceService preferenceService = tcSession.getPreferenceService();
String[] values = preferenceService.getStringValues(preferenceName); String[] values = preferenceService.getStringValues(preferenceName);
if (values.length > 0) { if (values != null && values.length > 0) {
for (int i = 0; i < values.length; i++) { for (int i = 0; i < values.length; i++) {
drawingObjPropInfosList.add(values[i]); drawingObjPropInfosList.add(values[i]);
} }
@ -245,6 +244,8 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{
if(!checkRequiredProp()){ if(!checkRequiredProp()){
System.out.println("校验未通过!"); System.out.println("校验未通过!");
return ; return ;
}else {
System.out.println("校验已通过!");
} }
@ -268,7 +269,9 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{
* @return * @return
*/ */
private boolean checkRequiredProp() { private boolean checkRequiredProp() {
System.out.println("propComponentMap.size="+propComponentMap.size());
if (propComponentMap.size()>0) { if (propComponentMap.size()>0) {
System.out.println("1");
for (Map.Entry<String, JComponent> entry : propComponentMap.entrySet()) { for (Map.Entry<String, JComponent> entry : propComponentMap.entrySet()) {
String key = entry.getKey(); String key = entry.getKey();
Object value = getComponentValue(entry.getValue()); Object value = getComponentValue(entry.getValue());
@ -289,21 +292,31 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{
} }
/** /**
* * @
* @param component * @param component
* @return * @return
*/ */
public String getComponentValue(JComponent component) { public String getComponentValue(JComponent component) {
System.out.println("开始根据不同类型的组件取值");
if (component instanceof JTextField) { if (component instanceof JTextField) {
System.out.println("JTextField");
return ((JTextField) component).getText(); return ((JTextField) component).getText();
} else if (component instanceof JComboBox) { } else if (component instanceof JComboBox) {
System.out.println("JComboBox");
JComboBox<String> comboBox = (JComboBox<String>) component; JComboBox<String> comboBox = (JComboBox<String>) component;
return (String)comboBox.getSelectedItem(); return (String)comboBox.getSelectedItem();
} else if (component instanceof DateButton) { } else if (component instanceof DateButton) {
System.out.println("DateButton");
DateButton dateButton = (DateButton) component; DateButton dateButton = (DateButton) component;
Date date = dateButton.getDate(); Date date = dateButton.getDate();
if (date == null){
return null;
}
String dateInput = dateFormat.format(date).replaceAll("(\\d{4})-0(\\d)-", "$1-$2-") + " 00:00"; String dateInput = dateFormat.format(date).replaceAll("(\\d{4})-0(\\d)-", "$1-$2-") + " 00:00";
System.out.println("dateInput="+dateInput);
return dateInput; return dateInput;
}else {
System.out.println("意料之外的组件!");
} }
return null; return null;
} }
@ -339,7 +352,6 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{
this.revComboBox = new JComboBox<String>(revs); this.revComboBox = new JComboBox<String>(revs);
// this.revComboBox.setEditable(true); // this.revComboBox.setEditable(true);
//布局 //布局
// ID Label // ID Label
GridBagConstraints gbcIdLabel = new GridBagConstraints(); GridBagConstraints gbcIdLabel = new GridBagConstraints();
@ -385,11 +397,12 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{
propComponentMap.put("版本", revComboBox); propComponentMap.put("版本", revComboBox);
String preferenceName = getSelectTypePreferenceName(); String preferenceName = getSelectTypePreferenceName();
System.out.println("preferenceName = " + preferenceName);
int propIndex = 2; int propIndex = 2;
if (preferenceName != null){ if (preferenceName != null){
List<String> propList = getPreferenceInfos(preferenceName); List<String> propList = getPreferenceInfos(preferenceName);
System.out.println("propList.size = "+propList.size());
for(String propInfo : propList){//propInfo格式为*有效期=Form.sb6_validuntil=date=Form.sb6_validuntil for(String propInfo : propList){//propInfo格式为*有效期=Form.sb6_validuntil=date=Form.sb6_validuntil
String[] propConfigInfoArray= propInfo.split("="); String[] propConfigInfoArray= propInfo.split("=");
String validPropName = null; String validPropName = null;

Loading…
Cancel
Save