]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/ModuleEditor/src/org/tianocore/packaging/module/ui/ModuleGuids.java
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@671 6f19259b...
[mirror_edk2.git] / Tools / Source / ModuleEditor / src / org / tianocore / packaging / module / ui / ModuleGuids.java
CommitLineData
878ddf1f 1/** @file\r
2 \r
3 The file is used to create, update Guids of MSA/MBD file\r
4 \r
5 Copyright (c) 2006, Intel Corporation\r
6 All rights reserved. This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10 \r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 \r
14 **/\r
15package org.tianocore.packaging.module.ui;\r
16\r
17import java.awt.event.ActionEvent;\r
18\r
19import javax.swing.JButton;\r
20import javax.swing.JComboBox;\r
21import javax.swing.JLabel;\r
22import javax.swing.JPanel;\r
23import javax.swing.JRadioButton;\r
24import javax.swing.JTextField;\r
25\r
26import org.tianocore.ConditionalExpressionDocument;\r
27import org.tianocore.DefaultValueDocument;\r
28import org.tianocore.GuidUsage;\r
29import org.tianocore.GuidsDocument;\r
30import org.tianocore.common.DataValidation;\r
31import org.tianocore.common.Log;\r
32import org.tianocore.common.Tools;\r
33import org.tianocore.packaging.common.ui.IComboBox;\r
34import org.tianocore.packaging.common.ui.IInternalFrame;\r
35import org.tianocore.packaging.common.ui.StarLabel;\r
36\r
37/**\r
38 The class is used to create, update Guids of MSA/MBD file\r
39 It extends IInternalFrame\r
40 \r
41 @since ModuleEditor 1.0\r
42\r
43 **/\r
44public class ModuleGuids extends IInternalFrame {\r
45\r
46 ///\r
47 /// Define class Serial Version UID\r
48 ///\r
49 private static final long serialVersionUID = 6710858997766979803L;\r
50\r
51 //\r
52 //Define class members\r
53 //\r
54 private GuidsDocument.Guids guids = null;\r
55\r
56 private int location = -1;\r
57\r
58 private JPanel jContentPane = null;\r
59\r
60 private JLabel jLabelC_Name = null;\r
61\r
62 private JTextField jTextFieldC_Name = null;\r
63\r
64 private JLabel jLabelGuidValue = null;\r
65\r
66 private JTextField jTextFieldGuidValue = null;\r
67\r
68 private JLabel jLabelFeatureFlag = null;\r
69\r
70 private IComboBox iComboBoxFeatureFlag = null;\r
71\r
72 private JLabel jLabelConditionalExpression = null;\r
73\r
74 private IComboBox iComboBoxConditionalExpression = null;\r
75\r
76 private JLabel jLabelDefault = null;\r
77\r
78 private JTextField jTextFieldDefaultValue = null;\r
79\r
80 private JLabel jLabelHelpText = null;\r
81\r
82 private JTextField jTextFieldHelpText = null;\r
83\r
84 private JLabel jLabelEnableFeature = null;\r
85\r
86 private JRadioButton jRadioButtonEnableFeature = null;\r
87\r
88 private JRadioButton jRadioButtonDisableFeature = null;\r
89\r
90 private JLabel jLabelUsage = null;\r
91\r
92 private JComboBox jComboBoxUsage = null;\r
93\r
94 private JButton jButtonOk = null;\r
95\r
96 private JButton jButtonCancel = null;\r
97\r
98 private JButton jButtonGenerateGuid = null;\r
99\r
100 private JLabel jLabelOverrideID = null;\r
101\r
102 private JTextField jTextFieldOverrideID = null;\r
103\r
104 /**\r
105 This method initializes jTextFieldC_Name \r
106 \r
107 @return javax.swing.JTextField jTextFieldC_Name\r
108 \r
109 **/\r
110 private JTextField getJTextFieldC_Name() {\r
111 if (jTextFieldC_Name == null) {\r
112 jTextFieldC_Name = new JTextField();\r
113 jTextFieldC_Name.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
114 }\r
115 return jTextFieldC_Name;\r
116 }\r
117\r
118 /**\r
119 This method initializes jTextFieldGuidValsue \r
120 \r
121 @return javax.swing.JTextField jTextFieldGuidValue\r
122 \r
123 **/\r
124 private JTextField getJTextFieldGuidValsue() {\r
125 if (jTextFieldGuidValue == null) {\r
126 jTextFieldGuidValue = new JTextField();\r
2a8b1c0a 127 jTextFieldGuidValue.setBounds(new java.awt.Rectangle(160, 35, 250, 20));\r
878ddf1f 128 }\r
129 return jTextFieldGuidValue;\r
130 }\r
131\r
132 /**\r
133 This method initializes jTextFieldFeatureFlag \r
134 \r
135 @return javax.swing.JTextField iComboBoxFeatureFlag\r
136 \r
137 **/\r
138 private IComboBox getIComboBoxFeatureFlag() {\r
139 if (iComboBoxFeatureFlag == null) {\r
140 iComboBoxFeatureFlag = new IComboBox();\r
141 iComboBoxFeatureFlag.setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
142 }\r
143 return iComboBoxFeatureFlag;\r
144 }\r
145\r
146 /**\r
147 This method initializes jTextFieldConditionalExpression \r
148 \r
149 @return javax.swing.JTextField iComboBoxConditionalExpression\r
150 \r
151 **/\r
152 private IComboBox getIComboBoxConditionalExpression() {\r
153 if (iComboBoxConditionalExpression == null) {\r
154 iComboBoxConditionalExpression = new IComboBox();\r
155 iComboBoxConditionalExpression.setBounds(new java.awt.Rectangle(160, 85, 320, 20));\r
156 }\r
157 return iComboBoxConditionalExpression;\r
158 }\r
159\r
160 /**\r
161 This method initializes jTextFieldDefault \r
162 \r
163 @return javax.swing.JTextField jTextFieldDefaultValue\r
164 \r
165 **/\r
166 private JTextField getJTextFieldDefaultValue() {\r
167 if (jTextFieldDefaultValue == null) {\r
168 jTextFieldDefaultValue = new JTextField();\r
169 jTextFieldDefaultValue.setBounds(new java.awt.Rectangle(160, 110, 320, 20));\r
170 }\r
171 return jTextFieldDefaultValue;\r
172 }\r
173\r
174 /**\r
175 This method initializes jTextFieldHelpText \r
176 \r
177 @return javax.swing.JTextField jTextFieldHelpText\r
178 \r
179 **/\r
180 private JTextField getJTextFieldHelpText() {\r
181 if (jTextFieldHelpText == null) {\r
182 jTextFieldHelpText = new JTextField();\r
183 jTextFieldHelpText.setBounds(new java.awt.Rectangle(160, 135, 320, 20));\r
184 }\r
185 return jTextFieldHelpText;\r
186 }\r
187\r
188 /**\r
189 This method initializes jRadioButtonEnableFeature \r
190 \r
191 @return javax.swing.JRadioButton jRadioButtonEnableFeature\r
192 \r
193 **/\r
194 private JRadioButton getJRadioButtonEnableFeature() {\r
195 if (jRadioButtonEnableFeature == null) {\r
196 jRadioButtonEnableFeature = new JRadioButton();\r
197 jRadioButtonEnableFeature.setText("Enable");\r
198 jRadioButtonEnableFeature.setBounds(new java.awt.Rectangle(160, 160, 90, 20));\r
199 jRadioButtonEnableFeature.setSelected(true);\r
200 jRadioButtonEnableFeature.addActionListener(this);\r
201 }\r
202 return jRadioButtonEnableFeature;\r
203 }\r
204\r
205 /**\r
206 This method initializes jRadioButtonDisableFeature \r
207 \r
208 @return javax.swing.JRadioButton jRadioButtonDisableFeature\r
209 \r
210 **/\r
211 private JRadioButton getJRadioButtonDisableFeature() {\r
212 if (jRadioButtonDisableFeature == null) {\r
213 jRadioButtonDisableFeature = new JRadioButton();\r
214 jRadioButtonDisableFeature.setText("Disable");\r
215 jRadioButtonDisableFeature.setBounds(new java.awt.Rectangle(320, 160, 90, 20));\r
216 jRadioButtonDisableFeature.addActionListener(this);\r
217 }\r
218 return jRadioButtonDisableFeature;\r
219 }\r
220\r
221 /**\r
222 This method initializes jComboBoxUsage \r
223 \r
224 @return javax.swing.JComboBox jComboBoxUsage\r
225 \r
226 **/\r
227 private JComboBox getJComboBoxUsage() {\r
228 if (jComboBoxUsage == null) {\r
229 jComboBoxUsage = new JComboBox();\r
230 jComboBoxUsage.setBounds(new java.awt.Rectangle(160, 185, 320, 20));\r
231 }\r
232 return jComboBoxUsage;\r
233 }\r
234\r
235 /**\r
236 This method initializes jButtonOk \r
237 \r
238 @return javax.swing.JButton jButtonOk\r
239 \r
240 **/\r
241 private JButton getJButtonOk() {\r
242 if (jButtonOk == null) {\r
243 jButtonOk = new JButton();\r
244 jButtonOk.setText("OK");\r
245 jButtonOk.setBounds(new java.awt.Rectangle(290, 240, 90, 20));\r
246 jButtonOk.addActionListener(this);\r
247 }\r
248 return jButtonOk;\r
249 }\r
250\r
251 /**\r
252 This method initializes jButtonCancel \r
253 \r
254 @return javax.swing.JButton jButtonCancel\r
255 \r
256 **/\r
257 private JButton getJButtonCancel() {\r
258 if (jButtonCancel == null) {\r
259 jButtonCancel = new JButton();\r
260 jButtonCancel.setText("Cancel");\r
261 jButtonCancel.setBounds(new java.awt.Rectangle(390, 240, 90, 20));\r
262 jButtonCancel.addActionListener(this);\r
263 }\r
264 return jButtonCancel;\r
265 }\r
266\r
267 /**\r
268 This method initializes jButtonGenerateGuid \r
269 \r
270 @return javax.swing.JButton jButtonGenerateGuid\r
271 \r
272 **/\r
273 private JButton getJButtonGenerateGuid() {\r
274 if (jButtonGenerateGuid == null) {\r
275 jButtonGenerateGuid = new JButton();\r
2a8b1c0a 276 jButtonGenerateGuid.setBounds(new java.awt.Rectangle(415, 35, 65, 20));\r
878ddf1f 277 jButtonGenerateGuid.setText("GEN");\r
278 jButtonGenerateGuid.addActionListener(this);\r
279 }\r
280 return jButtonGenerateGuid;\r
281 }\r
282\r
283 /**\r
284 This method initializes jTextFieldOverrideID \r
285 \r
286 @return javax.swing.JTextField jTextFieldOverrideID\r
287 \r
288 **/\r
289 private JTextField getJTextFieldOverrideID() {\r
290 if (jTextFieldOverrideID == null) {\r
291 jTextFieldOverrideID = new JTextField();\r
2a8b1c0a 292 jTextFieldOverrideID.setBounds(new java.awt.Rectangle(160, 210, 50, 20));\r
878ddf1f 293 }\r
294 return jTextFieldOverrideID;\r
295 }\r
296\r
297 public static void main(String[] args) {\r
298\r
299 }\r
300\r
301 /**\r
302 This is the default constructor\r
303 \r
304 **/\r
305 public ModuleGuids() {\r
306 super();\r
307 init();\r
308 this.setVisible(true);\r
309 }\r
310\r
311 /**\r
312 This is the override edit constructor\r
313 \r
314 @param inGuids The input data of GuidsDocument.Guids\r
315 \r
316 **/\r
317 public ModuleGuids(GuidsDocument.Guids inGuids) {\r
318 super();\r
319 init(inGuids);\r
320 this.setVisible(true);\r
321 }\r
322\r
323 /**\r
324 This is the override edit constructor\r
325 \r
326 @param inGuids The input data of GuidsDocument.Guids\r
327 @param type The input data of node type\r
328 @param index The input data of node index\r
329 \r
330 **/\r
331 public ModuleGuids(GuidsDocument.Guids inGuids, int type, int index) {\r
332 super();\r
333 init(inGuids, type, index);\r
334 this.setVisible(true);\r
335 }\r
336\r
337 /**\r
338 This method initializes this\r
339 \r
340 @param inGuids The input data of GuidsDocument.Guids\r
341 \r
342 **/\r
343 private void init(GuidsDocument.Guids inGuids) {\r
344 init();\r
345 this.setGuids(inGuids);\r
346 }\r
347\r
348 /**\r
349 This method initializes this\r
350 Fill values to all fields if these values are not empty\r
351 \r
352 @param inGuids The input data of GuidsDocument.Guids\r
353 @param type The input data of node type\r
354 @param index The input data of node index\r
355 \r
356 **/\r
357 private void init(GuidsDocument.Guids inGuids, int type, int index) {\r
358 init(inGuids);\r
359 this.location = index;\r
360 if (this.guids.getGuidEntryList().size() > 0) {\r
361 if (this.guids.getGuidEntryArray(index).getCName() != null) {\r
362 this.jTextFieldC_Name.setText(this.guids.getGuidEntryArray(index).getCName());\r
363 }\r
364 if (this.guids.getGuidEntryArray(index).getGuidValue() != null) {\r
365 this.jTextFieldGuidValue.setText(this.guids.getGuidEntryArray(index).getGuidValue());\r
366 }\r
367 if (this.guids.getGuidEntryArray(index).getFeatureFlagList().size() > 0) {\r
368 for (int indexI = 0; indexI < this.guids.getGuidEntryArray(index).getFeatureFlagList().size(); indexI++) {\r
369 this.iComboBoxFeatureFlag.addItem(this.guids.getGuidEntryArray(index).getFeatureFlagArray(indexI));\r
370 }\r
371 }\r
372 if (this.guids.getGuidEntryArray(index).getConditionalExpressionList().size() > 0) {\r
373 for (int indexI = 0; indexI < this.guids.getGuidEntryArray(index).getConditionalExpressionArray(0)\r
374 .getConditionList().size(); indexI++) {\r
375 this.iComboBoxConditionalExpression.addItem(this.guids.getGuidEntryArray(index)\r
376 .getConditionalExpressionArray(0)\r
377 .getConditionArray(indexI));\r
378 }\r
379 }\r
380 if (this.guids.getGuidEntryArray(index).getDefaultValue() != null) {\r
381 this.jTextFieldDefaultValue.setText(this.guids.getGuidEntryArray(index).getDefaultValue()\r
382 .getStringValue());\r
383 }\r
384 if (this.guids.getGuidEntryArray(index).getHelpText() != null) {\r
385 this.jTextFieldHelpText.setText(this.guids.getGuidEntryArray(index).getHelpText());\r
386 }\r
387 if (this.guids.getGuidEntryArray(index).getUsage() != null) {\r
388 this.jComboBoxUsage.setSelectedItem(this.guids.getGuidEntryArray(index).getUsage().toString());\r
389 }\r
390 this.jRadioButtonEnableFeature.setSelected(this.guids.getGuidEntryArray(index).getEnableFeature());\r
391 this.jRadioButtonDisableFeature.setSelected(!this.guids.getGuidEntryArray(index).getEnableFeature());\r
392 this.jTextFieldOverrideID.setText(String.valueOf(this.guids.getGuidEntryArray(index).getOverrideID()));\r
393 }\r
394 }\r
395\r
396 /**\r
397 This method initializes this\r
398 \r
399 **/\r
400 private void init() {\r
401 this.setSize(500, 515);\r
402 this.setContentPane(getJContentPane());\r
403 this.setTitle("Guids");\r
404 initFrame();\r
405 this.setViewMode(false);\r
406 }\r
407\r
408 /**\r
409 Disable all components when the mode is view\r
410 \r
411 @param isView true - The view mode; false - The non-view mode\r
412 \r
413 **/\r
414 public void setViewMode(boolean isView) {\r
415 this.jButtonOk.setVisible(false);\r
416 this.jButtonCancel.setVisible(false);\r
417 if (isView) {\r
418 this.jTextFieldC_Name.setEnabled(!isView);\r
419 this.jTextFieldGuidValue.setEnabled(!isView);\r
420 this.iComboBoxFeatureFlag.setEnabled(!isView);\r
421 this.iComboBoxConditionalExpression.setEnabled(!isView);\r
422 this.jTextFieldDefaultValue.setEnabled(!isView);\r
423 this.jTextFieldHelpText.setEnabled(!isView);\r
424 this.jComboBoxUsage.setEnabled(!isView);\r
425 this.jRadioButtonEnableFeature.setEnabled(!isView);\r
426 this.jRadioButtonDisableFeature.setEnabled(!isView);\r
427 this.jTextFieldOverrideID.setEnabled(!isView);\r
428 this.jButtonCancel.setEnabled(!isView);\r
429 this.jButtonGenerateGuid.setEnabled(!isView);\r
430 this.jButtonOk.setEnabled(!isView);\r
431 }\r
432 }\r
433\r
434 /**\r
435 This method initializes jContentPane\r
436 \r
437 @return javax.swing.JPanel jContentPane\r
438 \r
439 **/\r
440 private JPanel getJContentPane() {\r
441 if (jContentPane == null) {\r
442 jLabelOverrideID = new JLabel();\r
443 jLabelOverrideID.setBounds(new java.awt.Rectangle(15, 210, 140, 20));\r
444 jLabelOverrideID.setText("Override ID");\r
445 jLabelUsage = new JLabel();\r
446 jLabelUsage.setText("Usage");\r
447 jLabelUsage.setBounds(new java.awt.Rectangle(15, 185, 140, 20));\r
448 jLabelEnableFeature = new JLabel();\r
449 jLabelEnableFeature.setText("Enable Feature");\r
450 jLabelEnableFeature.setBounds(new java.awt.Rectangle(15, 160, 140, 20));\r
451 jLabelHelpText = new JLabel();\r
452 jLabelHelpText.setText("Help Text");\r
453 jLabelHelpText.setBounds(new java.awt.Rectangle(15, 135, 140, 20));\r
454 jLabelDefault = new JLabel();\r
455 jLabelDefault.setText("Default Value");\r
456 jLabelDefault.setBounds(new java.awt.Rectangle(15, 110, 140, 20));\r
457 jLabelConditionalExpression = new JLabel();\r
458 jLabelConditionalExpression.setText("Conditional Expression");\r
459 jLabelConditionalExpression.setBounds(new java.awt.Rectangle(15, 85, 140, 20));\r
460 jLabelFeatureFlag = new JLabel();\r
461 jLabelFeatureFlag.setText("Feature Flag");\r
462 jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
463 jLabelGuidValue = new JLabel();\r
464 jLabelGuidValue.setText("Guid Value");\r
465 jLabelGuidValue.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
466 jLabelC_Name = new JLabel();\r
467 jLabelC_Name.setText("C_Name");\r
468 jLabelC_Name.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
469 jContentPane = new JPanel();\r
470 jContentPane.setLayout(null);\r
471 jContentPane.add(jLabelC_Name, null);\r
472 jContentPane.add(getJTextFieldC_Name(), null);\r
473 jContentPane.add(jLabelGuidValue, null);\r
474 jContentPane.add(getJTextFieldGuidValsue(), null);\r
475 jContentPane.add(jLabelFeatureFlag, null);\r
476 jContentPane.add(getIComboBoxFeatureFlag(), null);\r
477 jContentPane.add(jLabelConditionalExpression, null);\r
478 jContentPane.add(getIComboBoxConditionalExpression(), null);\r
479 jContentPane.add(jLabelDefault, null);\r
480 jContentPane.add(getJTextFieldDefaultValue(), null);\r
481 jContentPane.add(jLabelHelpText, null);\r
482 jContentPane.add(getJTextFieldHelpText(), null);\r
483 jContentPane.add(jLabelEnableFeature, null);\r
484 jContentPane.add(getJRadioButtonEnableFeature(), null);\r
485 jContentPane.add(getJRadioButtonDisableFeature(), null);\r
486 jContentPane.add(jLabelUsage, null);\r
487 jContentPane.add(getJComboBoxUsage(), null);\r
488 jContentPane.add(getJButtonOk(), null);\r
489 jContentPane.add(getJButtonCancel(), null);\r
490 jContentPane.add(getJButtonGenerateGuid(), null);\r
491 jContentPane.add(jLabelOverrideID, null);\r
492 jContentPane.add(getJTextFieldOverrideID(), null);\r
493\r
494 StarLabel jStarLabel1 = new StarLabel();\r
495 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
496\r
497 jContentPane.add(jStarLabel1, null);\r
498\r
499 initFrame();\r
500\r
501 }\r
502 return jContentPane;\r
503 }\r
504\r
505 /**\r
506 This method initializes Usage type\r
507 \r
508 **/\r
509 private void initFrame() {\r
510 jComboBoxUsage.addItem("ALWAYS_CONSUMED");\r
511 jComboBoxUsage.addItem("SOMETIMES_CONSUMED");\r
512 jComboBoxUsage.addItem("ALWAYS_PRODUCED");\r
513 jComboBoxUsage.addItem("SOMETIMES_PRODUCED");\r
514 jComboBoxUsage.addItem("DEFAULT");\r
515 }\r
516\r
517 /* (non-Javadoc)\r
518 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
519 *\r
520 * Override actionPerformed to listen all actions\r
521 * \r
522 */\r
523 public void actionPerformed(ActionEvent arg0) {\r
524 if (arg0.getSource() == jButtonOk) {\r
525 this.setEdited(true);\r
526 this.save();\r
527 this.dispose();\r
528 }\r
529 if (arg0.getSource() == jButtonCancel) {\r
530 this.dispose();\r
531 }\r
532\r
533 if (arg0.getSource() == jButtonGenerateGuid) {\r
534 jTextFieldGuidValue.setText(Tools.generateUuidString());\r
535 }\r
536\r
537 //\r
538 //Contorl the selected status when click RadionButton\r
539 //Do not use Radio Button Group\r
540 //\r
541 if (arg0.getSource() == jRadioButtonEnableFeature) {\r
542 if (jRadioButtonEnableFeature.isSelected()) {\r
543 jRadioButtonDisableFeature.setSelected(false);\r
544 }\r
545 if (!jRadioButtonDisableFeature.isSelected() && !jRadioButtonEnableFeature.isSelected()) {\r
546 jRadioButtonEnableFeature.setSelected(true);\r
547 }\r
548 }\r
549\r
550 if (arg0.getSource() == jRadioButtonDisableFeature) {\r
551 if (jRadioButtonDisableFeature.isSelected()) {\r
552 jRadioButtonEnableFeature.setSelected(false);\r
553 }\r
554 if (!jRadioButtonDisableFeature.isSelected() && !jRadioButtonEnableFeature.isSelected()) {\r
555 jRadioButtonDisableFeature.setSelected(true);\r
556 }\r
557 }\r
558 }\r
559\r
560 /**\r
561 Get GuidsDocument.Guids\r
562 \r
563 @return GuidsDocument.Guids\r
564 \r
565 **/\r
566 public GuidsDocument.Guids getGuids() {\r
567 return guids;\r
568 }\r
569\r
570 /**\r
571 Set GuidsDocument.Guids\r
572 \r
573 @param guids The input GuidsDocument.Guids\r
574 \r
575 **/\r
576 public void setGuids(GuidsDocument.Guids guids) {\r
577 this.guids = guids;\r
578 }\r
579\r
580 /**\r
581 Data validation for all fields\r
582 \r
583 @retval true - All datas are valid\r
584 @retval false - At least one data is invalid\r
585 \r
586 **/\r
587 public boolean check() {\r
588 //\r
589 // Check if all required fields are not empty\r
590 //\r
591 if (isEmpty(this.jTextFieldC_Name.getText())) {\r
592 Log.err("C_Name couldn't be empty");\r
593 return false;\r
594 }\r
595\r
596 //\r
597 // Check if all fields have correct data types \r
598 //\r
599 if (!DataValidation.isCName(this.jTextFieldC_Name.getText())) {\r
600 Log.err("Incorrect data type for C_Name");\r
601 return false;\r
602 }\r
603 if (!isEmpty(this.jTextFieldGuidValue.getText()) && !DataValidation.isGuid(this.jTextFieldGuidValue.getText())) {\r
604 Log.err("Incorrect data type for Guid Value");\r
605 return false;\r
606 }\r
607 if (!isEmpty(this.jTextFieldOverrideID.getText())\r
608 && !DataValidation.isOverrideID(this.jTextFieldOverrideID.getText())) {\r
609 Log.err("Incorrect data type for Override ID");\r
610 return false;\r
611 }\r
612\r
613 return true;\r
614 }\r
615\r
616 /**\r
617 Save all components of Guids\r
618 if exists guids, set the value directly\r
619 if not exists guids, new an instance first\r
620 \r
621 **/\r
622 public void save() {\r
623 try {\r
624 if (this.guids == null) {\r
625 guids = GuidsDocument.Guids.Factory.newInstance();\r
626 }\r
627 GuidsDocument.Guids.GuidEntry guid = GuidsDocument.Guids.GuidEntry.Factory.newInstance();\r
628 if (!isEmpty(this.jTextFieldC_Name.getText())) {\r
629 guid.setCName(this.jTextFieldC_Name.getText());\r
630 }\r
631 if (!isEmpty(this.jTextFieldGuidValue.getText())) {\r
632 guid.setGuidValue(this.jTextFieldGuidValue.getText());\r
633 }\r
634 if (this.iComboBoxFeatureFlag.getItemCount() > 0) {\r
635 for (int index = 0; index < this.iComboBoxFeatureFlag.getItemCount(); index++) {\r
636 guid.addNewFeatureFlag();\r
637 guid.setFeatureFlagArray(index, this.iComboBoxFeatureFlag.getItemAt(index).toString());\r
638 }\r
639 }\r
640 if (this.iComboBoxConditionalExpression.getItemCount() > 0) {\r
641 ConditionalExpressionDocument.ConditionalExpression ce = ConditionalExpressionDocument.ConditionalExpression.Factory\r
642 .newInstance();\r
643 for (int index = 0; index < this.iComboBoxConditionalExpression.getItemCount(); index++) {\r
644 ce.addCondition(this.iComboBoxConditionalExpression.getItemAt(index).toString());\r
645 }\r
646 if (guid.getConditionalExpressionList().size() < 1) {\r
647 guid.addNewConditionalExpression();\r
648 }\r
649 guid.setConditionalExpressionArray(0, ce);\r
650 }\r
651 if (!isEmpty(this.jTextFieldDefaultValue.getText())) {\r
652 DefaultValueDocument.DefaultValue dv = DefaultValueDocument.DefaultValue.Factory.newInstance();\r
653 dv.setStringValue(this.jTextFieldDefaultValue.getText());\r
654 guid.setDefaultValue(dv);\r
655 }\r
656 if (!isEmpty(this.jTextFieldHelpText.getText())) {\r
657 guid.setHelpText(this.jTextFieldHelpText.getText());\r
658 }\r
659 guid.setUsage(GuidUsage.Enum.forString(jComboBoxUsage.getSelectedItem().toString()));\r
660 guid.setEnableFeature(this.jRadioButtonEnableFeature.isSelected());\r
661 if (!isEmpty(this.jTextFieldOverrideID.getText())) {\r
662 guid.setOverrideID(Integer.parseInt(this.jTextFieldOverrideID.getText()));\r
663 }\r
664\r
665 if (location > -1) {\r
666 guids.setGuidEntryArray(location, guid);\r
667 } else {\r
668 guids.addNewGuidEntry();\r
669 guids.setGuidEntryArray(guids.getGuidEntryList().size() - 1, guid);\r
670 }\r
671 } catch (Exception e) {\r
672 Log.err("Update Guids", e.getMessage());\r
673 }\r
674 }\r
675}\r