]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/SelectModuleBelong.java
change table column positions in tables of FrameworkModules and horizontal scrollbar...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / SelectModuleBelong.java
CommitLineData
a13899c5 1/** @file\r
2 \r
3 The file is used to let user choose to create module in an existing package\r
4 or to create a new package first.\r
5 \r
6 Copyright (c) 2006, Intel Corporation\r
7 All rights reserved. This program and the accompanying materials\r
8 are licensed and made available under the terms and conditions of the BSD License\r
9 which accompanies this distribution. The full text of the license may be found at\r
10 http://opensource.org/licenses/bsd-license.php\r
11 \r
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14 \r
15 **/\r
16package org.tianocore.frameworkwizard;\r
17\r
92e29378 18import java.awt.Component;\r
a13899c5 19import java.awt.event.ActionEvent;\r
20import java.io.File;\r
21import java.util.Vector;\r
22\r
92e29378 23import javax.swing.ButtonGroup;\r
a13899c5 24import javax.swing.JButton;\r
25import javax.swing.JComboBox;\r
26import javax.swing.JFileChooser;\r
27import javax.swing.JLabel;\r
28import javax.swing.JPanel;\r
29import javax.swing.JTextField;\r
30\r
31import org.tianocore.ModuleSurfaceAreaDocument;\r
32import org.tianocore.MsaHeaderDocument;\r
33import org.tianocore.SpdHeaderDocument;\r
34import org.tianocore.PackageSurfaceAreaDocument.PackageSurfaceArea;\r
35import org.tianocore.PlatformHeaderDocument.PlatformHeader;\r
36import org.tianocore.PlatformSurfaceAreaDocument.PlatformSurfaceArea;\r
37import org.tianocore.frameworkwizard.common.DataType;\r
38import org.tianocore.frameworkwizard.common.DataValidation;\r
39import org.tianocore.frameworkwizard.common.IFileFilter;\r
40import org.tianocore.frameworkwizard.common.Log;\r
41import org.tianocore.frameworkwizard.common.SaveFile;\r
42import org.tianocore.frameworkwizard.common.Tools;\r
43import org.tianocore.frameworkwizard.common.ui.IDialog;\r
44import org.tianocore.frameworkwizard.common.ui.IFrame;\r
45import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
79cb6fdb 46import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
a13899c5 47import org.tianocore.frameworkwizard.packaging.PackageIdentification;\r
48import org.tianocore.frameworkwizard.platform.PlatformIdentification;\r
49import org.tianocore.frameworkwizard.workspace.Workspace;\r
50import org.tianocore.frameworkwizard.workspace.WorkspaceTools;\r
92e29378 51import javax.swing.JRadioButton;\r
a13899c5 52\r
53public class SelectModuleBelong extends IDialog {\r
54\r
55 /**\r
56 Define class members\r
57 \r
58 **/\r
59 private static final long serialVersionUID = 4171355136991448972L;\r
60\r
f9d0ab92 61 private JPanel jContentPane = null;\r
a13899c5 62\r
63 private JComboBox jComboBoxExistingPackage = null;\r
64\r
65 private JButton jButtonOk = null;\r
66\r
67 private JButton jButtonCancel = null;\r
68\r
69 private Vector<PackageIdentification> packages = null;\r
70\r
71 private JLabel jLabelPackage = null;\r
72\r
73 private JLabel jLabelFilePath = null;\r
74\r
75 private JTextField jTextFieldFilePath = null;\r
76\r
77 private JButton jButtonBrowse = null;\r
78\r
79 private JLabel jLabelName = null;\r
80\r
81 private JTextField jTextFieldName = null;\r
82\r
83 private JLabel jLabelGuid = null;\r
84\r
85 private JTextField jTextFieldGuid = null;\r
86\r
87 private JButton jButtonGen = null;\r
88\r
89 private JLabel jLabelVersion = null;\r
90\r
91 private JTextField jTextFieldVersion = null;\r
92\r
93 private StarLabel jStarLabel1 = null;\r
94\r
95 private StarLabel jStarLabel2 = null;\r
96\r
97 private StarLabel jStarLabel3 = null;\r
98\r
99 private StarLabel jStarLabel4 = null;\r
100\r
101 private StarLabel jStarLabel5 = null;\r
f9d0ab92 102\r
92e29378 103 private ButtonGroup bg = new ButtonGroup();\r
a13899c5 104\r
105 private WorkspaceTools wt = new WorkspaceTools();\r
106\r
107 private ModuleIdentification mid = null;\r
108\r
109 private PackageIdentification pid = null;\r
110\r
111 private PlatformIdentification fid = null;\r
112\r
113 private int mode = -1;\r
114\r
92e29378 115 private JLabel jLabelIsLibrary = null;\r
116\r
117 private JRadioButton jRadioButtonYes = null;\r
118\r
119 private JRadioButton jRadioButtonNo = null;\r
120\r
a13899c5 121 /**\r
122 * This method initializes jComboBoxExistingPackage \r
123 * \r
124 * @return javax.swing.JComboBox \r
125 */\r
126 private JComboBox getJComboBoxExistingPackage() {\r
127 if (jComboBoxExistingPackage == null) {\r
128 jComboBoxExistingPackage = new JComboBox();\r
129 jComboBoxExistingPackage.setBounds(new java.awt.Rectangle(140, 10, 340, 20));\r
130 }\r
131 return jComboBoxExistingPackage;\r
132 }\r
133\r
134 /**\r
135 * This method initializes jButtonNext \r
136 * \r
137 * @return javax.swing.JButton \r
138 */\r
139 private JButton getJButtonOk() {\r
140 if (jButtonOk == null) {\r
141 jButtonOk = new JButton();\r
92e29378 142 jButtonOk.setBounds(new java.awt.Rectangle(310, 165, 80, 20));\r
a13899c5 143 jButtonOk.setText("Ok");\r
144 jButtonOk.addActionListener(this);\r
145 }\r
146 return jButtonOk;\r
147 }\r
148\r
149 /**\r
150 * This method initializes jButtonCancel \r
151 * \r
152 * @return javax.swing.JButton \r
153 */\r
154 private JButton getJButtonCancel() {\r
155 if (jButtonCancel == null) {\r
156 jButtonCancel = new JButton();\r
92e29378 157 jButtonCancel.setBounds(new java.awt.Rectangle(395, 165, 80, 20));\r
a13899c5 158 jButtonCancel.setText("Cancel");\r
159 jButtonCancel.addActionListener(this);\r
160 }\r
161 return jButtonCancel;\r
162 }\r
163\r
164 /**\r
165 * This method initializes jTextFieldFilePath \r
166 * \r
167 * @return javax.swing.JTextField \r
168 */\r
169 private JTextField getJTextFieldFilePath() {\r
170 if (jTextFieldFilePath == null) {\r
171 jTextFieldFilePath = new JTextField();\r
92e29378 172 jTextFieldFilePath.setBounds(new java.awt.Rectangle(140, 60, 250, 20));\r
a13899c5 173 }\r
174 return jTextFieldFilePath;\r
175 }\r
176\r
177 /**\r
178 * This method initializes jButtonBrowse \r
179 * \r
180 * @return javax.swing.JButton \r
181 */\r
182 private JButton getJButtonBrowse() {\r
183 if (jButtonBrowse == null) {\r
184 jButtonBrowse = new JButton();\r
92e29378 185 jButtonBrowse.setBounds(new java.awt.Rectangle(395, 60, 85, 20));\r
a13899c5 186 jButtonBrowse.setText("Browse");\r
187 jButtonBrowse.addActionListener(this);\r
188 }\r
189 return jButtonBrowse;\r
190 }\r
191\r
192 /**\r
193 * This method initializes jTextFieldModuleName \r
194 * \r
195 * @return javax.swing.JTextField \r
196 */\r
197 private JTextField getJTextFieldName() {\r
198 if (jTextFieldName == null) {\r
199 jTextFieldName = new JTextField();\r
92e29378 200 jTextFieldName.setBounds(new java.awt.Rectangle(140, 85, 340, 20));\r
a13899c5 201 }\r
202 return jTextFieldName;\r
203 }\r
204\r
205 /**\r
206 * This method initializes jTextFieldGuid \r
207 * \r
208 * @return javax.swing.JTextField \r
209 */\r
210 private JTextField getJTextFieldGuid() {\r
211 if (jTextFieldGuid == null) {\r
212 jTextFieldGuid = new JTextField();\r
92e29378 213 jTextFieldGuid.setBounds(new java.awt.Rectangle(140, 110, 250, 20));\r
a13899c5 214 }\r
215 return jTextFieldGuid;\r
216 }\r
217\r
218 /**\r
219 * This method initializes jButtonGen \r
220 * \r
221 * @return javax.swing.JButton \r
222 */\r
223 private JButton getJButtonGen() {\r
224 if (jButtonGen == null) {\r
225 jButtonGen = new JButton();\r
92e29378 226 jButtonGen.setBounds(new java.awt.Rectangle(395, 110, 85, 20));\r
a13899c5 227 jButtonGen.setText("GEN");\r
228 jButtonGen.addActionListener(this);\r
229 }\r
230 return jButtonGen;\r
231 }\r
232\r
233 /**\r
234 * This method initializes jTextFieldVersion \r
235 * \r
236 * @return javax.swing.JTextField \r
237 */\r
238 private JTextField getJTextFieldVersion() {\r
239 if (jTextFieldVersion == null) {\r
240 jTextFieldVersion = new JTextField();\r
92e29378 241 jTextFieldVersion.setBounds(new java.awt.Rectangle(140, 135, 340, 20));\r
a13899c5 242 }\r
243 return jTextFieldVersion;\r
244 }\r
245\r
92e29378 246 /**\r
247 * This method initializes jRadioButtonYes \r
248 * \r
249 * @return javax.swing.JRadioButton \r
250 */\r
251 private JRadioButton getJRadioButtonYes() {\r
252 if (jRadioButtonYes == null) {\r
253 jRadioButtonYes = new JRadioButton();\r
f9d0ab92 254 jRadioButtonYes.setBounds(new java.awt.Rectangle(140, 35, 100, 20));\r
255 jRadioButtonYes.setSelected(false);\r
92e29378 256 jRadioButtonYes.setText("Yes");\r
257 }\r
258 return jRadioButtonYes;\r
259 }\r
260\r
261 /**\r
262 * This method initializes jRadioButtonNo \r
263 * \r
264 * @return javax.swing.JRadioButton \r
265 */\r
266 private JRadioButton getJRadioButtonNo() {\r
267 if (jRadioButtonNo == null) {\r
268 jRadioButtonNo = new JRadioButton();\r
f9d0ab92 269 jRadioButtonNo.setBounds(new java.awt.Rectangle(300, 35, 110, 20));\r
270 jRadioButtonNo.setSelected(true);\r
92e29378 271 jRadioButtonNo.setText("No");\r
272 }\r
273 return jRadioButtonNo;\r
274 }\r
275\r
a13899c5 276 /**\r
277 * @param args\r
278 */\r
279 public static void main(String[] args) {\r
280 SelectModuleBelong smb = new SelectModuleBelong();\r
281 smb.setVisible(true);\r
282 }\r
283\r
284 /**\r
285 * This is the default constructor\r
286 */\r
287 public SelectModuleBelong() {\r
288 super();\r
289 init();\r
290 }\r
291\r
292 /**\r
293 * This is the default constructor\r
294 */\r
295 public SelectModuleBelong(IFrame parentFrame, boolean modal, int fileType) {\r
296 super(parentFrame, modal);\r
297 this.mode = fileType;\r
298 init();\r
299 initExistingPackage();\r
300 if (mode != DataType.RETURN_TYPE_MODULE_SURFACE_AREA) {\r
301 this.jStarLabel1.setVisible(false);\r
302 this.jLabelPackage.setVisible(false);\r
303 this.jComboBoxExistingPackage.setVisible(false);\r
92e29378 304 this.jLabelIsLibrary.setVisible(false);\r
305 this.jRadioButtonYes.setVisible(false);\r
306 this.jRadioButtonNo.setVisible(false);\r
307 upLocation(this.jStarLabel2, 50);\r
308 upLocation(this.jStarLabel3, 50);\r
309 upLocation(this.jStarLabel4, 50);\r
310 upLocation(this.jStarLabel5, 50);\r
311 upLocation(this.jLabelFilePath, 50);\r
312 upLocation(this.jLabelName, 50);\r
313 upLocation(this.jLabelGuid, 50);\r
314 upLocation(this.jLabelVersion, 50);\r
315 upLocation(this.jTextFieldFilePath, 50);\r
316 upLocation(this.jTextFieldName, 50);\r
317 upLocation(this.jTextFieldGuid, 50);\r
318 upLocation(this.jTextFieldVersion, 50);\r
319 upLocation(this.jButtonBrowse, 50);\r
320 upLocation(this.jButtonGen, 50);\r
a13899c5 321 }\r
322 }\r
323\r
324 /**\r
325 * This method initializes this\r
326 * \r
327 * @return void\r
328 */\r
329 private void init() {\r
92e29378 330 this.setSize(500, 230);\r
a13899c5 331 this.setContentPane(getJContentPane());\r
8f4f211c 332 this.setTitle("New");\r
a13899c5 333 this.centerWindow();\r
334 }\r
335\r
336 /**\r
337 * This method initializes jContentPane\r
338 * \r
339 * @return javax.swing.JPanel\r
340 */\r
341 private JPanel getJContentPane() {\r
342 if (jContentPane == null) {\r
92e29378 343 jLabelIsLibrary = new JLabel();\r
f9d0ab92 344 jLabelIsLibrary.setBounds(new java.awt.Rectangle(15, 35, 120, 20));\r
92e29378 345 jLabelIsLibrary.setText("Is a Library");\r
a13899c5 346 jLabelVersion = new JLabel();\r
92e29378 347 jLabelVersion.setBounds(new java.awt.Rectangle(15, 135, 120, 20));\r
a13899c5 348 jLabelVersion.setText("Version");\r
349 jLabelGuid = new JLabel();\r
92e29378 350 jLabelGuid.setBounds(new java.awt.Rectangle(15, 110, 120, 20));\r
a13899c5 351 jLabelGuid.setText("Guid");\r
352 jLabelName = new JLabel();\r
92e29378 353 jLabelName.setBounds(new java.awt.Rectangle(15, 85, 120, 20));\r
a13899c5 354 jLabelName.setText("Name");\r
355 jLabelFilePath = new JLabel();\r
92e29378 356 jLabelFilePath.setBounds(new java.awt.Rectangle(15, 60, 120, 20));\r
a13899c5 357 jLabelFilePath.setText("File Path");\r
358 jLabelPackage = new JLabel();\r
359 jLabelPackage.setBounds(new java.awt.Rectangle(15, 10, 120, 20));\r
360 jLabelPackage.setText("Choose Package");\r
361 jContentPane = new JPanel();\r
362 jContentPane.setLayout(null);\r
f9d0ab92 363 jContentPane.setSize(new java.awt.Dimension(490, 198));\r
a13899c5 364 jContentPane.add(getJComboBoxExistingPackage(), null);\r
365 jContentPane.add(getJButtonOk(), null);\r
366 jContentPane.add(getJButtonCancel(), null);\r
367 jContentPane.add(jLabelPackage, null);\r
368 jContentPane.add(jLabelFilePath, null);\r
369 jContentPane.add(getJTextFieldFilePath(), null);\r
370 jContentPane.add(getJButtonBrowse(), null);\r
371 jContentPane.add(jLabelName, null);\r
372 jContentPane.add(getJTextFieldName(), null);\r
373 jContentPane.add(jLabelGuid, null);\r
374 jContentPane.add(getJTextFieldGuid(), null);\r
375 jContentPane.add(getJButtonGen(), null);\r
376 jContentPane.add(jLabelVersion, null);\r
377 jContentPane.add(getJTextFieldVersion(), null);\r
378\r
379 jStarLabel1 = new StarLabel();\r
380 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
381 jStarLabel2 = new StarLabel();\r
92e29378 382 jStarLabel2.setLocation(new java.awt.Point(0, 60));\r
a13899c5 383 jStarLabel3 = new StarLabel();\r
92e29378 384 jStarLabel3.setLocation(new java.awt.Point(0, 85));\r
a13899c5 385 jStarLabel4 = new StarLabel();\r
92e29378 386 jStarLabel4.setLocation(new java.awt.Point(0, 110));\r
a13899c5 387 jStarLabel5 = new StarLabel();\r
92e29378 388 jStarLabel5.setLocation(new java.awt.Point(0, 135));\r
a13899c5 389 jContentPane.add(jStarLabel1, null);\r
390 jContentPane.add(jStarLabel2, null);\r
391 jContentPane.add(jStarLabel3, null);\r
392 jContentPane.add(jStarLabel4, null);\r
393 jContentPane.add(jStarLabel5, null);\r
92e29378 394 jContentPane.add(jLabelIsLibrary, null);\r
395 jContentPane.add(getJRadioButtonYes(), null);\r
396 jContentPane.add(getJRadioButtonNo(), null);\r
397 bg.add(getJRadioButtonNo());\r
398 bg.add(getJRadioButtonYes());\r
a13899c5 399 }\r
400 return jContentPane;\r
401 }\r
402\r
403 /**\r
404 Query all existing packages and fill them into combox\r
405 \r
406 **/\r
407 private void initExistingPackage() {\r
408 packages = wt.getAllPackages();\r
409 for (int index = 0; index < packages.size(); index++) {\r
410 this.jComboBoxExistingPackage.addItem(packages.elementAt(index).getName());\r
411 }\r
412 }\r
413\r
414 /* (non-Javadoc)\r
415 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
416 * \r
417 * Override actionPerformed to listen all actions\r
418 */\r
419 public void actionPerformed(ActionEvent arg0) {\r
420 if (arg0.getSource() == jButtonCancel) {\r
421 this.setVisible(false);\r
422 this.returnType = DataType.RETURN_TYPE_CANCEL;\r
423 }\r
424\r
425 if (arg0.getSource() == jButtonOk) {\r
426 if (this.check()) {\r
427 this.save();\r
428 } else {\r
429 return;\r
430 }\r
431 this.setVisible(false);\r
432 this.returnType = DataType.RETURN_TYPE_OK;\r
433 }\r
434\r
435 if (arg0.getSource() == this.jButtonGen) {\r
436 this.jTextFieldGuid.setText(Tools.generateUuidString());\r
437 }\r
438\r
439 if (arg0.getSource() == this.jButtonBrowse) {\r
440 JFileChooser fc = new JFileChooser();\r
441 fc.setAcceptAllFileFilterUsed(false);\r
442\r
443 if (mode == DataType.RETURN_TYPE_MODULE_SURFACE_AREA) {\r
444 fc.setCurrentDirectory(new File(packages.elementAt(this.jComboBoxExistingPackage.getSelectedIndex())\r
445 .getPath()));\r
446 fc.addChoosableFileFilter(new IFileFilter(DataType.MODULE_SURFACE_AREA_EXT));\r
447 }\r
448 if (mode == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) {\r
449 fc.setCurrentDirectory(new File(Workspace.getCurrentWorkspace()));\r
450 fc.addChoosableFileFilter(new IFileFilter(DataType.PACKAGE_SURFACE_AREA_EXT));\r
451 }\r
452 if (mode == DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA) {\r
453 fc.setCurrentDirectory(new File(Workspace.getCurrentWorkspace()));\r
454 fc.addChoosableFileFilter(new IFileFilter(DataType.PLATFORM_SURFACE_AREA_EXT));\r
455 }\r
456 int result = fc.showSaveDialog(new JPanel());\r
457 if (result == JFileChooser.APPROVE_OPTION) {\r
458 this.jTextFieldFilePath.setText(Tools.addPathExt(fc.getSelectedFile().getPath(), mode));\r
459 }\r
460 }\r
461 }\r
462\r
463 /**\r
464 Data validation for all fields\r
465 \r
466 @retval true - All datas are valid\r
467 @retval false - At least one data is invalid\r
468 \r
469 **/\r
470 public boolean check() {\r
471 //\r
472 // Check if all required fields are not empty\r
473 //\r
474 if (isEmpty(this.jTextFieldFilePath.getText())) {\r
ed1665f2 475 Log.wrn("New File", "File Path couldn't be empty");\r
a13899c5 476 return false;\r
477 }\r
478 if (isEmpty(this.jTextFieldName.getText())) {\r
ed1665f2 479 Log.wrn("New File", "Name couldn't be empty");\r
a13899c5 480 return false;\r
481 }\r
482 if (isEmpty(this.jTextFieldGuid.getText())) {\r
ed1665f2 483 Log.wrn("New File", "Guid Value couldn't be empty");\r
a13899c5 484 return false;\r
485 }\r
486 if (isEmpty(this.jTextFieldVersion.getText())) {\r
ed1665f2 487 Log.wrn("New File", "Version couldn't be empty");\r
a13899c5 488 return false;\r
489 }\r
490\r
491 //\r
492 // Check if all fields have correct data types \r
493 //\r
494 if (!DataValidation.isBaseName(this.jTextFieldName.getText())) {\r
ed1665f2 495 Log.wrn("New File", "Incorrect data type for Base Name");\r
a13899c5 496 return false;\r
497 }\r
498 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
ed1665f2 499 Log.wrn("New File", "Incorrect data type for Guid");\r
a13899c5 500 return false;\r
501 }\r
502\r
503 if (mode == DataType.RETURN_TYPE_MODULE_SURFACE_AREA) {\r
504 //\r
505 // Check if the module is already existed in current package\r
506 //\r
507 String packagePath = packages.elementAt(this.jComboBoxExistingPackage.getSelectedIndex()).getPath();\r
508 String modulePath = Tools.convertPathToCurrentOsType(this.jTextFieldFilePath.getText());\r
509 Vector<String> msaFile = wt.getAllModulesOfPackage(packagePath);\r
a13899c5 510\r
511 for (int index = 0; index < msaFile.size(); index++) {\r
79cb6fdb 512 if (msaFile.elementAt(index).equals(modulePath)) {\r
ed1665f2 513 Log.wrn("New File", "This module is already existing in selected package");\r
a13899c5 514 return false;\r
515 }\r
516 }\r
517 }\r
518\r
519 if (mode == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) {\r
520 //\r
521 // Check if the package is already existed in database\r
522 //\r
523 String path = Tools.convertPathToCurrentOsType(this.jTextFieldFilePath.getText());\r
524 Vector<PackageIdentification> vPackageList = wt.getAllPackages();\r
525 if (vPackageList != null && vPackageList.size() > 0) {\r
526 for (int index = 0; index < vPackageList.size(); index++) {\r
527 if (vPackageList.get(index).getPath().equals(path)) {\r
ed1665f2 528 Log.wrn("New File", "This package is already existing in database");\r
a13899c5 529 return false;\r
530 }\r
531 }\r
532 }\r
533 }\r
534\r
535 if (mode == DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA) {\r
536 //\r
537 // Check if the platform is already existed in database\r
538 //\r
539 String path = Tools.convertPathToCurrentOsType(this.jTextFieldFilePath.getText());\r
540 Vector<PlatformIdentification> vPlatfromList = wt.getAllPlatforms();\r
541 if (vPlatfromList != null && vPlatfromList.size() > 0) {\r
542 for (int index = 0; index < vPlatfromList.size(); index++) {\r
543 if (vPlatfromList.get(index).getPath().equals(path)) {\r
ed1665f2 544 Log.wrn("New File", "This platform is already existing in database");\r
a13899c5 545 return false;\r
546 }\r
547 }\r
548 }\r
549 }\r
550\r
551 return true;\r
552 }\r
553\r
554 /**\r
555 Save file\r
556 \r
557 **/\r
558 public void save() {\r
559 if (mode == DataType.RETURN_TYPE_MODULE_SURFACE_AREA) {\r
560 this.saveModule();\r
561 }\r
562 if (mode == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) {\r
563 this.savePackage();\r
564 }\r
565 if (mode == DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA) {\r
566 this.savePlatform();\r
567 }\r
568 }\r
569\r
570 /**\r
571 Save all components of Msa Header\r
572 \r
573 **/\r
574 private void saveModule() {\r
575 ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null;\r
576 String path = Tools.convertPathToCurrentOsType(this.jTextFieldFilePath.getText());\r
577\r
578 //\r
579 // Save to memory\r
580 //\r
581 try {\r
582 MsaHeaderDocument.MsaHeader msaHeader = null;\r
583\r
584 msa = ModuleSurfaceAreaDocument.ModuleSurfaceArea.Factory.newInstance();\r
585 msaHeader = MsaHeaderDocument.MsaHeader.Factory.newInstance();\r
586\r
587 msaHeader.setModuleName(this.jTextFieldName.getText());\r
588 msaHeader.setGuidValue(this.jTextFieldGuid.getText());\r
589 msaHeader.setVersion(this.jTextFieldVersion.getText());\r
590\r
591 msa.setMsaHeader(msaHeader);\r
592 } catch (Exception e) {\r
593 Log.err("Save ModuleSurfaceArea Document", e.getMessage());\r
594 return;\r
595 }\r
596\r
597 //\r
598 // Save to real file\r
599 //\r
600 try {\r
601 SaveFile.saveMsaFile(path, msa);\r
a13899c5 602 } catch (Exception e) {\r
ed1665f2 603 Log.wrn("Save Module to file system", e.getMessage());\r
a13899c5 604 Log.err("Save Module to file system", e.getMessage());\r
605 return;\r
606 }\r
607\r
608 //\r
609 // Save to identification\r
610 //\r
611 mid = new ModuleIdentification(this.jTextFieldName.getText(), this.jTextFieldGuid.getText(),\r
92e29378 612 this.jTextFieldVersion.getText(), path, jRadioButtonYes.isSelected());\r
a13899c5 613 mid.setPackageId(packages.elementAt(this.jComboBoxExistingPackage.getSelectedIndex()));\r
614 }\r
615\r
616 /**\r
617 Save all components of Spd Header\r
618 \r
619 **/\r
620 private void savePackage() {\r
621 PackageSurfaceArea spd = null;\r
622 String path = Tools.convertPathToCurrentOsType(this.jTextFieldFilePath.getText());\r
623\r
624 //\r
625 // Save to memory\r
626 //\r
627 try {\r
628 SpdHeaderDocument.SpdHeader spdHeader = null;\r
629\r
630 spd = PackageSurfaceArea.Factory.newInstance();\r
631 spdHeader = SpdHeaderDocument.SpdHeader.Factory.newInstance();\r
632\r
633 spdHeader.setPackageName(this.jTextFieldName.getText());\r
634 spdHeader.setGuidValue(this.jTextFieldGuid.getText());\r
635 spdHeader.setVersion(this.jTextFieldVersion.getText());\r
636\r
637 spd.setSpdHeader(spdHeader);\r
638 } catch (Exception e) {\r
ed1665f2 639 Log.wrn("Save PackageSurfaceArea Document", e.getMessage());\r
a13899c5 640 return;\r
641 }\r
642\r
643 //\r
644 // Save to real file\r
645 //\r
646 try {\r
647 SaveFile.saveSpdFile(path, spd);\r
648\r
649 } catch (Exception e) {\r
ed1665f2 650 Log.wrn("Save Package to file system", e.getMessage());\r
a13899c5 651 Log.err("Save Package to file system", e.getMessage());\r
652 return;\r
653 }\r
654\r
655 //\r
656 // Save to identification\r
657 //\r
658 pid = new PackageIdentification(this.jTextFieldName.getText(), this.jTextFieldGuid.getText(),\r
659 this.jTextFieldVersion.getText(), path);\r
660 }\r
661\r
662 /**\r
663 Save all components of Fpd Header\r
664 \r
665 **/\r
666 private void savePlatform() {\r
667 PlatformSurfaceArea fpd = null;\r
668 String path = Tools.convertPathToCurrentOsType(this.jTextFieldFilePath.getText());\r
669\r
670 //\r
671 // Save to memory\r
672 //\r
673 try {\r
674 PlatformHeader fpdHeader = null;\r
675\r
676 fpd = PlatformSurfaceArea.Factory.newInstance();\r
677 fpdHeader = PlatformHeader.Factory.newInstance();\r
678\r
679 fpdHeader.setPlatformName(this.jTextFieldName.getText());\r
680 fpdHeader.setGuidValue(this.jTextFieldGuid.getText());\r
681 fpdHeader.setVersion(this.jTextFieldVersion.getText());\r
682\r
683 fpd.setPlatformHeader(fpdHeader);\r
684 } catch (Exception e) {\r
ed1665f2 685 Log.wrn("Save FrameworkPlatformDescription Document", e.getMessage());\r
a13899c5 686 return;\r
687 }\r
688\r
689 //\r
690 // Save to real file\r
691 //\r
692 try {\r
693 SaveFile.saveFpdFile(path, fpd);\r
694\r
695 } catch (Exception e) {\r
ed1665f2 696 Log.wrn("Save Platform to file system", e.getMessage());\r
a13899c5 697 Log.err("Save Platform to file system", e.getMessage());\r
698 return;\r
699 }\r
700\r
701 //\r
702 // Save to identification\r
703 //\r
704 fid = new PlatformIdentification(this.jTextFieldName.getText(), this.jTextFieldGuid.getText(),\r
705 this.jTextFieldVersion.getText(), path);\r
706 }\r
707\r
708 public ModuleIdentification getMid() {\r
709 return mid;\r
710 }\r
711\r
712 public void setMid(ModuleIdentification mid) {\r
713 this.mid = mid;\r
714 }\r
715\r
716 public PlatformIdentification getFid() {\r
717 return fid;\r
718 }\r
719\r
720 public void setFid(PlatformIdentification fid) {\r
721 this.fid = fid;\r
722 }\r
723\r
724 public PackageIdentification getPid() {\r
725 return pid;\r
726 }\r
727\r
728 public void setPid(PackageIdentification pid) {\r
729 this.pid = pid;\r
730 }\r
f9d0ab92 731\r
92e29378 732 private void upLocation(Component c, int size) {\r
733 c.setLocation(c.getLocation().x, c.getLocation().y - size);\r
734 }\r
a13899c5 735}\r