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