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